From 095f3aa23276e6c13c7d2edb99c523c5fa79ad30 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Sun, 8 Feb 2026 21:59:41 +0000 Subject: [PATCH 01/24] Translator: concatenation layout, computable precomputed selectors, PCS cleanup Migrates Translator from interleaving to concatenation, adds verifier-side computation of structured precomputed selectors, and removes the now-dead interleaving infrastructure from the PCS. Concatenation layout: - Replace 64 range-constraint wires with 5 concatenated + 5 ordered polynomials. Each concatenated poly packs 16 minicircuit wires into sequential blocks (lane bits as MSB). - Dual masking selectors: scattered lagrange_masking for concatenated polys in permutation numerator; contiguous lagrange_ordered_masking for ordered polys in permutation denominator. - Verifier reconstructs concatenated evaluations from individual wire evals via Lagrange subcube decomposition. - New ConcatenatedPolynomials entity class and null-padded group 4. Computable precomputed selectors: - 12 of 13 precomputed selectors are structured multilinear polynomials whose evaluations the verifier computes locally in O(d) field ops (TranslatorSelectorEvaluations). Prover skips sending them; PCS excludes their commitments. Saves 12 FR evals in proof + 12 MSMs. PCS optimizations: - Enable REPEATED_COMMITMENTS for Translator (indices 2,16,6 / 8,22,5) to combine duplicate scalar muls in Shplemini batch_mul. - Remove dead interleaving code: InterleavedBatch, set_interleaved(), P_pos/P_neg transcript handling, NUM_INTERLEAVING_CLAIMS constant, and interleaving batching from ClaimBatcher, Gemini, Shplemini, Shplonk. --- .../commitment_schemes/claim_batcher.hpp | 78 +-- .../commitment_schemes/gemini/gemini.hpp | 89 +-- .../commitment_schemes/gemini/gemini_impl.hpp | 15 - .../commitment_schemes/kzg/kzg.test.cpp | 4 +- .../commitment_schemes/shplonk/shplemini.hpp | 67 +-- .../shplonk/shplemini.test.cpp | 9 +- .../shplonk/shplemini_concatenated.test.cpp | 415 ++++++++++++++ .../commitment_schemes/shplonk/shplonk.hpp | 16 +- .../utils/mock_witness_generator.hpp | 81 +-- .../cpp/src/barretenberg/constants.hpp | 3 - .../acir_format/mock_verifier_inputs.test.cpp | 4 +- ...slator_delta_range_constraint_relation.hpp | 22 +- ...r_delta_range_constraint_relation_impl.hpp | 17 +- .../translator_permutation_relation.hpp | 50 +- .../translator_permutation_relation_impl.hpp | 6 +- .../translator_relation_consistency.test.cpp | 16 +- .../translator_recursive_flavor.hpp | 25 + .../translator_recursive_verifier.test.cpp | 2 +- .../src/barretenberg/sumcheck/sumcheck.hpp | 25 +- .../relation_correctness.test.cpp | 91 +++- .../translator_vm/translator.test.cpp | 252 ++++++--- .../translator_concatenation_migration.md | 438 +++++++++++++++ .../translator_vm/translator_fixed_vk.hpp | 38 +- .../translator_vm/translator_flavor.hpp | 505 ++++++++++++++---- .../translator_vm/translator_prover.cpp | 16 +- .../translator_vm/translator_proving_key.cpp | 360 ++++++------- .../translator_vm/translator_proving_key.hpp | 17 +- .../translator_vm/translator_selectors.hpp | 256 +++++++++ .../translator_selectors.test.cpp | 218 ++++++++ .../translator_vm/translator_verifier.cpp | 117 +++- 30 files changed, 2424 insertions(+), 828 deletions(-) create mode 100644 barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp create mode 100644 barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md create mode 100644 barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp create mode 100644 barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/claim_batcher.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/claim_batcher.hpp index 479e6c1b420d..4f7e3370c2da 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/claim_batcher.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/claim_batcher.hpp @@ -6,16 +6,14 @@ #pragma once #include "barretenberg/common/ref_vector.hpp" -#include "barretenberg/common/throw_or_abort.hpp" #include "barretenberg/common/zip_view.hpp" -#include "barretenberg/numeric/bitop/get_msb.hpp" #include namespace bb { /** - * @brief Logic to support batching opening claims for unshifted, shifted and interleaved polynomials in Shplemini - * @details Stores references to the commitments/evaluations of unshifted, shifted and interleaved polynomials to be + * @brief Logic to support batching opening claims for unshifted and shifted polynomials in Shplemini + * @details Stores references to the commitments/evaluations of unshifted and shifted polynomials to be * batch opened via Shplemini. Aggregates the commitments and batching scalars for each batch into the corresponding * containers for Shplemini. Computes the batched evaluation. Contains logic for computing the per-batch scalars * used to batch each set of claims (see details below). @@ -35,26 +33,12 @@ template struct ClaimBatcher_ { // scalar used for batching the claims, excluding the power of batching challenge \rho Fr scalar = 0; }; - struct InterleavedBatch { - std::vector> commitments_groups; - RefVector evaluations; - std::vector scalars_pos; - std::vector scalars_neg; - Fr shplonk_denominator; - }; - std::optional unshifted; // commitments and evaluations of unshifted polynomials - std::optional shifted; // commitments of to-be-shifted-by-1 polys, evals of their shifts - std::optional interleaved; // commitments to groups of polynomials to be combined by interleaving - // and evaluations of the resulting interleaved polynomials + std::optional unshifted; // commitments and evaluations of unshifted polynomials + std::optional shifted; // commitments of to-be-shifted-by-1 polys, evals of their shifts Batch get_unshifted() { return (unshifted) ? *unshifted : Batch{}; } Batch get_shifted() { return (shifted) ? *shifted : Batch{}; } - InterleavedBatch get_interleaved() { return (interleaved) ? *interleaved : InterleavedBatch{}; } - uint32_t get_groups_to_be_interleaved_size() - { - return (interleaved) ? static_cast(interleaved->commitments_groups[0].size()) : 0; - } Fr get_unshifted_batch_scalar() const { return unshifted ? unshifted->scalar : Fr{ 0 }; } @@ -97,30 +81,9 @@ template struct ClaimBatcher_ { shifted->scalar = r_challenge.invert() * (inverse_vanishing_eval_pos - nu_challenge * inverse_vanishing_eval_neg); } - - if (interleaved) { - const size_t interleaving_denominator_index = 2 * numeric::get_msb(get_groups_to_be_interleaved_size()); - - if (get_groups_to_be_interleaved_size() % 2 != 0) { - throw_or_abort("Interleaved groups size must be even"); - } - - Fr r_shift_pos = Fr(1); - Fr r_shift_neg = Fr(1); - interleaved->shplonk_denominator = inverted_vanishing_evals[interleaving_denominator_index]; - for (size_t i = 0; i < get_groups_to_be_interleaved_size(); i++) { - interleaved->scalars_pos.push_back(r_shift_pos); - interleaved->scalars_neg.push_back(r_shift_neg); - if (i < get_groups_to_be_interleaved_size() - 1) { - // to avoid unnecessary multiplication gates in a circuit - r_shift_pos *= r_challenge; - r_shift_neg *= (-r_challenge); - } - } - } } /** - * @brief Append the commitments and scalars from each batch of claims to the Shplemini, vectors which subsequently + * @brief Append the commitments and scalars from each batch of claims to the Shplemini vectors which subsequently * will be inputs to the batch mul; * update the batched evaluation and the running batching challenge (power of rho) in place. * @@ -128,21 +91,15 @@ template struct ClaimBatcher_ { * @param scalars scalar inputs to the single Shplemini batch mul * @param batched_evaluation running batched evaluation of the committed multilinear polynomials * @param rho multivariate batching challenge \rho - * @param rho_power current power of \rho used in the batching scalar - * @param shplonk_batching_pos and @param shplonk_batching_neg consecutive powers of the Shplonk batching - * challenge ν for the interleaved contributions */ void update_batch_mul_inputs_and_batched_evaluation(std::vector& commitments, std::vector& scalars, Fr& batched_evaluation, - const Fr& rho, - Fr shplonk_batching_pos = { 0 }, - Fr shplonk_batching_neg = { 0 }) + const Fr& rho) { size_t num_powers = 0; num_powers += unshifted.has_value() ? unshifted->commitments.size() : 0; num_powers += shifted.has_value() ? shifted->commitments.size() : 0; - num_powers += interleaved.has_value() ? interleaved->evaluations.size() : 0; Fr rho_power = Fr(1); size_t power_idx = 0; @@ -171,29 +128,6 @@ template struct ClaimBatcher_ { // i-th shifted commitments will be multiplied by ρ^{num_unshifted + i} and r⁻¹ ⋅ (1/(z−r) − ν/(z+r)) aggregate_claim_data_and_update_batched_evaluation(*shifted); } - if (interleaved) { - if (get_groups_to_be_interleaved_size() % 2 != 0) { - throw_or_abort("Interleaved groups size must be even"); - } - - size_t group_idx = 0; - for (size_t j = 0; j < interleaved->commitments_groups.size(); j++) { - for (size_t i = 0; i < get_groups_to_be_interleaved_size(); i++) { - // The j-th commitment in group i is multiplied by ρ^{m+i} and ν^{d+1} \cdot r^j + ν^{d+2} ⋅(-r)^j - // where d is the log_circuit_size - commitments.emplace_back(std::move(interleaved->commitments_groups[j][i])); - scalars.emplace_back(-rho_power * interleaved->shplonk_denominator * - (shplonk_batching_pos * interleaved->scalars_pos[i] + - shplonk_batching_neg * interleaved->scalars_neg[i])); - } - batched_evaluation += interleaved->evaluations[group_idx] * rho_power; - power_idx++; - if (power_idx < num_powers) { - rho_power *= rho; - } - group_idx++; - } - } BB_ASSERT_EQ(power_idx, num_powers); } diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp index 71cd0332ea3c..3f1a41927378 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini.hpp @@ -9,7 +9,6 @@ #include "barretenberg/commitment_schemes/claim.hpp" #include "barretenberg/commitment_schemes/claim_batcher.hpp" #include "barretenberg/common/bb_bench.hpp" -#include "barretenberg/common/thread.hpp" #include "barretenberg/polynomials/polynomial.hpp" #include "barretenberg/transcript/transcript.hpp" @@ -129,16 +128,10 @@ template class GeminiProver_ { Polynomial batched_unshifted; // linear combination of unshifted polynomials Polynomial batched_to_be_shifted_by_one; // linear combination of to-be-shifted polynomials - Polynomial batched_interleaved; // linear combination of interleaved polynomials - // linear combination of the groups to be interleaved where polynomial i in the batched group is obtained by - // linearly combining the i-th polynomial in each group - std::vector batched_group; public: - RefVector unshifted; // set of unshifted polynomials - RefVector to_be_shifted_by_one; // set of polynomials to be left shifted by 1 - RefVector interleaved; // the interleaved polynomials used in Translator - std::vector> groups_to_be_interleaved; // groups of polynomials to be interleaved + RefVector unshifted; // set of unshifted polynomials + RefVector to_be_shifted_by_one; // set of polynomials to be left shifted by 1 PolynomialBatcher(const size_t full_batched_size) : full_batched_size(full_batched_size) @@ -148,22 +141,11 @@ template class GeminiProver_ { bool has_unshifted() const { return unshifted.size() > 0; } bool has_to_be_shifted_by_one() const { return to_be_shifted_by_one.size() > 0; } - bool has_interleaved() const { return interleaved.size() > 0; } // Set references to the polynomials to be batched void set_unshifted(RefVector polynomials) { unshifted = polynomials; } void set_to_be_shifted_by_one(RefVector polynomials) { to_be_shifted_by_one = polynomials; } - void set_interleaved(RefVector results, std::vector> groups) - { - // Ensure the Gemini subprotocol for interleaved polynomials operates correctly - if (groups[0].size() % 2 != 0) { - throw_or_abort("Group size must be even "); - } - interleaved = results; - groups_to_be_interleaved = groups; - } - /** * @brief Compute batched polynomial A₀ = F + G/X as the linear combination of all polynomials to be opened, * where F is the linear combination of the unshifted polynomials and G is the linear combination of the @@ -198,27 +180,6 @@ template class GeminiProver_ { full_batched += batched_to_be_shifted_by_one.shifted(); // A₀ += G/X } - // compute the linear combination of the interleaved polynomials and groups - if (has_interleaved()) { - batched_interleaved = Polynomial(full_batched_size); - for (size_t i = 0; i < groups_to_be_interleaved[0].size(); ++i) { - batched_group.push_back(Polynomial(full_batched_size)); - } - - for (size_t i = 0; i < groups_to_be_interleaved.size(); ++i) { - batched_interleaved.add_scaled(interleaved[i], running_scalar); - // Use parallel chunking for the batching operations - parallel_for([this, running_scalar, i](const ThreadChunk& chunk) { - for (size_t j = 0; j < groups_to_be_interleaved[0].size(); ++j) { - batched_group[j].add_scaled_chunk(chunk, groups_to_be_interleaved[i][j], running_scalar); - } - }); - running_scalar *= challenge; - } - - full_batched += batched_interleaved; - } - return full_batched; } @@ -249,38 +210,6 @@ template class GeminiProver_ { return { A_0_pos, A_0_neg }; }; - /** - * @brief Compute the partially evaluated polynomials P₊(X, r) and P₋(X, -r) - * - * @details If the interleaved polynomials are set, the full partially evaluated identites A₀(r) and A₀(-r) - * contain the contributions of P₊(r^s) and P₋(r^s) respectively where s is the size of the interleaved - * group assumed even. This function computes P₊(X) = ∑ r^i Pᵢ(X) and P₋(X) = ∑ (-r)^i Pᵢ(X) where Pᵢ(X) is - * the i-th polynomial in the batched group. - * @param r_challenge partial evaluation challenge - * @return std::pair {P₊, P₋} - */ - - std::pair compute_partially_evaluated_interleaved_polynomial(const Fr& r_challenge) - { - Polynomial P_pos(batched_group[0]); - Polynomial P_neg(batched_group[0]); - - Fr current_r_shift_pos = r_challenge; - Fr current_r_shift_neg = -r_challenge; - for (size_t i = 1; i < batched_group.size(); i++) { - // Add r^i * Pᵢ(X) to P₊(X) - P_pos.add_scaled(batched_group[i], current_r_shift_pos); - // Add (-r)^i * Pᵢ(X) to P₋(X) - P_neg.add_scaled(batched_group[i], current_r_shift_neg); - // Update the current power of r - current_r_shift_pos *= r_challenge; - current_r_shift_neg *= -r_challenge; - } - - return { P_pos, P_neg }; - } - - size_t get_group_size() { return batched_group.size(); } }; static std::vector compute_fold_polynomials(const size_t log_n, @@ -288,12 +217,6 @@ template class GeminiProver_ { const Polynomial& A_0, const bool& has_zk = false); - static std::pair compute_partially_evaluated_batch_polynomials( - const size_t log_n, - PolynomialBatcher& polynomial_batcher, - const Fr& r_challenge, - const std::vector& batched_groups_to_be_concatenated = {}); - static std::vector construct_univariate_opening_claims(const size_t log_n, Polynomial&& A_0_pos, Polynomial&& A_0_neg, @@ -375,9 +298,6 @@ template class GeminiVerifier_ { * \frac{2 \cdot r^{2^{l-1}} \cdot A_{l}\left(r^{2^l}\right) - A_{l-1}\left( -r^{2^{l-1}} \right)\cdot * \left(r^{2^{l-1}} (1-u_{l-1}) - u_{l-1}\right)} {r^{2^{l-1}} (1- u_{l-1}) + u_{l-1}}. \f} * - * In the case of interleaving, the first "negative" evaluation has to be corrected by the contribution from \f$ - * P_{-}(-r^s)\f$, where \f$ s \f$ is the size of the group to be interleaved. - * * This method uses `padding_indicator_array`, whose i-th entry is FF{1} if i < log_n and 0 otherwise. * We use these entries to either assign `eval_pos_prev` the value `eval_pos` computed in the current iteration * of the loop, or to propagate the batched evaluation of the multilinear polynomials to the next iteration. @@ -398,8 +318,7 @@ template class GeminiVerifier_ { const Fr& batched_evaluation, std::span evaluation_point, // size = virtual_log_n std::span challenge_powers, // size = virtual_log_n - std::span fold_neg_evals, // size = virtual_log_n - Fr p_neg = Fr(0)) + std::span fold_neg_evals) // size = virtual_log_n { const size_t virtual_log_n = evaluation_point.size(); @@ -410,8 +329,6 @@ template class GeminiVerifier_ { std::vector fold_pos_evaluations; fold_pos_evaluations.reserve(virtual_log_n); - // Add the contribution of P-((-r)ˢ) to get A_0(-r), which is 0 if there are no interleaved polynomials - evals[0] += p_neg; // Solve the sequence of linear equations for (size_t l = virtual_log_n; l != 0; --l) { // Get r²⁽ˡ⁻¹⁾ diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp index 96a5804db5b7..9408f4aad72b 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/gemini/gemini_impl.hpp @@ -96,21 +96,6 @@ std::vector::Claim> GeminiProver_::prove( transcript->send_to_verifier(label, claims[l].opening_pair.evaluation); } - // If running Gemini for the Translator VM polynomials, A₀(r) = A₀₊(r) + P₊(rˢ) and A₀(-r) = A₀₋(-r) + P₋(rˢ) - // where s is the size of the interleaved group assumed even. The prover sends P₊(rˢ) and P₋(rˢ) to the verifier - // so it can reconstruct the evaluation of A₀(r) and A₀(-r) respectively - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1282) - if (polynomial_batcher.has_interleaved()) { - auto [P_pos, P_neg] = polynomial_batcher.compute_partially_evaluated_interleaved_polynomial(r_challenge); - Fr r_pow = r_challenge.pow(polynomial_batcher.get_group_size()); - Fr P_pos_eval = P_pos.evaluate(r_pow); - Fr P_neg_eval = P_neg.evaluate(r_pow); - claims.emplace_back(Claim{ std::move(P_pos), { r_pow, P_pos_eval } }); - transcript->send_to_verifier("Gemini:P_pos", P_pos_eval); - claims.emplace_back(Claim{ std::move(P_neg), { r_pow, P_neg_eval } }); - transcript->send_to_verifier("Gemini:P_neg", P_neg_eval); - } - return claims; }; diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/kzg/kzg.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/kzg/kzg.test.cpp index d92b38dce1b7..f9907a2649b7 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/kzg/kzg.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/kzg/kzg.test.cpp @@ -234,9 +234,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShiftAndInterleaving) /*num_polynomials*/ 4, /*num_to_be_shifted*/ 2, mle_opening_point, - ck, - /*num_interleaved*/ 3, - /*num_to_be_interleaved*/ 2); + ck); auto prover_transcript = NativeTranscript::test_prover_init_empty(); diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp index de215f12155d..5e4f3b0f84ce 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp @@ -245,14 +245,6 @@ template class ShpleminiVerifier_ { const std::vector gemini_fold_neg_evaluations = GeminiVerifier::get_gemini_evaluations(virtual_log_n, transcript); - // Get evaluations of partially evaluated batched interleaved polynomials P₊(rˢ) and P₋((-r)ˢ) - Fr p_pos = Fr(0); - Fr p_neg = Fr(0); - if (claim_batcher.interleaved) { - p_pos = transcript->template receive_from_prover("Gemini:P_pos"); - p_neg = transcript->template receive_from_prover("Gemini:P_neg"); - } - // - Compute vector (r, r², ... , r^{2^{d-1}}), where d = log_n const std::vector gemini_eval_challenge_powers = gemini::powers_of_evaluation_challenge(gemini_evaluation_challenge, virtual_log_n); @@ -314,41 +306,17 @@ template class ShpleminiVerifier_ { // Place the commitments to prover polynomials in the commitments vector. Compute the evaluation of the // batched multilinear polynomial. Populate the vector of scalars for the final batch mul - - // Compute the Shplonk batching power for the interleaved claims. This is \nu^{d+1} where d = log_n as the - // interleaved claims are sent after the rest of Gemini fold claims. Add the evaluations of (P₊(rˢ) ⋅ ν^{d+1}) / - // (z − r^s) and (P₋(rˢ) ⋅ ν^{d+2})/(z − r^s) to the constant term accumulator - Fr shplonk_interleaving_batching_pos = Fr{ 0 }; - Fr shplonk_interleaving_batching_neg = Fr{ 0 }; - if (claim_batcher.interleaved) { - // The prover places the Interleaving claims (P₊, P₋) after all Gemini fold claims. - // Their batching powers are ν^{2·virtual_log_n} and ν^{2·virtual_log_n+1}. - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1293): Decouple Gemini from Interleaving. - const size_t interleaved_pos_index = 2 * virtual_log_n; - const size_t interleaved_neg_index = interleaved_pos_index + 1; - shplonk_interleaving_batching_pos = shplonk_batching_challenge_powers[interleaved_pos_index]; - shplonk_interleaving_batching_neg = shplonk_batching_challenge_powers[interleaved_neg_index]; - constant_term_accumulator += - claim_batcher.interleaved->shplonk_denominator * - (p_pos * shplonk_interleaving_batching_pos + p_neg * shplonk_interleaving_batching_neg); - } - // Update the commitments and scalars vectors as well as the batched evaluation given the present batches - claim_batcher.update_batch_mul_inputs_and_batched_evaluation(commitments, - scalars, - batched_evaluation, - gemini_batching_challenge, - shplonk_interleaving_batching_pos, - shplonk_interleaving_batching_neg); + claim_batcher.update_batch_mul_inputs_and_batched_evaluation( + commitments, scalars, batched_evaluation, gemini_batching_challenge); // Reconstruct Aᵢ(r²ⁱ) for i=0, ..., d - 1 from the batched evaluation of the multilinear polynomials and - // Aᵢ(−r²ⁱ) for i = 0, ..., d - 1. In the case of interleaving, we compute A₀(r) as A₀₊(r) + P₊(r^s). + // Aᵢ(−r²ⁱ) for i = 0, ..., d - 1. const std::vector gemini_fold_pos_evaluations = GeminiVerifier_::compute_fold_pos_evaluations(padding_indicator_array, batched_evaluation, multivariate_challenge, gemini_eval_challenge_powers, - gemini_fold_neg_evaluations, - p_neg); + gemini_fold_neg_evaluations); // Place the commitments to Gemini fold polynomials Aᵢ in the vector of batch_mul commitments, compute the // contributions from Aᵢ(−r²ⁱ) for i=1, … , d − 1 to the constant term accumulator, add corresponding scalars @@ -362,9 +330,7 @@ template class ShpleminiVerifier_ { commitments, scalars, constant_term_accumulator); - const Fr full_a_0_pos = gemini_fold_pos_evaluations[0]; - // Retrieve the contribution without P₊(r^s) - Fr a_0_pos = full_a_0_pos - p_pos; + const Fr a_0_pos = gemini_fold_pos_evaluations[0]; // Add contributions from A₀₊(r) and A₀₋(-r) to constant_term_accumulator: // Add A₀₊(r)/(z−r) to the constant term accumulator constant_term_accumulator += a_0_pos * inverse_vanishing_evals[0]; @@ -503,18 +469,10 @@ template class ShpleminiVerifier_ { * @brief Combines scalars of repeating commitments to reduce the number of scalar multiplications performed by the * verifier. * - * @details The Shplemini verifier gets the access to multiple groups of commitments, some of which are duplicated - * because they correspond to polynomials whose shifts also evaluated or used in concatenation groups in - * Translator. This method combines the scalars associated with these repeating commitments, reducing the total - * number of scalar multiplications required during the verification. - * - * More specifically, the Shplemini verifier receives two or three groups of commitments: get_unshifted() and - * get_to_be_shifted() in the case of Ultra, Mega, and ECCVM Flavors; and get_unshifted_without_interleaved(), - * get_to_be_shifted(), and get_groups_to_be_interleaved() in the case of the TranslatorFlavor. The commitments are - * then placed in this specific order in a BatchOpeningClaim object containing a vector of commitments and a vector - * of scalars. The ranges with repeated commitments belong to the Flavors. This method iterates over these ranges - * and sums the scalar multipliers corresponding to the same group element. After combining the scalars, we erase - * corresponding entries in both vectors. + * @details The Shplemini verifier gets the access to two groups of commitments (unshifted and shifted), some of + * which are duplicated because they correspond to polynomials whose shifts are also evaluated. This method + * combines the scalars associated with these repeating commitments, reducing the total number of scalar + * multiplications required during the verification. * */ // TODO(https://github.com/AztecProtocol/barretenberg/issues/1151) Avoid erasing vector elements. @@ -624,8 +582,7 @@ template class ShpleminiVerifier_ { // compute the scalars to be multiplied against the commitments [libra_concatenated], [grand_sum], [grand_sum], // and [libra_quotient] for (size_t idx = 0; idx < NUM_SMALL_IPA_EVALUATIONS; idx++) { - Fr scaling_factor = denominators[idx] * - shplonk_batching_challenge_powers[2 * virtual_log_n + NUM_INTERLEAVING_CLAIMS + idx]; + Fr scaling_factor = denominators[idx] * shplonk_batching_challenge_powers[2 * virtual_log_n + idx]; batching_scalars[idx] = -scaling_factor; constant_term_accumulator += scaling_factor * libra_evaluations[idx]; } @@ -651,7 +608,7 @@ template class ShpleminiVerifier_ { * \alpha_i^2 = \frac{\nu^{k+3i+2}}{z - u_i}, * \f] * where \f$ z\f$ is the Shplonk evaluation challenge, \f$\nu\f$ is the batching challenge, and \f$k\f$ is an - * offset exponent equal to `num_gemini_claims + NUM_INTERLEAVING_CLAIMS + NUM_SMALL_IPA_EVALUATIONS`, where + * offset exponent equal to `num_gemini_claims + NUM_SMALL_IPA_EVALUATIONS`, where * `num_gemini_claims` = `2 * log_n`. Then: * * - The **batched scalar** appended to \p scalars is @@ -721,7 +678,7 @@ template class ShpleminiVerifier_ { // to the evaluations at 0, 1, and the round challenge u_i. // Compute the power of `shplonk_batching_challenge` to add sumcheck univariate commitments and evaluations to // the batch. - size_t power = num_gemini_claims + NUM_INTERLEAVING_CLAIMS + NUM_SMALL_IPA_EVALUATIONS; + size_t power = num_gemini_claims + NUM_SMALL_IPA_EVALUATIONS; for (const auto& [eval_array, denominator] : zip_view(sumcheck_round_evaluations, denominators)) { // Initialize batched_scalar corresponding to 3 evaluations claims Fr batched_scalar = Fr(0); diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp index 8cf2c3f6f9cf..4e91e6355011 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp @@ -234,13 +234,8 @@ TYPED_TEST(ShpleminiTest, CorrectnessOfGeminiClaimBatching) Fr expected_constant_term_accumulator{ 0 }; std::vector padding_indicator_array(this->log_n, Fr{ 1 }); - std::vector gemini_fold_pos_evaluations = - GeminiVerifier_::compute_fold_pos_evaluations(padding_indicator_array, - expected_constant_term_accumulator, - mle_opening_point, - r_squares, - prover_evaluations, - expected_constant_term_accumulator); + std::vector gemini_fold_pos_evaluations = GeminiVerifier_::compute_fold_pos_evaluations( + padding_indicator_array, expected_constant_term_accumulator, mle_opening_point, r_squares, prover_evaluations); std::vector commitments; std::vector scalars; diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp new file mode 100644 index 000000000000..37481b70b2ff --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp @@ -0,0 +1,415 @@ +/** + * @file shplemini_concatenated.test.cpp + * @brief Unit test for Shplemini with concatenated polynomial commitments + * + * Tests the case where we have 16 minicircuit polynomials committed using concatenation, + * representing F(X) where F is laid out in 16 sequential blocks (lanes). + * + * Mimics the flow in TranslatorProver/Verifier where: + * - Prover commits to concatenated polynomial + * - Sumcheck produces individual polynomial evaluations + * - Verifier reconstructs batched evaluation using Lagrange decomposition with padding factor + */ + +#include "../gemini/gemini.hpp" +#include "../kzg/kzg.hpp" +#include "../pcs_test_utils.hpp" +#include "barretenberg/commitment_schemes/commitment_key.hpp" +#include "barretenberg/polynomials/polynomial.hpp" +#include "barretenberg/transcript/transcript.hpp" +#include "shplemini.hpp" + +#include + +namespace bb { + +class ShpleminiConcatenatedTest : public CommitmentTest { + public: + using Curve = curve::BN254; + using Fr = Curve::ScalarField; + using Commitment = Curve::AffineElement; + using Polynomial = bb::Polynomial; + using CK = CommitmentKey; + using VK = VerifierCommitmentKey; + + static constexpr size_t mini_log_n = 8; // log of minicircuit size + static constexpr size_t MINI = 1UL << mini_log_n; // minicircuit size (256) + static constexpr size_t CONCATENATION_GROUP_SIZE = 16; // number of wires per group + static constexpr size_t log_n = mini_log_n + 4; // log of concatenated size (8 + 4 = 12) + static constexpr size_t n = 1UL << log_n; // concatenated size (4096) + static constexpr size_t k = 4; // log₂(CONCATENATION_GROUP_SIZE) = extra challenges for concatenation + + /** + * @brief Create 16 minicircuit-sized random polynomials (not shiftable) + */ + std::array create_random_minicircuit_polynomials() + { + std::array polys; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + // Minicircuit size, embedded in full space + polys[j] = Polynomial(MINI - 1, n, 1); + for (size_t k = 1; k < MINI; ++k) { + polys[j].at(k) = Fr::random_element(); + } + } + return polys; + } + + /** + * @brief Create 16 minicircuit-sized shiftable polynomials + */ + std::array create_shiftable_minicircuit_polynomials() + { + std::array polys; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + polys[j] = Polynomial(MINI - 1, n, 1); + // Start from 1 (index 0 is implicitly 0 due to start_index=1) + for (size_t k = 1; k < MINI; ++k) { + polys[j].at(k) = Fr::random_element(); + } + } + return polys; + } + + /** + * @brief Concatenate 16 minicircuit polynomials: concat[j*MINI + k] = wire[j][k] + * @details Wires occupy sequential blocks (lanes), not interleaved + */ + Polynomial concatenate_polynomials(const std::array& polys) + { + Polynomial concatenated(n - 1, n, 1); + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + for (size_t k = 1; k < MINI; ++k) { + concatenated.at(j * MINI + k) = polys[j][k]; + } + } + return concatenated; + } + + /** + * @brief Compute Lagrange basis for concatenation with little-endian bit ordering + * @details L₀ = (1-u₀)(1-u₁)(1-u₂)(1-u₃), L₁ = u₀(1-u₁)(1-u₂)(1-u₃), etc. + * Little-endian: bit i of j corresponds to challenge u[i] + */ + std::array compute_lagrange_basis(const std::array& u_top) + { + std::array lagrange_basis; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + lagrange_basis[j] = Fr::one(); + for (size_t bit = 0; bit < k; ++bit) { + // Little-endian: bit i of j corresponds to challenge u_top[i] + bool bit_set = (j >> bit) & 1; + lagrange_basis[j] *= bit_set ? u_top[bit] : (Fr::one() - u_top[bit]); + } + } + return lagrange_basis; + } + + /** + * @brief Compute batched evaluation with padding factor + * @details Wires have values in [1,MINI) embedded in full space, so wire_j(u_full) = L₀(u_top) * wire_j(u_mini) + * Therefore: concat(u) = [1/L₀(u_top)] * Σⱼ Lⱼ(u_top) * wire_j(u_full) + */ + Fr compute_batched_evaluation(const std::array& u_top, + const std::array& lagrange_basis, + const std::array& individual_evals) + { + // Compute L₀(u_top) = (1-u₀)(1-u₁)(1-u₂)(1-u₃) - the padding factor + Fr padding = Fr::one(); + for (size_t i = 0; i < k; ++i) { + padding *= (Fr::one() - u_top[i]); + } + Fr padding_inv = padding.invert(); + + Fr result = Fr::zero(); + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + result += lagrange_basis[j] * individual_evals[j]; + } + return result * padding_inv; + } +}; + +/** + * @brief Basic test: open a single concatenated polynomial (unshifted only) + * + * Flow: + * 1. Create 16 minicircuit polynomials (wires) + * 2. Concatenate into single polynomial: concat[j*MINI + k] = wire[j][k] + * 3. Commit to concatenated polynomial + * 4. Generate challenge point u = (u₀, ..., u_{log_n-1}) + * 5. Evaluate each wire at u (17-dimensional) + * 6. Extract top 4 challenges u_top for Lagrange basis + * 7. Compute batched eval = [1/L₀(u_top)] * Σⱼ Lⱼ(u_top) * wire_j(u) + * 8. Verify with Shplemini + */ +TEST_F(ShpleminiConcatenatedTest, UnshiftedOnly) +{ + // Create 16 minicircuit polynomials + auto wires = create_random_minicircuit_polynomials(); + + // Concatenate into single polynomial + Polynomial concat_poly = concatenate_polynomials(wires); + + // Commit + CK ck(n); + Commitment concat_commitment = ck.commit(concat_poly); + + // Generate challenge point (full dimension) + std::vector challenge(log_n); + for (size_t i = 0; i < log_n; ++i) { + challenge[i] = Fr::random_element(); + } + + // Extract top 4 challenges + std::array u_top; + for (size_t i = 0; i < k; ++i) { + u_top[i] = challenge[log_n - k + i]; + } + + // Evaluate each wire at full challenge + std::array wire_evals; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + wire_evals[j] = wires[j].evaluate_mle(challenge); + } + + // Compute Lagrange basis and batched evaluation + auto lagrange_basis = compute_lagrange_basis(u_top); + Fr batched_eval = compute_batched_evaluation(u_top, lagrange_basis, wire_evals); + + // Ground truth: evaluate concatenated polynomial directly + Fr ground_truth = concat_poly.evaluate_mle(challenge); + EXPECT_EQ(batched_eval, ground_truth) << "Batched eval should match direct concatenated eval"; + + // --- Prover --- + auto prover_transcript = NativeTranscript::test_prover_init_empty(); + + using PolynomialBatcher = GeminiProver_::PolynomialBatcher; + PolynomialBatcher polynomial_batcher(n); + polynomial_batcher.set_unshifted(RefVector{ concat_poly }); + + using OpeningClaim = ProverOpeningClaim; + OpeningClaim prover_opening_claim = + ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); + + KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); + + // --- Verifier --- + auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); + + std::array commitments = { concat_commitment }; + std::array evals = { batched_eval }; + + using ClaimBatcher = ClaimBatcher_; + using ClaimBatch = ClaimBatcher::Batch; + + ClaimBatcher claim_batcher{ .unshifted = + ClaimBatch{ RefArray(commitments), RefArray(evals) } }; + + std::vector padding_indicator(challenge.size(), Fr{ 1 }); + + auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( + padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); + + auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(shplemini_output.batch_opening_claim), + verifier_transcript); + + VK vk; + bool verified = vk.pairing_check(pairing_points[0], pairing_points[1]); + EXPECT_TRUE(verified) << "Unshifted concatenated opening should verify"; +} + +/** + * @brief Test with shiftable concatenated polynomials (both unshifted and shifted) + * + * Flow similar to UnshiftedOnly but with shifted evaluations as well + */ +TEST_F(ShpleminiConcatenatedTest, ConcatenatedShiftablePolynomials) +{ + // Create 16 shiftable minicircuit polynomials + auto wires = create_shiftable_minicircuit_polynomials(); + + // Concatenate + Polynomial concat_poly = concatenate_polynomials(wires); + + // Commit + CK ck(n); + Commitment concat_commitment = ck.commit(concat_poly); + + // Generate challenge + std::vector challenge(log_n); + for (size_t i = 0; i < log_n; ++i) { + challenge[i] = Fr::random_element(); + } + + // Extract top 4 challenges + std::array u_top; + for (size_t i = 0; i < k; ++i) { + u_top[i] = challenge[log_n - k + i]; + } + + // Evaluate wires and their shifts + std::array wire_evals; + std::array wire_shift_evals; + + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + wire_evals[j] = wires[j].evaluate_mle(challenge); + wire_shift_evals[j] = wires[j].shifted().evaluate_mle(challenge); + } + + // Compute Lagrange basis + auto lagrange_basis = compute_lagrange_basis(u_top); + + // Compute batched evaluations + Fr batched_eval_unshifted = compute_batched_evaluation(u_top, lagrange_basis, wire_evals); + Fr batched_eval_shifted = compute_batched_evaluation(u_top, lagrange_basis, wire_shift_evals); + + // Ground truth + Fr ground_truth_unshifted = concat_poly.evaluate_mle(challenge); + Fr ground_truth_shifted = concat_poly.shifted().evaluate_mle(challenge); + + EXPECT_EQ(batched_eval_unshifted, ground_truth_unshifted) << "Unshifted batched eval should match direct eval"; + EXPECT_EQ(batched_eval_shifted, ground_truth_shifted) << "Shifted batched eval should match direct shifted eval"; + + // --- Prover --- + auto prover_transcript = NativeTranscript::test_prover_init_empty(); + + using PolynomialBatcher = GeminiProver_::PolynomialBatcher; + PolynomialBatcher polynomial_batcher(n); + + polynomial_batcher.set_unshifted(RefVector{ concat_poly }); + polynomial_batcher.set_to_be_shifted_by_one(RefVector{ concat_poly }); + + using OpeningClaim = ProverOpeningClaim; + OpeningClaim prover_opening_claim = + ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); + + KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); + + // --- Verifier --- + auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); + + std::array commitments = { concat_commitment }; + std::array unshifted_evals_arr = { batched_eval_unshifted }; + std::array shifted_evals_arr = { batched_eval_shifted }; + + using ClaimBatcher = ClaimBatcher_; + using ClaimBatch = ClaimBatcher::Batch; + + ClaimBatcher claim_batcher{ + .unshifted = ClaimBatch{ RefArray(commitments), RefArray(unshifted_evals_arr) }, + .shifted = ClaimBatch{ RefArray(commitments), RefArray(shifted_evals_arr) } + }; + + std::vector padding_indicator(challenge.size(), Fr{ 1 }); + + auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( + padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); + + auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(shplemini_output.batch_opening_claim), + verifier_transcript); + + VK vk; + bool verified = vk.pairing_check(pairing_points[0], pairing_points[1]); + EXPECT_TRUE(verified) << "Shiftable concatenated opening should verify"; +} + +/** + * @brief Test with multiple concatenated groups (mimics translator with 5 concatenated polynomials) + */ +TEST_F(ShpleminiConcatenatedTest, MultipleGroups) +{ + constexpr size_t NUM_GROUPS = 5; + + // Create 5 groups of 16 wires each + std::array, NUM_GROUPS> all_groups; + std::array concat_polys; + std::array commitments; + + CK ck(n); + + for (size_t g = 0; g < NUM_GROUPS; ++g) { + all_groups[g] = create_shiftable_minicircuit_polynomials(); + concat_polys[g] = concatenate_polynomials(all_groups[g]); + commitments[g] = ck.commit(concat_polys[g]); + } + + // Generate challenge + std::vector challenge(log_n); + for (size_t i = 0; i < log_n; ++i) { + challenge[i] = Fr::random_element(); + } + + // Extract top 4 challenges + std::array u_top; + for (size_t i = 0; i < k; ++i) { + u_top[i] = challenge[log_n - k + i]; + } + + // Compute Lagrange basis once + auto lagrange_basis = compute_lagrange_basis(u_top); + + // Evaluate all groups + std::array batched_evals_unshifted; + std::array batched_evals_shifted; + + for (size_t g = 0; g < NUM_GROUPS; ++g) { + std::array wire_evals; + std::array wire_shift_evals; + + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + wire_evals[j] = all_groups[g][j].evaluate_mle(challenge); + wire_shift_evals[j] = all_groups[g][j].shifted().evaluate_mle(challenge); + } + + batched_evals_unshifted[g] = compute_batched_evaluation(u_top, lagrange_basis, wire_evals); + batched_evals_shifted[g] = compute_batched_evaluation(u_top, lagrange_basis, wire_shift_evals); + + // Verify against ground truth + EXPECT_EQ(batched_evals_unshifted[g], concat_polys[g].evaluate_mle(challenge)) + << "Group " << g << " unshifted batched eval mismatch"; + EXPECT_EQ(batched_evals_shifted[g], concat_polys[g].shifted().evaluate_mle(challenge)) + << "Group " << g << " shifted batched eval mismatch"; + } + + // --- Prover --- + auto prover_transcript = NativeTranscript::test_prover_init_empty(); + + using PolynomialBatcher = GeminiProver_::PolynomialBatcher; + PolynomialBatcher polynomial_batcher(n); + + // Convert array to vector for RefVector + std::vector concat_polys_vec(concat_polys.begin(), concat_polys.end()); + polynomial_batcher.set_unshifted(RefVector(concat_polys_vec)); + polynomial_batcher.set_to_be_shifted_by_one(RefVector(concat_polys_vec)); + + using OpeningClaim = ProverOpeningClaim; + OpeningClaim prover_opening_claim = + ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); + + KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); + + // --- Verifier --- + auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); + + using ClaimBatcher = ClaimBatcher_; + using ClaimBatch = ClaimBatcher::Batch; + + ClaimBatcher claim_batcher{ .unshifted = ClaimBatch{ RefArray(commitments), + RefArray(batched_evals_unshifted) }, + .shifted = ClaimBatch{ RefArray(commitments), + RefArray(batched_evals_shifted) } }; + + std::vector padding_indicator(challenge.size(), Fr{ 1 }); + + auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( + padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); + + auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(shplemini_output.batch_opening_claim), + verifier_transcript); + + VK vk; + bool verified = vk.pairing_check(pairing_points[0], pairing_points[1]); + EXPECT_TRUE(verified) << "Multiple concatenated groups should verify"; +} + +} // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.hpp index 1ea39757e0ba..0840c841da17 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.hpp @@ -93,11 +93,10 @@ template class ShplonkProver_ { current_nu *= nu; } // We use the same batching challenge for Gemini and Libra opening claims. The number of the claims - // batched before adding Libra commitments and evaluations is bounded by 2 * `virtual_log_n` + 2, where - // 2 * `virtual_log_n` is the number of fold claims including the dummy ones, and +2 is reserved for - // interleaving. + // batched before adding Libra commitments and evaluations is bounded by 2 * `virtual_log_n`, + // which is the number of fold claims including the dummy ones. if (!libra_opening_claims.empty()) { - current_nu = nu.pow(2 * virtual_log_n + NUM_INTERLEAVING_CLAIMS); + current_nu = nu.pow(2 * virtual_log_n); } for (const auto& claim : libra_opening_claims) { @@ -205,7 +204,7 @@ template class ShplonkProver_ { // Take into account the constant proof size in Gemini if (!libra_opening_claims.empty()) { - current_nu = nu_challenge.pow(2 * virtual_log_n + NUM_INTERLEAVING_CLAIMS); + current_nu = nu_challenge.pow(2 * virtual_log_n); } for (auto& claim : libra_opening_claims) { @@ -545,11 +544,8 @@ static std::vector compute_shplonk_batching_challenge_powers(const Fr& shplo bool has_zk = false, bool committed_sumcheck = false) { - // Minimum size of `denominators` - // Note that when the claim batch has no interleaving this will create one power more than it is used, so the - // circuit will have a witness appearing only in one gate. Getting rid of this extra power is complicated because of - // how Gemini and interleaving are coupled. This is not a security issue, we just compute a value that we never use. - size_t num_powers = 2 * virtual_log_n + NUM_INTERLEAVING_CLAIMS; + // Minimum number of powers: 2 * virtual_log_n for the Gemini fold claims + size_t num_powers = 2 * virtual_log_n; // Each round univariate is opened at 0, 1, and a round challenge. static constexpr size_t NUM_COMMITTED_SUMCHECK_CLAIMS_PER_ROUND = 3; diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/utils/mock_witness_generator.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/utils/mock_witness_generator.hpp index d99c06bc5d90..37101b69e0ce 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/utils/mock_witness_generator.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/utils/mock_witness_generator.hpp @@ -23,7 +23,6 @@ template struct MockClaimGenerator { using PolynomialBatcher = bb::GeminiProver_::PolynomialBatcher; using ClaimBatcher = ClaimBatcher_; using ClaimBatch = ClaimBatcher::Batch; - using InterleavedBatch = ClaimBatcher::InterleavedBatch; CommitmentKey ck; @@ -46,14 +45,6 @@ template struct MockClaimGenerator { std::vector sumcheck_commitments; std::vector> sumcheck_evaluations; - struct InterleaveData { - std::vector> groups; - std::vector polys; - std::vector evaluations; - std::vector> group_commitments; - }; - InterleaveData interleave_data; - /** * @brief Construct claim data for a set of random polynomials with the specified type * @note All to-be-shifted polynomials have an unshifted counterpart so the total number of claims is @@ -69,9 +60,7 @@ template struct MockClaimGenerator { const size_t num_polynomials, const size_t num_to_be_shifted, const std::vector& mle_opening_point, - const CommitmentKey& commitment_key, - size_t num_interleaved = 0, - size_t num_to_be_interleaved = 0) + const CommitmentKey& commitment_key) : ck(commitment_key) // Initialize the commitment key , polynomial_batcher(poly_size) @@ -129,16 +118,6 @@ template struct MockClaimGenerator { ClaimBatcher{ .unshifted = ClaimBatch{ RefVector(unshifted.commitments), RefVector(unshifted.evals) }, .shifted = ClaimBatch{ RefVector(to_be_shifted.commitments), RefVector(to_be_shifted.evals) } }; - if (num_interleaved > 0) { - interleave_data = - generate_interleaving_inputs(mle_opening_point, num_interleaved, num_to_be_interleaved, ck); - polynomial_batcher.set_interleaved(RefVector(interleave_data.polys), - to_vector_of_ref_vectors(interleave_data.groups)); - - claim_batcher.interleaved = - InterleavedBatch{ .commitments_groups = to_vector_of_ref_vectors(interleave_data.group_commitments), - .evaluations = RefVector(interleave_data.evaluations) }; - } } // Generate zero polynomials to test edge cases in PCS @@ -182,64 +161,6 @@ template struct MockClaimGenerator { ClaimBatcher{ .unshifted = ClaimBatch{ RefVector(unshifted.commitments), RefVector(unshifted.evals) } }; } - InterleaveData generate_interleaving_inputs(const std::vector& u_challenge, - const size_t num_interleaved, - const size_t group_size, - const CommitmentKey& ck) - { - - size_t N = 1 << u_challenge.size(); - size_t MINI_CIRCUIT_N = N / group_size; // size of chunks - - // Polynomials "chunks" that are interleaved in the PCS - std::vector> groups; - - // Concatenated polynomials - std::vector interleaved_polynomials; - - // Evaluations of interleaved polynomials - std::vector c_evaluations; - - // For each polynomial to be interleaved - for (size_t i = 0; i < num_interleaved; ++i) { - std::vector group; - Polynomial interleaved_polynomial(N); - for (size_t j = 0; j < group_size; j++) { - Polynomial chunk_polynomial(N); - // Fill the chunk polynomial with random values and appropriately fill the space in - // interleaved_polynomial - for (size_t k = 0; k < MINI_CIRCUIT_N; k++) { - // Chunks should be shiftable - auto tmp = Fr(0); - if (k > 0) { - tmp = Fr::random_element(); - } - chunk_polynomial.at(k) = tmp; - interleaved_polynomial.at(k * group_size + j) = tmp; - } - group.emplace_back(chunk_polynomial); - } - // Store chunks - groups.emplace_back(group); - // Store interleaved polynomial - interleaved_polynomials.emplace_back(interleaved_polynomial); - // Get evaluation - c_evaluations.emplace_back(interleaved_polynomial.evaluate_mle(u_challenge)); - } - - // Compute commitments of all polynomial chunks - std::vector> groups_commitments; - for (size_t i = 0; i < num_interleaved; ++i) { - std::vector group_commitment; - for (size_t j = 0; j < group_size; j++) { - group_commitment.emplace_back(ck.commit(groups[i][j])); - } - groups_commitments.emplace_back(group_commitment); - } - - return { groups, interleaved_polynomials, c_evaluations, groups_commitments }; - } - template void compute_sumcheck_opening_data(const size_t log_n, const size_t sumcheck_univariate_length, diff --git a/barretenberg/cpp/src/barretenberg/constants.hpp b/barretenberg/cpp/src/barretenberg/constants.hpp index 2b0e195de2e7..3eb120396f28 100644 --- a/barretenberg/cpp/src/barretenberg/constants.hpp +++ b/barretenberg/cpp/src/barretenberg/constants.hpp @@ -59,9 +59,6 @@ static constexpr uint32_t MERGE_PROOF_SIZE = 42; // used to ensure mock proofs a // There are 5 distinguished wires in ECCVM that have to be opened as univariates to establish the connection between // ECCVM and Translator static constexpr uint32_t NUM_TRANSLATION_EVALUATIONS = 5; -// The interleaving trick needed for Translator adds 2 extra claims to Gemini fold claims -// TODO(https://github.com/AztecProtocol/barretenberg/issues/1293): Decouple Gemini from Interleaving -static constexpr uint32_t NUM_INTERLEAVING_CLAIMS = 2; // The number of leading zero rows in the execution trace. Used to enable shifted polynomials. static constexpr size_t NUM_ZERO_ROWS = 1; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp index eeb21ed92b53..e809eddac47d 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp @@ -24,14 +24,14 @@ static_assert(HIDING_KERNEL_PUBLIC_INPUTS_SIZE == 28, static_assert(MERGE_PROOF_SIZE == 42, "MERGE_PROOF_SIZE changed - update constants.nr"); static_assert(ECCVMFlavor::PROOF_LENGTH == 608, "ECCVM proof size changed - update constants.nr"); static_assert(IPA_PROOF_LENGTH == 64, "IPA_PROOF_LENGTH changed - update constants.nr"); -static_assert(TranslatorFlavor::PROOF_LENGTH == 786, "Translator proof size changed - update constants.nr"); +static_assert(TranslatorFlavor::PROOF_LENGTH == 488, "Translator proof size changed - update constants.nr"); // Full proof lengths (used in Noir) static_assert( ProofLength::Honk::expected_proof_size>( UltraFlavor::VIRTUAL_LOG_N) == 449, "RECURSIVE_PROOF_LENGTH changed - update constants.nr"); -static_assert(ChonkProof::PROOF_LENGTH == 1935, "CHONK_PROOF_LENGTH changed - update constants.nr"); +static_assert(ChonkProof::PROOF_LENGTH == 1637, "CHONK_PROOF_LENGTH changed - update constants.nr"); static_assert(ProofLength::MultilinearBatching::LENGTH == 121, "MultilinearBatching proof size changed - update constants.nr"); diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp index b1f3a34b2090..de8c2c94e158 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp @@ -14,21 +14,20 @@ template class TranslatorDeltaRangeConstraintRelationImpl { using FF = FF_; // 1 + polynomial degree of this relation - static constexpr size_t RELATION_LENGTH = - 6; // degree((lagrange_real_last + lagrange_masking - 1) * D(D - 1)(D - 2)(D - 3)) = 6 + // degree(-(1-lagrange_real_last)*(1-lagrange_masking_adjacent) * D(D-1)(D-2)(D-3)) = 4+2 = 6, so length = 7 + static constexpr size_t RELATION_LENGTH = 7; static constexpr std::array SUBRELATION_PARTIAL_LENGTHS{ - 6, // ordered_range_constraints_0 step in {0,1,2,3} subrelation - 6, // ordered_range_constraints_1 step in {0,1,2,3} subrelation - 6, // ordered_range_constraints_2 step in {0,1,2,3} subrelation - 6, // ordered_range_constraints_3 step in {0,1,2,3} subrelation - 6, // ordered_range_constraints_4 step in {0,1,2,3} subrelation + 7, // ordered_range_constraints_0 step in {0,1,2,3} subrelation + 7, // ordered_range_constraints_1 step in {0,1,2,3} subrelation + 7, // ordered_range_constraints_2 step in {0,1,2,3} subrelation + 7, // ordered_range_constraints_3 step in {0,1,2,3} subrelation + 7, // ordered_range_constraints_4 step in {0,1,2,3} subrelation 3, // ordered_range_constraints_0 ends with defined maximum value subrelation 3, // ordered_range_constraints_1 ends with defined maximum value subrelation 3, // ordered_range_constraints_2 ends with defined maximum value subrelation 3, // ordered_range_constraints_3 ends with defined maximum value subrelation 3 // ordered_range_constraints_4 ends with defined maximum value subrelation - }; /** @@ -36,14 +35,15 @@ template class TranslatorDeltaRangeConstraintRelationImpl { * * @details The relation enforces 2 constraints on each of the ordered_range_constraints wires: * 1) 2 sequential values are non-descending and have a difference of at most 3. This check is skipped - * at the real_last index (lagrange_real_last = 1) and in the masking region (lagrange_masking = 1). + * at the real_last index (lagrange_real_last = 1) and in the ordered masking region + * (lagrange_ordered_masking_adjacent = 1). * 2) The value at the real_last index is 2¹⁴ - 1. * TODO(https://github.com/AztecProtocol/barretenberg/issues/1607): This only enforces <254-bit range constraints, * NOT strict ::accumulate(ContainerOverSub // Represents the position of the final non-masked witness index const auto lagrange_real_last = View(in.lagrange_real_last); - const auto lagrange_masking = View(in.lagrange_masking); + const auto lagrange_ordered_masking_adjacent = View(in.lagrange_ordered_masking_adjacent); - // This selector is 0 at the real_last row and in masking rows (where delta checks are skipped), - // and -1 at all other rows (where delta checks are enforced). The naming reflects that it is - // NOT at the last row or masking region when non-zero. - const auto not_last_or_masking = (lagrange_real_last + lagrange_masking + minus_one); + // This selector is 0 at the real_last row and in ordered masking/adjacent rows (where delta checks are + // skipped), and -1 at all other rows (where delta checks are enforced). + // lagrange_ordered_masking_adjacent is 1 at contiguous ordered masking rows AND the row before the masking + // region, which prevents checking ordered[i+1] - ordered[i] when ordered[i+1] is a masking value. + // We use a multiplicative form to correctly handle the overlap at the last non-masking row + // where both lagrange_real_last = 1 and lagrange_ordered_masking_adjacent = 1. + const auto not_last_or_masking = + (lagrange_real_last + minus_one) * (lagrange_ordered_masking_adjacent + minus_one); // Compute wire differences auto delta_1 = ordered_range_constraints_0_shift - ordered_range_constraints_0; diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation.hpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation.hpp index 0c9e4c1b0247..63661a8861fe 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation.hpp @@ -40,21 +40,25 @@ template class TranslatorPermutationRelationImpl { using View = typename Accumulator::View; using ParameterView = Parameters::DataType; - auto interleaved_range_constraints_0 = View(in.interleaved_range_constraints_0); - auto interleaved_range_constraints_1 = View(in.interleaved_range_constraints_1); - auto interleaved_range_constraints_2 = View(in.interleaved_range_constraints_2); - auto interleaved_range_constraints_3 = View(in.interleaved_range_constraints_3); + auto concatenated_range_constraints_0 = View(in.concatenated_range_constraints_0); + auto concatenated_range_constraints_1 = View(in.concatenated_range_constraints_1); + auto concatenated_range_constraints_2 = View(in.concatenated_range_constraints_2); + auto concatenated_range_constraints_3 = View(in.concatenated_range_constraints_3); auto ordered_extra_range_constraints_numerator = View(in.ordered_extra_range_constraints_numerator); auto lagrange_masking = View(in.lagrange_masking); + auto lagrange_ordered_masking = View(in.lagrange_ordered_masking); const auto& gamma = ParameterView(params.gamma); const auto& beta = ParameterView(params.beta); - return (interleaved_range_constraints_0 + lagrange_masking * beta + gamma) * - (interleaved_range_constraints_1 + lagrange_masking * beta + gamma) * - (interleaved_range_constraints_2 + lagrange_masking * beta + gamma) * - (interleaved_range_constraints_3 + lagrange_masking * beta + gamma) * - (ordered_extra_range_constraints_numerator + lagrange_masking * beta + gamma); + // First 4 factors use scattered masking (lagrange_masking), last factor uses contiguous masking + auto chosen_set = lagrange_masking * beta; + auto chosen_set2 = lagrange_ordered_masking * beta; + return (concatenated_range_constraints_0 + chosen_set + gamma) * + (concatenated_range_constraints_1 + chosen_set + gamma) * + (concatenated_range_constraints_2 + chosen_set + gamma) * + (concatenated_range_constraints_3 + chosen_set + gamma) * + (ordered_extra_range_constraints_numerator + chosen_set2 + gamma); } template @@ -69,15 +73,15 @@ template class TranslatorPermutationRelationImpl { auto ordered_range_constraints_3 = View(in.ordered_range_constraints_3); auto ordered_range_constraints_4 = View(in.ordered_range_constraints_4); - auto lagrange_masking = View(in.lagrange_masking); + auto lagrange_ordered_masking = View(in.lagrange_ordered_masking); const auto& gamma = ParameterView(params.gamma); const auto& beta = ParameterView(params.beta); - return (ordered_range_constraints_0 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_1 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_2 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_3 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_4 + lagrange_masking * beta + gamma); + // All 5 factors use contiguous masking at the end (lagrange_ordered_masking) + auto chosen_set = lagrange_ordered_masking * beta; + return (ordered_range_constraints_0 + chosen_set + gamma) * (ordered_range_constraints_1 + chosen_set + gamma) * + (ordered_range_constraints_2 + chosen_set + gamma) * (ordered_range_constraints_3 + chosen_set + gamma) * + (ordered_range_constraints_4 + chosen_set + gamma); } /** * @brief Compute contribution of the goblin translator permutation relation for a given edge (internal function) @@ -89,14 +93,18 @@ template class TranslatorPermutationRelationImpl { * C(in(X)...) = * ( z_perm(X) + lagrange_first(X) )*P(X) * - ( z_perm_shift(X) + lagrange_last(X))*Q(X), - * where P(X) = Prod_{i=0:4} (numerator_polynomial_i(X) + lagrange_masking * β + γ) - * Q(X) = Prod_{i=0:4} (ordered_range_constraint_i(X) + lagrange_masking * β + γ) - * the first 4 numerator polynomials are interleaved range constraint polynomials and the last one is the constant + * where P(X) = Prod_{i=0:3} (concatenated_range_constraint_i(X) + lagrange_masking * β + γ) + * * (extra_numerator(X) + lagrange_ordered_masking * β + γ) + * Q(X) = Prod_{i=0:4} (ordered_range_constraint_i(X) + lagrange_ordered_masking * β + γ) + * the first 4 numerator polynomials are concatenated range constraint polynomials and the last one is the * extra numerator * - * If operating in zero-knowledge, we mark the positions (via the lagrange_masking polynomial) that should contain - * masking values, expected to be at the same indices both for the ordered and interleaved polynomials. The - * lagrange_masking * β term ensures that masking positions contribute unique values to the grand product, + * If operating in zero-knowledge, we use two different masking selectors: + * - lagrange_masking marks scattered masking positions (last NUM_MASKED_ROWS_END rows of each of 16 blocks) + * in concatenated polynomials + * - lagrange_ordered_masking marks contiguous masking positions (last NUM_MASKED_ROWS_END positions at circuit end) + * in ordered polynomials + * The lagrange_*_masking * β terms ensure that masking positions contribute unique values to the grand product, * preventing information leakage about the underlying witness values at those positions. * * @param evals transformed to `evals + C(in(X)...)*scaling_factor` diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp index f7c53c1eec38..2323a7bea6b6 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp @@ -21,12 +21,12 @@ namespace bb { * - ( z_perm_shift(X) + lagrange_last(X))*Q(X), * where P(X) = Prod_{i=0:4} (numerator_polynomial_i(X) + lagrange_masking * β + γ) * Q(X) = Prod_{i=0:4} (ordered_range_constraint_i(X) + lagrange_masking * β + γ) - * the first 4 numerator polynomials are interleaved range constraint polynomials and the last one is the constant + * the first 4 numerator polynomials are concatenated range constraint polynomials and the last one is the constant * extra numerator * * If operating in zero-knowledge, we mark the positions (via the lagrange_masking polynomial) that - * contain random values. Since the masking values in four interleaved polynomials are distributed across five - * ordered polynomials, we need to ensure that the values are consistent between the interleaved and ordered sets (even + * contain random values. Since the masking values in four concatenated polynomials are distributed across five + * ordered polynomials, we need to ensure that the values are consistent between the concatenated and ordered sets (even * if they are at different indices). * * @param evals transformed to `evals + C(in(X)...)*scaling_factor` diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp index 71c2687130d0..a29879141032 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp @@ -62,10 +62,10 @@ TEST_F(TranslatorRelationConsistency, PermutationRelation) using RelationValues = typename Relation::SumcheckArrayOfValuesOverSubrelations; const InputElements input_elements = random_inputs ? get_random_input() : get_special_input(); - const auto& interleaved_range_constraints_0 = input_elements.interleaved_range_constraints_0; - const auto& interleaved_range_constraints_1 = input_elements.interleaved_range_constraints_1; - const auto& interleaved_range_constraints_2 = input_elements.interleaved_range_constraints_2; - const auto& interleaved_range_constraints_3 = input_elements.interleaved_range_constraints_3; + const auto& concatenated_range_constraints_0 = input_elements.concatenated_range_constraints_0; + const auto& concatenated_range_constraints_1 = input_elements.concatenated_range_constraints_1; + const auto& concatenated_range_constraints_2 = input_elements.concatenated_range_constraints_2; + const auto& concatenated_range_constraints_3 = input_elements.concatenated_range_constraints_3; const auto& ordered_range_constraints_0 = input_elements.ordered_range_constraints_0; const auto& ordered_range_constraints_1 = input_elements.ordered_range_constraints_1; const auto& ordered_range_constraints_2 = input_elements.ordered_range_constraints_2; @@ -87,10 +87,10 @@ TEST_F(TranslatorRelationConsistency, PermutationRelation) // (Contribution 1) auto contribution_1 = - (z_perm + lagrange_first) * (interleaved_range_constraints_0 + lagrange_masking * beta + gamma) * - (interleaved_range_constraints_1 + lagrange_masking * beta + gamma) * - (interleaved_range_constraints_2 + lagrange_masking * beta + gamma) * - (interleaved_range_constraints_3 + lagrange_masking * beta + gamma) * + (z_perm + lagrange_first) * (concatenated_range_constraints_0 + lagrange_masking * beta + gamma) * + (concatenated_range_constraints_1 + lagrange_masking * beta + gamma) * + (concatenated_range_constraints_2 + lagrange_masking * beta + gamma) * + (concatenated_range_constraints_3 + lagrange_masking * beta + gamma) * (ordered_extra_range_constraints_numerator + lagrange_masking * beta + gamma) - (z_perm_shift + lagrange_last) * (ordered_range_constraints_0 + lagrange_masking * beta + gamma) * (ordered_range_constraints_1 + lagrange_masking * beta + gamma) * diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp index 0e53ad0b34c9..12c5342430ab 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp @@ -74,6 +74,31 @@ class TranslatorRecursiveFlavor { static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = NativeFlavor::REPEATED_COMMITMENTS; + // Computable precomputed selectors: constants and methods forwarded from NativeFlavor + static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = NativeFlavor::NUM_COMPUTABLE_PRECOMPUTED; + static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NativeFlavor::COMPUTABLE_PRECOMPUTED_OFFSET; + static constexpr size_t NUM_SENT_EVALUATIONS = NativeFlavor::NUM_SENT_EVALUATIONS; + + template + static void compute_computable_precomputed(NativeFlavor::AllEntities& evals, + std::span challenge) + { + NativeFlavor::compute_computable_precomputed(evals, challenge); + } + + template + static auto get_all_without_computable_precomputed(const NativeFlavor::AllEntities& evals) + { + return NativeFlavor::get_all_without_computable_precomputed(evals); + } + + template + static void set_all_without_computable_precomputed(NativeFlavor::AllEntities& evals, + const std::array& sent) + { + NativeFlavor::set_all_without_computable_precomputed(evals, sent); + } + using Relations = TranslatorFlavor::Relations_; static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length(); diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp index 85b1c494bcf1..376e9cae8900 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp @@ -222,7 +222,7 @@ class TranslatorRecursiveTests : public ::testing::Test { // Use the shared helper to create and verify the recursive circuit auto [outer_circuit, outer_verification_key] = create_recursive_verifier_circuit(); - info("Recursive Verifier: num gates = ", outer_circuit.num_gates()); + info("Recursive Verifier: num gates = ", outer_circuit.get_num_finalized_gates_inefficient()); EXPECT_EQ(outer_circuit.failed(), false) << outer_circuit.err(); // Prove and verify the outer recursive circuit diff --git a/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp b/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp index b8dd486310de..a2794fd933a1 100644 --- a/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp +++ b/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp @@ -597,7 +597,13 @@ template class SumcheckProver { // Claimed evaluations of Prover polynomials are extracted and added to the transcript. When Flavor has ZK, the // evaluations of all witnesses are masked. ClaimedEvaluations multivariate_evaluations = extract_claimed_evaluations(partially_evaluated_polynomials); - transcript->send_to_verifier("Sumcheck:evaluations", multivariate_evaluations.get_all()); + // For Translator: skip sending 12 computable precomputed evaluations (verifier computes them locally) + if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { + auto filtered = Flavor::get_all_without_computable_precomputed(multivariate_evaluations); + transcript->send_to_verifier("Sumcheck:evaluations", filtered); + } else { + transcript->send_to_verifier("Sumcheck:evaluations", multivariate_evaluations.get_all()); + } // The evaluations of Libra uninvariates at \f$ g_0(u_0), \ldots, g_{d-1} (u_{d-1}) \f$ are added to the // transcript. @@ -802,10 +808,19 @@ template class SumcheckVerifier { // Populate claimed evaluations at the challenge ClaimedEvaluations purported_evaluations; - auto transcript_evaluations = - transcript->template receive_from_prover>("Sumcheck:evaluations"); - for (auto [eval, transcript_eval] : zip_view(purported_evaluations.get_all(), transcript_evaluations)) { - eval = transcript_eval; + // For Translator: receive fewer evals (excluding 12 computable precomputed) and compute the rest locally + if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { + auto transcript_evals = + transcript->template receive_from_prover>( + "Sumcheck:evaluations"); + Flavor::set_all_without_computable_precomputed(purported_evaluations, transcript_evals); + Flavor::compute_computable_precomputed(purported_evaluations, std::span(multivariate_challenge)); + } else { + auto transcript_evaluations = + transcript->template receive_from_prover>("Sumcheck:evaluations"); + for (auto [eval, transcript_eval] : zip_view(purported_evaluations.get_all(), transcript_evaluations)) { + eval = transcript_eval; + } } // Evaluate the Honk relation at the point (u_0, ..., u_{d-1}) using claimed evaluations of prover polynomials. diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp index b598a2bdf86e..3c4ed29cb100 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp @@ -35,10 +35,16 @@ TEST_F(TranslatorRelationCorrectnessTests, TranslatorExtraRelationsCorrectness) // Create storage for polynomials ProverPolynomials prover_polynomials; constexpr size_t mini_circuit_size_without_masking = TranslatorProvingKey::dyadic_mini_circuit_size_without_masking; - // Fill in lagrange even polynomial - for (size_t i = prover_polynomials.lagrange_even_in_minicircuit.start_index(); - i < prover_polynomials.lagrange_even_in_minicircuit.end_index(); - i += 2) { + constexpr size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + + // Reallocate lagrange polynomials to full circuit size for manual testing + prover_polynomials.lagrange_even_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_odd_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_result_row = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_last_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); + + // Fill in lagrange even and odd polynomials (only in first minicircuit, not the full concatenated circuit) + for (size_t i = Flavor::RESULT_ROW; i < mini_circuit_size_without_masking; i += 2) { prover_polynomials.lagrange_even_in_minicircuit.at(i) = 1; prover_polynomials.lagrange_odd_in_minicircuit.at(i + 1) = 1; } @@ -106,6 +112,10 @@ TEST_F(TranslatorRelationCorrectnessTests, Decomposition) // Create storage for polynomials ProverPolynomials prover_polynomials; + constexpr size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + + // Reallocate lagrange polynomials to full circuit size for manual testing + prover_polynomials.lagrange_odd_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); auto lagrange_odd_in_minicircuit = prover_polynomials.lagrange_odd_in_minicircuit; // Fill in lagrange odd polynomial (the only non-witness one we are using) @@ -525,6 +535,11 @@ TEST_F(TranslatorRelationCorrectnessTests, NonNative) // Create storage for polynomials ProverPolynomials prover_polynomials = TranslatorFlavor::ProverPolynomials(); + constexpr size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + + // Reallocate lagrange polynomials to full circuit size for manual testing + prover_polynomials.lagrange_even_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_odd_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); // Copy values of wires used in the non-native field relation from the circuit builder for (size_t i = Builder::NUM_NO_OPS_START + Builder::NUM_RANDOM_OPS_START; @@ -576,14 +591,19 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgePermutation) using FF = typename Flavor::FF; using ProverPolynomials = typename Flavor::ProverPolynomials; - const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::INTERLEAVING_GROUP_SIZE; + const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; auto& engine = numeric::get_debug_randomness(); - const size_t full_masking_offset = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::INTERLEAVING_GROUP_SIZE; TranslatorProvingKey key{}; key.proving_key = std::make_shared(); ProverPolynomials& prover_polynomials = key.proving_key->polynomials; - const size_t dyadic_circuit_size_without_masking = full_circuit_size - full_masking_offset; + + // Reallocate lagrange polynomials to full circuit size for manual testing + prover_polynomials.lagrange_first = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_last = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); // Fill required relation parameters RelationParameters params{ .beta = FF::random_element(), .gamma = FF::random_element() }; @@ -599,21 +619,38 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgePermutation) } }; - for (const auto& group : prover_polynomials.get_groups_to_be_interleaved()) { + for (const auto& group : prover_polynomials.get_groups_to_be_concatenated()) { for (auto& poly : group) { + // Skip null padding slots (empty zero polynomials in group 4) + if (poly.is_empty()) { + continue; + } fill_polynomial_with_random_14_bit_values(poly); } } // Fill in lagrange polynomials used in the permutation relation prover_polynomials.lagrange_first.at(0) = 1; - prover_polynomials.lagrange_real_last.at(dyadic_circuit_size_without_masking - 1) = 1; + // lagrange_real_last is at the last non-masking row of block 15 + const size_t real_last_index = + 15 * Flavor::MINI_CIRCUIT_SIZE + (Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END - 1); + prover_polynomials.lagrange_real_last.at(real_last_index) = 1; prover_polynomials.lagrange_last.at(full_circuit_size - 1) = 1; - for (size_t i = dyadic_circuit_size_without_masking; i < full_circuit_size; i++) { - prover_polynomials.lagrange_masking.at(i) = 1; + // lagrange_masking is scattered: last NUM_MASKED_ROWS_END rows of each of the 16 blocks + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + for (size_t k = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END; k < Flavor::MINI_CIRCUIT_SIZE; k++) { + prover_polynomials.lagrange_masking.at(j * Flavor::MINI_CIRCUIT_SIZE + k) = 1; + } + } + // lagrange_masking_adjacent is 1 where lagrange_masking[i]=1 OR lagrange_masking[i+1]=1 + for (size_t i = 0; i < full_circuit_size; i++) { + if (prover_polynomials.lagrange_masking.at(i) == 1 || + (i + 1 < full_circuit_size && prover_polynomials.lagrange_masking.at(i + 1) == 1)) { + prover_polynomials.lagrange_masking_adjacent.at(i) = 1; + } } - key.compute_interleaved_polynomials(); + key.compute_concatenated_polynomials(); key.compute_extra_range_constraint_numerator(); key.compute_translator_range_constraint_ordered_polynomials(); @@ -638,15 +675,35 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgeDeltaRange) key.proving_key = std::make_shared(); ProverPolynomials& prover_polynomials = key.proving_key->polynomials; - const size_t full_masking_offset = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::INTERLEAVING_GROUP_SIZE; + const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + const size_t full_masking_offset = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::CONCATENATION_GROUP_SIZE; const size_t dyadic_circuit_size_without_masking = TranslatorProvingKey::dyadic_circuit_size_without_masking; + // Reallocate lagrange polynomials to full circuit size for manual testing + prover_polynomials.lagrange_first = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); + prover_polynomials.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); + // Construct lagrange polynomials that are needed for Translator's DeltaRangeConstraint Relation prover_polynomials.lagrange_first.at(0) = 0; - prover_polynomials.lagrange_real_last.at(dyadic_circuit_size_without_masking - 1) = 1; - - for (size_t i = dyadic_circuit_size_without_masking; i < key.dyadic_circuit_size; i++) { - prover_polynomials.lagrange_masking.at(i) = 1; + // lagrange_real_last is at the last non-masking row of block 15 + const size_t real_last_index = + 15 * Flavor::MINI_CIRCUIT_SIZE + (Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END - 1); + prover_polynomials.lagrange_real_last.at(real_last_index) = 1; + + // lagrange_masking is scattered: last NUM_MASKED_ROWS_END rows of each of the 16 blocks + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + for (size_t k = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END; k < Flavor::MINI_CIRCUIT_SIZE; k++) { + prover_polynomials.lagrange_masking.at(j * Flavor::MINI_CIRCUIT_SIZE + k) = 1; + } + } + // lagrange_masking_adjacent is 1 where lagrange_masking[i]=1 OR lagrange_masking[i+1]=1 + for (size_t i = 0; i < key.dyadic_circuit_size; i++) { + if (prover_polynomials.lagrange_masking.at(i) == 1 || + (i + 1 < key.dyadic_circuit_size && prover_polynomials.lagrange_masking.at(i + 1) == 1)) { + prover_polynomials.lagrange_masking_adjacent.at(i) = 1; + } } // Create a vector and fill with necessary steps for the DeltaRangeConstraint relation diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp index b054a68ae94c..654d53c8dad5 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp @@ -55,69 +55,33 @@ class TranslatorTests : public ::testing::Test { /** * @brief Build the expected transcript manifest for Translator verification - * @details The manifest has 26 rounds total: - * - Round 0: vk_hash, Gemini masking, 82 wire commitments -> beta challenge - * - Round 1: (empty) -> gamma challenge - * - Round 2: Z_PERM -> Sumcheck:alpha + all gate challenges - * - Round 3: Libra:concatenation_commitment + Sum -> Libra:Challenge - * - Rounds 4-20: Sumcheck univariates (17 rounds) - * - Round 21: Sumcheck evaluations + Libra commitments -> rho - * - Round 22: Gemini fold commitments -> Gemini:r - * - Round 23: Gemini evaluations + Libra evals -> Shplonk:nu - * - Round 24: Shplonk:Q -> Shplonk:z - * - Round 25: KZG:W -> KZG:masking_challenge + * @details The manifest has 25 rounds total (0-24): + * - Round 0: vk_hash, Gemini masking, 10 wire commitments -> beta, gamma challenges + * - Round 1: Z_PERM -> Sumcheck:alpha + all gate challenges + * - Round 2: Libra:concatenation_commitment + Sum -> Libra:Challenge + * - Rounds 3-19: Sumcheck univariates (17 rounds) + * - Round 20: Sumcheck evaluations + Libra commitments -> rho + * - Round 21: Gemini fold commitments -> Gemini:r + * - Round 22: Gemini evaluations + Libra evals -> Shplonk:nu + * - Round 23: Shplonk:Q -> Shplonk:z + * - Round 24: KZG:W -> KZG:masking_challenge */ static TranscriptManifest build_expected_translator_manifest() { TranscriptManifest manifest; constexpr size_t frs_per_G = FrCodec::calc_num_fields(); - constexpr size_t NUM_SUMCHECK_ROUNDS = 17; // CONST_TRANSLATOR_LOG_N + 2 + constexpr size_t NUM_SUMCHECK_ROUNDS = Flavor::CONST_TRANSLATOR_LOG_N; // Round 0: vk_hash, Gemini masking, wire commitments manifest.add_entry(0, "vk_hash", 1); manifest.add_entry(0, "Gemini:masking_poly_comm", frs_per_G); - // Wire commitments (82 total, in order from the manifest dump) + // Wire commitments (10 total: 5 concatenated + 5 ordered) // clang-format off std::vector wire_labels = { - "P_X_LOW_LIMBS", "P_X_HIGH_LIMBS", "P_Y_LOW_LIMBS", "P_Y_HIGH_LIMBS", - "Z_LOw_LIMBS", "Z_HIGH_LIMBS", - "ACCUMULATORS_BINARY_LIMBS_0", "ACCUMULATORS_BINARY_LIMBS_1", - "ACCUMULATORS_BINARY_LIMBS_2", "ACCUMULATORS_BINARY_LIMBS_3", - "QUOTIENT_LOW_BINARY_LIMBS", "QUOTIENT_HIGH_BINARY_LIMBS", - "RELATION_WIDE_LIMBS", - "P_X_LOW_LIMBS_RANGE_CONSTRAINT_0", "P_X_LOW_LIMBS_RANGE_CONSTRAINT_1", - "P_X_LOW_LIMBS_RANGE_CONSTRAINT_2", "P_X_LOW_LIMBS_RANGE_CONSTRAINT_3", - "P_X_LOW_LIMBS_RANGE_CONSTRAINT_4", "P_X_LOW_LIMBS_RANGE_CONSTRAINT_TAIL", - "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_0", "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_1", - "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_2", "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_3", - "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_4", "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL", - "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_0", "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_1", - "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_2", "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_3", - "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_4", "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_TAIL", - "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_0", "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_1", - "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_2", "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_3", - "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_4", "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL", - "Z_LOW_LIMBS_RANGE_CONSTRAINT_0", "Z_LOW_LIMBS_RANGE_CONSTRAINT_1", - "Z_LOW_LIMBS_RANGE_CONSTRAINT_2", "Z_LOW_LIMBS_RANGE_CONSTRAINT_3", - "Z_LOW_LIMBS_RANGE_CONSTRAINT_4", "Z_LOW_LIMBS_RANGE_CONSTRAINT_TAIL", - "Z_HIGH_LIMBS_RANGE_CONSTRAINT_0", "Z_HIGH_LIMBS_RANGE_CONSTRAINT_1", - "Z_HIGH_LIMBS_RANGE_CONSTRAINT_2", "Z_HIGH_LIMBS_RANGE_CONSTRAINT_3", - "Z_HIGH_LIMBS_RANGE_CONSTRAINT_4", "Z_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL", - "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_0", "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_1", - "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_2", "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_3", - "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_4", "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_TAIL", - "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_0", "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_1", - "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_2", "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_3", - "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_4", "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL", - "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_0", "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_1", - "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_2", "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_3", - "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_4", "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_TAIL", - "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_0", "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_1", - "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_2", "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_3", - "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_4", "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL", - "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_0", "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_1", - "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_2", "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_3", + "CONCATENATED_RANGE_CONSTRAINTS_0", "CONCATENATED_RANGE_CONSTRAINTS_1", + "CONCATENATED_RANGE_CONSTRAINTS_2", "CONCATENATED_RANGE_CONSTRAINTS_3", + "CONCATENATED_NON_RANGE", "ORDERED_RANGE_CONSTRAINTS_0", "ORDERED_RANGE_CONSTRAINTS_1", "ORDERED_RANGE_CONSTRAINTS_2", "ORDERED_RANGE_CONSTRAINTS_3", "ORDERED_RANGE_CONSTRAINTS_4", @@ -148,38 +112,42 @@ class TranslatorTests : public ::testing::Test { manifest.add_challenge(3 + i, "Sumcheck:u_" + std::to_string(i)); } - // Round 20: Sumcheck evaluations + Libra commitments -> rho - manifest.add_entry(20, "Sumcheck:evaluations", 188); - manifest.add_entry(20, "Libra:claimed_evaluation", 1); - manifest.add_entry(20, "Libra:grand_sum_commitment", frs_per_G); - manifest.add_entry(20, "Libra:quotient_commitment", frs_per_G); - manifest.add_challenge(20, "rho"); - - // Round 21: Gemini fold commitments -> Gemini:r - for (size_t i = 1; i <= 16; ++i) { - manifest.add_entry(21, "Gemini:FOLD_" + std::to_string(i), frs_per_G); + // Sumcheck evaluations (12 computable precomputed excluded) + Libra commitments -> rho + const size_t eval_round = 3 + NUM_SUMCHECK_ROUNDS; + manifest.add_entry(eval_round, "Sumcheck:evaluations", Flavor::NUM_SENT_EVALUATIONS); + manifest.add_entry(eval_round, "Libra:claimed_evaluation", 1); + manifest.add_entry(eval_round, "Libra:grand_sum_commitment", frs_per_G); + manifest.add_entry(eval_round, "Libra:quotient_commitment", frs_per_G); + manifest.add_challenge(eval_round, "rho"); + + // Gemini fold commitments -> Gemini:r + const size_t gemini_fold_round = eval_round + 1; + for (size_t i = 1; i < NUM_SUMCHECK_ROUNDS; ++i) { + manifest.add_entry(gemini_fold_round, "Gemini:FOLD_" + std::to_string(i), frs_per_G); } - manifest.add_challenge(21, "Gemini:r"); + manifest.add_challenge(gemini_fold_round, "Gemini:r"); - // Round 22: Gemini evaluations + Libra evals -> Shplonk:nu - for (size_t i = 1; i <= 17; ++i) { - manifest.add_entry(22, "Gemini:a_" + std::to_string(i), 1); + // Gemini evaluations + Libra evals -> Shplonk:nu + const size_t gemini_eval_round = gemini_fold_round + 1; + for (size_t i = 1; i <= NUM_SUMCHECK_ROUNDS; ++i) { + manifest.add_entry(gemini_eval_round, "Gemini:a_" + std::to_string(i), 1); } - manifest.add_entry(22, "Gemini:P_pos", 1); - manifest.add_entry(22, "Gemini:P_neg", 1); - manifest.add_entry(22, "Libra:concatenation_eval", 1); - manifest.add_entry(22, "Libra:shifted_grand_sum_eval", 1); - manifest.add_entry(22, "Libra:grand_sum_eval", 1); - manifest.add_entry(22, "Libra:quotient_eval", 1); - manifest.add_challenge(22, "Shplonk:nu"); - - // Round 23: Shplonk:Q -> Shplonk:z - manifest.add_entry(23, "Shplonk:Q", frs_per_G); - manifest.add_challenge(23, "Shplonk:z"); - - // Round 24: KZG:W -> KZG:masking_challenge - manifest.add_entry(24, "KZG:W", frs_per_G); - manifest.add_challenge(24, "KZG:masking_challenge"); + // No more Gemini:P_pos / Gemini:P_neg (interleaving replaced by concatenation) + manifest.add_entry(gemini_eval_round, "Libra:concatenation_eval", 1); + manifest.add_entry(gemini_eval_round, "Libra:shifted_grand_sum_eval", 1); + manifest.add_entry(gemini_eval_round, "Libra:grand_sum_eval", 1); + manifest.add_entry(gemini_eval_round, "Libra:quotient_eval", 1); + manifest.add_challenge(gemini_eval_round, "Shplonk:nu"); + + // Shplonk:Q -> Shplonk:z + const size_t shplonk_round = gemini_eval_round + 1; + manifest.add_entry(shplonk_round, "Shplonk:Q", frs_per_G); + manifest.add_challenge(shplonk_round, "Shplonk:z"); + + // KZG:W -> KZG:masking_challenge + const size_t kzg_round = shplonk_round + 1; + manifest.add_entry(kzg_round, "KZG:W", frs_per_G); + manifest.add_challenge(kzg_round, "KZG:masking_challenge"); return manifest; } @@ -374,10 +342,15 @@ TEST_F(TranslatorTests, FixedVK) TranslatorProver prover{ proving_key, prover_transcript }; TranslatorFlavor::VerificationKey computed_vk = create_vk_from_proving_key(proving_key->proving_key); auto labels = TranslatorFlavor::VerificationKey::get_labels(); + size_t index = 0; for (auto [vk_commitment, fixed_commitment] : zip_view(computed_vk.get_all(), fixed_vk.get_all())) { - EXPECT_EQ(vk_commitment, fixed_commitment) - << "Mismatch between computed vk_commitment and fixed_commitment at label: " << labels[index]; + if (vk_commitment != fixed_commitment) { + info("// ", labels[index]); + info("Commitment(uint256_t(\"0x", vk_commitment.x, "\"),"); + info(" uint256_t(\"0x", vk_commitment.y, "\")),"); + } + EXPECT_EQ(vk_commitment, fixed_commitment) << "Mismatch at label: " << labels[index]; ++index; } @@ -457,3 +430,118 @@ TEST_F(TranslatorTests, TranscriptPinned) EXPECT_EQ(verifier_manifest, expected_manifest); } + +/** + * @brief Unit test for concatenated polynomial construction and reconstruction + * @details Tests that: + * 1. Concatenated polynomials are correctly constructed from wire polynomials + * 2. The verifier's reconstruction formula correctly recovers the concatenated evaluation + */ +TEST_F(TranslatorTests, ConcatenationReconstruction) +{ + using Flavor = TranslatorFlavor; + using Polynomial = Flavor::Polynomial; + using FF = Flavor::FF; + + const size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + const size_t circuit_size = 1UL << Flavor::CONST_TRANSLATOR_LOG_N; + + // Create 16 wire polynomials matching actual translator structure: + // size=MINI-1, virtual_size=circuit_size, start_index=1 + // This means they have values in [1, MINI) but are embedded in full circuit space + std::array wires; + for (size_t j = 0; j < 16; j++) { + wires[j] = Polynomial(MINI - 1, circuit_size, 1); + // Fill positions [1, MINI) with random values + for (size_t k = 1; k < MINI; k++) { + wires[j].at(k) = FF::random_element(&engine); + } + } + + // Create concatenated polynomial (17-dimensional) by copying wire data into lanes + Polynomial concat_poly(circuit_size - 1, circuit_size, 1); + for (size_t j = 0; j < 16; j++) { + for (size_t k = 1; k < MINI; k++) { + concat_poly.at(j * MINI + k) = wires[j].at(k); + } + } + + // Generate a random challenge point + std::vector challenge(Flavor::CONST_TRANSLATOR_LOG_N); + for (auto& u : challenge) { + u = FF::random_element(&engine); + } + + // Evaluate concatenated polynomial at full challenge (17-dimensional) + FF concat_eval_expected = concat_poly.evaluate_mle(challenge); + + // Evaluate individual wires at full challenge (17-dimensional) + // Even though wires only have values in [1, MINI), they have virtual_size=circuit_size + // so their MLE is evaluated in 17-dimensional space + std::array wire_evals; + for (size_t j = 0; j < 16; j++) { + wire_evals[j] = wires[j].evaluate_mle(challenge); + } + + // Extract top 4 challenges + std::array u_top; + const size_t num_top_bits = 4; + const size_t log_n = Flavor::CONST_TRANSLATOR_LOG_N; + for (size_t i = 0; i < num_top_bits; i++) { + u_top[i] = challenge[log_n - num_top_bits + i]; + } + + // Compute L_0(u_top) = (1-u_13)(1-u_14)(1-u_15)(1-u_16) + // This accounts for wires having values in [1,MINI) embedded in 17D space + FF padding = FF(1); + for (size_t i = 0; i < num_top_bits; i++) { + padding *= (FF(1) - u_top[i]); + } + FF padding_inv = padding.invert(); + + // Compute Lagrange basis L_j(u_top) for j = 0..15 + // Uses little-endian bit ordering to match compute_lagranges_for_multi_claim + std::array lagrange_basis; + for (size_t j = 0; j < 16; j++) { + lagrange_basis[j] = FF(1); + for (size_t bit = 0; bit < num_top_bits; bit++) { + // Little-endian: bit i of j corresponds to challenge u_top[i] + bool bit_set = (j >> bit) & 1; + lagrange_basis[j] *= bit_set ? u_top[bit] : (FF(1) - u_top[bit]); + } + } + + // Reconstruct: concat(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * wire_j(u_17d) + FF concat_eval_reconstructed = FF(0); + for (size_t j = 0; j < 16; j++) { + concat_eval_reconstructed += lagrange_basis[j] * wire_evals[j]; + } + concat_eval_reconstructed *= padding_inv; + + // Verify reconstruction matches direct evaluation + info("Unshifted - Expected concat eval: ", concat_eval_expected); + info("Unshifted - Reconstructed concat eval: ", concat_eval_reconstructed); + EXPECT_EQ(concat_eval_expected, concat_eval_reconstructed); + + // Test shifted case + // Evaluate shifted concatenated polynomial at full challenge (17-dimensional) + FF concat_shift_eval_expected = concat_poly.shifted().evaluate_mle(challenge); + + // Evaluate individual wire shifts at full challenge (17-dimensional) + std::array wire_shift_evals; + for (size_t j = 0; j < 16; j++) { + wire_shift_evals[j] = wires[j].shifted().evaluate_mle(challenge); + } + + // Reconstruct shifted eval using same formula + FF concat_shift_eval_reconstructed = FF(0); + for (size_t j = 0; j < 16; j++) { + concat_shift_eval_reconstructed += lagrange_basis[j] * wire_shift_evals[j]; + } + concat_shift_eval_reconstructed *= padding_inv; + + // Verify shifted reconstruction + info("Shifted - Expected concat eval: ", concat_shift_eval_expected); + info("Shifted - Reconstructed concat eval: ", concat_shift_eval_reconstructed); + EXPECT_EQ(concat_shift_eval_expected, concat_shift_eval_reconstructed); +} diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md new file mode 100644 index 000000000000..72306bb99c50 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md @@ -0,0 +1,438 @@ +# Translator: Concatenated Polynomial Commitments & Computable Precomputed Selectors + +## Overview + +Two optimizations reduce the Translator proof size and verifier cost: + +1. **Concatenation**: Replace 77 individual minicircuit wire commitments with 5 concatenated + polynomial commitments. The prover still evaluates individual wires in Sumcheck; the verifier + reconstructs concatenated evaluations from wire evaluations using Lagrange decomposition. + +2. **Computable precomputed selectors**: 12 of 13 precomputed selectors are structured multilinear + polynomials whose evaluations at the sumcheck challenge can be computed in O(d) field ops. The + prover skips sending these 12 evaluations; the verifier computes them locally. + +**Net savings**: +- 72 fewer group element commitments (83 → 11) +- 12 fewer FR evaluations in proof +- 12 fewer MSMs in verifier PCS + +--- + +## Part 1: Concatenation + +### Previous Commitment Structure + +| Category | Count | Size | Shifted? | Concatenatable? | +|---|---|---|---|---| +| Range constraint wires | 64 | MINI | Yes | Yes | +| Non-range main wires | 13 | MINI | Yes | Yes | +| Ordered range constraints | 5 | N (full) | Yes | No | +| z_perm | 1 | N (full) | Yes | No | +| **Total** | **83** | | | | + +- `MINI = MINI_CIRCUIT_SIZE`, `N = 16 * MINI` (full circuit domain). +- 4 **interleaved** polynomials constructed post-hoc (not committed); their openings were + verified via Shplemini's `InterleavedBatch` using the 64 range constraint commitments. +- The interleaving mapped `interleaved[k*16 + j] = source_wire_j[k]`. + +### Why Interleaving Cannot Replace Individual Commitments + +**Interleaving cannot be used in the reverse direction** (from grouped commitment to individual +evaluations). The fundamental issue is a structural mismatch between how source wires and +interleaved polynomials encode row information. + +For N-sized zero-padded source wires, non-zero entries lie in `[0, MINI)`, so the upper bits +(`d-4` through `d-1`) are always 0: + +``` +source_j(u) = Π_{i=d-4}^{d-1} (1-u_i) · source_j^mini(u_0, ..., u_{d-5}) +``` + +For the interleaved polynomial (lane bits `j` as LSB): + +``` +interleaved(u) = Σ_j L_j(u_0..u_3) · source_j^mini(u_4, ..., u_{d-1}) +``` + +The two appearances of `source_j^mini` are at **different evaluation points**: +- `(u_0, ..., u_{d-5})` in the source wire decomposition +- `(u_4, ..., u_{d-1})` in the interleaved decomposition + +These are generally unequal. The verifier cannot reconstruct `interleaved(u)` from +the Sumcheck evaluations `source_j(u)`. + +### Concatenation: Lane Bits as MSB + +Replace 77 individual minicircuit wire commitments with 5 **concatenated** polynomials: + +``` +concatenated_i[j * MINI + k] = group_i_wire_j[k] +``` + +Lane bits are MSB (positions `d-4` through `d-1`), row bits are LSB (positions `0` through +`d-5`). This makes the decomposition compatible: + +``` +concat_i(u) = Σ_j L_j(u_{d-4}..u_{d-1}) · source_j^mini(u_0..u_{d-5}) + = [1/padding] · Σ_j L_j(u_top) · source_j(u) +``` + +where `padding = Π_{i=d-4}^{d-1} (1-u_i)`. Both use `source_j^mini(u_0..u_{d-5})` — the +**same evaluation point**. The verifier can reconstruct `concat_i(u)` from individual +`source_j(u)` evaluations. + +### Concatenation Groups + +| Group | Contents | Batch size | +|---|---|---| +| 0 | Range constraint wires: `p_x_low_0..tail`, `p_x_high_0..tail`, `p_y_low_0..3` | 16 | +| 1 | Range constraint wires: `p_y_low_4..tail`, `p_y_high_0..tail`, `z_low_0..tail`, `z_high_0..1` | 16 | +| 2 | Range constraint wires: `z_high_2..tail`, `acc_low_0..tail`, `acc_high_0..tail` | 16 | +| 3 | Range constraint wires: `quot_low_0..tail`, `quot_high_0..tail`, `rel_wide_0..3` | 16 | +| 4 | Non-range main wires (13) + 3 null padding (zero) | 16 | + +**File:** `translator_flavor.hpp` — `WitnessEntities::get_groups_to_be_concatenated()` + +### Pure Concatenation Requirement + +The concatenated polynomial **must** be a faithful concatenation of the source wires. +Sumcheck evaluates individual source wire polynomials, and the PCS proves these +evaluations by opening the concatenated commitment. Chunk evaluations derived from the +concatenated commitment must exactly match the source wire evaluations. Any modification +to the concatenated polynomial would break this chain. + +**File:** `translator_proving_key.cpp` — `compute_concatenated_polynomials()` + +### Zero 0th Coefficient for Shiftable Chunks + +**All minicircuit wires in concatenated groups satisfy `f_j[0] = 0`.** + +This is required for soundness of the **shifted evaluation decomposition** from the +concatenated commitment. The global shift of a concatenated polynomial has cross-boundary +terms: + +``` +concat_shift[j*MINI + k] = concat[j*MINI + k + 1] + = f_j[k+1] for k < MINI-1 + = f_{j+1}[0] for k = MINI-1 ← cross-boundary term +``` + +If `f_{j+1}[0] = 0` for all `j`, the cross-boundary terms vanish and the shifted +concatenated polynomial decomposes cleanly: + +``` +concat_shift(u) = [1/padding] · Σ_j L_j(u_top) · f_j_shift(u) +``` + +enabling the verifier to reconstruct `concat_shift(u)` from individual `f_j_shift(u)` +evaluations. + +The honest prover constructs all minicircuit wires with `start_index = 1`, so `f_j[0] = 0` +holds by construction. The existing zero constraint (`TranslatorZeroConstraintsRelation`) +enforces `wire = 0` outside the active minicircuit region `[RESULT_ROW, MINI - NUM_MASKED)`, +which covers row 0. Note that both `lagrange_even_in_minicircuit` and +`lagrange_odd_in_minicircuit` are zero at row 0, so the zero constraint is active there. + +--- + +## What Does NOT Change (Relations) + +### Decomposition Relation +- References individual range constraint wires (block 0 of the domain). +- Uses `lagrange_even_in_minicircuit`. **No change.** + +### Non-Native Field Relation +- Uses limb wires with shifts. Uses `lagrange_even_in_minicircuit`. **No change.** + +### Accumulator Transfer Relation +- Uses `lagrange_odd_in_minicircuit`, `lagrange_result_row`, `lagrange_last_in_minicircuit`. +- All in block 0. **No change.** + +### Zero Constraint Relation +- Enforces range constraint wires = 0 outside minicircuit+masking region. +- Operates on individual wires (block 0). **No change.** + +### Opcode Constraint +- Uses `lagrange_even_in_minicircuit`, `lagrange_mini_masking`. **No change.** + +--- + +## What Changed + +### 1. Masking Layout: Scattered vs. Contiguous + +With concatenation, masking rows in the **concatenated** polynomials are scattered: the last +`NUM_MASKED_ROWS_END` rows of each of the 16 blocks, i.e., positions +`{j * MINI + k : j ∈ [0,16), k ∈ [MINI - NUM_MASKED_ROWS_END, MINI)}`. + +In the **ordered** polynomials, masking values are placed **contiguously at the end**: +the last `MAX_RANDOM_VALUES_PER_ORDERED` positions (= `16 * NUM_MASKED_ROWS_END = 64`). + +This asymmetry requires **two separate masking selectors**: + +| Selector | Where active | Used by | +|---|---|---| +| `lagrange_masking` | Scattered (end of each of 16 blocks) | Permutation numerator (concatenated polys) | +| `lagrange_ordered_masking` | Contiguous (last 64 rows) | Permutation denominator + extra numerator (ordered polys) | + +**File:** `translator_proving_key.cpp` — `compute_lagrange_polynomials()` + +### 2. Permutation Relation: Dual Masking Selectors + +The permutation numerator uses `lagrange_masking * β` for the 4 concatenated range constraint +factors and `lagrange_ordered_masking * β` for the extra numerator factor. The denominator +uses `lagrange_ordered_masking * β` for all 5 ordered factors. + +``` +P(X) = Π_{i=0:3} (concat_range_i(X) + lagrange_masking·β + γ) + · (extra_numerator(X) + lagrange_ordered_masking·β + γ) + +Q(X) = Π_{i=0:4} (ordered_i(X) + lagrange_ordered_masking·β + γ) +``` + +The `lagrange_masking * β` terms ensure masking positions contribute unique values to the grand +product, preventing information leakage. The multiset check is order-independent: the non-masking +multisets match between numerator and denominator. Masking positions are excluded from the check +via the beta-separation term. + +**Files:** `translator_permutation_relation.hpp`, `translator_permutation_relation_impl.hpp` + +### 3. Delta Range Constraint: Ordered Masking Adjacent + +The delta range constraint checks `ordered[i+1] - ordered[i] ∈ {0,1,2,3}` at each row. +With contiguous masking at the end of ordered polynomials, the constraint must be disabled +at masking positions AND at the row immediately before the masking region (where `ordered[i+1]` +would be a masking value). + +`lagrange_ordered_masking_adjacent` is 1 at all contiguous masking positions AND the row +before the masking region: + +``` +lagrange_ordered_masking_adjacent[i] = 1 for i ∈ [circuit_size - MAX_RANDOM - 1, circuit_size) +``` + +The disable condition uses a multiplicative form to handle the overlap at the last non-masking row: + +```cpp +not_last_or_masking = (lagrange_real_last - 1) * (lagrange_ordered_masking_adjacent - 1) +// = 0 (disabled) when either is 1 +// = 1 (enabled) otherwise +``` + +`lagrange_real_last` marks position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1`, which +is the last non-masking row where we enforce `ordered_value = 2^14 - 1`. + +**Files:** `translator_delta_range_constraint_relation.hpp`, `..._impl.hpp` + +### 4. `lagrange_masking_adjacent`: Scattered Masking + Adjacent Rows + +`lagrange_masking_adjacent` extends `lagrange_masking` by also being 1 at the row immediately +preceding each block's masking region. For each block `j`: + +``` +Active at: {j*MINI + (MINI - NUM_MASKED - 1)} ∪ {j*MINI + k : k ∈ [MINI - NUM_MASKED, MINI)} +``` + +This is a precomputed polynomial included in the VK. It is available for potential future use +in constraints that need to disable checks at or near scattered masking boundaries. + +### 5. Ordered Polynomial Construction + +**File:** `translator_proving_key.cpp` — `compute_translator_range_constraint_ordered_polynomials()` + +Ordered polynomials contain sorted values from the concatenated range constraint wires plus +"step" padding values. The structure: + +- Positions `[1, circuit_size - MAX_RANDOM_VALUES_PER_ORDERED)`: sorted values (non-descending) +- Position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1`: maximum value `2^14 - 1` + (enforced by `lagrange_real_last`) +- Positions `[circuit_size - MAX_RANDOM_VALUES_PER_ORDERED, circuit_size)`: random masking values +- Position 0: virtual zero (start_index = 1) + +Values from each concatenation group are packed tightly (excluding masking rows), sorted, then +placed into ordered polynomials. Overflow from the first 4 groups goes into `ordered_range_constraints_4`. + +### 6. Random Value Distribution + +**File:** `translator_proving_key.cpp` — `split_concatenated_random_coefficients_to_ordered()` + +Random masking values are extracted from the scattered positions of the first 4 concatenated +range constraint polynomials (the ones in the permutation numerator) and distributed to the 5 +ordered polynomials at the **contiguous** end positions. Each ordered polynomial gets +approximately `total_random / 5` values. + +### 7. Flavor: Entity Classes and Commitment Structure + +**File:** `translator_flavor.hpp` + +- `ConcatenatedPolynomials`: 5 concatenated polys (4 range + 1 non-range) +- `WitnessEntities` includes `ConcatenatedPolynomials` and provides: + - `get_non_opqueue_wires_and_ordered_range_constraints()`: returns 5 concatenated + 5 ordered = 10 + (these are committed to by the prover) + - `get_unshifted_without_concatenated()`: op(1) + ordered(5) + z_perm(1) = 7 witness entries + for standard PCS batching + - `get_to_be_shifted()`: op_queue(3) + ordered(5) + z_perm(1) = 9 shifted-by-1 entries for PCS + - `get_groups_to_be_concatenated()`: 5 groups of 16 wires each +- `ShiftedEntities` provides: + - `get_pcs_shifted()`: op(3) + ordered(5) + z_perm(1) = 9 shifted evaluations for PCS + - `get_groups_to_be_concatenated_shifted()`: 5 groups of 16 shifted wires each +- `AllEntities::get_unshifted_without_concatenated()`: masking(1) + ordered_extra(1) + witness(7) = 9 + entries for PCS (12 computable precomputed excluded) + +### 8. Prover: Commitment + PCS Rounds + +**File:** `translator_prover.cpp` + +- `execute_wire_and_sorted_constraints_commitments_round()`: commits to 10 polynomials + (5 concatenated + 5 ordered) instead of 82 (77 wires + 5 ordered). +- `execute_pcs_rounds()`: uses `PolynomialBatcher` with: + - Unshifted: `get_unshifted_without_concatenated()` (9) + concatenated (5) = 14 + - Shifted: `get_to_be_shifted()` (9) + concatenated (5) = 14 + - Concatenated polys appear in both unshifted and shifted batches (they need both claims) + +### 9. Verifier: Concatenation Consistency Check + PCS + +**File:** `translator_verifier.cpp` + +The verifier reconstructs concatenated evaluations (both unshifted and shifted) from individual +wire evaluations using Lagrange decomposition over the top 4 sumcheck challenges: + +``` +concat_i(u) = [1/L_0(u_top)] · Σ_j L_j(u_top) · wire_j(u) +``` + +where `L_0(u_top) = Π_{i=0}^3 (1 - u_top[i])` and `L_j` is the Lagrange basis over 4 bits. + +The shifted version uses the same formula with shifted wire evaluations (valid because `f_j[0] = 0`). + +Claims are batched without `InterleavedBatch`: +- Unshifted: standard unshifted (9) + concatenated (5) = 14 +- Shifted: standard shifted (9) + concatenated shifts (5) = 14 + +--- + +## Part 2: Computable Precomputed Selectors + +### Precomputed Entities (13 total) + +| # | Selector | Computable? | Structure | +|---|---|---|---| +| 0 | `ordered_extra_range_constraints_numerator` | No | Non-structured data | +| 1 | `lagrange_first` | Yes | Single point: row 0 | +| 2 | `lagrange_last` | Yes | Single point: row N-1 | +| 3 | `lagrange_odd_in_minicircuit` | Yes | Alternating rows in block 0 | +| 4 | `lagrange_even_in_minicircuit` | Yes | Alternating rows in block 0 | +| 5 | `lagrange_result_row` | Yes | Single point: row RESULT_ROW | +| 6 | `lagrange_last_in_minicircuit` | Yes | Single point | +| 7 | `lagrange_masking` | Yes | Subcube: bits m..M-1 = 1 | +| 8 | `lagrange_mini_masking` | Yes | Two disjoint blocks in block 0 | +| 9 | `lagrange_real_last` | Yes | Single point: row N-MAX_RANDOM-1 | +| 10 | `lagrange_masking_adjacent` | Yes | Near-subcube: masking ∪ adjacent rows | +| 11 | `lagrange_ordered_masking` | Yes | Subcube: bits R..D-1 = 1 | +| 12 | `lagrange_ordered_masking_adjacent` | Yes | Near-subcube: ordered_masking ∪ 1 row | + +All 12 computable selectors are structured multilinear polynomials whose support forms subcubes +or small unions of subcubes. Their evaluations at the sumcheck challenge can be computed in O(d) +field operations. + +**File:** `translator_selectors.hpp` — `TranslatorSelectorEvaluations::compute()` + +### Soundness Argument + +Precomputed polynomials are deterministic (fixed by the VK). Their evaluations at any point are +publicly computable. PCS verification of precomputed commitments is redundant — Sumcheck's +relation check already ensures consistency between claimed evaluations and the actual polynomial +identities. Any forgery of witness evaluations would still be caught by the witness PCS. + +### Implementation + +**Flavor constants** (`translator_flavor.hpp`): +```cpp +static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 12; +static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NUM_MASKING_POLYNOMIALS + 1; // = 2 +static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; // = 180 +``` + +**Prover** (`sumcheck.hpp`): sends `NUM_SENT_EVALUATIONS` instead of `NUM_ALL_ENTITIES`: +```cpp +if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { + auto filtered = Flavor::get_all_without_computable_precomputed(multivariate_evaluations); + transcript->send_to_verifier("Sumcheck:evaluations", filtered); +} +``` + +**Verifier** (`sumcheck.hpp`): receives fewer evals and computes the rest locally: +```cpp +if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { + auto transcript_evals = transcript->template receive_from_prover< + std::array>("Sumcheck:evaluations"); + Flavor::set_all_without_computable_precomputed(purported_evaluations, transcript_evals); + Flavor::compute_computable_precomputed(purported_evaluations, multivariate_challenge); +} +``` + +**PCS**: `get_unshifted_without_concatenated()` at the `AllEntities` level returns 9 entries +(masking + ordered_extra + witness), excluding all 12 computable precomputed. This means 12 +fewer scalar multiplications in the verifier's batch opening check. + +--- + +## Summary of Changes from Interleaving + +| Component | Change | +|---|---| +| `lagrange_masking` | Scattered across 16 blocks (end of each block) | +| New: `lagrange_masking_adjacent` | Precomputed = masking ∪ row-before-masking (scattered) | +| New: `lagrange_ordered_masking` | Precomputed = contiguous at end (for ordered polys) | +| New: `lagrange_ordered_masking_adjacent` | Contiguous masking + 1 adjacent row | +| `lagrange_real_last` | Position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1` | +| Permutation relation | Dual masking selectors (scattered for numerator, contiguous for denominator) | +| Delta range constraint | Uses `lagrange_ordered_masking_adjacent` (contiguous) | +| Ordered polynomial construction | Contiguous masking at end; sorted values packed before | +| `compute_interleaved_polynomials()` → `compute_concatenated_polynomials()` | MSB-lane concatenation | +| `split_interleaved_..._to_ordered()` → `split_concatenated_..._to_ordered()` | Extract from scattered, place contiguous | +| Flavor entity classes | `ConcatenatedPolynomials`, null-padded group 4, dual getters | +| Prover commitment round | 10 commitments (5 concat + 5 ordered) | +| Prover PCS round | 14 unshifted + 14 shifted (standard + concatenated) | +| Verifier PCS | Lagrange reconstruction of concat evals; no InterleavedBatch | +| Sumcheck (prover) | Sends `NUM_SENT_EVALUATIONS` (12 computable precomputed excluded) | +| Sumcheck (verifier) | Receives fewer evals; computes 12 precomputed locally | +| PCS batching | 12 fewer MSMs (computable precomputed excluded) | + +## Commitment Count Summary + +| | Before (interleaving) | After (concatenation) | +|---|---|---| +| Range constraint wires | 64 | 0 (in 4 concat groups) | +| Non-range main wires | 13 | 0 (in 1 concat group) | +| Concatenated commitments | 0 | 5 | +| Ordered range constraints | 5 | 5 | +| z_perm | 1 | 1 | +| **Total** | **83** | **11** | + +## Entity Count Summary + +| | Count | Notes | +|---|---|---| +| `NUM_ALL_ENTITIES` | 192 | Masking(1) + Precomputed(13) + Witness(92) + Shifted(86) | +| `NUM_SENT_EVALUATIONS` | 180 | `NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED` | +| `NUM_PRECOMPUTED_ENTITIES` | 13 | 1 non-computable + 12 computable | +| Unshifted for PCS | 9 | Masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) | +| Shifted for PCS | 9 | op_queue(3) + ordered(5) + z_perm(1) | +| Concatenated (both claims) | 5 | Appear in both unshifted and shifted PCS batches | + +## Critical Files + +| File | Changes | +|---|---| +| `translator_vm/translator_selectors.hpp` | `TranslatorSelectorEvaluations`: computes 12 selectors + `populate()` | +| `translator_vm/translator_flavor.hpp` | Entity classes, constants, static methods, `PROOF_LENGTH` | +| `translator_vm/translator_proving_key.hpp` | Concatenation/ordering parameters | +| `translator_vm/translator_proving_key.cpp` | Concatenation, ordered polys, Lagrange polys, random distribution | +| `translator_vm/translator_prover.cpp` | Commitment round (10 polys), PCS round (14+14) | +| `translator_vm/translator_verifier.cpp` | Lagrange reconstruction, dual claim batching | +| `stdlib/translator_vm_verifier/translator_recursive_flavor.hpp` | Forwarded constants and methods | +| `sumcheck/sumcheck.hpp` | Prover: filtered eval send; Verifier: filtered receive + compute | +| `relations/translator_vm/translator_permutation_relation*.hpp` | Dual masking selectors | +| `relations/translator_vm/translator_delta_range_constraint_relation*.hpp` | `lagrange_ordered_masking_adjacent` | diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp index b20130e3d98d..75903a2b286e 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp @@ -22,50 +22,62 @@ struct TranslatorHardcodedVKAndHash { using FF = curve::BN254::ScalarField; // Precomputed VK hash (hash of all commitments below). Update via TranslatorTests::FixedVK if commitments change. - static FF vk_hash() { return FF(uint256_t("0x1398de71c1c28f7843039b1f71ffb3dbb9fedd7c01b3f590f4205449c7813dcb")); } + static FF vk_hash() { return FF(uint256_t("0x0f60048d1e307d650b93632471d6bd544f4c399c6f9caa812e49d31c788333b5")); } static std::vector get_all() { return { - // ordered_extra_range_constraints_numerator + // ordered_extra_range_constraints_numerator (column 0) Commitment(uint256_t("0x1ddbff0e1f0999f88ffa959e9505e5f489b57d6a7937c17a4d69fc871d5e9221"), uint256_t("0x14149055853422bf016065386e8ea0ffb9425b454048e1cd14cfdca457aa7e17")), - // lagrange_first + // lagrange_first (column 1) Commitment(uint256_t("0x0000000000000000000000000000000000000000000000000000000000000001"), uint256_t("0x0000000000000000000000000000000000000000000000000000000000000002")), - // 1) lagrange_last (updated) + // lagrange_last (column 2) Commitment(uint256_t("0x0b91db670af249ea43bf35a192f139f7d7506fbc37fbeb19daf9175a52bd37d1"), uint256_t("0x249db0a866cc29c2490881d2eeb1ac6ae30a5902bc272f02695953997b6d2e2e")), - // 2) lagrange_odd_in_minicircuit (updated) + // lagrange_odd_in_minicircuit (column 3) Commitment(uint256_t("0x074416f297ac484a550b0c1a03e2fa105ec917c2a682756e3d26b22258cd2b97"), uint256_t("0x1ca1c180bc48235518bf4ee2d7511bd21efc121581c5d2cc1fb5a30645e23dcd")), - // 3) lagrange_even_in_minicircuit (updated) + // lagrange_even_in_minicircuit (column 4) Commitment(uint256_t("0x0e592a2a12aef6034b950f4f74ea34efbc8989333c100ea6ff49d816f34f4b96"), uint256_t("0x29839134d945c4586b216ea4e0baeafcce798c8ed7229efbee2827eb542392b7")), - // lagrange_result_row + // lagrange_result_row (column 5) Commitment(uint256_t("0x2c4e3788efe883d91b423233818890599ad233cecf88be80debce9e5ac727e29"), uint256_t("0x0d79fb9abbbde1fdb4c53d148cfcf083e84f3153e6817f5a19f0560e831dda8f")), - // 4) lagrange_last_in_minicircuit (updated) + // lagrange_last_in_minicircuit (column 6) Commitment(uint256_t("0x19cce0459cdb5d34dc78edfc65a309f7b5f2e3f2143bb69f0ac7e77ee653d1a5"), uint256_t("0x11b8ced4eb4fd3db1b68e7b439f33a28a3c771d6b9a405e26ed63957b8b4ac95")), - // 5) lagrange_masking (updated) - Commitment(uint256_t("0x262468705c0bba548f33898a45c9981223419e337f5020c9667237cc92ecd332"), - uint256_t("0x2a0672531c488dc9f16dd660b3554ac51539fe8817238051b7ea1a6133a8bc88")), + // lagrange_masking (column 7) - scattered across 16 blocks + Commitment(uint256_t("0x0d88d06b234e200005eee35f8e3553a1a2a71726a87c698842b6bf8cee9747c6"), + uint256_t("0x124627de66fbf168845c3cd449510a932387f8839318828cab3e7d93aceeee6b")), - // 6) lagrange_mini_masking (updated) + // lagrange_mini_masking (column 8) Commitment(uint256_t("0x2006473957740f821233b54dbf2aa5630e66478691c26168344b34096c040ad0"), uint256_t("0x1246f1a3d5140bfeb529ddb7f016b9c6604bec72dfcf4b1fc3f11b036b38d46f")), - // 7) lagrange_real_last (updated) + // lagrange_real_last (column 9) - last position with sorted values in ordered polynomials Commitment(uint256_t("0x1e6ee0411de077adf17e86510d34d319b1d26dfb0c16494ce1f6e2e3bf093527"), uint256_t("0x2685bec825c699d51d363a516cef34af71c221d7f1c6868850fae8197efb02ca")), + + // lagrange_masking_adjacent (column 10) - masking rows + adjacent rows + Commitment(uint256_t("0x056fbeb16e526177b83afa9461be6d2959c0192f92b504f22d3b498dd1939bf0"), + uint256_t("0x046e68fe26c9c330388b3821b762229f7355e12055f22d264e4de55aa4b128d1")), + + // lagrange_ordered_masking (column 11) - contiguous at end + Commitment(uint256_t("0x262468705c0bba548f33898a45c9981223419e337f5020c9667237cc92ecd332"), + uint256_t("0x2a0672531c488dc9f16dd660b3554ac51539fe8817238051b7ea1a6133a8bc88")), + + // lagrange_ordered_masking_adjacent (column 12) - contiguous at end + adjacent + Commitment(uint256_t("0x26c2371d8a42ea30841866fde29b1ce2542bd018e25a2f2ba60375e2873b7315"), + uint256_t("0x19819e13160053cbce389629669ae3279ec159341989d71d1753a427ad748ae9")), }; } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index f05232e24036..a49ce5c4f322 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -25,6 +25,7 @@ #include "barretenberg/relations/translator_vm/translator_permutation_relation.hpp" #include "barretenberg/translator_vm/translator_circuit_builder.hpp" #include "barretenberg/translator_vm/translator_fixed_vk.hpp" +#include "barretenberg/translator_vm/translator_selectors.hpp" namespace bb { @@ -58,28 +59,35 @@ class TranslatorFlavor { // The number of entities added for ZK (gemini_masking_poly) static constexpr size_t NUM_MASKING_POLYNOMIALS = 1; + // 12 of 13 precomputed selectors are structured multilinear polynomials whose evaluations at the + // sumcheck challenge can be computed in O(d) field ops (all except ordered_extra_range_constraints_numerator). + static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 12; + // Offset in AllEntities::get_all() where computable precomputed begin + // = MaskingEntities(1) + ordered_extra(1) = 2 + static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NUM_MASKING_POLYNOMIALS + 1; + // None of this parameters can be changed // Number of wires representing the op queue whose commitments are going to be checked against those from the // final round of merge static constexpr size_t NUM_OP_QUEUE_WIRES = 4; - // How many mini_circuit_size polynomials are interleaved in one interleaved_* - static constexpr size_t INTERLEAVING_GROUP_SIZE = 16; + // How many mini_circuit_size polynomials are concatenated in one concatenated poly + static constexpr size_t CONCATENATION_GROUP_SIZE = 16; // The fixed log size of Translator circuit determining the size most polynomials (except the ones // involved in the interleaving subprotocol). It should be determined by the size of the EccOpQueue. static constexpr size_t LOG_MINI_CIRCUIT_SIZE = CONST_TRANSLATOR_MINI_CIRCUIT_LOG_SIZE; - // Log of size of interleaved_* and ordered_* polynomials - static constexpr size_t CONST_TRANSLATOR_LOG_N = LOG_MINI_CIRCUIT_SIZE + numeric::get_msb(INTERLEAVING_GROUP_SIZE); + // Log of size of concatenated and ordered polynomials + static constexpr size_t CONST_TRANSLATOR_LOG_N = LOG_MINI_CIRCUIT_SIZE + numeric::get_msb(CONCATENATION_GROUP_SIZE); // For the translator, the genuine and virtual log circuit size coincide static constexpr size_t VIRTUAL_LOG_N = CONST_TRANSLATOR_LOG_N; static constexpr size_t MINI_CIRCUIT_SIZE = 1UL << LOG_MINI_CIRCUIT_SIZE; - // The number of interleaved_* wires - static constexpr size_t NUM_INTERLEAVED_WIRES = 4; + // The number of concatenated polynomials (4 range constraint groups + 1 non-range group) + static constexpr size_t NUM_CONCATENATED_POLYS = 5; // The step in the DeltaRangeConstraint relation i.e. the maximum difference between two consecutive values static constexpr size_t SORT_STEP = 3; @@ -96,6 +104,11 @@ class TranslatorFlavor { // rows. static constexpr size_t NUM_MASKED_ROWS_END = CircuitBuilder::NUM_RANDOM_OPS_END * 2; + // Maximum number of random masking values any ordered polynomial will have at the end + // Total scattered masking positions = CONCATENATION_GROUP_SIZE * NUM_MASKED_ROWS_END + // This is the space reserved at the end of each ordered polynomial (contiguous) + static constexpr size_t MAX_RANDOM_VALUES_PER_ORDERED = CONCATENATION_GROUP_SIZE * NUM_MASKED_ROWS_END; + // Index at which random coefficients start (for zk) within Translator trace static constexpr size_t RANDOMNESS_START = 2 * CircuitBuilder::NUM_NO_OPS_START; @@ -105,7 +118,7 @@ class TranslatorFlavor { // The number of "steps" inserted in ordered range constraint polynomials to ensure that the // DeltaRangeConstraintRelation can always be satisfied if the polynomial is within the appropriate range. static constexpr size_t SORTED_STEPS_COUNT = ((1 << MICRO_LIMB_BITS) / SORT_STEP) + 1; - static_assert(SORTED_STEPS_COUNT * (NUM_INTERLEAVED_WIRES + 1) < MINI_CIRCUIT_SIZE * INTERLEAVING_GROUP_SIZE, + static_assert(SORTED_STEPS_COUNT * (NUM_CONCATENATED_POLYS + 1) < MINI_CIRCUIT_SIZE * CONCATENATION_GROUP_SIZE, "Translator circuit is too small for defined number of steps " "(TranslatorDeltaRangeConstraintRelation). "); @@ -126,48 +139,47 @@ class TranslatorFlavor { // The number of multivariate polynomials on which a sumcheck prover sumcheck operates (including shifts). We // often need containers of this size to hold related data, so we choose a name more agnostic than // `NUM_POLYNOMIALS`. Note: this number does not include the individual sorted list polynomials. - // Includes gemini_masking_poly for ZK (NUM_ALL_ENTITIES = 187 + NUM_MASKING_POLYNOMIALS) - static constexpr size_t NUM_ALL_ENTITIES = 188; + // = MaskingEntities(1) + Precomputed(13) + Witness(92) + Shifted(86) = 192 + static constexpr size_t NUM_ALL_ENTITIES = 192; + + // Number of evaluations sent in proof (all minus computable precomputed) + static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; // The number of polynomials precomputed to describe a circuit and to aid a prover in constructing a satisfying // assignment of witnesses. We again choose a neutral name. - static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 10; + static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 13; // The total number of witness entities not including shifts. - // Includes gemini_masking_poly for ZK (NUM_WITNESS_ENTITIES = 90 + NUM_MASKING_POLYNOMIALS) - static constexpr size_t NUM_WITNESS_ENTITIES = 91; + // = WireNonshifted(1) + WireToBeShifted(80) + OrderedRange(5) + Derived(1) + Concatenated(5) = 92 + static constexpr size_t NUM_WITNESS_ENTITIES = 92; static constexpr size_t NUM_WIRES_NON_SHIFTED = 1; // only the opcode wire static constexpr size_t NUM_SHIFTED_ENTITIES = 86; - // Total number of wires to be interleaved - static constexpr size_t NUM_INTERLEAVED = NUM_INTERLEAVED_WIRES * INTERLEAVING_GROUP_SIZE; + // Total number of minicircuit wires across all concatenation groups (5 groups × 16 wires each) + static constexpr size_t NUM_CONCATENATED_WIRES = NUM_CONCATENATED_POLYS * CONCATENATION_GROUP_SIZE; - // Number of elements in WireToBeShiftedWithoutConcatenated - static constexpr size_t NUM_WIRES_TO_BE_SHIFTED_WITHOUT_INTERLEAVED = 16; + // Number of witness polynomials in get_unshifted_without_concatenated() (witness portion only) + // = WireNonshifted(1) + OrderedRange(5) + Derived(1) = 7 + static constexpr size_t NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED = 7; - // The index of the first unshifted witness that is going to be shifted when AllEntities are partitioned into - // get_unshifted_without_interleaved(), get_to_be_shifted(), and get_groups_to_be_interleaved() + // Number of to-be-shifted polynomials for PCS + // = OpQueueWiresToBeShifted(3) + OrderedRange(5) + Derived(1) = 9 + static constexpr size_t NUM_TO_BE_SHIFTED = 9; + + // The index of the first unshifted witness that is going to be shifted when AllEntities are partitioned static constexpr size_t TO_BE_SHIFTED_WITNESSES_START = NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED; // The index of the shift of the first to be shifted witness static constexpr size_t SHIFTED_WITNESSES_START = NUM_SHIFTED_ENTITIES + TO_BE_SHIFTED_WITNESSES_START; - // The index of the first unshifted witness that is contained in the groups to be interleaved, when AllEntities are - // partitioned into get_unshifted_without_interleaved(), get_to_be_shifted(), and get_groups_to_be_interleaved() - static constexpr size_t TO_BE_INTERLEAVED_START = - NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED + NUM_WIRES_TO_BE_SHIFTED_WITHOUT_INTERLEAVED; - - // The index of the first interleaving groups element inside AllEntities - static constexpr size_t INTERLEAVED_START = NUM_SHIFTED_ENTITIES + SHIFTED_WITNESSES_START; - - // A container to be fed to ShpleminiVerifier to avoid redundant scalar muls - static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = - RepeatedCommitmentsData(NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED, - NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED + NUM_SHIFTED_ENTITIES, - NUM_SHIFTED_ENTITIES, - TO_BE_INTERLEAVED_START, - INTERLEAVED_START, - NUM_INTERLEAVED); + // A container to be fed to ShpleminiVerifier to avoid redundant scalar muls. + // Identifies commitments that appear in both the unshifted and shifted batches: + // Unshifted batch (14): masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concat(5) + // Shifted batch (14): op_queue(3) + ordered(5) + z_perm(1) + concat(5) + // Range 1: ordered(5) + z_perm(1) — stored indices 2..7 (unshifted) ↔ 16..21 (shifted) + // Range 2: concatenated(5) — stored indices 8..12 (unshifted) ↔ 22..26 (shifted) + // (Stored indices are 0-based after ZK offset; offset=2 accounts for Q_commitment + gemini_masking_poly) + static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = RepeatedCommitmentsData(2, 16, 6, 8, 22, 5); using GrandProductRelations = std::tuple>; // define the tuple of Relations that comprise the Sumcheck relation @@ -190,8 +202,7 @@ class TranslatorFlavor { // random polynomial e.g. For \sum(x) [A(x) * B(x) + C(x)] * PowZeta(X), relation length = 2 and random relation // length = 3. // The degree has to be further increased because the relation is multiplied by the Row Disabling Polynomial - // total degree = sumcheck relation degree + 1 (PowZeta) + 1 (Lagrange) - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1612): this should be + 1 (instead of + 2) + // total degree = sumcheck relation degree + 1 (PowZeta) + 1 (masking) static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 2; static_assert(BATCHED_RELATION_PARTIAL_LENGTH == Curve::LIBRA_UNIVARIATES_LENGTH, "LIBRA_UNIVARIATES_LENGTH must be equal to Translator::BATCHED_RELATION_PARTIAL_LENGTH"); @@ -202,15 +213,20 @@ class TranslatorFlavor { static constexpr size_t num_frs_fq = FrCodec::calc_num_fields(); // Proof length formula + // Commitments sent: 5 concatenated + 5 ordered = 10 (was 77+5=82) + // No more Gemini P_pos/P_neg evaluations (no interleaved batching) + static constexpr size_t NUM_COMMITMENTS_IN_PROOF = + NUM_CONCATENATED_POLYS + 5 /*ordered*/; // = 10 (not counting gemini masking, z_perm, op queue) static constexpr size_t PROOF_LENGTH = - /* 1. NUM_WITNESS_ENTITIES commitments (minus gemini_masking_poly sent separately, z_perm sent separately, - and 4 op queue wires passed by merge protocol) */ - ((NUM_WITNESS_ENTITIES - 3 - TranslatorFlavor::NUM_OP_QUEUE_WIRES) * num_frs_comm) + - /* 2. Libra concatenation commitment*/ (num_frs_comm) + - /* 3. Libra sum */ (num_frs_fr) + + /* 1. Gemini masking poly commitment */ (num_frs_comm) + + /* 2. Wire commitments: concatenated(5) + ordered(5) = 10 */ + (NUM_COMMITMENTS_IN_PROOF * num_frs_comm) + + /* 3. Z_PERM commitment */ (num_frs_comm) + + /* 4. Libra concatenation commitment*/ (num_frs_comm) + + /* 5. Libra sum */ (num_frs_fr) + /* 4. CONST_TRANSLATOR_LOG_N sumcheck univariates */ (CONST_TRANSLATOR_LOG_N * BATCHED_RELATION_PARTIAL_LENGTH * num_frs_fr) + - /* 5. NUM_ALL_ENTITIES sumcheck evaluations*/ (NUM_ALL_ENTITIES * num_frs_fr) + + /* 5. sumcheck evaluations (12 computable precomputed excluded) */ (NUM_SENT_EVALUATIONS * num_frs_fr) + /* 6. Libra claimed evaluation */ (num_frs_fr) + /* 7. Libra grand sum commitment */ (num_frs_comm) + /* 8. Libra quotient commitment */ (num_frs_comm) + @@ -218,11 +234,9 @@ class TranslatorFlavor { ((CONST_TRANSLATOR_LOG_N - 1) * num_frs_comm) + /* 10. CONST_TRANSLATOR_LOG_N Gemini a evaluations */ (CONST_TRANSLATOR_LOG_N * num_frs_fr) + - /* 11. Gemini P pos evaluation */ (num_frs_fr) + - /* 12. Gemini P neg evaluation */ (num_frs_fr) + - /* 13. NUM_SMALL_IPA_EVALUATIONS libra evals */ (NUM_SMALL_IPA_EVALUATIONS * num_frs_fr) + - /* 14. Shplonk Q commitment */ (num_frs_comm) + - /* 15. KZG W commitment */ (num_frs_comm); + /* 11. NUM_SMALL_IPA_EVALUATIONS libra evals */ (NUM_SMALL_IPA_EVALUATIONS * num_frs_fr) + + /* 12. Shplonk Q commitment */ (num_frs_comm) + + /* 13. KZG W commitment */ (num_frs_comm); /** * @brief A base class labelling precomputed entities and (ordered) subsets of interest. @@ -242,37 +256,49 @@ class TranslatorFlavor { lagrange_last_in_minicircuit, // column 6 lagrange_masking, // column 7 lagrange_mini_masking, // column 8 - lagrange_real_last); // column 9 + lagrange_real_last, // column 9 + lagrange_masking_adjacent, // column 10 + lagrange_ordered_masking, // column 11 + lagrange_ordered_masking_adjacent); // column 12 }; - template class InterleavedRangeConstraints { + template class ConcatenatedPolynomials { + public: + DEFINE_FLAVOR_MEMBERS(DataType, + concatenated_range_constraints_0, // column 0 + concatenated_range_constraints_1, // column 1 + concatenated_range_constraints_2, // column 2 + concatenated_range_constraints_3, // column 3 + concatenated_non_range) // column 4 + }; + /** + * @brief Non-range main wires (13 wires that go into concatenated group 4) + */ + template class NonRangeMainWires { public: DEFINE_FLAVOR_MEMBERS(DataType, - interleaved_range_constraints_0, // column 0 - interleaved_range_constraints_1, // column 1 - interleaved_range_constraints_2, // column 2 - interleaved_range_constraints_3) // column 3 + p_x_low_limbs, // column 0 + p_x_high_limbs, // column 1 + p_y_low_limbs, // column 2 + p_y_high_limbs, // column 3 + z_low_limbs, // column 4 + z_high_limbs, // column 5 + accumulators_binary_limbs_0, // column 6 + accumulators_binary_limbs_1, // column 7 + accumulators_binary_limbs_2, // column 8 + accumulators_binary_limbs_3, // column 9 + quotient_low_binary_limbs, // column 10 + quotient_high_binary_limbs, // column 11 + relation_wide_limbs) // column 12 }; + /** - * @brief Non-op-queue wires that need to be shifted + * @brief Range constraint wires (64 wires that go into concatenated groups 0-3) */ - template class NonOpQueueWiresToBeShiftedEntities { + template class RangeConstraintWires { public: DEFINE_FLAVOR_MEMBERS(DataType, - p_x_low_limbs, // column 0 - p_x_high_limbs, // column 4 - p_y_low_limbs, // column 5 - p_y_high_limbs, // column 6 - z_low_limbs, // column 7 - z_high_limbs, // column 8 - accumulators_binary_limbs_0, // column 9 - accumulators_binary_limbs_1, // column 10 - accumulators_binary_limbs_2, // column 11 - accumulators_binary_limbs_3, // column 12 - quotient_low_binary_limbs, // column 13 - quotient_high_binary_limbs, // column 14 - relation_wide_limbs, // column 15 - p_x_low_limbs_range_constraint_0, // column 16 + p_x_low_limbs_range_constraint_0, // column 0 p_x_low_limbs_range_constraint_1, // column 17 p_x_low_limbs_range_constraint_2, // column 18 p_x_low_limbs_range_constraint_3, // column 19 @@ -334,8 +360,18 @@ class TranslatorFlavor { quotient_high_limbs_range_constraint_tail, // column 75 relation_wide_limbs_range_constraint_0, // column 76 relation_wide_limbs_range_constraint_1, // column 77 - relation_wide_limbs_range_constraint_2, // column 78 - relation_wide_limbs_range_constraint_3); // column 79 + relation_wide_limbs_range_constraint_2, // column 62 + relation_wide_limbs_range_constraint_3); // column 63 + }; + + /** + * @brief All non-op-queue wires that need to be shifted (composed of non-range main + range constraint) + */ + template + class NonOpQueueWiresToBeShiftedEntities : public NonRangeMainWires, + public RangeConstraintWires { + public: + DEFINE_COMPOUND_GET_ALL(NonRangeMainWires, RangeConstraintWires) }; /** @@ -402,13 +438,13 @@ class TranslatorFlavor { public WireToBeShiftedEntities, public OrderedRangeConstraints, public DerivedWitnessEntities, - public InterleavedRangeConstraints { + public ConcatenatedPolynomials { public: DEFINE_COMPOUND_GET_ALL(WireNonshiftedEntities, WireToBeShiftedEntities, OrderedRangeConstraints, DerivedWitnessEntities, - InterleavedRangeConstraints) + ConcatenatedPolynomials) /** * @brief Entities constructed from circuit data. @@ -440,21 +476,24 @@ class TranslatorFlavor { }; /** - * @brief Non-op-queue wires and ordered range constraints (committed to by translator prover) + * @brief Concatenated polynomials and ordered range constraints (committed to by translator prover). + * @details 5 concatenated + 5 ordered = 10 commitments. */ auto get_non_opqueue_wires_and_ordered_range_constraints() { - return concatenate(NonOpQueueWiresToBeShiftedEntities::get_all(), + return concatenate(ConcatenatedPolynomials::get_all(), OrderedRangeConstraints::get_all()); }; /** - * @brief Witness Entities on which Shplemini operates in the default manner. + * @brief Witness entities on which Shplemini operates in the default manner (excludes concatenated polys + * and the 77 minicircuit wires that are authenticated via concatenated commitments). + * @details At AllEntities level: Masking(1) + ordered_extra(1) + WireNonshifted/op(1) + OrderedRange(5) + * + Derived/z_perm(1) = 9 (12 computable precomputed excluded from PCS batching) */ - auto get_unshifted_without_interleaved() + auto get_unshifted_without_concatenated() { return concatenate(WireNonshiftedEntities::get_all(), - WireToBeShiftedEntities::get_all(), OrderedRangeConstraints::get_all(), DerivedWitnessEntities::get_all()); } @@ -465,10 +504,25 @@ class TranslatorFlavor { WireToBeShiftedEntities::get_all(), OrderedRangeConstraints::get_all(), DerivedWitnessEntities::get_all(), - InterleavedRangeConstraints::get_all()); + ConcatenatedPolynomials::get_all()); } + /** + * @brief To-be-shifted polys for PCS: excludes 77 minicircuit wires (authenticated via concatenation). + * @details OpQueueWiresToBeShifted(3) + OrderedRangeConstraints(5) + DerivedWitness(1) = 9 + */ auto get_to_be_shifted() + { + return concatenate(OpQueueWiresToBeShiftedEntities::get_all(), + OrderedRangeConstraints::get_all(), + DerivedWitnessEntities::get_all()); + }; + + /** + * @brief All polys that need shifted views for Sumcheck (corresponds 1:1 with ShiftedEntities). + * @details WireToBeShifted(80) + OrderedRangeConstraints(5) + DerivedWitness(1) = 86 + */ + auto get_all_to_be_shifted() { return concatenate(WireToBeShiftedEntities::get_all(), OrderedRangeConstraints::get_all(), @@ -476,16 +530,20 @@ class TranslatorFlavor { }; /** - * @brief Get the entities constructed by interleaving. + * @brief Get the concatenated polynomials. */ - auto get_interleaved() { return InterleavedRangeConstraints::get_all(); } + auto get_concatenated() { return ConcatenatedPolynomials::get_all(); } /** - * @brief Get the entities interleaved for the permutation relation. - * + * @brief Get all minicircuit wire polynomials that are concatenated into the 5 concatenated polys. + * @details Returns 5 groups of 16 wires each. Groups 0-3 are range constraint wires; group 4 is + * 13 non-range main wires + 3 null padding slots (nullptr). */ - std::vector> get_groups_to_be_interleaved() + std::vector> get_groups_to_be_concatenated() { + // Static zero value for null padding slots (evaluations use 0, polynomials use zero poly) + static DataType zero_value = DataType(0); + return { { this->p_x_low_limbs_range_constraint_0, @@ -559,6 +617,24 @@ class TranslatorFlavor { this->relation_wide_limbs_range_constraint_2, this->relation_wide_limbs_range_constraint_3, }, + { + this->p_x_low_limbs, + this->p_x_high_limbs, + this->p_y_low_limbs, + this->p_y_high_limbs, + this->z_low_limbs, + this->z_high_limbs, + this->accumulators_binary_limbs_0, + this->accumulators_binary_limbs_1, + this->accumulators_binary_limbs_2, + this->accumulators_binary_limbs_3, + this->quotient_low_binary_limbs, + this->quotient_high_binary_limbs, + this->relation_wide_limbs, + zero_value, // null padding slot 0 + zero_value, // null padding slot 1 + zero_value, // null padding slot 2 + }, }; }; }; @@ -655,6 +731,129 @@ class TranslatorFlavor { ordered_range_constraints_3_shift, // column 83 ordered_range_constraints_4_shift, // column 84 z_perm_shift) // column 85 + + /** + * @brief PCS-level shifted evaluations matching get_to_be_shifted(): + * op_queue(3) + ordered_range(5) + z_perm(1) = 9 + */ + auto get_pcs_shifted() + { + return RefArray{ x_lo_y_hi_shift, + x_hi_z_1_shift, + y_lo_z_2_shift, + ordered_range_constraints_0_shift, + ordered_range_constraints_1_shift, + ordered_range_constraints_2_shift, + ordered_range_constraints_3_shift, + ordered_range_constraints_4_shift, + z_perm_shift }; + } + + /** + * @brief Get the shifted versions of minicircuit wires organized into 5 concatenation groups. + * @details Returns 5 groups of 16 shifted wires each, mirroring the structure of + * get_groups_to_be_concatenated(). Groups 0-3 are range constraint wires; group 4 is + * 13 non-range main wires (zero values used for null padding). + */ + std::vector> get_groups_to_be_concatenated_shifted() + { + // For null padding slots, we use DataType(0) which works for FF evaluations. + // The verifier only operates on evaluations, not polynomials. + static DataType zero_value = DataType(0); + + return { + { + this->p_x_low_limbs_range_constraint_0_shift, + this->p_x_low_limbs_range_constraint_1_shift, + this->p_x_low_limbs_range_constraint_2_shift, + this->p_x_low_limbs_range_constraint_3_shift, + this->p_x_low_limbs_range_constraint_4_shift, + this->p_x_low_limbs_range_constraint_tail_shift, + this->p_x_high_limbs_range_constraint_0_shift, + this->p_x_high_limbs_range_constraint_1_shift, + this->p_x_high_limbs_range_constraint_2_shift, + this->p_x_high_limbs_range_constraint_3_shift, + this->p_x_high_limbs_range_constraint_4_shift, + this->p_x_high_limbs_range_constraint_tail_shift, + this->p_y_low_limbs_range_constraint_0_shift, + this->p_y_low_limbs_range_constraint_1_shift, + this->p_y_low_limbs_range_constraint_2_shift, + this->p_y_low_limbs_range_constraint_3_shift, + }, + { + this->p_y_low_limbs_range_constraint_4_shift, + this->p_y_low_limbs_range_constraint_tail_shift, + this->p_y_high_limbs_range_constraint_0_shift, + this->p_y_high_limbs_range_constraint_1_shift, + this->p_y_high_limbs_range_constraint_2_shift, + this->p_y_high_limbs_range_constraint_3_shift, + this->p_y_high_limbs_range_constraint_4_shift, + this->p_y_high_limbs_range_constraint_tail_shift, + this->z_low_limbs_range_constraint_0_shift, + this->z_low_limbs_range_constraint_1_shift, + this->z_low_limbs_range_constraint_2_shift, + this->z_low_limbs_range_constraint_3_shift, + this->z_low_limbs_range_constraint_4_shift, + this->z_low_limbs_range_constraint_tail_shift, + this->z_high_limbs_range_constraint_0_shift, + this->z_high_limbs_range_constraint_1_shift, + }, + { + this->z_high_limbs_range_constraint_2_shift, + this->z_high_limbs_range_constraint_3_shift, + this->z_high_limbs_range_constraint_4_shift, + this->z_high_limbs_range_constraint_tail_shift, + this->accumulator_low_limbs_range_constraint_0_shift, + this->accumulator_low_limbs_range_constraint_1_shift, + this->accumulator_low_limbs_range_constraint_2_shift, + this->accumulator_low_limbs_range_constraint_3_shift, + this->accumulator_low_limbs_range_constraint_4_shift, + this->accumulator_low_limbs_range_constraint_tail_shift, + this->accumulator_high_limbs_range_constraint_0_shift, + this->accumulator_high_limbs_range_constraint_1_shift, + this->accumulator_high_limbs_range_constraint_2_shift, + this->accumulator_high_limbs_range_constraint_3_shift, + this->accumulator_high_limbs_range_constraint_4_shift, + this->accumulator_high_limbs_range_constraint_tail_shift, + }, + { + this->quotient_low_limbs_range_constraint_0_shift, + this->quotient_low_limbs_range_constraint_1_shift, + this->quotient_low_limbs_range_constraint_2_shift, + this->quotient_low_limbs_range_constraint_3_shift, + this->quotient_low_limbs_range_constraint_4_shift, + this->quotient_low_limbs_range_constraint_tail_shift, + this->quotient_high_limbs_range_constraint_0_shift, + this->quotient_high_limbs_range_constraint_1_shift, + this->quotient_high_limbs_range_constraint_2_shift, + this->quotient_high_limbs_range_constraint_3_shift, + this->quotient_high_limbs_range_constraint_4_shift, + this->quotient_high_limbs_range_constraint_tail_shift, + this->relation_wide_limbs_range_constraint_0_shift, + this->relation_wide_limbs_range_constraint_1_shift, + this->relation_wide_limbs_range_constraint_2_shift, + this->relation_wide_limbs_range_constraint_3_shift, + }, + { + this->p_x_low_limbs_shift, + this->p_x_high_limbs_shift, + this->p_y_low_limbs_shift, + this->p_y_high_limbs_shift, + this->z_low_limbs_shift, + this->z_high_limbs_shift, + this->accumulators_binary_limbs_0_shift, + this->accumulators_binary_limbs_1_shift, + this->accumulators_binary_limbs_2_shift, + this->accumulators_binary_limbs_3_shift, + this->quotient_low_binary_limbs_shift, + this->quotient_high_binary_limbs_shift, + this->relation_wide_limbs_shift, + zero_value, // null padding slot 0 + zero_value, // null padding slot 1 + zero_value, // null padding slot 2 + }, + }; + }; }; /** @@ -688,9 +887,9 @@ class TranslatorFlavor { auto get_precomputed() const { return PrecomputedEntities::get_all(); }; /** - * @brief Getter for entities constructed by interleaving + * @brief Getter for concatenated polynomials */ - auto get_interleaved() { return InterleavedRangeConstraints::get_all(); }; + auto get_concatenated() { return ConcatenatedPolynomials::get_all(); }; /** * @brief Getter for the ordered entities used in computing the denominator of the grand product in the @@ -705,14 +904,19 @@ class TranslatorFlavor { WitnessEntities::get_unshifted()); } - auto get_unshifted_without_interleaved() + /** + * @brief Unshifted polynomials for PCS, excluding concatenated AND 12 computable precomputed. + * @details Masking(1) + ordered_extra(1) + WireNonshifted(1) + OrderedRange(5) + Derived(1) = 9 + */ + auto get_unshifted_without_concatenated() { return concatenate(MaskingEntities::get_all(), - PrecomputedEntities::get_all(), - WitnessEntities::get_unshifted_without_interleaved()); + RefArray{ this->ordered_extra_range_constraints_numerator }, + WitnessEntities::get_unshifted_without_concatenated()); } auto get_shifted() { return ShiftedEntities::get_all(); }; + auto get_pcs_shifted() { return ShiftedEntities::get_pcs_shifted(); }; friend std::ostream& operator<<(std::ostream& os, const AllEntities& a) { @@ -738,6 +942,54 @@ class TranslatorFlavor { using Base = AllEntities; using Base::Base; }; + + /** + * @brief Compute 12 computable precomputed selector evaluations and write them into AllEntities. + */ + template + static void compute_computable_precomputed(AllEntities& evals, std::span challenge) + { + TranslatorSelectorEvaluations::compute(challenge).populate(evals); + } + + /** + * @brief Extract non-computable evaluations from AllEntities (for prover send). + * @details Skips the 12 computable precomputed entries at COMPUTABLE_PRECOMPUTED_OFFSET. + */ + template + static std::array get_all_without_computable_precomputed( + const AllEntities& evals) + { + auto all = evals.get_all(); + std::array result; + size_t dst = 0; + for (size_t i = 0; i < COMPUTABLE_PRECOMPUTED_OFFSET; i++) { + result[dst++] = all[i]; + } + for (size_t i = COMPUTABLE_PRECOMPUTED_OFFSET + NUM_COMPUTABLE_PRECOMPUTED; i < NUM_ALL_ENTITIES; i++) { + result[dst++] = all[i]; + } + return result; + } + + /** + * @brief Write non-computable evaluations back into AllEntities (for verifier receive). + * @details Fills all positions except the 12 computable precomputed entries. + */ + template + static void set_all_without_computable_precomputed(AllEntities& evals, + const std::array& sent) + { + auto all = evals.get_all(); + size_t src = 0; + for (size_t i = 0; i < COMPUTABLE_PRECOMPUTED_OFFSET; i++) { + all[i] = sent[src++]; + } + for (size_t i = COMPUTABLE_PRECOMPUTED_OFFSET + NUM_COMPUTABLE_PRECOMPUTED; i < NUM_ALL_ENTITIES; i++) { + all[i] = sent[src++]; + } + } + /** * @brief A container for the prover polynomials handles. */ @@ -751,15 +1003,18 @@ class TranslatorFlavor { { const size_t circuit_size = 1 << CONST_TRANSLATOR_LOG_N; - const size_t circuit_size_without_masking = circuit_size - (NUM_MASKED_ROWS_END * INTERLEAVING_GROUP_SIZE); for (auto& ordered_range_constraint : get_ordered_range_constraints()) { ordered_range_constraint = Polynomial{ /*size*/ circuit_size - 1, /*largest possible index*/ circuit_size, 1 }; } - for (auto& interleaved : get_interleaved()) { - interleaved = Polynomial{ /*size*/ circuit_size, circuit_size }; + // Initialize 5 concatenated polynomials (full circuit_size, shiftable with start_index=1) + // Row 0 of block 0 is the no-op row where all values are zero. + for (auto& concat_poly : get_concatenated()) { + concat_poly = Polynomial{ /*size*/ circuit_size - 1, + /*virtual_size*/ circuit_size, + /*start_index*/ 1 }; } z_perm = Polynomial{ /*size*/ circuit_size - 1, /*virtual_size*/ circuit_size, @@ -767,9 +1022,17 @@ class TranslatorFlavor { op = Polynomial{ MINI_CIRCUIT_SIZE, circuit_size }; - // All to_be_shifted witnesses except the ordered range constraints and z_perm are only non-zero in the mini - // circuit - for (auto& poly : get_to_be_shifted()) { + // All minicircuit wires (non-op-queue) are only non-zero in [1, MINI_CIRCUIT_SIZE) + for (auto& poly : NonOpQueueWiresToBeShiftedEntities::get_all()) { + if (poly.is_empty()) { + poly = Polynomial{ /*size*/ MINI_CIRCUIT_SIZE - 1, + /*virtual_size*/ circuit_size, + /*start_index*/ 1 }; + } + } + + // Op queue wires to be shifted + for (auto& poly : OpQueueWiresToBeShiftedEntities::get_all()) { if (poly.is_empty()) { poly = Polynomial{ /*size*/ MINI_CIRCUIT_SIZE - 1, /*virtual_size*/ circuit_size, @@ -777,7 +1040,7 @@ class TranslatorFlavor { } } - // Initialize lagrange polynomialso and the ordered extra range constraints numerator (the precomputed + // Initialize lagrange polynomials and the ordered extra range constraints numerator (the precomputed // polynomials) within the appropriate range they operate on lagrange_first = Polynomial{ /*size*/ 1, /*virtual_size*/ circuit_size }; lagrange_result_row = Polynomial{ /*size*/ 1, /*virtual_size*/ circuit_size, /*start_index*/ RESULT_ROW }; @@ -793,17 +1056,30 @@ class TranslatorFlavor { lagrange_mini_masking = Polynomial{ /*size*/ MINI_CIRCUIT_SIZE - RANDOMNESS_START, /*virtual_size*/ circuit_size, /*start_index=*/RANDOMNESS_START }; - lagrange_masking = Polynomial{ /*size*/ circuit_size - circuit_size_without_masking, - /*virtual_size*/ circuit_size, - /*start_index*/ circuit_size_without_masking }; + // With concatenation, masking rows are scattered in concatenated polys: end of each of the 16 blocks + // Must span full circuit since values go up to position 15*MINI+(MINI-1) + lagrange_masking = Polynomial{ circuit_size, circuit_size }; + lagrange_masking_adjacent = Polynomial{ circuit_size, circuit_size }; + // Ordered masking: contiguous at the end (marks masking positions in ordered polynomials) + lagrange_ordered_masking = Polynomial{ /*size*/ MAX_RANDOM_VALUES_PER_ORDERED, + /*virtual_size*/ circuit_size, + /*start_index*/ circuit_size - MAX_RANDOM_VALUES_PER_ORDERED }; + // Ordered masking adjacent: includes the row before masking region (for delta constraint) + lagrange_ordered_masking_adjacent = + Polynomial{ /*size*/ MAX_RANDOM_VALUES_PER_ORDERED + 1, + /*virtual_size*/ circuit_size, + /*start_index*/ circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1 }; lagrange_last = Polynomial{ /*size*/ 1, /*virtual_size*/ circuit_size, /*start_index*/ circuit_size - 1 }; + // lagrange_real_last marks the last position with sorted values in ordered polynomials + // (where we check maximum value = 2^14 - 1). With contiguous masking at the end, + // this is at position circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1. lagrange_real_last = Polynomial{ /*size*/ 1, /*virtual_size*/ circuit_size, - /*start_index*/ circuit_size_without_masking - 1 }; + /*start_index*/ circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1 }; ordered_extra_range_constraints_numerator = - Polynomial{ /*size*/ SORTED_STEPS_COUNT * (NUM_INTERLEAVED_WIRES + 1), + Polynomial{ /*size*/ SORTED_STEPS_COUNT * (NUM_CONCATENATED_POLYS + 1), /*virtual_size*/ circuit_size, /*start_index*/ 0 }; @@ -823,14 +1099,21 @@ class TranslatorFlavor { { AllValues result; for (auto [result_field, polynomial] : zip_view(result.get_all(), this->get_all())) { - result_field = polynomial[row_idx]; + // Translator polynomials have different support regions (start_index/end_index) + // Return 0 for out-of-bounds access (which is the correct value outside support) + if (row_idx >= polynomial.start_index() && row_idx < polynomial.end_index()) { + result_field = polynomial[row_idx]; + } else { + result_field = FF(0); + } } return result; } - // Set all shifted polynomials based on their to-be-shifted counterpart + // Set all shifted polynomials based on their to-be-shifted counterpart. + // Uses get_all_to_be_shifted() (86 entries for Sumcheck), not get_to_be_shifted() (9 entries for PCS). void set_shifted() { - for (auto [shifted, to_be_shifted] : zip_view(get_shifted(), get_to_be_shifted())) { + for (auto [shifted, to_be_shifted] : zip_view(get_shifted(), get_all_to_be_shifted())) { shifted = to_be_shifted.shifted(); } } @@ -972,10 +1255,11 @@ class TranslatorFlavor { this->ordered_range_constraints_3 = "ORDERED_RANGE_CONSTRAINTS_3"; this->ordered_range_constraints_4 = "ORDERED_RANGE_CONSTRAINTS_4"; this->z_perm = "Z_PERM"; - this->interleaved_range_constraints_0 = "INTERLEAVED_RANGE_CONSTRAINTS_0"; - this->interleaved_range_constraints_1 = "INTERLEAVED_RANGE_CONSTRAINTS_1"; - this->interleaved_range_constraints_2 = "INTERLEAVED_RANGE_CONSTRAINTS_2"; - this->interleaved_range_constraints_3 = "INTERLEAVED_RANGE_CONSTRAINTS_3"; + this->concatenated_range_constraints_0 = "CONCATENATED_RANGE_CONSTRAINTS_0"; + this->concatenated_range_constraints_1 = "CONCATENATED_RANGE_CONSTRAINTS_1"; + this->concatenated_range_constraints_2 = "CONCATENATED_RANGE_CONSTRAINTS_2"; + this->concatenated_range_constraints_3 = "CONCATENATED_RANGE_CONSTRAINTS_3"; + this->concatenated_non_range = "CONCATENATED_NON_RANGE"; // "__" are only used for debugging this->lagrange_first = "__LAGRANGE_FIRST"; @@ -988,6 +1272,8 @@ class TranslatorFlavor { this->lagrange_masking = "__LAGRANGE_MASKING"; this->lagrange_mini_masking = "__LAGRANGE_MINI_MASKING"; this->lagrange_real_last = "__LAGRANGE_REAL_LAST"; + this->lagrange_masking_adjacent = "__LAGRANGE_MASKING_ADJACENT"; + this->lagrange_ordered_masking = "__LAGRANGE_ORDERED_MASKING"; }; }; @@ -1007,6 +1293,9 @@ class TranslatorFlavor { this->lagrange_masking = verification_key->lagrange_masking; this->lagrange_mini_masking = verification_key->lagrange_mini_masking; this->lagrange_real_last = verification_key->lagrange_real_last; + this->lagrange_masking_adjacent = verification_key->lagrange_masking_adjacent; + this->lagrange_ordered_masking = verification_key->lagrange_ordered_masking; + this->lagrange_ordered_masking_adjacent = verification_key->lagrange_ordered_masking_adjacent; } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp index 2433426efb73..691d2f9f581f 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp @@ -191,10 +191,18 @@ void TranslatorProver::execute_pcs_rounds() small_subgroup_ipa_prover.prove(); PolynomialBatcher polynomial_batcher(key->proving_key->circuit_size); - polynomial_batcher.set_unshifted(key->proving_key->polynomials.get_unshifted_without_interleaved()); - polynomial_batcher.set_to_be_shifted_by_one(key->proving_key->polynomials.get_to_be_shifted()); - polynomial_batcher.set_interleaved(key->proving_key->polynomials.get_interleaved(), - key->proving_key->polynomials.get_groups_to_be_interleaved()); + // Set unshifted: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concatenated(5) = 14 + // (12 computable precomputed selectors excluded — verifier computes them locally) + polynomial_batcher.set_unshifted(key->proving_key->polynomials.get_unshifted_without_concatenated()); + // Set to-be-shifted: op_queue(3) + ordered(5) + z_perm(1) + concatenated(5) + auto to_be_shifted = key->proving_key->polynomials.get_to_be_shifted(); + auto concatenated = key->proving_key->polynomials.get_concatenated(); + auto combined_shifted = concatenate(to_be_shifted, concatenated); + polynomial_batcher.set_to_be_shifted_by_one(combined_shifted); + // Also add concatenated polys to unshifted (they need both unshifted and shifted PCS claims) + auto unshifted_base = key->proving_key->polynomials.get_unshifted_without_concatenated(); + auto combined_unshifted = concatenate(unshifted_base, concatenated); + polynomial_batcher.set_unshifted(combined_unshifted); const OpeningClaim prover_opening_claim = ShpleminiProver_::prove(key->proving_key->circuit_size, diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp index 8f3bf9f1907e..89eedb78e2d6 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp @@ -8,81 +8,63 @@ #include "barretenberg/common/assert.hpp" namespace bb { /** - * @brief Construct a set of polynomials that are the result of interleaving a group of polynomials into one. Used in - * translator to reduce the degree of the permutation relation. + * @brief Construct a set of polynomials that are the result of concatenating a group of polynomials into one. + * Used in translator to reduce the number of commitments while preserving PCS compatibility. * - * @details Multilinear PCS allow to provide openings for the resulting interleaved polynomials without having to commit - * to them, using the commitments of polynomials in groups. - * - * If we have: - * f(x₁, x₂) = {a₁, a₂, a₃, a₄} - * g(x₁, x₂) = {b₁, b₂, b₃, b₄} - * then: - * h(x₁, x₂, x₃) = interleave(f(x₁, x₂), g(x₁, x₂)) = {a₁, b₁, a₂, b₂, a₃, b₃, a₄, b₄} - * - * Since we commit to multilinear polynomials with KZG, which treats evaluations as monomial coefficients, in univariate - * form h(x)=f(x) + x⋅g(x⁴) + * @details Concatenation maps lane bits to MSB positions: + * concatenated_i[j * MINI_CIRCUIT_SIZE + k] = group_i_wire_j[k] * + * This ensures that the verifier can reconstruct concatenated evaluations from individual wire evaluations + * using Lagrange decomposition over the top 4 sumcheck challenges. */ -void TranslatorProvingKey::compute_interleaved_polynomials() +void TranslatorProvingKey::compute_concatenated_polynomials() { - // The vector of groups of polynomials to be interleaved - auto interleaved = proving_key->polynomials.get_groups_to_be_interleaved(); - // Resulting interleaved polynomials - auto targets = proving_key->polynomials.get_interleaved(); + // The vector of groups of polynomials to be concatenated + auto groups = proving_key->polynomials.get_groups_to_be_concatenated(); + // Resulting concatenated polynomials + auto targets = proving_key->polynomials.get_concatenated(); - const size_t num_polys_in_group = interleaved[0].size(); - BB_ASSERT_EQ(num_polys_in_group, Flavor::INTERLEAVING_GROUP_SIZE); + const size_t num_polys_in_group = groups[0].size(); + BB_ASSERT_EQ(num_polys_in_group, Flavor::CONCATENATION_GROUP_SIZE); - // Targets have to be full-sized proving_key->polynomials. We can compute the mini circuit size from them by - // dividing by the number of polynomials in the group - const size_t MINI_CIRCUIT_SIZE = targets[0].size() / num_polys_in_group; - BB_ASSERT_EQ(MINI_CIRCUIT_SIZE * num_polys_in_group, targets[0].size()); + const size_t MINI_CIRCUIT_SIZE = Flavor::MINI_CIRCUIT_SIZE; auto ordering_function = [&](size_t index) { - // Get the index of the interleaved polynomial - size_t i = index / interleaved[0].size(); - // Get the index of the original polynomial - size_t j = index % interleaved[0].size(); - auto& group = interleaved[i]; + // Get the index of the concatenated polynomial (group index) + size_t i = index / num_polys_in_group; + // Get the index of the polynomial within the group + size_t j = index % num_polys_in_group; + auto& group = groups[i]; auto& current_target = targets[i]; - // Copy into appropriate position in the interleaved polynomial - // We offset by start_index() as the first 0 is not physically represented for shiftable values + // For group 4 (non-range), the last 3 slots are null padding (point to concatenated_non_range itself). + // These are zero-initialized polynomials, so we skip them. + if (i == 4 && j >= 13) { + return; // null padding slots - leave as zero + } + + // Copy into appropriate position in the concatenated polynomial: j * MINI + k for (size_t k = group[j].start_index(); k < group[j].end_index(); k++) { - current_target.at(k * num_polys_in_group + j) = group[j][k]; + current_target.at(j * MINI_CIRCUIT_SIZE + k) = group[j][k]; } }; - parallel_for(interleaved.size() * num_polys_in_group, ordering_function); + parallel_for(groups.size() * num_polys_in_group, ordering_function); } /** * @brief Compute denominator polynomials for Translator's range constraint permutation * - * @details We need to prove that all the range constraint wires in the groups indeed have values within the given - * range [0 , 2¹⁴ -1]. To do this, we use several virtual interleaved wires, each of which represents a subset of - * the original wires (the virtual wires are interleaved_range_constraints_). We also generate several new - * polynomials of the same length as the interleaved ones (ordered_range_constraints_ which, as the name suggests, - * are sorted in non-descending order). To show the interleaved range constraints have values within the appropriate - * range, we in fact use the ordered range constraints, on which TranslatorFlavor's DeltaRangeConstraint relation - * operates. The relation ensures that sequential values differ by no more than 3, the last value is the maximum and the - * first value is zero (zero at the start allows us not to dance around shifts). Then, we run the - * TranslatorPermutationRelation on interleaved_range_constraint_ and ordered_range_constraint_ to show that they - * contain the same values which implies that the small wires in the groups are indeed within the correct range. + * @details We need to prove that all the range constraint wires indeed have values within the given + * range [0, 2^14 - 1]. We use concatenated polynomials (concatenated_range_constraints_ and + * concatenated_non_range) and generate ordered polynomials (ordered_range_constraints_) that contain + * the same values in sorted order. The DeltaRangeConstraint relation ensures sequential values differ by + * at most 3, with the last value being the maximum. * - * Ideally, we could simply rearrange the values in interleaved_.._0 ,..., interleaved_.._3 and get 4 denominator - * polynomials (ordered_constraints), but we could get the worst case scenario: each value in the polynomials is the - * maximum value. What can we do in that case? We still have to add (max_range/3)+1 values to each of the ordered - * wires for the sort constraint to hold. So we also need an extra denominator to store k ⋅ ( max_range / 3 + 1 ) - * values that couldn't go in + ( max_range / 3 + 1 ) connecting values. To counteract the extra ( k + 1 ) ⋅ - * ⋅ (max_range / 3 + 1 ) values needed for denominator sort constraints we need a polynomial in the numerator. So we - * can construct a proof when ( k + 1 ) ⋅ ( max_range/ 3 + 1 ) < interleaved size + * With concatenation, masking rows are scattered: the last NUM_MASKED_ROWS_END rows of each block. + * Sorted values occupy non-masking positions; masking values sit in the holes. */ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomials() { - // Get constants - constexpr size_t num_interleaved_wires = Flavor::NUM_INTERLEAVED_WIRES; - RefArray ordered_constraint_polynomials{ proving_key->polynomials.ordered_range_constraints_0, proving_key->polynomials.ordered_range_constraints_1, proving_key->polynomials.ordered_range_constraints_2, @@ -90,13 +72,14 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia std::vector extra_denominator_uint(dyadic_circuit_size_without_masking); const auto sorted_elements = get_sorted_steps(); - auto to_be_interleaved_groups = proving_key->polynomials.get_groups_to_be_interleaved(); + auto to_be_concatenated_groups = proving_key->polynomials.get_groups_to_be_concatenated(); + const size_t circuit_size = proving_key->polynomials.get_polynomial_size(); // Given the polynomials in group_i, transfer their elements, sorted in non-descending order, into the corresponding // ordered_range_constraint_i up to the given capacity and the remaining elements to the last range constraint. // Sorting is done by converting the elements to uint for efficiency. auto ordering_function = [&](size_t i) { - const auto& group = to_be_interleaved_groups[i]; + const auto& group = to_be_concatenated_groups[i]; std::vector ordered_vectors_uint(dyadic_circuit_size_without_masking); // Calculate how much space there is for values from the group polynomials given we also need to append the @@ -106,18 +89,23 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia // Calculate the starting index of this group's overflowing elements in the extra denominator polynomial size_t extra_denominator_offset = i * sorted_elements.size(); - // Go through each polynomial in the interleaved group - for (size_t j = 0; j < Flavor::INTERLEAVING_GROUP_SIZE; j++) { + // Number of values per lane (excluding start_index gap and masking rows) + const size_t values_per_lane = group[0].end_index() - group[0].start_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; + + // Go through each polynomial in the concatenated group + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + + // Dense offset: avoid phantom zeros by packing values tightly + auto current_offset = j * values_per_lane; - // Calculate the offset in the target vector - auto current_offset = j * dyadic_mini_circuit_size_without_masking; - ; // For each element in the polynomial for (size_t k = group[j].start_index(); k < group[j].end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k++) { - // Put it it the target polynomial - if ((current_offset + k) < free_space_before_runway) { - ordered_vectors_uint[current_offset + k] = static_cast(uint256_t(group[j][k]).data[0]); + auto vec_idx = current_offset + (k - group[j].start_index()); + + // Put it in the target polynomial + if (vec_idx < free_space_before_runway) { + ordered_vectors_uint[vec_idx] = static_cast(uint256_t(group[j][k]).data[0]); // Or in the extra one if there is no space left } else { @@ -139,16 +127,24 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia // from Montgomery std::sort(ordered_vectors_uint.begin(), ordered_vectors_uint.end()); BB_ASSERT_EQ(ordered_vectors_uint.size(), dyadic_circuit_size_without_masking); - // Copy the values into the actual polynomial - ordered_constraint_polynomials[i].copy_vector(ordered_vectors_uint); + + // All polynomials reserve the same amount of space at the end (max across all polynomials) + // so that lagrange_real_last marks the same position for all polynomials + // Place sorted values contiguously from position 1 to circuit_size - MAX_RANDOM_VALUES_PER_ORDERED + // Position 0 remains 0 (virtual zero). Last MAX_RANDOM_VALUES_PER_ORDERED positions reserved for random values. + size_t sorted_idx = 1; // Skip vec[0] (virtual zero at position 0) + for (size_t pos = 1; pos < circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; pos++) { + ordered_constraint_polynomials[i].at(pos) = FF(ordered_vectors_uint[sorted_idx]); + sorted_idx++; + } }; // Construct the first 4 polynomials - parallel_for(num_interleaved_wires, ordering_function); + parallel_for(4, ordering_function); // Advance the iterator into the extra range constraint past the last written element auto extra_denominator_it = extra_denominator_uint.begin(); - std::advance(extra_denominator_it, num_interleaved_wires * sorted_elements.size()); + std::advance(extra_denominator_it, 4 * sorted_elements.size()); // Add steps to the extra denominator polynomial to fill it std::copy(sorted_elements.cbegin(), sorted_elements.cend(), extra_denominator_it); @@ -159,152 +155,127 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia std::sort(std::execution::par_unseq, extra_denominator_uint.begin(), extra_denominator_uint.end()); #endif - // Copy the values into the actual polynomial - proving_key->polynomials.ordered_range_constraints_4.copy_vector(extra_denominator_uint); + // Place sorted values for the 5th polynomial + // All polynomials reserve the same amount of space at the end + { + size_t sorted_idx = 1; // Skip vec[0] (virtual zero at position 0) + for (size_t pos = 1; pos < circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; pos++) { + proving_key->polynomials.ordered_range_constraints_4.at(pos) = FF(extra_denominator_uint[sorted_idx]); + sorted_idx++; + } + } - // Transfer randomness from interleaved to ordered polynomials such that the commitments and evaluations of all + // Transfer randomness from concatenated to ordered polynomials such that the commitments and evaluations of all // ordered polynomials and their shifts are hidden - split_interleaved_random_coefficients_to_ordered(); + split_concatenated_random_coefficients_to_ordered(); } /** - * @brief Distribute the randomness from the 4 interleaved polynomials to the 5 ordered range constraints such that + * @brief Distribute the randomness from the 5 concatenated polynomials to the 5 ordered range constraints such that * commitments and evaluations of ordered polynomials and their shifts are hidden. * - * @details While we don't commit to the interleaved polynomials because ths PCS round connects their openings - * to the commitments of group polynomials, we have to commit to the ordered polynomials. Since the permutation relation - * enforces that the values of ordered_* and interleaved_* are the same, we must use the same blinding as for hiding - * commitments and evaluations of the groups *_range_constraint_* wire polynomials. This methods hence splits the - * randomness from interleaved to ordered polynomials. - * - * As a result, the ordered_* polynomials withing the range pointed to by lagrange_masking will have some random values - * and some zeroes. This still maintains the correctness of the permutation relation as we "make up" for the zeroes from - * the precomputed extra_range_constraint_numerator. + * @details With concatenation, masking values are at scattered positions: the last NUM_MASKED_ROWS_END rows + * of each block (positions [j * MINI + (MINI - NUM_MASKED_ROWS_END), j * MINI + MINI) for each j in [0,16)). + * We extract these random values from the concatenated polynomials and distribute them to the ordered + * polynomials at the same scattered masking positions. */ -void TranslatorProvingKey::split_interleaved_random_coefficients_to_ordered() +void TranslatorProvingKey::split_concatenated_random_coefficients_to_ordered() { - auto interleaved = proving_key->polynomials.get_interleaved(); + auto concatenated = proving_key->polynomials.get_concatenated(); auto ordered = proving_key->polynomials.get_ordered_range_constraints(); const size_t num_ordered_polynomials = ordered.size(); - - const size_t total_num_random_values = - NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::NUM_INTERLEAVED_WIRES * Flavor::INTERLEAVING_GROUP_SIZE; - const size_t num_random_values_per_interleaved = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::INTERLEAVING_GROUP_SIZE; + const size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + + // Collect all random values from masking positions in concatenated range constraint polynomials + // NOTE: Only extract from the first 4 concatenated polys (concatenated_range_constraints_0..3) + // which appear in the permutation numerator. The 5th (concatenated_non_range) is not in the numerator. + // Masking positions are at the end of each block: [j*MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK), j*MINI + MINI) + constexpr size_t NUM_CONCATENATED_IN_NUMERATOR = 4; // Only range constraint concatenated polys are in numerator + const size_t num_random_values_per_concat = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::CONCATENATION_GROUP_SIZE; + const size_t total_num_random_values = num_random_values_per_concat * NUM_CONCATENATED_IN_NUMERATOR; const size_t num_random_values_per_ordered = total_num_random_values / num_ordered_polynomials; const size_t remaining_random_values = total_num_random_values % num_ordered_polynomials; - std::array random_values = {}; - - // Add the random values from all interleaved polynomials to an array - parallel_for(Flavor::NUM_INTERLEAVED_WIRES, [&](size_t i) { - size_t idx = i * num_random_values_per_interleaved; - const auto& current_interleaved = interleaved[i]; - for (size_t j = dyadic_circuit_size_without_masking; j < current_interleaved.end_index(); j++) { - random_values[idx] = current_interleaved.at(j); - idx++; + std::vector random_values; + random_values.reserve(total_num_random_values); + + // Extract random values from scattered masking positions in the first 4 concatenated polynomials + for (size_t i = 0; i < NUM_CONCATENATED_IN_NUMERATOR; i++) { + const auto& current_concat = concatenated[i]; + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + size_t block_masking_start = j * MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK); + size_t block_masking_end = j * MINI + MINI; + for (size_t k = block_masking_start; k < block_masking_end; k++) { + random_values.push_back(current_concat[k]); + } } - }); + } - // Split them across the ordered polynomials - size_t end = dyadic_circuit_size_without_masking + num_random_values_per_ordered; - parallel_for(num_ordered_polynomials, [&](size_t i) { - size_t index_into_random = i * num_random_values_per_ordered; + // Distribute random values to ordered polynomials at the END (contiguous) + // Each ordered polynomial gets values at the last positions + size_t random_idx = 0; + const size_t circuit_size = proving_key->polynomials.get_polynomial_size(); + for (size_t i = 0; i < num_ordered_polynomials; i++) { auto& current_ordered = ordered[i]; - for (size_t j = dyadic_circuit_size_without_masking; j < end; j++) { - current_ordered.at(j) = random_values[index_into_random]; - index_into_random++; + size_t values_for_this_poly = num_random_values_per_ordered + (i < remaining_random_values ? 1 : 0); + // Place random values at the END: [circuit_size - values_for_this_poly, circuit_size) + for (size_t k = 0; k < values_for_this_poly; k++) { + current_ordered.at(circuit_size - values_for_this_poly + k) = random_values[random_idx]; + random_idx++; } - }); - - // As the total number of random values might not a multiple of num_ordered_polynomials (and is definitely not the - // current translator configurations) the remaining values are distributed across the ordered polynomials. The - // configurations ensure this still remain within boundaries of the polynomial size otherwise the assignment would - // fail. - size_t index_into_random = num_ordered_polynomials * num_random_values_per_ordered; - BB_ASSERT_LT(remaining_random_values, num_ordered_polynomials); - BB_ASSERT_LT(end, ordered[0].end_index()); - for (size_t i = 0; i < remaining_random_values; i++) { - ordered[i].at(end) = random_values[index_into_random]; - index_into_random++; } } /** - * @brief Construct all the precomputed lagrange polynomials used in Translator relations. - * - * - */ -/** - * @brief Constructs all Lagrange precomputed polynomials required for Translator relations. These enforce properties at - * specific positions within the Translator trace. Translator operates on two circuit sizes (full and mini) both - * requiring separate Lagrange polynomials. - * - * @details - * - * - * **Main Circuit Lagranges:** - * - `lagrange_first`: Active only at index 0, marks the first row of the main circuit - * - `lagrange_real_last`: Active at the last row before masking begins in the main circuit - * - `lagrange_last`: active at the very last row of the main circuit (including masking) - * - `lagrange_masking`: Active in the masking region of the main circuit (for randomness) - * - * **Mini Circuit Lagranges:** - * - `lagrange_mini_masking`: Active in two regions: - * 1. Between RANDOMNESS_START and RESULT_ROW (6 rows of random values at the beginning of the mini circuits) - * 2. In the last 4 rows of the mini circuit (for trailing randomness) - * - `lagrange_even_in_minicircuit`: Active at even indices within the actual ECC operation processing range, excluding - * randomness - * - `lagrange_odd_in_minicircuit`: Active at odd indices within the actual ECC operation processing range, excluding - * randomness - * - `lagrange_result_row`: Active only at the designated result row (Flavor::RESULT_ROW) - * - `lagrange_last_in_minicircuit`: Active at the last row before masking in the mini circuit - * - * The even/odd Lagranges are needed as Translator VM processes two rows of its execution - * trace simultaneously, with different relations applying to even and odd indexed rows. - * - * - */ -/** - * @brief Constructs all Lagrange precomputed polynomials required for Translator relations. These enforce properties at - * specific positions within the Translator trace. Translator operates on two circuit sizes (full and mini) both - * requiring separate Lagrange polynomials. - * - * @details - * - * - * **Main Circuit Lagranges:** - * - `lagrange_first`: Active only at index 0, marks the first row of the main circuit - * - `lagrange_real_last`: Active at the last row before masking begins in the main circuit - * - `lagrange_last`: ctive at the very last row of the main circuit (including masking) - * - `lagrange_masking`: Active in the masking region of the main circuit (for randomness) + * @brief Constructs all Lagrange precomputed polynomials required for Translator relations. * - * **Mini Circuit Lagranges:** - * - `lagrange_mini_masking`: Active in two regions: - * 1. Between RANDOMNESS_START and RESULT_ROW (for initial randomness) - * 2. In the masking region of the mini circuit (for trailing randomness) - * - `lagrange_even_in_minicircuit`: Active at even indices within the actual ECC operation processing range - * - `lagrange_odd_in_minicircuit`: Active at odd indices within the actual ECC operation processing range - * - `lagrange_result_row`: Active only at the designated result row (Flavor::RESULT_ROW) - * - `lagrange_last_in_minicircuit`: Active at the last row before masking in the mini circuit - * - * The even/odd Lagranges are crucial because the Translator VM processes two rows of its execution - * trace simultaneously, with different relations applying to even and odd indexed rows during - * elliptic curve operations. - * - * @note All Lagrange polynomials are initialized to 0 by default, and this function sets specific - * indices to 1 to create the desired selector behavior. - * @note The masking regions contain randomness values used for zero-knowledge properties. + * @details With concatenation, lagrange_masking is scattered across 16 blocks (end of each block), + * and lagrange_masking_adjacent is 1 at masking rows AND the row immediately preceding each masking block. + * lagrange_real_last is moved to the last non-masking row before block 15's masking region. */ void TranslatorProvingKey::compute_lagrange_polynomials() { + const size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + const size_t circuit_size = proving_key->polynomials.get_polynomial_size(); proving_key->polynomials.lagrange_first.at(0) = 1; - proving_key->polynomials.lagrange_real_last.at(dyadic_circuit_size_without_masking - 1) = 1; - proving_key->polynomials.lagrange_last.at(dyadic_circuit_size - 1) = 1; + // lagrange_real_last marks the last position with sorted values in ordered polynomials + // (where we check maximum value = 2^14 - 1) + // This position overlaps with lagrange_ordered_masking_adjacent + proving_key->polynomials.lagrange_real_last.at(circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1) = 1; + proving_key->polynomials.lagrange_last.at(circuit_size - 1) = 1; + + // Scattered masking: last NUM_MASKED_ROWS_END rows of each of the 16 blocks + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + for (size_t k = MINI - Flavor::NUM_MASKED_ROWS_END; k < MINI; k++) { + proving_key->polynomials.lagrange_masking.at(j * MINI + k) = 1; + } + } - // Location of randomness for the polynomials defined within the large size - for (size_t i = dyadic_circuit_size_without_masking; i < dyadic_circuit_size; i++) { - proving_key->polynomials.lagrange_masking.at(i) = 1; + // lagrange_masking_adjacent: 1 where masking[i]=1 OR masking[i+1]=1 + // This disables the delta range constraint at masking rows AND at the row before each masking block + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + size_t block_masking_start = j * MINI + (MINI - Flavor::NUM_MASKED_ROWS_END); + // The row before the masking block (adjacent) + if (block_masking_start > 0) { + proving_key->polynomials.lagrange_masking_adjacent.at(block_masking_start - 1) = 1; + } + // The masking rows themselves + for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { + proving_key->polynomials.lagrange_masking_adjacent.at(k) = 1; + } + } + + // lagrange_ordered_masking: marks the last MAX_RANDOM_VALUES_PER_ORDERED positions (contiguous at end) + // where random values are placed in ordered polynomials + for (size_t i = circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; i < circuit_size; i++) { + proving_key->polynomials.lagrange_ordered_masking.at(i) = 1; + } + + // lagrange_ordered_masking_adjacent: marks the position before masking region AND all masking positions + // This disables delta range constraint at positions where ordered[i+1] would be a masking value + for (size_t i = circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; i < circuit_size; i++) { + proving_key->polynomials.lagrange_ordered_masking_adjacent.at(i) = 1; } for (size_t i = Flavor::RANDOMNESS_START; i < Flavor::RESULT_ROW; i++) { @@ -317,9 +288,7 @@ void TranslatorProvingKey::compute_lagrange_polynomials() } // Translator VM processes two rows of its execution trace at a time, establishing different relations between - // polynomials at even and odd indices, as such we need corresponding lagranges for determining whic relations - // should trigger at odd indices and which at even. These polynomials need to only be active within the range of - // Translator trace that processes actual ecc ops. + // polynomials at even and odd indices for (size_t i = Flavor::RESULT_ROW; i < dyadic_mini_circuit_size_without_masking; i += 2) { proving_key->polynomials.lagrange_even_in_minicircuit.at(i) = 1; proving_key->polynomials.lagrange_odd_in_minicircuit.at(i + 1) = 1; @@ -338,25 +307,26 @@ void TranslatorProvingKey::compute_lagrange_polynomials() * relation enforcing a certain ordering on the elements of given polynomials * (TranslatorDeltaRangeConstraintRelation) * - * We take the values from 4 polynomials (interleaved_range_constraint_), and spread them into 5 polynomials to be + * We take the values from 4 concatenated range constraint polynomials, and spread them into 5 polynomials to be * sorted (ordered_range_constraint_), adding all the steps from MAX_VALUE to 0 in each ordered range constraint to - * complete them. The latter polynomials will be in the numerator of the grand product, the former in the numerator. To - * make up for the added steps in the numerator, an additional polynomial needs to be generated which contains 5 + * complete them. The latter polynomials will be in the denominator of the grand product, the former in the numerator. + * To make up for the added steps in the numerator, an additional polynomial needs to be generated which contains 5 * MAX_VALUE, 5 (MAX_VALUE-STEP),... values. - * */ void TranslatorProvingKey::compute_extra_range_constraint_numerator() { const auto sorted_elements = get_sorted_steps(); - // TODO(#756): can be parallelized further. This will use at most 5 threads + // NOTE: We use 5 factors in the numerator: 4 concatenated_range_constraints + 1 extra_numerator + // (matching 5 ordered_range_constraints in denominator). Each sorted element appears 5 times. + constexpr size_t NUM_FACTORS_IN_NUMERATOR = 5; // 4 concat range + 1 extra auto fill_with_shift = [&](size_t shift) { for (size_t i = 0; i < sorted_elements.size(); i++) { proving_key->polynomials.ordered_extra_range_constraints_numerator.at( - shift + i * (Flavor::NUM_INTERLEAVED_WIRES + 1)) = sorted_elements[i]; + shift + i * NUM_FACTORS_IN_NUMERATOR) = sorted_elements[i]; } }; - // Fill polynomials with a sequence, where each element is repeated NUM_INTERLEAVED_WIRES+1 times - parallel_for(Flavor::NUM_INTERLEAVED_WIRES + 1, fill_with_shift); + // Fill polynomials with a sequence, where each element is repeated NUM_FACTORS_IN_NUMERATOR times + parallel_for(NUM_FACTORS_IN_NUMERATOR, fill_with_shift); } } // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp index 55ea727b42e5..e0bbe0bc6395 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp @@ -23,9 +23,9 @@ class TranslatorProvingKey { using CommitmentKey = typename Flavor::CommitmentKey; static constexpr size_t mini_circuit_dyadic_size = Flavor::MINI_CIRCUIT_SIZE; - // The actual circuit size is several times bigger than the trace in the circuit, because we use interleaving + // The actual circuit size is several times bigger than the trace in the circuit, because we use concatenation // to bring the degree of relations down, while extending the length. - static constexpr size_t dyadic_circuit_size = mini_circuit_dyadic_size * Flavor::INTERLEAVING_GROUP_SIZE; + static constexpr size_t dyadic_circuit_size = mini_circuit_dyadic_size * Flavor::CONCATENATION_GROUP_SIZE; // Real mini and full circuit sizes i.e. the number of rows excluding those reserved for randomness (to achieve // hiding of polynomial commitments and evaluation). Bound to change, but it has to be even as translator works two @@ -33,7 +33,7 @@ class TranslatorProvingKey { static constexpr size_t dyadic_mini_circuit_size_without_masking = mini_circuit_dyadic_size - Flavor::NUM_MASKED_ROWS_END; static constexpr size_t dyadic_circuit_size_without_masking = - dyadic_circuit_size - Flavor::NUM_MASKED_ROWS_END * Flavor::INTERLEAVING_GROUP_SIZE; + dyadic_circuit_size - Flavor::NUM_MASKED_ROWS_END * Flavor::CONCATENATION_GROUP_SIZE; std::shared_ptr proving_key; @@ -87,11 +87,10 @@ class TranslatorProvingKey { // NB this will always have a fixed size unless we change the allowed range compute_extra_range_constraint_numerator(); - // Construct the polynomials resulted from interleaving the small range constraints polynomials in each group - // to be interleaved - compute_interleaved_polynomials(); + // Construct the concatenated polynomials from the groups of minicircuit wires + compute_concatenated_polynomials(); - // Construct the ordered polynomials, containing the values of the interleaved polynomials + enough values to + // Construct the ordered polynomials, containing the values of the concatenated polynomials + enough values to // bridge the range from 0 to 3 (3 is the maximum difference between two consecutive values in the ordered range // constraint). compute_translator_range_constraint_ordered_polynomials(); @@ -132,8 +131,8 @@ class TranslatorProvingKey { void compute_translator_range_constraint_ordered_polynomials(); - void compute_interleaved_polynomials(); + void compute_concatenated_polynomials(); - void split_interleaved_random_coefficients_to_ordered(); + void split_concatenated_random_coefficients_to_ordered(); }; } // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp new file mode 100644 index 000000000000..347868b12110 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp @@ -0,0 +1,256 @@ +#pragma once +#include "barretenberg/common/assert.hpp" +#include +#include +#include + +namespace bb { + +/** + * @brief Evaluates the 12 structured Translator precomputed selectors at a sumcheck challenge point. + * + * @details All Translator selectors except ordered_extra_range_constraints_numerator are multilinear + * polynomials over {0,1}^d whose support forms subcubes or small unions of subcubes. Their evaluations + * at the sumcheck challenge u = (u_0, ..., u_{d-1}) can be computed in O(d) field operations, using the + * key property that the sum of multilinear Lagrange basis polynomials over a free subcube equals 1. + * + * Bit ordering: row index ℓ = ℓ_0 + 2·ℓ_1 + ... + 2^{d-1}·ℓ_{d-1} (bit 0 = LSB). + * Bits 0..M-1 encode the position within a mini-circuit block; bits M..D-1 encode the block index. + * + * @tparam FF The finite field type. + * @tparam LOG_MINI_CIRCUIT_SIZE Log2 of the mini-circuit size (e.g. 13 for current Translator). + */ +template struct TranslatorSelectorEvaluations { + // Derived circuit geometry + static constexpr size_t LOG_CONCAT_GROUP_SIZE = 4; // log2(16) + static constexpr size_t LOG_N = LOG_MINI_CIRCUIT_SIZE + LOG_CONCAT_GROUP_SIZE; + + // Row layout constants (structural, not size-dependent) + static constexpr size_t RESULT_ROW = 8; + static constexpr size_t NUM_MASKED_ROWS_END = 4; + static constexpr size_t RANDOMNESS_START = 2; + static constexpr size_t CONCATENATION_GROUP_SIZE = 1UL << LOG_CONCAT_GROUP_SIZE; + static constexpr size_t MAX_RANDOM_VALUES_PER_ORDERED = CONCATENATION_GROUP_SIZE * NUM_MASKED_ROWS_END; + + // Bit positions used in the subcube decompositions + static constexpr size_t LOG_NUM_MASKED = 2; // log2(NUM_MASKED_ROWS_END) + static constexpr size_t LOG_RESULT_ROW = 3; // log2(RESULT_ROW) + static constexpr size_t LOG_RANDOMNESS_START = 1; // log2(RANDOMNESS_START) + static constexpr size_t LOG_MAX_RANDOM = LOG_CONCAT_GROUP_SIZE + LOG_NUM_MASKED; // log2(64) = 6 + + static_assert((1UL << LOG_NUM_MASKED) == NUM_MASKED_ROWS_END); + static_assert((1UL << LOG_RESULT_ROW) == RESULT_ROW); + static_assert((1UL << LOG_RANDOMNESS_START) == RANDOMNESS_START); + static_assert(LOG_NUM_MASKED < LOG_RESULT_ROW, "NUM_MASKED_ROWS_END must be smaller than RESULT_ROW"); + static_assert(LOG_RESULT_ROW < LOG_MINI_CIRCUIT_SIZE); + static_assert(LOG_MINI_CIRCUIT_SIZE > LOG_MAX_RANDOM, "Mini circuit must be larger than max random region"); + + // The 12 selector evaluations (order matches PrecomputedEntities in translator_flavor.hpp, + // skipping ordered_extra_range_constraints_numerator which cannot be efficiently computed) + FF lagrange_first; + FF lagrange_last; + FF lagrange_odd_in_minicircuit; + FF lagrange_even_in_minicircuit; + FF lagrange_result_row; + FF lagrange_last_in_minicircuit; + FF lagrange_masking; + FF lagrange_mini_masking; + FF lagrange_real_last; + FF lagrange_masking_adjacent; + FF lagrange_ordered_masking; + FF lagrange_ordered_masking_adjacent; + + /** + * @brief Compute evaluations of all 12 structured selectors at the sumcheck challenge. + * + * @param u Sumcheck challenge (u_0, ..., u_{LOG_N-1}). Size must equal LOG_N. + * @return TranslatorSelectorEvaluations with all 12 fields populated. + */ + static TranslatorSelectorEvaluations compute(std::span u) + { + // Notation (see class docstring for bit ordering): + // D = LOG_N (total number of sumcheck variables) + // M = LOG_MINI_CIRCUIT_SIZE (bits 0..M-1 = intra-block position) + // m = LOG_NUM_MASKED = 2 (last 2^m rows of each block are masking rows) + // r = LOG_RESULT_ROW = 3 (result row = 2^r) + // s = LOG_RANDOMNESS_START = 1 + // R = LOG_MAX_RANDOM = 6 (last 2^R rows of circuit reserved for ordered masking) + constexpr size_t D = LOG_N; + constexpr size_t M = LOG_MINI_CIRCUIT_SIZE; + constexpr size_t m = LOG_NUM_MASKED; + constexpr size_t r = LOG_RESULT_ROW; + constexpr size_t s = LOG_RANDOMNESS_START; + constexpr size_t R = LOG_MAX_RANDOM; + + BB_ASSERT(u.size() == D); + + TranslatorSelectorEvaluations evals; + + // c[k] = 1 - u[k] (complementary challenge values) + std::array c; + for (size_t k = 0; k < D; k++) { + c[k] = FF(1) - u[k]; + } + + // ---- Reusable partial products (built from smaller to larger, no inversions) ---- + + // Products of u[k]: + // u_mp1_M1 = ∏_{k=m+1}^{M-1} u[k] (bits above masking, within mini-circuit) + // u_m_M1 = ∏_{k=m}^{M-1} u[k] (full masking subcube indicator) + // u_Rp1_D1 = ∏_{k=R+1}^{D-1} u[k] (bits above max-random) + // u_R_D1 = ∏_{k=R}^{D-1} u[k] (ordered masking subcube indicator) + // u_0_R1 = ∏_{k=0}^{R-1} u[k] (low bits below max-random) + // u_0_m1 = ∏_{k=0}^{m-1} u[k] (low masking bits) + FF u_mp1_M1 = FF(1); + for (size_t k = m + 1; k < M; k++) { + u_mp1_M1 *= u[k]; + } + FF u_m_M1 = u[m] * u_mp1_M1; + + FF u_Rp1_D1 = FF(1); + for (size_t k = R + 1; k < D; k++) { + u_Rp1_D1 *= u[k]; + } + FF u_R_D1 = u[R] * u_Rp1_D1; + + FF u_0_R1 = FF(1); + for (size_t k = 0; k < R; k++) { + u_0_R1 *= u[k]; + } + + FF u_0_m1 = FF(1); + for (size_t k = 0; k < m; k++) { + u_0_m1 *= u[k]; + } + + // Products of c[k] = (1 - u[k]): + // c_rp1_M1 = ∏_{k=r+1}^{M-1} c[k] + // c_r_M1 = ∏_{k=r}^{M-1} c[k] (even/odd excluded-below indicator) + // c_M_D1 = ∏_{k=M}^{D-1} c[k] (block-0 indicator for top bits) + // c_r_D1 = ∏_{k=r}^{D-1} c[k] + // c_0_r1 = ∏_{k=0}^{r-1} c[k] + // c_s_r1 = ∏_{k=s}^{r-1} c[k] (gap between randomness start and result row) + FF c_rp1_M1 = FF(1); + for (size_t k = r + 1; k < M; k++) { + c_rp1_M1 *= c[k]; + } + FF c_r_M1 = c[r] * c_rp1_M1; + + FF c_M_D1 = FF(1); + for (size_t k = M; k < D; k++) { + c_M_D1 *= c[k]; + } + + FF c_r_D1 = c_r_M1 * c_M_D1; + + FF c_0_r1 = FF(1); + for (size_t k = 0; k < r; k++) { + c_0_r1 *= c[k]; + } + + FF c_s_r1 = FF(1); + for (size_t k = s; k < r; k++) { + c_s_r1 *= c[k]; + } + + // ---- Single-point Lagrange bases ---- + + // lagrange_first: row 0 (all bits 0) + // eval = ∏_{k=0}^{D-1} (1 - u_k) + evals.lagrange_first = c_0_r1 * c_r_D1; + + // lagrange_last: row 2^D - 1 (all bits 1) + // eval = ∏_{k=0}^{D-1} u_k + evals.lagrange_last = u_0_R1 * u_R_D1; + + // lagrange_result_row: row 2^r (only bit r set) + // eval = u_r · ∏_{k≠r} (1 - u_k) + evals.lagrange_result_row = c_0_r1 * u[r] * c_rp1_M1 * c_M_D1; + + // lagrange_last_in_minicircuit: row 2^M - 2^m - 1 (bits 0..m-1=1, bit m=0, bits m+1..M-1=1, bits M..D-1=0) + evals.lagrange_last_in_minicircuit = u_0_m1 * c[m] * u_mp1_M1 * c_M_D1; + + // lagrange_real_last: row 2^D - 2^R - 1 (bits 0..R-1=1, bit R=0, bits R+1..D-1=1) + evals.lagrange_real_last = u_0_R1 * c[R] * u_Rp1_D1; + + // ---- Subcube indicators ---- + + // lagrange_ordered_masking: rows with bits R..D-1 = 1, bits 0..R-1 free + // = ∏_{k=R}^{D-1} u_k + evals.lagrange_ordered_masking = u_R_D1; + + // lagrange_masking: rows with bits m..M-1 = 1, bits 0..m-1 and M..D-1 free + // = ∏_{k=m}^{M-1} u_k + evals.lagrange_masking = u_m_M1; + + // ---- Near-subcube indicators ---- + + // lagrange_ordered_masking_adjacent: lagrange_ordered_masking ∪ {lagrange_real_last row} + // = ∏_{k=R+1}^{D-1} u_k · [ u_R + (1-u_R) · ∏_{k=0}^{R-1} u_k ] + evals.lagrange_ordered_masking_adjacent = u_Rp1_D1 * (u[R] + c[R] * u_0_R1); + + // lagrange_masking_adjacent: lagrange_masking ∪ {row before each masking block, all 16 blocks} + // The adjacent row within each block has bits 0..m-1=1, bit m=0, bits m+1..M-1=1; + // across all blocks (bits M..D-1 free), this is itself a subcube. + // = ∏_{k=m+1}^{M-1} u_k · [ u_m + ∏_{k=0}^{m-1} u_k · (1 - u_m) ] + evals.lagrange_masking_adjacent = u_mp1_M1 * (u[m] + u_0_m1 * c[m]); + + // ---- Mini-masking (two disjoint blocks in block 0) ---- + + // lagrange_mini_masking: rows [RANDOMNESS_START .. RESULT_ROW-1] ∪ [MINI-NUM_MASKED .. MINI-1], block 0 + // + // Part 1: rows [2^s .. 2^r - 1] = {rows [0,2^r-1]} minus {rows [0,2^s-1]} + // Row set [0, 2^r-1] has bits r..D-1 = 0 → sum = ∏_{k=r}^{D-1}(1-u_k) = c_r_D1 + // Row set [0, 2^s-1] has bits s..D-1 = 0 → sum = ∏_{k=s}^{D-1}(1-u_k) = c_s_r1 · c_r_D1 + // Difference = c_r_D1 · (1 - c_s_r1) + FF part1 = c_r_D1 * (FF(1) - c_s_r1); + + // Part 2: rows [2^M - 2^m .. 2^M - 1] in block 0 + // Subcube: bits m..M-1 = 1, bits 0..m-1 free, bits M..D-1 = 0 + // = ∏_{k=m}^{M-1} u_k · ∏_{k=M}^{D-1}(1-u_k) + FF part2 = u_m_M1 * c_M_D1; + + evals.lagrange_mini_masking = part1 + part2; + + // ---- Even/odd alternating selectors ---- + + // lagrange_even_in_minicircuit: 1 at even rows in [RESULT_ROW, MINI-NUM_MASKED-2], block 0 + // Condition: bit 0 = 0, bits M..D-1 = 0, half-index j ∈ [2^(r-1), 2^(M-1) - 2^(m-1) - 1] + // + // The full half-index range [0, 2^(M-1)-1] sums to 1. We subtract the excluded ends: + // - Excluded below: j < 2^(r-1) → original bits r..M-1 = 0 → sum = ∏_{k=r}^{M-1}(1-u_k) = c_r_M1 + // - Excluded above: j >= 2^(M-1) - 2^(m-1) → original bits m..M-1 = 1 → sum = ∏_{k=m}^{M-1} u_k = u_m_M1 + // + // eval = (1-u_0) · ∏_{k=M}^{D-1}(1-u_k) · (1 - c_r_M1 - u_m_M1) + FF inner_even_odd = FF(1) - c_r_M1 - u_m_M1; + + evals.lagrange_even_in_minicircuit = c[0] * c_M_D1 * inner_even_odd; + + // lagrange_odd_in_minicircuit: same structure with bit 0 = 1 + evals.lagrange_odd_in_minicircuit = u[0] * c_M_D1 * inner_even_odd; + + return evals; + } + + /** + * @brief Write all 12 computed evaluations into any entity struct with matching named fields. + * @details Works for AllValues, AllEntities, PrecomputedEntities, native or stdlib. + */ + template void populate(Entities& target) const + { + target.lagrange_first = lagrange_first; + target.lagrange_last = lagrange_last; + target.lagrange_odd_in_minicircuit = lagrange_odd_in_minicircuit; + target.lagrange_even_in_minicircuit = lagrange_even_in_minicircuit; + target.lagrange_result_row = lagrange_result_row; + target.lagrange_last_in_minicircuit = lagrange_last_in_minicircuit; + target.lagrange_masking = lagrange_masking; + target.lagrange_mini_masking = lagrange_mini_masking; + target.lagrange_real_last = lagrange_real_last; + target.lagrange_masking_adjacent = lagrange_masking_adjacent; + target.lagrange_ordered_masking = lagrange_ordered_masking; + target.lagrange_ordered_masking_adjacent = lagrange_ordered_masking_adjacent; + } +}; + +} // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp new file mode 100644 index 000000000000..2169cbd18f12 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp @@ -0,0 +1,218 @@ +#include "barretenberg/translator_vm/translator_selectors.hpp" +#include "barretenberg/common/log.hpp" +#include "barretenberg/ecc/curves/bn254/fr.hpp" +#include "barretenberg/polynomials/polynomial.hpp" +#include "barretenberg/stdlib/primitives/circuit_builders/circuit_builders.hpp" +#include "barretenberg/stdlib/primitives/field/field.hpp" + +#include + +using namespace bb; + +namespace { + +/** + * @brief Create all 12 structured Translator selector polynomials and verify that + * TranslatorSelectorEvaluations::compute matches their MLE evaluations at a random challenge. + * + * @details Replicates the pattern-setting logic from TranslatorProvingKey::compute_lagrange_polynomials() + * with a generic LOG_MINI parameter, then evaluates each polynomial via Polynomial::evaluate_mle and + * compares against the O(d) analytical formulas. + */ +template void test_translator_selector_evaluations() +{ + using FF = fr; + using Evaluations = TranslatorSelectorEvaluations; + using Poly = Polynomial; + + constexpr size_t D = Evaluations::LOG_N; + constexpr size_t N = 1UL << D; + constexpr size_t MINI = 1UL << LOG_MINI; + constexpr size_t NUM_MASKED_ROWS_END = Evaluations::NUM_MASKED_ROWS_END; + constexpr size_t RESULT_ROW = Evaluations::RESULT_ROW; + constexpr size_t RANDOMNESS_START = Evaluations::RANDOMNESS_START; + constexpr size_t CONCATENATION_GROUP_SIZE = Evaluations::CONCATENATION_GROUP_SIZE; + constexpr size_t MAX_RANDOM_VALUES_PER_ORDERED = Evaluations::MAX_RANDOM_VALUES_PER_ORDERED; + constexpr size_t MINI_WITHOUT_MASKING = MINI - NUM_MASKED_ROWS_END; + + // Random sumcheck challenge + std::vector u(D); + for (auto& ui : u) { + ui = FF::random_element(); + } + + // Compute selector evaluations analytically + auto evals = Evaluations::compute(u); + + // Helper: create a full-size polynomial, set specified indices to 1, evaluate MLE + auto make_and_eval = [&](auto set_fn) -> FF { + Poly poly(N); + set_fn(poly); + return poly.evaluate_mle(u); + }; + + // --- lagrange_first: 1 at row 0 --- + EXPECT_EQ(make_and_eval([](Poly& p) { p.at(0) = 1; }), evals.lagrange_first); + + // --- lagrange_last: 1 at row N-1 --- + EXPECT_EQ(make_and_eval([](Poly& p) { p.at(N - 1) = 1; }), evals.lagrange_last); + + // --- lagrange_result_row: 1 at row RESULT_ROW --- + EXPECT_EQ(make_and_eval([](Poly& p) { p.at(RESULT_ROW) = 1; }), evals.lagrange_result_row); + + // --- lagrange_last_in_minicircuit: 1 at row MINI - NUM_MASKED - 1 --- + EXPECT_EQ(make_and_eval([](Poly& p) { p.at(MINI_WITHOUT_MASKING - 1) = 1; }), evals.lagrange_last_in_minicircuit); + + // --- lagrange_real_last: 1 at row N - MAX_RANDOM - 1 --- + EXPECT_EQ(make_and_eval([](Poly& p) { p.at(N - MAX_RANDOM_VALUES_PER_ORDERED - 1) = 1; }), + evals.lagrange_real_last); + + // --- lagrange_ordered_masking: 1 at rows [N - MAX_RANDOM, N - 1] --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t i = N - MAX_RANDOM_VALUES_PER_ORDERED; i < N; i++) { + p.at(i) = 1; + } + }), + evals.lagrange_ordered_masking); + + // --- lagrange_ordered_masking_adjacent: 1 at rows [N - MAX_RANDOM - 1, N - 1] --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t i = N - MAX_RANDOM_VALUES_PER_ORDERED - 1; i < N; i++) { + p.at(i) = 1; + } + }), + evals.lagrange_ordered_masking_adjacent); + + // --- lagrange_masking: 1 at last NUM_MASKED rows of each of 16 blocks --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { + for (size_t k = MINI - NUM_MASKED_ROWS_END; k < MINI; k++) { + p.at(j * MINI + k) = 1; + } + } + }), + evals.lagrange_masking); + + // --- lagrange_masking_adjacent: masking rows + row before each masking block --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { + size_t block_masking_start = j * MINI + (MINI - NUM_MASKED_ROWS_END); + if (block_masking_start > 0) { + p.at(block_masking_start - 1) = 1; + } + for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { + p.at(k) = 1; + } + } + }), + evals.lagrange_masking_adjacent); + + // --- lagrange_mini_masking: rows [RANDOMNESS_START..RESULT_ROW-1] ∪ [MINI-NUM_MASKED..MINI-1] in block 0 --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t i = RANDOMNESS_START; i < RESULT_ROW; i++) { + p.at(i) = 1; + } + for (size_t i = MINI_WITHOUT_MASKING; i < MINI; i++) { + p.at(i) = 1; + } + }), + evals.lagrange_mini_masking); + + // --- lagrange_even_in_minicircuit: 1 at even rows in [RESULT_ROW, MINI_WITHOUT_MASKING - 2], block 0 --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t i = RESULT_ROW; i < MINI_WITHOUT_MASKING; i += 2) { + p.at(i) = 1; + } + }), + evals.lagrange_even_in_minicircuit); + + // --- lagrange_odd_in_minicircuit: 1 at odd rows in [RESULT_ROW+1, MINI_WITHOUT_MASKING - 1], block 0 --- + EXPECT_EQ(make_and_eval([](Poly& p) { + for (size_t i = RESULT_ROW; i < MINI_WITHOUT_MASKING; i += 2) { + p.at(i + 1) = 1; + } + }), + evals.lagrange_odd_in_minicircuit); +} + +} // anonymous namespace + +TEST(TranslatorSelectors, SmallCircuit) +{ + // LOG_MINI = 7: MINI = 128, N = 2048. Fast and tests the generic formulas. + test_translator_selector_evaluations<7>(); +} + +TEST(TranslatorSelectors, RealCircuit) +{ + // LOG_MINI = 13: MINI = 8192, N = 131072. Matches the actual Translator circuit size. + test_translator_selector_evaluations<13>(); +} + +/** + * @brief Measure the in-circuit cost of computing all 12 Translator selector evaluations. + * + * @details Creates witness challenge values in a circuit builder, runs the analytical computation, + * measures the gate delta, and verifies correctness against native field computation. + */ +template void test_translator_selector_circuit_cost() +{ + using field_ct = stdlib::field_t; + using witness_ct = stdlib::witness_t; + using NativeEvaluations = TranslatorSelectorEvaluations; + using CircuitEvaluations = TranslatorSelectorEvaluations; + + constexpr size_t D = NativeEvaluations::LOG_N; + + Builder builder; + + // Generate random native challenge and create circuit witnesses + std::vector u_native(D); + std::vector u_circuit(D); + for (size_t k = 0; k < D; k++) { + u_native[k] = fr::random_element(); + u_circuit[k] = field_ct(witness_ct(&builder, u_native[k])); + } + + // Compute native reference values + auto native_evals = NativeEvaluations::compute(u_native); + + // Measure circuit cost + size_t gates_before = builder.num_gates(); + auto circuit_evals = CircuitEvaluations::compute(u_circuit); + size_t gates_after = builder.num_gates(); + size_t gates_added = gates_after - gates_before; + + info("TranslatorSelectorEvaluations in-circuit cost (", + Builder::NAME_STRING, + ", LOG_MINI=", + LOG_MINI, + "): ", + gates_added, + " gates"); + + // Verify correctness: circuit values must match native values + EXPECT_EQ(circuit_evals.lagrange_first.get_value(), native_evals.lagrange_first); + EXPECT_EQ(circuit_evals.lagrange_last.get_value(), native_evals.lagrange_last); + EXPECT_EQ(circuit_evals.lagrange_odd_in_minicircuit.get_value(), native_evals.lagrange_odd_in_minicircuit); + EXPECT_EQ(circuit_evals.lagrange_even_in_minicircuit.get_value(), native_evals.lagrange_even_in_minicircuit); + EXPECT_EQ(circuit_evals.lagrange_result_row.get_value(), native_evals.lagrange_result_row); + EXPECT_EQ(circuit_evals.lagrange_last_in_minicircuit.get_value(), native_evals.lagrange_last_in_minicircuit); + EXPECT_EQ(circuit_evals.lagrange_masking.get_value(), native_evals.lagrange_masking); + EXPECT_EQ(circuit_evals.lagrange_mini_masking.get_value(), native_evals.lagrange_mini_masking); + EXPECT_EQ(circuit_evals.lagrange_real_last.get_value(), native_evals.lagrange_real_last); + EXPECT_EQ(circuit_evals.lagrange_masking_adjacent.get_value(), native_evals.lagrange_masking_adjacent); + EXPECT_EQ(circuit_evals.lagrange_ordered_masking.get_value(), native_evals.lagrange_ordered_masking); + EXPECT_EQ(circuit_evals.lagrange_ordered_masking_adjacent.get_value(), + native_evals.lagrange_ordered_masking_adjacent); +} + +TEST(TranslatorSelectors, CircuitCostUltra) +{ + test_translator_selector_circuit_cost(); +} + +TEST(TranslatorSelectors, CircuitCostMega) +{ + test_translator_selector_circuit_cost(); +} diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp index f9ee73015cc2..41455e1ee58a 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp @@ -137,7 +137,6 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_; using ClaimBatcher = ClaimBatcher_; using ClaimBatch = typename ClaimBatcher::Batch; - using InterleavedBatch = typename ClaimBatcher::InterleavedBatch; using Sumcheck = SumcheckVerifier; // Load the proof produced by the translator prover @@ -177,7 +176,6 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template get_challenge("beta"); FF gamma = transcript->template get_challenge("gamma"); - relation_parameters.beta = beta; relation_parameters.gamma = gamma; @@ -208,15 +206,113 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template receive_from_prover("Libra:grand_sum_commitment"); libra_commitments[2] = transcript->template receive_from_prover("Libra:quotient_commitment"); - // Execute Shplemini - ClaimBatcher claim_batcher{ - .unshifted = ClaimBatch{ commitments.get_unshifted_without_interleaved(), - sumcheck_output.claimed_evaluations.get_unshifted_without_interleaved() }, - .shifted = ClaimBatch{ commitments.get_to_be_shifted(), sumcheck_output.claimed_evaluations.get_shifted() }, - .interleaved = InterleavedBatch{ .commitments_groups = commitments.get_groups_to_be_interleaved(), - .evaluations = sumcheck_output.claimed_evaluations.get_interleaved() } + // Concatenation consistency check: reconstruct concatenated evaluations from individual wire evaluations + // using Lagrange decomposition over the top 4 sumcheck challenges. + // + // Wires have values in [1,MINI) embedded in 17D space, so wire_j(u_17d) = L_0(u_top) * wire_j(u_13d) + // Therefore: concat(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * wire_j(u_17d) + // where L_0(u_top) = (1-u_13)(1-u_14)(1-u_15)(1-u_16) + + const size_t log_n = TranslatorFlavor::CONST_TRANSLATOR_LOG_N; + const size_t num_top_bits = 4; // log2(CONCATENATION_GROUP_SIZE) + + // Extract top 4 sumcheck challenges (u_{d-4}, ..., u_{d-1}) + std::array u_top; + for (size_t i = 0; i < num_top_bits; i++) { + u_top[i] = sumcheck_output.challenge[log_n - num_top_bits + i]; + } + + // Compute L_0(u_top) = (1-u_13)(1-u_14)(1-u_15)(1-u_16) + // This accounts for wires having values in [1,MINI) embedded in 17D space + FF padding = FF(1); + for (size_t i = 0; i < num_top_bits; i++) { + padding *= (FF(1) - u_top[i]); + } + FF padding_inv = padding.invert(); + + // Compute Lagrange basis L_j(u_top) for j = 0..15 + // L_j(u_top) = Π_{i=0}^{3} (bit_i(j) ? u_top[i] : (1 - u_top[i])) + // Uses little-endian bit ordering: bit i of j corresponds to challenge u_top[i] + std::array lagrange_basis; + for (size_t j = 0; j < 16; j++) { + lagrange_basis[j] = FF(1); + for (size_t bit = 0; bit < num_top_bits; bit++) { + // Little-endian: LSB corresponds to first challenge + bool bit_set = (j >> bit) & 1; + lagrange_basis[j] *= bit_set ? u_top[bit] : (FF(1) - u_top[bit]); + } + } + + // Helper lambda: reconstruct concatenated evaluation from a group of wire evaluations + // Wire polys have values in [1,MINI) embedded in 17D space with top bits = 0 + // So wire_j(u_17d) = L_0(u_top) * wire_j(u_bottom_13d) + // Therefore: concat(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * wire_j(u_17d) + auto reconstruct_concatenated_eval = [&](const auto& group) -> FF { + FF result = FF(0); + for (size_t j = 0; j < 16; j++) { + result += lagrange_basis[j] * group[j]; + } + return result * padding_inv; }; + // Get the groups of wire evaluations from sumcheck + auto groups = sumcheck_output.claimed_evaluations.get_groups_to_be_concatenated(); + + // Reconstruct concatenated evaluations (unshifted) using the helper + auto concat_evals = sumcheck_output.claimed_evaluations.get_concatenated(); + for (size_t g = 0; g < groups.size(); g++) { + concat_evals[g] = reconstruct_concatenated_eval(groups[g]); + } + + // Reconstruct concatenated shifted evaluations using the same helper + // For shifted: concat_shift(u) = [1/padding] * Σ_j L_j(u_top) * source_j_shift(u) + // This works because f_j[0] = 0 for all minicircuit wires (enforced by zero constraint at row 0). + + // Get shifted groups using the flavor method + auto shift_groups = sumcheck_output.claimed_evaluations.get_groups_to_be_concatenated_shifted(); + + // Reconstruct concatenated shift evaluations using the helper + std::array concat_shift_evals; + for (size_t g = 0; g < shift_groups.size(); g++) { + concat_shift_evals[g] = reconstruct_concatenated_eval(shift_groups[g]); + } + + // Build the unshifted claims: standard unshifted + concatenated (with reconstructed evals) + // Unshifted base: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) = 9 + // (12 computable precomputed selectors excluded — verifier computed them locally) + auto unshifted_commitments = commitments.get_unshifted_without_concatenated(); + auto unshifted_evals = sumcheck_output.claimed_evaluations.get_unshifted_without_concatenated(); + auto concat_commitments = commitments.get_concatenated(); + + // Combine: unshifted base + concatenated + auto combined_unshifted_comms = concatenate(unshifted_commitments, concat_commitments); + auto combined_unshifted_evals = concatenate(unshifted_evals, concat_evals); + + // Build the shifted claims: standard shifted + concatenated shifted + // Use get_to_be_shifted() for commitments (9 entries) and get_pcs_shifted() for matching shifted evals (9 entries) + auto shifted_commitments = commitments.get_to_be_shifted(); + auto shifted_evals = sumcheck_output.claimed_evaluations.get_pcs_shifted(); + + // Store reconstructed evals into the concatenated polynomial eval slots + auto& all_evals = sumcheck_output.claimed_evaluations; + all_evals.concatenated_range_constraints_0 = concat_evals[0]; + all_evals.concatenated_range_constraints_1 = concat_evals[1]; + all_evals.concatenated_range_constraints_2 = concat_evals[2]; + all_evals.concatenated_range_constraints_3 = concat_evals[3]; + all_evals.concatenated_non_range = concat_evals[4]; + + // Build combined shifted claims: standard shifted + 5 concatenated shifts + auto combined_shifted_comms = concatenate(shifted_commitments, concat_commitments); + // Combine shifted evals: convert RefArray to RefVector, then append reconstructed concat shift evals + RefVector combined_shifted_evals(shifted_evals); + for (auto& eval : concat_shift_evals) { + combined_shifted_evals.push_back(eval); + } + + // Execute Shplemini with standard batching (no InterleavedBatch) + ClaimBatcher claim_batcher{ .unshifted = ClaimBatch{ combined_unshifted_comms, combined_unshifted_evals }, + .shifted = ClaimBatch{ combined_shifted_comms, combined_shifted_evals } }; + // Get Commitment::one() - requires builder for recursive case Commitment commitment_one; if constexpr (IsRecursive) { @@ -237,9 +333,6 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_ Date: Sun, 8 Feb 2026 22:46:01 +0000 Subject: [PATCH 02/24] clean up verifier code --- .../translator_vm/translator_verifier.cpp | 184 +++++++----------- 1 file changed, 74 insertions(+), 110 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp index 41455e1ee58a..db9cb5d68aa9 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp @@ -117,6 +117,55 @@ void put_translation_data_in_relation_parameters_impl(RelationParameters +std::pair, std::array> reconstruct_concatenated_evaluations(const std::vector& challenge, + const auto& groups, + const auto& shift_groups) +{ + static constexpr size_t NUM_TOP_BITS = 4; // log2(CONCATENATION_GROUP_SIZE) + const size_t log_n = challenge.size(); + + // Compute 16-point Lagrange basis over the top 4 challenges + std::array lagrange_basis; + for (size_t j = 0; j < 16; j++) { + lagrange_basis[j] = FF(1); + for (size_t bit = 0; bit < NUM_TOP_BITS; bit++) { + const FF& u = challenge[log_n - NUM_TOP_BITS + bit]; + lagrange_basis[j] *= ((j >> bit) & 1) ? u : (FF(1) - u); + } + } + // L_0 is the "padding" factor from wires having support in [1, MINI) + FF padding_inv = lagrange_basis[0].invert(); + + // Reconstruct a single concatenated eval: [1/L_0] * Σ_j L_j * wire_j(u) + auto reconstruct = [&](const auto& group) -> FF { + FF result = FF(0); + for (size_t j = 0; j < 16; j++) { + result += lagrange_basis[j] * group[j]; + } + return result * padding_inv; + }; + + std::array concat_evals; + std::array concat_shift_evals; + for (size_t g = 0; g < 5; g++) { + concat_evals[g] = reconstruct(groups[g]); + concat_shift_evals[g] = reconstruct(shift_groups[g]); + } + return { concat_evals, concat_shift_evals }; +} } // namespace template void TranslatorVerifier_::put_translation_data_in_relation_parameters() @@ -139,7 +188,6 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_; - // Load the proof produced by the translator prover transcript->load_proof(proof); // Fiat-Shamir the vk hash @@ -155,13 +203,12 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template receive_from_prover("Gemini:masking_poly_comm"); - // Set op queue wire commitments (provided by merge protocol, not from translator proof) + // Op queue wire commitments are provided by merge protocol, not from the translator proof commitments.op = op_queue_wire_commitments[0]; commitments.x_lo_y_hi = op_queue_wire_commitments[1]; commitments.x_hi_z_1 = op_queue_wire_commitments[2]; @@ -173,20 +220,16 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template receive_from_prover(label); } - // Get permutation challenges + // Permutation challenges FF beta = transcript->template get_challenge("beta"); FF gamma = transcript->template get_challenge("gamma"); relation_parameters.beta = beta; relation_parameters.gamma = gamma; - // Get commitment to permutation and lookup grand products commitments.z_perm = transcript->template receive_from_prover(commitment_labels.z_perm); - // Each linearly independent subrelation contribution is multiplied by `alpha^i`, where - // i = 0, ..., NUM_SUBRELATIONS- 1. + // --- Sumcheck --- const FF alpha = transcript->template get_challenge("Sumcheck:alpha"); - - // Execute Sumcheck Verifier Sumcheck sumcheck(transcript, alpha, TranslatorFlavor::CONST_TRANSLATOR_LOG_N); std::vector gate_challenges(TranslatorFlavor::CONST_TRANSLATOR_LOG_N); @@ -194,126 +237,47 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template get_challenge("Sumcheck:gate_challenge_" + std::to_string(idx)); } - // Receive commitments to Libra masking polynomials + // Receive first Libra commitment before sumcheck std::array libra_commitments = {}; libra_commitments[0] = transcript->template receive_from_prover("Libra:concatenation_commitment"); - // Create padding indicator array std::vector padding_indicator_array(TranslatorFlavor::CONST_TRANSLATOR_LOG_N, FF(1)); - auto sumcheck_output = sumcheck.verify(relation_parameters, gate_challenges, padding_indicator_array); + // Receive remaining Libra commitments after sumcheck libra_commitments[1] = transcript->template receive_from_prover("Libra:grand_sum_commitment"); libra_commitments[2] = transcript->template receive_from_prover("Libra:quotient_commitment"); - // Concatenation consistency check: reconstruct concatenated evaluations from individual wire evaluations - // using Lagrange decomposition over the top 4 sumcheck challenges. - // - // Wires have values in [1,MINI) embedded in 17D space, so wire_j(u_17d) = L_0(u_top) * wire_j(u_13d) - // Therefore: concat(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * wire_j(u_17d) - // where L_0(u_top) = (1-u_13)(1-u_14)(1-u_15)(1-u_16) - - const size_t log_n = TranslatorFlavor::CONST_TRANSLATOR_LOG_N; - const size_t num_top_bits = 4; // log2(CONCATENATION_GROUP_SIZE) - - // Extract top 4 sumcheck challenges (u_{d-4}, ..., u_{d-1}) - std::array u_top; - for (size_t i = 0; i < num_top_bits; i++) { - u_top[i] = sumcheck_output.challenge[log_n - num_top_bits + i]; - } - - // Compute L_0(u_top) = (1-u_13)(1-u_14)(1-u_15)(1-u_16) - // This accounts for wires having values in [1,MINI) embedded in 17D space - FF padding = FF(1); - for (size_t i = 0; i < num_top_bits; i++) { - padding *= (FF(1) - u_top[i]); - } - FF padding_inv = padding.invert(); - - // Compute Lagrange basis L_j(u_top) for j = 0..15 - // L_j(u_top) = Π_{i=0}^{3} (bit_i(j) ? u_top[i] : (1 - u_top[i])) - // Uses little-endian bit ordering: bit i of j corresponds to challenge u_top[i] - std::array lagrange_basis; - for (size_t j = 0; j < 16; j++) { - lagrange_basis[j] = FF(1); - for (size_t bit = 0; bit < num_top_bits; bit++) { - // Little-endian: LSB corresponds to first challenge - bool bit_set = (j >> bit) & 1; - lagrange_basis[j] *= bit_set ? u_top[bit] : (FF(1) - u_top[bit]); - } + // --- Concatenation consistency: reconstruct concat evals from wire evals --- + auto& claimed = sumcheck_output.claimed_evaluations; + auto [concat_evals, concat_shift_evals] = + reconstruct_concatenated_evaluations(sumcheck_output.challenge, + claimed.get_groups_to_be_concatenated(), + claimed.get_groups_to_be_concatenated_shifted()); + + // Write reconstructed evals into the claimed evaluations struct + auto concat_eval_refs = claimed.get_concatenated(); + for (size_t g = 0; g < concat_evals.size(); g++) { + concat_eval_refs[g] = concat_evals[g]; } - // Helper lambda: reconstruct concatenated evaluation from a group of wire evaluations - // Wire polys have values in [1,MINI) embedded in 17D space with top bits = 0 - // So wire_j(u_17d) = L_0(u_top) * wire_j(u_bottom_13d) - // Therefore: concat(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * wire_j(u_17d) - auto reconstruct_concatenated_eval = [&](const auto& group) -> FF { - FF result = FF(0); - for (size_t j = 0; j < 16; j++) { - result += lagrange_basis[j] * group[j]; - } - return result * padding_inv; - }; - - // Get the groups of wire evaluations from sumcheck - auto groups = sumcheck_output.claimed_evaluations.get_groups_to_be_concatenated(); - - // Reconstruct concatenated evaluations (unshifted) using the helper - auto concat_evals = sumcheck_output.claimed_evaluations.get_concatenated(); - for (size_t g = 0; g < groups.size(); g++) { - concat_evals[g] = reconstruct_concatenated_eval(groups[g]); - } - - // Reconstruct concatenated shifted evaluations using the same helper - // For shifted: concat_shift(u) = [1/padding] * Σ_j L_j(u_top) * source_j_shift(u) - // This works because f_j[0] = 0 for all minicircuit wires (enforced by zero constraint at row 0). - - // Get shifted groups using the flavor method - auto shift_groups = sumcheck_output.claimed_evaluations.get_groups_to_be_concatenated_shifted(); - - // Reconstruct concatenated shift evaluations using the helper - std::array concat_shift_evals; - for (size_t g = 0; g < shift_groups.size(); g++) { - concat_shift_evals[g] = reconstruct_concatenated_eval(shift_groups[g]); - } + // --- PCS: build opening claims and verify --- + // Unshifted: standard (9) + concatenated (5) = 14 commitments/evals + auto combined_unshifted_comms = + concatenate(commitments.get_unshifted_without_concatenated(), commitments.get_concatenated()); + auto combined_unshifted_evals = + concatenate(claimed.get_unshifted_without_concatenated(), claimed.get_concatenated()); - // Build the unshifted claims: standard unshifted + concatenated (with reconstructed evals) - // Unshifted base: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) = 9 - // (12 computable precomputed selectors excluded — verifier computed them locally) - auto unshifted_commitments = commitments.get_unshifted_without_concatenated(); - auto unshifted_evals = sumcheck_output.claimed_evaluations.get_unshifted_without_concatenated(); - auto concat_commitments = commitments.get_concatenated(); - - // Combine: unshifted base + concatenated - auto combined_unshifted_comms = concatenate(unshifted_commitments, concat_commitments); - auto combined_unshifted_evals = concatenate(unshifted_evals, concat_evals); - - // Build the shifted claims: standard shifted + concatenated shifted - // Use get_to_be_shifted() for commitments (9 entries) and get_pcs_shifted() for matching shifted evals (9 entries) - auto shifted_commitments = commitments.get_to_be_shifted(); - auto shifted_evals = sumcheck_output.claimed_evaluations.get_pcs_shifted(); - - // Store reconstructed evals into the concatenated polynomial eval slots - auto& all_evals = sumcheck_output.claimed_evaluations; - all_evals.concatenated_range_constraints_0 = concat_evals[0]; - all_evals.concatenated_range_constraints_1 = concat_evals[1]; - all_evals.concatenated_range_constraints_2 = concat_evals[2]; - all_evals.concatenated_range_constraints_3 = concat_evals[3]; - all_evals.concatenated_non_range = concat_evals[4]; - - // Build combined shifted claims: standard shifted + 5 concatenated shifts - auto combined_shifted_comms = concatenate(shifted_commitments, concat_commitments); - // Combine shifted evals: convert RefArray to RefVector, then append reconstructed concat shift evals - RefVector combined_shifted_evals(shifted_evals); + // Shifted: standard (9) + concatenated (5) = 14 commitments/evals + auto combined_shifted_comms = concatenate(commitments.get_to_be_shifted(), commitments.get_concatenated()); + RefVector combined_shifted_evals(claimed.get_pcs_shifted()); for (auto& eval : concat_shift_evals) { combined_shifted_evals.push_back(eval); } - // Execute Shplemini with standard batching (no InterleavedBatch) ClaimBatcher claim_batcher{ .unshifted = ClaimBatch{ combined_unshifted_comms, combined_unshifted_evals }, .shifted = ClaimBatch{ combined_shifted_comms, combined_shifted_evals } }; - // Get Commitment::one() - requires builder for recursive case Commitment commitment_one; if constexpr (IsRecursive) { commitment_one = Commitment::one(builder); From bddc74b16213098726067e773262df1a1fc9f8d5 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 10:56:41 +0000 Subject: [PATCH 03/24] clean up + docs --- .../src/barretenberg/translator_vm/README.md | 403 +++++++----------- .../barretenberg/translator_vm/RELATIONS.md | 37 +- .../translator_vm/translator_flavor.hpp | 28 +- .../translator_vm/translator_prover.cpp | 17 +- .../translator_vm/translator_proving_key.cpp | 15 +- .../translator_vm/translator_proving_key.hpp | 2 +- 6 files changed, 185 insertions(+), 317 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/README.md b/barretenberg/cpp/src/barretenberg/translator_vm/README.md index 6083d5407570..b3dd2e6e74e7 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/README.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/README.md @@ -8,7 +8,7 @@ 2. [High-Level Statement](#high-level-statement) 3. [Architecture and Constants](#architecture-and-constants) 4. [Witness Trace Structure](#witness-trace-structure) -5. [Interleaving: The Key Optimization](#interleaving-the-key-optimization) +5. [Concatenation: The Key Optimization](#concatenation-the-key-optimization) 6. [Witness Generation and Proving Key Construction](#witness-generation-and-proving-key-construction) 7. [Translator Relations](#translator-relations) @@ -251,7 +251,7 @@ The tail microlimbs (shown in yellow) enforce tight range constraints by ensurin Some columns are "virtual" and not explicitly stored in the witness trace. Instead, they are computed on-the-fly during relation evaluation using existing columns. These include: -- Interleaved columns for range constraint microlimbs (computed from the physical microlimb columns) +- Concatenated polynomials for range constraint microlimbs (committed by the prover) - Sorted (ordered) columns for range constraint microlimbs (computed by sorting the physical microlimb columns) ### Mini-Circuit Layout @@ -423,43 +423,46 @@ The random ops serve dual purposes for zero-knowledge: ### Lagrange Polynomials (Precomputed) -The circuit uses Lagrange polynomials to control which constraints are active: ($I_{\text{size}} = 16$ is the number of columns interleaved together) +The circuit uses Lagrange polynomials to control which constraints are active: ($I_{\text{size}} = 16$ is the number of columns concatenated together) | Polynomial | Description | Active Rows | | ------------------------------ | ----------------------------------------- | ----------------------------------------------------------------------------------------------- | | `lagrange_first` | First row | $i = 0$ | -| `lagrange_real_last` | Last row in full circuit (before masking) | $i = 2^{17} - m \cdot I_{\text{size}} - 1$ | +| `lagrange_real_last` | Last row in full circuit (before masking) | $i = N - \text{MAX\_RANDOM\_VALUES\_PER\_ORDERED} - 1 = 2^{17} - 64 - 1 = 131007$ | | `lagrange_last` | Last row in full circuit | $i = 2^{17} - 1$ | -| `lagrange_masking` | Masking rows in full circuit | $i \in [2^{17} - m \cdot I_{\text{size}}, \ 2^{17})$ | +| `lagrange_masking` | Scattered masking rows in full circuit | $i \in \{j \cdot 2^{13} + k : j \in [0,16), k \in [2^{13} - m, 2^{13})\}$ | | `lagrange_mini_masking` | Masking rows in mini circuit | $i \in [z_1, \ z_1 + r_{\textsf{start}}) \cup [n - r_{\textsf{end}}, \ n)$ | | `lagrange_even_in_minicircuit` | Even indices in real mini-circuit | $i \in \{u \ \| \ u \ \% \ 2 = 0, \ (z_1 + r_{\textsf{start}}) \leq u < n - r_{\textsf{end}}\}$ | | `lagrange_odd_in_minicircuit` | Odd indices in real mini-circuit | $i \in \{u \ \| \ u \ \% \ 2 = 1, \ (z_1 + r_{\textsf{start}}) \leq u < n - r_{\textsf{end}}\}$ | | `lagrange_last_in_minicircuit` | Last row in mini-circuit | $i = 8191$ (mini) | | `lagrange_result_row` | Row containing final accumulator result | $i = (z_1 + r_{\textsf{start}})$ | | `lagrange_last_in_minicircuit` | Last real row in mini-circuit | $i = (n - r_{\textsf{end}}) - 1$ | +| `lagrange_ordered_masking` | Contiguous masking at end of circuit | $i \in [N - 64, N)$ | +| `lagrange_ordered_masking_adjacent` | Ordered masking + 1 adjacent row | $i \in [N - 65, N)$ | +| `lagrange_masking_adjacent` | Scattered masking + adjacent rows | One row before each block's masking region | | | | | -## Interleaving: The Key Optimization +## Concatenation: The Key Optimization The Translator must range-constrain approximately 64 different microlimb sets using permutation argument (and the delta range constraint). The permutation argument's degree equals $1 + \textsf{NUM\_COLS}$, where NUM_COLS is the number of columns being permuted: $$ z_{\textsf{perm}}[i+1] \cdot \prod_{j=1}^{\textsf{NUM\_COLS}} (\textsf{ordered}[j] + \gamma) = -z_{\textsf{perm}}[i] \cdot \prod_{j=1}^{\textsf{NUM\_COLS}} (\textsf{interleaved}[j] + \gamma) +z_{\textsf{perm}}[i] \cdot \prod_{j=1}^{\textsf{NUM\_COLS}} (\textsf{concatenated}[j] + \gamma) $$ The Problem: Permuting all ~64 microlimb columns simultaneously would require us to commit to all of them. Further, since the relation degree would be $1 + 64 = 65$, computing the sumcheck univariates could be a significant overhead for the prover. The prover would need to then commit to the univariates (instead of sending evaluations directly). -The Solution: Interleave 16 logical columns into one virtual column, and create 4 such columns (plus 1 for the extra column). Each group can then perform an independent permutation check with degree $1 + 5 = 6$ (or 7 with Lagrange selector). This reduces the relation degree from 65 to 7. +The Solution: Concatenate 16 logical columns into one polynomial, and create 4 such polynomials (plus 1 for the extra column). Each group can then perform an independent permutation check with degree $1 + 5 = 6$ (or 7 with Lagrange selector). This reduces the relation degree from 65 to 7. ### Circuit Structure ``` Mini-circuit size: 2^13 = 8,192 rows (actual computation) -Full circuit size: 2^13 x 16 = 2^17 = 131,072 rows (after interleaving) +Full circuit size: 2^13 x 16 = 2^17 = 131,072 rows (after concatenation) ``` -To compute the interleaved polynomials, we group 16 polynomials together and interleave their coefficients. Consider the following 16 polynomials each of size $n=2^{13}$ in the mini-circuit: +To compute the concatenated polynomials, we group 16 polynomials together and concatenate them end-to-end (lane bits as MSB). Consider the following 16 polynomials each of size $n=2^{13}$ in the mini-circuit: $$ \newcommand{\arraystretch}{1.2} @@ -478,39 +481,37 @@ n-1 & \textcolor{skyblue}{a_{n-1}} & \textcolor{orange}{b_{n-1}} & \textcolor{li \quad \longrightarrow \quad \begin{array}{|c|c|c|} \hline -\textsf{group} & \textsf{index} & \textsf{interleaved} \\ +\textsf{lane} & \textsf{index} & \textsf{concatenated} \\ \hline 0 & 0 & \textcolor{skyblue}{a_0} \\ -0 & 1 & \textcolor{orange}{b_0} \\ -0 & 2 & \textcolor{lightgreen}{c_0} \\ +0 & 1 & \textcolor{skyblue}{a_1} \\ +0 & 2 & \textcolor{skyblue}{a_2} \\ \vdots & \vdots & \vdots \\[3pt] -0 & 15 & \textcolor{firebrick}{p_0} \\ \hline -1 & 16 & \textcolor{skyblue}{a_1} \\ -1 & 17 & \textcolor{orange}{b_1} \\ -1 & 18 & \textcolor{lightgreen}{c_1} \\ +0 & n-1 & \textcolor{skyblue}{a_{n-1}} \\ \hline +1 & n & \textcolor{orange}{b_0} \\ +1 & n+1 & \textcolor{orange}{b_1} \\ +1 & n+2 & \textcolor{orange}{b_2} \\ \vdots & \vdots & \vdots \\[3pt] -1 & 31 & \textcolor{firebrick}{p_1} \\ \hline +1 & 2n-1 & \textcolor{orange}{b_{n-1}} \\ \hline \vdots & \vdots & \vdots \\ \hline -n-1 & 16n-16 & \textcolor{skyblue}{a_{n-1}} \\ -n-1 & 16n-15 & \textcolor{orange}{b_{n-1}} \\ -n-1 & 16n-14 & \textcolor{lightgreen}{c_{n-1}} \\ +15 & 15n & \textcolor{firebrick}{p_0} \\ +15 & 15n+1 & \textcolor{firebrick}{p_1} \\ +15 & 15n+2 & \textcolor{firebrick}{p_2} \\ \vdots & \vdots & \vdots \\[3pt] -n-1 & 16n-1 & \textcolor{firebrick}{p_{n-1}} \\ +15 & 16n-1 & \textcolor{firebrick}{p_{n-1}} \\ \hline \end{array} $$ -For 64 microlimb columns, we have 4 groups of 16 columns each, resulting in four interleaved polynomials each of size $16n = 2^{17}$. Note that the interleaved polynomials are not "physical" wires in the circuit trace: we refer to them as virtual polynomials. Each of these groups performs an independent permutation check: +For 64 microlimb columns, we have 4 groups of 16 columns each, resulting in four concatenated polynomials each of size $16n = 2^{17}$. The prover commits to these 5 concatenated polynomials (4 range constraint groups + 1 extra). Each of these groups performs an independent permutation check: -- Numerator: 4 interleaved wires + 1 extra = 5 terms +- Numerator: 4 concatenated wires + 1 extra = 5 terms - Denominator: 5 ordered wires = 5 terms - Degree: $1 + 5 = 6$ (or 7 with Lagrange) -The permutation argument verifies that within each group, the interleaved values are a permutation of the ordered (sorted) values. Due to interleaving, the total circuit size increases 16×, requiring more zero-padding. Interleaving trades circuit size (inexpensive) for relation degree (expensive). The 16× size increase is acceptable given the 9× degree reduction. +The permutation argument verifies that within each group, the concatenated values are a permutation of the ordered (sorted) values. Due to concatenation, the total circuit size increases 16×, requiring more zero-padding. Concatenation trades circuit size (inexpensive) for relation degree (expensive). The 16× size increase is acceptable given the 9× degree reduction. -> **Effect on Commitment Scheme**: For polynomials $p_0, \dots, p_{15}$ of size $n$, the interleaved polynomial of size $16n$ is: -> $$p_{\textsf{interleaved}}(x) = \sum_{i=0}^{15} x^i \cdot p_{i}(x^{16})$$ -> The interleaved polynomials don't need to be committed explicitly; they can be opened (at, say $\gamma$) by using the commitments to the original polynomials and their evaluations (at $\gamma^{16}$). This is explained in more detail in the [Gemini](../commitment_schemes/gemini/README.md) documentation. +> **Effect on Commitment Scheme**: The prover **commits** to the 5 concatenated polynomials. This reduces the proof size and recursive verification cost compared to committing to 64 individual microlimb wires. The verifier reconstructs evaluations of the concatenated polynomials from individual wire evaluations using Lagrange decomposition over the top 4 sumcheck challenges. ## Witness Generation and Proving Key Construction @@ -528,11 +529,11 @@ Input: EccOpQueue (n operations) Output: 91 polynomials of size 2^17 - 81 witness polynomials - 5 ordered range constraint polynomials - - 4 interleaved range constraint polynomials (virtual) + - 5 concatenated polynomials (committed) - 1 precomputed extra numerator ``` -**Note:** Witness generation happens in the **mini-circuit size** (2¹³ = 8,192 rows), then is expanded to **full circuit size** (2¹⁷ = 131,072 rows) through interleaving and zero-padding. +**Note:** Witness generation happens in the **mini-circuit size** (2¹³ = 8,192 rows), then is expanded to **full circuit size** (2¹⁷ = 131,072 rows) through concatenation and zero-padding. ### Step 1: Populate Transcript Polynomials @@ -675,27 +676,23 @@ The decomposition relation enforces $m_{\text{tail}} \in [0, 2^{14})$, which imp - 50-bit limbs (top limb): $m_3 \in [0, 2^8) \implies$ tail shift is $2^{14-8} = 64$ - 60-bit limbs (z high): $m_4 \in [0, 2^4)\implies$ tail shift is $2^{14-4} = 1024$ -### Step 5: Construct Interleaved Polynomials +### Step 5: Construct Concatenated Polynomials -The 64 microlimb columns are organized into 4 groups of 16 columns each. Each group is **interleaved** into a single polynomial at full circuit size. +The 64 microlimb columns are organized into 4 groups of 16 columns each. Each group is **concatenated** into a single polynomial at full circuit size. -**Interleaving formula:** For group polynomials $\{p_0, p_1, \ldots, p_{15}\}$ each of mini-size $n = 2^{13}$: +**Concatenation formula:** For group polynomials $\{p_0, p_1, \ldots, p_{15}\}$ each of mini-size $n = 2^{13}$: -$$p_{\text{interleaved}}(x) = \sum_{j=0}^{15} x^j \cdot p_j(x^{16})$$ - -**In coefficient form:** Element at position $i \cdot 16 + j$ in the interleaved polynomial comes from row $i$ of polynomial $p_j$: - -$$p_{\text{interleaved}}[i \cdot 16 + j] = p_j[i] \quad \text{for } i \in [0, n), \ j \in [0, 16)$$ +$$p_{\text{concatenated}}[j \cdot n + k] = p_j[k] \quad \text{for } j \in [0, 16), \ k \in [0, n)$$ This expands the circuit from mini-size $2^{13}$ to full size $2^{17} = 2^{13} \times 16$. -**Illustration:** We have a total of 64 microlimb columns, each with $n = 2^{13}$ rows (mini-circuit size). We illustrate the microlimb distribution and interleaving process below: +**Illustration:** We have a total of 64 microlimb columns, each with $n = 2^{13}$ rows (mini-circuit size). We illustrate the microlimb distribution and concatenation process below: 1. Let $I_{\textsf{size}} = 16$ be the number of microlimb columns in one group. Since we have 64 microlimb columns, we will have 4 groups. 2. Each group separates the microlimbs into circuit witnesses ($n-m$ rows in orange) and masking values ($m$ rows in gray). -3. For each group, we interleave the microlimbs to create one interleaved polynomial of size $(n - m) \cdot I_{\textsf{size}}$ for circuit witnesses and $m \cdot I_{\textsf{size}}$ for masking values. +3. For each group, we concatenate the microlimbs end-to-end to create one concatenated polynomial of size $n \cdot I_{\textsf{size}}$. Within each of the $I_{\textsf{size}}$ blocks, the last $m$ rows are masking values, so masking is scattered across the concatenated polynomial (not contiguous at the end). $$ \begin{array}{rllll} @@ -800,83 +797,56 @@ m } \end{array} -\xrightarrow[]{\textsf{interleaved polys}} +\xrightarrow[]{\textsf{concatenated polys}} -\begin{array}{lllll} +\begin{array}{ll} I_1 \quad I_2 \quad I_3 \quad I_4 \\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -& -N - m \cdot I_{\textsf{size}} +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +& n - m +\\[-10pt] +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +& m +\\[-10pt] +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\\[-10pt] +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\\ +\quad\vdots & \scriptstyle{\times\,16\text{ lanes}} \\ +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \\[-10pt] -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -& -m \cdot I_{\textsf{size}} +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \end{array} $$ ### Step 6: Construct Ordered (Sorted) Polynomials -The permutation argument requires proving that the interleaved microlimbs equal the **sorted** microlimbs. The prover constructs 5 ordered polynomials by collecting microlimbs from all 64 columns, sorting them, and distributing across ordered polynomials with inserted step values. We first describe the mathematical setup and then illustrate the construction steps. +The permutation argument requires proving that the concatenated microlimbs equal the **sorted** microlimbs. The prover constructs 5 ordered polynomials by collecting microlimbs from all 64 columns, sorting them, and distributing across ordered polynomials with inserted step values. We first describe the mathematical setup and then illustrate the construction steps. **Constants:** - Mini-circuit size: $n = 2^{13} = 8{,}192$ - Number of masked rows in mini-circuit: $m = 4$ - Mini-circuit size without masking: $(n - m) = 8{,}188$ -- Number of interleaving groups: $G = 4$ +- Number of concatenation groups: $G = 4$ - Group size: $I_{\text{size}} = 16$ (polynomials per group) - Full circuit size: $N := n \cdot I_{\text{size}} = 2^{17} = 131{,}072$ - Circuit size without masking: $N_{\text{no-mask}} = N - m \cdot I_{\textsf{size}}$ @@ -962,172 +932,93 @@ $$ Then sort: $$\text{ordered}[4] = \text{sort}(\text{ordered}[4]_{\text{unsorted}})$$ -**Illustration:** We start with the 4 interleaved polynomials constructed earlier: +**Illustration:** We start with the 4 concatenated range constraint polynomials constructed earlier: 1. First, we add an extra numerator polynomial $I_5$ containing the step values (shown in green, repeated 5 times) to enable the delta range constraint. -2. The remainder of $I_5$ is filled with zero-padding (shown in violet) to match the size $N$ of the interleaved polynomials. +2. The remainder of $I_5$ is filled with zero-padding (shown in violet) to match the size $N$ of the concatenated polynomials. -3. In the four interleaved polynomials, we have circuit witness values (orange) and masking values (gray). We also show the overflow microlimbs that will go into the 5th ordered polynomial (smaller orange boxes). +3. In the four concatenated polynomials, we have circuit witness values (orange) and masking values (gray), scattered across 16 lanes. Some circuit witness values overflow into the 5th ordered polynomial. -4. We then construct the ordered polynomials $O_1, \dots, O_5$ by adding the step values into each interleaved polynomial and sorting the witness values appropriately. +4. We then construct the ordered polynomials $O_1, \dots, O_5$ by adding the step values into each concatenated polynomial and sorting the witness values appropriately. -5. The randomess in the masking region (gray) is redistributed to ensure that the multisets of the interleaved polynomials plus extra numerator equal the multisets of the ordered polynomials. Hence, the number of masking rows in each of the ordered polynomials is at least $\left\lfloor\frac{4 \cdot m \cdot I_{\textsf{size}}}{5}\right\rfloor$. The remainder of the rows in each ordered polynomial is filled with zero-padding. +5. The randomness in the masking region (gray) is redistributed to ensure that the multisets of the concatenated polynomials plus extra numerator equal the multisets of the ordered polynomials. Hence, the number of masking rows in each of the ordered polynomials is at least $\left\lfloor\frac{4 \cdot m \cdot I_{\textsf{size}}}{5}\right\rfloor$. The remainder of the rows in each ordered polynomial is filled with zero-padding. $$ -\begin{array}{rllll} -& I_1 \quad I_2 \quad I_3 \quad I_4 \\ -N - m \cdot I_{\textsf{size}} -& -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[60pt] -\end{array} -}} +\begin{array}{ll} +I_1 \quad I_2 \quad I_3 \quad I_4 \\ +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +& n - m +\\[-10pt] +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +& m +\\[-10pt] +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\\[-10pt] +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\\ +\quad\vdots & \scriptstyle{\times\,16\text{ lanes}} \\ +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \\[-10pt] -m \cdot I_{\textsf{size}} -& -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \end{array} \xrightarrow[]{\textsf{add extra numerator}} -\begin{array}{lrrrrr} +\begin{array}{ll} I_1 \quad I_2 \quad I_3 \quad I_4 \\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[25pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[25pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[25pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\ \\ \\ \\ \\ \\ \\[25pt] -\end{array} -}} -\\ +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +& n - m \\[-10pt] -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\[1pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\[1pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\[1pt] -\end{array} -}} -\ -\textcolor{orange}{ -\boxed{ -\begin{array}{c} -\\[1pt] -\end{array} -}} +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +& m +\\[-10pt] +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\\[-10pt] +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\\ +\quad\vdots & \scriptstyle{\times\,16\text{ lanes}} \\ +\textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} +\ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \\[-10pt] -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} -\ -\textcolor{gray}{ -\boxed{ -\begin{array}{c} -\\[-3pt]\\[-3pt] -\end{array} -}} +\textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} +\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \end{array} \begin{array}{l} @@ -1370,9 +1261,9 @@ O_1 \quad O_2 \ \ O_3 \quad O_4 \\ \end{array} $$ -> In our case, we have $m=4$ and $I_{\textsf{size}}=16$ which results in $(m \cdot I_{\textsf{size}}) = 64$ masked rows in each interleaved polynomials. Thus, each ordered polynomial will have at least $\left\lfloor\frac{4 \cdot 64}{5}\right\rfloor = 51$ masked rows. The remainder masked rows are added to the respective ordered polynomials. The masking rows in each ordered polynomial are padded with zero values to ensure the multiset equality holds. +> In our case, we have $m=4$ and $I_{\textsf{size}}=16$ which results in $(m \cdot I_{\textsf{size}}) = 64$ masked rows in each concatenated polynomial. Thus, each ordered polynomial will have at least $\left\lfloor\frac{4 \cdot 64}{5}\right\rfloor = 51$ masked rows. The remainder masked rows are added to the respective ordered polynomials. The masking rows in each ordered polynomial are padded with zero values to ensure the multiset equality holds. > -> As illustrated, the two sets of interleaved and ordered polynomials satisfy the multiset equality: +> As illustrated, the two sets of concatenated and ordered polynomials satisfy the multiset equality: > $$\bigcup_{i=1}^5 I_i = \bigcup_{i=1}^5 O_i.$$ ### Step 7: Zero-Knowledge Masking @@ -1394,7 +1285,7 @@ For each of the witness polynomials, the masking region is defined as the last $ $$[n - m, \ n).$$ -After interleaving, the 4 interleaved polynomials have random values at positions: +With concatenation, the 4 concatenated polynomials have random values at positions: $$[N - m \cdot I_{\textsf{size}}, \ N).$$ @@ -1402,7 +1293,7 @@ Where $m = r_{\textsf{end}} = 4$ (the same 4 rows used for ZK sumcheck masking). #### Redistributing Randomness to Ordered Polynomials -The ordered polynomials must be committed (unlike interleaved polynomials, which are virtual). To maintain zero-knowledge, the prover redistributes the random values from the 4 interleaved to the 5 ordered polynomials. As illustrated above, each ordered polynomial receives approximately an equal share of the randomness from the interleaved polynomials. The total number of random values in the interleaved polynomials: +The ordered polynomials must be committed. To maintain zero-knowledge, the prover redistributes the random values from the 4 concatenated to the 5 ordered polynomials. As illustrated above, each ordered polynomial receives approximately an equal share of the randomness from the concatenated polynomials. The total number of random values in the concatenated polynomials: $$M = 4 \cdot m \cdot I_{\textsf{size}}.$$ @@ -1415,7 +1306,7 @@ $$ the remaining positions in the ordered masking region are filled with zeros. -**Note:** The same random values appear in both interleaved and ordered polynomials (just at different positions within the masking region). This is why the $\beta \cdot L_{\text{mask}}$ term is needed in the permutation relation - see [RELATIONS.md](RELATIONS.md#permutation-relation-mathematical-specification) for details. +**Note:** The same random values appear in both concatenated and ordered polynomials (just at different positions within the masking region). This is why the $\beta \cdot L_{\text{mask}}$ term is needed in the permutation relation - see [RELATIONS.md](RELATIONS.md#permutation-relation-mathematical-specification) for details. Some positions in the ordered masking region contain random values, others contain zeros. The `ordered_extra_range_constraints_numerator` compensates for these zeros in the permutation check. @@ -1446,7 +1337,7 @@ where $\text{sorted\_steps} = \{0, 3, 6, 9, \ldots, 16383\}$. This ensures the multisets balance: -- **Numerator:** 4 interleaved + 1 extra (with 5 copies of each step value) +- **Numerator:** 4 concatenated range constraints + 1 extra (with 5 copies of each step value) - **Denominator:** 5 ordered (each with 1 copy of each step value) ## Translator Relations diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/RELATIONS.md b/barretenberg/cpp/src/barretenberg/translator_vm/RELATIONS.md index 77519c642fb3..82cb0a04e545 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/RELATIONS.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/RELATIONS.md @@ -433,7 +433,7 @@ Together they guarantee: All limb decompositions are valid and all values are co The Permutation Relation is the foundation of all range constraints in the Translator circuit. It proves that every microlimb value used in the circuit belongs to the set $[0, 2^{14} - 1]$. The relation uses a grand product argument comparing two multisets: -- **Interleaved multiset:** All microlimbs as they appear in the circuit (spread across 16 segments due to interleaving) +- **Concatenated multiset:** All microlimbs as they appear in the circuit (spread across 16 blocks in the concatenated polynomials) - **Ordered multiset:** The same values, but sorted in ascending order If the two multisets are equal (i.e., one is a permutation of the other), then all values are valid. @@ -451,30 +451,33 @@ $$\{0, 3, 6, 9, \ldots, 16380, 16383\}$$ resulting in $\left\lceil\frac{16384}{3}\right\rceil = 5462$ values. This ensures that any microlimb value $ \leq 16383$ can be proven to be in range by showing it appears in the ordered multiset. We prove equality of multisets using a grand product argument. The correctness of the ordered multiset is proven by the Delta Range Constraints described in the next section. -**Balancing the multisets:** The 4 interleaved wires contain only circuit microlimbs, while each of the 5 ordered wires contains circuit microlimbs plus the step sequence. To balance this, we add a 5th numerator wire (`ordered_extra_range_constraints_numerator`) containing 5 copies of the step sequence—one for each ordered wire. This ensures the multisets have equal cardinality. The Delta Range Constraints enforce that each value in the ordered multiset differs from the previous by at most 3. +**Balancing the multisets:** The 4 concatenated range constraint wires contain only circuit microlimbs, while each of the 5 ordered wires contains circuit microlimbs plus the step sequence. To balance this, we add a 5th numerator wire (`ordered_extra_range_constraints_numerator`) containing 5 copies of the step sequence—one for each ordered wire. This ensures the multisets have equal cardinality. The Delta Range Constraints enforce that each value in the ordered multiset differs from the previous by at most 3. --- ### Subrelation 1: Grand Product Identity -**Purpose:** Prove the interleaved and ordered multisets are equal via grand product. +**Purpose:** Prove the concatenated and ordered multisets are equal via grand product. The grand product polynomial $z_{\text{perm}}$ is defined recursively: -$$\boxed{z_{\text{perm}}[i+1] \cdot \prod_{j=0}^{4} \left( w_j^{\text{ordered}}[i] + \beta \cdot L_{\text{mask}}[i] + \gamma \right) = z_{\text{perm}}[i] \cdot \prod_{j=0}^{4} \left( w_j^{\text{interleaved}}[i] + \beta \cdot L_{\text{mask}}[i] + \gamma \right)}$$ +$$\boxed{z_{\text{perm}}[i+1] \cdot \prod_{j=0}^{4} \left( w_j^{\text{ordered}}[i] + \beta \cdot L_{\text{ordered\_masking}}[i] + \gamma \right) = z_{\text{perm}}[i] \cdot \prod_{j=0}^{3} \left( w_j^{\text{concatenated}}[i] + \beta \cdot L_{\text{masking}}[i] + \gamma \right) \cdot \left( w_4^{\text{concatenated}}[i] + \beta \cdot L_{\text{ordered\_masking}}[i] + \gamma \right)}$$ where: -- $w_j^{\text{interleaved}}[i]$: The $j$-th interleaved range constraint wire at row $i$ +- $w_j^{\text{concatenated}}[i]$: The $j$-th concatenated range constraint wire at row $i$ - $w_j^{\text{ordered}}[i]$: The $j$-th ordered (sorted) range constraint wire at row $i$ - $\beta, \gamma$: Random challenges (from Fiat-Shamir) -- $L_{\text{mask}}[i]$: Lagrange polynomial indicating masking rows (for zero-knowledge) +- $L_{\text{masking}}[i]$: Lagrange polynomial indicating masking rows for the 4 concatenated range constraint wires (scattered across the 16 blocks) +- $L_{\text{ordered\_masking}}[i]$: Lagrange polynomial indicating masking rows for the ordered wires and the extra numerator wire (contiguous at the end) -The term $(\beta \cdot L_{\text{mask}}[i])$ on both sides enforces that the zero-knowledge masking values in both sets are identical. -It is added only to the masking region, to avoid interfering with the actual circuit values (which must be in the range $[0, 2^{14} - 1]$). +The beta masking terms enforce that the zero-knowledge masking values in both sets are identical. +The numerator uses TWO different masking selectors: $L_{\text{masking}}$ for the 4 concatenated range constraint factors (scattered across 16 blocks), and $L_{\text{ordered\_masking}}$ for the extra numerator factor. +The denominator uses $L_{\text{ordered\_masking}}$ for all 5 ordered factors. +These are added only to the masking regions, to avoid interfering with the actual circuit values (which must be in the range $[0, 2^{14} - 1]$). The subrelation is then expressed, with boundary conditions, as: -$$\boxed{\left( z_{\text{perm}} + L_{\text{first}} \right) \cdot \prod_{j=0}^{4} \left( w_j^{\text{interleaved}} + \beta \cdot L_{\text{mask}} + \gamma \right) = \left( z_{\text{perm}}^{\text{shift}} + L_{\text{last}} \right) \cdot \prod_{j=0}^{4} \left( w_j^{\text{ordered}} + \beta \cdot L_{\text{mask}} + \gamma \right)}$$ +$$\boxed{\left( z_{\text{perm}} + L_{\text{first}} \right) \cdot \prod_{j=0}^{3} \left( w_j^{\text{concatenated}} + \beta \cdot L_{\text{masking}} + \gamma \right) \cdot \left( w_4^{\text{concatenated}} + \beta \cdot L_{\text{ordered\_masking}} + \gamma \right) = \left( z_{\text{perm}}^{\text{shift}} + L_{\text{last}} \right) \cdot \prod_{j=0}^{4} \left( w_j^{\text{ordered}} + \beta \cdot L_{\text{ordered\_masking}} + \gamma \right)}$$ where: @@ -489,7 +492,7 @@ If the two multisets are equal: 2. After processing all rows, the grand product returns to 1 (accounting for initialization/finalization) 3. If any value is out of range or missing from the sorted set, the product cannot telescope correctly -Active when: All rows (both even and odd in the full interleaved circuit) +Active when: All rows (both even and odd in the full concatenated circuit) Degree: 6 (each side is linear polynomial × product of 5 linear terms) @@ -521,7 +524,7 @@ What it proves: 2. Consecutive values differ by at most `SORT_STEP = 3` 3. The final value in each column is exactly $2^{14} - 1 = 16383$ -The Permutation Relation only proves the multisets are equal. Without the Delta Range Constraint, an attacker could provide out of range values and the permutation would still pass if the interleaved set matches. +The Permutation Relation only proves the multisets are equal. Without the Delta Range Constraint, an attacker could provide out of range values and the permutation would still pass if the concatenated set matches. The relation consists of 10 subrelations: @@ -536,15 +539,15 @@ Purpose: Enforce that each ordered wire is in non-descending order with maximum For each ordered wire $j \in \{0, 1, 2, 3, 4\}$: -$$\boxed{\left( L_{\text{real\_last}} + L_{\text{mask}} - 1 \right) \cdot \Delta_j \cdot (\Delta_j - 1) \cdot (\Delta_j - 2) \cdot (\Delta_j - 3) = 0}$$ +$$\boxed{\left( L_{\text{real\_last}} - 1 \right) \cdot \left( L_{\text{ordered\_masking\_adjacent}} - 1 \right) \cdot \Delta_j \cdot (\Delta_j - 1) \cdot (\Delta_j - 2) \cdot (\Delta_j - 3) = 0}$$ where: $$\Delta_j := w_j^{\text{ordered}}[i+1] - w_j^{\text{ordered}}[i].$$ -When active, it forces: $\Delta_j \in \{0, 1, 2, 3\}$. The constraint is active when: +When active, it forces: $\Delta_j \in \{0, 1, 2, 3\}$. The constraint is disabled when EITHER: -- $L_{\text{real\_last}} = 0$ (not the last real row) -- $L_{\text{mask}} = 0$ (not a masking row) +- $L_{\text{real\_last}} = 1$ (the last real row), OR +- $L_{\text{ordered\_masking\_adjacent}} = 1$ (an ordered masking row or its neighbor) Why maximum step 3? To ensure full coverage of $[0, 2^{14} - 1]$, we insert "step values" into the sorted array: @@ -684,10 +687,10 @@ Degree: 2 (Lagrange × difference) ### Zero Constraints Relation The Zero Constraints Relation enforces that certain witness wires are zero outside the mini-circuit. -Due to interleaving, the full circuit is 16× larger than the mini-circuit: +Due to concatenation, the full circuit is 16× larger than the mini-circuit: - Mini-circuit: $2^{13} = 8,192$ rows (actual computation) -- Full circuit: $2^{17} = 131,072$ rows (for interleaving optimization) +- Full circuit: $2^{17} = 131,072$ rows (for concatenation optimization) Rows outside the mini-circuit (rows 8,192 to 131,071) must be zero. All the range constraint microlimb wires and transcript wires should be zero outside the mini-circuit. Thus, for each such wire $w$, we enforce: diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index a49ce5c4f322..723e212bb133 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -74,8 +74,7 @@ class TranslatorFlavor { // How many mini_circuit_size polynomials are concatenated in one concatenated poly static constexpr size_t CONCATENATION_GROUP_SIZE = 16; - // The fixed log size of Translator circuit determining the size most polynomials (except the ones - // involved in the interleaving subprotocol). It should be determined by the size of the EccOpQueue. + // The fixed log size of Translator mini circuit. It should be determined by the size of the EccOpQueue. static constexpr size_t LOG_MINI_CIRCUIT_SIZE = CONST_TRANSLATOR_MINI_CIRCUIT_LOG_SIZE; // Log of size of concatenated and ordered polynomials @@ -122,12 +121,6 @@ class TranslatorFlavor { "Translator circuit is too small for defined number of steps " "(TranslatorDeltaRangeConstraintRelation). "); - // The limbs of the modulus we are emulating in the goblin translator. 4 binary 68-bit limbs and the prime one - static constexpr const std::array& negative_modulus_limbs() - { - return CircuitBuilder::NEGATIVE_MODULUS_LIMBS; - } - // Number of bits in a binary limb // This is not a configurable value. Relations are sepcifically designed for it to be 68 static constexpr size_t NUM_LIMB_BITS = CircuitBuilder::NUM_LIMB_BITS; @@ -456,25 +449,6 @@ class TranslatorFlavor { WireToBeShiftedEntities::get_all()); }; - /** - * @brief Get only the op queue wires (provided by merge protocol, not committed to in translator) - */ - auto get_op_queue_wires() - { - return concatenate(OpQueueWireNonshiftedEntities::get_all(), - OpQueueWiresToBeShiftedEntities::get_all()); - }; - - /** - * @brief Witness Entities to which the prover commits and do not require challenges (i.e. not derived). - */ - auto get_wires_and_ordered_range_constraints() - { - return concatenate(WireNonshiftedEntities::get_all(), - WireToBeShiftedEntities::get_all(), - OrderedRangeConstraints::get_all()); - }; - /** * @brief Concatenated polynomials and ordered range constraints (committed to by translator prover). * @details 5 concatenated + 5 ordered = 10 commitments. diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp index 691d2f9f581f..a1e817282db8 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp @@ -191,18 +191,17 @@ void TranslatorProver::execute_pcs_rounds() small_subgroup_ipa_prover.prove(); PolynomialBatcher polynomial_batcher(key->proving_key->circuit_size); - // Set unshifted: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concatenated(5) = 14 - // (12 computable precomputed selectors excluded — verifier computes them locally) - polynomial_batcher.set_unshifted(key->proving_key->polynomials.get_unshifted_without_concatenated()); - // Set to-be-shifted: op_queue(3) + ordered(5) + z_perm(1) + concatenated(5) + auto to_be_shifted = key->proving_key->polynomials.get_to_be_shifted(); auto concatenated = key->proving_key->polynomials.get_concatenated(); - auto combined_shifted = concatenate(to_be_shifted, concatenated); - polynomial_batcher.set_to_be_shifted_by_one(combined_shifted); - // Also add concatenated polys to unshifted (they need both unshifted and shifted PCS claims) + + // Unshifted: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concatenated(5) = 14 + // (12 computable precomputed selectors excluded — verifier computes them locally) auto unshifted_base = key->proving_key->polynomials.get_unshifted_without_concatenated(); - auto combined_unshifted = concatenate(unshifted_base, concatenated); - polynomial_batcher.set_unshifted(combined_unshifted); + polynomial_batcher.set_unshifted(concatenate(unshifted_base, concatenated)); + + // Shifted: op_queue(3) + ordered(5) + z_perm(1) + concatenated(5) = 14 + polynomial_batcher.set_to_be_shifted_by_one(concatenate(to_be_shifted, concatenated)); const OpeningClaim prover_opening_claim = ShpleminiProver_::prove(key->proving_key->circuit_size, diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp index 89eedb78e2d6..b3a924bbc2c7 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp @@ -37,8 +37,8 @@ void TranslatorProvingKey::compute_concatenated_polynomials() auto& group = groups[i]; auto& current_target = targets[i]; - // For group 4 (non-range), the last 3 slots are null padding (point to concatenated_non_range itself). - // These are zero-initialized polynomials, so we skip them. + // For group 4 (non-range), the last 3 slots are null padding (static zero values). + // These are zero-initialized, so we skip them. if (i == 4 && j >= 13) { return; // null padding slots - leave as zero } @@ -121,8 +121,8 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia std::advance(ordered_vector_it, free_space_before_runway); std::copy(sorted_elements.cbegin(), sorted_elements.cend(), ordered_vector_it); - // Sort the polynomial in nondescending order. We sort using the size_t vector for 2 reasons: - // 1. It is faster to sort size_t + // Sort the polynomial in nondescending order. We sort using the uint32_t vector for 2 reasons: + // 1. It is faster to sort integers // 2. Comparison operators for finite fields are operating on internal form, so we'd have to convert them // from Montgomery std::sort(ordered_vectors_uint.begin(), ordered_vectors_uint.end()); @@ -171,8 +171,8 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia } /** - * @brief Distribute the randomness from the 5 concatenated polynomials to the 5 ordered range constraints such that - * commitments and evaluations of ordered polynomials and their shifts are hidden. + * @brief Distribute the randomness from the 4 concatenated range constraint polynomials to the 5 ordered range + * constraints such that commitments and evaluations of ordered polynomials and their shifts are hidden. * * @details With concatenation, masking values are at scattered positions: the last NUM_MASKED_ROWS_END rows * of each block (positions [j * MINI + (MINI - NUM_MASKED_ROWS_END), j * MINI + MINI) for each j in [0,16)). @@ -231,7 +231,8 @@ void TranslatorProvingKey::split_concatenated_random_coefficients_to_ordered() * * @details With concatenation, lagrange_masking is scattered across 16 blocks (end of each block), * and lagrange_masking_adjacent is 1 at masking rows AND the row immediately preceding each masking block. - * lagrange_real_last is moved to the last non-masking row before block 15's masking region. + * lagrange_real_last marks the last row with sorted values in ordered polynomials (before the contiguous + * masking region at the end). */ void TranslatorProvingKey::compute_lagrange_polynomials() { diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp index e0bbe0bc6395..9ff1dfa3016f 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.hpp @@ -83,7 +83,7 @@ class TranslatorProvingKey { compute_lagrange_polynomials(); // Construct the extra range constraint numerator which contains all the additional values in ordered range - // constraints not present in the interleaved polynomials + // constraints not present in the concatenated polynomials // NB this will always have a fixed size unless we change the allowed range compute_extra_range_constraint_numerator(); From 4f8a9a4c64fe441ea28cd3d4ac9e8dc9349a79c6 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 18:07:26 +0000 Subject: [PATCH 04/24] expand tests --- .../relation_correctness.test.cpp | 458 ++++++++++++++--- .../translator_vm/relation_failure.test.cpp | 477 ++++++++++++++++++ 2 files changed, 871 insertions(+), 64 deletions(-) create mode 100644 barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp index 3c4ed29cb100..27fb8bd77fa0 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp @@ -5,7 +5,7 @@ #include "barretenberg/translator_vm/translator_proving_key.hpp" #include -#include +#include using namespace bb; class TranslatorRelationCorrectnessTests : public ::testing::Test { @@ -591,20 +591,12 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgePermutation) using FF = typename Flavor::FF; using ProverPolynomials = typename Flavor::ProverPolynomials; - const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; auto& engine = numeric::get_debug_randomness(); TranslatorProvingKey key{}; key.proving_key = std::make_shared(); ProverPolynomials& prover_polynomials = key.proving_key->polynomials; - // Reallocate lagrange polynomials to full circuit size for manual testing - prover_polynomials.lagrange_first = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_last = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); - // Fill required relation parameters RelationParameters params{ .beta = FF::random_element(), .gamma = FF::random_element() }; @@ -629,27 +621,7 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgePermutation) } } - // Fill in lagrange polynomials used in the permutation relation - prover_polynomials.lagrange_first.at(0) = 1; - // lagrange_real_last is at the last non-masking row of block 15 - const size_t real_last_index = - 15 * Flavor::MINI_CIRCUIT_SIZE + (Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END - 1); - prover_polynomials.lagrange_real_last.at(real_last_index) = 1; - prover_polynomials.lagrange_last.at(full_circuit_size - 1) = 1; - // lagrange_masking is scattered: last NUM_MASKED_ROWS_END rows of each of the 16 blocks - for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { - for (size_t k = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END; k < Flavor::MINI_CIRCUIT_SIZE; k++) { - prover_polynomials.lagrange_masking.at(j * Flavor::MINI_CIRCUIT_SIZE + k) = 1; - } - } - // lagrange_masking_adjacent is 1 where lagrange_masking[i]=1 OR lagrange_masking[i+1]=1 - for (size_t i = 0; i < full_circuit_size; i++) { - if (prover_polynomials.lagrange_masking.at(i) == 1 || - (i + 1 < full_circuit_size && prover_polynomials.lagrange_masking.at(i + 1) == 1)) { - prover_polynomials.lagrange_masking_adjacent.at(i) = 1; - } - } - + key.compute_lagrange_polynomials(); key.compute_concatenated_polynomials(); key.compute_extra_range_constraint_numerator(); key.compute_translator_range_constraint_ordered_polynomials(); @@ -658,10 +630,12 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgePermutation) compute_grand_product>(prover_polynomials, params); // Check that permutation relation is satisfied across each row of the prover polynomials - RelationChecker::check>( - prover_polynomials, params, "TranslatorPermutationRelation"); - RelationChecker::check>( + auto perm_failures = RelationChecker::check>( prover_polynomials, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(perm_failures.empty()); + auto delta_failures = RelationChecker::check>( + prover_polynomials, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(delta_failures.empty()); } TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgeDeltaRange) @@ -675,44 +649,17 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgeDeltaRange) key.proving_key = std::make_shared(); ProverPolynomials& prover_polynomials = key.proving_key->polynomials; - const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; - const size_t full_masking_offset = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::CONCATENATION_GROUP_SIZE; const size_t dyadic_circuit_size_without_masking = TranslatorProvingKey::dyadic_circuit_size_without_masking; - // Reallocate lagrange polynomials to full circuit size for manual testing - prover_polynomials.lagrange_first = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); - - // Construct lagrange polynomials that are needed for Translator's DeltaRangeConstraint Relation - prover_polynomials.lagrange_first.at(0) = 0; - // lagrange_real_last is at the last non-masking row of block 15 - const size_t real_last_index = - 15 * Flavor::MINI_CIRCUIT_SIZE + (Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END - 1); - prover_polynomials.lagrange_real_last.at(real_last_index) = 1; - - // lagrange_masking is scattered: last NUM_MASKED_ROWS_END rows of each of the 16 blocks - for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { - for (size_t k = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END; k < Flavor::MINI_CIRCUIT_SIZE; k++) { - prover_polynomials.lagrange_masking.at(j * Flavor::MINI_CIRCUIT_SIZE + k) = 1; - } - } - // lagrange_masking_adjacent is 1 where lagrange_masking[i]=1 OR lagrange_masking[i+1]=1 - for (size_t i = 0; i < key.dyadic_circuit_size; i++) { - if (prover_polynomials.lagrange_masking.at(i) == 1 || - (i + 1 < key.dyadic_circuit_size && prover_polynomials.lagrange_masking.at(i + 1) == 1)) { - prover_polynomials.lagrange_masking_adjacent.at(i) = 1; - } - } + key.compute_lagrange_polynomials(); // Create a vector and fill with necessary steps for the DeltaRangeConstraint relation auto sorted_steps = TranslatorProvingKey::get_sorted_steps(); std::vector vector_for_sorting(sorted_steps.begin(), sorted_steps.end()); - // Add random values in the appropriate range to fill the leftover space + // Add random values in the appropriate range to fill the leftover space (before masking region) for (size_t i = sorted_steps.size(); - i < prover_polynomials.ordered_range_constraints_0.size() - full_masking_offset; + i < prover_polynomials.ordered_range_constraints_0.size() - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; i++) { vector_for_sorting.emplace_back(engine.get_random_uint16() & ((1 << Flavor::MICRO_LIMB_BITS) - 1)); } @@ -746,6 +693,389 @@ TEST_F(TranslatorRelationCorrectnessTests, ZeroKnowledgeDeltaRange) } // Check that DeltaRangeConstraint relation is satisfied across each row of the prover polynomials - RelationChecker::check>( + auto delta_range_failures = RelationChecker::check>( prover_polynomials, RelationParameters(), "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(delta_range_failures.empty()); +} + +/** + * @brief Test that compute_concatenated_polynomials() correctly maps wire values into concatenated polys. + * @details Verifies that non-masking positions contain the original wire values, masking positions contain + * random masking values, null padding slots (group 4, lanes 13-15) are zero, and position 0 in each block + * (below start_index=1) is zero. + */ +TEST_F(TranslatorRelationCorrectnessTests, ConcatenatedPolynomialLayout) +{ + using Flavor = TranslatorFlavor; + using FF = typename Flavor::FF; + + auto& engine = numeric::get_debug_randomness(); + + constexpr size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + auto& pp = key.proving_key->polynomials; + + // Fill group wire polynomials with deterministic 14-bit values in circuit region, random values in masking rows + auto groups = pp.get_groups_to_be_concatenated(); + for (size_t i = 0; i < groups.size(); i++) { + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + auto& poly = groups[i][j]; + if (poly.is_empty()) { + continue; + } + // Fill circuit region with deterministic 14-bit values + for (size_t k = poly.start_index(); k < poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k++) { + poly.at(k) = FF(engine.get_random_uint16() & ((1 << Flavor::MICRO_LIMB_BITS) - 1)); + } + // Fill masking rows with random FF values + for (size_t k = poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k < poly.end_index(); k++) { + poly.at(k) = FF::random_element(); + } + } + } + + key.compute_concatenated_polynomials(); + + auto concatenated = pp.get_concatenated(); + + // Re-fetch groups (they are RefVectors, so point to same data) + auto groups_after = pp.get_groups_to_be_concatenated(); + + for (size_t i = 0; i < groups_after.size(); i++) { + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + auto& poly = groups_after[i][j]; + + // Null padding slots in group 4 (lanes 13-15): all positions should be zero + if (i == 4 && j >= 13) { + for (size_t k = 0; k < MINI; k++) { + EXPECT_EQ(concatenated[i][j * MINI + k], FF(0)) + << "Null padding not zero at group=" << i << " lane=" << j << " row=" << k; + } + continue; + } + + // Position 0 in each block should be zero (below start_index=1) + EXPECT_EQ(concatenated[i][j * MINI + 0], FF(0)) << "Position 0 not zero at group=" << i << " lane=" << j; + + // Non-zero region: values should match original wire values + for (size_t k = poly.start_index(); k < poly.end_index(); k++) { + EXPECT_EQ(concatenated[i][j * MINI + k], poly[k]) + << "Mismatch at group=" << i << " lane=" << j << " row=" << k; + } + } + } +} + +/** + * @brief Test that split_concatenated_random_coefficients_to_ordered() redistributes all random values + * from the 4 range-constraint concatenated polys into the 5 ordered polys at contiguous end positions. + * @details Verifies that all 256 random values from scattered masking positions appear in ordered polys, + * and non-masking positions in ordered polys have only in-range sorted values. + */ +TEST_F(TranslatorRelationCorrectnessTests, RandomnessRedistributionIntegrity) +{ + using Flavor = TranslatorFlavor; + using FF = typename Flavor::FF; + + auto& engine = numeric::get_debug_randomness(); + + constexpr size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + constexpr size_t full_circuit_size = MINI * Flavor::CONCATENATION_GROUP_SIZE; + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + auto& pp = key.proving_key->polynomials; + + // Fill group wire polynomials + for (const auto& group : pp.get_groups_to_be_concatenated()) { + for (auto& poly : group) { + if (poly.is_empty()) { + continue; + } + for (size_t k = poly.start_index(); k < poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k++) { + poly.at(k) = FF(engine.get_random_uint16() & ((1 << Flavor::MICRO_LIMB_BITS) - 1)); + } + for (size_t k = poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k < poly.end_index(); k++) { + poly.at(k) = FF::random_element(); + } + } + } + + key.compute_concatenated_polynomials(); + key.compute_extra_range_constraint_numerator(); + + // Collect random values from scattered masking positions in concatenated[0..3] BEFORE redistribution + auto concatenated = pp.get_concatenated(); + std::multiset random_values_from_concat; + for (size_t i = 0; i < 4; i++) { // Only first 4 (range constraint) concatenated polys + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + size_t block_masking_start = j * MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK); + size_t block_masking_end = j * MINI + MINI; + for (size_t k = block_masking_start; k < block_masking_end; k++) { + random_values_from_concat.insert(uint256_t(concatenated[i][k])); + } + } + } + + // Total expected: 4 concat polys * 16 blocks * NUM_DISABLED_ROWS_IN_SUMCHECK rows + const size_t expected_total = 4 * Flavor::CONCATENATION_GROUP_SIZE * NUM_DISABLED_ROWS_IN_SUMCHECK; + EXPECT_EQ(random_values_from_concat.size(), expected_total); + + // Now compute ordered polynomials (which calls split_concatenated_random_coefficients_to_ordered) + key.compute_translator_range_constraint_ordered_polynomials(); + + // Collect random values from contiguous masking region at end of ordered polys. + // The random values from the 4 concatenated polys (4*16*4 = 256 values) are redistributed across 5 ordered polys, + // with each ordered poly getting at most MAX_RANDOM_VALUES_PER_ORDERED positions. Not all positions may be filled, + // so we collect only non-padding (non-zero) values. Since random FF elements are zero with negligible probability + // (1/p), this is safe. + auto ordered = pp.get_ordered_range_constraints(); + std::multiset random_values_from_ordered; + for (size_t i = 0; i < ordered.size(); i++) { + for (size_t pos = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; pos < full_circuit_size; pos++) { + FF val = ordered[i][pos]; + if (val != FF(0)) { + random_values_from_ordered.insert(uint256_t(val)); + } + } + } + + // The multisets should be equal (same values with same multiplicities) + EXPECT_EQ(random_values_from_concat, random_values_from_ordered); + + // Verify non-masking region of ordered polys has values in [0, 16383] + const size_t max_range_value = (1 << Flavor::MICRO_LIMB_BITS) - 1; + for (size_t i = 0; i < ordered.size(); i++) { + for (size_t pos = 1; pos < full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; pos++) { + uint256_t val = uint256_t(ordered[i][pos]); + EXPECT_LE(val, max_range_value) << "Out-of-range value in ordered poly " << i << " at position " << pos; + } + } +} + +/** + * @brief Test values at critical positions around block boundaries in concatenated polys. + * @details Verifies that sentinel circuit values and masking sentinels appear at the correct positions, + * and that block transitions (last masking row -> first row of next block) are correct. + */ +TEST_F(TranslatorRelationCorrectnessTests, BlockBoundaryEdgeCases) +{ + using Flavor = TranslatorFlavor; + using FF = typename Flavor::FF; + + constexpr size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + auto& pp = key.proving_key->polynomials; + + const FF circuit_sentinel(42); + const FF masking_sentinel(9999); + + // Fill wires with sentinels + auto groups = pp.get_groups_to_be_concatenated(); + for (size_t i = 0; i < groups.size(); i++) { + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + auto& poly = groups[i][j]; + if (poly.is_empty()) { + continue; + } + // Circuit region: fill with circuit_sentinel + for (size_t k = poly.start_index(); k < poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k++) { + poly.at(k) = circuit_sentinel; + } + // Masking region: fill with masking_sentinel + for (size_t k = poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k < poly.end_index(); k++) { + poly.at(k) = masking_sentinel; + } + } + } + + key.compute_concatenated_polynomials(); + + auto concatenated = pp.get_concatenated(); + + // Check boundary positions for each block in each group + for (size_t i = 0; i < groups.size(); i++) { + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + if (i == 4 && j >= 13) { + continue; // skip null padding + } + + // Last non-masking row: j*MINI + MINI - NUM_MASKED - 1 + // Note: NUM_DISABLED_ROWS_IN_SUMCHECK = NUM_MASKED_ROWS_END (== 4 for translator) + size_t last_circuit_row = j * MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK - 1); + EXPECT_EQ(concatenated[i][last_circuit_row], circuit_sentinel) + << "Last circuit row mismatch at group=" << i << " block=" << j; + + // First masking row: j*MINI + MINI - NUM_MASKED + size_t first_masking_row = j * MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK); + EXPECT_EQ(concatenated[i][first_masking_row], masking_sentinel) + << "First masking row mismatch at group=" << i << " block=" << j; + + // Last masking row: j*MINI + MINI - 1 + size_t last_masking_row = j * MINI + MINI - 1; + EXPECT_EQ(concatenated[i][last_masking_row], masking_sentinel) + << "Last masking row mismatch at group=" << i << " block=" << j; + + // First row of next block (if exists): should be zero (position 0 below start_index) + if (j + 1 < Flavor::CONCATENATION_GROUP_SIZE) { + size_t next_block_row_0 = (j + 1) * MINI + 0; + EXPECT_EQ(concatenated[i][next_block_row_0], FF(0)) + << "Next block row 0 not zero at group=" << i << " block=" << j; + + // Second row of next block: should be circuit_sentinel (first circuit value, start_index=1) + // But only if not a null padding slot + if (!(i == 4 && (j + 1) >= 13)) { + size_t next_block_row_1 = (j + 1) * MINI + 1; + EXPECT_EQ(concatenated[i][next_block_row_1], circuit_sentinel) + << "Next block row 1 mismatch at group=" << i << " block=" << j; + } + } + } + } +} + +/** + * @brief Test the boundary between sorted values and masking in ordered polynomials. + * @details Verifies that lagrange_real_last is at the correct position, ordered values are non-descending, + * the max range value appears at the last non-masking position, and position 0 is zero. + */ +TEST_F(TranslatorRelationCorrectnessTests, OrderedPolynomialBoundary) +{ + using Flavor = TranslatorFlavor; + using FF = typename Flavor::FF; + + auto& engine = numeric::get_debug_randomness(); + + constexpr size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + constexpr size_t full_circuit_size = MINI * Flavor::CONCATENATION_GROUP_SIZE; + const size_t max_range_value = (1 << Flavor::MICRO_LIMB_BITS) - 1; + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + auto& pp = key.proving_key->polynomials; + + // Fill group wire polynomials with random 14-bit values and random masking values + for (const auto& group : pp.get_groups_to_be_concatenated()) { + for (auto& poly : group) { + if (poly.is_empty()) { + continue; + } + for (size_t k = poly.start_index(); k < poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k++) { + poly.at(k) = FF(engine.get_random_uint16() & ((1 << Flavor::MICRO_LIMB_BITS) - 1)); + } + for (size_t k = poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k < poly.end_index(); k++) { + poly.at(k) = FF::random_element(); + } + } + } + + key.compute_lagrange_polynomials(); + key.compute_extra_range_constraint_numerator(); + key.compute_concatenated_polynomials(); + key.compute_translator_range_constraint_ordered_polynomials(); + + auto ordered = pp.get_ordered_range_constraints(); + const size_t last_non_masking = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; + + // The last non-masking position should hold the max range value (sorted_steps start from max) + for (size_t i = 0; i < ordered.size(); i++) { + EXPECT_EQ(ordered[i][last_non_masking], FF(max_range_value)) + << "Max range value not at last_non_masking for ordered poly " << i; + } + + // Ordered values should be non-descending in [1, last_non_masking] + for (size_t i = 0; i < ordered.size(); i++) { + for (size_t pos = 2; pos <= last_non_masking; pos++) { + uint256_t prev = uint256_t(ordered[i][pos - 1]); + uint256_t curr = uint256_t(ordered[i][pos]); + EXPECT_LE(prev, curr) << "Non-monotonic at ordered poly " << i << " position " << pos; + } + } + + // Position 0 in each ordered poly should be 0 (virtual zero for shift) + for (size_t i = 0; i < ordered.size(); i++) { + EXPECT_EQ(ordered[i][0], FF(0)) << "Position 0 not zero for ordered poly " << i; + } +} + +/** + * @brief Test that all masking-related lagrange selectors have correct values at every critical boundary. + * @details Checks lagrange_masking (scattered), lagrange_masking_adjacent (scattered + 1 row before), + * lagrange_ordered_masking (contiguous at end), lagrange_ordered_masking_adjacent (contiguous + 1), + * and lagrange_real_last at their boundary positions. + */ +TEST_F(TranslatorRelationCorrectnessTests, LagrangeSelectorBoundaryCorrectness) +{ + using Flavor = TranslatorFlavor; + using FF = typename Flavor::FF; + + constexpr size_t MINI = Flavor::MINI_CIRCUIT_SIZE; + constexpr size_t full_circuit_size = MINI * Flavor::CONCATENATION_GROUP_SIZE; + constexpr size_t NUM_MASKED = Flavor::NUM_MASKED_ROWS_END; + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + auto& pp = key.proving_key->polynomials; + + key.compute_lagrange_polynomials(); + + // --- lagrange_masking (scattered): 1 at last NUM_MASKED rows of each block --- + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + size_t block_masking_start = j * MINI + (MINI - NUM_MASKED); + // Row before masking should be 0 + EXPECT_EQ(pp.lagrange_masking[block_masking_start - 1], FF(0)) + << "lagrange_masking should be 0 before masking block " << j; + // All masking rows should be 1 + for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { + EXPECT_EQ(pp.lagrange_masking[k], FF(1)) << "lagrange_masking should be 1 at block=" << j << " pos=" << k; + } + } + + // --- lagrange_masking_adjacent: 1 at masking rows AND row before each masking block --- + for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { + size_t block_masking_start = j * MINI + (MINI - NUM_MASKED); + // Row before masking: should be 1 (adjacent) + if (block_masking_start > 0) { + EXPECT_EQ(pp.lagrange_masking_adjacent[block_masking_start - 1], FF(1)) + << "lagrange_masking_adjacent should be 1 at row before masking block " << j; + } + // Two rows before masking: should be 0 + if (block_masking_start > 1) { + EXPECT_EQ(pp.lagrange_masking_adjacent[block_masking_start - 2], FF(0)) + << "lagrange_masking_adjacent should be 0 two rows before masking block " << j; + } + // All masking rows should be 1 + for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { + EXPECT_EQ(pp.lagrange_masking_adjacent[k], FF(1)) + << "lagrange_masking_adjacent should be 1 at masking block=" << j << " pos=" << k; + } + } + + // --- lagrange_ordered_masking (contiguous at end) --- + EXPECT_EQ(pp.lagrange_ordered_masking[full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1], FF(0)) + << "lagrange_ordered_masking should be 0 one position before masking region"; + for (size_t i = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; i < full_circuit_size; i++) { + EXPECT_EQ(pp.lagrange_ordered_masking[i], FF(1)) << "lagrange_ordered_masking should be 1 at position " << i; + } + + // --- lagrange_ordered_masking_adjacent (contiguous + 1) --- + EXPECT_EQ(pp.lagrange_ordered_masking_adjacent[full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 2], + FF(0)) + << "lagrange_ordered_masking_adjacent should be 0 two positions before masking region"; + for (size_t i = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; i < full_circuit_size; i++) { + EXPECT_EQ(pp.lagrange_ordered_masking_adjacent[i], FF(1)) + << "lagrange_ordered_masking_adjacent should be 1 at position " << i; + } + + // --- lagrange_real_last --- + const size_t real_last_pos = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; + EXPECT_EQ(pp.lagrange_real_last[real_last_pos], FF(1)) << "lagrange_real_last should be 1 at real_last position"; + EXPECT_EQ(pp.lagrange_real_last[real_last_pos - 1], FF(0)) + << "lagrange_real_last should be 0 before real_last position"; + EXPECT_EQ(pp.lagrange_real_last[real_last_pos + 1], FF(0)) + << "lagrange_real_last should be 0 after real_last position"; } diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp new file mode 100644 index 000000000000..bbc743c9ca99 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp @@ -0,0 +1,477 @@ +/** + * @file relation_failure.test.cpp + * @brief Failure/negative tests for Translator scattered masking layout. + * + * Each test builds a fully valid TranslatorProvingKey (via build_valid_translator_state()), asserts that + * the target relation passes on clean data, then corrupts a specific witness value and verifies detection. + * All corruptions are witness-level only. + * + * Permutation relation (TranslatorPermutationRelation) — 5 tests: + * PermutationFailsOnConcatenatedCorruption — numerator (concatenated poly, block interior) + * PermutationFailsOnZPermCorruption — running product (z_perm mid-circuit) + * PermutationFailsOnOrderedCorruption — denominator (ordered poly, interior) + * PermutationFailsOnExtraNumeratorCorruption — 5th numerator factor (extra range numerator) + * PermutationFailsOnConcatenatedBlockBoundaryCorruption — block boundary (position j*MINI, zero gap) + * + * Delta range relation (TranslatorDeltaRangeConstraintRelation) — 6 tests: + * DeltaRangeFailsOnMaxValueCorruption — real_last position != 2^14-1 (subrelations 5-9) + * DeltaRangeFailsOnOrderedMaskingBoundary — last enforced row before masking region + * DeltaRangeFailsOnNegativeDelta — descending pair (D < 0 in field) + * DeltaRangeFailsOnDeltaFour — smallest forbidden step (D = 4) + * DeltaRangeFailsOnFirstSortedValueTooLarge — position 0->1 transition (virtual zero start) + * DeltaRangeFailsOnFifthOrderedPolyCorruption — 5th ordered poly (different build path) + * + * Pipeline correctness — 1 test: + * InRangeValueInMaskingFlowsToOrderedTail — trace FF(42) from wire masking through + * concatenation into ordered poly tail + */ +#include "barretenberg/honk/library/grand_product_library.hpp" +#include "barretenberg/honk/relation_checker.hpp" +#include "barretenberg/translator_vm/translator_flavor.hpp" +#include "barretenberg/translator_vm/translator_proving_key.hpp" +#include + +using namespace bb; + +namespace { + +using Flavor = TranslatorFlavor; +using FF = typename Flavor::FF; +using ProverPolynomials = typename Flavor::ProverPolynomials; + +/** + * @brief Result of building a valid translator state: the proving key and relation parameters. + */ +struct ValidTranslatorState { + TranslatorProvingKey key; + RelationParameters params; +}; + +/** + * @brief Construct a fully-valid TranslatorProvingKey with random 14-bit wire values, random masking values, + * all lagrange polynomials, concatenated/ordered polynomials, and the grand product z_perm. + * + * @details Mirrors the setup from ZeroKnowledgePermutation correctness test. Each failure test calls this, + * verifies the baseline passes, then corrupts a specific witness value. + */ +ValidTranslatorState build_valid_translator_state() +{ + const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + auto& engine = numeric::get_debug_randomness(); + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + ProverPolynomials& pp = key.proving_key->polynomials; + + // Fill group wire polynomials with random 14-bit values in circuit region, random FF in masking rows + for (const auto& group : pp.get_groups_to_be_concatenated()) { + for (auto& poly : group) { + if (poly.is_empty()) { + continue; + } + for (size_t i = poly.start_index(); i < poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; i++) { + poly.at(i) = engine.get_random_uint16() & ((1 << Flavor::MICRO_LIMB_BITS) - 1); + } + for (size_t i = poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; i < poly.end_index(); i++) { + poly.at(i) = FF::random_element(); + } + } + } + + // Reallocate lagrange polynomials to full circuit size and compute them + pp.lagrange_first = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_last = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); + + key.compute_lagrange_polynomials(); + key.compute_extra_range_constraint_numerator(); + key.compute_concatenated_polynomials(); + key.compute_translator_range_constraint_ordered_polynomials(); + + // Compute grand product + RelationParameters params{ .beta = FF::random_element(), .gamma = FF::random_element() }; + compute_grand_product>(pp, params); + + return { std::move(key), params }; +} + +} // anonymous namespace + +class TranslatorRelationFailureTests : public ::testing::Test { + protected: + static void SetUpTestSuite() { bb::srs::init_file_crs_factory(bb::srs::bb_crs_path()); } +}; + +/** + * @brief Corrupt a non-masking value in concatenated_range_constraints_0, creating a multiset mismatch + * (numerator changes but ordered/denominator is not updated). + */ +TEST_F(TranslatorRelationFailureTests, PermutationFailsOnConcatenatedCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: permutation relation passes + auto baseline = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline permutation should pass"; + + // Corrupt a non-masking position in block 1 of concatenated_range_constraints_0 + // Block 1 starts at MINI_CIRCUIT_SIZE, position 1 within it is non-masking (start_index=1) + const size_t corrupt_pos = Flavor::MINI_CIRCUIT_SIZE + 1; + pp.concatenated_range_constraints_0.at(corrupt_pos) = FF::random_element(); + + // Re-compute grand product with corrupted data + compute_grand_product>(pp, params); + + auto failures = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_FALSE(failures.empty()) << "Permutation should fail after concatenated corruption"; +} + +/** + * @brief Corrupt the value at lagrange_real_last position (circuit_size - MAX_RANDOM - 1) in an ordered poly. + * Subrelations 5-9 check that ordered[real_last] == 2^14 - 1; this is the only position they are active. + */ +TEST_F(TranslatorRelationFailureTests, DeltaRangeFailsOnMaxValueCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + + // Baseline: delta range passes + auto baseline = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline delta range should pass"; + + // The real_last position must hold exactly 2^14 - 1. Corrupt it to something else. + const size_t real_last_pos = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; + pp.ordered_range_constraints_0.at(real_last_pos) = FF(42); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_FALSE(failures.empty()) << "Delta range should fail when real_last position != 2^14 - 1"; +} + +/** + * @brief Corrupt z_perm at a mid position, breaking the running product consistency. + */ +TEST_F(TranslatorRelationFailureTests, PermutationFailsOnZPermCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: permutation relation passes + auto baseline = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline permutation should pass"; + + // Corrupt z_perm at a position in the middle of the circuit + const size_t corrupt_pos = (Flavor::MINI_CIRCUIT_SIZE * 2) + 500; + pp.z_perm.at(corrupt_pos) = FF::random_element(); + // Must also update the shifted view + pp.set_shifted(); + + auto failures = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_FALSE(failures.empty()) << "Permutation should fail after z_perm corruption"; +} + +/** + * @brief Corrupt ordered poly at position circuit_size - MAX_RANDOM - 2, the last row where the delta + * constraint is enforced. This is right before lagrange_ordered_masking_adjacent kicks in. + * + * @details At this position: lagrange_real_last = 0, lagrange_ordered_masking_adjacent = 0. + * The delta to the next row (real_last, which holds 2^14-1) must be in {0,1,2,3}. + * Setting a value of 0 here creates a gap of 2^14 - 1 to the next row. + */ +TEST_F(TranslatorRelationFailureTests, DeltaRangeFailsOnOrderedMaskingBoundary) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + + // Baseline: delta range passes + auto baseline = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline delta range should pass"; + + // Position circuit_size - MAX_RANDOM - 2 is the last row with delta enforcement active. + // The next row (real_last) holds 2^14 - 1. Setting this to 0 creates delta = 16383. + const size_t boundary_pos = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 2; + pp.ordered_range_constraints_0.at(boundary_pos) = FF(0); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_FALSE(failures.empty()) << "Delta range should fail at the masking boundary"; +} + +/** + * @brief Swap two adjacent sorted values to create a negative delta (descending pair). + * In the field, ordered[i+1] - ordered[i] becomes a huge element, not in {0,1,2,3}. + */ +TEST_F(TranslatorRelationFailureTests, DeltaRangeFailsOnNegativeDelta) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: delta range passes + auto baseline = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline delta range should pass"; + + // Set ordered[pos] to be larger than ordered[pos+1], creating a negative delta at row pos. + // D = ordered[pos+1] - ordered[pos] becomes a huge field element (negative in the integers), + // which is not in {0,1,2,3}. + const size_t pos = 5000; + pp.ordered_range_constraints_0.at(pos) = pp.ordered_range_constraints_0[pos + 1] + FF(1); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_FALSE(failures.empty()) << "Delta range should fail on descending (negative delta) pair"; +} + +/** + * @brief Set delta = 4 (smallest forbidden step) between adjacent ordered values. + * D ∈ {0,1,2,3} passes; D = 4 is the exact boundary that must fail. + */ +TEST_F(TranslatorRelationFailureTests, DeltaRangeFailsOnDeltaFour) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: delta range passes + auto baseline = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline delta range should pass"; + + // Pick a mid-range position and set it so the delta to the next row is exactly 4 + const size_t pos = 3000; + FF next_val = pp.ordered_range_constraints_0[pos + 1]; + pp.ordered_range_constraints_0.at(pos) = next_val - FF(4); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_FALSE(failures.empty()) << "Delta range should fail when delta is exactly 4"; +} + +/** + * @brief Corrupt position 1 in an ordered poly (the first real sorted value after virtual zero at pos 0). + * If ordered[1] > 3, the delta from 0 to ordered[1] violates the step constraint. + */ +TEST_F(TranslatorRelationFailureTests, DeltaRangeFailsOnFirstSortedValueTooLarge) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: delta range passes + auto baseline = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline delta range should pass"; + + // Position 0 is virtual zero (always 0). Position 1 is the first sorted value. + // Setting it to 100 creates delta = 100 from row 0, which violates D ∈ {0,1,2,3}. + pp.ordered_range_constraints_0.at(1) = FF(100); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_FALSE(failures.empty()) << "Delta range should fail when first sorted value > 3"; +} + +/** + * @brief Corrupt ordered_range_constraints_4 (the 5th ordered poly, built from the extra denominator). + * This poly is constructed from a different code path than the first 4. Verify subrelation 4 catches it. + */ +TEST_F(TranslatorRelationFailureTests, DeltaRangeFailsOnFifthOrderedPolyCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: delta range passes + auto baseline = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline delta range should pass"; + + // Corrupt ordered_range_constraints_4 at a mid position + const size_t pos = 2000; + pp.ordered_range_constraints_4.at(pos) = pp.ordered_range_constraints_4[pos - 1] + FF(100); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_FALSE(failures.empty()) << "Delta range should fail on 5th ordered poly corruption"; +} + +/** + * @brief Corrupt a value in ordered_range_constraints_0 (denominator side of the permutation), + * creating a multiset mismatch without updating z_perm. + */ +TEST_F(TranslatorRelationFailureTests, PermutationFailsOnOrderedCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: permutation relation passes + auto baseline = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline permutation should pass"; + + // Corrupt a non-masking position in ordered_range_constraints_0 without recomputing z_perm + const size_t corrupt_pos = 500; + pp.ordered_range_constraints_0.at(corrupt_pos) = FF::random_element(); + + auto failures = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_FALSE(failures.empty()) << "Permutation should fail after ordered poly corruption"; +} + +/** + * @brief Place a small in-range value (42) at a wire masking position and verify it flows correctly + * through concatenation into the ordered polynomial's contiguous masking tail. + * + * @details The value 42 is unique among random FF masking values. We trace it: + * wire masking pos → concatenated poly (scattered) → ordered poly tail (contiguous). + * After the full pipeline, all relations should still pass. + */ +TEST_F(TranslatorRelationFailureTests, InRangeValueInMaskingFlowsToOrderedTail) +{ + const size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; + auto& engine = numeric::get_debug_randomness(); + + TranslatorProvingKey key{}; + key.proving_key = std::make_shared(); + ProverPolynomials& pp = key.proving_key->polynomials; + + // Fill wire polynomials with random 14-bit values (circuit) and random FF (masking) + for (const auto& group : pp.get_groups_to_be_concatenated()) { + for (auto& poly : group) { + if (poly.is_empty()) { + continue; + } + for (size_t i = poly.start_index(); i < poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; i++) { + poly.at(i) = engine.get_random_uint16() & ((1 << Flavor::MICRO_LIMB_BITS) - 1); + } + for (size_t i = poly.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; i < poly.end_index(); i++) { + poly.at(i) = FF::random_element(); + } + } + } + + // Place a known small in-range value at the first masking position of group[0][0] + // (p_x_low_limbs_range_constraint_0, block 0) + const FF sentinel(42); + auto groups = pp.get_groups_to_be_concatenated(); + auto& target_wire = groups[0][0]; + const size_t wire_masking_start = target_wire.end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; + target_wire.at(wire_masking_start) = sentinel; + + // Reallocate lagrange polynomials + pp.lagrange_first = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_last = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); + pp.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); + + key.compute_lagrange_polynomials(); + key.compute_extra_range_constraint_numerator(); + key.compute_concatenated_polynomials(); + + // After concatenation: group[0][0] maps to block 0 of concatenated_range_constraints_0 + // Masking position in concatenated poly = 0 * MINI + wire_masking_start + const size_t concat_masking_pos = wire_masking_start; // block 0, so offset is 0 + EXPECT_EQ(pp.concatenated_range_constraints_0[concat_masking_pos], sentinel) + << "Sentinel should appear at the correct concatenated position"; + + key.compute_translator_range_constraint_ordered_polynomials(); + + // The sentinel should now be in the contiguous masking tail of one of the ordered polys. + // split_concatenated_random_coefficients_to_ordered extracts from concat[0..3] in order: + // concat 0, block 0, rows [MINI-4, MINI) → first 4 values in random_values[] + // Our sentinel is random_values[0] (first extracted value from concat 0, block 0, first masking row). + // + // Distribution: 256 total values across 5 ordered polys. + // ordered[0] gets 52 values (256/5=51, remainder 1 → first poly gets +1). + // random_values[0] → ordered[0] at position circuit_size - 52. + bool found = false; + for (const auto& ord_poly : pp.get_ordered_range_constraints()) { + for (size_t pos = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; pos < full_circuit_size; pos++) { + if (ord_poly[pos] == sentinel) { + found = true; + break; + } + } + if (found) { + break; + } + } + EXPECT_TRUE(found) << "Sentinel value 42 should appear in the ordered poly masking tail"; + + // Verify all relations still pass with an in-range value in the masking position + RelationParameters params{ .beta = FF::random_element(), .gamma = FF::random_element() }; + compute_grand_product>(pp, params); + + auto perm_failures = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(perm_failures.empty()) << "Permutation should pass with in-range masking value"; + + auto delta_failures = RelationChecker::check>( + pp, params, "TranslatorDeltaRangeConstraintRelation"); + EXPECT_TRUE(delta_failures.empty()) << "Delta range should pass with in-range masking value"; +} + +/** + * @brief Corrupt ordered_extra_range_constraints_numerator (the 5th factor in the permutation numerator), + * creating a multiset mismatch without updating z_perm. + */ +TEST_F(TranslatorRelationFailureTests, PermutationFailsOnExtraNumeratorCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: permutation relation passes + auto baseline = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline permutation should pass"; + + // Corrupt a value in the extra range constraint numerator without recomputing z_perm + const size_t corrupt_pos = 5; + pp.ordered_extra_range_constraints_numerator.at(corrupt_pos) = FF::random_element(); + + auto failures = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_FALSE(failures.empty()) << "Permutation should fail after extra numerator corruption"; +} + +/** + * @brief Place a non-zero value at position j*MINI (block boundary, below start_index) in a concatenated poly. + * This position is normally zero because wire data starts at start_index=1 within each block. + * Changing it alters the permutation numerator without updating ordered polys. + */ +TEST_F(TranslatorRelationFailureTests, PermutationFailsOnConcatenatedBlockBoundaryCorruption) +{ + auto [key, params] = build_valid_translator_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: permutation relation passes + auto baseline = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline permutation should pass"; + + // Position 0 of block 5 in concatenated_range_constraints_0. + // This is at index 5 * MINI_CIRCUIT_SIZE, which should be zero (below start_index of that block's wire). + const size_t block_boundary_pos = 5 * Flavor::MINI_CIRCUIT_SIZE; + EXPECT_EQ(pp.concatenated_range_constraints_0[block_boundary_pos], FF(0)) + << "Block boundary should initially be zero"; + + pp.concatenated_range_constraints_0.at(block_boundary_pos) = FF(999); + + // Re-compute grand product with corrupted data + compute_grand_product>(pp, params); + + auto failures = + RelationChecker::check>(pp, params, "TranslatorPermutationRelation"); + EXPECT_FALSE(failures.empty()) << "Permutation should fail after block boundary corruption"; +} From c4a90ef8284d2dcf5a4644b07297acb89e677797 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 22:24:05 +0000 Subject: [PATCH 05/24] fixed soundness issue + more relation tests --- .../barretenberg/flavor/flavor_concepts.hpp | 3 +- .../translator_recursive_flavor.hpp | 53 ++--- .../src/barretenberg/sumcheck/sumcheck.hpp | 45 +++- .../translator_vm/relation_failure.test.cpp | 216 ++++++++++++++++++ .../translator_vm/translator.test.cpp | 182 +++++++-------- .../translator_vm/translator_flavor.hpp | 208 +++++++++++++---- 6 files changed, 522 insertions(+), 185 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/flavor/flavor_concepts.hpp b/barretenberg/cpp/src/barretenberg/flavor/flavor_concepts.hpp index 0dc8750ae828..02076a36453e 100644 --- a/barretenberg/cpp/src/barretenberg/flavor/flavor_concepts.hpp +++ b/barretenberg/cpp/src/barretenberg/flavor/flavor_concepts.hpp @@ -38,7 +38,8 @@ concept HasDataBus = IsMegaFlavor; // hence requiring an adjustment to the round univariates via the RowDisablingPolynomial. // This is not the case for Translator, where randomness resides in different parts of the trace and the locations will // be reflected via Translator relations. -template concept UseRowDisablingPolynomial = !IsAnyOf; +template concept IsTranslatorFlavor = IsAnyOf; +template concept UseRowDisablingPolynomial = !IsTranslatorFlavor; diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp index 12c5342430ab..28ac47585d46 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp @@ -5,7 +5,6 @@ // ===================== #pragma once -#include "barretenberg/commitment_schemes/commitment_key.hpp" #include "barretenberg/commitment_schemes/kzg/kzg.hpp" #include "barretenberg/flavor/flavor.hpp" #include "barretenberg/flavor/flavor_macros.hpp" @@ -31,8 +30,6 @@ namespace bb { class TranslatorRecursiveFlavor { public: - // TODO(https://github.com/AztecProtocol/barretenberg/issues/990): Establish whether mini_circuit_size pattern is - // needed using CircuitBuilder = UltraCircuitBuilder; using Curve = stdlib::bn254; using PCS = KZG; @@ -46,57 +43,36 @@ class TranslatorRecursiveFlavor { using NativeFlavor = TranslatorFlavor; using NativeVerificationKey = NativeFlavor::VerificationKey; - using VerifierCommitmentKey = bb::VerifierCommitmentKey; - - // Indicates that this flavor runs with non-ZK Sumcheck. + // Indicates that this flavor runs with ZK Sumcheck. static constexpr bool HasZK = true; - // Translator proof size and its recursive verifier circuit are genuinely fixed, hence no padding is needed. - static constexpr bool USE_PADDING = TranslatorFlavor::USE_PADDING; - // None of this parameters can be changed // Number of bits in a binary limb - // This is not a configurable value. Relations are sepcifically designed for it to be 68 + // This is not a configurable value. Relations are specifically designed for it to be 68 static constexpr size_t NUM_LIMB_BITS = NativeFlavor::NUM_LIMB_BITS; - // The number of multivariate polynomials on which a sumcheck prover sumcheck operates (including shifts). We - // often need containers of this size to hold related data, so we choose a name more agnostic than - // `NUM_POLYNOMIALS`. Note: this number does not include the individual sorted list polynomials. + // The number of multivariate polynomials on which a sumcheck prover sumcheck operates (including shifts). static constexpr size_t NUM_ALL_ENTITIES = NativeFlavor::NUM_ALL_ENTITIES; - // The number of polynomials precomputed to describe a circuit and to aid a prover in constructing a satisfying - // assignment of witnesses. We again choose a neutral name. - static constexpr size_t NUM_PRECOMPUTED_ENTITIES = NativeFlavor::NUM_PRECOMPUTED_ENTITIES; - // The total number of witness entities not including shifts. - static constexpr size_t NUM_WITNESS_ENTITIES = NativeFlavor::NUM_WITNESS_ENTITIES; - - // Number of wires representing the op queue whose commitments are going to be checked against those from the - // final round of merge - static constexpr size_t NUM_OP_QUEUE_WIRES = NativeFlavor::NUM_OP_QUEUE_WIRES; static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = NativeFlavor::REPEATED_COMMITMENTS; - // Computable precomputed selectors: constants and methods forwarded from NativeFlavor - static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = NativeFlavor::NUM_COMPUTABLE_PRECOMPUTED; - static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NativeFlavor::COMPUTABLE_PRECOMPUTED_OFFSET; - static constexpr size_t NUM_SENT_EVALUATIONS = NativeFlavor::NUM_SENT_EVALUATIONS; - - template - static void compute_computable_precomputed(NativeFlavor::AllEntities& evals, - std::span challenge) - { - NativeFlavor::compute_computable_precomputed(evals, challenge); - } + // Mid-sumcheck minicircuit wire evaluation constants + static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = NativeFlavor::NUM_MINICIRCUIT_EVALUATIONS; + static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NativeFlavor::NUM_FULL_CIRCUIT_EVALUATIONS; + static constexpr size_t LOG_MINI_CIRCUIT_SIZE = NativeFlavor::LOG_MINI_CIRCUIT_SIZE; template - static auto get_all_without_computable_precomputed(const NativeFlavor::AllEntities& evals) + static void set_minicircuit_evaluations(NativeFlavor::AllEntities& evals, + const std::array& mid) { - return NativeFlavor::get_all_without_computable_precomputed(evals); + NativeFlavor::set_minicircuit_evaluations(evals, mid); } template - static void set_all_without_computable_precomputed(NativeFlavor::AllEntities& evals, - const std::array& sent) + static void complete_full_circuit_evaluations(NativeFlavor::AllEntities& evals, + const std::array& full_circuit, + std::span challenge) { - NativeFlavor::set_all_without_computable_precomputed(evals, sent); + NativeFlavor::complete_full_circuit_evaluations(evals, full_circuit, challenge); } using Relations = TranslatorFlavor::Relations_; @@ -133,7 +109,6 @@ class TranslatorRecursiveFlavor { using CommitmentLabels = TranslatorFlavor::CommitmentLabels; // Reuse the VerifierCommitments from Translator using VerifierCommitments = TranslatorFlavor::VerifierCommitments_; - // Reuse the transcript from Translator using Transcript = UltraStdlibTranscript; using VKAndHash = VKAndHash_; diff --git a/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp b/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp index a2794fd933a1..f32f6fce71e1 100644 --- a/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp +++ b/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp @@ -5,6 +5,7 @@ // ===================== #pragma once +#include "barretenberg/flavor/flavor_concepts.hpp" #include "barretenberg/flavor/multilinear_batching_flavor.hpp" #include "barretenberg/honk/library/grand_product_delta.hpp" #include "barretenberg/polynomials/eq_polynomial.hpp" @@ -573,6 +574,15 @@ template class SumcheckProver { multivariate_challenge.emplace_back(round_challenge); // Prepare sumcheck book-keeping table for the next round. partially_evaluate_in_place(partially_evaluated_polynomials, round_challenge); + + // For Translator: send 154 minicircuit wire evaluations mid-sumcheck (after the last mini-circuit round) + if constexpr (IsTranslatorFlavor) { + if (round_idx == Flavor::LOG_MINI_CIRCUIT_SIZE - 1) { + transcript->send_to_verifier("Sumcheck:minicircuit_evaluations", + Flavor::get_minicircuit_evaluations(partially_evaluated_polynomials)); + } + } + // Prepare evaluation masking and libra structures for the next round (for ZK Flavors) zk_sumcheck_data.update_zk_sumcheck_data(round_challenge, round_idx); row_disabling_polynomial.update_evaluations(round_challenge, round_idx); @@ -597,10 +607,11 @@ template class SumcheckProver { // Claimed evaluations of Prover polynomials are extracted and added to the transcript. When Flavor has ZK, the // evaluations of all witnesses are masked. ClaimedEvaluations multivariate_evaluations = extract_claimed_evaluations(partially_evaluated_polynomials); - // For Translator: skip sending 12 computable precomputed evaluations (verifier computes them locally) - if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { - auto filtered = Flavor::get_all_without_computable_precomputed(multivariate_evaluations); - transcript->send_to_verifier("Sumcheck:evaluations", filtered); + // For Translator: send only the full-circuit evaluations (computable precomputed and minicircuit wires + // excluded) + if constexpr (IsTranslatorFlavor) { + transcript->send_to_verifier("Sumcheck:evaluations", + Flavor::get_full_circuit_evaluations(multivariate_evaluations)); } else { transcript->send_to_verifier("Sumcheck:evaluations", multivariate_evaluations.get_all()); } @@ -800,21 +811,33 @@ template class SumcheckVerifier { // For other flavors, we perform the sumcheck univariate consistency check bool verified = true; + ClaimedEvaluations purported_evaluations; for (size_t round_idx = 0; round_idx < virtual_log_n; round_idx++) { round.process_round( transcript, multivariate_challenge, gate_separators, padding_indicator_array[round_idx], round_idx); verified = verified && !round.round_failed; + + // For Translator: receive minicircuit wire evaluations after the last mini-circuit round + // and place them directly into purported_evaluations + if constexpr (IsTranslatorFlavor) { + if (round_idx == Flavor::LOG_MINI_CIRCUIT_SIZE - 1) { + Flavor::set_minicircuit_evaluations( + purported_evaluations, + transcript->template receive_from_prover>( + "Sumcheck:minicircuit_evaluations")); + } + } } // Populate claimed evaluations at the challenge - ClaimedEvaluations purported_evaluations; - // For Translator: receive fewer evals (excluding 12 computable precomputed) and compute the rest locally - if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { - auto transcript_evals = - transcript->template receive_from_prover>( + if constexpr (IsTranslatorFlavor) { + // Translator path: receive full-circuit evaluations, set them, and complete + // (computable precomputed selectors + L_0 scaling of minicircuit wires already placed above) + auto get_full_circuit_evaluations = + transcript->template receive_from_prover>( "Sumcheck:evaluations"); - Flavor::set_all_without_computable_precomputed(purported_evaluations, transcript_evals); - Flavor::compute_computable_precomputed(purported_evaluations, std::span(multivariate_challenge)); + Flavor::complete_full_circuit_evaluations( + purported_evaluations, get_full_circuit_evaluations, std::span(multivariate_challenge)); } else { auto transcript_evaluations = transcript->template receive_from_prover>("Sumcheck:evaluations"); diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp index bbc743c9ca99..ef71864ead85 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp @@ -21,12 +21,21 @@ * DeltaRangeFailsOnFirstSortedValueTooLarge — position 0->1 transition (virtual zero start) * DeltaRangeFailsOnFifthOrderedPolyCorruption — 5th ordered poly (different build path) * + * Accumulator transfer relation (TranslatorAccumulatorTransferRelation) — 6 tests: + * AccumulatorTransferFailsOnOddRowCorruption — interior odd row (transfer chain) + * AccumulatorTransferFailsOnZeroInitCorruption — last minicircuit row (zero-init) + * AccumulatorTransferFailsOnResultMismatch — result row vs expected (subrelations 8-11) + * AccumulatorTransferPassesWithMaskingRegionValues — masking regions excluded by selectors + * AccumulatorTransferFailsAtFirstTransferRow — row 9 (left boundary of transfer chain) + * AccumulatorTransferFailsAtLastTransferRow — row 8185 (right boundary before zero-init) + * * Pipeline correctness — 1 test: * InRangeValueInMaskingFlowsToOrderedTail — trace FF(42) from wire masking through * concatenation into ordered poly tail */ #include "barretenberg/honk/library/grand_product_library.hpp" #include "barretenberg/honk/relation_checker.hpp" +#include "barretenberg/translator_vm/translator_circuit_builder.hpp" #include "barretenberg/translator_vm/translator_flavor.hpp" #include "barretenberg/translator_vm/translator_proving_key.hpp" #include @@ -97,6 +106,61 @@ ValidTranslatorState build_valid_translator_state() return { std::move(key), params }; } +/** + * @brief Construct a valid state from a real TranslatorCircuitBuilder, giving a proper accumulator chain. + * + * @details Builds an ECCOpQueue with mixed operations, constructs a TranslatorCircuitBuilder and + * TranslatorProvingKey from it (which populates all wires including accumulators_binary_limbs_0..3 + * with real Horner-scheme accumulator values), then reads accumulated_result from the witness. + * The resulting state satisfies the AccumulatorTransferRelation with non-trivial values. + */ +ValidTranslatorState build_valid_accumulator_transfer_state() +{ + using BF = typename Flavor::BF; + using GroupElement = typename Flavor::GroupElement; + + auto& engine = numeric::get_debug_randomness(); + + auto op_queue = std::make_shared(); + + // Add a no-op, then random start ops, then mixed ops, merge, more mixed ops, random end ops, final merge + op_queue->no_op_ultra_only(); + for (size_t i = 0; i < Flavor::CircuitBuilder::NUM_RANDOM_OPS_START; i++) { + op_queue->random_op_ultra_only(); + } + for (size_t i = 0; i < 50; i++) { + op_queue->add_accumulate(GroupElement::random_element(&engine)); + op_queue->mul_accumulate(GroupElement::random_element(&engine), FF::random_element(&engine)); + } + op_queue->eq_and_reset(); + op_queue->merge(); + for (size_t i = 0; i < 50; i++) { + op_queue->add_accumulate(GroupElement::random_element(&engine)); + op_queue->mul_accumulate(GroupElement::random_element(&engine), FF::random_element(&engine)); + } + op_queue->eq_and_reset(); + for (size_t i = 0; i < Flavor::CircuitBuilder::NUM_RANDOM_OPS_END; i++) { + op_queue->random_op_ultra_only(); + } + op_queue->merge(MergeSettings::APPEND, ECCOpQueue::OP_QUEUE_SIZE - op_queue->get_current_subtable_size()); + + const auto batching_challenge_v = BF::random_element(&engine); + const auto evaluation_input_x = BF::random_element(&engine); + + auto circuit_builder = Flavor::CircuitBuilder(batching_challenge_v, evaluation_input_x, op_queue); + TranslatorProvingKey key(circuit_builder); + + // Read accumulated_result from the witness (same as the prover does) + auto& pp = key.proving_key->polynomials; + RelationParameters params; + params.accumulated_result = { pp.accumulators_binary_limbs_0[Flavor::RESULT_ROW], + pp.accumulators_binary_limbs_1[Flavor::RESULT_ROW], + pp.accumulators_binary_limbs_2[Flavor::RESULT_ROW], + pp.accumulators_binary_limbs_3[Flavor::RESULT_ROW] }; + + return { std::move(key), params }; +} + } // anonymous namespace class TranslatorRelationFailureTests : public ::testing::Test { @@ -445,6 +509,158 @@ TEST_F(TranslatorRelationFailureTests, PermutationFailsOnExtraNumeratorCorruptio EXPECT_FALSE(failures.empty()) << "Permutation should fail after extra numerator corruption"; } +// ======================== Accumulator Transfer Relation ======================== + +/** + * @brief Corrupt an accumulator limb at an interior odd row to break the transfer chain. + * Subrelations 0-3 enforce acc[odd] == acc[odd+1] at odd minicircuit rows (except the last). + */ +TEST_F(TranslatorRelationFailureTests, AccumulatorTransferFailsOnOddRowCorruption) +{ + auto [key, params] = build_valid_accumulator_transfer_state(); + auto& pp = key.proving_key->polynomials; + + // Baseline: accumulator transfer passes with real Horner-scheme accumulator values + auto baseline = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline accumulator transfer should pass"; + + // Corrupt accumulators_binary_limbs_0 at an interior odd row. + // Transfer checks acc[101] == acc[102]. Corrupting acc[101] breaks this. + pp.accumulators_binary_limbs_0.at(101) = FF::random_element(); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_FALSE(failures.empty()) << "Accumulator transfer should fail after odd row corruption"; +} + +/** + * @brief Set a non-zero accumulator at the last minicircuit row where zero-init is enforced. + * Subrelations 4-7 check acc * lagrange_last_in_minicircuit == 0 at position MINI - NUM_MASKED - 1 (= 8187). + */ +TEST_F(TranslatorRelationFailureTests, AccumulatorTransferFailsOnZeroInitCorruption) +{ + auto [key, params] = build_valid_accumulator_transfer_state(); + auto& pp = key.proving_key->polynomials; + + auto baseline = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline accumulator transfer should pass"; + + // Corrupt: set non-zero accumulator at the last minicircuit row (zero-init position 8187) + const size_t last_in_minicircuit = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END - 1; + pp.accumulators_binary_limbs_0.at(last_in_minicircuit) = FF(1); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_FALSE(failures.empty()) << "Accumulator transfer should fail when zero-init position is non-zero"; +} + +/** + * @brief Mismatch accumulated_result[0] with the actual accumulator value at RESULT_ROW (= 8). + * Subrelations 8-11 check (acc - expected) * lagrange_result_row == 0. + */ +TEST_F(TranslatorRelationFailureTests, AccumulatorTransferFailsOnResultMismatch) +{ + auto [key, params] = build_valid_accumulator_transfer_state(); + auto& pp = key.proving_key->polynomials; + + auto baseline = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline accumulator transfer should pass"; + + // Perturb accumulated_result so it no longer matches the witness at RESULT_ROW + params.accumulated_result[0] += FF(1); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_FALSE(failures.empty()) << "Accumulator transfer should fail on result mismatch"; +} + +/** + * @brief Place arbitrary non-zero values in accumulator limbs at masking positions ([2,7] and [8188,8191]). + * Verify the relation still passes — masking regions must not leak into the accumulator transfer relation. + * + * @details This is the key test for the new concatenated layout: lagrange_odd_in_minicircuit is only active + * at odd positions in [RESULT_ROW, MINI - NUM_MASKED), lagrange_last_in_minicircuit at 8187, and + * lagrange_result_row at 8. None of these cover masking positions [2,7] or [8188,8191]. + * If any selector were accidentally set at a masking position, non-zero accumulator values there + * would cause a failure. + */ +TEST_F(TranslatorRelationFailureTests, AccumulatorTransferPassesWithMaskingRegionValues) +{ + auto [key, params] = build_valid_accumulator_transfer_state(); + auto& pp = key.proving_key->polynomials; + + // Place non-zero values at start masking positions [RANDOMNESS_START, RESULT_ROW) = [2, 8) + for (size_t i = Flavor::RANDOMNESS_START; i < Flavor::RESULT_ROW; i++) { + pp.accumulators_binary_limbs_0.at(i) = FF::random_element(); + pp.accumulators_binary_limbs_1.at(i) = FF::random_element(); + pp.accumulators_binary_limbs_2.at(i) = FF::random_element(); + pp.accumulators_binary_limbs_3.at(i) = FF::random_element(); + } + + // Place non-zero values at end masking positions [MINI - NUM_MASKED, MINI) = [8188, 8192) + const size_t end_mask_start = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END; + for (size_t i = end_mask_start; i < Flavor::MINI_CIRCUIT_SIZE; i++) { + pp.accumulators_binary_limbs_0.at(i) = FF::random_element(); + pp.accumulators_binary_limbs_1.at(i) = FF::random_element(); + pp.accumulators_binary_limbs_2.at(i) = FF::random_element(); + pp.accumulators_binary_limbs_3.at(i) = FF::random_element(); + } + + // Relation should still pass — masking regions are excluded by selectors + auto failures = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_TRUE(failures.empty()) << "Accumulator transfer should pass even with arbitrary masking region values"; +} + +/** + * @brief Corrupt the accumulator at row 9 (first odd row in minicircuit, left boundary of transfer chain). + * lagrange_odd_in_minicircuit is first active at RESULT_ROW + 1 = 9. + */ +TEST_F(TranslatorRelationFailureTests, AccumulatorTransferFailsAtFirstTransferRow) +{ + auto [key, params] = build_valid_accumulator_transfer_state(); + auto& pp = key.proving_key->polynomials; + + auto baseline = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline accumulator transfer should pass"; + + // Row 9 is the first odd row where lagrange_odd_in_minicircuit = 1. + // Transfer checks acc[9] == acc[10]. Corrupting acc[9] breaks this. + const size_t first_transfer_row = Flavor::RESULT_ROW + 1; + pp.accumulators_binary_limbs_0.at(first_transfer_row) = FF::random_element(); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_FALSE(failures.empty()) << "Accumulator transfer should fail at first transfer row"; +} + +/** + * @brief Corrupt the accumulator at the penultimate odd row (right boundary of the transfer chain, + * just before the zero-init row 8187). Row 8185 is the last odd row where the transfer subrelation + * is active (lagrange_odd = 1, lagrange_last = 0). + */ +TEST_F(TranslatorRelationFailureTests, AccumulatorTransferFailsAtLastTransferRow) +{ + auto [key, params] = build_valid_accumulator_transfer_state(); + auto& pp = key.proving_key->polynomials; + + auto baseline = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_TRUE(baseline.empty()) << "Baseline accumulator transfer should pass"; + + // Row MINI - NUM_MASKED - 3 = 8185 is the last odd row before 8187 where transfer is enforced + const size_t last_transfer_row = Flavor::MINI_CIRCUIT_SIZE - Flavor::NUM_MASKED_ROWS_END - 3; + pp.accumulators_binary_limbs_0.at(last_transfer_row) = FF::random_element(); + + auto failures = RelationChecker::check>( + pp, params, "TranslatorAccumulatorTransferRelation"); + EXPECT_FALSE(failures.empty()) << "Accumulator transfer should fail at last transfer row"; +} + /** * @brief Place a non-zero value at position j*MINI (block boundary, below start_index) in a concatenated poly. * This position is normally zero because wire data starts at start_index=1 within each block. diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp index 654d53c8dad5..4f726056fb2c 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp @@ -59,8 +59,10 @@ class TranslatorTests : public ::testing::Test { * - Round 0: vk_hash, Gemini masking, 10 wire commitments -> beta, gamma challenges * - Round 1: Z_PERM -> Sumcheck:alpha + all gate challenges * - Round 2: Libra:concatenation_commitment + Sum -> Libra:Challenge - * - Rounds 3-19: Sumcheck univariates (17 rounds) - * - Round 20: Sumcheck evaluations + Libra commitments -> rho + * - Rounds 3-15: Sumcheck univariates for rounds 0-12 (mini-circuit rounds) + * - Round 16: minicircuit_evaluations(154) + univariate_13 -> u_13 + * - Rounds 17-19: Sumcheck univariates for rounds 14-16 + * - Round 20: Sumcheck full-circuit evaluations(26) + Libra commitments -> rho * - Round 21: Gemini fold commitments -> Gemini:r * - Round 22: Gemini evaluations + Libra evals -> Shplonk:nu * - Round 23: Shplonk:Q -> Shplonk:z @@ -106,15 +108,28 @@ class TranslatorTests : public ::testing::Test { manifest.add_entry(2, "Libra:Sum", 1); manifest.add_challenge(2, "Libra:Challenge"); - // Rounds 3-19: Sumcheck univariates (17 rounds) - for (size_t i = 0; i < NUM_SUMCHECK_ROUNDS; ++i) { + // Rounds 3-15: Sumcheck univariates for mini-circuit rounds 0..12 + constexpr size_t LOG_MINI = Flavor::LOG_MINI_CIRCUIT_SIZE; + for (size_t i = 0; i < LOG_MINI; ++i) { + manifest.add_entry(3 + i, "Sumcheck:univariate_" + std::to_string(i), 9); + manifest.add_challenge(3 + i, "Sumcheck:u_" + std::to_string(i)); + } + + // Round 16: 154 minicircuit wire evaluations sent mid-sumcheck, then univariate_13 + manifest.add_entry(3 + LOG_MINI, "Sumcheck:minicircuit_evaluations", Flavor::NUM_MINICIRCUIT_EVALUATIONS); + manifest.add_entry(3 + LOG_MINI, "Sumcheck:univariate_" + std::to_string(LOG_MINI), 9); + manifest.add_challenge(3 + LOG_MINI, "Sumcheck:u_" + std::to_string(LOG_MINI)); + + // Rounds 17-19: remaining sumcheck rounds 14..16 + for (size_t i = LOG_MINI + 1; i < NUM_SUMCHECK_ROUNDS; ++i) { manifest.add_entry(3 + i, "Sumcheck:univariate_" + std::to_string(i), 9); manifest.add_challenge(3 + i, "Sumcheck:u_" + std::to_string(i)); } - // Sumcheck evaluations (12 computable precomputed excluded) + Libra commitments -> rho + // Sumcheck full-circuit evaluations (computable precomputed + minicircuit wires excluded) + Libra commitments + // -> rho const size_t eval_round = 3 + NUM_SUMCHECK_ROUNDS; - manifest.add_entry(eval_round, "Sumcheck:evaluations", Flavor::NUM_SENT_EVALUATIONS); + manifest.add_entry(eval_round, "Sumcheck:evaluations", Flavor::NUM_FULL_CIRCUIT_EVALUATIONS); manifest.add_entry(eval_round, "Libra:claimed_evaluation", 1); manifest.add_entry(eval_round, "Libra:grand_sum_commitment", frs_per_G); manifest.add_entry(eval_round, "Libra:quotient_commitment", frs_per_G); @@ -437,111 +452,98 @@ TEST_F(TranslatorTests, TranscriptPinned) * 1. Concatenated polynomials are correctly constructed from wire polynomials * 2. The verifier's reconstruction formula correctly recovers the concatenated evaluation */ -TEST_F(TranslatorTests, ConcatenationReconstruction) +/** + * @brief Sanity check that minicircuit wires + full-circuit entities + computable precomputed + * partition all 192 entities without overlap or gaps. + * @details The sumcheck helpers split AllEntities into three groups for mid-sumcheck sending: + * - get_minicircuit_wires() : 77 unshifted minicircuit wires + * - get_minicircuit_wires_shifted() : 77 shifted minicircuit wires + * - get_full_circuit_entities() : 26 full-circuit entities + * - compute_computable_precomputed : 12 computable precomputed selectors + * Total: 77 + 77 + 26 + 12 = 192 = NUM_ALL_ENTITIES + */ +TEST_F(TranslatorTests, EvaluationPartition) { using Flavor = TranslatorFlavor; - using Polynomial = Flavor::Polynomial; using FF = Flavor::FF; - const size_t MINI = Flavor::MINI_CIRCUIT_SIZE; - const size_t circuit_size = 1UL << Flavor::CONST_TRANSLATOR_LOG_N; - - // Create 16 wire polynomials matching actual translator structure: - // size=MINI-1, virtual_size=circuit_size, start_index=1 - // This means they have values in [1, MINI) but are embedded in full circuit space - std::array wires; - for (size_t j = 0; j < 16; j++) { - wires[j] = Polynomial(MINI - 1, circuit_size, 1); - // Fill positions [1, MINI) with random values - for (size_t k = 1; k < MINI; k++) { - wires[j].at(k) = FF::random_element(&engine); + // Fill all entities with distinct values (entity index as value) + Flavor::AllEntities evals; + { + size_t idx = 0; + for (auto& e : evals.get_all()) { + e = FF(idx++); } } - // Create concatenated polynomial (17-dimensional) by copying wire data into lanes - Polynomial concat_poly(circuit_size - 1, circuit_size, 1); - for (size_t j = 0; j < 16; j++) { - for (size_t k = 1; k < MINI; k++) { - concat_poly.at(j * MINI + k) = wires[j].at(k); - } - } + // Collect addresses of all entities touched by each getter + std::set covered; - // Generate a random challenge point - std::vector challenge(Flavor::CONST_TRANSLATOR_LOG_N); - for (auto& u : challenge) { - u = FF::random_element(&engine); + for (auto& e : evals.get_minicircuit_wires()) { + EXPECT_TRUE(covered.insert(&e).second) << "minicircuit wire overlaps with a previous entity"; } + EXPECT_EQ(covered.size(), Flavor::NUM_MINICIRCUIT_WIRES); - // Evaluate concatenated polynomial at full challenge (17-dimensional) - FF concat_eval_expected = concat_poly.evaluate_mle(challenge); - - // Evaluate individual wires at full challenge (17-dimensional) - // Even though wires only have values in [1, MINI), they have virtual_size=circuit_size - // so their MLE is evaluated in 17-dimensional space - std::array wire_evals; - for (size_t j = 0; j < 16; j++) { - wire_evals[j] = wires[j].evaluate_mle(challenge); + for (auto& e : evals.get_minicircuit_wires_shifted()) { + EXPECT_TRUE(covered.insert(&e).second) << "minicircuit wire shift overlaps with a previous entity"; } + EXPECT_EQ(covered.size(), 2 * Flavor::NUM_MINICIRCUIT_WIRES); - // Extract top 4 challenges - std::array u_top; - const size_t num_top_bits = 4; - const size_t log_n = Flavor::CONST_TRANSLATOR_LOG_N; - for (size_t i = 0; i < num_top_bits; i++) { - u_top[i] = challenge[log_n - num_top_bits + i]; + for (auto& e : evals.get_full_circuit_entities()) { + EXPECT_TRUE(covered.insert(&e).second) << "full-circuit entity overlaps with a previous entity"; } + EXPECT_EQ(covered.size(), 2 * Flavor::NUM_MINICIRCUIT_WIRES + Flavor::NUM_FULL_CIRCUIT_EVALUATIONS); - // Compute L_0(u_top) = (1-u_13)(1-u_14)(1-u_15)(1-u_16) - // This accounts for wires having values in [1,MINI) embedded in 17D space - FF padding = FF(1); - for (size_t i = 0; i < num_top_bits; i++) { - padding *= (FF(1) - u_top[i]); - } - FF padding_inv = padding.invert(); - - // Compute Lagrange basis L_j(u_top) for j = 0..15 - // Uses little-endian bit ordering to match compute_lagranges_for_multi_claim - std::array lagrange_basis; - for (size_t j = 0; j < 16; j++) { - lagrange_basis[j] = FF(1); - for (size_t bit = 0; bit < num_top_bits; bit++) { - // Little-endian: bit i of j corresponds to challenge u_top[i] - bool bit_set = (j >> bit) & 1; - lagrange_basis[j] *= bit_set ? u_top[bit] : (FF(1) - u_top[bit]); - } - } + // The computable precomputed selectors are the remaining 12 + size_t remaining = Flavor::NUM_ALL_ENTITIES - covered.size(); + EXPECT_EQ(remaining, Flavor::NUM_COMPUTABLE_PRECOMPUTED); - // Reconstruct: concat(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * wire_j(u_17d) - FF concat_eval_reconstructed = FF(0); - for (size_t j = 0; j < 16; j++) { - concat_eval_reconstructed += lagrange_basis[j] * wire_evals[j]; + // Verify the remaining entities are exactly the computable precomputed ones + for (auto& e : evals.get_all()) { + if (covered.find(&e) == covered.end()) { + // This entity must be one of the 12 computable precomputed selectors + remaining--; + } } - concat_eval_reconstructed *= padding_inv; + EXPECT_EQ(remaining, 0UL); +} - // Verify reconstruction matches direct evaluation - info("Unshifted - Expected concat eval: ", concat_eval_expected); - info("Unshifted - Reconstructed concat eval: ", concat_eval_reconstructed); - EXPECT_EQ(concat_eval_expected, concat_eval_reconstructed); +/** + * @brief Verify that the verifier-side methods populate every entity in AllEntities. + * @details Start from all-zeros, call set_minicircuit_evaluations + complete_full_circuit_evaluations + * with random inputs, and check that no entity remains zero (with overwhelming probability). + */ +TEST_F(TranslatorTests, VerifierPopulatesAllEntities) +{ + using Flavor = TranslatorFlavor; + using FF = Flavor::FF; - // Test shifted case - // Evaluate shifted concatenated polynomial at full challenge (17-dimensional) - FF concat_shift_eval_expected = concat_poly.shifted().evaluate_mle(challenge); + // Prepare random minicircuit evaluations (154 values) + std::array mid; + for (auto& v : mid) { + v = FF::random_element(&engine); + } - // Evaluate individual wire shifts at full challenge (17-dimensional) - std::array wire_shift_evals; - for (size_t j = 0; j < 16; j++) { - wire_shift_evals[j] = wires[j].shifted().evaluate_mle(challenge); + // Prepare random full-circuit evaluations (26 values) + std::array full_circuit; + for (auto& v : full_circuit) { + v = FF::random_element(&engine); } - // Reconstruct shifted eval using same formula - FF concat_shift_eval_reconstructed = FF(0); - for (size_t j = 0; j < 16; j++) { - concat_shift_eval_reconstructed += lagrange_basis[j] * wire_shift_evals[j]; + // Random challenge (computable precomputed selectors depend on this) + std::vector challenge(Flavor::CONST_TRANSLATOR_LOG_N); + for (auto& u : challenge) { + u = FF::random_element(&engine); } - concat_shift_eval_reconstructed *= padding_inv; - // Verify shifted reconstruction - info("Shifted - Expected concat eval: ", concat_shift_eval_expected); - info("Shifted - Reconstructed concat eval: ", concat_shift_eval_reconstructed); - EXPECT_EQ(concat_shift_eval_expected, concat_shift_eval_reconstructed); + // Verifier reconstruction: start from zero, populate via the two verifier methods + Flavor::AllEntities evals; + Flavor::set_minicircuit_evaluations(evals, mid); + Flavor::complete_full_circuit_evaluations(evals, full_circuit, std::span(challenge)); + + // Every entity should now be nonzero (probability of a random FF being zero is negligible) + auto all = evals.get_all(); + for (size_t i = 0; i < Flavor::NUM_ALL_ENTITIES; i++) { + EXPECT_NE(all[i], FF(0)) << "Entity " << i << " was not populated by verifier methods"; + } } diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 723e212bb133..76b006d0f6c6 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -62,9 +62,6 @@ class TranslatorFlavor { // 12 of 13 precomputed selectors are structured multilinear polynomials whose evaluations at the // sumcheck challenge can be computed in O(d) field ops (all except ordered_extra_range_constraints_numerator). static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 12; - // Offset in AllEntities::get_all() where computable precomputed begin - // = MaskingEntities(1) + ordered_extra(1) = 2 - static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NUM_MASKING_POLYNOMIALS + 1; // None of this parameters can be changed // Number of wires representing the op queue whose commitments are going to be checked against those from the @@ -148,6 +145,12 @@ class TranslatorFlavor { static constexpr size_t NUM_WIRES_NON_SHIFTED = 1; // only the opcode wire static constexpr size_t NUM_SHIFTED_ENTITIES = 86; + // 77 unshifted + 77 shifted minicircuit wire evaluations are sent mid-sumcheck (after round + // LOG_MINI_CIRCUIT_SIZE-1) + static constexpr size_t NUM_MINICIRCUIT_WIRES = 77; // NonRangeMain(13) + RangeConstraint(64) + static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = 2 * NUM_MINICIRCUIT_WIRES; // 154 + static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NUM_SENT_EVALUATIONS - NUM_MINICIRCUIT_EVALUATIONS; // 26 + // Total number of minicircuit wires across all concatenation groups (5 groups × 16 wires each) static constexpr size_t NUM_CONCATENATED_WIRES = NUM_CONCATENATED_POLYS * CONCATENATION_GROUP_SIZE; @@ -614,14 +617,22 @@ class TranslatorFlavor { }; /** - * @brief Represents polynomials shifted by 1 or their evaluations, defined relative to WireToBeShiftedEntities. + * @brief Op queue shifted entities (mirrors OpQueueWiresToBeShiftedEntities) */ - template class ShiftedEntities { + template class OpQueueShiftedEntities { + public: + DEFINE_FLAVOR_MEMBERS(DataType, + x_lo_y_hi_shift, // column 0 + x_hi_z_1_shift, // column 1 + y_lo_z_2_shift) // column 2 + }; + + /** + * @brief Non-op-queue minicircuit wire shifted entities (mirrors NonOpQueueWiresToBeShiftedEntities) + */ + template class NonOpQueueShiftedEntities { public: DEFINE_FLAVOR_MEMBERS(DataType, - x_lo_y_hi_shift, // column 0 - x_hi_z_1_shift, // column 1 - y_lo_z_2_shift, // column 2 p_x_low_limbs_shift, // column 3 p_x_high_limbs_shift, // column 10 p_y_low_limbs_shift, // column 17 @@ -698,13 +709,34 @@ class TranslatorFlavor { relation_wide_limbs_range_constraint_0_shift, // column 76 relation_wide_limbs_range_constraint_1_shift, // column 77 relation_wide_limbs_range_constraint_2_shift, // column 78 - relation_wide_limbs_range_constraint_3_shift, // column 79 - ordered_range_constraints_0_shift, // column 80 - ordered_range_constraints_1_shift, // column 81 - ordered_range_constraints_2_shift, // column 82 - ordered_range_constraints_3_shift, // column 83 - ordered_range_constraints_4_shift, // column 84 - z_perm_shift) // column 85 + relation_wide_limbs_range_constraint_3_shift) // column 79 + }; + + /** + * @brief Ordered range constraint + z_perm shifted entities + */ + template class DerivedShiftedEntities { + public: + DEFINE_FLAVOR_MEMBERS(DataType, + ordered_range_constraints_0_shift, // column 80 + ordered_range_constraints_1_shift, // column 81 + ordered_range_constraints_2_shift, // column 82 + ordered_range_constraints_3_shift, // column 83 + ordered_range_constraints_4_shift, // column 84 + z_perm_shift) // column 85 + }; + + /** + * @brief Represents polynomials shifted by 1 or their evaluations, defined relative to WireToBeShiftedEntities. + */ + template + class ShiftedEntities : public OpQueueShiftedEntities, + public NonOpQueueShiftedEntities, + public DerivedShiftedEntities { + public: + DEFINE_COMPOUND_GET_ALL(OpQueueShiftedEntities, + NonOpQueueShiftedEntities, + DerivedShiftedEntities) /** * @brief PCS-level shifted evaluations matching get_to_be_shifted(): @@ -712,15 +744,8 @@ class TranslatorFlavor { */ auto get_pcs_shifted() { - return RefArray{ x_lo_y_hi_shift, - x_hi_z_1_shift, - y_lo_z_2_shift, - ordered_range_constraints_0_shift, - ordered_range_constraints_1_shift, - ordered_range_constraints_2_shift, - ordered_range_constraints_3_shift, - ordered_range_constraints_4_shift, - z_perm_shift }; + return concatenate(OpQueueShiftedEntities::get_all(), + DerivedShiftedEntities::get_all()); } /** @@ -892,6 +917,33 @@ class TranslatorFlavor { auto get_shifted() { return ShiftedEntities::get_all(); }; auto get_pcs_shifted() { return ShiftedEntities::get_pcs_shifted(); }; + /** + * @brief The 26 full-circuit entities: everything except computable precomputed and minicircuit wires/shifts. + * @details Masking(1) + ordered_extra(1) + op(1) + OpQueueTBS(3) + OrderedRange(5) + z_perm(1) + * + Concatenated(5) + pcs_shifted(9) = 26 + */ + auto get_full_circuit_entities() + { + return concatenate(MaskingEntities::get_all(), + RefArray{ this->ordered_extra_range_constraints_numerator }, + WireNonshiftedEntities::get_all(), + OpQueueWiresToBeShiftedEntities::get_all(), + OrderedRangeConstraints::get_all(), + DerivedWitnessEntities::get_all(), + ConcatenatedPolynomials::get_all(), + ShiftedEntities::get_pcs_shifted()); + } + + /** + * @brief The 77 minicircuit wires (unshifted): NonRangeMain(13) + RangeConstraint(64). + */ + auto get_minicircuit_wires() { return NonOpQueueWiresToBeShiftedEntities::get_all(); } + + /** + * @brief The 77 minicircuit wire shifts: corresponds 1:1 with get_minicircuit_wires(). + */ + auto get_minicircuit_wires_shifted() { return NonOpQueueShiftedEntities::get_all(); } + friend std::ostream& operator<<(std::ostream& os, const AllEntities& a) { os << "{ "; @@ -927,40 +979,108 @@ class TranslatorFlavor { } /** - * @brief Extract non-computable evaluations from AllEntities (for prover send). - * @details Skips the 12 computable precomputed entries at COMPUTABLE_PRECOMPUTED_OFFSET. + * @brief Prover: read the 154 minicircuit wire evaluations from partially-evaluated polynomials. + * @details After LOG_MINI_CIRCUIT_SIZE rounds, each polynomial has been folded to a single value at index [0]. + * We extract the 77 unshifted + 77 shifted minicircuit wire evaluations. */ - template - static std::array get_all_without_computable_precomputed( - const AllEntities& evals) + template + static std::array get_minicircuit_evaluations(PolyContainer& polys) { - auto all = evals.get_all(); - std::array result; + std::array result; size_t dst = 0; - for (size_t i = 0; i < COMPUTABLE_PRECOMPUTED_OFFSET; i++) { - result[dst++] = all[i]; + for (auto& wire : polys.get_minicircuit_wires()) { + result[dst++] = wire[0]; } - for (size_t i = COMPUTABLE_PRECOMPUTED_OFFSET + NUM_COMPUTABLE_PRECOMPUTED; i < NUM_ALL_ENTITIES; i++) { - result[dst++] = all[i]; + for (auto& wire : polys.get_minicircuit_wires_shifted()) { + result[dst++] = wire[0]; } return result; } /** - * @brief Write non-computable evaluations back into AllEntities (for verifier receive). - * @details Fills all positions except the 12 computable precomputed entries. + * @brief Verifier: place the 154 raw mid-sumcheck minicircuit wire evaluations into AllEntities. + * @details These are evaluations after LOG_MINI_CIRCUIT_SIZE rounds of partial evaluation (before the + * top-4 rounds). They must be scaled by L_0(u_top) before the relation check — see complete_claimed_evaluations. */ template - static void set_all_without_computable_precomputed(AllEntities& evals, - const std::array& sent) + static void set_minicircuit_evaluations(AllEntities& evals, + const std::array& mid) { - auto all = evals.get_all(); size_t src = 0; - for (size_t i = 0; i < COMPUTABLE_PRECOMPUTED_OFFSET; i++) { - all[i] = sent[src++]; + for (auto& wire : evals.get_minicircuit_wires()) { + wire = mid[src++]; + } + for (auto& wire : evals.get_minicircuit_wires_shifted()) { + wire = mid[src++]; + } + } + + /** + * @brief Verifier: complete the claimed evaluations for the sumcheck relation check. + * @details After set_full_circuit_evaluations and set_minicircuit_evaluations have placed raw values, + * this method: + * 1. Computes the 12 structured precomputed selector evaluations from the challenge. + * 2. Multiplies the 154 minicircuit wire entries by L_0(u_top) = Π(1 - u_i) for the top 4 + * challenges, converting mid-sumcheck values to full evaluations at the sumcheck point. + */ + template + static void complete_claimed_evaluations(AllEntities& evals, std::span challenge) + { + // 1. Compute the 12 computable precomputed selector evaluations + compute_computable_precomputed(evals, challenge); + + // 2. Scale minicircuit wire evaluations by L_0(u_top) = Π_{i=0}^{3} (1 - u_{LOG_MINI + i}) + FFType l0 = FFType(1); + for (size_t i = 0; i < CONST_TRANSLATOR_LOG_N - LOG_MINI_CIRCUIT_SIZE; i++) { + l0 *= (FFType(1) - challenge[LOG_MINI_CIRCUIT_SIZE + i]); + } + for (auto& wire : evals.get_minicircuit_wires()) { + wire *= l0; } - for (size_t i = COMPUTABLE_PRECOMPUTED_OFFSET + NUM_COMPUTABLE_PRECOMPUTED; i < NUM_ALL_ENTITIES; i++) { - all[i] = sent[src++]; + for (auto& wire : evals.get_minicircuit_wires_shifted()) { + wire *= l0; + } + } + + /** + * @brief Verifier: complete full-circuit evaluations from received array and challenge. + * @details Assumes minicircuit wire evaluations have already been placed into evals + * via set_minicircuit_evaluations. This method sets the full-circuit evaluations and then completes + * all evaluations (computable precomputed selectors + L_0 scaling of minicircuit wires). + */ + template + static void complete_full_circuit_evaluations(AllEntities& evals, + const std::array& full_circuit, + std::span challenge) + { + set_full_circuit_evaluations(evals, full_circuit); + complete_claimed_evaluations(evals, challenge); + } + + /** + * @brief Prover: extract the 26 full-circuit evaluations via get_full_circuit_entities(). + */ + template + static std::array get_full_circuit_evaluations(AllEntities& evals) + { + std::array result; + size_t dst = 0; + for (auto& entity : evals.get_full_circuit_entities()) { + result[dst++] = entity; + } + return result; + } + + /** + * @brief Verifier: write the 26 full-circuit evaluations back via get_full_circuit_entities(). + */ + template + static void set_full_circuit_evaluations(AllEntities& evals, + const std::array& full_circuit) + { + size_t src = 0; + for (auto& entity : evals.get_full_circuit_entities()) { + entity = full_circuit[src++]; } } From e3c468524244b65bce418b875c0be2beb3235e68 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 22:28:24 +0000 Subject: [PATCH 06/24] shplemini concatenated tests clean up --- .../shplonk/shplemini_concatenated.test.cpp | 262 ++++-------------- 1 file changed, 47 insertions(+), 215 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp index 37481b70b2ff..b90bf8652209 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp @@ -2,7 +2,7 @@ * @file shplemini_concatenated.test.cpp * @brief Unit test for Shplemini with concatenated polynomial commitments * - * Tests the case where we have 16 minicircuit polynomials committed using concatenation, + * Tests the case where minicircuit polynomials are committed using concatenation, * representing F(X) where F is laid out in 16 sequential blocks (lanes). * * Mimics the flow in TranslatorProver/Verifier where: @@ -40,32 +40,15 @@ class ShpleminiConcatenatedTest : public CommitmentTest { static constexpr size_t k = 4; // log₂(CONCATENATION_GROUP_SIZE) = extra challenges for concatenation /** - * @brief Create 16 minicircuit-sized random polynomials (not shiftable) + * @brief Create 16 minicircuit-sized random polynomials with values in [1, MINI) */ - std::array create_random_minicircuit_polynomials() + std::array create_minicircuit_polynomials() { std::array polys; for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - // Minicircuit size, embedded in full space polys[j] = Polynomial(MINI - 1, n, 1); - for (size_t k = 1; k < MINI; ++k) { - polys[j].at(k) = Fr::random_element(); - } - } - return polys; - } - - /** - * @brief Create 16 minicircuit-sized shiftable polynomials - */ - std::array create_shiftable_minicircuit_polynomials() - { - std::array polys; - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - polys[j] = Polynomial(MINI - 1, n, 1); - // Start from 1 (index 0 is implicitly 0 due to start_index=1) - for (size_t k = 1; k < MINI; ++k) { - polys[j].at(k) = Fr::random_element(); + for (size_t idx = 1; idx < MINI; ++idx) { + polys[j].at(idx) = Fr::random_element(); } } return polys; @@ -73,209 +56,79 @@ class ShpleminiConcatenatedTest : public CommitmentTest { /** * @brief Concatenate 16 minicircuit polynomials: concat[j*MINI + k] = wire[j][k] - * @details Wires occupy sequential blocks (lanes), not interleaved */ Polynomial concatenate_polynomials(const std::array& polys) { Polynomial concatenated(n - 1, n, 1); for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - for (size_t k = 1; k < MINI; ++k) { - concatenated.at(j * MINI + k) = polys[j][k]; + for (size_t idx = 1; idx < MINI; ++idx) { + concatenated.at(j * MINI + idx) = polys[j][idx]; } } return concatenated; } /** - * @brief Compute Lagrange basis for concatenation with little-endian bit ordering - * @details L₀ = (1-u₀)(1-u₁)(1-u₂)(1-u₃), L₁ = u₀(1-u₁)(1-u₂)(1-u₃), etc. - * Little-endian: bit i of j corresponds to challenge u[i] - */ - std::array compute_lagrange_basis(const std::array& u_top) - { - std::array lagrange_basis; - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - lagrange_basis[j] = Fr::one(); - for (size_t bit = 0; bit < k; ++bit) { - // Little-endian: bit i of j corresponds to challenge u_top[i] - bool bit_set = (j >> bit) & 1; - lagrange_basis[j] *= bit_set ? u_top[bit] : (Fr::one() - u_top[bit]); - } - } - return lagrange_basis; - } - - /** - * @brief Compute batched evaluation with padding factor - * @details Wires have values in [1,MINI) embedded in full space, so wire_j(u_full) = L₀(u_top) * wire_j(u_mini) - * Therefore: concat(u) = [1/L₀(u_top)] * Σⱼ Lⱼ(u_top) * wire_j(u_full) + * @brief Compute batched evaluation = [1/L₀(u_top)] * Σⱼ Lⱼ(u_top) * eval_j + * @details Uses little-endian Lagrange basis: L₀ = Π(1-uᵢ), L₁ = u₀·Π_{i>0}(1-uᵢ), etc. */ - Fr compute_batched_evaluation(const std::array& u_top, - const std::array& lagrange_basis, + Fr compute_batched_evaluation(const std::vector& challenge, const std::array& individual_evals) { - // Compute L₀(u_top) = (1-u₀)(1-u₁)(1-u₂)(1-u₃) - the padding factor + // Extract top k challenges Fr padding = Fr::one(); for (size_t i = 0; i < k; ++i) { - padding *= (Fr::one() - u_top[i]); + padding *= (Fr::one() - challenge[log_n - k + i]); } - Fr padding_inv = padding.invert(); Fr result = Fr::zero(); for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - result += lagrange_basis[j] * individual_evals[j]; + Fr lagrange_j = Fr::one(); + for (size_t bit = 0; bit < k; ++bit) { + bool bit_set = (j >> bit) & 1; + lagrange_j *= bit_set ? challenge[log_n - k + bit] : (Fr::one() - challenge[log_n - k + bit]); + } + result += lagrange_j * individual_evals[j]; } - return result * padding_inv; + return result * padding.invert(); } }; /** - * @brief Basic test: open a single concatenated polynomial (unshifted only) - * - * Flow: - * 1. Create 16 minicircuit polynomials (wires) - * 2. Concatenate into single polynomial: concat[j*MINI + k] = wire[j][k] - * 3. Commit to concatenated polynomial - * 4. Generate challenge point u = (u₀, ..., u_{log_n-1}) - * 5. Evaluate each wire at u (17-dimensional) - * 6. Extract top 4 challenges u_top for Lagrange basis - * 7. Compute batched eval = [1/L₀(u_top)] * Σⱼ Lⱼ(u_top) * wire_j(u) - * 8. Verify with Shplemini - */ -TEST_F(ShpleminiConcatenatedTest, UnshiftedOnly) -{ - // Create 16 minicircuit polynomials - auto wires = create_random_minicircuit_polynomials(); - - // Concatenate into single polynomial - Polynomial concat_poly = concatenate_polynomials(wires); - - // Commit - CK ck(n); - Commitment concat_commitment = ck.commit(concat_poly); - - // Generate challenge point (full dimension) - std::vector challenge(log_n); - for (size_t i = 0; i < log_n; ++i) { - challenge[i] = Fr::random_element(); - } - - // Extract top 4 challenges - std::array u_top; - for (size_t i = 0; i < k; ++i) { - u_top[i] = challenge[log_n - k + i]; - } - - // Evaluate each wire at full challenge - std::array wire_evals; - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - wire_evals[j] = wires[j].evaluate_mle(challenge); - } - - // Compute Lagrange basis and batched evaluation - auto lagrange_basis = compute_lagrange_basis(u_top); - Fr batched_eval = compute_batched_evaluation(u_top, lagrange_basis, wire_evals); - - // Ground truth: evaluate concatenated polynomial directly - Fr ground_truth = concat_poly.evaluate_mle(challenge); - EXPECT_EQ(batched_eval, ground_truth) << "Batched eval should match direct concatenated eval"; - - // --- Prover --- - auto prover_transcript = NativeTranscript::test_prover_init_empty(); - - using PolynomialBatcher = GeminiProver_::PolynomialBatcher; - PolynomialBatcher polynomial_batcher(n); - polynomial_batcher.set_unshifted(RefVector{ concat_poly }); - - using OpeningClaim = ProverOpeningClaim; - OpeningClaim prover_opening_claim = - ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); - - KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); - - // --- Verifier --- - auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); - - std::array commitments = { concat_commitment }; - std::array evals = { batched_eval }; - - using ClaimBatcher = ClaimBatcher_; - using ClaimBatch = ClaimBatcher::Batch; - - ClaimBatcher claim_batcher{ .unshifted = - ClaimBatch{ RefArray(commitments), RefArray(evals) } }; - - std::vector padding_indicator(challenge.size(), Fr{ 1 }); - - auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( - padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); - - auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(shplemini_output.batch_opening_claim), - verifier_transcript); - - VK vk; - bool verified = vk.pairing_check(pairing_points[0], pairing_points[1]); - EXPECT_TRUE(verified) << "Unshifted concatenated opening should verify"; -} - -/** - * @brief Test with shiftable concatenated polynomials (both unshifted and shifted) - * - * Flow similar to UnshiftedOnly but with shifted evaluations as well + * @brief Test with a single shiftable concatenated polynomial (both unshifted and shifted) */ -TEST_F(ShpleminiConcatenatedTest, ConcatenatedShiftablePolynomials) +TEST_F(ShpleminiConcatenatedTest, SingleGroup) { - // Create 16 shiftable minicircuit polynomials - auto wires = create_shiftable_minicircuit_polynomials(); - - // Concatenate + auto wires = create_minicircuit_polynomials(); Polynomial concat_poly = concatenate_polynomials(wires); - // Commit CK ck(n); Commitment concat_commitment = ck.commit(concat_poly); - // Generate challenge std::vector challenge(log_n); - for (size_t i = 0; i < log_n; ++i) { - challenge[i] = Fr::random_element(); - } - - // Extract top 4 challenges - std::array u_top; - for (size_t i = 0; i < k; ++i) { - u_top[i] = challenge[log_n - k + i]; + for (auto& u : challenge) { + u = Fr::random_element(); } // Evaluate wires and their shifts - std::array wire_evals; - std::array wire_shift_evals; - + std::array wire_evals, wire_shift_evals; for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { wire_evals[j] = wires[j].evaluate_mle(challenge); wire_shift_evals[j] = wires[j].shifted().evaluate_mle(challenge); } - // Compute Lagrange basis - auto lagrange_basis = compute_lagrange_basis(u_top); + Fr batched_unshifted = compute_batched_evaluation(challenge, wire_evals); + Fr batched_shifted = compute_batched_evaluation(challenge, wire_shift_evals); - // Compute batched evaluations - Fr batched_eval_unshifted = compute_batched_evaluation(u_top, lagrange_basis, wire_evals); - Fr batched_eval_shifted = compute_batched_evaluation(u_top, lagrange_basis, wire_shift_evals); - - // Ground truth - Fr ground_truth_unshifted = concat_poly.evaluate_mle(challenge); - Fr ground_truth_shifted = concat_poly.shifted().evaluate_mle(challenge); - - EXPECT_EQ(batched_eval_unshifted, ground_truth_unshifted) << "Unshifted batched eval should match direct eval"; - EXPECT_EQ(batched_eval_shifted, ground_truth_shifted) << "Shifted batched eval should match direct shifted eval"; + // Verify against ground truth + EXPECT_EQ(batched_unshifted, concat_poly.evaluate_mle(challenge)); + EXPECT_EQ(batched_shifted, concat_poly.shifted().evaluate_mle(challenge)); // --- Prover --- auto prover_transcript = NativeTranscript::test_prover_init_empty(); using PolynomialBatcher = GeminiProver_::PolynomialBatcher; PolynomialBatcher polynomial_batcher(n); - polynomial_batcher.set_unshifted(RefVector{ concat_poly }); polynomial_batcher.set_to_be_shifted_by_one(RefVector{ concat_poly }); @@ -289,15 +142,15 @@ TEST_F(ShpleminiConcatenatedTest, ConcatenatedShiftablePolynomials) auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); std::array commitments = { concat_commitment }; - std::array unshifted_evals_arr = { batched_eval_unshifted }; - std::array shifted_evals_arr = { batched_eval_shifted }; + std::array unshifted_evals = { batched_unshifted }; + std::array shifted_evals = { batched_shifted }; using ClaimBatcher = ClaimBatcher_; using ClaimBatch = ClaimBatcher::Batch; ClaimBatcher claim_batcher{ - .unshifted = ClaimBatch{ RefArray(commitments), RefArray(unshifted_evals_arr) }, - .shifted = ClaimBatch{ RefArray(commitments), RefArray(shifted_evals_arr) } + .unshifted = ClaimBatch{ RefArray(commitments), RefArray(unshifted_evals) }, + .shifted = ClaimBatch{ RefArray(commitments), RefArray(shifted_evals) } }; std::vector padding_indicator(challenge.size(), Fr{ 1 }); @@ -309,8 +162,7 @@ TEST_F(ShpleminiConcatenatedTest, ConcatenatedShiftablePolynomials) verifier_transcript); VK vk; - bool verified = vk.pairing_check(pairing_points[0], pairing_points[1]); - EXPECT_TRUE(verified) << "Shiftable concatenated opening should verify"; + EXPECT_TRUE(vk.pairing_check(pairing_points[0], pairing_points[1])); } /** @@ -320,55 +172,37 @@ TEST_F(ShpleminiConcatenatedTest, MultipleGroups) { constexpr size_t NUM_GROUPS = 5; - // Create 5 groups of 16 wires each + CK ck(n); + std::array, NUM_GROUPS> all_groups; std::array concat_polys; std::array commitments; - CK ck(n); - for (size_t g = 0; g < NUM_GROUPS; ++g) { - all_groups[g] = create_shiftable_minicircuit_polynomials(); + all_groups[g] = create_minicircuit_polynomials(); concat_polys[g] = concatenate_polynomials(all_groups[g]); commitments[g] = ck.commit(concat_polys[g]); } - // Generate challenge std::vector challenge(log_n); - for (size_t i = 0; i < log_n; ++i) { - challenge[i] = Fr::random_element(); - } - - // Extract top 4 challenges - std::array u_top; - for (size_t i = 0; i < k; ++i) { - u_top[i] = challenge[log_n - k + i]; + for (auto& u : challenge) { + u = Fr::random_element(); } - // Compute Lagrange basis once - auto lagrange_basis = compute_lagrange_basis(u_top); - - // Evaluate all groups - std::array batched_evals_unshifted; - std::array batched_evals_shifted; + std::array batched_evals_unshifted, batched_evals_shifted; for (size_t g = 0; g < NUM_GROUPS; ++g) { - std::array wire_evals; - std::array wire_shift_evals; - + std::array wire_evals, wire_shift_evals; for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { wire_evals[j] = all_groups[g][j].evaluate_mle(challenge); wire_shift_evals[j] = all_groups[g][j].shifted().evaluate_mle(challenge); } - batched_evals_unshifted[g] = compute_batched_evaluation(u_top, lagrange_basis, wire_evals); - batched_evals_shifted[g] = compute_batched_evaluation(u_top, lagrange_basis, wire_shift_evals); + batched_evals_unshifted[g] = compute_batched_evaluation(challenge, wire_evals); + batched_evals_shifted[g] = compute_batched_evaluation(challenge, wire_shift_evals); - // Verify against ground truth - EXPECT_EQ(batched_evals_unshifted[g], concat_polys[g].evaluate_mle(challenge)) - << "Group " << g << " unshifted batched eval mismatch"; - EXPECT_EQ(batched_evals_shifted[g], concat_polys[g].shifted().evaluate_mle(challenge)) - << "Group " << g << " shifted batched eval mismatch"; + EXPECT_EQ(batched_evals_unshifted[g], concat_polys[g].evaluate_mle(challenge)); + EXPECT_EQ(batched_evals_shifted[g], concat_polys[g].shifted().evaluate_mle(challenge)); } // --- Prover --- @@ -377,7 +211,6 @@ TEST_F(ShpleminiConcatenatedTest, MultipleGroups) using PolynomialBatcher = GeminiProver_::PolynomialBatcher; PolynomialBatcher polynomial_batcher(n); - // Convert array to vector for RefVector std::vector concat_polys_vec(concat_polys.begin(), concat_polys.end()); polynomial_batcher.set_unshifted(RefVector(concat_polys_vec)); polynomial_batcher.set_to_be_shifted_by_one(RefVector(concat_polys_vec)); @@ -408,8 +241,7 @@ TEST_F(ShpleminiConcatenatedTest, MultipleGroups) verifier_transcript); VK vk; - bool verified = vk.pairing_check(pairing_points[0], pairing_points[1]); - EXPECT_TRUE(verified) << "Multiple concatenated groups should verify"; + EXPECT_TRUE(vk.pairing_check(pairing_points[0], pairing_points[1])); } } // namespace bb From 7cd0c374715677b8c617885783eb10fccb85ba19 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 22:31:33 +0000 Subject: [PATCH 07/24] more test clean up --- .../shplonk/shplemini_concatenated.test.cpp | 188 ++++++++---------- 1 file changed, 82 insertions(+), 106 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp index b90bf8652209..dae5cf6e2bf9 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp @@ -55,7 +55,7 @@ class ShpleminiConcatenatedTest : public CommitmentTest { } /** - * @brief Concatenate 16 minicircuit polynomials: concat[j*MINI + k] = wire[j][k] + * @brief Concatenate 16 minicircuit polynomials: concat[j*MINI + idx] = wire[j][idx] */ Polynomial concatenate_polynomials(const std::array& polys) { @@ -75,7 +75,6 @@ class ShpleminiConcatenatedTest : public CommitmentTest { Fr compute_batched_evaluation(const std::vector& challenge, const std::array& individual_evals) { - // Extract top k challenges Fr padding = Fr::one(); for (size_t i = 0; i < k; ++i) { padding *= (Fr::one() - challenge[log_n - k + i]); @@ -92,82 +91,102 @@ class ShpleminiConcatenatedTest : public CommitmentTest { } return result * padding.invert(); } -}; -/** - * @brief Test with a single shiftable concatenated polynomial (both unshifted and shifted) - */ -TEST_F(ShpleminiConcatenatedTest, SingleGroup) -{ - auto wires = create_minicircuit_polynomials(); - Polynomial concat_poly = concatenate_polynomials(wires); + /** + * @brief Compute batched evaluations (unshifted + shifted) for a group of wires at a challenge point, + * and verify them against direct evaluation of the concatenated polynomial. + */ + std::pair evaluate_concatenation_group(const std::array& wires, + const Polynomial& concat_poly, + const std::vector& challenge) + { + std::array wire_evals; + std::array wire_shift_evals; - CK ck(n); - Commitment concat_commitment = ck.commit(concat_poly); + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { + wire_evals[j] = wires[j].evaluate_mle(challenge); + wire_shift_evals[j] = wires[j].shifted().evaluate_mle(challenge); + } - std::vector challenge(log_n); - for (auto& u : challenge) { - u = Fr::random_element(); - } + Fr batched_unshifted = compute_batched_evaluation(challenge, wire_evals); + Fr batched_shifted = compute_batched_evaluation(challenge, wire_shift_evals); - // Evaluate wires and their shifts - std::array wire_evals, wire_shift_evals; - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - wire_evals[j] = wires[j].evaluate_mle(challenge); - wire_shift_evals[j] = wires[j].shifted().evaluate_mle(challenge); + EXPECT_EQ(batched_unshifted, concat_poly.evaluate_mle(challenge)); + EXPECT_EQ(batched_shifted, concat_poly.shifted().evaluate_mle(challenge)); + + return { batched_unshifted, batched_shifted }; } - Fr batched_unshifted = compute_batched_evaluation(challenge, wire_evals); - Fr batched_shifted = compute_batched_evaluation(challenge, wire_shift_evals); + /** + * @brief Run Shplemini prove-and-verify for N concatenated polynomials (unshifted + shifted). + */ + template + bool prove_and_verify(std::array& concat_polys, + std::array& commitments, + std::array& unshifted_evals, + std::array& shifted_evals, + std::vector& challenge) + { + CK ck(n); + + // --- Prover --- + auto prover_transcript = NativeTranscript::test_prover_init_empty(); + + using PolynomialBatcher = GeminiProver_::PolynomialBatcher; + PolynomialBatcher polynomial_batcher(n); - // Verify against ground truth - EXPECT_EQ(batched_unshifted, concat_poly.evaluate_mle(challenge)); - EXPECT_EQ(batched_shifted, concat_poly.shifted().evaluate_mle(challenge)); + std::vector polys_vec(concat_polys.begin(), concat_polys.end()); + polynomial_batcher.set_unshifted(RefVector(polys_vec)); + polynomial_batcher.set_to_be_shifted_by_one(RefVector(polys_vec)); - // --- Prover --- - auto prover_transcript = NativeTranscript::test_prover_init_empty(); + auto prover_opening_claim = + ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); + KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); - using PolynomialBatcher = GeminiProver_::PolynomialBatcher; - PolynomialBatcher polynomial_batcher(n); - polynomial_batcher.set_unshifted(RefVector{ concat_poly }); - polynomial_batcher.set_to_be_shifted_by_one(RefVector{ concat_poly }); + // --- Verifier --- + auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); - using OpeningClaim = ProverOpeningClaim; - OpeningClaim prover_opening_claim = - ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); + using ClaimBatcher = ClaimBatcher_; + using ClaimBatch = ClaimBatcher::Batch; - KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); + ClaimBatcher claim_batcher{ + .unshifted = ClaimBatch{ RefArray(commitments), RefArray(unshifted_evals) }, + .shifted = ClaimBatch{ RefArray(commitments), RefArray(shifted_evals) } + }; - // --- Verifier --- - auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); + std::vector padding_indicator(challenge.size(), Fr{ 1 }); - std::array commitments = { concat_commitment }; - std::array unshifted_evals = { batched_unshifted }; - std::array shifted_evals = { batched_shifted }; + auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( + padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); - using ClaimBatcher = ClaimBatcher_; - using ClaimBatch = ClaimBatcher::Batch; + auto pairing_points = KZG::reduce_verify_batch_opening_claim( + std::move(shplemini_output.batch_opening_claim), verifier_transcript); + + VK vk; + return vk.pairing_check(pairing_points[0], pairing_points[1]); + } +}; - ClaimBatcher claim_batcher{ - .unshifted = ClaimBatch{ RefArray(commitments), RefArray(unshifted_evals) }, - .shifted = ClaimBatch{ RefArray(commitments), RefArray(shifted_evals) } - }; +TEST_F(ShpleminiConcatenatedTest, SingleGroup) +{ + auto wires = create_minicircuit_polynomials(); + std::array concat_polys = { concatenate_polynomials(wires) }; - std::vector padding_indicator(challenge.size(), Fr{ 1 }); + CK ck(n); + std::array commitments = { ck.commit(concat_polys[0]) }; - auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( - padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); + std::vector challenge(log_n); + for (auto& u : challenge) { + u = Fr::random_element(); + } - auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(shplemini_output.batch_opening_claim), - verifier_transcript); + auto [unshifted, shifted] = evaluate_concatenation_group(wires, concat_polys[0], challenge); + std::array unshifted_evals = { unshifted }; + std::array shifted_evals = { shifted }; - VK vk; - EXPECT_TRUE(vk.pairing_check(pairing_points[0], pairing_points[1])); + EXPECT_TRUE(prove_and_verify(concat_polys, commitments, unshifted_evals, shifted_evals, challenge)); } -/** - * @brief Test with multiple concatenated groups (mimics translator with 5 concatenated polynomials) - */ TEST_F(ShpleminiConcatenatedTest, MultipleGroups) { constexpr size_t NUM_GROUPS = 5; @@ -189,59 +208,16 @@ TEST_F(ShpleminiConcatenatedTest, MultipleGroups) u = Fr::random_element(); } - std::array batched_evals_unshifted, batched_evals_shifted; + std::array unshifted_evals; + std::array shifted_evals; for (size_t g = 0; g < NUM_GROUPS; ++g) { - std::array wire_evals, wire_shift_evals; - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; ++j) { - wire_evals[j] = all_groups[g][j].evaluate_mle(challenge); - wire_shift_evals[j] = all_groups[g][j].shifted().evaluate_mle(challenge); - } - - batched_evals_unshifted[g] = compute_batched_evaluation(challenge, wire_evals); - batched_evals_shifted[g] = compute_batched_evaluation(challenge, wire_shift_evals); - - EXPECT_EQ(batched_evals_unshifted[g], concat_polys[g].evaluate_mle(challenge)); - EXPECT_EQ(batched_evals_shifted[g], concat_polys[g].shifted().evaluate_mle(challenge)); + auto [u, s] = evaluate_concatenation_group(all_groups[g], concat_polys[g], challenge); + unshifted_evals[g] = u; + shifted_evals[g] = s; } - // --- Prover --- - auto prover_transcript = NativeTranscript::test_prover_init_empty(); - - using PolynomialBatcher = GeminiProver_::PolynomialBatcher; - PolynomialBatcher polynomial_batcher(n); - - std::vector concat_polys_vec(concat_polys.begin(), concat_polys.end()); - polynomial_batcher.set_unshifted(RefVector(concat_polys_vec)); - polynomial_batcher.set_to_be_shifted_by_one(RefVector(concat_polys_vec)); - - using OpeningClaim = ProverOpeningClaim; - OpeningClaim prover_opening_claim = - ShpleminiProver_::prove(n, polynomial_batcher, challenge, ck, prover_transcript); - - KZG::compute_opening_proof(ck, prover_opening_claim, prover_transcript); - - // --- Verifier --- - auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); - - using ClaimBatcher = ClaimBatcher_; - using ClaimBatch = ClaimBatcher::Batch; - - ClaimBatcher claim_batcher{ .unshifted = ClaimBatch{ RefArray(commitments), - RefArray(batched_evals_unshifted) }, - .shifted = ClaimBatch{ RefArray(commitments), - RefArray(batched_evals_shifted) } }; - - std::vector padding_indicator(challenge.size(), Fr{ 1 }); - - auto shplemini_output = ShpleminiVerifier_::compute_batch_opening_claim( - padding_indicator, claim_batcher, challenge, Commitment::one(), verifier_transcript); - - auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(shplemini_output.batch_opening_claim), - verifier_transcript); - - VK vk; - EXPECT_TRUE(vk.pairing_check(pairing_points[0], pairing_points[1])); + EXPECT_TRUE(prove_and_verify(concat_polys, commitments, unshifted_evals, shifted_evals, challenge)); } } // namespace bb From da81f0fc53615a8bae8710398db5bb4566b96f80 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 23:16:18 +0000 Subject: [PATCH 08/24] rm unneeded selectors --- ...slator_delta_range_constraint_relation.hpp | 21 ++++--- ...r_delta_range_constraint_relation_impl.hpp | 16 ++--- .../translator_recursive_flavor.hpp | 2 +- .../src/barretenberg/translator_vm/README.md | 1 - .../relation_correctness.test.cpp | 12 +--- .../translator_vm/relation_failure.test.cpp | 4 +- .../translator_vm/translator.test.cpp | 7 +-- .../translator_concatenation_migration.md | 30 +++------ .../translator_vm/translator_fixed_vk.hpp | 62 +++--------------- .../translator_vm/translator_flavor.hpp | 63 ++++++++++--------- .../translator_vm/translator_proving_key.cpp | 7 --- .../translator_vm/translator_selectors.hpp | 16 ++--- .../translator_selectors.test.cpp | 14 +---- 13 files changed, 82 insertions(+), 173 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp index de8c2c94e158..e27260feb7f3 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_delta_range_constraint_relation.hpp @@ -14,15 +14,15 @@ template class TranslatorDeltaRangeConstraintRelationImpl { using FF = FF_; // 1 + polynomial degree of this relation - // degree(-(1-lagrange_real_last)*(1-lagrange_masking_adjacent) * D(D-1)(D-2)(D-3)) = 4+2 = 6, so length = 7 - static constexpr size_t RELATION_LENGTH = 7; + // degree((1-lagrange_real_last-lagrange_ordered_masking) * D(D-1)(D-2)(D-3)) = 4+1 = 5, so length = 6 + static constexpr size_t RELATION_LENGTH = 6; static constexpr std::array SUBRELATION_PARTIAL_LENGTHS{ - 7, // ordered_range_constraints_0 step in {0,1,2,3} subrelation - 7, // ordered_range_constraints_1 step in {0,1,2,3} subrelation - 7, // ordered_range_constraints_2 step in {0,1,2,3} subrelation - 7, // ordered_range_constraints_3 step in {0,1,2,3} subrelation - 7, // ordered_range_constraints_4 step in {0,1,2,3} subrelation + 6, // ordered_range_constraints_0 step in {0,1,2,3} subrelation + 6, // ordered_range_constraints_1 step in {0,1,2,3} subrelation + 6, // ordered_range_constraints_2 step in {0,1,2,3} subrelation + 6, // ordered_range_constraints_3 step in {0,1,2,3} subrelation + 6, // ordered_range_constraints_4 step in {0,1,2,3} subrelation 3, // ordered_range_constraints_0 ends with defined maximum value subrelation 3, // ordered_range_constraints_1 ends with defined maximum value subrelation 3, // ordered_range_constraints_2 ends with defined maximum value subrelation @@ -36,14 +36,15 @@ template class TranslatorDeltaRangeConstraintRelationImpl { * @details The relation enforces 2 constraints on each of the ordered_range_constraints wires: * 1) 2 sequential values are non-descending and have a difference of at most 3. This check is skipped * at the real_last index (lagrange_real_last = 1) and in the ordered masking region - * (lagrange_ordered_masking_adjacent = 1). + * (lagrange_ordered_masking = 1). * 2) The value at the real_last index is 2¹⁴ - 1. * TODO(https://github.com/AztecProtocol/barretenberg/issues/1607): This only enforces <254-bit range constraints, * NOT strict ::accumulate(ContainerOverSub auto ordered_range_constraints_3_shift = View(in.ordered_range_constraints_3_shift); auto ordered_range_constraints_4_shift = View(in.ordered_range_constraints_4_shift); - // Represents the position of the final non-masked witness index const auto lagrange_real_last = View(in.lagrange_real_last); - const auto lagrange_ordered_masking_adjacent = View(in.lagrange_ordered_masking_adjacent); + const auto lagrange_ordered_masking = View(in.lagrange_ordered_masking); - // This selector is 0 at the real_last row and in ordered masking/adjacent rows (where delta checks are - // skipped), and -1 at all other rows (where delta checks are enforced). - // lagrange_ordered_masking_adjacent is 1 at contiguous ordered masking rows AND the row before the masking - // region, which prevents checking ordered[i+1] - ordered[i] when ordered[i+1] is a masking value. - // We use a multiplicative form to correctly handle the overlap at the last non-masking row - // where both lagrange_real_last = 1 and lagrange_ordered_masking_adjacent = 1. - const auto not_last_or_masking = - (lagrange_real_last + minus_one) * (lagrange_ordered_masking_adjacent + minus_one); + // 0 at real_last and ordered masking rows (where delta checks are skipped), nonzero elsewhere. + // lagrange_real_last and lagrange_ordered_masking have disjoint support, so the sum is 0/1. + const auto not_last_or_masking = lagrange_real_last + lagrange_ordered_masking + minus_one; // Compute wire differences auto delta_1 = ordered_range_constraints_0_shift - ordered_range_constraints_0; diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp index 28ac47585d46..d567dab9e988 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_flavor.hpp @@ -99,7 +99,7 @@ class TranslatorRecursiveFlavor { * polynomials used by the verifier. */ using VerificationKey = - FixedStdlibVKAndHash_, NativeVerificationKey>; + FixedStdlibVKAndHash_, NativeVerificationKey>; /** * @brief A container for the witness commitments. diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/README.md b/barretenberg/cpp/src/barretenberg/translator_vm/README.md index b3dd2e6e74e7..f4d73664bb47 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/README.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/README.md @@ -438,7 +438,6 @@ The circuit uses Lagrange polynomials to control which constraints are active: ( | `lagrange_result_row` | Row containing final accumulator result | $i = (z_1 + r_{\textsf{start}})$ | | `lagrange_last_in_minicircuit` | Last real row in mini-circuit | $i = (n - r_{\textsf{end}}) - 1$ | | `lagrange_ordered_masking` | Contiguous masking at end of circuit | $i \in [N - 64, N)$ | -| `lagrange_ordered_masking_adjacent` | Ordered masking + 1 adjacent row | $i \in [N - 65, N)$ | | `lagrange_masking_adjacent` | Scattered masking + adjacent rows | One row before each block's masking region | | | | | diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp index 27fb8bd77fa0..f910f7565232 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp @@ -1005,8 +1005,7 @@ TEST_F(TranslatorRelationCorrectnessTests, OrderedPolynomialBoundary) /** * @brief Test that all masking-related lagrange selectors have correct values at every critical boundary. * @details Checks lagrange_masking (scattered), lagrange_masking_adjacent (scattered + 1 row before), - * lagrange_ordered_masking (contiguous at end), lagrange_ordered_masking_adjacent (contiguous + 1), - * and lagrange_real_last at their boundary positions. + * lagrange_ordered_masking (contiguous at end), and lagrange_real_last at their boundary positions. */ TEST_F(TranslatorRelationCorrectnessTests, LagrangeSelectorBoundaryCorrectness) { @@ -1062,15 +1061,6 @@ TEST_F(TranslatorRelationCorrectnessTests, LagrangeSelectorBoundaryCorrectness) EXPECT_EQ(pp.lagrange_ordered_masking[i], FF(1)) << "lagrange_ordered_masking should be 1 at position " << i; } - // --- lagrange_ordered_masking_adjacent (contiguous + 1) --- - EXPECT_EQ(pp.lagrange_ordered_masking_adjacent[full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 2], - FF(0)) - << "lagrange_ordered_masking_adjacent should be 0 two positions before masking region"; - for (size_t i = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; i < full_circuit_size; i++) { - EXPECT_EQ(pp.lagrange_ordered_masking_adjacent[i], FF(1)) - << "lagrange_ordered_masking_adjacent should be 1 at position " << i; - } - // --- lagrange_real_last --- const size_t real_last_pos = full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; EXPECT_EQ(pp.lagrange_real_last[real_last_pos], FF(1)) << "lagrange_real_last should be 1 at real_last position"; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp index ef71864ead85..d56bcbe2f696 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp @@ -246,9 +246,9 @@ TEST_F(TranslatorRelationFailureTests, PermutationFailsOnZPermCorruption) /** * @brief Corrupt ordered poly at position circuit_size - MAX_RANDOM - 2, the last row where the delta - * constraint is enforced. This is right before lagrange_ordered_masking_adjacent kicks in. + * constraint is enforced. This is right before lagrange_real_last + lagrange_ordered_masking kicks in. * - * @details At this position: lagrange_real_last = 0, lagrange_ordered_masking_adjacent = 0. + * @details At this position: lagrange_real_last = 0, lagrange_ordered_masking = 0. * The delta to the next row (real_last, which holds 2^14-1) must be in {0,1,2,3}. * Setting a value of 0 here creates a gap of 2^14 - 1 to the next row. */ diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp index 4f726056fb2c..2e262cbac854 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp @@ -21,10 +21,9 @@ TranslatorFlavor::VerificationKey create_vk_from_proving_key( const std::shared_ptr& proving_key) { TranslatorFlavor::VerificationKey vk; - // Overwrite fixed commitments with computed commitments from the proving key - for (auto [polynomial, commitment] : zip_view(proving_key->polynomials.get_precomputed(), vk.get_all())) { - commitment = proving_key->commitment_key.commit(polynomial); - } + // Only ordered_extra_range_constraints_numerator needs a VK commitment (the only non-computable precomputed) + vk.ordered_extra_range_constraints_numerator = + proving_key->commitment_key.commit(proving_key->polynomials.ordered_extra_range_constraints_numerator); return vk; } diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md index 72306bb99c50..230903f5bdcd 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md @@ -198,26 +198,18 @@ via the beta-separation term. **Files:** `translator_permutation_relation.hpp`, `translator_permutation_relation_impl.hpp` -### 3. Delta Range Constraint: Ordered Masking Adjacent +### 3. Delta Range Constraint: Ordered Masking Disable The delta range constraint checks `ordered[i+1] - ordered[i] ∈ {0,1,2,3}` at each row. With contiguous masking at the end of ordered polynomials, the constraint must be disabled -at masking positions AND at the row immediately before the masking region (where `ordered[i+1]` -would be a masking value). +at masking positions AND at the `lagrange_real_last` row (where we enforce the maximum value). -`lagrange_ordered_masking_adjacent` is 1 at all contiguous masking positions AND the row -before the masking region: - -``` -lagrange_ordered_masking_adjacent[i] = 1 for i ∈ [circuit_size - MAX_RANDOM - 1, circuit_size) -``` - -The disable condition uses a multiplicative form to handle the overlap at the last non-masking row: +The disable condition uses a linear form with disjoint-support selectors: ```cpp -not_last_or_masking = (lagrange_real_last - 1) * (lagrange_ordered_masking_adjacent - 1) -// = 0 (disabled) when either is 1 -// = 1 (enabled) otherwise +not_last_or_masking = lagrange_real_last + lagrange_ordered_masking - 1 +// = 0 (disabled) when either is 1 (disjoint support, so at most one is 1) +// = -1 (enabled) otherwise ``` `lagrange_real_last` marks position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1`, which @@ -330,9 +322,8 @@ Claims are batched without `InterleavedBatch`: | 9 | `lagrange_real_last` | Yes | Single point: row N-MAX_RANDOM-1 | | 10 | `lagrange_masking_adjacent` | Yes | Near-subcube: masking ∪ adjacent rows | | 11 | `lagrange_ordered_masking` | Yes | Subcube: bits R..D-1 = 1 | -| 12 | `lagrange_ordered_masking_adjacent` | Yes | Near-subcube: ordered_masking ∪ 1 row | -All 12 computable selectors are structured multilinear polynomials whose support forms subcubes +All 11 computable selectors are structured multilinear polynomials whose support forms subcubes or small unions of subcubes. Their evaluations at the sumcheck challenge can be computed in O(d) field operations. @@ -349,7 +340,7 @@ identities. Any forgery of witness evaluations would still be caught by the witn **Flavor constants** (`translator_flavor.hpp`): ```cpp -static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 12; +static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 11; static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NUM_MASKING_POLYNOMIALS + 1; // = 2 static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; // = 180 ``` @@ -385,10 +376,9 @@ fewer scalar multiplications in the verifier's batch opening check. | `lagrange_masking` | Scattered across 16 blocks (end of each block) | | New: `lagrange_masking_adjacent` | Precomputed = masking ∪ row-before-masking (scattered) | | New: `lagrange_ordered_masking` | Precomputed = contiguous at end (for ordered polys) | -| New: `lagrange_ordered_masking_adjacent` | Contiguous masking + 1 adjacent row | | `lagrange_real_last` | Position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1` | | Permutation relation | Dual masking selectors (scattered for numerator, contiguous for denominator) | -| Delta range constraint | Uses `lagrange_ordered_masking_adjacent` (contiguous) | +| Delta range constraint | Uses `lagrange_real_last + lagrange_ordered_masking - 1` (linear form) | | Ordered polynomial construction | Contiguous masking at end; sorted values packed before | | `compute_interleaved_polynomials()` → `compute_concatenated_polynomials()` | MSB-lane concatenation | | `split_interleaved_..._to_ordered()` → `split_concatenated_..._to_ordered()` | Extract from scattered, place contiguous | @@ -435,4 +425,4 @@ fewer scalar multiplications in the verifier's batch opening check. | `stdlib/translator_vm_verifier/translator_recursive_flavor.hpp` | Forwarded constants and methods | | `sumcheck/sumcheck.hpp` | Prover: filtered eval send; Verifier: filtered receive + compute | | `relations/translator_vm/translator_permutation_relation*.hpp` | Dual masking selectors | -| `relations/translator_vm/translator_delta_range_constraint_relation*.hpp` | `lagrange_ordered_masking_adjacent` | +| `relations/translator_vm/translator_delta_range_constraint_relation*.hpp` | `lagrange_real_last + lagrange_ordered_masking` | diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp index 75903a2b286e..fa0aec7aea66 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_fixed_vk.hpp @@ -11,73 +11,27 @@ namespace bb { /** - * @brief Stores the fixed Translator VK commitments (to precomputed polynomials) that depend only on the circuit size + * @brief Stores the fixed Translator VK commitment that depends only on the circuit size * constant CONST_TRANSLATOR_LOG_N. - * @details If the constant CONST_TRANSLATOR_LOG_N changes, these commitments and vk_hash must be updated accordingly. + * @details Only ordered_extra_range_constraints_numerator needs a VK commitment — all other + * precomputed selectors are structured multilinear polynomials whose evaluations the verifier + * computes analytically (see TranslatorSelectorEvaluations::compute), so they never enter PCS. + * If CONST_TRANSLATOR_LOG_N changes, this commitment and vk_hash must be updated accordingly. * Their values can be obtained from the test TranslatorTests::FixedVK. - * */ struct TranslatorHardcodedVKAndHash { using Commitment = curve::BN254::AffineElement; using FF = curve::BN254::ScalarField; - // Precomputed VK hash (hash of all commitments below). Update via TranslatorTests::FixedVK if commitments change. - static FF vk_hash() { return FF(uint256_t("0x0f60048d1e307d650b93632471d6bd544f4c399c6f9caa812e49d31c788333b5")); } + // Precomputed VK hash (hash of the commitment below). Update via TranslatorTests::FixedVK if commitments change. + static FF vk_hash() { return FF(uint256_t("0x281228e56fbfb62a424c94bda780104c9b5e758b8a02f148ce5e98c2867fdfc1")); } static std::vector get_all() { return { - // ordered_extra_range_constraints_numerator (column 0) + // ordered_extra_range_constraints_numerator (the only non-computable precomputed selector) Commitment(uint256_t("0x1ddbff0e1f0999f88ffa959e9505e5f489b57d6a7937c17a4d69fc871d5e9221"), uint256_t("0x14149055853422bf016065386e8ea0ffb9425b454048e1cd14cfdca457aa7e17")), - - // lagrange_first (column 1) - Commitment(uint256_t("0x0000000000000000000000000000000000000000000000000000000000000001"), - uint256_t("0x0000000000000000000000000000000000000000000000000000000000000002")), - - // lagrange_last (column 2) - Commitment(uint256_t("0x0b91db670af249ea43bf35a192f139f7d7506fbc37fbeb19daf9175a52bd37d1"), - uint256_t("0x249db0a866cc29c2490881d2eeb1ac6ae30a5902bc272f02695953997b6d2e2e")), - - // lagrange_odd_in_minicircuit (column 3) - Commitment(uint256_t("0x074416f297ac484a550b0c1a03e2fa105ec917c2a682756e3d26b22258cd2b97"), - uint256_t("0x1ca1c180bc48235518bf4ee2d7511bd21efc121581c5d2cc1fb5a30645e23dcd")), - - // lagrange_even_in_minicircuit (column 4) - Commitment(uint256_t("0x0e592a2a12aef6034b950f4f74ea34efbc8989333c100ea6ff49d816f34f4b96"), - uint256_t("0x29839134d945c4586b216ea4e0baeafcce798c8ed7229efbee2827eb542392b7")), - - // lagrange_result_row (column 5) - Commitment(uint256_t("0x2c4e3788efe883d91b423233818890599ad233cecf88be80debce9e5ac727e29"), - uint256_t("0x0d79fb9abbbde1fdb4c53d148cfcf083e84f3153e6817f5a19f0560e831dda8f")), - - // lagrange_last_in_minicircuit (column 6) - Commitment(uint256_t("0x19cce0459cdb5d34dc78edfc65a309f7b5f2e3f2143bb69f0ac7e77ee653d1a5"), - uint256_t("0x11b8ced4eb4fd3db1b68e7b439f33a28a3c771d6b9a405e26ed63957b8b4ac95")), - - // lagrange_masking (column 7) - scattered across 16 blocks - Commitment(uint256_t("0x0d88d06b234e200005eee35f8e3553a1a2a71726a87c698842b6bf8cee9747c6"), - uint256_t("0x124627de66fbf168845c3cd449510a932387f8839318828cab3e7d93aceeee6b")), - - // lagrange_mini_masking (column 8) - Commitment(uint256_t("0x2006473957740f821233b54dbf2aa5630e66478691c26168344b34096c040ad0"), - uint256_t("0x1246f1a3d5140bfeb529ddb7f016b9c6604bec72dfcf4b1fc3f11b036b38d46f")), - - // lagrange_real_last (column 9) - last position with sorted values in ordered polynomials - Commitment(uint256_t("0x1e6ee0411de077adf17e86510d34d319b1d26dfb0c16494ce1f6e2e3bf093527"), - uint256_t("0x2685bec825c699d51d363a516cef34af71c221d7f1c6868850fae8197efb02ca")), - - // lagrange_masking_adjacent (column 10) - masking rows + adjacent rows - Commitment(uint256_t("0x056fbeb16e526177b83afa9461be6d2959c0192f92b504f22d3b498dd1939bf0"), - uint256_t("0x046e68fe26c9c330388b3821b762229f7355e12055f22d264e4de55aa4b128d1")), - - // lagrange_ordered_masking (column 11) - contiguous at end - Commitment(uint256_t("0x262468705c0bba548f33898a45c9981223419e337f5020c9667237cc92ecd332"), - uint256_t("0x2a0672531c488dc9f16dd660b3554ac51539fe8817238051b7ea1a6133a8bc88")), - - // lagrange_ordered_masking_adjacent (column 12) - contiguous at end + adjacent - Commitment(uint256_t("0x26c2371d8a42ea30841866fde29b1ce2542bd018e25a2f2ba60375e2873b7315"), - uint256_t("0x19819e13160053cbce389629669ae3279ec159341989d71d1753a427ad748ae9")), }; } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 76b006d0f6c6..0505eea8d5e0 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -59,9 +59,9 @@ class TranslatorFlavor { // The number of entities added for ZK (gemini_masking_poly) static constexpr size_t NUM_MASKING_POLYNOMIALS = 1; - // 12 of 13 precomputed selectors are structured multilinear polynomials whose evaluations at the + // 11 of 12 precomputed selectors are structured multilinear polynomials whose evaluations at the // sumcheck challenge can be computed in O(d) field ops (all except ordered_extra_range_constraints_numerator). - static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 12; + static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 11; // None of this parameters can be changed // Number of wires representing the op queue whose commitments are going to be checked against those from the @@ -129,15 +129,15 @@ class TranslatorFlavor { // The number of multivariate polynomials on which a sumcheck prover sumcheck operates (including shifts). We // often need containers of this size to hold related data, so we choose a name more agnostic than // `NUM_POLYNOMIALS`. Note: this number does not include the individual sorted list polynomials. - // = MaskingEntities(1) + Precomputed(13) + Witness(92) + Shifted(86) = 192 - static constexpr size_t NUM_ALL_ENTITIES = 192; + // = MaskingEntities(1) + Precomputed(12) + Witness(92) + Shifted(86) = 191 + static constexpr size_t NUM_ALL_ENTITIES = 191; // Number of evaluations sent in proof (all minus computable precomputed) static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; // The number of polynomials precomputed to describe a circuit and to aid a prover in constructing a satisfying // assignment of witnesses. We again choose a neutral name. - static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 13; + static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 12; // The total number of witness entities not including shifts. // = WireNonshifted(1) + WireToBeShifted(80) + OrderedRange(5) + Derived(1) + Concatenated(5) = 92 @@ -222,7 +222,7 @@ class TranslatorFlavor { /* 5. Libra sum */ (num_frs_fr) + /* 4. CONST_TRANSLATOR_LOG_N sumcheck univariates */ (CONST_TRANSLATOR_LOG_N * BATCHED_RELATION_PARTIAL_LENGTH * num_frs_fr) + - /* 5. sumcheck evaluations (12 computable precomputed excluded) */ (NUM_SENT_EVALUATIONS * num_frs_fr) + + /* 5. sumcheck evaluations (computable precomputed excluded) */ (NUM_SENT_EVALUATIONS * num_frs_fr) + /* 6. Libra claimed evaluation */ (num_frs_fr) + /* 7. Libra grand sum commitment */ (num_frs_comm) + /* 8. Libra quotient commitment */ (num_frs_comm) + @@ -254,8 +254,7 @@ class TranslatorFlavor { lagrange_mini_masking, // column 8 lagrange_real_last, // column 9 lagrange_masking_adjacent, // column 10 - lagrange_ordered_masking, // column 11 - lagrange_ordered_masking_adjacent); // column 12 + lagrange_ordered_masking); // column 11 }; template class ConcatenatedPolynomials { @@ -904,7 +903,7 @@ class TranslatorFlavor { } /** - * @brief Unshifted polynomials for PCS, excluding concatenated AND 12 computable precomputed. + * @brief Unshifted polynomials for PCS, excluding concatenated AND computable precomputed. * @details Masking(1) + ordered_extra(1) + WireNonshifted(1) + OrderedRange(5) + Derived(1) = 9 */ auto get_unshifted_without_concatenated() @@ -969,8 +968,15 @@ class TranslatorFlavor { using Base::Base; }; + // Static consistency checks for entity counts + static_assert(PrecomputedEntities::_members_size == NUM_PRECOMPUTED_ENTITIES); + static_assert(NUM_ALL_ENTITIES == + NUM_MASKING_POLYNOMIALS + NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES + NUM_SHIFTED_ENTITIES); + static_assert(NUM_COMPUTABLE_PRECOMPUTED == NUM_PRECOMPUTED_ENTITIES - 1, + "All precomputed selectors except ordered_extra_range_constraints_numerator are computable"); + /** - * @brief Compute 12 computable precomputed selector evaluations and write them into AllEntities. + * @brief Compute the computable precomputed selector evaluations and write them into AllEntities. */ template static void compute_computable_precomputed(AllEntities& evals, std::span challenge) @@ -1026,7 +1032,7 @@ class TranslatorFlavor { template static void complete_claimed_evaluations(AllEntities& evals, std::span challenge) { - // 1. Compute the 12 computable precomputed selector evaluations + // 1. Compute the computable precomputed selector evaluations compute_computable_precomputed(evals, challenge); // 2. Scale minicircuit wire evaluations by L_0(u_top) = Π_{i=0}^{3} (1 - u_{LOG_MINI + i}) @@ -1158,11 +1164,6 @@ class TranslatorFlavor { lagrange_ordered_masking = Polynomial{ /*size*/ MAX_RANDOM_VALUES_PER_ORDERED, /*virtual_size*/ circuit_size, /*start_index*/ circuit_size - MAX_RANDOM_VALUES_PER_ORDERED }; - // Ordered masking adjacent: includes the row before masking region (for delta constraint) - lagrange_ordered_masking_adjacent = - Polynomial{ /*size*/ MAX_RANDOM_VALUES_PER_ORDERED + 1, - /*virtual_size*/ circuit_size, - /*start_index*/ circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1 }; lagrange_last = Polynomial{ /*size*/ 1, /*virtual_size*/ circuit_size, /*start_index*/ circuit_size - 1 }; @@ -1230,11 +1231,25 @@ class TranslatorFlavor { {} }; + /** + * @brief The only precomputed commitment the verifier needs for PCS. + * @details All other precomputed selectors are computable (evaluations derived from the sumcheck challenge), + * so they never enter PCS and don't need commitments in the VK. + */ + template class VKEntities { + public: + bool operator==(const VKEntities& other) const = default; + using DataType = DataType_; + DEFINE_FLAVOR_MEMBERS(DataType, ordered_extra_range_constraints_numerator); + }; + /** * @brief The verification key stores commitments to the precomputed polynomials used by the verifier. * @details Translator has a fixed circuit size, so the VK is hardcoded in recursive verifiers. + * Only ordered_extra_range_constraints_numerator needs a commitment — all other precomputed + * selectors are structured multilinear polynomials whose evaluations the verifier computes analytically. */ - using VerificationKey = FixedVKAndHash_, FF, TranslatorHardcodedVKAndHash>; + using VerificationKey = FixedVKAndHash_, FF, TranslatorHardcodedVKAndHash>; /** * @brief A container for storing the partially evaluated multivariates produced by sumcheck. @@ -1376,20 +1391,10 @@ class TranslatorFlavor { public: VerifierCommitments_(const std::shared_ptr& verification_key) { - this->lagrange_first = verification_key->lagrange_first; - this->lagrange_last = verification_key->lagrange_last; - this->lagrange_odd_in_minicircuit = verification_key->lagrange_odd_in_minicircuit; - this->lagrange_even_in_minicircuit = verification_key->lagrange_even_in_minicircuit; - this->lagrange_result_row = verification_key->lagrange_result_row; - this->lagrange_last_in_minicircuit = verification_key->lagrange_last_in_minicircuit; + // Only ordered_extra_range_constraints_numerator needs a VK commitment for PCS. + // All other precomputed selectors are computable (evaluations derived from sumcheck challenge). this->ordered_extra_range_constraints_numerator = verification_key->ordered_extra_range_constraints_numerator; - this->lagrange_masking = verification_key->lagrange_masking; - this->lagrange_mini_masking = verification_key->lagrange_mini_masking; - this->lagrange_real_last = verification_key->lagrange_real_last; - this->lagrange_masking_adjacent = verification_key->lagrange_masking_adjacent; - this->lagrange_ordered_masking = verification_key->lagrange_ordered_masking; - this->lagrange_ordered_masking_adjacent = verification_key->lagrange_ordered_masking_adjacent; } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp index b3a924bbc2c7..a30bf169c2ee 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp @@ -242,7 +242,6 @@ void TranslatorProvingKey::compute_lagrange_polynomials() proving_key->polynomials.lagrange_first.at(0) = 1; // lagrange_real_last marks the last position with sorted values in ordered polynomials // (where we check maximum value = 2^14 - 1) - // This position overlaps with lagrange_ordered_masking_adjacent proving_key->polynomials.lagrange_real_last.at(circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1) = 1; proving_key->polynomials.lagrange_last.at(circuit_size - 1) = 1; @@ -273,12 +272,6 @@ void TranslatorProvingKey::compute_lagrange_polynomials() proving_key->polynomials.lagrange_ordered_masking.at(i) = 1; } - // lagrange_ordered_masking_adjacent: marks the position before masking region AND all masking positions - // This disables delta range constraint at positions where ordered[i+1] would be a masking value - for (size_t i = circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1; i < circuit_size; i++) { - proving_key->polynomials.lagrange_ordered_masking_adjacent.at(i) = 1; - } - for (size_t i = Flavor::RANDOMNESS_START; i < Flavor::RESULT_ROW; i++) { proving_key->polynomials.lagrange_mini_masking.at(i) = 1; } diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp index 347868b12110..96612d8f99ef 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp @@ -7,7 +7,7 @@ namespace bb { /** - * @brief Evaluates the 12 structured Translator precomputed selectors at a sumcheck challenge point. + * @brief Evaluates the 11 structured Translator precomputed selectors at a sumcheck challenge point. * * @details All Translator selectors except ordered_extra_range_constraints_numerator are multilinear * polynomials over {0,1}^d whose support forms subcubes or small unions of subcubes. Their evaluations @@ -45,7 +45,7 @@ template struct TranslatorSelectorEv static_assert(LOG_RESULT_ROW < LOG_MINI_CIRCUIT_SIZE); static_assert(LOG_MINI_CIRCUIT_SIZE > LOG_MAX_RANDOM, "Mini circuit must be larger than max random region"); - // The 12 selector evaluations (order matches PrecomputedEntities in translator_flavor.hpp, + // The 11 selector evaluations (order matches PrecomputedEntities in translator_flavor.hpp, // skipping ordered_extra_range_constraints_numerator which cannot be efficiently computed) FF lagrange_first; FF lagrange_last; @@ -58,13 +58,12 @@ template struct TranslatorSelectorEv FF lagrange_real_last; FF lagrange_masking_adjacent; FF lagrange_ordered_masking; - FF lagrange_ordered_masking_adjacent; /** - * @brief Compute evaluations of all 12 structured selectors at the sumcheck challenge. + * @brief Compute evaluations of all 11 structured selectors at the sumcheck challenge. * * @param u Sumcheck challenge (u_0, ..., u_{LOG_N-1}). Size must equal LOG_N. - * @return TranslatorSelectorEvaluations with all 12 fields populated. + * @return TranslatorSelectorEvaluations with all 11 fields populated. */ static TranslatorSelectorEvaluations compute(std::span u) { @@ -185,10 +184,6 @@ template struct TranslatorSelectorEv // ---- Near-subcube indicators ---- - // lagrange_ordered_masking_adjacent: lagrange_ordered_masking ∪ {lagrange_real_last row} - // = ∏_{k=R+1}^{D-1} u_k · [ u_R + (1-u_R) · ∏_{k=0}^{R-1} u_k ] - evals.lagrange_ordered_masking_adjacent = u_Rp1_D1 * (u[R] + c[R] * u_0_R1); - // lagrange_masking_adjacent: lagrange_masking ∪ {row before each masking block, all 16 blocks} // The adjacent row within each block has bits 0..m-1=1, bit m=0, bits m+1..M-1=1; // across all blocks (bits M..D-1 free), this is itself a subcube. @@ -233,7 +228,7 @@ template struct TranslatorSelectorEv } /** - * @brief Write all 12 computed evaluations into any entity struct with matching named fields. + * @brief Write all 11 computed evaluations into any entity struct with matching named fields. * @details Works for AllValues, AllEntities, PrecomputedEntities, native or stdlib. */ template void populate(Entities& target) const @@ -249,7 +244,6 @@ template struct TranslatorSelectorEv target.lagrange_real_last = lagrange_real_last; target.lagrange_masking_adjacent = lagrange_masking_adjacent; target.lagrange_ordered_masking = lagrange_ordered_masking; - target.lagrange_ordered_masking_adjacent = lagrange_ordered_masking_adjacent; } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp index 2169cbd18f12..525e5322c989 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp @@ -12,7 +12,7 @@ using namespace bb; namespace { /** - * @brief Create all 12 structured Translator selector polynomials and verify that + * @brief Create all 11 structured Translator selector polynomials and verify that * TranslatorSelectorEvaluations::compute matches their MLE evaluations at a random challenge. * * @details Replicates the pattern-setting logic from TranslatorProvingKey::compute_lagrange_polynomials() @@ -75,14 +75,6 @@ template void test_translator_selector_evaluations() }), evals.lagrange_ordered_masking); - // --- lagrange_ordered_masking_adjacent: 1 at rows [N - MAX_RANDOM - 1, N - 1] --- - EXPECT_EQ(make_and_eval([](Poly& p) { - for (size_t i = N - MAX_RANDOM_VALUES_PER_ORDERED - 1; i < N; i++) { - p.at(i) = 1; - } - }), - evals.lagrange_ordered_masking_adjacent); - // --- lagrange_masking: 1 at last NUM_MASKED rows of each of 16 blocks --- EXPECT_EQ(make_and_eval([](Poly& p) { for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { @@ -150,7 +142,7 @@ TEST(TranslatorSelectors, RealCircuit) } /** - * @brief Measure the in-circuit cost of computing all 12 Translator selector evaluations. + * @brief Measure the in-circuit cost of computing all 11 Translator selector evaluations. * * @details Creates witness challenge values in a circuit builder, runs the analytical computation, * measures the gate delta, and verifies correctness against native field computation. @@ -203,8 +195,6 @@ template void test_translator_selector_circu EXPECT_EQ(circuit_evals.lagrange_real_last.get_value(), native_evals.lagrange_real_last); EXPECT_EQ(circuit_evals.lagrange_masking_adjacent.get_value(), native_evals.lagrange_masking_adjacent); EXPECT_EQ(circuit_evals.lagrange_ordered_masking.get_value(), native_evals.lagrange_ordered_masking); - EXPECT_EQ(circuit_evals.lagrange_ordered_masking_adjacent.get_value(), - native_evals.lagrange_ordered_masking_adjacent); } TEST(TranslatorSelectors, CircuitCostUltra) From 54d253b3006cbe60b990ddb2b9582a01824e40c5 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Mon, 9 Feb 2026 23:25:31 +0000 Subject: [PATCH 09/24] rm magic constants --- .../translator_vm/translator_verifier.cpp | 48 ++++++++----------- .../translator_vm/translator_verifier.hpp | 12 +++++ 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp index db9cb5d68aa9..9aebd372c80a 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp @@ -118,31 +118,26 @@ void put_translation_data_in_relation_parameters_impl(RelationParameters -std::pair, std::array> reconstruct_concatenated_evaluations(const std::vector& challenge, - const auto& groups, - const auto& shift_groups) -{ - static constexpr size_t NUM_TOP_BITS = 4; // log2(CONCATENATION_GROUP_SIZE) - const size_t log_n = challenge.size(); +} // namespace - // Compute 16-point Lagrange basis over the top 4 challenges - std::array lagrange_basis; - for (size_t j = 0; j < 16; j++) { +template +std::pair::FF, TranslatorFlavor::NUM_CONCATENATED_POLYS>, + std::array::FF, TranslatorFlavor::NUM_CONCATENATED_POLYS>> +TranslatorVerifier_::reconstruct_concatenated_evaluations(const std::vector& challenge, + const std::vector>& groups, + const std::vector>& shift_groups) +{ + static constexpr size_t CONCATENATION_GROUP_SIZE = TranslatorFlavor::CONCATENATION_GROUP_SIZE; + static constexpr size_t NUM_CONCATENATED_POLYS = TranslatorFlavor::NUM_CONCATENATED_POLYS; + static constexpr size_t NUM_TOP_BITS = numeric::get_msb(CONCATENATION_GROUP_SIZE); + static constexpr size_t LOG_N = TranslatorFlavor::CONST_TRANSLATOR_LOG_N; + + // Compute CONCATENATION_GROUP_SIZE-point Lagrange basis over the top challenges + std::array lagrange_basis; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { lagrange_basis[j] = FF(1); for (size_t bit = 0; bit < NUM_TOP_BITS; bit++) { - const FF& u = challenge[log_n - NUM_TOP_BITS + bit]; + const FF& u = challenge[LOG_N - NUM_TOP_BITS + bit]; lagrange_basis[j] *= ((j >> bit) & 1) ? u : (FF(1) - u); } } @@ -152,21 +147,20 @@ std::pair, std::array> reconstruct_concatenated_evaluat // Reconstruct a single concatenated eval: [1/L_0] * Σ_j L_j * wire_j(u) auto reconstruct = [&](const auto& group) -> FF { FF result = FF(0); - for (size_t j = 0; j < 16; j++) { + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { result += lagrange_basis[j] * group[j]; } return result * padding_inv; }; - std::array concat_evals; - std::array concat_shift_evals; - for (size_t g = 0; g < 5; g++) { + std::array concat_evals; + std::array concat_shift_evals; + for (size_t g = 0; g < NUM_CONCATENATED_POLYS; g++) { concat_evals[g] = reconstruct(groups[g]); concat_shift_evals[g] = reconstruct(shift_groups[g]); } return { concat_evals, concat_shift_evals }; } -} // namespace template void TranslatorVerifier_::put_translation_data_in_relation_parameters() { diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp index 867f50385718..de3c513adfff 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp @@ -126,6 +126,18 @@ template class TranslatorVerifier_ { // Builder pointer (only used for recursive, nullptr for native) std::conditional_t builder = nullptr; + /** + * @brief Reconstruct concatenated polynomial evaluations from individual wire evaluations. + * @details Each concatenated polynomial packs CONCATENATION_GROUP_SIZE minicircuit wires into sequential blocks. + * The verifier reconstructs concat(u) from the wire evals via Lagrange decomposition over + * the top log2(CONCATENATION_GROUP_SIZE) sumcheck challenges. + */ + static std::pair, + std::array> + reconstruct_concatenated_evaluations(const std::vector& challenge, + const std::vector>& groups, + const std::vector>& shift_groups); + /** * @brief Populate relation parameters with translation data from ECCVM verifier * @details Converts the translation challenges and accumulated result into limbs. From ed0e2b20b05b9552323dcb3640a5cf84d8a0c26d Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 10 Feb 2026 00:47:02 +0000 Subject: [PATCH 10/24] cleaner getters --- .../translator_vm/translator_flavor.hpp | 85 +++++------ .../translator_vm/translator_prover.cpp | 14 +- .../translator_vm/translator_proving_key.cpp | 138 ++++++++++++------ .../translator_vm/translator_verifier.cpp | 21 +-- 4 files changed, 141 insertions(+), 117 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 0505eea8d5e0..878e509ff331 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -154,14 +154,22 @@ class TranslatorFlavor { // Total number of minicircuit wires across all concatenation groups (5 groups × 16 wires each) static constexpr size_t NUM_CONCATENATED_WIRES = NUM_CONCATENATED_POLYS * CONCATENATION_GROUP_SIZE; - // Number of witness polynomials in get_unshifted_without_concatenated() (witness portion only) - // = WireNonshifted(1) + OrderedRange(5) + Derived(1) = 7 + // Number of non-concatenated witness polynomials in PCS unshifted batch + // = WireNonshifted/op(1) + OrderedRange(5) + Derived/z_perm(1) = 7 static constexpr size_t NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED = 7; // Number of to-be-shifted polynomials for PCS // = OpQueueWiresToBeShifted(3) + OrderedRange(5) + Derived(1) = 9 static constexpr size_t NUM_TO_BE_SHIFTED = 9; + // Number of unshifted polynomials in PCS: masking + non-computable precomputed + witness base + concatenated + static constexpr size_t NUM_PCS_UNSHIFTED = NUM_MASKING_POLYNOMIALS + + (NUM_PRECOMPUTED_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED) + + NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED + NUM_CONCATENATED_POLYS; + + // Number of to-be-shifted polynomials in PCS: base to-be-shifted + concatenated + static constexpr size_t NUM_PCS_TO_BE_SHIFTED = NUM_TO_BE_SHIFTED + NUM_CONCATENATED_POLYS; + // The index of the first unshifted witness that is going to be shifted when AllEntities are partitioned static constexpr size_t TO_BE_SHIFTED_WITNESSES_START = NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED; @@ -208,11 +216,12 @@ class TranslatorFlavor { static constexpr size_t num_frs_fr = FrCodec::calc_num_fields(); static constexpr size_t num_frs_fq = FrCodec::calc_num_fields(); - // Proof length formula - // Commitments sent: 5 concatenated + 5 ordered = 10 (was 77+5=82) - // No more Gemini P_pos/P_neg evaluations (no interleaved batching) - static constexpr size_t NUM_COMMITMENTS_IN_PROOF = - NUM_CONCATENATED_POLYS + 5 /*ordered*/; // = 10 (not counting gemini masking, z_perm, op queue) + // Number of ordered range constraint polynomials: 4 (one per range constraint group) + 1 (overflow) + static constexpr size_t NUM_ORDERED_RANGE = 5; + + // Commitments sent in wire round: concatenated + ordered range constraints + // (not counting gemini masking, z_perm, op queue which are sent separately) + static constexpr size_t NUM_COMMITMENTS_IN_PROOF = NUM_CONCATENATED_POLYS + NUM_ORDERED_RANGE; static constexpr size_t PROOF_LENGTH = /* 1. Gemini masking poly commitment */ (num_frs_comm) + /* 2. Wire commitments: concatenated(5) + ordered(5) = 10 */ @@ -461,39 +470,6 @@ class TranslatorFlavor { OrderedRangeConstraints::get_all()); }; - /** - * @brief Witness entities on which Shplemini operates in the default manner (excludes concatenated polys - * and the 77 minicircuit wires that are authenticated via concatenated commitments). - * @details At AllEntities level: Masking(1) + ordered_extra(1) + WireNonshifted/op(1) + OrderedRange(5) - * + Derived/z_perm(1) = 9 (12 computable precomputed excluded from PCS batching) - */ - auto get_unshifted_without_concatenated() - { - return concatenate(WireNonshiftedEntities::get_all(), - OrderedRangeConstraints::get_all(), - DerivedWitnessEntities::get_all()); - } - - auto get_unshifted() - { - return concatenate(WireNonshiftedEntities::get_all(), - WireToBeShiftedEntities::get_all(), - OrderedRangeConstraints::get_all(), - DerivedWitnessEntities::get_all(), - ConcatenatedPolynomials::get_all()); - } - - /** - * @brief To-be-shifted polys for PCS: excludes 77 minicircuit wires (authenticated via concatenation). - * @details OpQueueWiresToBeShifted(3) + OrderedRangeConstraints(5) + DerivedWitness(1) = 9 - */ - auto get_to_be_shifted() - { - return concatenate(OpQueueWiresToBeShiftedEntities::get_all(), - OrderedRangeConstraints::get_all(), - DerivedWitnessEntities::get_all()); - }; - /** * @brief All polys that need shifted views for Sumcheck (corresponds 1:1 with ShiftedEntities). * @details WireToBeShifted(80) + OrderedRangeConstraints(5) + DerivedWitness(1) = 86 @@ -895,22 +871,31 @@ class TranslatorFlavor { */ auto get_ordered_range_constraints() { return OrderedRangeConstraints::get_all(); }; - auto get_unshifted() const + /** + * @brief All unshifted polynomials for PCS (excludes computable precomputed, includes concatenated). + * @details masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concat(5) = 14 + */ + auto get_pcs_unshifted() { - return concatenate(MaskingEntities::get_all(), - PrecomputedEntities::get_all(), - WitnessEntities::get_unshifted()); + return concatenate( + MaskingEntities::get_all(), // gemini_masking_poly + RefArray{ this->ordered_extra_range_constraints_numerator }, // non-computable precomputed + WireNonshiftedEntities::get_all(), // op (from merge protocol) + OrderedRangeConstraints::get_all(), // ordered_0..4 + DerivedWitnessEntities::get_all(), // z_perm + ConcatenatedPolynomials::get_all()); // concat_0..4 } /** - * @brief Unshifted polynomials for PCS, excluding concatenated AND computable precomputed. - * @details Masking(1) + ordered_extra(1) + WireNonshifted(1) + OrderedRange(5) + Derived(1) = 9 + * @brief All to-be-shifted polynomials for PCS (base to-be-shifted + concatenated). + * @details op_queue_shifted(3) + ordered(5) + z_perm(1) + concat(5) = 14 */ - auto get_unshifted_without_concatenated() + auto get_pcs_to_be_shifted() { - return concatenate(MaskingEntities::get_all(), - RefArray{ this->ordered_extra_range_constraints_numerator }, - WitnessEntities::get_unshifted_without_concatenated()); + return concatenate(OpQueueWiresToBeShiftedEntities::get_all(), // x_lo_y_hi, x_hi_z_1, y_lo_z_2 + OrderedRangeConstraints::get_all(), // ordered_0..4 + DerivedWitnessEntities::get_all(), // z_perm + ConcatenatedPolynomials::get_all()); // concat_0..4 } auto get_shifted() { return ShiftedEntities::get_all(); }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp index a1e817282db8..145e099f81cb 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_prover.cpp @@ -192,16 +192,10 @@ void TranslatorProver::execute_pcs_rounds() PolynomialBatcher polynomial_batcher(key->proving_key->circuit_size); - auto to_be_shifted = key->proving_key->polynomials.get_to_be_shifted(); - auto concatenated = key->proving_key->polynomials.get_concatenated(); - - // Unshifted: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concatenated(5) = 14 - // (12 computable precomputed selectors excluded — verifier computes them locally) - auto unshifted_base = key->proving_key->polynomials.get_unshifted_without_concatenated(); - polynomial_batcher.set_unshifted(concatenate(unshifted_base, concatenated)); - - // Shifted: op_queue(3) + ordered(5) + z_perm(1) + concatenated(5) = 14 - polynomial_batcher.set_to_be_shifted_by_one(concatenate(to_be_shifted, concatenated)); + // Unshifted for PCS (excludes computable precomputed — verifier computes them locally) + polynomial_batcher.set_unshifted(key->proving_key->polynomials.get_pcs_unshifted()); + // Shifted for PCS (base to-be-shifted + concatenated) + polynomial_batcher.set_to_be_shifted_by_one(key->proving_key->polynomials.get_pcs_to_be_shifted()); const OpeningClaim prover_opening_claim = ShpleminiProver_::prove(key->proving_key->circuit_size, diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp index a30bf169c2ee..ff708f7ef36b 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp @@ -37,13 +37,8 @@ void TranslatorProvingKey::compute_concatenated_polynomials() auto& group = groups[i]; auto& current_target = targets[i]; - // For group 4 (non-range), the last 3 slots are null padding (static zero values). - // These are zero-initialized, so we skip them. - if (i == 4 && j >= 13) { - return; // null padding slots - leave as zero - } - // Copy into appropriate position in the concatenated polynomial: j * MINI + k + // Note: null padding slots in group 4 are zero-sized polynomials, so this loop is a no-op for them. for (size_t k = group[j].start_index(); k < group[j].end_index(); k++) { current_target.at(j * MINI_CIRCUIT_SIZE + k) = group[j][k]; } @@ -54,14 +49,25 @@ void TranslatorProvingKey::compute_concatenated_polynomials() /** * @brief Compute denominator polynomials for Translator's range constraint permutation * - * @details We need to prove that all the range constraint wires indeed have values within the given - * range [0, 2^14 - 1]. We use concatenated polynomials (concatenated_range_constraints_ and - * concatenated_non_range) and generate ordered polynomials (ordered_range_constraints_) that contain - * the same values in sorted order. The DeltaRangeConstraint relation ensures sequential values differ by - * at most 3, with the last value being the maximum. + * @details We need to prove that all the range constraint wires in the concatenation groups indeed have values within + * the given range [0, 2^14 - 1]. To do this, we take the values from the 4 concatenated range constraint polynomials + * (concatenated_range_constraints_) and spread them into 5 ordered polynomials (ordered_range_constraints_) + * which, as the name suggests, are sorted in non-descending order. The TranslatorDeltaRangeConstraint relation + * operates on these ordered polynomials and ensures that sequential values differ by no more than 3, the last value + * is the maximum, and the first value is zero (zero at the start allows us to avoid complications with shifts). Then, + * we run the TranslatorPermutationRelation on the concatenated and ordered polynomials to show that they contain the + * same multiset of values, which implies that the wires in the groups are indeed within the correct range. + * + * Ideally, we could simply rearrange the values from the 4 concatenated polynomials into 4 ordered polynomials, but + * we could hit the worst case scenario: every value in the polynomials is the maximum value. In that case we still + * need to add (max_range / 3 + 1) stepping-stone values to each ordered polynomial for the delta range constraint to + * hold. So we also need a 5th ordered polynomial to store the overflow: k * (max_range / 3 + 1) values that couldn't + * fit, plus (max_range / 3 + 1) connecting values. To counteract the extra (k + 1) * (max_range / 3 + 1) values in + * the denominator, we place a corresponding extra numerator polynomial (ordered_extra_range_constraints_numerator). + * The construction is feasible when (k + 1) * (max_range / 3 + 1) < concatenated polynomial size. * - * With concatenation, masking rows are scattered: the last NUM_MASKED_ROWS_END rows of each block. - * Sorted values occupy non-masking positions; masking values sit in the holes. + * With concatenation, masking rows are scattered: the last NUM_MASKED_ROWS_END rows of each block. Sorted values + * occupy non-masking positions; masking values sit in the holes. */ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomials() { @@ -89,8 +95,9 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia // Calculate the starting index of this group's overflowing elements in the extra denominator polynomial size_t extra_denominator_offset = i * sorted_elements.size(); - // Number of values per lane (excluding start_index gap and masking rows) - const size_t values_per_lane = group[0].end_index() - group[0].start_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; + // Number of real values per lane: MINI_CIRCUIT_SIZE positions minus the virtual zero at index 0 + // minus NUM_MASKED_ROWS_END masking rows at the end of each block + static constexpr size_t values_per_lane = Flavor::MINI_CIRCUIT_SIZE - 1 - Flavor::NUM_MASKED_ROWS_END; // Go through each polynomial in the concatenated group for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { @@ -98,8 +105,8 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia // Dense offset: avoid phantom zeros by packing values tightly auto current_offset = j * values_per_lane; - // For each element in the polynomial - for (size_t k = group[j].start_index(); k < group[j].end_index() - NUM_DISABLED_ROWS_IN_SUMCHECK; k++) { + // For each element in the polynomial (excluding masking rows at the end) + for (size_t k = group[j].start_index(); k < group[j].end_index() - Flavor::NUM_MASKED_ROWS_END; k++) { auto vec_idx = current_offset + (k - group[j].start_index()); @@ -139,12 +146,13 @@ void TranslatorProvingKey::compute_translator_range_constraint_ordered_polynomia } }; - // Construct the first 4 polynomials - parallel_for(4, ordering_function); + // Construct the first NUM_CONCATENATED_POLYS - 1 polynomials (range constraint groups only) + constexpr size_t NUM_RANGE_CONSTRAINT_GROUPS = Flavor::NUM_CONCATENATED_POLYS - 1; + parallel_for(NUM_RANGE_CONSTRAINT_GROUPS, ordering_function); // Advance the iterator into the extra range constraint past the last written element auto extra_denominator_it = extra_denominator_uint.begin(); - std::advance(extra_denominator_it, 4 * sorted_elements.size()); + std::advance(extra_denominator_it, NUM_RANGE_CONSTRAINT_GROUPS * sorted_elements.size()); // Add steps to the extra denominator polynomial to fill it std::copy(sorted_elements.cbegin(), sorted_elements.cend(), extra_denominator_it); @@ -187,52 +195,85 @@ void TranslatorProvingKey::split_concatenated_random_coefficients_to_ordered() const size_t MINI = Flavor::MINI_CIRCUIT_SIZE; // Collect all random values from masking positions in concatenated range constraint polynomials - // NOTE: Only extract from the first 4 concatenated polys (concatenated_range_constraints_0..3) - // which appear in the permutation numerator. The 5th (concatenated_non_range) is not in the numerator. - // Masking positions are at the end of each block: [j*MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK), j*MINI + MINI) - constexpr size_t NUM_CONCATENATED_IN_NUMERATOR = 4; // Only range constraint concatenated polys are in numerator - const size_t num_random_values_per_concat = NUM_DISABLED_ROWS_IN_SUMCHECK * Flavor::CONCATENATION_GROUP_SIZE; - const size_t total_num_random_values = num_random_values_per_concat * NUM_CONCATENATED_IN_NUMERATOR; + // NOTE: Only extract from the first NUM_CONCATENATED_POLYS - 1 concatenated polys + // (concatenated_range_constraints_0..3) which appear in the permutation numerator. + // The last (concatenated_non_range) is not in the numerator. + // Masking positions are at the end of each block: [j*MINI + (MINI - NUM_MASKED_ROWS_END), j*MINI + MINI) + constexpr size_t NUM_RANGE_CONSTRAINT_GROUPS = Flavor::NUM_CONCATENATED_POLYS - 1; + const size_t num_random_values_per_concat = Flavor::NUM_MASKED_ROWS_END * Flavor::CONCATENATION_GROUP_SIZE; + const size_t total_num_random_values = num_random_values_per_concat * NUM_RANGE_CONSTRAINT_GROUPS; const size_t num_random_values_per_ordered = total_num_random_values / num_ordered_polynomials; const size_t remaining_random_values = total_num_random_values % num_ordered_polynomials; - std::vector random_values; - random_values.reserve(total_num_random_values); + std::vector random_values(total_num_random_values); - // Extract random values from scattered masking positions in the first 4 concatenated polynomials - for (size_t i = 0; i < NUM_CONCATENATED_IN_NUMERATOR; i++) { + // Extract random values from scattered masking positions in the first NUM_RANGE_CONSTRAINT_GROUPS concatenated + // polynomials. Each thread handles one concatenated polynomial, writing to a disjoint slice of random_values. + parallel_for(NUM_RANGE_CONSTRAINT_GROUPS, [&](size_t i) { const auto& current_concat = concatenated[i]; + size_t idx = i * num_random_values_per_concat; for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { - size_t block_masking_start = j * MINI + (MINI - NUM_DISABLED_ROWS_IN_SUMCHECK); - size_t block_masking_end = j * MINI + MINI; - for (size_t k = block_masking_start; k < block_masking_end; k++) { - random_values.push_back(current_concat[k]); + size_t block_masking_start = j * MINI + (MINI - Flavor::NUM_MASKED_ROWS_END); + for (size_t k = 0; k < Flavor::NUM_MASKED_ROWS_END; k++) { + random_values[idx] = current_concat[block_masking_start + k]; + idx++; } } - } + }); - // Distribute random values to ordered polynomials at the END (contiguous) - // Each ordered polynomial gets values at the last positions - size_t random_idx = 0; + // Distribute random values to ordered polynomials at the END (contiguous). + // Each ordered polynomial gets values at the last positions. const size_t circuit_size = proving_key->polynomials.get_polynomial_size(); - for (size_t i = 0; i < num_ordered_polynomials; i++) { + parallel_for(num_ordered_polynomials, [&](size_t i) { auto& current_ordered = ordered[i]; size_t values_for_this_poly = num_random_values_per_ordered + (i < remaining_random_values ? 1 : 0); + // Compute offset into random_values for this ordered polynomial + size_t random_idx = i * num_random_values_per_ordered + std::min(i, remaining_random_values); // Place random values at the END: [circuit_size - values_for_this_poly, circuit_size) for (size_t k = 0; k < values_for_this_poly; k++) { current_ordered.at(circuit_size - values_for_this_poly + k) = random_values[random_idx]; random_idx++; } - } + }); } /** - * @brief Constructs all Lagrange precomputed polynomials required for Translator relations. + * @brief Constructs all Lagrange precomputed polynomials required for Translator relations. These enforce properties at + * specific positions within the Translator trace. Translator operates on two circuit sizes (full and mini) both + * requiring separate Lagrange polynomials. + * + * @details With concatenation, the full circuit has CONCATENATION_GROUP_SIZE (16) blocks of MINI_CIRCUIT_SIZE each. + * Masking rows are scattered: the last NUM_MASKED_ROWS_END rows of each block, rather than contiguous at the end. + * + * **Full Circuit Lagranges:** + * - `lagrange_first`: Active only at index 0, marks the first row of the full circuit + * - `lagrange_real_last`: Active at the last row with sorted values in ordered polynomials + * (before the contiguous masking region at circuit_size - MAX_RANDOM_VALUES_PER_ORDERED) + * - `lagrange_last`: Active at the very last row of the full circuit + * - `lagrange_masking`: Active at scattered masking positions — the last NUM_MASKED_ROWS_END rows of each of the + * CONCATENATION_GROUP_SIZE blocks + * - `lagrange_masking_adjacent`: Active where masking[i]=1 OR masking[i+1]=1. Disables the delta range constraint + * at masking rows AND at the row immediately before each masking block + * - `lagrange_ordered_masking`: Active at the last MAX_RANDOM_VALUES_PER_ORDERED positions (contiguous at end), + * where random values are placed in ordered polynomials + * + * **Mini Circuit Lagranges:** + * - `lagrange_mini_masking`: Active in two regions: + * 1. Between RANDOMNESS_START and RESULT_ROW (random values at the beginning of the mini circuit) + * 2. In the last rows of the mini circuit (for trailing randomness) + * - `lagrange_even_in_minicircuit`: Active at even indices within the actual ECC operation processing range, + * excluding randomness + * - `lagrange_odd_in_minicircuit`: Active at odd indices within the actual ECC operation processing range, + * excluding randomness + * - `lagrange_result_row`: Active only at the designated result row (Flavor::RESULT_ROW) + * - `lagrange_last_in_minicircuit`: Active at the last row before masking in the mini circuit + * + * The even/odd Lagranges are needed because the Translator VM processes two rows of its execution trace + * simultaneously, with different relations applying to even and odd indexed rows. * - * @details With concatenation, lagrange_masking is scattered across 16 blocks (end of each block), - * and lagrange_masking_adjacent is 1 at masking rows AND the row immediately preceding each masking block. - * lagrange_real_last marks the last row with sorted values in ordered polynomials (before the contiguous - * masking region at the end). + * @note All Lagrange polynomials are initialized to 0 by default, and this function sets specific + * indices to 1 to create the desired selector behavior. + * @note The masking regions contain random values used for zero-knowledge properties. */ void TranslatorProvingKey::compute_lagrange_polynomials() { @@ -311,9 +352,10 @@ void TranslatorProvingKey::compute_extra_range_constraint_numerator() { const auto sorted_elements = get_sorted_steps(); - // NOTE: We use 5 factors in the numerator: 4 concatenated_range_constraints + 1 extra_numerator - // (matching 5 ordered_range_constraints in denominator). Each sorted element appears 5 times. - constexpr size_t NUM_FACTORS_IN_NUMERATOR = 5; // 4 concat range + 1 extra + // The numerator has NUM_CONCATENATED_POLYS factors: (NUM_CONCATENATED_POLYS - 1) concatenated range constraint + // polynomials + 1 extra_numerator, matching NUM_CONCATENATED_POLYS ordered polynomials in the denominator. + // Each sorted element appears NUM_CONCATENATED_POLYS times. + constexpr size_t NUM_FACTORS_IN_NUMERATOR = Flavor::NUM_CONCATENATED_POLYS; auto fill_with_shift = [&](size_t shift) { for (size_t i = 0; i < sorted_elements.size(); i++) { proving_key->polynomials.ordered_extra_range_constraints_numerator.at( diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp index 9aebd372c80a..4ccfb82ca4e6 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp @@ -249,26 +249,29 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_ combined_shifted_evals(claimed.get_pcs_shifted()); for (auto& eval : concat_shift_evals) { combined_shifted_evals.push_back(eval); } + BB_ASSERT_EQ(combined_unshifted_comms.size(), TranslatorFlavor::NUM_PCS_UNSHIFTED); + BB_ASSERT_EQ(combined_unshifted_evals.size(), TranslatorFlavor::NUM_PCS_UNSHIFTED); + BB_ASSERT_EQ(combined_shifted_comms.size(), TranslatorFlavor::NUM_PCS_TO_BE_SHIFTED); + BB_ASSERT_EQ(combined_shifted_evals.size(), TranslatorFlavor::NUM_PCS_TO_BE_SHIFTED); + ClaimBatcher claim_batcher{ .unshifted = ClaimBatch{ combined_unshifted_comms, combined_unshifted_evals }, .shifted = ClaimBatch{ combined_shifted_comms, combined_shifted_evals } }; From 1c3d6f5bbcc764717f470e14c6c5542f637001f3 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 10 Feb 2026 00:57:33 +0000 Subject: [PATCH 11/24] rm another lagrange --- .../src/barretenberg/translator_vm/README.md | 1 - .../relation_correctness.test.cpp | 24 +--- .../translator_vm/relation_failure.test.cpp | 2 - .../translator_concatenation_migration.md | 28 +--- .../translator_vm/translator_flavor.hpp | 131 +++--------------- .../translator_vm/translator_proving_key.cpp | 16 --- .../translator_vm/translator_selectors.hpp | 18 +-- .../translator_selectors.test.cpp | 17 +-- 8 files changed, 33 insertions(+), 204 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/README.md b/barretenberg/cpp/src/barretenberg/translator_vm/README.md index f4d73664bb47..ee9dbca3be57 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/README.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/README.md @@ -438,7 +438,6 @@ The circuit uses Lagrange polynomials to control which constraints are active: ( | `lagrange_result_row` | Row containing final accumulator result | $i = (z_1 + r_{\textsf{start}})$ | | `lagrange_last_in_minicircuit` | Last real row in mini-circuit | $i = (n - r_{\textsf{end}}) - 1$ | | `lagrange_ordered_masking` | Contiguous masking at end of circuit | $i \in [N - 64, N)$ | -| `lagrange_masking_adjacent` | Scattered masking + adjacent rows | One row before each block's masking region | | | | | ## Concatenation: The Key Optimization diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp index f910f7565232..f70d1dfaa076 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp @@ -1004,8 +1004,8 @@ TEST_F(TranslatorRelationCorrectnessTests, OrderedPolynomialBoundary) /** * @brief Test that all masking-related lagrange selectors have correct values at every critical boundary. - * @details Checks lagrange_masking (scattered), lagrange_masking_adjacent (scattered + 1 row before), - * lagrange_ordered_masking (contiguous at end), and lagrange_real_last at their boundary positions. + * @details Checks lagrange_masking (scattered), lagrange_ordered_masking (contiguous at end), + * and lagrange_real_last at their boundary positions. */ TEST_F(TranslatorRelationCorrectnessTests, LagrangeSelectorBoundaryCorrectness) { @@ -1034,26 +1034,6 @@ TEST_F(TranslatorRelationCorrectnessTests, LagrangeSelectorBoundaryCorrectness) } } - // --- lagrange_masking_adjacent: 1 at masking rows AND row before each masking block --- - for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { - size_t block_masking_start = j * MINI + (MINI - NUM_MASKED); - // Row before masking: should be 1 (adjacent) - if (block_masking_start > 0) { - EXPECT_EQ(pp.lagrange_masking_adjacent[block_masking_start - 1], FF(1)) - << "lagrange_masking_adjacent should be 1 at row before masking block " << j; - } - // Two rows before masking: should be 0 - if (block_masking_start > 1) { - EXPECT_EQ(pp.lagrange_masking_adjacent[block_masking_start - 2], FF(0)) - << "lagrange_masking_adjacent should be 0 two rows before masking block " << j; - } - // All masking rows should be 1 - for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { - EXPECT_EQ(pp.lagrange_masking_adjacent[k], FF(1)) - << "lagrange_masking_adjacent should be 1 at masking block=" << j << " pos=" << k; - } - } - // --- lagrange_ordered_masking (contiguous at end) --- EXPECT_EQ(pp.lagrange_ordered_masking[full_circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED - 1], FF(0)) << "lagrange_ordered_masking should be 0 one position before masking region"; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp index d56bcbe2f696..15aaa68cb892 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_failure.test.cpp @@ -92,7 +92,6 @@ ValidTranslatorState build_valid_translator_state() pp.lagrange_last = typename Flavor::Polynomial(full_circuit_size); pp.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); pp.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); - pp.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); key.compute_lagrange_polynomials(); key.compute_extra_range_constraint_numerator(); @@ -437,7 +436,6 @@ TEST_F(TranslatorRelationFailureTests, InRangeValueInMaskingFlowsToOrderedTail) pp.lagrange_last = typename Flavor::Polynomial(full_circuit_size); pp.lagrange_real_last = typename Flavor::Polynomial(full_circuit_size); pp.lagrange_masking = typename Flavor::Polynomial(full_circuit_size); - pp.lagrange_masking_adjacent = typename Flavor::Polynomial(full_circuit_size); key.compute_lagrange_polynomials(); key.compute_extra_range_constraint_numerator(); diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md index 230903f5bdcd..98ab97942cd6 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md @@ -8,9 +8,9 @@ Two optimizations reduce the Translator proof size and verifier cost: polynomial commitments. The prover still evaluates individual wires in Sumcheck; the verifier reconstructs concatenated evaluations from wire evaluations using Lagrange decomposition. -2. **Computable precomputed selectors**: 12 of 13 precomputed selectors are structured multilinear +2. **Computable precomputed selectors**: 10 of 11 precomputed selectors are structured multilinear polynomials whose evaluations at the sumcheck challenge can be computed in O(d) field ops. The - prover skips sending these 12 evaluations; the verifier computes them locally. + prover skips sending these 10 evaluations; the verifier computes them locally. **Net savings**: - 72 fewer group element commitments (83 → 11) @@ -217,19 +217,7 @@ is the last non-masking row where we enforce `ordered_value = 2^14 - 1`. **Files:** `translator_delta_range_constraint_relation.hpp`, `..._impl.hpp` -### 4. `lagrange_masking_adjacent`: Scattered Masking + Adjacent Rows - -`lagrange_masking_adjacent` extends `lagrange_masking` by also being 1 at the row immediately -preceding each block's masking region. For each block `j`: - -``` -Active at: {j*MINI + (MINI - NUM_MASKED - 1)} ∪ {j*MINI + k : k ∈ [MINI - NUM_MASKED, MINI)} -``` - -This is a precomputed polynomial included in the VK. It is available for potential future use -in constraints that need to disable checks at or near scattered masking boundaries. - -### 5. Ordered Polynomial Construction +### 4. Ordered Polynomial Construction **File:** `translator_proving_key.cpp` — `compute_translator_range_constraint_ordered_polynomials()` @@ -320,10 +308,9 @@ Claims are batched without `InterleavedBatch`: | 7 | `lagrange_masking` | Yes | Subcube: bits m..M-1 = 1 | | 8 | `lagrange_mini_masking` | Yes | Two disjoint blocks in block 0 | | 9 | `lagrange_real_last` | Yes | Single point: row N-MAX_RANDOM-1 | -| 10 | `lagrange_masking_adjacent` | Yes | Near-subcube: masking ∪ adjacent rows | -| 11 | `lagrange_ordered_masking` | Yes | Subcube: bits R..D-1 = 1 | +| 10 | `lagrange_ordered_masking` | Yes | Subcube: bits R..D-1 = 1 | -All 11 computable selectors are structured multilinear polynomials whose support forms subcubes +All 10 computable selectors are structured multilinear polynomials whose support forms subcubes or small unions of subcubes. Their evaluations at the sumcheck challenge can be computed in O(d) field operations. @@ -374,7 +361,6 @@ fewer scalar multiplications in the verifier's batch opening check. | Component | Change | |---|---| | `lagrange_masking` | Scattered across 16 blocks (end of each block) | -| New: `lagrange_masking_adjacent` | Precomputed = masking ∪ row-before-masking (scattered) | | New: `lagrange_ordered_masking` | Precomputed = contiguous at end (for ordered polys) | | `lagrange_real_last` | Position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1` | | Permutation relation | Dual masking selectors (scattered for numerator, contiguous for denominator) | @@ -387,7 +373,7 @@ fewer scalar multiplications in the verifier's batch opening check. | Prover PCS round | 14 unshifted + 14 shifted (standard + concatenated) | | Verifier PCS | Lagrange reconstruction of concat evals; no InterleavedBatch | | Sumcheck (prover) | Sends `NUM_SENT_EVALUATIONS` (12 computable precomputed excluded) | -| Sumcheck (verifier) | Receives fewer evals; computes 12 precomputed locally | +| Sumcheck (verifier) | Receives fewer evals; computes 10 precomputed locally | | PCS batching | 12 fewer MSMs (computable precomputed excluded) | ## Commitment Count Summary @@ -416,7 +402,7 @@ fewer scalar multiplications in the verifier's batch opening check. | File | Changes | |---|---| -| `translator_vm/translator_selectors.hpp` | `TranslatorSelectorEvaluations`: computes 12 selectors + `populate()` | +| `translator_vm/translator_selectors.hpp` | `TranslatorSelectorEvaluations`: computes 10 selectors + `populate()` | | `translator_vm/translator_flavor.hpp` | Entity classes, constants, static methods, `PROOF_LENGTH` | | `translator_vm/translator_proving_key.hpp` | Concatenation/ordering parameters | | `translator_vm/translator_proving_key.cpp` | Concatenation, ordered polys, Lagrange polys, random distribution | diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 878e509ff331..600e1bd66d31 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -59,9 +59,9 @@ class TranslatorFlavor { // The number of entities added for ZK (gemini_masking_poly) static constexpr size_t NUM_MASKING_POLYNOMIALS = 1; - // 11 of 12 precomputed selectors are structured multilinear polynomials whose evaluations at the + // 10 of 11 precomputed selectors are structured multilinear polynomials whose evaluations at the // sumcheck challenge can be computed in O(d) field ops (all except ordered_extra_range_constraints_numerator). - static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 11; + static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 10; // None of this parameters can be changed // Number of wires representing the op queue whose commitments are going to be checked against those from the @@ -129,15 +129,15 @@ class TranslatorFlavor { // The number of multivariate polynomials on which a sumcheck prover sumcheck operates (including shifts). We // often need containers of this size to hold related data, so we choose a name more agnostic than // `NUM_POLYNOMIALS`. Note: this number does not include the individual sorted list polynomials. - // = MaskingEntities(1) + Precomputed(12) + Witness(92) + Shifted(86) = 191 - static constexpr size_t NUM_ALL_ENTITIES = 191; + // = MaskingEntities(1) + Precomputed(11) + Witness(92) + Shifted(86) = 190 + static constexpr size_t NUM_ALL_ENTITIES = 190; // Number of evaluations sent in proof (all minus computable precomputed) static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; // The number of polynomials precomputed to describe a circuit and to aid a prover in constructing a satisfying // assignment of witnesses. We again choose a neutral name. - static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 12; + static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 11; // The total number of witness entities not including shifts. // = WireNonshifted(1) + WireToBeShifted(80) + OrderedRange(5) + Derived(1) + Concatenated(5) = 92 @@ -262,8 +262,7 @@ class TranslatorFlavor { lagrange_masking, // column 7 lagrange_mini_masking, // column 8 lagrange_real_last, // column 9 - lagrange_masking_adjacent, // column 10 - lagrange_ordered_masking); // column 11 + lagrange_ordered_masking); // column 10 }; template class ConcatenatedPolynomials { @@ -1010,7 +1009,7 @@ class TranslatorFlavor { * @brief Verifier: complete the claimed evaluations for the sumcheck relation check. * @details After set_full_circuit_evaluations and set_minicircuit_evaluations have placed raw values, * this method: - * 1. Computes the 12 structured precomputed selector evaluations from the challenge. + * 1. Computes the 10 structured precomputed selector evaluations from the challenge. * 2. Multiplies the 154 minicircuit wire entries by L_0(u_top) = Π(1 - u_i) for the top 4 * challenges, converting mid-sumcheck values to full evaluations at the sumcheck point. */ @@ -1144,7 +1143,6 @@ class TranslatorFlavor { // With concatenation, masking rows are scattered in concatenated polys: end of each of the 16 blocks // Must span full circuit since values go up to position 15*MINI+(MINI-1) lagrange_masking = Polynomial{ circuit_size, circuit_size }; - lagrange_masking_adjacent = Polynomial{ circuit_size, circuit_size }; // Ordered masking: contiguous at the end (marks masking positions in ordered polynomials) lagrange_ordered_masking = Polynomial{ /*size*/ MAX_RANDOM_VALUES_PER_ORDERED, /*virtual_size*/ circuit_size, @@ -1254,120 +1252,29 @@ class TranslatorFlavor { /** * @brief A container for commitment labels. - * @note It's debatable whether this should inherit from AllEntities. since most entries are not strictly - * needed. It has, however, been useful during debugging to have these labels available. - * + * @details Only labels accessed by the prover/verifier are set: the 5 concatenated polynomials, + * 5 ordered range constraints, and z_perm. All other AllEntities fields remain empty strings. */ class CommitmentLabels : public AllEntities { public: CommitmentLabels() { - this->op = "OP"; - this->x_lo_y_hi = "X_LO_Y_HI"; - this->x_hi_z_1 = "X_HI_Z_1"; - this->y_lo_z_2 = "Y_LO_Z_2"; - this->p_x_low_limbs = "P_X_LOW_LIMBS"; - this->p_x_high_limbs = "P_X_HIGH_LIMBS"; - this->p_x_low_limbs_range_constraint_0 = "P_X_LOW_LIMBS_RANGE_CONSTRAINT_0"; - this->p_x_low_limbs_range_constraint_1 = "P_X_LOW_LIMBS_RANGE_CONSTRAINT_1"; - this->p_x_low_limbs_range_constraint_2 = "P_X_LOW_LIMBS_RANGE_CONSTRAINT_2"; - this->p_x_low_limbs_range_constraint_3 = "P_X_LOW_LIMBS_RANGE_CONSTRAINT_3"; - this->p_x_low_limbs_range_constraint_4 = "P_X_LOW_LIMBS_RANGE_CONSTRAINT_4"; - this->p_x_low_limbs_range_constraint_tail = "P_X_LOW_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->p_x_high_limbs_range_constraint_0 = "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_0"; - this->p_x_high_limbs_range_constraint_1 = "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_1"; - this->p_x_high_limbs_range_constraint_2 = "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_2"; - this->p_x_high_limbs_range_constraint_3 = "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_3"; - this->p_x_high_limbs_range_constraint_4 = "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_4"; - this->p_x_high_limbs_range_constraint_tail = "P_X_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->p_y_low_limbs = "P_Y_LOW_LIMBS"; - this->p_y_low_limbs_range_constraint_0 = "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_0"; - this->p_y_low_limbs_range_constraint_1 = "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_1"; - this->p_y_low_limbs_range_constraint_2 = "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_2"; - this->p_y_low_limbs_range_constraint_3 = "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_3"; - this->p_y_low_limbs_range_constraint_4 = "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_4"; - this->p_y_low_limbs_range_constraint_tail = "P_Y_LOW_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->p_y_high_limbs = "P_Y_HIGH_LIMBS"; - this->p_y_high_limbs_range_constraint_0 = "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_0"; - this->p_y_high_limbs_range_constraint_1 = "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_1"; - this->p_y_high_limbs_range_constraint_2 = "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_2"; - this->p_y_high_limbs_range_constraint_3 = "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_3"; - this->p_y_high_limbs_range_constraint_4 = "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_4"; - this->p_y_high_limbs_range_constraint_tail = "P_Y_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->z_low_limbs = "Z_LOw_LIMBS"; - this->z_low_limbs_range_constraint_0 = "Z_LOW_LIMBS_RANGE_CONSTRAINT_0"; - this->z_low_limbs_range_constraint_1 = "Z_LOW_LIMBS_RANGE_CONSTRAINT_1"; - this->z_low_limbs_range_constraint_2 = "Z_LOW_LIMBS_RANGE_CONSTRAINT_2"; - this->z_low_limbs_range_constraint_3 = "Z_LOW_LIMBS_RANGE_CONSTRAINT_3"; - this->z_low_limbs_range_constraint_4 = "Z_LOW_LIMBS_RANGE_CONSTRAINT_4"; - this->z_low_limbs_range_constraint_tail = "Z_LOW_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->z_high_limbs = "Z_HIGH_LIMBS"; - this->z_high_limbs_range_constraint_0 = "Z_HIGH_LIMBS_RANGE_CONSTRAINT_0"; - this->z_high_limbs_range_constraint_1 = "Z_HIGH_LIMBS_RANGE_CONSTRAINT_1"; - this->z_high_limbs_range_constraint_2 = "Z_HIGH_LIMBS_RANGE_CONSTRAINT_2"; - this->z_high_limbs_range_constraint_3 = "Z_HIGH_LIMBS_RANGE_CONSTRAINT_3"; - this->z_high_limbs_range_constraint_4 = "Z_HIGH_LIMBS_RANGE_CONSTRAINT_4"; - this->z_high_limbs_range_constraint_tail = "Z_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->accumulators_binary_limbs_0 = "ACCUMULATORS_BINARY_LIMBS_0"; - this->accumulators_binary_limbs_1 = "ACCUMULATORS_BINARY_LIMBS_1"; - this->accumulators_binary_limbs_2 = "ACCUMULATORS_BINARY_LIMBS_2"; - this->accumulators_binary_limbs_3 = "ACCUMULATORS_BINARY_LIMBS_3"; - this->accumulator_low_limbs_range_constraint_0 = "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_0"; - this->accumulator_low_limbs_range_constraint_1 = "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_1"; - this->accumulator_low_limbs_range_constraint_2 = "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_2"; - this->accumulator_low_limbs_range_constraint_3 = "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_3"; - this->accumulator_low_limbs_range_constraint_4 = "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_4"; - this->accumulator_low_limbs_range_constraint_tail = "ACCUMULATOR_LOW_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->accumulator_high_limbs_range_constraint_0 = "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_0"; - this->accumulator_high_limbs_range_constraint_1 = "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_1"; - this->accumulator_high_limbs_range_constraint_2 = "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_2"; - this->accumulator_high_limbs_range_constraint_3 = "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_3"; - this->accumulator_high_limbs_range_constraint_4 = "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_4"; - this->accumulator_high_limbs_range_constraint_tail = "ACCUMULATOR_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->quotient_low_binary_limbs = "QUOTIENT_LOW_BINARY_LIMBS"; - this->quotient_high_binary_limbs = "QUOTIENT_HIGH_BINARY_LIMBS"; - this->quotient_low_limbs_range_constraint_0 = "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_0"; - this->quotient_low_limbs_range_constraint_1 = "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_1"; - this->quotient_low_limbs_range_constraint_2 = "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_2"; - this->quotient_low_limbs_range_constraint_3 = "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_3"; - this->quotient_low_limbs_range_constraint_4 = "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_4"; - this->quotient_low_limbs_range_constraint_tail = "QUOTIENT_LOW_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->quotient_high_limbs_range_constraint_0 = "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_0"; - this->quotient_high_limbs_range_constraint_1 = "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_1"; - this->quotient_high_limbs_range_constraint_2 = "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_2"; - this->quotient_high_limbs_range_constraint_3 = "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_3"; - this->quotient_high_limbs_range_constraint_4 = "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_4"; - this->quotient_high_limbs_range_constraint_tail = "QUOTIENT_HIGH_LIMBS_RANGE_CONSTRAINT_TAIL"; - this->relation_wide_limbs = "RELATION_WIDE_LIMBS"; - this->relation_wide_limbs_range_constraint_0 = "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_0"; - this->relation_wide_limbs_range_constraint_1 = "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_1"; - this->relation_wide_limbs_range_constraint_2 = "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_2"; - this->relation_wide_limbs_range_constraint_3 = "RELATION_WIDE_LIMBS_RANGE_CONSTRAINT_3"; - this->ordered_range_constraints_0 = "ORDERED_RANGE_CONSTRAINTS_0"; - this->ordered_range_constraints_1 = "ORDERED_RANGE_CONSTRAINTS_1"; - this->ordered_range_constraints_2 = "ORDERED_RANGE_CONSTRAINTS_2"; - this->ordered_range_constraints_3 = "ORDERED_RANGE_CONSTRAINTS_3"; - this->ordered_range_constraints_4 = "ORDERED_RANGE_CONSTRAINTS_4"; - this->z_perm = "Z_PERM"; + // Concatenated polynomials (sent via get_non_opqueue_wires_and_ordered_range_constraints) this->concatenated_range_constraints_0 = "CONCATENATED_RANGE_CONSTRAINTS_0"; this->concatenated_range_constraints_1 = "CONCATENATED_RANGE_CONSTRAINTS_1"; this->concatenated_range_constraints_2 = "CONCATENATED_RANGE_CONSTRAINTS_2"; this->concatenated_range_constraints_3 = "CONCATENATED_RANGE_CONSTRAINTS_3"; this->concatenated_non_range = "CONCATENATED_NON_RANGE"; - // "__" are only used for debugging - this->lagrange_first = "__LAGRANGE_FIRST"; - this->lagrange_last = "__LAGRANGE_LAST"; - this->lagrange_odd_in_minicircuit = "__LAGRANGE_ODD_IN_MINICIRCUIT"; - this->lagrange_even_in_minicircuit = "__LAGRANGE_EVEN_IN_MINICIRCUIT"; - this->lagrange_result_row = "__LAGRANGE_RESULT_ROW"; - this->lagrange_last_in_minicircuit = "__LAGRANGE_LAST_IN_MINICIRCUIT"; - this->ordered_extra_range_constraints_numerator = "__ORDERED_EXTRA_RANGE_CONSTRAINTS_NUMERATOR"; - this->lagrange_masking = "__LAGRANGE_MASKING"; - this->lagrange_mini_masking = "__LAGRANGE_MINI_MASKING"; - this->lagrange_real_last = "__LAGRANGE_REAL_LAST"; - this->lagrange_masking_adjacent = "__LAGRANGE_MASKING_ADJACENT"; - this->lagrange_ordered_masking = "__LAGRANGE_ORDERED_MASKING"; + // Ordered range constraints (sent via get_non_opqueue_wires_and_ordered_range_constraints) + this->ordered_range_constraints_0 = "ORDERED_RANGE_CONSTRAINTS_0"; + this->ordered_range_constraints_1 = "ORDERED_RANGE_CONSTRAINTS_1"; + this->ordered_range_constraints_2 = "ORDERED_RANGE_CONSTRAINTS_2"; + this->ordered_range_constraints_3 = "ORDERED_RANGE_CONSTRAINTS_3"; + this->ordered_range_constraints_4 = "ORDERED_RANGE_CONSTRAINTS_4"; + + // Grand product (committed separately) + this->z_perm = "Z_PERM"; }; }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp index ff708f7ef36b..6d9d8d7b809c 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_proving_key.cpp @@ -252,8 +252,6 @@ void TranslatorProvingKey::split_concatenated_random_coefficients_to_ordered() * - `lagrange_last`: Active at the very last row of the full circuit * - `lagrange_masking`: Active at scattered masking positions — the last NUM_MASKED_ROWS_END rows of each of the * CONCATENATION_GROUP_SIZE blocks - * - `lagrange_masking_adjacent`: Active where masking[i]=1 OR masking[i+1]=1. Disables the delta range constraint - * at masking rows AND at the row immediately before each masking block * - `lagrange_ordered_masking`: Active at the last MAX_RANDOM_VALUES_PER_ORDERED positions (contiguous at end), * where random values are placed in ordered polynomials * @@ -293,20 +291,6 @@ void TranslatorProvingKey::compute_lagrange_polynomials() } } - // lagrange_masking_adjacent: 1 where masking[i]=1 OR masking[i+1]=1 - // This disables the delta range constraint at masking rows AND at the row before each masking block - for (size_t j = 0; j < Flavor::CONCATENATION_GROUP_SIZE; j++) { - size_t block_masking_start = j * MINI + (MINI - Flavor::NUM_MASKED_ROWS_END); - // The row before the masking block (adjacent) - if (block_masking_start > 0) { - proving_key->polynomials.lagrange_masking_adjacent.at(block_masking_start - 1) = 1; - } - // The masking rows themselves - for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { - proving_key->polynomials.lagrange_masking_adjacent.at(k) = 1; - } - } - // lagrange_ordered_masking: marks the last MAX_RANDOM_VALUES_PER_ORDERED positions (contiguous at end) // where random values are placed in ordered polynomials for (size_t i = circuit_size - Flavor::MAX_RANDOM_VALUES_PER_ORDERED; i < circuit_size; i++) { diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp index 96612d8f99ef..99b09f4d998c 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp @@ -7,7 +7,7 @@ namespace bb { /** - * @brief Evaluates the 11 structured Translator precomputed selectors at a sumcheck challenge point. + * @brief Evaluates the 10 structured Translator precomputed selectors at a sumcheck challenge point. * * @details All Translator selectors except ordered_extra_range_constraints_numerator are multilinear * polynomials over {0,1}^d whose support forms subcubes or small unions of subcubes. Their evaluations @@ -45,7 +45,7 @@ template struct TranslatorSelectorEv static_assert(LOG_RESULT_ROW < LOG_MINI_CIRCUIT_SIZE); static_assert(LOG_MINI_CIRCUIT_SIZE > LOG_MAX_RANDOM, "Mini circuit must be larger than max random region"); - // The 11 selector evaluations (order matches PrecomputedEntities in translator_flavor.hpp, + // The 10 selector evaluations (order matches PrecomputedEntities in translator_flavor.hpp, // skipping ordered_extra_range_constraints_numerator which cannot be efficiently computed) FF lagrange_first; FF lagrange_last; @@ -56,14 +56,13 @@ template struct TranslatorSelectorEv FF lagrange_masking; FF lagrange_mini_masking; FF lagrange_real_last; - FF lagrange_masking_adjacent; FF lagrange_ordered_masking; /** - * @brief Compute evaluations of all 11 structured selectors at the sumcheck challenge. + * @brief Compute evaluations of all 10 structured selectors at the sumcheck challenge. * * @param u Sumcheck challenge (u_0, ..., u_{LOG_N-1}). Size must equal LOG_N. - * @return TranslatorSelectorEvaluations with all 11 fields populated. + * @return TranslatorSelectorEvaluations with all 10 fields populated. */ static TranslatorSelectorEvaluations compute(std::span u) { @@ -182,14 +181,6 @@ template struct TranslatorSelectorEv // = ∏_{k=m}^{M-1} u_k evals.lagrange_masking = u_m_M1; - // ---- Near-subcube indicators ---- - - // lagrange_masking_adjacent: lagrange_masking ∪ {row before each masking block, all 16 blocks} - // The adjacent row within each block has bits 0..m-1=1, bit m=0, bits m+1..M-1=1; - // across all blocks (bits M..D-1 free), this is itself a subcube. - // = ∏_{k=m+1}^{M-1} u_k · [ u_m + ∏_{k=0}^{m-1} u_k · (1 - u_m) ] - evals.lagrange_masking_adjacent = u_mp1_M1 * (u[m] + u_0_m1 * c[m]); - // ---- Mini-masking (two disjoint blocks in block 0) ---- // lagrange_mini_masking: rows [RANDOMNESS_START .. RESULT_ROW-1] ∪ [MINI-NUM_MASKED .. MINI-1], block 0 @@ -242,7 +233,6 @@ template struct TranslatorSelectorEv target.lagrange_masking = lagrange_masking; target.lagrange_mini_masking = lagrange_mini_masking; target.lagrange_real_last = lagrange_real_last; - target.lagrange_masking_adjacent = lagrange_masking_adjacent; target.lagrange_ordered_masking = lagrange_ordered_masking; } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp index 525e5322c989..518e50f3f8ae 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.test.cpp @@ -12,7 +12,7 @@ using namespace bb; namespace { /** - * @brief Create all 11 structured Translator selector polynomials and verify that + * @brief Create all 10 structured Translator selector polynomials and verify that * TranslatorSelectorEvaluations::compute matches their MLE evaluations at a random challenge. * * @details Replicates the pattern-setting logic from TranslatorProvingKey::compute_lagrange_polynomials() @@ -85,20 +85,6 @@ template void test_translator_selector_evaluations() }), evals.lagrange_masking); - // --- lagrange_masking_adjacent: masking rows + row before each masking block --- - EXPECT_EQ(make_and_eval([](Poly& p) { - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { - size_t block_masking_start = j * MINI + (MINI - NUM_MASKED_ROWS_END); - if (block_masking_start > 0) { - p.at(block_masking_start - 1) = 1; - } - for (size_t k = block_masking_start; k < j * MINI + MINI; k++) { - p.at(k) = 1; - } - } - }), - evals.lagrange_masking_adjacent); - // --- lagrange_mini_masking: rows [RANDOMNESS_START..RESULT_ROW-1] ∪ [MINI-NUM_MASKED..MINI-1] in block 0 --- EXPECT_EQ(make_and_eval([](Poly& p) { for (size_t i = RANDOMNESS_START; i < RESULT_ROW; i++) { @@ -193,7 +179,6 @@ template void test_translator_selector_circu EXPECT_EQ(circuit_evals.lagrange_masking.get_value(), native_evals.lagrange_masking); EXPECT_EQ(circuit_evals.lagrange_mini_masking.get_value(), native_evals.lagrange_mini_masking); EXPECT_EQ(circuit_evals.lagrange_real_last.get_value(), native_evals.lagrange_real_last); - EXPECT_EQ(circuit_evals.lagrange_masking_adjacent.get_value(), native_evals.lagrange_masking_adjacent); EXPECT_EQ(circuit_evals.lagrange_ordered_masking.get_value(), native_evals.lagrange_ordered_masking); } From ca9cd5e913e91a4fd009ef6e5d0ed8caef3d906b Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 17 Feb 2026 14:21:09 +0000 Subject: [PATCH 12/24] fix gate count tests, consistency test, and some comments --- .../commitment_schemes/shplonk/shplemini.hpp | 5 ---- .../shplonk/shplemini_concatenated.test.cpp | 3 +-- .../dsl/acir_format/gate_count_constants.hpp | 24 +++++++++---------- .../translator_permutation_relation_impl.hpp | 16 +++++++------ .../translator_relation_consistency.test.cpp | 15 +++++++----- 5 files changed, 31 insertions(+), 32 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp index ee030d509b8d..7cc449d2f335 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.hpp @@ -293,11 +293,6 @@ template class ShpleminiVerifier_ { for (auto& eval : const_cast&>(gemini_fold_neg_evaluations)) { eval.set_origin_tag(challenge_tag); } - // Tag the interleaved evaluations if present - if (claim_batcher.interleaved) { - const_cast(p_pos).set_origin_tag(challenge_tag); - const_cast(p_neg).set_origin_tag(challenge_tag); - } } // Start computing the scalar to be multiplied by [1]₁ diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp index dae5cf6e2bf9..919aef5efce8 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini_concatenated.test.cpp @@ -162,8 +162,7 @@ class ShpleminiConcatenatedTest : public CommitmentTest { auto pairing_points = KZG::reduce_verify_batch_opening_claim( std::move(shplemini_output.batch_opening_claim), verifier_transcript); - VK vk; - return vk.pairing_check(pairing_points[0], pairing_points[1]); + return pairing_points.check(); } }; diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp index 1967ac1d2cfa..0a5fbd76b492 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp @@ -67,40 +67,40 @@ constexpr std::tuple HONK_RECURSION_CONSTANTS( if constexpr (std::is_same_v>) { switch (mode) { case PredicateTestCase::ConstantTrue: - return std::make_tuple(728643, 0); + return std::make_tuple(728641, 0); case PredicateTestCase::WitnessTrue: case PredicateTestCase::WitnessFalse: - return std::make_tuple(729778, 0); + return std::make_tuple(729776, 0); } } else if constexpr (std::is_same_v>) { switch (mode) { case PredicateTestCase::ConstantTrue: - return std::make_tuple(772420, 0); + return std::make_tuple(772418, 0); case PredicateTestCase::WitnessTrue: case PredicateTestCase::WitnessFalse: - return std::make_tuple(773657, 0); + return std::make_tuple(773655, 0); } } else if constexpr (std::is_same_v>) { switch (mode) { case PredicateTestCase::ConstantTrue: - return std::make_tuple(22451, 76); + return std::make_tuple(22449, 76); case PredicateTestCase::WitnessTrue: case PredicateTestCase::WitnessFalse: - return std::make_tuple(23586, 76); + return std::make_tuple(23584, 76); } } else if constexpr (std::is_same_v>) { switch (mode) { case PredicateTestCase::ConstantTrue: - return std::make_tuple(27303, 80); + return std::make_tuple(27301, 80); case PredicateTestCase::WitnessTrue: case PredicateTestCase::WitnessFalse: - return std::make_tuple(28540, 80); + return std::make_tuple(28538, 80); } } else if constexpr (std::is_same_v>) { if (mode != PredicateTestCase::ConstantTrue) { bb::assert_failure("Unhandled mode in MegaZKRecursiveFlavor."); } - return std::make_tuple(819383, 0); + return std::make_tuple(819381, 0); } else { bb::assert_failure("Unhandled recursive flavor."); } @@ -113,7 +113,7 @@ constexpr std::tuple HONK_RECURSION_CONSTANTS( // ======================================== // Gate count for Chonk recursive verification (Ultra with RollupIO) -inline constexpr size_t CHONK_RECURSION_GATES = 2395106; +inline constexpr size_t CHONK_RECURSION_GATES = 1684575; // ======================================== // Hypernova Recursion Constants @@ -138,7 +138,7 @@ inline constexpr size_t TAIL_KERNEL_ECC_ROWS = 914 + MSM_ROWS_OFFSET; inline constexpr size_t TAIL_KERNEL_ULTRA_OPS = 96; // Hiding kernel gate counts (verifies HN_FINAL proof) -inline constexpr size_t HIDING_KERNEL_GATE_COUNT = 34341; +inline constexpr size_t HIDING_KERNEL_GATE_COUNT = 34339; inline constexpr size_t HIDING_KERNEL_ECC_ROWS = 1341 + MSM_ROWS_OFFSET; inline constexpr size_t HIDING_KERNEL_ULTRA_OPS = 124; @@ -147,7 +147,7 @@ inline constexpr size_t HIDING_KERNEL_ULTRA_OPS = 124; // ======================================== // Gate count for ECCVM recursive verifier (Ultra-arithmetized) -inline constexpr size_t ECCVM_RECURSIVE_VERIFIER_GATE_COUNT = 224223; +inline constexpr size_t ECCVM_RECURSIVE_VERIFIER_GATE_COUNT = 224221; // ======================================== // Goblin AVM Recursive Verifier Constants diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp index 2323a7bea6b6..8718091ddca0 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_permutation_relation_impl.hpp @@ -19,15 +19,17 @@ namespace bb { * C(in(X)...) = * ( z_perm(X) + lagrange_first(X) )*P(X) * - ( z_perm_shift(X) + lagrange_last(X))*Q(X), - * where P(X) = Prod_{i=0:4} (numerator_polynomial_i(X) + lagrange_masking * β + γ) - * Q(X) = Prod_{i=0:4} (ordered_range_constraint_i(X) + lagrange_masking * β + γ) - * the first 4 numerator polynomials are concatenated range constraint polynomials and the last one is the constant + * where P(X) = Prod_{i=0:3} (concatenated_range_constraint_i(X) + lagrange_masking * β + γ) + * * (extra_numerator(X) + lagrange_ordered_masking * β + γ) + * Q(X) = Prod_{i=0:4} (ordered_range_constraint_i(X) + lagrange_ordered_masking * β + γ) + * the first 4 numerator polynomials are concatenated range constraint polynomials and the last one is the * extra numerator * - * If operating in zero-knowledge, we mark the positions (via the lagrange_masking polynomial) that - * contain random values. Since the masking values in four concatenated polynomials are distributed across five - * ordered polynomials, we need to ensure that the values are consistent between the concatenated and ordered sets (even - * if they are at different indices). + * If operating in zero-knowledge, we use two different masking selectors: + * - lagrange_masking marks scattered masking positions (last NUM_MASKED_ROWS_END rows of each of 16 blocks) + * in concatenated polynomials + * - lagrange_ordered_masking marks contiguous masking positions (last NUM_MASKED_ROWS_END positions at circuit end) + * in ordered polynomials * * @param evals transformed to `evals + C(in(X)...)*scaling_factor` * @param in an std::array containing the fully extended Univariate edges. diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp index a29879141032..6aa5f159b55d 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp @@ -78,6 +78,7 @@ TEST_F(TranslatorRelationConsistency, PermutationRelation) const auto& lagrange_first = input_elements.lagrange_first; const auto& lagrange_last = input_elements.lagrange_last; const auto& lagrange_masking = input_elements.lagrange_masking; + const auto& lagrange_ordered_masking = input_elements.lagrange_ordered_masking; RelationValues expected_values; @@ -86,17 +87,19 @@ TEST_F(TranslatorRelationConsistency, PermutationRelation) const auto& beta = parameters.beta; // (Contribution 1) + // First 4 numerator factors use scattered masking (lagrange_masking), + // 5th numerator factor and all denominator factors use contiguous masking (lagrange_ordered_masking) auto contribution_1 = (z_perm + lagrange_first) * (concatenated_range_constraints_0 + lagrange_masking * beta + gamma) * (concatenated_range_constraints_1 + lagrange_masking * beta + gamma) * (concatenated_range_constraints_2 + lagrange_masking * beta + gamma) * (concatenated_range_constraints_3 + lagrange_masking * beta + gamma) * - (ordered_extra_range_constraints_numerator + lagrange_masking * beta + gamma) - - (z_perm_shift + lagrange_last) * (ordered_range_constraints_0 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_1 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_2 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_3 + lagrange_masking * beta + gamma) * - (ordered_range_constraints_4 + lagrange_masking * beta + gamma); + (ordered_extra_range_constraints_numerator + lagrange_ordered_masking * beta + gamma) - + (z_perm_shift + lagrange_last) * (ordered_range_constraints_0 + lagrange_ordered_masking * beta + gamma) * + (ordered_range_constraints_1 + lagrange_ordered_masking * beta + gamma) * + (ordered_range_constraints_2 + lagrange_ordered_masking * beta + gamma) * + (ordered_range_constraints_3 + lagrange_ordered_masking * beta + gamma) * + (ordered_range_constraints_4 + lagrange_ordered_masking * beta + gamma); expected_values[0] = contribution_1; // (Contribution 2) From a7e9e8641c9400620de2cfb0b8b08702c31f6c22 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 17 Feb 2026 14:26:19 +0000 Subject: [PATCH 13/24] fix mock proof size test --- .../dsl/acir_format/mock_verifier_inputs.cpp | 65 +++++++++++-------- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp index 523af2819d88..bca0b9088c7e 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp @@ -109,7 +109,6 @@ template HonkProof create_mock_hyper_nova_ return proof; } -// WORKTODO: use these methods in places where this logic is duplicated template HonkProof create_mock_pcs_proof() { using FF = Flavor::FF; @@ -124,14 +123,6 @@ template HonkProof create_mock_pcs_proof() const size_t NUM_GEMINI_FOLD_EVALUATIONS = Flavor::VIRTUAL_LOG_N; populate_field_elements(proof, NUM_GEMINI_FOLD_EVALUATIONS); - if constexpr (std::is_same_v) { - // Gemini P pos evaluation - populate_field_elements(proof, 1); - - // Gemini P neg evaluation - populate_field_elements(proof, 1); - } - if constexpr (Flavor::HasZK) { // NUM_SMALL_IPA_EVALUATIONS libra evals populate_field_elements(proof, NUM_SMALL_IPA_EVALUATIONS); @@ -193,14 +184,6 @@ template HonkProof create_mock_decider_proof() const size_t NUM_GEMINI_FOLD_EVALUATIONS = const_proof_log_n; populate_field_elements(proof, NUM_GEMINI_FOLD_EVALUATIONS); - if constexpr (std::is_same_v) { - // Gemini P pos evaluation - populate_field_elements(proof, 1); - - // Gemini P neg evaluation - populate_field_elements(proof, 1); - } - if constexpr (Flavor::HasZK) { // NUM_SMALL_IPA_EVALUATIONS libra evals populate_field_elements(proof, NUM_SMALL_IPA_EVALUATIONS); @@ -444,21 +427,47 @@ HonkProof create_mock_ipa_proof() HonkProof create_mock_translator_proof() { - using Curve = TranslatorFlavor::Curve; + using Flavor = TranslatorFlavor; + using Curve = Flavor::Curve; + using FF = Flavor::FF; HonkProof proof; - // 1. NUM_WITNESS_ENTITIES commitments (includes gemini masking, wires, ordered range constraints, z_perm; excludes - // 2 interleaved) - populate_field_elements_for_mock_commitments(proof, - /*num_commitments=*/TranslatorFlavor::NUM_WITNESS_ENTITIES - 3 - - TranslatorFlavor::NUM_OP_QUEUE_WIRES); + // 1. Gemini masking poly commitment + populate_field_elements_for_mock_commitments(proof, /*num_commitments=*/1); - // 3. Decider proof (Libra + sumcheck + Gemini + PCS) - HonkProof decider_proof = create_mock_decider_proof(); - proof.insert(proof.end(), decider_proof.begin(), decider_proof.end()); + // 2. Wire commitments: concatenated(5) + ordered(5) = 10 + populate_field_elements_for_mock_commitments(proof, /*num_commitments=*/Flavor::NUM_COMMITMENTS_IN_PROOF); + + // 3. Z_PERM commitment + populate_field_elements_for_mock_commitments(proof, /*num_commitments=*/1); + + // 4. Libra concatenation commitment + populate_field_elements_for_mock_commitments(proof, /*num_commitments=*/1); + + // 5. Libra sum + populate_field_elements(proof, 1); + + // 6. Sumcheck univariates + populate_field_elements(proof, Flavor::CONST_TRANSLATOR_LOG_N * Flavor::BATCHED_RELATION_PARTIAL_LENGTH); + + // 7. Sumcheck evaluations (computable precomputed excluded) + populate_field_elements(proof, Flavor::NUM_SENT_EVALUATIONS); + + // 8. Libra claimed evaluation + populate_field_elements(proof, 1); + + // 9. Libra grand sum commitment + populate_field_elements_for_mock_commitments(proof, /*num_commitments=*/1); + + // 10. Libra quotient commitment + populate_field_elements_for_mock_commitments(proof, /*num_commitments=*/1); + + // 11-15. PCS proof (Gemini fold commitments/evaluations, libra evals, Shplonk, KZG) + HonkProof pcs_proof = create_mock_pcs_proof(); + proof.insert(proof.end(), pcs_proof.begin(), pcs_proof.end()); - BB_ASSERT_EQ(proof.size(), TranslatorFlavor::PROOF_LENGTH); + BB_ASSERT_EQ(proof.size(), Flavor::PROOF_LENGTH); return proof; } @@ -517,11 +526,11 @@ template HonkProof create_mock_oink_proof(); +template HonkProof create_mock_pcs_proof(); template HonkProof create_mock_decider_proof(); template HonkProof create_mock_decider_proof(); template HonkProof create_mock_decider_proof(); -template HonkProof create_mock_decider_proof(); template HonkProof create_mock_decider_proof(); template HonkProof create_mock_honk_proof(const size_t); From d681ac11fa54311c219711e006c5c7fd7300347a Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 17 Feb 2026 16:08:41 +0000 Subject: [PATCH 14/24] fix bb tests --- .../dsl/acir_format/gate_count_constants.hpp | 4 +- .../dsl/acir_format/mock_verifier_inputs.cpp | 2 +- .../acir_format/mock_verifier_inputs.test.cpp | 4 +- .../translator_relation_consistency.test.cpp | 6 +- .../ultra_recursive_verifier.test.cpp | 4 - .../translator_vm_verifier/CMakeLists.txt | 2 +- .../translator_recursive_verifier.test.cpp | 69 +++++++++++++++++ .../translator_vm/translator.test.cpp | 10 ++- .../translator_vm/translator_flavor.hpp | 76 ++++++++++++++++--- .../translator_vm/translator_verifier.cpp | 57 +------------- .../translator_vm/translator_verifier.hpp | 12 --- 11 files changed, 157 insertions(+), 89 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp index 0a5fbd76b492..a5f110db984b 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp @@ -113,7 +113,7 @@ constexpr std::tuple HONK_RECURSION_CONSTANTS( // ======================================== // Gate count for Chonk recursive verification (Ultra with RollupIO) -inline constexpr size_t CHONK_RECURSION_GATES = 1684575; +inline constexpr size_t CHONK_RECURSION_GATES = 1684546; // ======================================== // Hypernova Recursion Constants @@ -147,7 +147,7 @@ inline constexpr size_t HIDING_KERNEL_ULTRA_OPS = 124; // ======================================== // Gate count for ECCVM recursive verifier (Ultra-arithmetized) -inline constexpr size_t ECCVM_RECURSIVE_VERIFIER_GATE_COUNT = 224221; +inline constexpr size_t ECCVM_RECURSIVE_VERIFIER_GATE_COUNT = 224139; // ======================================== // Goblin AVM Recursive Verifier Constants diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp index bca0b9088c7e..9a2942db9941 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.cpp @@ -451,7 +451,7 @@ HonkProof create_mock_translator_proof() // 6. Sumcheck univariates populate_field_elements(proof, Flavor::CONST_TRANSLATOR_LOG_N * Flavor::BATCHED_RELATION_PARTIAL_LENGTH); - // 7. Sumcheck evaluations (computable precomputed excluded) + // 7. Sumcheck evaluations (computable precomputed and reconstructed concat evals excluded) populate_field_elements(proof, Flavor::NUM_SENT_EVALUATIONS); // 8. Libra claimed evaluation diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp index 2dd51174be04..74fcff39e16a 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/mock_verifier_inputs.test.cpp @@ -24,14 +24,14 @@ static_assert(HIDING_KERNEL_PUBLIC_INPUTS_SIZE == 28, static_assert(MERGE_PROOF_SIZE == 42, "MERGE_PROOF_SIZE changed - update constants.nr"); static_assert(ECCVMFlavor::PROOF_LENGTH == 608, "ECCVM proof size changed - update constants.nr"); static_assert(IPA_PROOF_LENGTH == 64, "IPA_PROOF_LENGTH changed - update constants.nr"); -static_assert(TranslatorFlavor::PROOF_LENGTH == 488, "Translator proof size changed - update constants.nr"); +static_assert(TranslatorFlavor::PROOF_LENGTH == 483, "Translator proof size changed - update constants.nr"); // Full proof lengths (used in Noir) static_assert( ProofLength::Honk::expected_proof_size>( UltraFlavor::VIRTUAL_LOG_N) == 449, "RECURSIVE_PROOF_LENGTH changed - update constants.nr"); -static_assert(ChonkProof::PROOF_LENGTH == 1637, "CHONK_PROOF_LENGTH changed - update constants.nr"); +static_assert(ChonkProof::PROOF_LENGTH == 1632, "CHONK_PROOF_LENGTH changed - update constants.nr"); static_assert(ProofLength::MultilinearBatching::LENGTH == 121, "MultilinearBatching proof size changed - update constants.nr"); diff --git a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp index 6aa5f159b55d..2cdef5a95c7e 100644 --- a/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp +++ b/barretenberg/cpp/src/barretenberg/relations/translator_vm/translator_relation_consistency.test.cpp @@ -130,7 +130,7 @@ TEST_F(TranslatorRelationConsistency, DeltaRangeConstraintRelation) const auto& ordered_range_constraints_2_shift = input_elements.ordered_range_constraints_2_shift; const auto& ordered_range_constraints_3_shift = input_elements.ordered_range_constraints_3_shift; const auto& ordered_range_constraints_4_shift = input_elements.ordered_range_constraints_4_shift; - const auto& lagrange_masking = input_elements.lagrange_masking; + const auto& lagrange_ordered_masking = input_elements.lagrange_ordered_masking; const auto& lagrange_real_last = input_elements.lagrange_real_last; RelationValues expected_values; @@ -150,11 +150,11 @@ TEST_F(TranslatorRelationConsistency, DeltaRangeConstraintRelation) const auto delta_4 = ordered_range_constraints_3_shift - ordered_range_constraints_3; const auto delta_5 = ordered_range_constraints_4_shift - ordered_range_constraints_4; - const auto not_real_last_or_masked = lagrange_real_last + lagrange_masking + minus_one; + const auto not_last_or_masking = lagrange_real_last + lagrange_ordered_masking + minus_one; // Check the delta is {0,1,2,3} auto delta_in_range = [&](auto delta) { - return not_real_last_or_masked * delta * (delta + minus_one) * (delta + minus_two) * (delta + minus_three); + return not_last_or_masking * delta * (delta + minus_one) * (delta + minus_two) * (delta + minus_three); }; // Check delta correctness diff --git a/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp index 6215d8b444bf..01245164aca8 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp @@ -458,10 +458,6 @@ template class RecursiveVerifierTest : public testing::Test { // Expected variables in one gate: // - +1 for unused Shplonk power (non-ZK flavors only) size_t expected_unconstrained = 0; - // Add 1 for unused Shplonk power in non-ZK flavors - if constexpr (!RecursiveFlavor::HasZK) { - expected_unconstrained += 1; - } EXPECT_EQ(variables_in_one_gate.size(), expected_unconstrained); } }; diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/CMakeLists.txt b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/CMakeLists.txt index 951c8378a3e1..1f8daefaeeaa 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/CMakeLists.txt +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/CMakeLists.txt @@ -1 +1 @@ -barretenberg_module(stdlib_translator_vm_verifier translator_vm transcript stdlib_poseidon2 stdlib_circuit_builders) +barretenberg_module(stdlib_translator_vm_verifier translator_vm transcript stdlib_poseidon2 stdlib_circuit_builders boomerang_value_detection) diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp index 376e9cae8900..36f442769bbe 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp @@ -1,3 +1,4 @@ +#include "barretenberg/boomerang_value_detection/graph.hpp" #include "barretenberg/circuit_checker/translator_circuit_checker.hpp" #include "barretenberg/common/log.hpp" #include "barretenberg/stdlib/honk_verifier/ultra_verification_keys_comparator.hpp" @@ -244,6 +245,69 @@ class TranslatorRecursiveTests : public ::testing::Test { compare_ultra_blocks_and_verification_keys({ outer_circuit_256.blocks, outer_circuit_512.blocks }, { verification_key_256, verification_key_512 }); }; + + /** + * @brief Static analysis (boomerang detection) of the translator recursive verifier circuit. + * @details Builds the recursive verifier circuit and checks that no variable appears in only one gate, + * which would indicate an unconstrained witness (potential soundness issue). + */ + static void test_static_analysis() + { + auto prover_transcript = std::make_shared(); + + InnerBF batching_challenge_v = InnerBF::random_element(); + InnerBF evaluation_challenge_x = InnerBF::random_element(); + + InnerBuilder circuit_builder = generate_test_circuit(batching_challenge_v, evaluation_challenge_x); + auto proving_key = std::make_shared(circuit_builder); + InnerProver prover{ proving_key, prover_transcript }; + auto proof = prover.construct_proof(); + + // Set up outer recursive circuit + OuterBuilder outer_circuit; + stdlib::Proof stdlib_proof(outer_circuit, proof); + auto transcript = std::make_shared(stdlib_proof); + + // Create recursive verifier inputs + auto recursive_inputs = + create_recursive_verifier_inputs(&outer_circuit, prover, evaluation_challenge_x, batching_challenge_v); + + // Verify proof recursively + stdlib::Proof stdlib_proof_for_verifier(outer_circuit, proof); + RecursiveVerifier verifier{ transcript, + stdlib_proof_for_verifier, + recursive_inputs.evaluation_challenge_x, + recursive_inputs.batching_challenge_v, + recursive_inputs.accumulated_result, + recursive_inputs.op_queue_commitments }; + auto recursive_result = verifier.reduce_to_pairing_check(); + + recursive_result.pairing_points.fix_witness(); + + stdlib::recursion::honk::DefaultIO inputs; + inputs.pairing_inputs = recursive_result.pairing_points; + inputs.set_public(); + + EXPECT_EQ(outer_circuit.failed(), false) << outer_circuit.err(); + outer_circuit.finalize_circuit(false); + + // Run static analysis - no variable should appear in only one gate + auto graph = cdg::UltraStaticAnalyzer(outer_circuit); + auto [cc, variables_in_one_gate] = graph.analyze_circuit(/*filter_cc=*/true); + + for (auto var_idx : variables_in_one_gate) { + auto real_idx = outer_circuit.real_variable_index[var_idx]; + info("Variable in one gate: var_idx=", + var_idx, + " real_idx=", + real_idx, + " value=", + outer_circuit.get_variable(var_idx)); + graph.print_variable_info(real_idx); + } + + EXPECT_EQ(variables_in_one_gate.size(), 0); + } }; TEST_F(TranslatorRecursiveTests, SingleRecursiveVerification) @@ -255,4 +319,9 @@ TEST_F(TranslatorRecursiveTests, IndependentVKHash) { TranslatorRecursiveTests::test_independent_vk_hash(); }; + +TEST_F(TranslatorRecursiveTests, StaticAnalysis) +{ + TranslatorRecursiveTests::test_static_analysis(); +}; } // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp index 2e262cbac854..fd32e2ecb832 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator.test.cpp @@ -493,7 +493,15 @@ TEST_F(TranslatorTests, EvaluationPartition) } EXPECT_EQ(covered.size(), 2 * Flavor::NUM_MINICIRCUIT_WIRES + Flavor::NUM_FULL_CIRCUIT_EVALUATIONS); - // The computable precomputed selectors are the remaining 12 + // Concat polys are reconstructed (not sent in proof), but still in AllEntities + for (auto& e : evals.get_concatenated()) { + EXPECT_TRUE(covered.insert(&e).second) << "concatenated poly overlaps with a previous entity"; + } + EXPECT_EQ(covered.size(), + 2 * Flavor::NUM_MINICIRCUIT_WIRES + Flavor::NUM_FULL_CIRCUIT_EVALUATIONS + + Flavor::NUM_CONCATENATED_POLYS); + + // The computable precomputed selectors are the remaining entities size_t remaining = Flavor::NUM_ALL_ENTITIES - covered.size(); EXPECT_EQ(remaining, Flavor::NUM_COMPUTABLE_PRECOMPUTED); diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 693c90ff1d65..06520463978b 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -133,8 +133,9 @@ class TranslatorFlavor { // = MaskingEntities(1) + Precomputed(11) + Witness(92) + Shifted(86) = 190 static constexpr size_t NUM_ALL_ENTITIES = 190; - // Number of evaluations sent in proof (all minus computable precomputed) - static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; + // Number of evaluations sent in proof (all minus computable precomputed minus reconstructed concat evals) + static constexpr size_t NUM_SENT_EVALUATIONS = + NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED - NUM_CONCATENATED_POLYS; // The number of polynomials precomputed to describe a circuit and to aid a prover in constructing a satisfying // assignment of witnesses. We again choose a neutral name. @@ -150,7 +151,7 @@ class TranslatorFlavor { // LOG_MINI_CIRCUIT_SIZE-1) static constexpr size_t NUM_MINICIRCUIT_WIRES = 77; // NonRangeMain(13) + RangeConstraint(64) static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = 2 * NUM_MINICIRCUIT_WIRES; // 154 - static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NUM_SENT_EVALUATIONS - NUM_MINICIRCUIT_EVALUATIONS; // 26 + static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NUM_SENT_EVALUATIONS - NUM_MINICIRCUIT_EVALUATIONS; // 21 // Total number of minicircuit wires across all concatenation groups (5 groups × 16 wires each) static constexpr size_t NUM_CONCATENATED_WIRES = NUM_CONCATENATED_POLYS * CONCATENATION_GROUP_SIZE; @@ -902,9 +903,10 @@ class TranslatorFlavor { auto get_pcs_shifted() { return ShiftedEntities::get_pcs_shifted(); }; /** - * @brief The 26 full-circuit entities: everything except computable precomputed and minicircuit wires/shifts. + * @brief Full-circuit entities sent in the proof (excludes computable precomputed, minicircuit wires, + * and concatenated polys whose evals are reconstructed from wire evals). * @details Masking(1) + ordered_extra(1) + op(1) + OpQueueTBS(3) + OrderedRange(5) + z_perm(1) - * + Concatenated(5) + pcs_shifted(9) = 26 + * + pcs_shifted(9) = 21 */ auto get_full_circuit_entities() { @@ -914,7 +916,6 @@ class TranslatorFlavor { OpQueueWiresToBeShiftedEntities::get_all(), OrderedRangeConstraints::get_all(), DerivedWitnessEntities::get_all(), - ConcatenatedPolynomials::get_all(), ShiftedEntities::get_pcs_shifted()); } @@ -1036,8 +1037,10 @@ class TranslatorFlavor { /** * @brief Verifier: complete full-circuit evaluations from received array and challenge. * @details Assumes minicircuit wire evaluations have already been placed into evals - * via set_minicircuit_evaluations. This method sets the full-circuit evaluations and then completes - * all evaluations (computable precomputed selectors + L_0 scaling of minicircuit wires). + * via set_minicircuit_evaluations. This method: + * 1. Sets the received full-circuit evaluations (excluding concatenated poly evals). + * 2. Completes claimed evaluations (computable precomputed selectors + L_0 scaling). + * 3. Reconstructs the 5 concatenated polynomial evaluations from individual wire evaluations. */ template static void complete_full_circuit_evaluations(AllEntities& evals, @@ -1046,10 +1049,63 @@ class TranslatorFlavor { { set_full_circuit_evaluations(evals, full_circuit); complete_claimed_evaluations(evals, challenge); + + // Reconstruct the 5 concatenated polynomial evaluations from (now L0-scaled) wire evaluations + auto groups = evals.get_groups_to_be_concatenated(); + auto concat_evals = reconstruct_concatenated_evaluations(groups, challenge); + auto concat_refs = evals.get_concatenated(); + for (size_t g = 0; g < NUM_CONCATENATED_POLYS; g++) { + concat_refs[g] = concat_evals[g]; + } + } + + /** + * @brief Reconstruct concatenated polynomial evaluations from individual wire evaluations + * using the Lagrange basis over the top log2(CONCATENATION_GROUP_SIZE) challenges. + * @details The concatenated polynomial F(X) is laid out in CONCATENATION_GROUP_SIZE sequential blocks. + * Given evaluations of the individual wires f_j(u) at the sumcheck challenge u, the evaluation of F(u) + * is reconstructed as: F(u) = [1/L_0(u_top)] * Σ_j L_j(u_top) * f_j(u), where L_j are the Lagrange + * basis polynomials over the top challenges and L_0 is the "padding" factor. + * + * @param groups The 5 groups of 16 wire evaluations to reconstruct from. + * @param challenge The full sumcheck challenge vector. + * @return Array of 5 reconstructed concatenated evaluations. + */ + template + static std::array reconstruct_concatenated_evaluations( + const std::vector>& groups, std::span challenge) + { + static constexpr size_t NUM_TOP_BITS = numeric::get_msb(CONCATENATION_GROUP_SIZE); + + // Compute CONCATENATION_GROUP_SIZE-point Lagrange basis over the top challenges + std::array lagrange_basis; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { + lagrange_basis[j] = FFType(1); + for (size_t bit = 0; bit < NUM_TOP_BITS; bit++) { + const FFType& u = challenge[CONST_TRANSLATOR_LOG_N - NUM_TOP_BITS + bit]; + lagrange_basis[j] *= ((j >> bit) & 1) ? u : (FFType(1) - u); + } + } + // L_0 is the "padding" factor from wires having support in [1, MINI) + FFType padding_inv = lagrange_basis[0].invert(); + + auto reconstruct = [&](const auto& group) -> FFType { + FFType result = FFType(0); + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { + result += lagrange_basis[j] * group[j]; + } + return result * padding_inv; + }; + + std::array result; + for (size_t g = 0; g < NUM_CONCATENATED_POLYS; g++) { + result[g] = reconstruct(groups[g]); + } + return result; } /** - * @brief Prover: extract the 26 full-circuit evaluations via get_full_circuit_entities(). + * @brief Prover: extract the full-circuit evaluations via get_full_circuit_entities(). */ template static std::array get_full_circuit_evaluations(AllEntities& evals) @@ -1063,7 +1119,7 @@ class TranslatorFlavor { } /** - * @brief Verifier: write the 26 full-circuit evaluations back via get_full_circuit_entities(). + * @brief Verifier: write the full-circuit evaluations back via get_full_circuit_entities(). */ template static void set_full_circuit_evaluations(AllEntities& evals, diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp index 4e1117e775c0..54f080304ce2 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp @@ -120,48 +120,6 @@ void put_translation_data_in_relation_parameters_impl(RelationParameters -std::pair::FF, TranslatorFlavor::NUM_CONCATENATED_POLYS>, - std::array::FF, TranslatorFlavor::NUM_CONCATENATED_POLYS>> -TranslatorVerifier_::reconstruct_concatenated_evaluations(const std::vector& challenge, - const std::vector>& groups, - const std::vector>& shift_groups) -{ - static constexpr size_t CONCATENATION_GROUP_SIZE = TranslatorFlavor::CONCATENATION_GROUP_SIZE; - static constexpr size_t NUM_CONCATENATED_POLYS = TranslatorFlavor::NUM_CONCATENATED_POLYS; - static constexpr size_t NUM_TOP_BITS = numeric::get_msb(CONCATENATION_GROUP_SIZE); - static constexpr size_t LOG_N = TranslatorFlavor::CONST_TRANSLATOR_LOG_N; - - // Compute CONCATENATION_GROUP_SIZE-point Lagrange basis over the top challenges - std::array lagrange_basis; - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { - lagrange_basis[j] = FF(1); - for (size_t bit = 0; bit < NUM_TOP_BITS; bit++) { - const FF& u = challenge[LOG_N - NUM_TOP_BITS + bit]; - lagrange_basis[j] *= ((j >> bit) & 1) ? u : (FF(1) - u); - } - } - // L_0 is the "padding" factor from wires having support in [1, MINI) - FF padding_inv = lagrange_basis[0].invert(); - - // Reconstruct a single concatenated eval: [1/L_0] * Σ_j L_j * wire_j(u) - auto reconstruct = [&](const auto& group) -> FF { - FF result = FF(0); - for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { - result += lagrange_basis[j] * group[j]; - } - return result * padding_inv; - }; - - std::array concat_evals; - std::array concat_shift_evals; - for (size_t g = 0; g < NUM_CONCATENATED_POLYS; g++) { - concat_evals[g] = reconstruct(groups[g]); - concat_shift_evals[g] = reconstruct(shift_groups[g]); - } - return { concat_evals, concat_shift_evals }; -} - template void TranslatorVerifier_::put_translation_data_in_relation_parameters() { put_translation_data_in_relation_parameters_impl( @@ -242,18 +200,11 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template receive_from_prover("Libra:grand_sum_commitment"); libra_commitments[2] = transcript->template receive_from_prover("Libra:quotient_commitment"); - // --- Concatenation consistency: reconstruct concat evals from wire evals --- + // Unshifted concat evals are reconstructed inside sumcheck (via complete_full_circuit_evaluations). + // Here we only need the shifted concat evals for PCS, which are not stored in AllEntities. auto& claimed = sumcheck_output.claimed_evaluations; - auto [concat_evals, concat_shift_evals] = - reconstruct_concatenated_evaluations(sumcheck_output.challenge, - claimed.get_groups_to_be_concatenated(), - claimed.get_groups_to_be_concatenated_shifted()); - - // Write reconstructed unshifted concat evals into AllEntities so getters work - auto concat_eval_refs = claimed.get_concatenated(); - for (size_t g = 0; g < concat_evals.size(); g++) { - concat_eval_refs[g] = concat_evals[g]; - } + auto concat_shift_evals = TranslatorFlavor::reconstruct_concatenated_evaluations( + claimed.get_groups_to_be_concatenated_shifted(), std::span(sumcheck_output.challenge)); // --- PCS: build opening claims and verify --- auto combined_unshifted_comms = commitments.get_pcs_unshifted(); diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp index de3c513adfff..867f50385718 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.hpp @@ -126,18 +126,6 @@ template class TranslatorVerifier_ { // Builder pointer (only used for recursive, nullptr for native) std::conditional_t builder = nullptr; - /** - * @brief Reconstruct concatenated polynomial evaluations from individual wire evaluations. - * @details Each concatenated polynomial packs CONCATENATION_GROUP_SIZE minicircuit wires into sequential blocks. - * The verifier reconstructs concat(u) from the wire evals via Lagrange decomposition over - * the top log2(CONCATENATION_GROUP_SIZE) sumcheck challenges. - */ - static std::pair, - std::array> - reconstruct_concatenated_evaluations(const std::vector& challenge, - const std::vector>& groups, - const std::vector>& shift_groups); - /** * @brief Populate relation parameters with translation data from ECCVM verifier * @details Converts the translation challenges and accumulated result into limbs. From a6f0a8eb170cfa1eeab6dbb0a6f6694ea956337e Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 17 Feb 2026 16:18:57 +0000 Subject: [PATCH 15/24] gate count upd for rollup --- .../src/barretenberg/dsl/acir_format/gate_count_constants.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp index a5f110db984b..e16e1e89a41d 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/gate_count_constants.hpp @@ -55,7 +55,7 @@ template inline constexpr size_t ASSERT_EQUALITY = ZERO_GATE // Honk Recursion Constants // ======================================== -inline constexpr size_t ROOT_ROLLUP_GATE_COUNT = 12998775; +inline constexpr size_t ROOT_ROLLUP_GATE_COUNT = 12998771; template constexpr std::tuple HONK_RECURSION_CONSTANTS( From a330fd3e247b548d513fb9cfefa79966d1a90573 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 17 Feb 2026 16:52:05 +0000 Subject: [PATCH 16/24] clean up translator flavor --- .../translator_vm/translator_flavor.hpp | 432 ++++++------------ 1 file changed, 142 insertions(+), 290 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 06520463978b..492ddab04c1f 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -60,10 +60,6 @@ class TranslatorFlavor { // The number of entities added for ZK (gemini_masking_poly) static constexpr size_t NUM_MASKING_POLYNOMIALS = 1; - // 10 of 11 precomputed selectors are structured multilinear polynomials whose evaluations at the - // sumcheck challenge can be computed in O(d) field ops (all except ordered_extra_range_constraints_numerator). - static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 10; - // None of this parameters can be changed // Number of wires representing the op queue whose commitments are going to be checked against those from the // final round of merge @@ -127,66 +123,6 @@ class TranslatorFlavor { static constexpr size_t MINIMUM_MINI_CIRCUIT_SIZE = 2048; static_assert(MINI_CIRCUIT_SIZE > MINIMUM_MINI_CIRCUIT_SIZE); - // The number of multivariate polynomials on which a sumcheck prover sumcheck operates (including shifts). We - // often need containers of this size to hold related data, so we choose a name more agnostic than - // `NUM_POLYNOMIALS`. Note: this number does not include the individual sorted list polynomials. - // = MaskingEntities(1) + Precomputed(11) + Witness(92) + Shifted(86) = 190 - static constexpr size_t NUM_ALL_ENTITIES = 190; - - // Number of evaluations sent in proof (all minus computable precomputed minus reconstructed concat evals) - static constexpr size_t NUM_SENT_EVALUATIONS = - NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED - NUM_CONCATENATED_POLYS; - - // The number of polynomials precomputed to describe a circuit and to aid a prover in constructing a satisfying - // assignment of witnesses. We again choose a neutral name. - static constexpr size_t NUM_PRECOMPUTED_ENTITIES = 11; - - // The total number of witness entities not including shifts. - // = WireNonshifted(1) + WireToBeShifted(80) + OrderedRange(5) + Derived(1) + Concatenated(5) = 92 - static constexpr size_t NUM_WITNESS_ENTITIES = 92; - static constexpr size_t NUM_WIRES_NON_SHIFTED = 1; // only the opcode wire - static constexpr size_t NUM_SHIFTED_ENTITIES = 86; - - // 77 unshifted + 77 shifted minicircuit wire evaluations are sent mid-sumcheck (after round - // LOG_MINI_CIRCUIT_SIZE-1) - static constexpr size_t NUM_MINICIRCUIT_WIRES = 77; // NonRangeMain(13) + RangeConstraint(64) - static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = 2 * NUM_MINICIRCUIT_WIRES; // 154 - static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NUM_SENT_EVALUATIONS - NUM_MINICIRCUIT_EVALUATIONS; // 21 - - // Total number of minicircuit wires across all concatenation groups (5 groups × 16 wires each) - static constexpr size_t NUM_CONCATENATED_WIRES = NUM_CONCATENATED_POLYS * CONCATENATION_GROUP_SIZE; - - // Number of non-concatenated witness polynomials in PCS unshifted batch - // = WireNonshifted/op(1) + OrderedRange(5) + Derived/z_perm(1) = 7 - static constexpr size_t NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED = 7; - - // Number of to-be-shifted polynomials for PCS - // = OpQueueWiresToBeShifted(3) + OrderedRange(5) + Derived(1) = 9 - static constexpr size_t NUM_TO_BE_SHIFTED = 9; - - // Number of unshifted polynomials in PCS: masking + non-computable precomputed + witness base + concatenated - static constexpr size_t NUM_PCS_UNSHIFTED = NUM_MASKING_POLYNOMIALS + - (NUM_PRECOMPUTED_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED) + - NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED + NUM_CONCATENATED_POLYS; - - // Number of to-be-shifted polynomials in PCS: base to-be-shifted + concatenated - static constexpr size_t NUM_PCS_TO_BE_SHIFTED = NUM_TO_BE_SHIFTED + NUM_CONCATENATED_POLYS; - - // The index of the first unshifted witness that is going to be shifted when AllEntities are partitioned - static constexpr size_t TO_BE_SHIFTED_WITNESSES_START = NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED; - - // The index of the shift of the first to be shifted witness - static constexpr size_t SHIFTED_WITNESSES_START = NUM_SHIFTED_ENTITIES + TO_BE_SHIFTED_WITNESSES_START; - - // A container to be fed to ShpleminiVerifier to avoid redundant scalar muls. - // Identifies commitments that appear in both the unshifted and shifted batches: - // Unshifted batch (14): masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concat(5) - // Shifted batch (14): op_queue(3) + ordered(5) + z_perm(1) + concat(5) - // Range 1: ordered(5) + z_perm(1) — stored indices 2..7 (unshifted) ↔ 16..21 (shifted) - // Range 2: concatenated(5) — stored indices 8..12 (unshifted) ↔ 22..26 (shifted) - // (Stored indices are 0-based after ZK offset; offset=2 accounts for Q_commitment + gemini_masking_poly) - static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = RepeatedCommitmentsData(2, 16, 6, 8, 22, 5); - using GrandProductRelations = std::tuple>; // define the tuple of Relations that comprise the Sumcheck relation template @@ -218,33 +154,6 @@ class TranslatorFlavor { static constexpr size_t num_frs_fr = FrCodec::calc_num_fields(); static constexpr size_t num_frs_fq = FrCodec::calc_num_fields(); - // Number of ordered range constraint polynomials: 4 (one per range constraint group) + 1 (overflow) - static constexpr size_t NUM_ORDERED_RANGE = 5; - - // Commitments sent in wire round: concatenated + ordered range constraints - // (not counting gemini masking, z_perm, op queue which are sent separately) - static constexpr size_t NUM_COMMITMENTS_IN_PROOF = NUM_CONCATENATED_POLYS + NUM_ORDERED_RANGE; - static constexpr size_t PROOF_LENGTH = - /* 1. Gemini masking poly commitment */ (num_frs_comm) + - /* 2. Wire commitments: concatenated(5) + ordered(5) = 10 */ - (NUM_COMMITMENTS_IN_PROOF * num_frs_comm) + - /* 3. Z_PERM commitment */ (num_frs_comm) + - /* 4. Libra concatenation commitment*/ (num_frs_comm) + - /* 5. Libra sum */ (num_frs_fr) + - /* 4. CONST_TRANSLATOR_LOG_N sumcheck univariates */ - (CONST_TRANSLATOR_LOG_N * BATCHED_RELATION_PARTIAL_LENGTH * num_frs_fr) + - /* 5. sumcheck evaluations (computable precomputed excluded) */ (NUM_SENT_EVALUATIONS * num_frs_fr) + - /* 6. Libra claimed evaluation */ (num_frs_fr) + - /* 7. Libra grand sum commitment */ (num_frs_comm) + - /* 8. Libra quotient commitment */ (num_frs_comm) + - /* 9. CONST_TRANSLATOR_LOG_N - 1 Gemini Fold commitments */ - ((CONST_TRANSLATOR_LOG_N - 1) * num_frs_comm) + - /* 10. CONST_TRANSLATOR_LOG_N Gemini a evaluations */ - (CONST_TRANSLATOR_LOG_N * num_frs_fr) + - /* 11. NUM_SMALL_IPA_EVALUATIONS libra evals */ (NUM_SMALL_IPA_EVALUATIONS * num_frs_fr) + - /* 12. Shplonk Q commitment */ (num_frs_comm) + - /* 13. KZG W commitment */ (num_frs_comm); - /** * @brief A base class labelling precomputed entities and (ordered) subsets of interest. * @details Used to build the proving key and verification key. @@ -490,105 +399,13 @@ class TranslatorFlavor { /** * @brief Get all minicircuit wire polynomials that are concatenated into the 5 concatenated polys. * @details Returns 5 groups of 16 wires each. Groups 0-3 are range constraint wires; group 4 is - * 13 non-range main wires + 3 null padding slots (nullptr). + * 13 non-range main wires + 3 null padding slots. */ std::vector> get_groups_to_be_concatenated() { - // Static zero value for null padding slots (evaluations use 0, polynomials use zero poly) static DataType zero_value = DataType(0); - - return { - { - this->p_x_low_limbs_range_constraint_0, - this->p_x_low_limbs_range_constraint_1, - this->p_x_low_limbs_range_constraint_2, - this->p_x_low_limbs_range_constraint_3, - this->p_x_low_limbs_range_constraint_4, - this->p_x_low_limbs_range_constraint_tail, - this->p_x_high_limbs_range_constraint_0, - this->p_x_high_limbs_range_constraint_1, - this->p_x_high_limbs_range_constraint_2, - this->p_x_high_limbs_range_constraint_3, - this->p_x_high_limbs_range_constraint_4, - this->p_x_high_limbs_range_constraint_tail, - this->p_y_low_limbs_range_constraint_0, - this->p_y_low_limbs_range_constraint_1, - this->p_y_low_limbs_range_constraint_2, - this->p_y_low_limbs_range_constraint_3, - }, - { - this->p_y_low_limbs_range_constraint_4, - this->p_y_low_limbs_range_constraint_tail, - this->p_y_high_limbs_range_constraint_0, - this->p_y_high_limbs_range_constraint_1, - this->p_y_high_limbs_range_constraint_2, - this->p_y_high_limbs_range_constraint_3, - this->p_y_high_limbs_range_constraint_4, - this->p_y_high_limbs_range_constraint_tail, - this->z_low_limbs_range_constraint_0, - this->z_low_limbs_range_constraint_1, - this->z_low_limbs_range_constraint_2, - this->z_low_limbs_range_constraint_3, - this->z_low_limbs_range_constraint_4, - this->z_low_limbs_range_constraint_tail, - this->z_high_limbs_range_constraint_0, - this->z_high_limbs_range_constraint_1, - }, - { - this->z_high_limbs_range_constraint_2, - this->z_high_limbs_range_constraint_3, - this->z_high_limbs_range_constraint_4, - this->z_high_limbs_range_constraint_tail, - this->accumulator_low_limbs_range_constraint_0, - this->accumulator_low_limbs_range_constraint_1, - this->accumulator_low_limbs_range_constraint_2, - this->accumulator_low_limbs_range_constraint_3, - this->accumulator_low_limbs_range_constraint_4, - this->accumulator_low_limbs_range_constraint_tail, - this->accumulator_high_limbs_range_constraint_0, - this->accumulator_high_limbs_range_constraint_1, - this->accumulator_high_limbs_range_constraint_2, - this->accumulator_high_limbs_range_constraint_3, - this->accumulator_high_limbs_range_constraint_4, - this->accumulator_high_limbs_range_constraint_tail, - }, - { - this->quotient_low_limbs_range_constraint_0, - this->quotient_low_limbs_range_constraint_1, - this->quotient_low_limbs_range_constraint_2, - this->quotient_low_limbs_range_constraint_3, - this->quotient_low_limbs_range_constraint_4, - this->quotient_low_limbs_range_constraint_tail, - this->quotient_high_limbs_range_constraint_0, - this->quotient_high_limbs_range_constraint_1, - this->quotient_high_limbs_range_constraint_2, - this->quotient_high_limbs_range_constraint_3, - this->quotient_high_limbs_range_constraint_4, - this->quotient_high_limbs_range_constraint_tail, - this->relation_wide_limbs_range_constraint_0, - this->relation_wide_limbs_range_constraint_1, - this->relation_wide_limbs_range_constraint_2, - this->relation_wide_limbs_range_constraint_3, - }, - { - this->p_x_low_limbs, - this->p_x_high_limbs, - this->p_y_low_limbs, - this->p_y_high_limbs, - this->z_low_limbs, - this->z_high_limbs, - this->accumulators_binary_limbs_0, - this->accumulators_binary_limbs_1, - this->accumulators_binary_limbs_2, - this->accumulators_binary_limbs_3, - this->quotient_low_binary_limbs, - this->quotient_high_binary_limbs, - this->relation_wide_limbs, - zero_value, // null padding slot 0 - zero_value, // null padding slot 1 - zero_value, // null padding slot 2 - }, - }; + return partition_minicircuit_wires_into_groups( + NonOpQueueWiresToBeShiftedEntities::get_all(), zero_value); }; }; @@ -726,108 +543,13 @@ class TranslatorFlavor { /** * @brief Get the shifted versions of minicircuit wires organized into 5 concatenation groups. - * @details Returns 5 groups of 16 shifted wires each, mirroring the structure of - * get_groups_to_be_concatenated(). Groups 0-3 are range constraint wires; group 4 is - * 13 non-range main wires (zero values used for null padding). + * @details Mirrors get_groups_to_be_concatenated() but with shifted wire entities. */ std::vector> get_groups_to_be_concatenated_shifted() { - // For null padding slots, we use DataType(0) which works for FF evaluations. - // The verifier only operates on evaluations, not polynomials. static DataType zero_value = DataType(0); - - return { - { - this->p_x_low_limbs_range_constraint_0_shift, - this->p_x_low_limbs_range_constraint_1_shift, - this->p_x_low_limbs_range_constraint_2_shift, - this->p_x_low_limbs_range_constraint_3_shift, - this->p_x_low_limbs_range_constraint_4_shift, - this->p_x_low_limbs_range_constraint_tail_shift, - this->p_x_high_limbs_range_constraint_0_shift, - this->p_x_high_limbs_range_constraint_1_shift, - this->p_x_high_limbs_range_constraint_2_shift, - this->p_x_high_limbs_range_constraint_3_shift, - this->p_x_high_limbs_range_constraint_4_shift, - this->p_x_high_limbs_range_constraint_tail_shift, - this->p_y_low_limbs_range_constraint_0_shift, - this->p_y_low_limbs_range_constraint_1_shift, - this->p_y_low_limbs_range_constraint_2_shift, - this->p_y_low_limbs_range_constraint_3_shift, - }, - { - this->p_y_low_limbs_range_constraint_4_shift, - this->p_y_low_limbs_range_constraint_tail_shift, - this->p_y_high_limbs_range_constraint_0_shift, - this->p_y_high_limbs_range_constraint_1_shift, - this->p_y_high_limbs_range_constraint_2_shift, - this->p_y_high_limbs_range_constraint_3_shift, - this->p_y_high_limbs_range_constraint_4_shift, - this->p_y_high_limbs_range_constraint_tail_shift, - this->z_low_limbs_range_constraint_0_shift, - this->z_low_limbs_range_constraint_1_shift, - this->z_low_limbs_range_constraint_2_shift, - this->z_low_limbs_range_constraint_3_shift, - this->z_low_limbs_range_constraint_4_shift, - this->z_low_limbs_range_constraint_tail_shift, - this->z_high_limbs_range_constraint_0_shift, - this->z_high_limbs_range_constraint_1_shift, - }, - { - this->z_high_limbs_range_constraint_2_shift, - this->z_high_limbs_range_constraint_3_shift, - this->z_high_limbs_range_constraint_4_shift, - this->z_high_limbs_range_constraint_tail_shift, - this->accumulator_low_limbs_range_constraint_0_shift, - this->accumulator_low_limbs_range_constraint_1_shift, - this->accumulator_low_limbs_range_constraint_2_shift, - this->accumulator_low_limbs_range_constraint_3_shift, - this->accumulator_low_limbs_range_constraint_4_shift, - this->accumulator_low_limbs_range_constraint_tail_shift, - this->accumulator_high_limbs_range_constraint_0_shift, - this->accumulator_high_limbs_range_constraint_1_shift, - this->accumulator_high_limbs_range_constraint_2_shift, - this->accumulator_high_limbs_range_constraint_3_shift, - this->accumulator_high_limbs_range_constraint_4_shift, - this->accumulator_high_limbs_range_constraint_tail_shift, - }, - { - this->quotient_low_limbs_range_constraint_0_shift, - this->quotient_low_limbs_range_constraint_1_shift, - this->quotient_low_limbs_range_constraint_2_shift, - this->quotient_low_limbs_range_constraint_3_shift, - this->quotient_low_limbs_range_constraint_4_shift, - this->quotient_low_limbs_range_constraint_tail_shift, - this->quotient_high_limbs_range_constraint_0_shift, - this->quotient_high_limbs_range_constraint_1_shift, - this->quotient_high_limbs_range_constraint_2_shift, - this->quotient_high_limbs_range_constraint_3_shift, - this->quotient_high_limbs_range_constraint_4_shift, - this->quotient_high_limbs_range_constraint_tail_shift, - this->relation_wide_limbs_range_constraint_0_shift, - this->relation_wide_limbs_range_constraint_1_shift, - this->relation_wide_limbs_range_constraint_2_shift, - this->relation_wide_limbs_range_constraint_3_shift, - }, - { - this->p_x_low_limbs_shift, - this->p_x_high_limbs_shift, - this->p_y_low_limbs_shift, - this->p_y_high_limbs_shift, - this->z_low_limbs_shift, - this->z_high_limbs_shift, - this->accumulators_binary_limbs_0_shift, - this->accumulators_binary_limbs_1_shift, - this->accumulators_binary_limbs_2_shift, - this->accumulators_binary_limbs_3_shift, - this->quotient_low_binary_limbs_shift, - this->quotient_high_binary_limbs_shift, - this->relation_wide_limbs_shift, - zero_value, // null padding slot 0 - zero_value, // null padding slot 1 - zero_value, // null padding slot 2 - }, - }; + return partition_minicircuit_wires_into_groups(NonOpQueueShiftedEntities::get_all(), + zero_value); }; }; @@ -954,12 +676,142 @@ class TranslatorFlavor { using Base::Base; }; - // Static consistency checks for entity counts - static_assert(PrecomputedEntities::_members_size == NUM_PRECOMPUTED_ENTITIES); - static_assert(NUM_ALL_ENTITIES == - NUM_MASKING_POLYNOMIALS + NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES + NUM_SHIFTED_ENTITIES); - static_assert(NUM_COMPUTABLE_PRECOMPUTED == NUM_PRECOMPUTED_ENTITIES - 1, - "All precomputed selectors except ordered_extra_range_constraints_numerator are computable"); + // ======================================== + // Derived entity counts (from entity class sizes) + // ======================================== + static constexpr size_t NUM_PRECOMPUTED_ENTITIES = PrecomputedEntities::_members_size; + static constexpr size_t NUM_WIRES_NON_SHIFTED = WireNonshiftedEntities::_members_size; + static constexpr size_t NUM_ORDERED_RANGE = OrderedRangeConstraints::_members_size; + + // Witness = WireNonshifted + WireToBeShifted + OrderedRange + Derived + Concatenated + static constexpr size_t NUM_WITNESS_ENTITIES = + WireNonshiftedEntities::_members_size + OpQueueWiresToBeShiftedEntities::_members_size + + NonRangeMainWires::_members_size + RangeConstraintWires::_members_size + + OrderedRangeConstraints::_members_size + DerivedWitnessEntities::_members_size + + ConcatenatedPolynomials::_members_size; + + // Shifted = OpQueueShifted + NonOpQueueShifted + DerivedShifted + static constexpr size_t NUM_SHIFTED_ENTITIES = OpQueueShiftedEntities::_members_size + + NonOpQueueShiftedEntities::_members_size + + DerivedShiftedEntities::_members_size; + + static constexpr size_t NUM_ALL_ENTITIES = + NUM_MASKING_POLYNOMIALS + NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES + NUM_SHIFTED_ENTITIES; + + // All precomputed selectors except ordered_extra_range_constraints_numerator are computable + static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = NUM_PRECOMPUTED_ENTITIES - 1; + + // Minicircuit wires: NonRangeMain + RangeConstraint (the non-op-queue wires that get shifted) + static constexpr size_t NUM_MINICIRCUIT_WIRES = + NonRangeMainWires::_members_size + RangeConstraintWires::_members_size; + static_assert(NUM_MINICIRCUIT_WIRES == NonOpQueueShiftedEntities::_members_size, + "Shifted minicircuit wires must match unshifted"); + // 77 unshifted + 77 shifted minicircuit wire evaluations are sent mid-sumcheck + static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = 2 * NUM_MINICIRCUIT_WIRES; + + // Number of evaluations sent in proof (all minus computable precomputed minus reconstructed concat evals) + static constexpr size_t NUM_SENT_EVALUATIONS = + NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED - NUM_CONCATENATED_POLYS; + static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = NUM_SENT_EVALUATIONS - NUM_MINICIRCUIT_EVALUATIONS; + + // Total number of minicircuit wires across all concatenation groups + static constexpr size_t NUM_CONCATENATED_WIRES = NUM_CONCATENATED_POLYS * CONCATENATION_GROUP_SIZE; + static_assert(ConcatenatedPolynomials::_members_size == NUM_CONCATENATED_POLYS); + static_assert(RangeConstraintWires::_members_size == (NUM_CONCATENATED_POLYS - 1) * CONCATENATION_GROUP_SIZE, + "Range constraint wires must fill exactly 4 concatenation groups"); + + // PCS batch sizes + static constexpr size_t NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED = WireNonshiftedEntities::_members_size + + OrderedRangeConstraints::_members_size + + DerivedWitnessEntities::_members_size; + static constexpr size_t NUM_TO_BE_SHIFTED = OpQueueWiresToBeShiftedEntities::_members_size + + OrderedRangeConstraints::_members_size + + DerivedWitnessEntities::_members_size; + static constexpr size_t NUM_PCS_UNSHIFTED = NUM_MASKING_POLYNOMIALS + + (NUM_PRECOMPUTED_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED) + + NUM_UNSHIFTED_WITNESSES_WITHOUT_CONCATENATED + NUM_CONCATENATED_POLYS; + static constexpr size_t NUM_PCS_TO_BE_SHIFTED = NUM_TO_BE_SHIFTED + NUM_CONCATENATED_POLYS; + + // Indices for partitioning AllEntities + static constexpr size_t TO_BE_SHIFTED_WITNESSES_START = NUM_PRECOMPUTED_ENTITIES + NUM_WIRES_NON_SHIFTED; + static constexpr size_t SHIFTED_WITNESSES_START = NUM_SHIFTED_ENTITIES + TO_BE_SHIFTED_WITNESSES_START; + + // Commitments sent in wire round: concatenated + ordered range constraints + static constexpr size_t NUM_COMMITMENTS_IN_PROOF = NUM_CONCATENATED_POLYS + NUM_ORDERED_RANGE; + + // A container to be fed to ShpleminiVerifier to avoid redundant scalar muls. + // Identifies commitments that appear in both the unshifted and shifted batches: + // Unshifted batch: masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) + concat(5) = 14 + // Shifted batch: op_queue(3) + ordered(5) + z_perm(1) + concat(5) = 14 + // Range 1: ordered(5) + z_perm(1) — stored indices 2..7 (unshifted) ↔ 16..21 (shifted) + // Range 2: concatenated(5) — stored indices 8..12 (unshifted) ↔ 22..26 (shifted) + // (Stored indices are 0-based after ZK offset; offset=2 accounts for Q_commitment + gemini_masking_poly) + static constexpr RepeatedCommitmentsData REPEATED_COMMITMENTS = + RepeatedCommitmentsData(2, + 2 + NUM_PCS_TO_BE_SHIFTED, + NUM_ORDERED_RANGE + 1, + 2 + NUM_ORDERED_RANGE + 1, + 2 + NUM_PCS_TO_BE_SHIFTED + NUM_ORDERED_RANGE + 1, + NUM_CONCATENATED_POLYS); + + static constexpr size_t PROOF_LENGTH = + /* 1. Gemini masking poly commitment */ (num_frs_comm) + + /* 2. Wire commitments: concatenated + ordered */ + (NUM_COMMITMENTS_IN_PROOF * num_frs_comm) + + /* 3. Z_PERM commitment */ (num_frs_comm) + + /* 4. Libra concatenation commitment */ (num_frs_comm) + + /* 5. Libra sum */ (num_frs_fr) + + /* 6. CONST_TRANSLATOR_LOG_N sumcheck univariates */ + (CONST_TRANSLATOR_LOG_N * BATCHED_RELATION_PARTIAL_LENGTH * num_frs_fr) + + /* 7. sumcheck evaluations (computable precomputed and concat evals excluded) */ + (NUM_SENT_EVALUATIONS * num_frs_fr) + + /* 8. Libra claimed evaluation */ (num_frs_fr) + + /* 9. Libra grand sum commitment */ (num_frs_comm) + + /* 10. Libra quotient commitment */ (num_frs_comm) + + /* 11. CONST_TRANSLATOR_LOG_N - 1 Gemini Fold commitments */ + ((CONST_TRANSLATOR_LOG_N - 1) * num_frs_comm) + + /* 12. CONST_TRANSLATOR_LOG_N Gemini a evaluations */ + (CONST_TRANSLATOR_LOG_N * num_frs_fr) + + /* 13. NUM_SMALL_IPA_EVALUATIONS libra evals */ (NUM_SMALL_IPA_EVALUATIONS * num_frs_fr) + + /* 14. Shplonk Q commitment */ (num_frs_comm) + + /* 15. KZG W commitment */ (num_frs_comm); + + /** + * @brief Partition minicircuit wire references into concatenation groups. + * @details Takes a flat list of minicircuit wire refs (NonRangeMain followed by RangeConstraint) + * and partitions them: groups 0..3 are sequential chunks of CONCATENATION_GROUP_SIZE range constraint wires, + * group 4 is the non-range main wires with zero-padding. + * Used by both get_groups_to_be_concatenated() and get_groups_to_be_concatenated_shifted(). + */ + template + static std::vector> partition_minicircuit_wires_into_groups(WireRefs wire_refs, + DataType& zero_value) + { + constexpr size_t num_non_range = NonRangeMainWires::_members_size; + constexpr size_t num_range = RangeConstraintWires::_members_size; + static_assert(num_range % CONCATENATION_GROUP_SIZE == 0); + constexpr size_t num_range_groups = num_range / CONCATENATION_GROUP_SIZE; + + std::vector> groups; + // Groups 0..num_range_groups-1: sequential chunks of range constraint wires + for (size_t g = 0; g < num_range_groups; g++) { + RefVector group; + for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { + group.push_back(wire_refs[num_non_range + g * CONCATENATION_GROUP_SIZE + j]); + } + groups.push_back(std::move(group)); + } + // Last group: non-range main wires + zero padding + RefVector group; + for (size_t j = 0; j < num_non_range; j++) { + group.push_back(wire_refs[j]); + } + for (size_t j = num_non_range; j < CONCATENATION_GROUP_SIZE; j++) { + group.push_back(zero_value); + } + groups.push_back(std::move(group)); + return groups; + } /** * @brief Compute the computable precomputed selector evaluations and write them into AllEntities. From 37e64baca89611fc8b6fbafdc15ec2620960d253 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Tue, 17 Feb 2026 17:04:22 +0000 Subject: [PATCH 17/24] upd chonk proof size constant --- docs/static/typescript-api/nightly/constants.md | 2 +- .../noir-protocol-circuits/crates/types/src/constants.nr | 2 +- yarn-project/constants/src/constants.gen.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/static/typescript-api/nightly/constants.md b/docs/static/typescript-api/nightly/constants.md index 34f0337cd35d..eac62993875b 100644 --- a/docs/static/typescript-api/nightly/constants.md +++ b/docs/static/typescript-api/nightly/constants.md @@ -1224,7 +1224,7 @@ type CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP_VK_INDEX = 17 ### CHONK_PROOF_LENGTH ```typescript -type CHONK_PROOF_LENGTH = 1935 +type CHONK_PROOF_LENGTH = 1632 ``` ### CHONK_VK_LENGTH_IN_FIELDS 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 d7f68a1f6a15..26b47d5dbec0 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr @@ -610,7 +610,7 @@ pub global ULTRA_KECCAK_PROOF_LENGTH: u32 = 331; // 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 CHONK_PROOF_LENGTH: u32 = 1935; +pub global CHONK_PROOF_LENGTH: u32 = 1632; 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 diff --git a/yarn-project/constants/src/constants.gen.ts b/yarn-project/constants/src/constants.gen.ts index 7942cbd204f7..3dd86a307731 100644 --- a/yarn-project/constants/src/constants.gen.ts +++ b/yarn-project/constants/src/constants.gen.ts @@ -236,7 +236,7 @@ export const IPA_PROOF_LENGTH = 64; export const ULTRA_KECCAK_PROOF_LENGTH = 331; export const RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 519; export const NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH = 519; -export const CHONK_PROOF_LENGTH = 1935; +export const CHONK_PROOF_LENGTH = 1632; export const ULTRA_VK_LENGTH_IN_FIELDS = 115; export const MEGA_VK_LENGTH_IN_FIELDS = 127; export const CHONK_VK_LENGTH_IN_FIELDS = 127; From 45ed5b7d072a7fab23617976465b14760570abf8 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Wed, 18 Feb 2026 10:08:26 +0000 Subject: [PATCH 18/24] clean up after the review --- .../commitment_schemes/shplonk/README.md | 25 +- .../ultra_recursive_verifier.test.cpp | 1 - .../translator_recursive_verifier.test.cpp | 11 - .../relation_correctness.test.cpp | 22 +- .../translator_concatenation_migration.md | 414 ------------------ .../translator_vm/translator_flavor.hpp | 2 - .../translator_vm/translator_selectors.hpp | 2 +- .../translator_vm/translator_verifier.cpp | 21 +- 8 files changed, 20 insertions(+), 478 deletions(-) delete mode 100644 barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/README.md b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/README.md index a0ce86ed9839..6d868b306096 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/README.md +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/README.md @@ -79,8 +79,7 @@ The `ShpleminiVerifier::compute_batch_opening_claim()` method orchestrates the f 3. Compute scalars for polynomial batches (via ClaimBatcher) ├─ Unshifted: s₀ = (1/(z−r) + ν/(z+r)) - ├─ Shifted: s₁ = r⁻¹ ⋅ (1/(z−r) − ν/(z+r)) - └─ Interleaved: special handling for Translator + └─ Shifted: s₁ = r⁻¹ ⋅ (1/(z−r) − ν/(z+r)) 4. Accumulate commitments and scalars ├─ Unshifted commitments with scalar: -ρⁱ ⋅ s₀ @@ -114,28 +113,6 @@ When a polynomial $ g $ is the "shift" of another polynomial $ f $ (i.e., $ g(X) The shifted scalar differs by a factor of $ r^{-1} $ and uses subtraction instead of addition, which comes from the Gemini relation for $ A_0 = F + G/X $. -### Handling Interleaved Polynomials (Translator) - -For the Translator flavor, a group of polynomials $ P_0, P_1, \ldots, P_{s-1} $ (where $ s $ is the group size) are combined via **interleaving** rather than standard batching. - -**note:** Our implemententation only supports $s$ values that are powers of 2. - -**Definitions:** -- $ P_+(X) = \sum_{i=0}^{s-1} r^i \cdot P_i(X) $ (partial evaluation with positive powers of $ r $) -- $ P_-(X) = \sum_{i=0}^{s-1} (-r)^i \cdot P_i(X) $ (partial evaluation with alternating sign powers) - -The full Gemini identity $ A_0(r) $ and $ A_0(-r) $ include contributions from these interleaved polynomials: -- $ A_0(r) = A_{0+}(r) + P_+(r^s) $ -- $ A_0(-r) = A_{0-}(-r) + P_-((-r)^s) $ - -**Prover sends:** The evaluations $ P_+(r^s) $ and $ P_-((-r)^s) $ via transcript labels `"Gemini:P_pos"` and `"Gemini:P_neg"`, where $s$ is the grouping size. - -**Scalar contribution:** These evaluations contribute to the constant term accumulator in Shplonk: - -$$\theta_{\text{interleaved}} = \frac{1}{z - r^s} \cdot \left( \nu^{2d} \cdot P_+(r^s) + \nu^{2d+1} \cdot P_-((-r)^s) \right)$$ - -where $ d = \text{virtual\_log\_n} $ and the interleaved claims use batching powers $ \nu^{2d} $ and $ \nu^{2d+1} $ (placed after all Gemini fold claims in the batching order) - ### Key Features - **Batch Opening**: Combines multiple polynomial commitments into one claim diff --git a/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp index 01245164aca8..c2c9eee1da38 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/honk_verifier/ultra_recursive_verifier.test.cpp @@ -456,7 +456,6 @@ template class RecursiveVerifierTest : public testing::Test { EXPECT_EQ(cc.size(), 1); // Expected variables in one gate: - // - +1 for unused Shplonk power (non-ZK flavors only) size_t expected_unconstrained = 0; EXPECT_EQ(variables_in_one_gate.size(), expected_unconstrained); } diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp index 36f442769bbe..832cf1e56863 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp @@ -295,17 +295,6 @@ class TranslatorRecursiveTests : public ::testing::Test { auto graph = cdg::UltraStaticAnalyzer(outer_circuit); auto [cc, variables_in_one_gate] = graph.analyze_circuit(/*filter_cc=*/true); - for (auto var_idx : variables_in_one_gate) { - auto real_idx = outer_circuit.real_variable_index[var_idx]; - info("Variable in one gate: var_idx=", - var_idx, - " real_idx=", - real_idx, - " value=", - outer_circuit.get_variable(var_idx)); - graph.print_variable_info(real_idx); - } - EXPECT_EQ(variables_in_one_gate.size(), 0); } }; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp index f70d1dfaa076..2c25743a1f7a 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/relation_correctness.test.cpp @@ -35,14 +35,6 @@ TEST_F(TranslatorRelationCorrectnessTests, TranslatorExtraRelationsCorrectness) // Create storage for polynomials ProverPolynomials prover_polynomials; constexpr size_t mini_circuit_size_without_masking = TranslatorProvingKey::dyadic_mini_circuit_size_without_masking; - constexpr size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; - - // Reallocate lagrange polynomials to full circuit size for manual testing - prover_polynomials.lagrange_even_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_odd_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_result_row = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_last_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); - // Fill in lagrange even and odd polynomials (only in first minicircuit, not the full concatenated circuit) for (size_t i = Flavor::RESULT_ROW; i < mini_circuit_size_without_masking; i += 2) { prover_polynomials.lagrange_even_in_minicircuit.at(i) = 1; @@ -114,14 +106,12 @@ TEST_F(TranslatorRelationCorrectnessTests, Decomposition) ProverPolynomials prover_polynomials; constexpr size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; - // Reallocate lagrange polynomials to full circuit size for manual testing + // Reallocate to start at index 0: the constructor allocates lagrange_odd starting at RESULT_ROW+1, + // but this test needs it filled from index 0 to cover the full decomposition check range. prover_polynomials.lagrange_odd_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); - auto lagrange_odd_in_minicircuit = prover_polynomials.lagrange_odd_in_minicircuit; // Fill in lagrange odd polynomial (the only non-witness one we are using) - for (size_t i = prover_polynomials.lagrange_odd_in_minicircuit.start_index(); - i < lagrange_odd_in_minicircuit.end_index(); - i += 2) { + for (size_t i = 0; i < full_circuit_size; i += 2) { prover_polynomials.lagrange_odd_in_minicircuit.at(i) = 1; } @@ -535,12 +525,6 @@ TEST_F(TranslatorRelationCorrectnessTests, NonNative) // Create storage for polynomials ProverPolynomials prover_polynomials = TranslatorFlavor::ProverPolynomials(); - constexpr size_t full_circuit_size = Flavor::MINI_CIRCUIT_SIZE * Flavor::CONCATENATION_GROUP_SIZE; - - // Reallocate lagrange polynomials to full circuit size for manual testing - prover_polynomials.lagrange_even_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); - prover_polynomials.lagrange_odd_in_minicircuit = typename Flavor::Polynomial(full_circuit_size); - // Copy values of wires used in the non-native field relation from the circuit builder for (size_t i = Builder::NUM_NO_OPS_START + Builder::NUM_RANDOM_OPS_START; i < circuit_builder.num_gates() - Builder::NUM_RANDOM_OPS_END; diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md b/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md deleted file mode 100644 index 98ab97942cd6..000000000000 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_concatenation_migration.md +++ /dev/null @@ -1,414 +0,0 @@ -# Translator: Concatenated Polynomial Commitments & Computable Precomputed Selectors - -## Overview - -Two optimizations reduce the Translator proof size and verifier cost: - -1. **Concatenation**: Replace 77 individual minicircuit wire commitments with 5 concatenated - polynomial commitments. The prover still evaluates individual wires in Sumcheck; the verifier - reconstructs concatenated evaluations from wire evaluations using Lagrange decomposition. - -2. **Computable precomputed selectors**: 10 of 11 precomputed selectors are structured multilinear - polynomials whose evaluations at the sumcheck challenge can be computed in O(d) field ops. The - prover skips sending these 10 evaluations; the verifier computes them locally. - -**Net savings**: -- 72 fewer group element commitments (83 → 11) -- 12 fewer FR evaluations in proof -- 12 fewer MSMs in verifier PCS - ---- - -## Part 1: Concatenation - -### Previous Commitment Structure - -| Category | Count | Size | Shifted? | Concatenatable? | -|---|---|---|---|---| -| Range constraint wires | 64 | MINI | Yes | Yes | -| Non-range main wires | 13 | MINI | Yes | Yes | -| Ordered range constraints | 5 | N (full) | Yes | No | -| z_perm | 1 | N (full) | Yes | No | -| **Total** | **83** | | | | - -- `MINI = MINI_CIRCUIT_SIZE`, `N = 16 * MINI` (full circuit domain). -- 4 **interleaved** polynomials constructed post-hoc (not committed); their openings were - verified via Shplemini's `InterleavedBatch` using the 64 range constraint commitments. -- The interleaving mapped `interleaved[k*16 + j] = source_wire_j[k]`. - -### Why Interleaving Cannot Replace Individual Commitments - -**Interleaving cannot be used in the reverse direction** (from grouped commitment to individual -evaluations). The fundamental issue is a structural mismatch between how source wires and -interleaved polynomials encode row information. - -For N-sized zero-padded source wires, non-zero entries lie in `[0, MINI)`, so the upper bits -(`d-4` through `d-1`) are always 0: - -``` -source_j(u) = Π_{i=d-4}^{d-1} (1-u_i) · source_j^mini(u_0, ..., u_{d-5}) -``` - -For the interleaved polynomial (lane bits `j` as LSB): - -``` -interleaved(u) = Σ_j L_j(u_0..u_3) · source_j^mini(u_4, ..., u_{d-1}) -``` - -The two appearances of `source_j^mini` are at **different evaluation points**: -- `(u_0, ..., u_{d-5})` in the source wire decomposition -- `(u_4, ..., u_{d-1})` in the interleaved decomposition - -These are generally unequal. The verifier cannot reconstruct `interleaved(u)` from -the Sumcheck evaluations `source_j(u)`. - -### Concatenation: Lane Bits as MSB - -Replace 77 individual minicircuit wire commitments with 5 **concatenated** polynomials: - -``` -concatenated_i[j * MINI + k] = group_i_wire_j[k] -``` - -Lane bits are MSB (positions `d-4` through `d-1`), row bits are LSB (positions `0` through -`d-5`). This makes the decomposition compatible: - -``` -concat_i(u) = Σ_j L_j(u_{d-4}..u_{d-1}) · source_j^mini(u_0..u_{d-5}) - = [1/padding] · Σ_j L_j(u_top) · source_j(u) -``` - -where `padding = Π_{i=d-4}^{d-1} (1-u_i)`. Both use `source_j^mini(u_0..u_{d-5})` — the -**same evaluation point**. The verifier can reconstruct `concat_i(u)` from individual -`source_j(u)` evaluations. - -### Concatenation Groups - -| Group | Contents | Batch size | -|---|---|---| -| 0 | Range constraint wires: `p_x_low_0..tail`, `p_x_high_0..tail`, `p_y_low_0..3` | 16 | -| 1 | Range constraint wires: `p_y_low_4..tail`, `p_y_high_0..tail`, `z_low_0..tail`, `z_high_0..1` | 16 | -| 2 | Range constraint wires: `z_high_2..tail`, `acc_low_0..tail`, `acc_high_0..tail` | 16 | -| 3 | Range constraint wires: `quot_low_0..tail`, `quot_high_0..tail`, `rel_wide_0..3` | 16 | -| 4 | Non-range main wires (13) + 3 null padding (zero) | 16 | - -**File:** `translator_flavor.hpp` — `WitnessEntities::get_groups_to_be_concatenated()` - -### Pure Concatenation Requirement - -The concatenated polynomial **must** be a faithful concatenation of the source wires. -Sumcheck evaluates individual source wire polynomials, and the PCS proves these -evaluations by opening the concatenated commitment. Chunk evaluations derived from the -concatenated commitment must exactly match the source wire evaluations. Any modification -to the concatenated polynomial would break this chain. - -**File:** `translator_proving_key.cpp` — `compute_concatenated_polynomials()` - -### Zero 0th Coefficient for Shiftable Chunks - -**All minicircuit wires in concatenated groups satisfy `f_j[0] = 0`.** - -This is required for soundness of the **shifted evaluation decomposition** from the -concatenated commitment. The global shift of a concatenated polynomial has cross-boundary -terms: - -``` -concat_shift[j*MINI + k] = concat[j*MINI + k + 1] - = f_j[k+1] for k < MINI-1 - = f_{j+1}[0] for k = MINI-1 ← cross-boundary term -``` - -If `f_{j+1}[0] = 0` for all `j`, the cross-boundary terms vanish and the shifted -concatenated polynomial decomposes cleanly: - -``` -concat_shift(u) = [1/padding] · Σ_j L_j(u_top) · f_j_shift(u) -``` - -enabling the verifier to reconstruct `concat_shift(u)` from individual `f_j_shift(u)` -evaluations. - -The honest prover constructs all minicircuit wires with `start_index = 1`, so `f_j[0] = 0` -holds by construction. The existing zero constraint (`TranslatorZeroConstraintsRelation`) -enforces `wire = 0` outside the active minicircuit region `[RESULT_ROW, MINI - NUM_MASKED)`, -which covers row 0. Note that both `lagrange_even_in_minicircuit` and -`lagrange_odd_in_minicircuit` are zero at row 0, so the zero constraint is active there. - ---- - -## What Does NOT Change (Relations) - -### Decomposition Relation -- References individual range constraint wires (block 0 of the domain). -- Uses `lagrange_even_in_minicircuit`. **No change.** - -### Non-Native Field Relation -- Uses limb wires with shifts. Uses `lagrange_even_in_minicircuit`. **No change.** - -### Accumulator Transfer Relation -- Uses `lagrange_odd_in_minicircuit`, `lagrange_result_row`, `lagrange_last_in_minicircuit`. -- All in block 0. **No change.** - -### Zero Constraint Relation -- Enforces range constraint wires = 0 outside minicircuit+masking region. -- Operates on individual wires (block 0). **No change.** - -### Opcode Constraint -- Uses `lagrange_even_in_minicircuit`, `lagrange_mini_masking`. **No change.** - ---- - -## What Changed - -### 1. Masking Layout: Scattered vs. Contiguous - -With concatenation, masking rows in the **concatenated** polynomials are scattered: the last -`NUM_MASKED_ROWS_END` rows of each of the 16 blocks, i.e., positions -`{j * MINI + k : j ∈ [0,16), k ∈ [MINI - NUM_MASKED_ROWS_END, MINI)}`. - -In the **ordered** polynomials, masking values are placed **contiguously at the end**: -the last `MAX_RANDOM_VALUES_PER_ORDERED` positions (= `16 * NUM_MASKED_ROWS_END = 64`). - -This asymmetry requires **two separate masking selectors**: - -| Selector | Where active | Used by | -|---|---|---| -| `lagrange_masking` | Scattered (end of each of 16 blocks) | Permutation numerator (concatenated polys) | -| `lagrange_ordered_masking` | Contiguous (last 64 rows) | Permutation denominator + extra numerator (ordered polys) | - -**File:** `translator_proving_key.cpp` — `compute_lagrange_polynomials()` - -### 2. Permutation Relation: Dual Masking Selectors - -The permutation numerator uses `lagrange_masking * β` for the 4 concatenated range constraint -factors and `lagrange_ordered_masking * β` for the extra numerator factor. The denominator -uses `lagrange_ordered_masking * β` for all 5 ordered factors. - -``` -P(X) = Π_{i=0:3} (concat_range_i(X) + lagrange_masking·β + γ) - · (extra_numerator(X) + lagrange_ordered_masking·β + γ) - -Q(X) = Π_{i=0:4} (ordered_i(X) + lagrange_ordered_masking·β + γ) -``` - -The `lagrange_masking * β` terms ensure masking positions contribute unique values to the grand -product, preventing information leakage. The multiset check is order-independent: the non-masking -multisets match between numerator and denominator. Masking positions are excluded from the check -via the beta-separation term. - -**Files:** `translator_permutation_relation.hpp`, `translator_permutation_relation_impl.hpp` - -### 3. Delta Range Constraint: Ordered Masking Disable - -The delta range constraint checks `ordered[i+1] - ordered[i] ∈ {0,1,2,3}` at each row. -With contiguous masking at the end of ordered polynomials, the constraint must be disabled -at masking positions AND at the `lagrange_real_last` row (where we enforce the maximum value). - -The disable condition uses a linear form with disjoint-support selectors: - -```cpp -not_last_or_masking = lagrange_real_last + lagrange_ordered_masking - 1 -// = 0 (disabled) when either is 1 (disjoint support, so at most one is 1) -// = -1 (enabled) otherwise -``` - -`lagrange_real_last` marks position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1`, which -is the last non-masking row where we enforce `ordered_value = 2^14 - 1`. - -**Files:** `translator_delta_range_constraint_relation.hpp`, `..._impl.hpp` - -### 4. Ordered Polynomial Construction - -**File:** `translator_proving_key.cpp` — `compute_translator_range_constraint_ordered_polynomials()` - -Ordered polynomials contain sorted values from the concatenated range constraint wires plus -"step" padding values. The structure: - -- Positions `[1, circuit_size - MAX_RANDOM_VALUES_PER_ORDERED)`: sorted values (non-descending) -- Position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1`: maximum value `2^14 - 1` - (enforced by `lagrange_real_last`) -- Positions `[circuit_size - MAX_RANDOM_VALUES_PER_ORDERED, circuit_size)`: random masking values -- Position 0: virtual zero (start_index = 1) - -Values from each concatenation group are packed tightly (excluding masking rows), sorted, then -placed into ordered polynomials. Overflow from the first 4 groups goes into `ordered_range_constraints_4`. - -### 6. Random Value Distribution - -**File:** `translator_proving_key.cpp` — `split_concatenated_random_coefficients_to_ordered()` - -Random masking values are extracted from the scattered positions of the first 4 concatenated -range constraint polynomials (the ones in the permutation numerator) and distributed to the 5 -ordered polynomials at the **contiguous** end positions. Each ordered polynomial gets -approximately `total_random / 5` values. - -### 7. Flavor: Entity Classes and Commitment Structure - -**File:** `translator_flavor.hpp` - -- `ConcatenatedPolynomials`: 5 concatenated polys (4 range + 1 non-range) -- `WitnessEntities` includes `ConcatenatedPolynomials` and provides: - - `get_non_opqueue_wires_and_ordered_range_constraints()`: returns 5 concatenated + 5 ordered = 10 - (these are committed to by the prover) - - `get_unshifted_without_concatenated()`: op(1) + ordered(5) + z_perm(1) = 7 witness entries - for standard PCS batching - - `get_to_be_shifted()`: op_queue(3) + ordered(5) + z_perm(1) = 9 shifted-by-1 entries for PCS - - `get_groups_to_be_concatenated()`: 5 groups of 16 wires each -- `ShiftedEntities` provides: - - `get_pcs_shifted()`: op(3) + ordered(5) + z_perm(1) = 9 shifted evaluations for PCS - - `get_groups_to_be_concatenated_shifted()`: 5 groups of 16 shifted wires each -- `AllEntities::get_unshifted_without_concatenated()`: masking(1) + ordered_extra(1) + witness(7) = 9 - entries for PCS (12 computable precomputed excluded) - -### 8. Prover: Commitment + PCS Rounds - -**File:** `translator_prover.cpp` - -- `execute_wire_and_sorted_constraints_commitments_round()`: commits to 10 polynomials - (5 concatenated + 5 ordered) instead of 82 (77 wires + 5 ordered). -- `execute_pcs_rounds()`: uses `PolynomialBatcher` with: - - Unshifted: `get_unshifted_without_concatenated()` (9) + concatenated (5) = 14 - - Shifted: `get_to_be_shifted()` (9) + concatenated (5) = 14 - - Concatenated polys appear in both unshifted and shifted batches (they need both claims) - -### 9. Verifier: Concatenation Consistency Check + PCS - -**File:** `translator_verifier.cpp` - -The verifier reconstructs concatenated evaluations (both unshifted and shifted) from individual -wire evaluations using Lagrange decomposition over the top 4 sumcheck challenges: - -``` -concat_i(u) = [1/L_0(u_top)] · Σ_j L_j(u_top) · wire_j(u) -``` - -where `L_0(u_top) = Π_{i=0}^3 (1 - u_top[i])` and `L_j` is the Lagrange basis over 4 bits. - -The shifted version uses the same formula with shifted wire evaluations (valid because `f_j[0] = 0`). - -Claims are batched without `InterleavedBatch`: -- Unshifted: standard unshifted (9) + concatenated (5) = 14 -- Shifted: standard shifted (9) + concatenated shifts (5) = 14 - ---- - -## Part 2: Computable Precomputed Selectors - -### Precomputed Entities (13 total) - -| # | Selector | Computable? | Structure | -|---|---|---|---| -| 0 | `ordered_extra_range_constraints_numerator` | No | Non-structured data | -| 1 | `lagrange_first` | Yes | Single point: row 0 | -| 2 | `lagrange_last` | Yes | Single point: row N-1 | -| 3 | `lagrange_odd_in_minicircuit` | Yes | Alternating rows in block 0 | -| 4 | `lagrange_even_in_minicircuit` | Yes | Alternating rows in block 0 | -| 5 | `lagrange_result_row` | Yes | Single point: row RESULT_ROW | -| 6 | `lagrange_last_in_minicircuit` | Yes | Single point | -| 7 | `lagrange_masking` | Yes | Subcube: bits m..M-1 = 1 | -| 8 | `lagrange_mini_masking` | Yes | Two disjoint blocks in block 0 | -| 9 | `lagrange_real_last` | Yes | Single point: row N-MAX_RANDOM-1 | -| 10 | `lagrange_ordered_masking` | Yes | Subcube: bits R..D-1 = 1 | - -All 10 computable selectors are structured multilinear polynomials whose support forms subcubes -or small unions of subcubes. Their evaluations at the sumcheck challenge can be computed in O(d) -field operations. - -**File:** `translator_selectors.hpp` — `TranslatorSelectorEvaluations::compute()` - -### Soundness Argument - -Precomputed polynomials are deterministic (fixed by the VK). Their evaluations at any point are -publicly computable. PCS verification of precomputed commitments is redundant — Sumcheck's -relation check already ensures consistency between claimed evaluations and the actual polynomial -identities. Any forgery of witness evaluations would still be caught by the witness PCS. - -### Implementation - -**Flavor constants** (`translator_flavor.hpp`): -```cpp -static constexpr size_t NUM_COMPUTABLE_PRECOMPUTED = 11; -static constexpr size_t COMPUTABLE_PRECOMPUTED_OFFSET = NUM_MASKING_POLYNOMIALS + 1; // = 2 -static constexpr size_t NUM_SENT_EVALUATIONS = NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED; // = 180 -``` - -**Prover** (`sumcheck.hpp`): sends `NUM_SENT_EVALUATIONS` instead of `NUM_ALL_ENTITIES`: -```cpp -if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { - auto filtered = Flavor::get_all_without_computable_precomputed(multivariate_evaluations); - transcript->send_to_verifier("Sumcheck:evaluations", filtered); -} -``` - -**Verifier** (`sumcheck.hpp`): receives fewer evals and computes the rest locally: -```cpp -if constexpr (requires { Flavor::NUM_COMPUTABLE_PRECOMPUTED; }) { - auto transcript_evals = transcript->template receive_from_prover< - std::array>("Sumcheck:evaluations"); - Flavor::set_all_without_computable_precomputed(purported_evaluations, transcript_evals); - Flavor::compute_computable_precomputed(purported_evaluations, multivariate_challenge); -} -``` - -**PCS**: `get_unshifted_without_concatenated()` at the `AllEntities` level returns 9 entries -(masking + ordered_extra + witness), excluding all 12 computable precomputed. This means 12 -fewer scalar multiplications in the verifier's batch opening check. - ---- - -## Summary of Changes from Interleaving - -| Component | Change | -|---|---| -| `lagrange_masking` | Scattered across 16 blocks (end of each block) | -| New: `lagrange_ordered_masking` | Precomputed = contiguous at end (for ordered polys) | -| `lagrange_real_last` | Position `circuit_size - MAX_RANDOM_VALUES_PER_ORDERED - 1` | -| Permutation relation | Dual masking selectors (scattered for numerator, contiguous for denominator) | -| Delta range constraint | Uses `lagrange_real_last + lagrange_ordered_masking - 1` (linear form) | -| Ordered polynomial construction | Contiguous masking at end; sorted values packed before | -| `compute_interleaved_polynomials()` → `compute_concatenated_polynomials()` | MSB-lane concatenation | -| `split_interleaved_..._to_ordered()` → `split_concatenated_..._to_ordered()` | Extract from scattered, place contiguous | -| Flavor entity classes | `ConcatenatedPolynomials`, null-padded group 4, dual getters | -| Prover commitment round | 10 commitments (5 concat + 5 ordered) | -| Prover PCS round | 14 unshifted + 14 shifted (standard + concatenated) | -| Verifier PCS | Lagrange reconstruction of concat evals; no InterleavedBatch | -| Sumcheck (prover) | Sends `NUM_SENT_EVALUATIONS` (12 computable precomputed excluded) | -| Sumcheck (verifier) | Receives fewer evals; computes 10 precomputed locally | -| PCS batching | 12 fewer MSMs (computable precomputed excluded) | - -## Commitment Count Summary - -| | Before (interleaving) | After (concatenation) | -|---|---|---| -| Range constraint wires | 64 | 0 (in 4 concat groups) | -| Non-range main wires | 13 | 0 (in 1 concat group) | -| Concatenated commitments | 0 | 5 | -| Ordered range constraints | 5 | 5 | -| z_perm | 1 | 1 | -| **Total** | **83** | **11** | - -## Entity Count Summary - -| | Count | Notes | -|---|---|---| -| `NUM_ALL_ENTITIES` | 192 | Masking(1) + Precomputed(13) + Witness(92) + Shifted(86) | -| `NUM_SENT_EVALUATIONS` | 180 | `NUM_ALL_ENTITIES - NUM_COMPUTABLE_PRECOMPUTED` | -| `NUM_PRECOMPUTED_ENTITIES` | 13 | 1 non-computable + 12 computable | -| Unshifted for PCS | 9 | Masking(1) + ordered_extra(1) + op(1) + ordered(5) + z_perm(1) | -| Shifted for PCS | 9 | op_queue(3) + ordered(5) + z_perm(1) | -| Concatenated (both claims) | 5 | Appear in both unshifted and shifted PCS batches | - -## Critical Files - -| File | Changes | -|---|---| -| `translator_vm/translator_selectors.hpp` | `TranslatorSelectorEvaluations`: computes 10 selectors + `populate()` | -| `translator_vm/translator_flavor.hpp` | Entity classes, constants, static methods, `PROOF_LENGTH` | -| `translator_vm/translator_proving_key.hpp` | Concatenation/ordering parameters | -| `translator_vm/translator_proving_key.cpp` | Concatenation, ordered polys, Lagrange polys, random distribution | -| `translator_vm/translator_prover.cpp` | Commitment round (10 polys), PCS round (14+14) | -| `translator_vm/translator_verifier.cpp` | Lagrange reconstruction, dual claim batching | -| `stdlib/translator_vm_verifier/translator_recursive_flavor.hpp` | Forwarded constants and methods | -| `sumcheck/sumcheck.hpp` | Prover: filtered eval send; Verifier: filtered receive + compute | -| `relations/translator_vm/translator_permutation_relation*.hpp` | Dual masking selectors | -| `relations/translator_vm/translator_delta_range_constraint_relation*.hpp` | `lagrange_real_last + lagrange_ordered_masking` | diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 492ddab04c1f..373807ba4a4b 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -581,8 +581,6 @@ class TranslatorFlavor { WitnessEntities, ShiftedEntities) - auto get_precomputed() const { return PrecomputedEntities::get_all(); }; - /** * @brief Getter for concatenated polynomials */ diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp index 99b09f4d998c..4c0b48c3fb65 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_selectors.hpp @@ -219,7 +219,7 @@ template struct TranslatorSelectorEv } /** - * @brief Write all 11 computed evaluations into any entity struct with matching named fields. + * @brief Write all 10 computed evaluations into any entity struct with matching named fields. * @details Works for AllValues, AllEntities, PrecomputedEntities, native or stdlib. */ template void populate(Entities& target) const diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp index 54f080304ce2..7aa36240939d 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_verifier.cpp @@ -117,7 +117,6 @@ void put_translation_data_in_relation_parameters_impl(RelationParameters void TranslatorVerifier_::put_translation_data_in_relation_parameters() @@ -155,12 +154,13 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template receive_from_prover("Gemini:masking_poly_comm"); - // Op queue wire commitments are provided by merge protocol, not from the translator proof + // Set op queue wire commitments (provided by merge protocol, not from translator proof) commitments.op = op_queue_wire_commitments[0]; commitments.x_lo_y_hi = op_queue_wire_commitments[1]; commitments.x_hi_z_1 = op_queue_wire_commitments[2]; @@ -172,16 +172,21 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template receive_from_prover(label); } - // Permutation challenges + // Get permutation challenges FF beta = transcript->template get_challenge("beta"); FF gamma = transcript->template get_challenge("gamma"); + relation_parameters.beta = beta; relation_parameters.gamma = gamma; + // Get commitment to permutation and lookup grand products commitments.z_perm = transcript->template receive_from_prover(commitment_labels.z_perm); - // --- Sumcheck --- + // Each linearly independent subrelation contribution is multiplied by `alpha^i`, where + // i = 0, ..., NUM_SUBRELATIONS- 1. const FF alpha = transcript->template get_challenge("Sumcheck:alpha"); + + // Execute Sumcheck Verifier Sumcheck sumcheck(transcript, alpha, TranslatorFlavor::CONST_TRANSLATOR_LOG_N); std::vector gate_challenges(TranslatorFlavor::CONST_TRANSLATOR_LOG_N); @@ -189,14 +194,15 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_template get_challenge("Sumcheck:gate_challenge_" + std::to_string(idx)); } - // Receive first Libra commitment before sumcheck + // Receive commitments to Libra masking polynomials std::array libra_commitments = {}; libra_commitments[0] = transcript->template receive_from_prover("Libra:concatenation_commitment"); + // Create padding indicator array std::vector padding_indicator_array(TranslatorFlavor::CONST_TRANSLATOR_LOG_N, FF(1)); + auto sumcheck_output = sumcheck.verify(relation_parameters, gate_challenges, padding_indicator_array); - // Receive remaining Libra commitments after sumcheck libra_commitments[1] = transcript->template receive_from_prover("Libra:grand_sum_commitment"); libra_commitments[2] = transcript->template receive_from_prover("Libra:quotient_commitment"); @@ -245,6 +251,9 @@ typename TranslatorVerifier_::ReductionResult TranslatorVerifier_ Date: Wed, 18 Feb 2026 16:11:12 +0100 Subject: [PATCH 19/24] fix: upd toml files broken by translator revision (#20612) was needed to avoid inflating the diff in the parent pr --- ...est_chonk_standalone_vks_havent_changed.sh | 2 +- .../dsl/acir_proofs/honk_zk_contract.hpp | 1 - ..._two_layer_avm_recursive_verifier.test.cpp | 4 +- .../sol/src/honk/BaseZKHonkVerifier.sol | 2 - .../crates/private-kernel-init/Prover.toml | 96 +- .../crates/private-kernel-inner/Prover.toml | 226 +- .../crates/private-kernel-reset/Prover.toml | 54 +- .../private-kernel-tail-to-public/Prover.toml | 44 +- .../crates/private-kernel-tail/Prover.toml | 154 +- .../crates/rollup-block-merge/Prover.toml | 414 +-- .../Prover.toml | 188 +- .../Prover.toml | 416 +-- .../rollup-block-root-first/Prover.toml | 658 ++-- .../rollup-block-root-single-tx/Prover.toml | 210 +- .../crates/rollup-block-root/Prover.toml | 404 +-- .../rollup-checkpoint-merge/Prover.toml | 518 +-- .../Prover.toml | 478 +-- .../crates/rollup-checkpoint-root/Prover.toml | 466 +-- .../crates/rollup-root/Prover.toml | 522 +-- .../crates/rollup-tx-base-private/Prover.toml | 3189 ++++++++--------- .../crates/rollup-tx-base-public/Prover.toml | 280 +- .../crates/rollup-tx-merge/Prover.toml | 404 +-- 22 files changed, 4211 insertions(+), 4519 deletions(-) diff --git a/barretenberg/cpp/scripts/test_chonk_standalone_vks_havent_changed.sh b/barretenberg/cpp/scripts/test_chonk_standalone_vks_havent_changed.sh index f38dfba08b16..006aa12d6626 100755 --- a/barretenberg/cpp/scripts/test_chonk_standalone_vks_havent_changed.sh +++ b/barretenberg/cpp/scripts/test_chonk_standalone_vks_havent_changed.sh @@ -13,7 +13,7 @@ cd .. # - Generate a hash for versioning: sha256sum bb-chonk-inputs.tar.gz # - Upload the compressed results: aws s3 cp bb-chonk-inputs.tar.gz s3://aztec-ci-artifacts/protocol/bb-chonk-inputs-[hash(0:8)].tar.gz # Note: In case of the "Test suite failed to run ... Unexpected token 'with' " error, need to run: docker pull aztecprotocol/build:3.0 -pinned_short_hash="600b85bd" +pinned_short_hash="53ce2d4f" pinned_chonk_inputs_url="https://aztec-ci-artifacts.s3.us-east-2.amazonaws.com/protocol/bb-chonk-inputs-${pinned_short_hash}.tar.gz" script_path="$(cd "$(dirname "${BASH_SOURCE[0]}")/scripts" && pwd)/$(basename "${BASH_SOURCE[0]}")" diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp index dff1b0f67af6..d94819f1ce6c 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_zk_contract.hpp @@ -2175,7 +2175,6 @@ abstract contract BaseZKHonkVerifier is IVerifier { mem.denominators[2] = mem.denominators[0]; mem.denominators[3] = mem.denominators[0]; - mem.batchingChallenge = mem.batchingChallenge * tp.shplonkNu * tp.shplonkNu; for (uint256 i = 0; i < LIBRA_EVALUATIONS; i++) { Fr scalingFactor = mem.denominators[i] * mem.batchingChallenge; mem.batchingScalars[i] = scalingFactor.neg(); diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/recursion/graph_description_two_layer_avm_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/recursion/graph_description_two_layer_avm_recursive_verifier.test.cpp index 65380d8b5d1a..e463c7ad24a7 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/recursion/graph_description_two_layer_avm_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/recursion/graph_description_two_layer_avm_recursive_verifier.test.cpp @@ -114,9 +114,7 @@ TEST_F(BoomerangTwoLayerAvmRecursiveVerifierTests, graph_description_basic) info("Recursive Verifier: num gates = ", builder.num_gates()); auto graph = cdg::StaticAnalyzer(builder, false); auto variables_in_one_gate = graph.get_variables_in_one_gate(); - // The variable in one gate is the last Shplonk power we compute. It is computed even though it is not used because - // of how the PCS is structured (more precisely, because of the interaction between gemini and interleaving). - EXPECT_EQ(variables_in_one_gate.size(), 1); + EXPECT_EQ(variables_in_one_gate.size(), 0); } } // namespace bb::stdlib::recursion::honk diff --git a/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol b/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol index 8ef1a521b511..48ad23e81b6e 100644 --- a/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol +++ b/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol @@ -431,8 +431,6 @@ abstract contract BaseZKHonkVerifier is IVerifier { mem.denominators[2] = mem.denominators[0]; mem.denominators[3] = mem.denominators[0]; - // Artifact of interleaving, see TODO(https://github.com/AztecProtocol/barretenberg/issues/1293): Decouple Gemini from Interleaving - mem.batchingChallenge = mem.batchingChallenge * tp.shplonkNu * tp.shplonkNu; for (uint256 i = 0; i < LIBRA_EVALUATIONS; i++) { Fr scalingFactor = mem.denominators[i] * mem.batchingChallenge; mem.batchingScalars[i] = scalingFactor.neg(); 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 213e8c771838..17dbc9c17ac7 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-init/Prover.toml @@ -1,18 +1,18 @@ -vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" +vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" is_private_only = false -first_nullifier_hint = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" +first_nullifier_hint = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" revertible_counter_hint = "0x0000000000000000000000000000000000000000000000000000000000000005" [tx_request] -args_hash = "0x1ef77ab685a94f2af821f59918d60249e455f438658f035626b631f599ce5a6d" -salt = "0x12204f06cc577b3d3c241398fe17e9ed14fab010e798f8c7b99376a2d6284108" +args_hash = "0x04766a8cbf1a68801a3b28365f555fd1d4b4dffcd8ced14a68b38ae48f8e4cf0" +salt = "0x14dc0de75c4acb1f2b629081b4027afdc91c09b6e02287c34c8f105952ae99f1" [tx_request.origin] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [tx_request.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [tx_request.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -24,7 +24,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [tx_request.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [tx_request.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -223,39 +223,39 @@ updated_class_id_delayed_public_mutable_values = [ ] [private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x280ef4df058bcf18f4860d62c462f0f9daccbe6dc9b2fad75dadd2a719a81ad0" -y = "0x0d3970305cde2b8df3fc160e49513c1b88873334705aaecd8ba1911e9a3f48c0" +x = "0x0b902b7fa8bded2d2a3664e5fcecef9fc809f345a31fd0e2b54d08a420bca10f" +y = "0x04aba52630cda5684c942c56f7679eaf603d8d6f6096f3d6b6186bb666af9fb1" is_infinite = false [private_call.verification_key_hints.public_keys.ivpk_m.inner] -x = "0x2e112a9af66644d0f00032649647eafe0ea9a68e35eb7761ba41e4b93492e926" -y = "0x28c037b66afdc2e8f90eca8470fde84b29ab6240172a20e38dab15e2c1470063" +x = "0x1d45dab28a2a785ddb932042294d5d892f8f74b308df01b0193f1e0a949d3c6a" +y = "0x29fa39825ccc1b1a9f0f781e5c2897c0665d6da7503d745fe01a2a7ae69e8395" is_infinite = false [private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x1c6e46d34d010aafb76bce5b59985601be1b0d0f63ebc2eca5957ff0423b209d" -y = "0x223b8905e4506dd23404ad6ee456c91302dc190937c596b93377bd16db997abb" +x = "0x2b0f5c7183114b8b7d23bf88ad91c7d066061cacebc20c889910075092fc1917" +y = "0x14649ae7aef91c76da862838f29980c8688d73d865b9795fa997dc3b59b20fc8" is_infinite = false [private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x1fd56367454aded3ed2d69c22118efd45444ee33ee175011fdf74f9abcefb4f8" -y = "0x0ddda33a0b53e634388b18437d77744d3e00de2a618bd3965eff323d43619d23" +x = "0x1938910de000c5cc0ae97f0127791428616c022786c3583f4f0a1ec00e6abfb2" +y = "0x2ddc0ffa914b7982f589c3c9c2dbeae50087a1b62c9e12d44a25fef7e644f570" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x0427ac83bd2a2120bd3951e03714e87c9510aee00407fc997b06aa6124d8dcbb" + inner = "0x16986005bc90e61280b296b98c934c51e600993d33a14a33a3fdbfcb1f9d8f77" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "138" + leaf_index = "118" sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x1c6288cb88035b6e6cb348bf29d7f627986734f3837723f70fa99075e4f500f5", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x083b45b2f1a876d2a763cda4ec21fc5e093406babb706fa2ba43bc6c859228a3", - "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", - "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x2d93f2153fb183d8eafbf4c49080fc25ae1a71682e86f6d4483fbc504644eb5d", + "0x17b36b676ed431e9f615ef58cd0f10224fd9c7047d70394bdbec574bf72029f9", + "0x2dbd02096a238623d3d9ebad8e3e8e8f8a1dcc9f43f85dbe7919e0d1c0bf5eb4", + "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", + "0x13c01cf01cd61604ae55d7ca1986fedaa24483a282551eaa41507dde892783d5", + "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", + "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", + "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", + "0x1b4d427b4c28d92f5cf1e4141a99332a68acb4d22bcf108e4aadff0b7405efaa", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -291,13 +291,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x036e901f114a75e275bb5b53726de3ba0bff6ff84fae76009eee3100ad2f189a" - value = "0x00000000000000000000000000000000000000000000000000000000000003e8" - next_slot = "0x084e06b6850f247ebfec5e2d605a68ba348a4520b91f37ecff8ec8b42d19e85a" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000076" + slot = "0x02dc2c982d64a1b6d290d8b35b4a2d5451bfb52d4f55a5514ff6859149e70cff" + value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" + next_slot = "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c" + next_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [app_public_inputs] -args_hash = "0x1ef77ab685a94f2af821f59918d60249e455f438658f035626b631f599ce5a6d" +args_hash = "0x04766a8cbf1a68801a3b28365f555fd1d4b4dffcd8ced14a68b38ae48f8e4cf0" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000002" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" @@ -305,7 +305,7 @@ expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000 expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" is_fee_payer = true -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" [app_public_inputs.call_context] is_static_call = false @@ -314,7 +314,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" [app_public_inputs.call_context.contract_address] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [app_public_inputs.call_context.function_selector] inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" @@ -324,7 +324,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 [[app_public_inputs.note_hash_read_requests.array]] [app_public_inputs.note_hash_read_requests.array.inner] -inner = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" +inner = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [app_public_inputs.note_hash_read_requests.array.contract_address] @@ -1097,13 +1097,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" + calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" [app_public_inputs.public_call_requests.array.inner.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [app_public_inputs.public_call_requests.array.inner.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [[app_public_inputs.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2071,12 +2071,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [app_public_inputs.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [app_public_inputs.anchor_block_header.state.l1_to_l2_message_tree] @@ -2084,37 +2084,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [app_public_inputs.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [app_public_inputs.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [app_public_inputs.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -2126,7 +2126,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [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 3a7269e16191..4d7b700f753f 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 @@ -3,9 +3,9 @@ leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000 sibling_path = [ "0x2def0f0f11588ba2936cd0928e5e46c42e8078b9e8e3ea92e78f092a60c0f04f", "0x0b1863e87ddf257d402a955d22b6997848454efb8045161e6dcc7dc866a58363", - "0x1669f3c7b720984159083fcf36e21da0a79e06efaa83ef4c7a16f4f326ae8627", - "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x26d85d16041420be501663383cfc864a7ab8d899a94fd6f835061c43d3be3cd0", + "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -144,21 +144,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" is_private_only = true -claimed_first_nullifier = "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c" +claimed_first_nullifier = "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -166,37 +166,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -208,7 +208,7 @@ 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 = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -252,7 +252,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] -inner = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" +inner = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -2763,7 +2763,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x0fda8a2fd7cc16c0131f32910b033f294fbcb0fe4b211dc0c2d506556e1b9878" + value = "0x2f1c68c62929cab50273d7c420f5281dbde0590e903e7baefbf0b4745e35fd49" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -6121,7 +6121,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.private_call_stack.array]] - args_hash = "0x0f67cc03049a2ca51607c985ce0346eed66efea0e7d14f6ca994fb520912683b" + args_hash = "0x0b59feb08867bf2e03cf637886697a3b3a7f4698d81b7896924e0ea868cc8fe6" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -6130,10 +6130,10 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" is_static_call = false [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -6419,7 +6419,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [private_call.vk] key = [ @@ -6595,19 +6595,19 @@ y = "0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x12192d5c1f60407dc02f2d41c234d007f9093ae085d1e937fade0a3c7b8a9418" + inner = "0x0833e914fffd878b44978e72a329e78eed7c46559847458abc292974959b8eea" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "122" + leaf_index = "118" sibling_path = [ - "0x1668f14ac01de57cdfd7c0d0e0a9463c83dc1dbe07a5bd63f1a1945fcb2181e5", - "0x1fe5971116845e770c250bf7c1037eb7d21ff7c65e021d389e7ab989f74a84b5", - "0x29da07ee776318ec75c1ef49ca732c5be092db89a5cbdd15d523365b969eaadc", - "0x0246bdcdde5eb440bfabec4c81a6b051ccb56ca41992c906e29e1536a6e51555", + "0x17b36b676ed431e9f615ef58cd0f10224fd9c7047d70394bdbec574bf72029f9", + "0x2dbd02096a238623d3d9ebad8e3e8e8f8a1dcc9f43f85dbe7919e0d1c0bf5eb4", + "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", + "0x13c01cf01cd61604ae55d7ca1986fedaa24483a282551eaa41507dde892783d5", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x22c842eb683865a426eca3dc0c3e05a92c8aa98f7d380aecbad129d8abfda444", + "0x1b4d427b4c28d92f5cf1e4141a99332a68acb4d22bcf108e4aadff0b7405efaa", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -6643,13 +6643,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x10b7039f7e30999327ba7029eaa367a703101a8005dbfafcda8bd72e787b0530" + slot = "0x02dc2c982d64a1b6d290d8b35b4a2d5451bfb52d4f55a5514ff6859149e70cff" value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x15a0082c7cad06c44daa36426ce17816d64e03d6daf62ba145ae21d90e22b74f" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000089" + next_slot = "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c" + next_index = "0x000000000000000000000000000000000000000000000000000000000000008a" [app_public_inputs] -args_hash = "0x0f67cc03049a2ca51607c985ce0346eed66efea0e7d14f6ca994fb520912683b" +args_hash = "0x0b59feb08867bf2e03cf637886697a3b3a7f4698d81b7896924e0ea868cc8fe6" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -6657,16 +6657,16 @@ expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000 expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" is_fee_payer = false -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" [app_public_inputs.call_context] is_static_call = false [app_public_inputs.call_context.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [app_public_inputs.call_context.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [app_public_inputs.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -6676,7 +6676,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 [[app_public_inputs.note_hash_read_requests.array]] [app_public_inputs.note_hash_read_requests.array.inner] -inner = "0x0ac287b9b6ba63cfd176b464c571c4a17cade6ffa5cc02a35e40cf2ac04f662e" +inner = "0x16e1312f41ea1dfab7974773561cbaf164d52f3726bb35a5d9e3ecf8dc2c6270" counter = "0x0000000000000000000000000000000000000000000000000000000000000008" [app_public_inputs.note_hash_read_requests.array.contract_address] @@ -6807,7 +6807,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifier_read_requests.array]] [app_public_inputs.nullifier_read_requests.array.inner] -inner = "0x209086b683a30ab0ca39f05d5554d0e3b1f574eaf52898501d252e3838344fd8" +inner = "0x0a583966efca4c7cc2a132a1b3b8cffa76547cba4e96e4b578764fd1a3ab8c68" counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [app_public_inputs.nullifier_read_requests.array.contract_address] @@ -6940,11 +6940,11 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x000000000000000000000000000000000000000000000000000000000e6ebabc" [app_public_inputs.key_validation_requests_and_separators.array.request] - sk_app = "0x1c559ff3d9b87298084a71fe82f78b733bea342beb831b62026e3ad544acce76" + sk_app = "0x1af06fee18d0a1cb6cfcc03cab5ba1cc74f5dbd440d37ce899776c92fd89dce1" [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x280ef4df058bcf18f4860d62c462f0f9daccbe6dc9b2fad75dadd2a719a81ad0" - y = "0x0d3970305cde2b8df3fc160e49513c1b88873334705aaecd8ba1911e9a3f48c0" + x = "0x0b902b7fa8bded2d2a3664e5fcecef9fc809f345a31fd0e2b54d08a420bca10f" + y = "0x04aba52630cda5684c942c56f7679eaf603d8d6f6096f3d6b6186bb666af9fb1" is_infinite = false [[app_public_inputs.key_validation_requests_and_separators.array]] @@ -7116,11 +7116,11 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.note_hashes.array]] - inner = "0x0438221fe80683a071946d99b3abce40b6081d9afe6f1822f1d96ee38be3ef07" + inner = "0x0bd46b664f23cf511c4596dbc71006999bdf8533e3bb5e484928edee4ed131fe" counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [[app_public_inputs.note_hashes.array]] - inner = "0x26dcd8a6b474aed58a00f2e1024dec1e6c00c8cc94e12d12c54c8f42c7a6ad80" + inner = "0x179729c7abcbd6fba46cac4a02e13d615fc4a74d16d26653f8e791ef4a6ac13d" counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [[app_public_inputs.note_hashes.array]] @@ -7186,14 +7186,14 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [app_public_inputs.nullifiers.array.inner] - value = "0x27be14d597543ee004c8d2f9135b3be493d12fb84d5cd4c15d56ddd67449bf8d" + value = "0x23099321500a613b8f3f24d1e8041a16581e2550f7b1e39db5fa51a6ea950f66" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] counter = "0x000000000000000000000000000000000000000000000000000000000000000e" [app_public_inputs.nullifiers.array.inner] - value = "0x1f14420bde8d7a6e451e0173a9c1b09d7ce9ccccc06168d85219d2974db37eb8" + value = "0x2248865e1a1a336b14d292216fae40372c4b41dd43b672737c0199b041e05ffc" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] @@ -7956,24 +7956,24 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x1f84426ef3a76222573c1caaba93bf42e2602d28076a0027eb297beaf3447c30", - "0x18d672f936d0befade4b74ab4f5195325f3e7163665582a96aa3633a3c54b6c9", - "0x000032a8ab21fb61be927d6922820bf3d1094b42a1670dce9a8c3fbabb62e0c7", - "0x00c0e461da2a33378cffd94315ebaf662cf4d8b305f26220b764cf4c3f9d3344", - "0x00f3d82ea8819b593c46fe86f2a0e4efad45b4480f7f15054f458265e7c534e0", - "0x00ed9c60b473ac5f473ad5f250e63dfe90330cc83429e414d357eb01d3206b73", - "0x00806e4dda945c0432bac06b7d466e00c44381bf71bf0f38a448030eb1ee7dff", - "0x003d7394af215e96941f7ba505fde53ee5f4b057c616c049b052a090df2744a4", - "0x00f55549e9e5a96e22e2f4eb62c7681a8aebb20b5db127df2efaf9126cca77f4", - "0x009e6664abd31371eb6d0e99d4c16c4c511a6a63ba24b7483d1e35cf1774da14", - "0x0067034084f36ff782f93c5ecd1d7993036d8829c4aa082630bdd20dc01beb43", - "0x00630d7bfce6ff609627078edd3665cd613eb998790a287c8de29f4ca4bc4ae0", - "0x001536bc328e421eef8e00261b208a264f6497b00cf62654d4cf5029b1b7ff70", - "0x0081d0e13392ba093b4d7ac0e86d9baae5e62b0da92e978af3489a9bef920463", - "0x00ef0a778d16455b941d19bfc67da1f256ca35383564ad9853ffcca66825a806", - "0x00a37fbcb30f4d4f86b1363ccd7da1753e79b878b5bdf167580f687a1870113b", - "0x00f43d62fe7d1bdac08b575c925f46de627a7af6066871c5945d686e0be7c351", - "0x002228a1cfde2ef8628fc73a35803bc1a1d57bec02acdef2a4be6f65692b897b" + "0x18ba5d495bf5a79e70ffbf5342193a29f6b2ea6b4ad27c16ceed11c248ffd5a7", + "0x116aac75f4b8e8b90b81d0f82109d903204df904352d042f7c404d5b42acd4b0", + "0x00017bd19718cb958d8edd663ab918f60c69359a6e9a54de48c0f3260c946f71", + "0x00f9829b69cd7bc544e76f4de708317f6cc01b46ab41e9fb60037f1c4b009727", + "0x00a2bec0410c3aa10805414e3a3dd0344d548a0dfe534036bebd603fc2d956c8", + "0x003e118036c2450f4148dfcc5f9d0dbd37783a247b7bfc58ff57b7bfd4c059f6", + "0x00789d9e49418162ca1f7bb54810fc8a7ca4dccc8f4daa01337acba1262bec81", + "0x0023cf2aecccfd2dddebeff531c119ecd07199800d7d4f0b6db76a59d15faf91", + "0x005e2c54ad12a12f4243996ca50c2de42e958d6a1cc8336f8529a5a6dbdbc073", + "0x003f59ab2667211008022878da88e83f49c60170d481f6bd53ecc3278fa22c4e", + "0x00eca5c8c65ef048de6dea538f0390e16d9589e2b230eb1e6806fc1b6fa99b2a", + "0x0078ac491453935eb9805823f48fc075227ce6751ebe3110ff30b2062741c811", + "0x00b2fa3c400d52d7ab452be468709a33e545d4ec3370f9945361e3e1529031d6", + "0x00d4b279a4b8fc15777417ab4b43bc53046b5ec96bf99d74b3fc2f220dea6e77", + "0x00ee3912375df86cab709595e4136053362d61b2c9edbeba986da29712b16606", + "0x009f80dddc4458df4ad00a2aa610e437f7b7218e0dfc2dcd4c66443a247f605c", + "0x0075d26f2759920009ec447695bbc59aef372a64ddf2cbe1adeea8322737eca3", + "0x00f61a05fb3530454a1d0d902c47a0c40dc2f94e54d52ea501b5ff6c070f9d2a" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -7985,24 +7985,24 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x204a720b1ca2c194602bc06be3bea87e10a603efd95f0bfbd83bf6073cdc52cb", - "0x1568b67fa97e9c954c5d63afb864f76da8c42449ceb72aadc140d70c2cf69b36", - "0x00019cb9c40de23252387b9dbaa80c5e219285680dcb39ab0d34b219d1090941", - "0x000d59c9a2569b13fc1c946620137851397c949a93b1235a703a2af0f041e020", - "0x000cf12432c9b098894dc507b9f139c0bdf293dfae361ad8afa027573f3a7e76", - "0x006586d1d7ca0abb8f0243b8a8553d411c6055de15630185918ac78b83fb59f5", - "0x0053e9d73c02243aba11efecf2631787e714ef28c15c68cd79a4cee22558888f", - "0x0003e307fa43787dacc496931ec4acd320bf9e50206e1207b8108d3aab68c62a", - "0x006d2020c997368b5a5d8ccbcb1263d7d0bfb73611271be7716c49510e51c460", - "0x002f1b4cfc0507a345ad8ea22995cecf623374a666c45407e5ef8844cd9651a7", - "0x004c6c1e22e8b871c81e1909667d34b682db2a617c6b642d07dc1cf09b67d821", - "0x00b8fc51f6d54e3f94111f5a2b6de7d75f9f9e5211fb24bcd0cf3dbd6ac35229", - "0x00b4d4843fbfc05095bfe56927d02f0359fcb9bc72c6fb94dd7e4edf3eed34a5", - "0x00743657c61cf7d0560feefa7900354cd9361b74dddff0d073ac5b2056bdfe9b", - "0x0002eb1eedc3438e93339d016274cc609210d98b5829d60df107a13a77648bef", - "0x00799b279e55ad9534169aa22ec502672e453418e13ddb3acef497f5f2ba1eee", - "0x007318c27f87f182788622d30b7847a948edd962dfc36a6321a8c36386300ee5", - "0x00780ea4a92f36b5f5fe07c3dfb3b173035883c757d2887618d9d6cc56a0711e" + "0x212d707847669454910731680339e9f5f0e21a3879850cdcaa51a954f82f6376", + "0x1975096cc1e778a12e43aede0001f296b9b63725207253474749099b17302d85", + "0x00015665b4b8aa054b84354774caf9c5b69d797a8b66a168254a1abefd3fcb74", + "0x00b2eb5db25ded5fbeb259ffd87b5fc2d16bcc1fd1e21580faa3499134a6467e", + "0x002b1f9562d27906bad98dd7dd847c4f8031327edb4e88db548cb121608e9919", + "0x00d5e7bbeba54abe3b0a0592b196740af7146235ac8d6526cc567419c76f6739", + "0x008ce9208c2416a97d4f3b03e365e3d4ae12542be86f238dbac531766e3eeaa8", + "0x00017091ec81654ce95742989c028823981a8b7bfadd6a0c482b809eb6f45d2f", + "0x00d2abff55b8fd24bb01e00810cff25781c1b9f6b3f7e0b15327dccfa6445505", + "0x00378d0a222083ab650ebc2e43f9e1e7802aad54e2114ebb0e1a39c2ebe8d35d", + "0x0082e70c859b80dc33c974b7ee5df4ab9c6dced1d8e28dfc0039e535d49075b4", + "0x0098a6096ad54e7795ffca4ad9c3bc7f01f2e1f27cd14e61897a44a7fe592565", + "0x0084d3f0aeb25c332429ce25ec94c4ea27dd37758ad892ce90b9526f43cf8e34", + "0x00cd01e80f0a6a92605dfb237782fe6cf4a45f23db7155de5f4c2181a5e79a62", + "0x0027791a51fe462acbf264abf25d40c15bd28d81dbeb36ef1896ca7019107e9a", + "0x00b3284e61f26bdc7e14c57576875245b699109c3b09fe24f47619da133107a2", + "0x00722bbcd09b123c4f34f92ce55a1587853fa4869b65f3361b58c6573387fbec", + "0x00790c3b0f8c5f4fd59f35f07a2adb8023bd9eb18bfa85dffcdc0cf54953d8e0" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -8014,24 +8014,24 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x1d2ffcce462e2c414224e34da91079c04e6f46e8de5600766a2171bf4396efeb", - "0x296810407e5c6d4b028b18e53984ff6f7ad985787aedb7c3c26c8400d692deb0", - "0x0001b88b3b6422742a0212891198008adfc0f4d70c3177fdf05c284e36f99ac5", - "0x00ae1f5a16c6591ae3cd3298cab240420e3c085dbdc80a1a584be117f94e29fc", - "0x00a74f3b18b564482fbeb39bd283adcdd5f127291aa4897ac885f7c1d5d75153", - "0x006ed47e5fd3feeff969f2e83553862bca80b937c5c5505e7dc9a686aba8ca54", - "0x005fd8823565dad202293e3ed5d076cf6289f800f301d1c023d3e4af77827616", - "0x0075536d30d97e72e08b400186c71b77634cfdae51985cc7e986d9f6d90f463f", - "0x0043bd52f8963fa68d611a6bf5be425e3f00f464160348155c8534e17dd22427", - "0x00b9b6a200363ac6784efb3017963e8f000a152dcd4c11fe31c614a4884bfb3e", - "0x0081e7e4bd7465e054e5be7932c3df835a66ed5c82d565a62777faf9571f1675", - "0x00bbc98ca6433187027b87ab9538967f8572a61409d5941d6c14817ba6bbc7bb", - "0x00b9d13ad6648fab765b0b7af280773a5f4dcdd2f87f09e0b7a9ee8b5245d5b7", - "0x0038a0a5e712802e6e31ce7e04fcfd4cc7b414fd75b00eba44a86bd0fbb5d58c", - "0x001d5e1da2ee9973ef61e860e8a60a6ccf197f5422983dc32fa9984d32b34d58", - "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", - "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815", - "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da" + "0x156ab8435d1903bef7674ca1288f0f5c50f5ddbfb62b0a3ba130b332fd5ac4c2", + "0x2b66af78fec9e2cba6e19de9fbfb3b73229879c24284e7c9afe96d60805d0c04", + "0x0000f43f253dc3359a544d3a358ccc991e99fb19448bc5ce1d9ebefb39886dde", + "0x00dc76f6ba9e031e90dd77ab49f2cdd95a802967afbe52200e5a8773bc97c385", + "0x0019f480e660881b0d0a5ac66616b545e3266e6d453e2a2414d4818b77994aaa", + "0x0062e332ba94ee88624cae4b46da20107af0e0e5766102433a451a323ff479f6", + "0x00c1c2806e82ff2bae55fd351034ea42087ddfccd30b4cf0dd4f92cc2a049669", + "0x009af71b2358f5a0497eb6a38dd0cd7a572085e7f4483b4d1096ec13d9d61756", + "0x0082c9ec2dd3d8dca70f4aefe0847c65f530aea37a13384258b99908b0b4b24b", + "0x0003632b0f34b452b2897587992423f34a78ff510e74641d5843eb83d31ad357", + "0x007754bb64b87ef09e13462d9d45d22b554744e4101b562399d82e05bf1e1eaf", + "0x008b2032793710728305e5a550c9909c4c92926d45cbe50f0957889de6a99146", + "0x00622048bbb198c7f6ddbb6beea8186ad2d52a64abde773146dcbee5f7791a06", + "0x0028448a68dfdd8f6edff16d35d9b2484d1746bd6248a61297681fa7f63755cb", + "0x002936f87a8f54e1029f5b351158c106812f9f700307fd9701ad4f333cf01e57", + "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", + "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7", + "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -8423,12 +8423,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [app_public_inputs.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [app_public_inputs.anchor_block_header.state.l1_to_l2_message_tree] @@ -8436,37 +8436,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [app_public_inputs.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [app_public_inputs.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [app_public_inputs.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -8478,7 +8478,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [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 fd48a823adae..68b20dcbe95f 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 @@ -3,9 +3,9 @@ leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000 sibling_path = [ "0x2def0f0f11588ba2936cd0928e5e46c42e8078b9e8e3ea92e78f092a60c0f04f", "0x0b1863e87ddf257d402a955d22b6997848454efb8045161e6dcc7dc866a58363", - "0x1669f3c7b720984159083fcf36e21da0a79e06efaa83ef4c7a16f4f326ae8627", - "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x26d85d16041420be501663383cfc864a7ab8d899a94fd6f835061c43d3be3cd0", + "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -144,21 +144,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" is_private_only = false -claimed_first_nullifier = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" +claimed_first_nullifier = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -166,37 +166,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -208,7 +208,7 @@ 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 = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -252,7 +252,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] -inner = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" +inner = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -2763,7 +2763,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x2a5f3b0fdeab1ac47fd9ecc8f9679d9689e9a559d512c41ccd68e40706b2a6a3" + value = "0x13f775493e9165a85b71fb02522b619ecbc8dc1a3e591527353a9649c8a48c9a" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -5706,13 +5706,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" + calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6419,7 +6419,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [padded_side_effects] note_hashes = [ @@ -8551,9 +8551,9 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x214d1056b671e08f360a897df490021816fed29c2339dea7da25f9f155ed17ce", + "0x20fdbd70f372082ad976fbdc67a16b999ffa5ced3b6c2d5e119258c48b7bce2f", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x275425ddbf2d92f2a754b328b4406677815ba3571cd6fe50bb0e2beffe999e29", + "0x13e0ed84a9f773e3cb5a00738e786e1824853a7e4ef4a3ed397292bc46b84006", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", @@ -8590,7 +8590,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 ] [hints.note_hash_read_request_hints.settled_read_hints.leaf_preimage] - value = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" + value = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" [[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 c60bff363a85..615635c99a5b 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,4 +1,4 @@ -expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069961210" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" @@ -8,7 +8,7 @@ sibling_path = [ "0x05d81ec10254ee759410ecc5dc322943a82c0e2da8906ecac9c1a6270e41d8f8", "0x0dcd097e79e3057b1c9804260e77457f0a20082513449c93e95dcaca6b44f4af", "0x0e0e13c4e24e6a6c99263d0f23d13413e1e9b3d8f6863d1a9dada4353d6d4abe", - "0x0656d61c510b780b87af47e914d241237e1cbacc9ecaa70f1519022861e3df28", + "0x0f2a2d771b519d3e36f92088449c525e0233096515a691c247b9aee007a5cfa5", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -146,21 +146,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" is_private_only = false -claimed_first_nullifier = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" +claimed_first_nullifier = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -168,37 +168,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -210,7 +210,7 @@ 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 = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2765,7 +2765,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" + value = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -5708,13 +5708,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" + calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6421,7 +6421,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [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 668e8536fbf0..e0e327fb7d8d 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,4 +1,4 @@ -expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069961210" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" @@ -8,7 +8,7 @@ sibling_path = [ "0x05d81ec10254ee759410ecc5dc322943a82c0e2da8906ecac9c1a6270e41d8f8", "0x0dcd097e79e3057b1c9804260e77457f0a20082513449c93e95dcaca6b44f4af", "0x0e0e13c4e24e6a6c99263d0f23d13413e1e9b3d8f6863d1a9dada4353d6d4abe", - "0x0656d61c510b780b87af47e914d241237e1cbacc9ecaa70f1519022861e3df28", + "0x0f2a2d771b519d3e36f92088449c525e0233096515a691c247b9aee007a5cfa5", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -146,21 +146,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" is_private_only = true -claimed_first_nullifier = "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c" +claimed_first_nullifier = "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -168,37 +168,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -210,7 +210,7 @@ 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 = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2247,7 +2247,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x005cd2323881f0294872da74f6f085b0628672881dc464f4d5d0976cbbbd08d2" +inner = "0x033dc1541749dec457c70f605bae3521247f613b20f817749b8cea68429c3da9" counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] @@ -2255,7 +2255,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x2bea0c0cb98d2092d3d717f881af5f4c1c4ea1c896ed60a9f74f6e0687ffe91c" +inner = "0x1d2f748cf0eec20668b68167d346baf08b997160289c6a6b036a3be0b33c2443" counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] @@ -2765,7 +2765,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000003" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c" + value = "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2776,7 +2776,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38" + value = "0x0081a9817b8551bf1bf1bd909a1740eef55a137811cc47aba5c70c806d164cb1" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2787,7 +2787,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x000000000000000000000000000000000000000000000000000000000000000e" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x01180e43597d93aca802e2db8b88f2a65407301bb727bc2ce2e418e26ae4ff48" + value = "0x0f334870e25e1802dd1536468ac03c51af59574b018f60bb91fa231134d324d0" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -3583,24 +3583,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000b" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x0a27df1f1c9501dfd5065c8be6a28b075fbf1cf0caba4884d1dd2f851fce04a0", - "0x18d672f936d0befade4b74ab4f5195325f3e7163665582a96aa3633a3c54b6c9", - "0x000032a8ab21fb61be927d6922820bf3d1094b42a1670dce9a8c3fbabb62e0c7", - "0x00c0e461da2a33378cffd94315ebaf662cf4d8b305f26220b764cf4c3f9d3344", - "0x00f3d82ea8819b593c46fe86f2a0e4efad45b4480f7f15054f458265e7c534e0", - "0x00ed9c60b473ac5f473ad5f250e63dfe90330cc83429e414d357eb01d3206b73", - "0x00806e4dda945c0432bac06b7d466e00c44381bf71bf0f38a448030eb1ee7dff", - "0x003d7394af215e96941f7ba505fde53ee5f4b057c616c049b052a090df2744a4", - "0x00f55549e9e5a96e22e2f4eb62c7681a8aebb20b5db127df2efaf9126cca77f4", - "0x009e6664abd31371eb6d0e99d4c16c4c511a6a63ba24b7483d1e35cf1774da14", - "0x0067034084f36ff782f93c5ecd1d7993036d8829c4aa082630bdd20dc01beb43", - "0x00630d7bfce6ff609627078edd3665cd613eb998790a287c8de29f4ca4bc4ae0", - "0x001536bc328e421eef8e00261b208a264f6497b00cf62654d4cf5029b1b7ff70", - "0x0081d0e13392ba093b4d7ac0e86d9baae5e62b0da92e978af3489a9bef920463", - "0x00ef0a778d16455b941d19bfc67da1f256ca35383564ad9853ffcca66825a806", - "0x00a37fbcb30f4d4f86b1363ccd7da1753e79b878b5bdf167580f687a1870113b", - "0x00f43d62fe7d1bdac08b575c925f46de627a7af6066871c5945d686e0be7c351", - "0x002228a1cfde2ef8628fc73a35803bc1a1d57bec02acdef2a4be6f65692b897b" + "0x135ea36e9543b0b3759a246394bf505649ba4ef7572152baae922c0dbf06090f", + "0x116aac75f4b8e8b90b81d0f82109d903204df904352d042f7c404d5b42acd4b0", + "0x00017bd19718cb958d8edd663ab918f60c69359a6e9a54de48c0f3260c946f71", + "0x00f9829b69cd7bc544e76f4de708317f6cc01b46ab41e9fb60037f1c4b009727", + "0x00a2bec0410c3aa10805414e3a3dd0344d548a0dfe534036bebd603fc2d956c8", + "0x003e118036c2450f4148dfcc5f9d0dbd37783a247b7bfc58ff57b7bfd4c059f6", + "0x00789d9e49418162ca1f7bb54810fc8a7ca4dccc8f4daa01337acba1262bec81", + "0x0023cf2aecccfd2dddebeff531c119ecd07199800d7d4f0b6db76a59d15faf91", + "0x005e2c54ad12a12f4243996ca50c2de42e958d6a1cc8336f8529a5a6dbdbc073", + "0x003f59ab2667211008022878da88e83f49c60170d481f6bd53ecc3278fa22c4e", + "0x00eca5c8c65ef048de6dea538f0390e16d9589e2b230eb1e6806fc1b6fa99b2a", + "0x0078ac491453935eb9805823f48fc075227ce6751ebe3110ff30b2062741c811", + "0x00b2fa3c400d52d7ab452be468709a33e545d4ec3370f9945361e3e1529031d6", + "0x00d4b279a4b8fc15777417ab4b43bc53046b5ec96bf99d74b3fc2f220dea6e77", + "0x00ee3912375df86cab709595e4136053362d61b2c9edbeba986da29712b16606", + "0x009f80dddc4458df4ad00a2aa610e437f7b7218e0dfc2dcd4c66443a247f605c", + "0x0075d26f2759920009ec447695bbc59aef372a64ddf2cbe1adeea8322737eca3", + "0x00f61a05fb3530454a1d0d902c47a0c40dc2f94e54d52ea501b5ff6c070f9d2a" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -3616,24 +3616,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x02932d6cfd1460d71833896895ad1e423b5cfa8e1faed2d7051d2ab5aa261721", - "0x1568b67fa97e9c954c5d63afb864f76da8c42449ceb72aadc140d70c2cf69b36", - "0x00019cb9c40de23252387b9dbaa80c5e219285680dcb39ab0d34b219d1090941", - "0x000d59c9a2569b13fc1c946620137851397c949a93b1235a703a2af0f041e020", - "0x000cf12432c9b098894dc507b9f139c0bdf293dfae361ad8afa027573f3a7e76", - "0x006586d1d7ca0abb8f0243b8a8553d411c6055de15630185918ac78b83fb59f5", - "0x0053e9d73c02243aba11efecf2631787e714ef28c15c68cd79a4cee22558888f", - "0x0003e307fa43787dacc496931ec4acd320bf9e50206e1207b8108d3aab68c62a", - "0x006d2020c997368b5a5d8ccbcb1263d7d0bfb73611271be7716c49510e51c460", - "0x002f1b4cfc0507a345ad8ea22995cecf623374a666c45407e5ef8844cd9651a7", - "0x004c6c1e22e8b871c81e1909667d34b682db2a617c6b642d07dc1cf09b67d821", - "0x00b8fc51f6d54e3f94111f5a2b6de7d75f9f9e5211fb24bcd0cf3dbd6ac35229", - "0x00b4d4843fbfc05095bfe56927d02f0359fcb9bc72c6fb94dd7e4edf3eed34a5", - "0x00743657c61cf7d0560feefa7900354cd9361b74dddff0d073ac5b2056bdfe9b", - "0x0002eb1eedc3438e93339d016274cc609210d98b5829d60df107a13a77648bef", - "0x00799b279e55ad9534169aa22ec502672e453418e13ddb3acef497f5f2ba1eee", - "0x007318c27f87f182788622d30b7847a948edd962dfc36a6321a8c36386300ee5", - "0x00780ea4a92f36b5f5fe07c3dfb3b173035883c757d2887618d9d6cc56a0711e" + "0x197db1dfdc221892ca187cc8223138810fd7da2bd942268dbc48cbb40d570f43", + "0x1975096cc1e778a12e43aede0001f296b9b63725207253474749099b17302d85", + "0x00015665b4b8aa054b84354774caf9c5b69d797a8b66a168254a1abefd3fcb74", + "0x00b2eb5db25ded5fbeb259ffd87b5fc2d16bcc1fd1e21580faa3499134a6467e", + "0x002b1f9562d27906bad98dd7dd847c4f8031327edb4e88db548cb121608e9919", + "0x00d5e7bbeba54abe3b0a0592b196740af7146235ac8d6526cc567419c76f6739", + "0x008ce9208c2416a97d4f3b03e365e3d4ae12542be86f238dbac531766e3eeaa8", + "0x00017091ec81654ce95742989c028823981a8b7bfadd6a0c482b809eb6f45d2f", + "0x00d2abff55b8fd24bb01e00810cff25781c1b9f6b3f7e0b15327dccfa6445505", + "0x00378d0a222083ab650ebc2e43f9e1e7802aad54e2114ebb0e1a39c2ebe8d35d", + "0x0082e70c859b80dc33c974b7ee5df4ab9c6dced1d8e28dfc0039e535d49075b4", + "0x0098a6096ad54e7795ffca4ad9c3bc7f01f2e1f27cd14e61897a44a7fe592565", + "0x0084d3f0aeb25c332429ce25ec94c4ea27dd37758ad892ce90b9526f43cf8e34", + "0x00cd01e80f0a6a92605dfb237782fe6cf4a45f23db7155de5f4c2181a5e79a62", + "0x0027791a51fe462acbf264abf25d40c15bd28d81dbeb36ef1896ca7019107e9a", + "0x00b3284e61f26bdc7e14c57576875245b699109c3b09fe24f47619da133107a2", + "0x00722bbcd09b123c4f34f92ce55a1587853fa4869b65f3361b58c6573387fbec", + "0x00790c3b0f8c5f4fd59f35f07a2adb8023bd9eb18bfa85dffcdc0cf54953d8e0" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -3649,24 +3649,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000f" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x2d21d0707d3e09aecfb0d6b7956faf9fbd024d947067e7867ab339a1648d3ea0", - "0x296810407e5c6d4b028b18e53984ff6f7ad985787aedb7c3c26c8400d692deb0", - "0x0001b88b3b6422742a0212891198008adfc0f4d70c3177fdf05c284e36f99ac5", - "0x00ae1f5a16c6591ae3cd3298cab240420e3c085dbdc80a1a584be117f94e29fc", - "0x00a74f3b18b564482fbeb39bd283adcdd5f127291aa4897ac885f7c1d5d75153", - "0x006ed47e5fd3feeff969f2e83553862bca80b937c5c5505e7dc9a686aba8ca54", - "0x005fd8823565dad202293e3ed5d076cf6289f800f301d1c023d3e4af77827616", - "0x0075536d30d97e72e08b400186c71b77634cfdae51985cc7e986d9f6d90f463f", - "0x0043bd52f8963fa68d611a6bf5be425e3f00f464160348155c8534e17dd22427", - "0x00b9b6a200363ac6784efb3017963e8f000a152dcd4c11fe31c614a4884bfb3e", - "0x0081e7e4bd7465e054e5be7932c3df835a66ed5c82d565a62777faf9571f1675", - "0x00bbc98ca6433187027b87ab9538967f8572a61409d5941d6c14817ba6bbc7bb", - "0x00b9d13ad6648fab765b0b7af280773a5f4dcdd2f87f09e0b7a9ee8b5245d5b7", - "0x0038a0a5e712802e6e31ce7e04fcfd4cc7b414fd75b00eba44a86bd0fbb5d58c", - "0x001d5e1da2ee9973ef61e860e8a60a6ccf197f5422983dc32fa9984d32b34d58", - "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", - "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815", - "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da" + "0x02a7800d59d95fc63fb930589c56215238833d99d41a8e60b18fcacb76a7f2e6", + "0x2b66af78fec9e2cba6e19de9fbfb3b73229879c24284e7c9afe96d60805d0c04", + "0x0000f43f253dc3359a544d3a358ccc991e99fb19448bc5ce1d9ebefb39886dde", + "0x00dc76f6ba9e031e90dd77ab49f2cdd95a802967afbe52200e5a8773bc97c385", + "0x0019f480e660881b0d0a5ac66616b545e3266e6d453e2a2414d4818b77994aaa", + "0x0062e332ba94ee88624cae4b46da20107af0e0e5766102433a451a323ff479f6", + "0x00c1c2806e82ff2bae55fd351034ea42087ddfccd30b4cf0dd4f92cc2a049669", + "0x009af71b2358f5a0497eb6a38dd0cd7a572085e7f4483b4d1096ec13d9d61756", + "0x0082c9ec2dd3d8dca70f4aefe0847c65f530aea37a13384258b99908b0b4b24b", + "0x0003632b0f34b452b2897587992423f34a78ff510e74641d5843eb83d31ad357", + "0x007754bb64b87ef09e13462d9d45d22b554744e4101b562399d82e05bf1e1eaf", + "0x008b2032793710728305e5a550c9909c4c92926d45cbe50f0957889de6a99146", + "0x00622048bbb198c7f6ddbb6beea8186ad2d52a64abde773146dcbee5f7791a06", + "0x0028448a68dfdd8f6edff16d35d9b2484d1746bd6248a61297681fa7f63755cb", + "0x002936f87a8f54e1029f5b351158c106812f9f700307fd9701ad4f333cf01e57", + "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", + "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7", + "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6421,4 +6421,4 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" 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 8d58246a2508..e3ac44931520 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 @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x019c94b8104d35bfeaed20f985b7e1b380abd1ed40369b739ed273ce3ec36b8e" + block_headers_hash = "0x1ac302c8ccf77ff82a4b9f7eefc5c690f51ec104fa02cf3494f4ccccb8cfd1b8" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x0018febbd74d861e38064a4ff9d3b5ed7a39b398576ef75e104848700819a700" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -532,7 +532,7 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -552,7 +552,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98" + root = "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -615,10 +615,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335" ] state = [ - "0x1a74ff032ae620c0f07c131712778ce545e2e0d87ed3ce855e5e490bbcd805d8", - "0x007eb8e5e9c4e4e432db874bb4ac0e2a990b5b87098ea24c42716a7dd03ef9ab", - "0x2563c6fbeacb77e44cd706bd60496b9a59a26d068b849293bbee419a763d75e1", - "0x0ca40344a9d927d78b30ec37788ea74c3a35801770c9e5a10c8164e7be6b300a" + "0x102f1a257e06f97cc27fe39d748c0d3f2b3b4582bf369fd33ebf5566fde83cb6", + "0x2085d8042fb334f1076f5457ffce79923cd0523b43e379da9255377ea3ff0900", + "0x2e98cd16638c9481c3490c09b27b894dd912e8f4bc90d9b1545374af7228e1fc", + "0x19422370c5aed616c0711f10a7118c484f7c1b021b4063cce3a8b7f6dc196d0e" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -626,11 +626,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" sibling_path = [ - "0x2964f25a6b1398a2cc69e9976742340a63925550e37fe90b35da611ed5b656f8", - "0x2e5d376afe4d2073f42e00029bd95a37b42ba8554244beb58e827f9a7c8a319a", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x0fccb8554fb0dbd61a736fd23f981b093660c9bda608b413a22c642467d2f8aa", + "0x24e00346a2d8c7c80519d0cbe6eeb175911bc53ddbb0abba7a5c5284304b0cea", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -640,94 +640,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003282a82bf30cec1f184a091b1da77e2db0", - "0x00000000000000000000000000000000001b8909962a6ac7fadab0f81df29e30", - "0x000000000000000000000000000000fb98d35dd83cf224ee0f96c43a01fec08a", - "0x00000000000000000000000000000000002ff0e64a564df9762cca6c25ec40e7", - "0x000000000000000000000000000000dcfe4705c0738e002cf458b6967b0e3b4b", - "0x0000000000000000000000000000000000184d19e0c4da53e87f3ab101c8b740", - "0x00000000000000000000000000000089effcdf67d7b72d3c6937d9b00fb4c0aa", - "0x00000000000000000000000000000000000b217d2c88a38a13ea7257fd8ba9d1", - "0x000000000000000000000000000000f9487bd735551c6c4039f83aca0390a240", - "0x00000000000000000000000000000000002474c8bf3d41dbdf1b5c70c68ee451", - "0x000000000000000000000000000000eb5bec08f5acb216e1add8564ad1ce2d8a", - "0x00000000000000000000000000000000002957badd71c8fe5e7044922b034eba", - "0x0000000000000000000000000000007decce6adaae5283558b15dfdb01578bd4", - "0x00000000000000000000000000000000000167c01b4c60264fedcf70bfaea418", - "0x00000000000000000000000000000084c03c13d9e8a234c2b13bd337e964826a", - "0x00000000000000000000000000000000000a97f261a7e1f313bc144e0a6f243d", - "0x00000000000000000000000000000063612b8543b7bc577b4d1b91b28d4a8e10", - "0x0000000000000000000000000000000000240c2481357f59dee009b99db1e82f", - "0x000000000000000000000000000000979d8a92287aefb12d015da4675ed0704f", - "0x00000000000000000000000000000000001ffe2539ec7d6b1595a1c99415527f", - "0x000000000000000000000000000000758fefafd48df94f6e2487682b6ae983d6", - "0x00000000000000000000000000000000000baa326a190c3dfb355cb7f4d01637", - "0x000000000000000000000000000000d00588442c50698fd40829eca94d127598", - "0x0000000000000000000000000000000000195372046d772d0f86f66e0f205f64", + "0x000000000000000000000000000000625d5b9b2334e640a24862208ed0ef244a", + "0x00000000000000000000000000000000000f2f1ede627017c3b799258b1c2d2e", + "0x000000000000000000000000000000b37ae8160465b1539541bd80c85e01f369", + "0x00000000000000000000000000000000002526554a1ad61072f6d4bd61341690", + "0x000000000000000000000000000000df9cc650148ba6d9bf571b54cdc65fb68e", + "0x00000000000000000000000000000000002b54c96951ed068a0ceb7068329d52", + "0x000000000000000000000000000000901f38739b7ba3583f1953c122cdba01c6", + "0x00000000000000000000000000000000000e8d7e407e0feb92a2267e6e06af33", + "0x00000000000000000000000000000037c3fa7d8a1be93865547b568ae83edd01", + "0x000000000000000000000000000000000003f9b2a36bd0c8ccdfc340ef18df59", + "0x000000000000000000000000000000ae0c0e1252bf09d197cb67c383f88f75f2", + "0x000000000000000000000000000000000003fc9cead6dfefe022ae53d6800f2f", + "0x000000000000000000000000000000f6a419689f56ce372066662aa446f43f26", + "0x00000000000000000000000000000000001571002450e3492f540c2a983f8f6f", + "0x000000000000000000000000000000a9abc8a5ecc543d1684028889775b880bf", + "0x0000000000000000000000000000000000246651145583026f6b0934d01b2260", + "0x000000000000000000000000000000096a949039e6eb29f20b57324d395292a0", + "0x0000000000000000000000000000000000286fc3d1f8bbd2ab67f6bf6e47dcf4", + "0x0000000000000000000000000000008cbf2e64c5de296eb1801b99eef097357f", + "0x00000000000000000000000000000000000d43eef4ad70363f76a896a9bcdc73", + "0x000000000000000000000000000000c79eea94f09ba7c1a13d8bf8f7ac7a03df", + "0x000000000000000000000000000000000007e0d79335a6bc424e7aae45e29ba3", + "0x00000000000000000000000000000015d348b96e055c3f6e612046f079b68a5a", + "0x0000000000000000000000000000000000060a973f62bb57c1573326f79ddd5a", "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x000000000000000000000000000000831471fbaeeb78a942b068f7401a029381", - "0x00000000000000000000000000000000000c4ae6cc59acedfa4aaec62413a49f", - "0x0000000000000000000000000000002775293c2e37f6d9c0f06151e4fe93b41b", - "0x00000000000000000000000000000000001445dcd04495d68f6b3c3895c854f7", - "0x000000000000000000000000000000b1723078a6298f301a321fe59c87d668fd", - "0x00000000000000000000000000000000002b32ee6d83793ccbfe5a0af64b030f", - "0x000000000000000000000000000000c07faf6ea3dfbfbcc9ea75b391733ef82e", - "0x000000000000000000000000000000000007874b731fdf9073e1db934b680423", - "0x0000000000000000000000000000005f5e22710b311d113feb5b4c93cd244c1c", - "0x0000000000000000000000000000000000107b63e12791ff3bdf356f080af1eb", - "0x000000000000000000000000000000bb48bd3deb5861a1738269af09db0846ef", - "0x00000000000000000000000000000000002e71a06f416b344f5fa38bd556ec09", - "0x000000000000000000000000000000894c86cab18a3c4fb02ec9f908f696ba6c", - "0x000000000000000000000000000000000002550a459405a0f72918f512c36e54", - "0x000000000000000000000000000000fe40fc971cf5fdeaa986418253af840d52", - "0x0000000000000000000000000000000000171061a6008ef1ad192e2b5dccb7a5", - "0x000000000000000000000000000000db68c93243c0651260b017da8c88a2282a", - "0x00000000000000000000000000000000002b6485afb9b0e690050d1110d45d87", - "0x00000000000000000000000000000082db498db28f90f57dbae0237ef5056210", - "0x000000000000000000000000000000000010d0d24871a939da60effe47eb6343", - "0x00000000000000000000000000000078b93a8458bfdf943b9752ea5daac7164d", - "0x000000000000000000000000000000000002ea6351ee9ad4d1358095362a91f3", - "0x0000000000000000000000000000000fc8adf54a1993ffa42b72e55be90093f5", - "0x000000000000000000000000000000000013c5b8109ee406e07bd40351a1cf95", - "0x0000000000000000000000000000000a676e84600947812679774d4eaae5daf0", - "0x000000000000000000000000000000000013198751d7da4365cb170fcfdc609e", - "0x000000000000000000000000000000c2f5c0114cb4343377640105708515e9a7", - "0x000000000000000000000000000000000010bf4a02248d3e25290a8af862b119", - "0x0000000000000000000000000000003e8b424f891b66070bf3eb27d452067c5a", - "0x00000000000000000000000000000000001a3daed146cfc990f0c292b02092ec", - "0x0000000000000000000000000000004be992f0e8773cca9bb9093c5fac352538", - "0x00000000000000000000000000000000000cc6f164a002fabc1e25d8b00631d1", - "0x0000000000000000000000000000009c09e6fd070ebcf731de68428f3c6e2c39", - "0x000000000000000000000000000000000023e31f6b519392f8403116fcb1df78", - "0x00000000000000000000000000000062e28d17d825bf6045c48b98584920b01c", - "0x0000000000000000000000000000000000246dfbb9efaaa1d7d7b0d900ed3951", - "0x000000000000000000000000000000a2d87a4fb52952bf0175eb5dbe6d64e501", - "0x000000000000000000000000000000000001428703709cdcbd0f9be2ec801c03", - "0x00000000000000000000000000000011e02bcc6849864de35d5f21b9cb45f2c4", - "0x0000000000000000000000000000000000067ca8892eb36395b7e0574c4869ec", - "0x0000000000000000000000000000001417d2fcdb3dd2d78c579d5397b62333b2", - "0x00000000000000000000000000000000000795e887bf87d778f8381e3e3b2ef1", - "0x000000000000000000000000000000e74999a07682866f2930155b67e135bca0", - "0x000000000000000000000000000000000015d97a6426118f399f48d9e2d3fff6", - "0x000000000000000000000000000000901b06bf14f148402077df781fc85d5e8d", - "0x00000000000000000000000000000000000bf21ef2aa6e5a88b075c53e059f55", - "0x0000000000000000000000000000002a3bc5a7c179dbc746402042a4732b968f", - "0x00000000000000000000000000000000002f64b31be36f68969d1f58b3a8450a", - "0x000000000000000000000000000000eae3fb498cdb38de86ee001d8d9bca702f", - "0x0000000000000000000000000000000000203b05c53dbaeb635ccac0c864baf6", - "0x00000000000000000000000000000085ceb5cfe18f37f11ae97fd621515994c8", - "0x00000000000000000000000000000000001dbc81a7b5e634e64e521ff635c53b", - "0x0000000000000000000000000000007feaa4867f619ff411b80ef893e0d03abe", - "0x00000000000000000000000000000000002982f6439eda29289aaccbf71ae9ed", - "0x0000000000000000000000000000005677bf24963a3c83a389623216d207a99f", - "0x00000000000000000000000000000000000476a94548007fa421395c757d4b75", - "0x00000000000000000000000000000017006aa5f00d5608e0cbc68cc658b5d3a1", - "0x00000000000000000000000000000000000a4e0cd7ed760b9c1f05da633c7812", - "0x000000000000000000000000000000e590770b0ef7d13c983f2dd5ede4ac228e", - "0x00000000000000000000000000000000000d5553f40a334ea7b85bea5b7f5696", + "0x000000000000000000000000000000c4cf4b8d00735b31a7bc67452a6e664723", + "0x00000000000000000000000000000000002f696af73e41ce202843daec1e4c68", + "0x00000000000000000000000000000022ea7e55b1a7c3f38b6565bb33c00f06c9", + "0x00000000000000000000000000000000001b74fbc710ec7b004bab9d77bde8a7", + "0x000000000000000000000000000000480b3b8a9664338e6542751cae478bf1eb", + "0x000000000000000000000000000000000019bdf9af5ccfc09d44ce276f458075", + "0x000000000000000000000000000000dcd45cfead5023e207791466524a387cd9", + "0x0000000000000000000000000000000000131a540f86e11f36db6e9b43aed465", + "0x0000000000000000000000000000003c1918ec1dcf39db1ab3dcb4df2d4336cb", + "0x0000000000000000000000000000000000077cfaaf55787836ef722aebc31f63", + "0x000000000000000000000000000000bea46fff01f9512b19c5c632e82c859885", + "0x0000000000000000000000000000000000026a94ee556aeb1d359fcae61b3a8d", + "0x000000000000000000000000000000b4a2ea5c8f85e2c57d717a1570489ecec2", + "0x00000000000000000000000000000000001dd8517a959a32304eb52041ec4cf9", + "0x000000000000000000000000000000f7c2eed47800bcea6357ffbe2c2054a1f5", + "0x00000000000000000000000000000000000972360b580707ab91214694db27cb", + "0x000000000000000000000000000000acae13f192c0f0a25862b823669868b435", + "0x000000000000000000000000000000000028c2354e0487f75e792fa171f59d13", + "0x0000000000000000000000000000009b74bb3879a8cf9eae3aa94ead20f59aa1", + "0x00000000000000000000000000000000001084658469c5e77beee8a0fc9d874a", + "0x000000000000000000000000000000f423876d97a9c93feb8cfe951dbffa76d2", + "0x00000000000000000000000000000000001faa76e30e87d701a6a1d2b5dac27a", + "0x000000000000000000000000000000bb85e4a9b90d2368696e2d1abcb6e444f5", + "0x00000000000000000000000000000000000e67f817e8fc86144634ea3d9b64d2", + "0x00000000000000000000000000000067b74df5e680a5e5e3caf1c194191d7d0d", + "0x000000000000000000000000000000000024081e17402ed20be372651b86417d", + "0x0000000000000000000000000000005165cfa39291f1c49515ef5ea53bb3a356", + "0x00000000000000000000000000000000001dcad70dbbff1229f0cf1c816abd37", + "0x0000000000000000000000000000002cb8e6a77dcf60f86b076c25c0f574bc3e", + "0x000000000000000000000000000000000021eaf2f6914766e634cda05cac0568", + "0x00000000000000000000000000000094ab3147bdc3e2b9a3f95a1db080273983", + "0x00000000000000000000000000000000000f6867a01e793a96f84bbae8083337", + "0x000000000000000000000000000000abc2ec5ef2f681b6ba1f60071242b737d7", + "0x00000000000000000000000000000000001835500e969b03f286d6341f0586d2", + "0x000000000000000000000000000000a7fec9db2d6b5b44ad820a3bd1faf7145b", + "0x0000000000000000000000000000000000065b3a7c55339e94fc12cb1ce35754", + "0x0000000000000000000000000000004d168c89e3c2f5a524d1113187ddd64331", + "0x00000000000000000000000000000000000e6d021289f34c34f8d9e4a3979066", + "0x0000000000000000000000000000009ef44091f658a9884147ce70e52f832b91", + "0x000000000000000000000000000000000014ccb35a3e663da5537918c5523ccd", + "0x0000000000000000000000000000001bb2a9b923172d37a4ba6877e2c47a153b", + "0x0000000000000000000000000000000000021453372d7a9e16f0108a6bda4d76", + "0x00000000000000000000000000000041d8d38cf5a688092f529dff33aae9fee3", + "0x00000000000000000000000000000000001f26e9af75c8c20500cd89a575c32d", + "0x0000000000000000000000000000000a1c69746a59dc89df880fc19a9ffe5078", + "0x00000000000000000000000000000000000dae653b9f8949b1ba7940d0b70a5c", + "0x00000000000000000000000000000000a53f459f25887994aec6b1e2fd9d5212", + "0x00000000000000000000000000000000000220e2643b4b73f6e5463cd95c3ca5", + "0x000000000000000000000000000000b3436549da05a30b635cf603f25ef4e834", + "0x000000000000000000000000000000000023ef8c6316840f044b432a27ae74f4", + "0x000000000000000000000000000000bc3366d6cc786d452b90231ba4742b6364", + "0x00000000000000000000000000000000002377d506caecb1ba921858ce589ae6", + "0x000000000000000000000000000000050f577eb762841f02a14e15d44cd8cb6a", + "0x000000000000000000000000000000000024e3acedb6e615e3f4245cf428ea88", + "0x0000000000000000000000000000000daef67741df629c4c9b0684aeb0d914ab", + "0x00000000000000000000000000000000001a6e5747ac50e9b4b9b0de7bb3ff0a", + "0x000000000000000000000000000000160b5be3a4fd1909efdf318caad7c8cb01", + "0x00000000000000000000000000000000002d3f4fff3b3bf8f797b8feb598fba7", + "0x000000000000000000000000000000081cc1c1c3d7dfb0ebeb3e8e21c79d3346", + "0x0000000000000000000000000000000000004337dbffa347b5863fc6d9fad402", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -748,12 +748,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000005731ae82e63921dabe0e791def7fc8b00b", - "0x0000000000000000000000000000000000161e32db4438bf8dced853521ef820", - "0x000000000000000000000000000000987ff8635294c176be990106a511d04190", - "0x00000000000000000000000000000000000bb6a844fbba3efac3aed4c793dc9c" + "0x000000000000000000000000000000cb12dd4f0e6f84c20bfa8f5ee3b4946a42", + "0x00000000000000000000000000000000000a65f6ef82b959d9076e7257d38b9b", + "0x0000000000000000000000000000003f6b06afbedfdb741fa56dc48b7b03ce20", + "0x000000000000000000000000000000000019c6675db93e0397ed333c35e79edc" ] - hash = "0x02febbf5e834840fbf4d9be285794b443d6c364b95f39d7552acb1b08d131a77" + hash = "0x14463aae3aa875ac90e34035cca8ff7e275875bd0e4d8e99297f459cfff219cb" [[inputs.previous_rollups]] proof = [ @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x15ac6802794982eaff3e3ec974a547599c61440a6be414e689be2cfd1e412147" + block_headers_hash = "0x0d45c7a03e574203ae94e20ccc73bd68b7acc9eb6c121bb20b4d03bf78e40709" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x00abb50b8989a7f19fd4526d43e15a1ab5d2a43af413cc8ca91e82a3c8828625" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1289,7 +1289,7 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -1305,11 +1305,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98" + root = "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf" + root = "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1354,10 +1354,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335" ] state = [ - "0x1a74ff032ae620c0f07c131712778ce545e2e0d87ed3ce855e5e490bbcd805d8", - "0x007eb8e5e9c4e4e432db874bb4ac0e2a990b5b87098ea24c42716a7dd03ef9ab", - "0x2563c6fbeacb77e44cd706bd60496b9a59a26d068b849293bbee419a763d75e1", - "0x0ca40344a9d927d78b30ec37788ea74c3a35801770c9e5a10c8164e7be6b300a" + "0x102f1a257e06f97cc27fe39d748c0d3f2b3b4582bf369fd33ebf5566fde83cb6", + "0x2085d8042fb334f1076f5457ffce79923cd0523b43e379da9255377ea3ff0900", + "0x2e98cd16638c9481c3490c09b27b894dd912e8f4bc90d9b1545374af7228e1fc", + "0x19422370c5aed616c0711f10a7118c484f7c1b021b4063cce3a8b7f6dc196d0e" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" ] state = [ - "0x0adf660e00555bcf5d77b0cfe9c5aa131235569aae931b981291ee9a349ec479", - "0x1b8118e91a510ef51da9258674006942ae64836d511908ce5c66ca18aa86e72b", - "0x24ed4cea60aed332d8fc271dd7a99f0dc1c2f6386c8e884fa43e9510526b5cd8", - "0x0742e3139758c4aa10be96766e5e25d48a48c7a7b6097fe02635ca95d81c48bf" + "0x1c639a20eb772ff445747ba7f38ff68d3e147dec63791c7feaed40e007c7c115", + "0x020acd7d6dc41d07f7f49d90041371c6fd8eccb326ec1d2401a9bf2c0c3d0978", + "0x260226ca0641fb3743250a17a3734f4fa0832d6b0f4bae7f2ec4fe3134355305", + "0x070eb4144ca2e4dbd68825dae3532353a7d7254050e858654791e2bfd5645fc2" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1383,11 +1383,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000e" sibling_path = [ - "0x0bfde7f50b59998fe565f59398f58b1f5bcc0e7ba275bd35e5a2e0c8d38fb522", - "0x138019b15179e54b1225f536e24c39dbff83f071921a796ed02d107990e4abf3", - "0x0d49b977bc426497c9d51a719fc968f4e28389d7fd90905cf44eeae89996775e", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x1d1137ec2328042de98048857a675eed4592e6155aed990914021a7005045736", + "0x0297c37260a0f73265406587d668cfb2c151d0f49599fea7415db7170aa89904", + "0x0eb5cd857b924427ee6b31184d5ff99b8e7c83a41df9f7b8631c4bd9ded7dc0f", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1397,94 +1397,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000014", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000009575206080951c3ff1335d8f43f2af9e29", - "0x0000000000000000000000000000000000265b3df3a6f660e9e955603ed7ebf0", - "0x00000000000000000000000000000012475f22609266effa9d130c5e2597016a", - "0x000000000000000000000000000000000023788c27cd95b400312d3f0efb2165", - "0x000000000000000000000000000000bca1bfec38d9cf2d2373008a84545b1302", - "0x000000000000000000000000000000000016e991839e463588c8c018b40a2d31", - "0x000000000000000000000000000000a90a979e675fab13ae05d123c7f47629e8", - "0x00000000000000000000000000000000000e7170c149584df3b55f322eb09966", - "0x000000000000000000000000000000564a93625a447029468328eb2144820ab1", - "0x00000000000000000000000000000000001c0a081ad76a187e97c331773805fe", - "0x000000000000000000000000000000a68aa566acb9e20d5e35ffbcee47a93732", - "0x000000000000000000000000000000000015d1c4890e6b4878356f7f9ab7914b", - "0x000000000000000000000000000000f9bf690971a7635df25fb6a046a487bdc0", - "0x000000000000000000000000000000000004dc4c1b9fff274eaa395ba110d149", - "0x0000000000000000000000000000004697a83ef3a028f007e564b9dd8fe941e5", - "0x00000000000000000000000000000000000b72a467be3fb3e66a72f75f558902", - "0x000000000000000000000000000000bd5a8291c2f760597a90b7ffeaf0dc1ad9", - "0x0000000000000000000000000000000000166434e244cc91ea5f990894fd4db9", - "0x000000000000000000000000000000730cb08c97c1d7e3d65ee6192a86ae6588", - "0x000000000000000000000000000000000011f76acffcfc122e68e4eb026b3af9", - "0x000000000000000000000000000000222c7ea3e7b8c501f77ad32c35905ff4fc", - "0x000000000000000000000000000000000001694eea7c614ad31ec2c5940d8e3c", - "0x000000000000000000000000000000e084f4295c43b4d1c148184e1b9f0fae04", - "0x000000000000000000000000000000000004b8b67ed547cc4e900c892e8a6bcf", + "0x0000000000000000000000000000007764f1542d6d895aae3fccc71f0b85b793", + "0x000000000000000000000000000000000029105663df643ce4d8280c82e35ce3", + "0x00000000000000000000000000000094cce12d38ed2e37b6b4cecbb066c08e07", + "0x0000000000000000000000000000000000209603dc8e7d982667fbd89db45b47", + "0x000000000000000000000000000000a7feab85601e783475d71572f490ecebea", + "0x000000000000000000000000000000000029efde277358c0793837e8fb5462fe", + "0x000000000000000000000000000000d8897d7a64d2a1066c00428650b8a0d5f7", + "0x00000000000000000000000000000000000ec5a6062b53bff9d25ac46887b36f", + "0x000000000000000000000000000000dbfc3a299bd53d6ae537d84ba84a8c3cc5", + "0x00000000000000000000000000000000002a43b578a2f183698b684091bd8ca5", + "0x000000000000000000000000000000fde244d29130fd07543ae8f2db9b0bb700", + "0x000000000000000000000000000000000011f95322f5b003fcbe084745f3ea28", + "0x000000000000000000000000000000906d43034defc686191b77b256f9e77bca", + "0x00000000000000000000000000000000001d20dd6df724d3c57a397c523df175", + "0x00000000000000000000000000000091a234d1e7f28a2b88b6f31d7812182ff5", + "0x0000000000000000000000000000000000231fde047c8afa51e15768e0966750", + "0x000000000000000000000000000000cfbedf53b3ab52955c6dcd94f2548de6f9", + "0x00000000000000000000000000000000001d6ffffedd133acbecd781f9cbbdd9", + "0x0000000000000000000000000000003b0f5d240dcb3c710771024cc64ee0bf46", + "0x000000000000000000000000000000000026144b3546fdda13e3e23be50d296f", + "0x00000000000000000000000000000058613fd12995cdd8c7832399fc6ca7ed27", + "0x000000000000000000000000000000000028e627d656352de54b6bf745bcef6b", + "0x0000000000000000000000000000005310e03e3fa6a670df40a036c1b680513e", + "0x00000000000000000000000000000000001a7bd149a0f765d40925766be2adad", "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x0000000000000000000000000000004e3aaaecdf535df8797d075a6d198d8431", - "0x00000000000000000000000000000000002407da60b9a4d254c4a7a64d0c421a", - "0x0000000000000000000000000000002691c32e5cd410e78cef6a3521ef794271", - "0x000000000000000000000000000000000007a28e226ff47306f11c36a0b16124", - "0x0000000000000000000000000000007ee149cdf82e8d5006cd86221b540297c1", - "0x0000000000000000000000000000000000258374bf67386ff6d78b0b790685ef", - "0x000000000000000000000000000000eecd1f53614ffe2ea27dee99aa81b3c5d8", - "0x000000000000000000000000000000000021adbd8fcc20d7cedf8ba700c76e06", - "0x00000000000000000000000000000087e4c719f392bac81af17cc5d85e33043a", - "0x000000000000000000000000000000000017a71342e9f8e99061dca697b655f2", - "0x000000000000000000000000000000f1e04185d20cf15b8034d7345d74f267a5", - "0x00000000000000000000000000000000001729f178d39dec35d6cb0133dd5e4d", - "0x0000000000000000000000000000000957f4ff3d5f0604362114b1a83e6cac33", - "0x00000000000000000000000000000000002990edb2fb26951e309f3a83582d72", - "0x000000000000000000000000000000dfdf72824af84ba0325c376917c1494b52", - "0x0000000000000000000000000000000000017c948872b6639bf56890df545d30", - "0x000000000000000000000000000000a5463c84128802a1a2b13867771bc41ba4", - "0x0000000000000000000000000000000000040280b8ae2cd27f989b4081998549", - "0x0000000000000000000000000000009c60c580fe72cf868347b5370b4c10ad16", - "0x00000000000000000000000000000000002ef444ebb0cae54b9c80e951dcfb0a", - "0x00000000000000000000000000000091b4eb66630582c5b65b88f30f20dc3ef9", - "0x00000000000000000000000000000000003043ae6dc2c8e2ee4eef9740df0bed", - "0x000000000000000000000000000000b3d2bffa4e72752ce26e02bbdbecbebbc6", - "0x000000000000000000000000000000000027d348b3836d8cd091fdd09bdcab93", - "0x000000000000000000000000000000ed56537d5a49b0285a43598f2636f362d2", - "0x000000000000000000000000000000000024acd3dca0a6292142cd407a5edfc9", - "0x00000000000000000000000000000002603d48b59177f78ec7dbd288ce2ab796", - "0x000000000000000000000000000000000022d42b49192d978e47f389e1dcaf8a", - "0x000000000000000000000000000000a694bff590c823714e9a31b8628f70ce40", - "0x000000000000000000000000000000000026f5792435d927cc61d2c3cb732651", - "0x0000000000000000000000000000001314f9ffa6f5dca5123effd780f7b14b0b", - "0x000000000000000000000000000000000022b9b563d4bee346f2074b800d89ad", - "0x0000000000000000000000000000002d88ea184e3f258e557a2b3bdac204676a", - "0x00000000000000000000000000000000002e95ae758457693987d541b063ad5c", - "0x000000000000000000000000000000a5c93f208eb5472df9c919a5ce9934d7a6", - "0x00000000000000000000000000000000002385b41d555024b5675a6926874512", - "0x0000000000000000000000000000008aae03eb861bb7ee4d7c7846634c68c1b8", - "0x000000000000000000000000000000000025240c951c1ee7af7909d780bfc0d4", - "0x0000000000000000000000000000006712655b307705615004990946a2d565a3", - "0x00000000000000000000000000000000002d5a7254c410a7a126c7a415f48646", - "0x0000000000000000000000000000004b077e69cf6510eb729ebf732739415fcd", - "0x000000000000000000000000000000000004f8dbf259b121acd4c098d3381750", - "0x0000000000000000000000000000001224603745ced0858d34442bd230dafe18", - "0x000000000000000000000000000000000002d8b4b203adcb132043e4f3daf3d7", - "0x000000000000000000000000000000548b865f7edbb589424e9db5e5e4bec6e9", - "0x00000000000000000000000000000000001f904391b90201b7387ee79fb8d6a2", - "0x0000000000000000000000000000008ba16515e48a34cb7e654cac583b40fc8d", - "0x00000000000000000000000000000000002e1dd8e58a008df40ea8d5d873f9b1", - "0x000000000000000000000000000000f5184161bdc0dcf8dc9c5aaf1396a494a2", - "0x00000000000000000000000000000000002780934b31114f1e5e412353f0ee68", - "0x000000000000000000000000000000d8006a131d046dcb4ce3fbbce4c5bde684", - "0x00000000000000000000000000000000001889419d4d1c9dab75389697e2f27f", - "0x0000000000000000000000000000003b08b224fcd25d44fb129b83a288bfc306", - "0x000000000000000000000000000000000025ed8af713cb4dd72a0cad922faf62", - "0x0000000000000000000000000000009b4de7a2ee29c7cf61ad47fe72898b9422", - "0x000000000000000000000000000000000010e011cfe8d3e505b351b7d0d48515", - "0x000000000000000000000000000000aa72963bb7f3f71c985a781dc8c06ca3d6", - "0x00000000000000000000000000000000000a7a3627bcb84a292852f571a46a3d", - "0x000000000000000000000000000000245950191dcc15598a472ddf3cd8ac7325", - "0x0000000000000000000000000000000000165bfb0c71a2990f780f80c131159e", + "0x000000000000000000000000000000d98c1c20222dad56bc506e59df0c0c4d6f", + "0x00000000000000000000000000000000002b1726c0d4db03e6f93a70d3edd8c8", + "0x000000000000000000000000000000658e956100b47964c3596085a164306389", + "0x000000000000000000000000000000000018baae4df77654c77ff3c1fcc71e77", + "0x00000000000000000000000000000013706eff4cf666ed408aac37d8b77ccfea", + "0x0000000000000000000000000000000000116575b7cd20a3a627007c0414d03b", + "0x000000000000000000000000000000cbf5fd9419777f1f828d45481d6c316eae", + "0x0000000000000000000000000000000000279bd5f67d95b512f34f9d74fca5a7", + "0x00000000000000000000000000000050670718b8fdbf2b5a1c81cc850376b0da", + "0x00000000000000000000000000000000002cbebb8cdafc65e1a15f7cf8bf6889", + "0x0000000000000000000000000000003d91b549f38ba26a2b9c2c9bbb7e1d3699", + "0x00000000000000000000000000000000000c818a160bce850819c5ac3bd9e61b", + "0x000000000000000000000000000000427a3384d4b243ae54b5af54180984f29b", + "0x00000000000000000000000000000000002af317b67f42ee4b6e5ffcc9838f90", + "0x000000000000000000000000000000492a293298440816c4647145e8138af498", + "0x00000000000000000000000000000000002272766bbc9cfdadeafbecf067a7f5", + "0x00000000000000000000000000000053dd7f8fcd960a8b4abbcee3911de2a131", + "0x00000000000000000000000000000000001bfcf42ce8db2ec1dbdb5fd81f0d38", + "0x000000000000000000000000000000642a874f4c3cd1446c2d1407d875e950ad", + "0x000000000000000000000000000000000002b0c89ea0143551ce22d3238ed54f", + "0x00000000000000000000000000000000cbc8db7fefcbc2da2189b07aa2d44e68", + "0x00000000000000000000000000000000001e60049f179ad60270856319731e06", + "0x000000000000000000000000000000783749a95b5893beb11b9cb74da918e3a1", + "0x000000000000000000000000000000000017d769b33971a41e3ffd2bf9601765", + "0x000000000000000000000000000000155400d58337bed218de4bb7ab4a5cefd6", + "0x0000000000000000000000000000000000244ff53be7ab7a67ed7ca2a78f2ed6", + "0x000000000000000000000000000000393416808d306edee0fb61702cda7369c4", + "0x000000000000000000000000000000000012fd1550a13ae116f6a2971cc0c715", + "0x0000000000000000000000000000007e92992a5ac65a22012e6316a88fb8eb54", + "0x000000000000000000000000000000000020b35560c446bfd5a0a72084301081", + "0x000000000000000000000000000000e65f6d1323c47290fb361c715a1ae3f2c8", + "0x000000000000000000000000000000000026da1fece995253f8114664bb5b42b", + "0x0000000000000000000000000000005fbc8045e14c0641f5af4be21c9eb66ea0", + "0x00000000000000000000000000000000001d199f611eb15d945aea29f61b47db", + "0x0000000000000000000000000000001f273335e9b43a304d4a943290add81152", + "0x00000000000000000000000000000000002908834e699504c163c586dcc01ff7", + "0x0000000000000000000000000000007506281b53506e094a5cfbf528dbec337b", + "0x000000000000000000000000000000000021b2f99c40e91a687ee1deba08c64e", + "0x00000000000000000000000000000099a3772c8bf6e3bebe50c622283033d1fe", + "0x00000000000000000000000000000000002681d305ee7d8ec8e161528d0e62e0", + "0x000000000000000000000000000000d2325a8b5cb09c3a03fbf2eefb73baa3d1", + "0x00000000000000000000000000000000001ba10dc8b6a827c07c09d1caffc7c3", + "0x0000000000000000000000000000009b435ab414b7721f20c4fd6c7b362df553", + "0x0000000000000000000000000000000000159b8ab6340b6a698869a815de197c", + "0x0000000000000000000000000000007955a9e2fd0912396216706e9c85d7daa9", + "0x00000000000000000000000000000000000994208c6ecd9ce5ad2bfc86d5c0be", + "0x000000000000000000000000000000dbf9827369c8150289dee63104cd45ce53", + "0x00000000000000000000000000000000002fd5200bafaec6cc0430b9f63da9eb", + "0x000000000000000000000000000000f06286a204faebc7567541536d3a32b858", + "0x000000000000000000000000000000000005a618a87099968ba3b61e8b6bd93d", + "0x000000000000000000000000000000c559d885865bed8268b13448ebb9141131", + "0x000000000000000000000000000000000008e67d0bb47e1109b58d6abef65c09", + "0x000000000000000000000000000000f53a2e435d4ebc9327f15a824cba20e34c", + "0x0000000000000000000000000000000000098a5eaec59712ea28046887871b3b", + "0x000000000000000000000000000000a8909180c5d348d68e457819a5a7a72272", + "0x000000000000000000000000000000000024cb77e2ba38336de4454548040b33", + "0x000000000000000000000000000000e627258bc1339bbc77bbfdecf3215d2474", + "0x00000000000000000000000000000000001901999c1a3bf4b8808ced9ffe8be9", + "0x00000000000000000000000000000043162eb50692f558c8363b33d47be195f4", + "0x000000000000000000000000000000000015d100aa12096939483b39e2484a67", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -1505,9 +1505,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000776c10e820bc2b5b6eddb50ea81be93c9a", - "0x00000000000000000000000000000000001ec13b6ff08118a64295e9060deb6d", - "0x0000000000000000000000000000009e6161d79d469e866db04e4116d36a7c14", - "0x0000000000000000000000000000000000247d4633ba1b1ab90c9e569789e61b" + "0x00000000000000000000000000000080572ee571d79fccc162f5dcb4e0edb485", + "0x0000000000000000000000000000000000262b3a3dbc33b6a799e340d6700688", + "0x000000000000000000000000000000cf302682bd8ae6025d60b20f92b10dd7a0", + "0x00000000000000000000000000000000002e912261321b34135e55589cedc43a" ] - hash = "0x0f525cc42266f817e0c7419eba7fdbc52b74afe2a2cea460d976bba4981779e3" + hash = "0x228e39d81bf3916b894f2c2db88adcdffa29259103dfe2e715fc7dbe7be6376c" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml index dd47b928240a..3bbcf04d303f 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml @@ -517,16 +517,16 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" converted_root = "0x03e810155f954a3153337c3a534ca1df473c1a7e5ca6e78bd58de13372b5c6b4" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", - "0x1ee6b112672ac1c43acf4b8a2bd32e94346c237ab5e106a38a51c81202496e45", - "0x0db8cbd95ee2bf6f6aa91946898b0b2d4e3f6717c534a8c15d6212eb293aec08", + "0x016ec951c4d9d145b83f63e58bb7714d980a6b7566ee460bf82da44e647d668b", + "0x2aa0d57df3762b031a31219260febd79570fdec2aa53ff3dbd61c3fe460d31cf", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -536,94 +536,94 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000000b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000084284fde6a68ae90f6e8ac71ae351172e5", - "0x000000000000000000000000000000000008a6b2119be559b31e274379cdd2a0", - "0x000000000000000000000000000000b90a379ecbaeaff50ad88520e47d8f66f3", - "0x00000000000000000000000000000000002a689f3ed0320f104adab4d0a74206", - "0x0000000000000000000000000000006f26d90fbc8e8591f736dcd98a72deaedd", - "0x00000000000000000000000000000000000d3cb69edcb0031e4aff9e595d82c1", - "0x000000000000000000000000000000dc171ad5eb0e2aae1037bf7d0a070ad2ae", - "0x000000000000000000000000000000000021d7911dad342dd5f305227f6f3c39", - "0x000000000000000000000000000000cd82524d2bb0bf5daa837188094d8e31ba", - "0x000000000000000000000000000000000025a65794a2b69cfb8f068b6ed067e6", - "0x000000000000000000000000000000c76b59c1bf7331f8883c6cbabd19572850", - "0x0000000000000000000000000000000000055a6777e9046d1189ee65bbb9d907", - "0x000000000000000000000000000000a88ecd03dbc91db451cc10ff9bf1edb4ed", - "0x0000000000000000000000000000000000108807e25eb9f893a07dab798d0f7b", - "0x000000000000000000000000000000329bbf96693c9d1f332ad0f2c4b5bdf148", - "0x00000000000000000000000000000000002b12e712cbcda430af636813b355ad", - "0x000000000000000000000000000000b1f7c5498ca271c97629579a853fdf8b99", - "0x00000000000000000000000000000000002b0b6a6638b1345cf01718aa16fb4e", - "0x000000000000000000000000000000facc788a35aa4d89f116329c35cacfc31b", - "0x00000000000000000000000000000000001ef05f12be807e1347c9c6c0508ee1", - "0x0000000000000000000000000000001174cbfe45225c042000bf707c42b9e4e2", - "0x000000000000000000000000000000000016c8a90f528a296a68f1e694c96d6d", - "0x0000000000000000000000000000003e2da5c8b91fa9f36fd2bbc3fbce904319", - "0x00000000000000000000000000000000000ae02ed2a23258389452931db74b93", + "0x000000000000000000000000000000a869220bb60448c56a88ea0982c36da916", + "0x0000000000000000000000000000000000085b91598360b536667aff55d2bfc7", + "0x000000000000000000000000000000edcde7cc373d88c1c2eda7f5b4d0cafb83", + "0x00000000000000000000000000000000002421352edc6df85ad47f61227566f3", + "0x00000000000000000000000000000076e7c595daf9e00bb8b57e31d66d7e02de", + "0x000000000000000000000000000000000012b9ea4b3c6803b32062ec0e4ed826", + "0x00000000000000000000000000000089ff50f8221dca579d059cd6e48d20b672", + "0x00000000000000000000000000000000000731f05ace34c95db185cad27d6f4c", + "0x0000000000000000000000000000002e5de682320472040dd5fd10c12b0cd5ca", + "0x00000000000000000000000000000000001b670bb92669a2d2f51fa97d4f92c9", + "0x0000000000000000000000000000009892035b16a0e2d7df6d775e7eccbcc709", + "0x0000000000000000000000000000000000011e87b5f71259c3e6ad80c95233aa", + "0x000000000000000000000000000000d939e037655b470dcbe5c2cdc533fa10eb", + "0x00000000000000000000000000000000001a785fa4c49caa57ee30d889e673fe", + "0x0000000000000000000000000000003a975ba1f0649cf1f1b3bfef88fc4437cd", + "0x000000000000000000000000000000000007ce093575111fca343ca56b153c47", + "0x000000000000000000000000000000111a7da39a9bf181db285d6808e73d9244", + "0x00000000000000000000000000000000002c3f6a43ad56fb83757b17bf48c7f3", + "0x00000000000000000000000000000068482e0728ffc864fc24fcdad61048d867", + "0x0000000000000000000000000000000000069eb9783661b3c88436830b80270f", + "0x0000000000000000000000000000004c811281cbd27f8a82c6dc8af0374f9afa", + "0x00000000000000000000000000000000000f4d7305069c95afe2008edef76171", + "0x0000000000000000000000000000007aad2c0d0e27960ae39412649cabb58364", + "0x0000000000000000000000000000000000082a05536d05dca51595ce9fdef25b", "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x000000000000000000000000000000a75558294dcb6b5bab60405e57aa0163eb", - "0x0000000000000000000000000000000000305b77c053d08b45a3c1029092507d", - "0x000000000000000000000000000000d483bb901c957388bc0ed657a20efcbbfe", - "0x00000000000000000000000000000000002ee6e446d1d19dfd22ec4d84042c8f", - "0x00000000000000000000000000000010dd21566fbc16cd468da9cfb5c5c5a873", - "0x000000000000000000000000000000000021c6d73b5c83810b0ef6bcf4d4c1bf", - "0x0000000000000000000000000000002d9ff845335eec3d6d2210a9eb12d6ba32", - "0x00000000000000000000000000000000002f9dc047c81dea4c247341decc0dcf", - "0x0000000000000000000000000000005a76c73337b3f9a77eb4d32102ff144741", - "0x00000000000000000000000000000000001bf1a766ce98a48d1f4bd5a04dbec9", - "0x00000000000000000000000000000001f454f67e7bed44b72f152841af56beb8", - "0x00000000000000000000000000000000001568333169ee25686e27c7e8ed2328", - "0x000000000000000000000000000000e92f2ca9b2bebef01a8d4752f431db0ff9", - "0x00000000000000000000000000000000002b0aa334855303c22fb3cfea2eb465", - "0x00000000000000000000000000000059695df8655332bbf729b61933d3944268", - "0x00000000000000000000000000000000002f530ab846079ace8a0af952e89eca", - "0x000000000000000000000000000000b6c4693703c7f0db988fce0d4d4bebf1fc", - "0x0000000000000000000000000000000000059eba35528574e0f1ef5abcb01b30", - "0x000000000000000000000000000000f0a7f8b61a1bd0047e36344d955b4a6949", - "0x00000000000000000000000000000000000894faa0de870c6b1885fd0ab57779", - "0x00000000000000000000000000000012621de4173a0cba644df3bb5d91ac5ba8", - "0x0000000000000000000000000000000000200599f6eb54bb52ba23cb6f090c66", - "0x000000000000000000000000000000fd62def9bbf7fc49e13639d28a7b55fcf6", - "0x0000000000000000000000000000000000072f4b079d9f1a62aa146dbb98f96a", - "0x000000000000000000000000000000f715dc98c1820c6cf0d04dbcf192f1b330", - "0x00000000000000000000000000000000002ce78842cab3ba6a02b2f3e4e2af10", - "0x000000000000000000000000000000d43d0bfefad015c8ab16875279d73eab41", - "0x00000000000000000000000000000000000d6c92a114ad030f26222e385de45e", - "0x000000000000000000000000000000a47daec51ae4b7da9aadd1b6763e8cb303", - "0x00000000000000000000000000000000002f2a422879ba57a056addc66ba05a1", - "0x000000000000000000000000000000635ec17775ca3bb087d94484a31a0767ee", - "0x000000000000000000000000000000000005c8cfad4f9aa8da0fa10c37c795fa", - "0x000000000000000000000000000000e56b9eb34e7c1d1e27b840bbde18517248", - "0x000000000000000000000000000000000021327e13680f55e2a183424580c661", - "0x000000000000000000000000000000f6e7455dd49b8506af39b8c7793cdad1d0", - "0x0000000000000000000000000000000000126947383d6a4539be0feb2a39f0c0", - "0x000000000000000000000000000000adfe46891f8927e5f20d2cf4b29b4dbfe4", - "0x00000000000000000000000000000000000f856f28cb32cd0f16dd9aafd169be", - "0x0000000000000000000000000000004ebfefdd12680c64953113de94ac41f8f2", - "0x000000000000000000000000000000000012a98e6ccc6b4620f27bbc85f4a7b9", - "0x0000000000000000000000000000004dfa89919ef18e2c197c5dca8b2e434521", - "0x0000000000000000000000000000000000066a2be7701ae296c061025b4dd278", - "0x000000000000000000000000000000e6d3d434705fbbfb4c7a8ca058f8021155", - "0x000000000000000000000000000000000013f0e805b738058e36d91232ed9e17", - "0x000000000000000000000000000000dead66271bb98b739a605c31c0d123fa31", - "0x0000000000000000000000000000000000036e5d4edb62561c22ae6dc69e34b9", - "0x00000000000000000000000000000031a19c84b2e7be6645e1cd1dad8dba5235", - "0x0000000000000000000000000000000000264227e16f630bab055fd7cacd168a", - "0x0000000000000000000000000000003bfd6b9f9bf1f6b895e4b71bc08748320e", - "0x000000000000000000000000000000000017e7f8c587d2b510c0c1cf49ba78c6", - "0x00000000000000000000000000000065a0a989576d87cdfab87e715d08430604", - "0x00000000000000000000000000000000002a47d9f9f6df828fc82be253164057", - "0x00000000000000000000000000000052916994e4cdf87abd8b6edd3341ceda74", - "0x00000000000000000000000000000000001a68f07e8a0b65dac1e7919039edef", - "0x0000000000000000000000000000007bde705d7893f62fef14f76666a15bbc5b", - "0x000000000000000000000000000000000022866a7d377683d0e4fcc01301fda7", - "0x0000000000000000000000000000004bf7c62eeff3045c5c2320cf7d87a04b06", - "0x0000000000000000000000000000000000028cef982c0d1af9cefdd086c61783", - "0x0000000000000000000000000000006836c72bc038e647b0e7bf8134e2636863", - "0x00000000000000000000000000000000001f3d062d426ac882a90c2e60350d02", + "0x00000000000000000000000000000041722c68e780b9c74fc02769f0625e9b44", + "0x0000000000000000000000000000000000200ea4ee3647c1ac36cb5436298916", + "0x0000000000000000000000000000009151224fae64ce98caa19f5038da868e0c", + "0x00000000000000000000000000000000002fb6747603baab283c26a41a11e5f2", + "0x00000000000000000000000000000086bb37067af9f7ebb4870ae7781fcb850f", + "0x00000000000000000000000000000000002bb88d50403851dd07f7f1c071582e", + "0x000000000000000000000000000000cdf6f3149d2ec0a581849ead19edbd910c", + "0x00000000000000000000000000000000002d41cb4da07c313e46000bf137bcd0", + "0x000000000000000000000000000000e4f85ebfe833717c06c2a4bd21cef69778", + "0x00000000000000000000000000000000001ddb256eb4b8a99c5f90e5a9048c76", + "0x000000000000000000000000000000a5ea8faedd7d96dbea101a7a16e7c294d2", + "0x00000000000000000000000000000000002bab85bd7fe9ff76f5eefafa295a11", + "0x00000000000000000000000000000090b93817010d25a1b9469dc58a239fe9f9", + "0x000000000000000000000000000000000000aaefd85977468ec42c455eddb38b", + "0x00000000000000000000000000000010e770d0090900e2ed2504a209c8107b73", + "0x000000000000000000000000000000000000df169cc58b3316eb35beb9e3920f", + "0x0000000000000000000000000000004fac1dd8d6af699c5381eb70925f1b2110", + "0x00000000000000000000000000000000001b9653a04bc28cfa8557aba03d21af", + "0x000000000000000000000000000000d687b6463566615470210ecb08df78c859", + "0x00000000000000000000000000000000001454cf220658c933c410131b81da32", + "0x00000000000000000000000000000044aa6ab00ba147fead41b8a94a885291ed", + "0x00000000000000000000000000000000000b1642e0f658cac369eef0915f7e57", + "0x0000000000000000000000000000007c56b922b4d55e51c328fab95d655d325f", + "0x000000000000000000000000000000000029a6937a5e728315e8c71ab6c4620f", + "0x000000000000000000000000000000364b75092571d3570a6e9867a776a2fd72", + "0x0000000000000000000000000000000000227c4f0630564d11ca5f936b9787e1", + "0x0000000000000000000000000000009f16c3d1c16bde35067efd8cf81d48c3dc", + "0x00000000000000000000000000000000001884a14d085094f1abb8ab7823a59e", + "0x000000000000000000000000000000b02f2bb5163640bbc400b968cdf4be142c", + "0x00000000000000000000000000000000003001a75d2a2fc186af21665bf21a67", + "0x000000000000000000000000000000e9052ee8ffbe248e9e3fc2023004f3c179", + "0x00000000000000000000000000000000002b389d83d22c47ee535500b70d13b9", + "0x00000000000000000000000000000020367b8800874448bbe7bea5a0bc7a819d", + "0x000000000000000000000000000000000004b5247c70e49fcf51eb2e1dc4da60", + "0x000000000000000000000000000000e6ddf5141f09f78e37708fc439f9a281c2", + "0x00000000000000000000000000000000002cbac7b3c7fc35e0581bc13ec7dea6", + "0x000000000000000000000000000000e60884f6fe076f76acaa772091d9c82eac", + "0x000000000000000000000000000000000010795ba7c5e387a02431294d3949f6", + "0x00000000000000000000000000000051dfdb199d28b7e20c5d919e6ae23f3346", + "0x00000000000000000000000000000000000ea29fd2f53b24be7f98b2a04cf2f1", + "0x0000000000000000000000000000001305f0dfd2291343d8348df043cb23ea8d", + "0x00000000000000000000000000000000000b50362e98d7623dcecfb196234311", + "0x00000000000000000000000000000037b40cfd870ca51b40e44c099324511db9", + "0x00000000000000000000000000000000000b7e6d620fd25835db752f21ddba19", + "0x0000000000000000000000000000005996e94f48e097ee3b843001d0ea47f158", + "0x00000000000000000000000000000000000380e68fa818c15482268e1c693aaf", + "0x0000000000000000000000000000002f56353e114dcc2a1b8ac0caf9d144d3c8", + "0x00000000000000000000000000000000001a1662d91a016c6085500792530120", + "0x000000000000000000000000000000e8bd6cd709705bab33b7aed87cff6c2786", + "0x000000000000000000000000000000000017a47911691fe2f5e2d798afd07e17", + "0x000000000000000000000000000000332722f147038c658c58c4365d4da24c4d", + "0x000000000000000000000000000000000005a04c29a698f81c9101936f256f0c", + "0x000000000000000000000000000000040c487be424c2ae45480f337137faae78", + "0x0000000000000000000000000000000000181aee5f53db709af1d8751e8901cd", + "0x0000000000000000000000000000002b6b89c7f42455340b8c688594c2a95b77", + "0x000000000000000000000000000000000015403983c331b002d1f73581838ea8", + "0x00000000000000000000000000000022f3e0998b3c326d5c90d722707064e4da", + "0x000000000000000000000000000000000017838e9d743f03d248d8524e027862", + "0x000000000000000000000000000000429d6d01202d771ff9651dcee8ddfdc21a", + "0x00000000000000000000000000000000000a62a998ef16fd5c044c8d1f2e07aa", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -644,12 +644,12 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000007e0c6cf2276b3ee8d79b99ba0e2302a2f0", - "0x000000000000000000000000000000000010ac1dfdfc5a472271e8aafa5e8ac4", - "0x0000000000000000000000000000001070efe3be32b556bfa141a85bf85d42fa", - "0x00000000000000000000000000000000000cf51138cbb12a99d2933bc3e7ed1f" + "0x0000000000000000000000000000006e220409ac37bec373523c94dca923fe74", + "0x000000000000000000000000000000000020a5e872a8feab1a06a030e837171e", + "0x00000000000000000000000000000060b242e87bc4e5123f1d95e7e37a3f3705", + "0x000000000000000000000000000000000006549d1940f60824abaeac66511df0" ] - hash = "0x26393237eb1887f1c0ef7bbe4ac346497caccb8cb952770a056f100641049eef" + hash = "0x1c38c08266c3fde61212b3a40426aea147c3351ca6a5a6e1e4c680d85c241966" [inputs.previous_archive] root = "0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4" @@ -674,7 +674,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml index feb7eeeb8414..acbc509a445d 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml @@ -28,10 +28,10 @@ new_l1_to_l2_message_subtree_root_sibling_path = [ "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759" ] new_archive_sibling_path = [ - "0x178e115a38f768372563ea577a0b49c6f9b8f1a436fb91eb63b9bc061574ab8c", + "0x18ab2dcff398a19d86415c407221c2f7c63c30d5ab6465fbc5887aacaf347308", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", + "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -516,16 +516,16 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" converted_root = "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", - "0x1ee6b112672ac1c43acf4b8a2bd32e94346c237ab5e106a38a51c81202496e45", - "0x0db8cbd95ee2bf6f6aa91946898b0b2d4e3f6717c534a8c15d6212eb293aec08", + "0x016ec951c4d9d145b83f63e58bb7714d980a6b7566ee460bf82da44e647d668b", + "0x2aa0d57df3762b031a31219260febd79570fdec2aa53ff3dbd61c3fe460d31cf", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -535,94 +535,94 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000000b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000084284fde6a68ae90f6e8ac71ae351172e5", - "0x000000000000000000000000000000000008a6b2119be559b31e274379cdd2a0", - "0x000000000000000000000000000000b90a379ecbaeaff50ad88520e47d8f66f3", - "0x00000000000000000000000000000000002a689f3ed0320f104adab4d0a74206", - "0x0000000000000000000000000000006f26d90fbc8e8591f736dcd98a72deaedd", - "0x00000000000000000000000000000000000d3cb69edcb0031e4aff9e595d82c1", - "0x000000000000000000000000000000dc171ad5eb0e2aae1037bf7d0a070ad2ae", - "0x000000000000000000000000000000000021d7911dad342dd5f305227f6f3c39", - "0x000000000000000000000000000000cd82524d2bb0bf5daa837188094d8e31ba", - "0x000000000000000000000000000000000025a65794a2b69cfb8f068b6ed067e6", - "0x000000000000000000000000000000c76b59c1bf7331f8883c6cbabd19572850", - "0x0000000000000000000000000000000000055a6777e9046d1189ee65bbb9d907", - "0x000000000000000000000000000000a88ecd03dbc91db451cc10ff9bf1edb4ed", - "0x0000000000000000000000000000000000108807e25eb9f893a07dab798d0f7b", - "0x000000000000000000000000000000329bbf96693c9d1f332ad0f2c4b5bdf148", - "0x00000000000000000000000000000000002b12e712cbcda430af636813b355ad", - "0x000000000000000000000000000000b1f7c5498ca271c97629579a853fdf8b99", - "0x00000000000000000000000000000000002b0b6a6638b1345cf01718aa16fb4e", - "0x000000000000000000000000000000facc788a35aa4d89f116329c35cacfc31b", - "0x00000000000000000000000000000000001ef05f12be807e1347c9c6c0508ee1", - "0x0000000000000000000000000000001174cbfe45225c042000bf707c42b9e4e2", - "0x000000000000000000000000000000000016c8a90f528a296a68f1e694c96d6d", - "0x0000000000000000000000000000003e2da5c8b91fa9f36fd2bbc3fbce904319", - "0x00000000000000000000000000000000000ae02ed2a23258389452931db74b93", + "0x000000000000000000000000000000a869220bb60448c56a88ea0982c36da916", + "0x0000000000000000000000000000000000085b91598360b536667aff55d2bfc7", + "0x000000000000000000000000000000edcde7cc373d88c1c2eda7f5b4d0cafb83", + "0x00000000000000000000000000000000002421352edc6df85ad47f61227566f3", + "0x00000000000000000000000000000076e7c595daf9e00bb8b57e31d66d7e02de", + "0x000000000000000000000000000000000012b9ea4b3c6803b32062ec0e4ed826", + "0x00000000000000000000000000000089ff50f8221dca579d059cd6e48d20b672", + "0x00000000000000000000000000000000000731f05ace34c95db185cad27d6f4c", + "0x0000000000000000000000000000002e5de682320472040dd5fd10c12b0cd5ca", + "0x00000000000000000000000000000000001b670bb92669a2d2f51fa97d4f92c9", + "0x0000000000000000000000000000009892035b16a0e2d7df6d775e7eccbcc709", + "0x0000000000000000000000000000000000011e87b5f71259c3e6ad80c95233aa", + "0x000000000000000000000000000000d939e037655b470dcbe5c2cdc533fa10eb", + "0x00000000000000000000000000000000001a785fa4c49caa57ee30d889e673fe", + "0x0000000000000000000000000000003a975ba1f0649cf1f1b3bfef88fc4437cd", + "0x000000000000000000000000000000000007ce093575111fca343ca56b153c47", + "0x000000000000000000000000000000111a7da39a9bf181db285d6808e73d9244", + "0x00000000000000000000000000000000002c3f6a43ad56fb83757b17bf48c7f3", + "0x00000000000000000000000000000068482e0728ffc864fc24fcdad61048d867", + "0x0000000000000000000000000000000000069eb9783661b3c88436830b80270f", + "0x0000000000000000000000000000004c811281cbd27f8a82c6dc8af0374f9afa", + "0x00000000000000000000000000000000000f4d7305069c95afe2008edef76171", + "0x0000000000000000000000000000007aad2c0d0e27960ae39412649cabb58364", + "0x0000000000000000000000000000000000082a05536d05dca51595ce9fdef25b", "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x000000000000000000000000000000a75558294dcb6b5bab60405e57aa0163eb", - "0x0000000000000000000000000000000000305b77c053d08b45a3c1029092507d", - "0x000000000000000000000000000000d483bb901c957388bc0ed657a20efcbbfe", - "0x00000000000000000000000000000000002ee6e446d1d19dfd22ec4d84042c8f", - "0x00000000000000000000000000000010dd21566fbc16cd468da9cfb5c5c5a873", - "0x000000000000000000000000000000000021c6d73b5c83810b0ef6bcf4d4c1bf", - "0x0000000000000000000000000000002d9ff845335eec3d6d2210a9eb12d6ba32", - "0x00000000000000000000000000000000002f9dc047c81dea4c247341decc0dcf", - "0x0000000000000000000000000000005a76c73337b3f9a77eb4d32102ff144741", - "0x00000000000000000000000000000000001bf1a766ce98a48d1f4bd5a04dbec9", - "0x00000000000000000000000000000001f454f67e7bed44b72f152841af56beb8", - "0x00000000000000000000000000000000001568333169ee25686e27c7e8ed2328", - "0x000000000000000000000000000000e92f2ca9b2bebef01a8d4752f431db0ff9", - "0x00000000000000000000000000000000002b0aa334855303c22fb3cfea2eb465", - "0x00000000000000000000000000000059695df8655332bbf729b61933d3944268", - "0x00000000000000000000000000000000002f530ab846079ace8a0af952e89eca", - "0x000000000000000000000000000000b6c4693703c7f0db988fce0d4d4bebf1fc", - "0x0000000000000000000000000000000000059eba35528574e0f1ef5abcb01b30", - "0x000000000000000000000000000000f0a7f8b61a1bd0047e36344d955b4a6949", - "0x00000000000000000000000000000000000894faa0de870c6b1885fd0ab57779", - "0x00000000000000000000000000000012621de4173a0cba644df3bb5d91ac5ba8", - "0x0000000000000000000000000000000000200599f6eb54bb52ba23cb6f090c66", - "0x000000000000000000000000000000fd62def9bbf7fc49e13639d28a7b55fcf6", - "0x0000000000000000000000000000000000072f4b079d9f1a62aa146dbb98f96a", - "0x000000000000000000000000000000f715dc98c1820c6cf0d04dbcf192f1b330", - "0x00000000000000000000000000000000002ce78842cab3ba6a02b2f3e4e2af10", - "0x000000000000000000000000000000d43d0bfefad015c8ab16875279d73eab41", - "0x00000000000000000000000000000000000d6c92a114ad030f26222e385de45e", - "0x000000000000000000000000000000a47daec51ae4b7da9aadd1b6763e8cb303", - "0x00000000000000000000000000000000002f2a422879ba57a056addc66ba05a1", - "0x000000000000000000000000000000635ec17775ca3bb087d94484a31a0767ee", - "0x000000000000000000000000000000000005c8cfad4f9aa8da0fa10c37c795fa", - "0x000000000000000000000000000000e56b9eb34e7c1d1e27b840bbde18517248", - "0x000000000000000000000000000000000021327e13680f55e2a183424580c661", - "0x000000000000000000000000000000f6e7455dd49b8506af39b8c7793cdad1d0", - "0x0000000000000000000000000000000000126947383d6a4539be0feb2a39f0c0", - "0x000000000000000000000000000000adfe46891f8927e5f20d2cf4b29b4dbfe4", - "0x00000000000000000000000000000000000f856f28cb32cd0f16dd9aafd169be", - "0x0000000000000000000000000000004ebfefdd12680c64953113de94ac41f8f2", - "0x000000000000000000000000000000000012a98e6ccc6b4620f27bbc85f4a7b9", - "0x0000000000000000000000000000004dfa89919ef18e2c197c5dca8b2e434521", - "0x0000000000000000000000000000000000066a2be7701ae296c061025b4dd278", - "0x000000000000000000000000000000e6d3d434705fbbfb4c7a8ca058f8021155", - "0x000000000000000000000000000000000013f0e805b738058e36d91232ed9e17", - "0x000000000000000000000000000000dead66271bb98b739a605c31c0d123fa31", - "0x0000000000000000000000000000000000036e5d4edb62561c22ae6dc69e34b9", - "0x00000000000000000000000000000031a19c84b2e7be6645e1cd1dad8dba5235", - "0x0000000000000000000000000000000000264227e16f630bab055fd7cacd168a", - "0x0000000000000000000000000000003bfd6b9f9bf1f6b895e4b71bc08748320e", - "0x000000000000000000000000000000000017e7f8c587d2b510c0c1cf49ba78c6", - "0x00000000000000000000000000000065a0a989576d87cdfab87e715d08430604", - "0x00000000000000000000000000000000002a47d9f9f6df828fc82be253164057", - "0x00000000000000000000000000000052916994e4cdf87abd8b6edd3341ceda74", - "0x00000000000000000000000000000000001a68f07e8a0b65dac1e7919039edef", - "0x0000000000000000000000000000007bde705d7893f62fef14f76666a15bbc5b", - "0x000000000000000000000000000000000022866a7d377683d0e4fcc01301fda7", - "0x0000000000000000000000000000004bf7c62eeff3045c5c2320cf7d87a04b06", - "0x0000000000000000000000000000000000028cef982c0d1af9cefdd086c61783", - "0x0000000000000000000000000000006836c72bc038e647b0e7bf8134e2636863", - "0x00000000000000000000000000000000001f3d062d426ac882a90c2e60350d02", + "0x00000000000000000000000000000041722c68e780b9c74fc02769f0625e9b44", + "0x0000000000000000000000000000000000200ea4ee3647c1ac36cb5436298916", + "0x0000000000000000000000000000009151224fae64ce98caa19f5038da868e0c", + "0x00000000000000000000000000000000002fb6747603baab283c26a41a11e5f2", + "0x00000000000000000000000000000086bb37067af9f7ebb4870ae7781fcb850f", + "0x00000000000000000000000000000000002bb88d50403851dd07f7f1c071582e", + "0x000000000000000000000000000000cdf6f3149d2ec0a581849ead19edbd910c", + "0x00000000000000000000000000000000002d41cb4da07c313e46000bf137bcd0", + "0x000000000000000000000000000000e4f85ebfe833717c06c2a4bd21cef69778", + "0x00000000000000000000000000000000001ddb256eb4b8a99c5f90e5a9048c76", + "0x000000000000000000000000000000a5ea8faedd7d96dbea101a7a16e7c294d2", + "0x00000000000000000000000000000000002bab85bd7fe9ff76f5eefafa295a11", + "0x00000000000000000000000000000090b93817010d25a1b9469dc58a239fe9f9", + "0x000000000000000000000000000000000000aaefd85977468ec42c455eddb38b", + "0x00000000000000000000000000000010e770d0090900e2ed2504a209c8107b73", + "0x000000000000000000000000000000000000df169cc58b3316eb35beb9e3920f", + "0x0000000000000000000000000000004fac1dd8d6af699c5381eb70925f1b2110", + "0x00000000000000000000000000000000001b9653a04bc28cfa8557aba03d21af", + "0x000000000000000000000000000000d687b6463566615470210ecb08df78c859", + "0x00000000000000000000000000000000001454cf220658c933c410131b81da32", + "0x00000000000000000000000000000044aa6ab00ba147fead41b8a94a885291ed", + "0x00000000000000000000000000000000000b1642e0f658cac369eef0915f7e57", + "0x0000000000000000000000000000007c56b922b4d55e51c328fab95d655d325f", + "0x000000000000000000000000000000000029a6937a5e728315e8c71ab6c4620f", + "0x000000000000000000000000000000364b75092571d3570a6e9867a776a2fd72", + "0x0000000000000000000000000000000000227c4f0630564d11ca5f936b9787e1", + "0x0000000000000000000000000000009f16c3d1c16bde35067efd8cf81d48c3dc", + "0x00000000000000000000000000000000001884a14d085094f1abb8ab7823a59e", + "0x000000000000000000000000000000b02f2bb5163640bbc400b968cdf4be142c", + "0x00000000000000000000000000000000003001a75d2a2fc186af21665bf21a67", + "0x000000000000000000000000000000e9052ee8ffbe248e9e3fc2023004f3c179", + "0x00000000000000000000000000000000002b389d83d22c47ee535500b70d13b9", + "0x00000000000000000000000000000020367b8800874448bbe7bea5a0bc7a819d", + "0x000000000000000000000000000000000004b5247c70e49fcf51eb2e1dc4da60", + "0x000000000000000000000000000000e6ddf5141f09f78e37708fc439f9a281c2", + "0x00000000000000000000000000000000002cbac7b3c7fc35e0581bc13ec7dea6", + "0x000000000000000000000000000000e60884f6fe076f76acaa772091d9c82eac", + "0x000000000000000000000000000000000010795ba7c5e387a02431294d3949f6", + "0x00000000000000000000000000000051dfdb199d28b7e20c5d919e6ae23f3346", + "0x00000000000000000000000000000000000ea29fd2f53b24be7f98b2a04cf2f1", + "0x0000000000000000000000000000001305f0dfd2291343d8348df043cb23ea8d", + "0x00000000000000000000000000000000000b50362e98d7623dcecfb196234311", + "0x00000000000000000000000000000037b40cfd870ca51b40e44c099324511db9", + "0x00000000000000000000000000000000000b7e6d620fd25835db752f21ddba19", + "0x0000000000000000000000000000005996e94f48e097ee3b843001d0ea47f158", + "0x00000000000000000000000000000000000380e68fa818c15482268e1c693aaf", + "0x0000000000000000000000000000002f56353e114dcc2a1b8ac0caf9d144d3c8", + "0x00000000000000000000000000000000001a1662d91a016c6085500792530120", + "0x000000000000000000000000000000e8bd6cd709705bab33b7aed87cff6c2786", + "0x000000000000000000000000000000000017a47911691fe2f5e2d798afd07e17", + "0x000000000000000000000000000000332722f147038c658c58c4365d4da24c4d", + "0x000000000000000000000000000000000005a04c29a698f81c9101936f256f0c", + "0x000000000000000000000000000000040c487be424c2ae45480f337137faae78", + "0x0000000000000000000000000000000000181aee5f53db709af1d8751e8901cd", + "0x0000000000000000000000000000002b6b89c7f42455340b8c688594c2a95b77", + "0x000000000000000000000000000000000015403983c331b002d1f73581838ea8", + "0x00000000000000000000000000000022f3e0998b3c326d5c90d722707064e4da", + "0x000000000000000000000000000000000017838e9d743f03d248d8524e027862", + "0x000000000000000000000000000000429d6d01202d771ff9651dcee8ddfdc21a", + "0x00000000000000000000000000000000000a62a998ef16fd5c044c8d1f2e07aa", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -643,12 +643,12 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000007e0c6cf2276b3ee8d79b99ba0e2302a2f0", - "0x000000000000000000000000000000000010ac1dfdfc5a472271e8aafa5e8ac4", - "0x0000000000000000000000000000001070efe3be32b556bfa141a85bf85d42fa", - "0x00000000000000000000000000000000000cf51138cbb12a99d2933bc3e7ed1f" + "0x0000000000000000000000000000006e220409ac37bec373523c94dca923fe74", + "0x000000000000000000000000000000000020a5e872a8feab1a06a030e837171e", + "0x00000000000000000000000000000060b242e87bc4e5123f1d95e7e37a3f3705", + "0x000000000000000000000000000000000006549d1940f60824abaeac66511df0" ] - hash = "0x26393237eb1887f1c0ef7bbe4ac346497caccb8cb952770a056f100641049eef" + hash = "0x1c38c08266c3fde61212b3a40426aea147c3351ca6a5a6e1e4c680d85c241966" [inputs.previous_rollup] proof = [ @@ -1176,16 +1176,16 @@ new_archive_sibling_path = [ [inputs.previous_rollup.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" + accumulated_fees = "0x000000000000000000000000000000000000000000000000000001b0ca114000" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" + root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -1194,43 +1194,43 @@ new_archive_sibling_path = [ [inputs.previous_rollup.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c27b" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c4ec" [inputs.previous_rollup.public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.previous_rollup.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" [inputs.previous_rollup.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" +root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" +root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" +root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.start_sponge_blob] @@ -1256,15 +1256,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da", - "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", - "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815" + "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25", + "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", + "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7" ] state = [ - "0x25ab22a98cf791e903774e53097a27aef2530bad0a4c4b75f4b6beb3e0bfa333", - "0x2d275759ffb63ad08d911abb1d553d2416b6ccc5965fafc1ed5d54f3ddd86f6c", - "0x007683627e91ab673ca882150eb040cd4d4d72574bab7be05b03f5b6e2e9cf44", - "0x0c40af6a717340e96d1fe0ee0e40483b20ee61e1af1b157b98ab3bf564977a84" + "0x21e41c56c2a4ff047a8fe922259e5b66cae176502feaceb1c6a3e06e7f9e2de8", + "0x1849487ca414bbb639cc76f5c257d1ca49432fccc090137b64b190ae6efa02b9", + "0x29535e7008c9e4ab453a64d5117f25c9dd6e88b31457d8ea8f6be64a39dcdcb0", + "0x23a530a73510a3d6c8d2327423079d4f2a3ca10844acaa5122af9367019f7ee8" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1272,11 +1272,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" sibling_path = [ - "0x1ea20350d7d4a72d411fd4612502baa2f7d12c1fe355c8a54e23ea4b1b18d597", - "0x24b1e9c91373bea77134353a519b13e7d9375bdc2ca58beca8290075c1ce7354", + "0x227dfc617923261f352c5b1e72bcbf5d824ac9eaa8861f3d0e7091df5d75cdba", + "0x2b9ac395b5f9f9a4bd37361a03b907e5014c30ef6c6a8553f0834e296ba4a7ae", "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", - "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1286,94 +1286,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000023aab7f38f76e22eeb0860409793a5b684", - "0x00000000000000000000000000000000002d096dc24118c0cd1b48195bd02dc0", - "0x0000000000000000000000000000008151095143847d4faf14a0986e03674a83", - "0x0000000000000000000000000000000000173f43cb806e0111a53573f4575236", - "0x0000000000000000000000000000007293d8c5388d089dc5804e1402a594735c", - "0x00000000000000000000000000000000000acf230a990822aef09a9c6c595fb4", - "0x00000000000000000000000000000034285c217c9a06aaff3c567a7c5b43d1d9", - "0x00000000000000000000000000000000001e5a68bb55b1ad36dd4dc0395aaee2", - "0x000000000000000000000000000000078b2c693ed1bf47638608ae4a73c38774", - "0x000000000000000000000000000000000024abe027f33d8f61c82ec278481590", - "0x000000000000000000000000000000647cf8bdc84d8dd954b323c7f6eff83840", - "0x000000000000000000000000000000000007e86846b55615d19639ca59497159", - "0x0000000000000000000000000000002fd29ae741d1399ee7572c516996bbe0bc", - "0x000000000000000000000000000000000021d711dd6a7d53279ebdd9f393a996", - "0x0000000000000000000000000000007a0734026615d3cb4874a09cd7cb1a607a", - "0x00000000000000000000000000000000000a9eb7a817855a7aabb7b548a8e1c1", - "0x000000000000000000000000000000942dd6b46b51f04bf94a5eba8eb86feaa1", - "0x00000000000000000000000000000000002a6959e373dfb66122f1b4bcd27fd2", - "0x000000000000000000000000000000d29bff4f74fcbfa25b72e1b480ce50158d", - "0x0000000000000000000000000000000000294c6a05c177b5985931903826744b", - "0x000000000000000000000000000000e1008c343b94a0c4581d411831dbfaff73", - "0x00000000000000000000000000000000000918d5a48bbc6987e8d908b20f4ee1", - "0x000000000000000000000000000000b09768b2b7c16aeb3ae4e32d35722a83b1", - "0x000000000000000000000000000000000001f5f5a4fcd96188ff8dddd0fa8c56", + "0x0000000000000000000000000000004d7c4764fb289e62da5fbc6548a5b82682", + "0x00000000000000000000000000000000000c175f3867299af3fad440337f92be", + "0x000000000000000000000000000000c929dea348f4ff7d040b45d43118d74a87", + "0x00000000000000000000000000000000002b992a1a81373623e78761a673293a", + "0x0000000000000000000000000000002a95a92dc99f3e3f5ef3f07b252358e930", + "0x000000000000000000000000000000000011f2c6980ec25fd3d48e83090c0f22", + "0x000000000000000000000000000000bfae84f718e8e1bd26112601b75cf8ad84", + "0x000000000000000000000000000000000005f6d7e18303bf00bb000e950a8e3d", + "0x000000000000000000000000000000b5273cca07204a20cb3eeeff8a022bb9b7", + "0x0000000000000000000000000000000000301e6e6527150250b62b022233bfdb", + "0x000000000000000000000000000000d2b4db9d15c3c33fd38eea363417348b55", + "0x0000000000000000000000000000000000032c70a6a2d7a4affce64aedbf14ac", + "0x000000000000000000000000000000400dcdfc8a4dbcbf0e0f9a9b1a37f8d530", + "0x00000000000000000000000000000000001843f7dbd5b709690aa08b953ba273", + "0x000000000000000000000000000000f6421e160fe49b039a27d0054ce1acd796", + "0x00000000000000000000000000000000000fd79f191afb5daf6030b79c458181", + "0x0000000000000000000000000000006d8dae53856f3ba88c06ab71c69c19f749", + "0x000000000000000000000000000000000016c35bad7876aa21b29a4adde4142a", + "0x0000000000000000000000000000009107c835f9d267208a1530a086fdacfcce", + "0x000000000000000000000000000000000013610e229f312381b652187c29e47f", + "0x00000000000000000000000000000088691ec89a302cda6825b4e9f436f97180", + "0x00000000000000000000000000000000000f9d6785d6e8e3fd1753f7e87dff8f", + "0x00000000000000000000000000000045ad3e2c58d1098828d8563ad019ee5933", + "0x00000000000000000000000000000000001fdaf92c3de16bcd4e6fb07e360058", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x0000000000000000000000000000009f1e63dd149d6c13b029888ae28e829977", - "0x0000000000000000000000000000000000130af8599ee7bc63f25e9f9040f051", - "0x000000000000000000000000000000ebece29052f435ee7bb5f0443c08ab27c5", - "0x000000000000000000000000000000000023026ecd84babe9a214f6ec0df296e", - "0x000000000000000000000000000000bd48b692feb45a638b34213f123e674344", - "0x000000000000000000000000000000000023713ed2fd32bc535482c8c533dee8", - "0x0000000000000000000000000000007461c86b0cf23db0b129535f5729c3d1c4", - "0x0000000000000000000000000000000000193d6c2c5efed041a1804d272e68bd", - "0x0000000000000000000000000000005d605d0e90f5d7116e8f7aa46a51f4cb22", - "0x000000000000000000000000000000000001262c6c18cd42008733d095d2dafb", - "0x0000000000000000000000000000007c1b79c3d77e74c414c636df9268c298e9", - "0x000000000000000000000000000000000003bcdd2d0c796b2aaf41a1daee2a70", - "0x00000000000000000000000000000072021ee2de268144b307d784350685d9a4", - "0x00000000000000000000000000000000001cd8a169fe4e33a07031cf33c71c70", - "0x0000000000000000000000000000004395be29414a79acf6c2d8534c3325e35b", - "0x0000000000000000000000000000000000056872811480d4cf477d56c1aa2360", - "0x00000000000000000000000000000044a9c41c552fd1045448b84b3a4fc36bcb", - "0x00000000000000000000000000000000001c249630924489c586daefbe6f28ec", - "0x000000000000000000000000000000521187219bbfd468b58cb01fcd10b49387", - "0x00000000000000000000000000000000000f1a94decf6e33edd2c8a4a32063f0", - "0x000000000000000000000000000000f72f4899b08b5cb13e8ba217fe7cbbb01c", - "0x000000000000000000000000000000000008c82e57f469b963bfe9e165f1035b", - "0x0000000000000000000000000000009dad782777addcc830757a14c7f0a7ddd2", - "0x000000000000000000000000000000000018331066209e6fe959e8e59594c616", - "0x0000000000000000000000000000001d446861bd5e087fdd87bbc4aedeb87bca", - "0x000000000000000000000000000000000014df6410680717fb55979c400c89be", - "0x00000000000000000000000000000097e17ecf8dacf46e90f89d506ec0b57d01", - "0x000000000000000000000000000000000016af3bd636a1d7dd74ade27b8c209e", - "0x00000000000000000000000000000042892ec398cb7efe0498e8d4ae7f35ffd7", - "0x000000000000000000000000000000000028fddcc3c1e1dca344996e872faf8f", - "0x000000000000000000000000000000aeb1dc8da22a19ac3821940774d5460452", - "0x0000000000000000000000000000000000297caa38f24ae4bafeca4580214fc6", - "0x000000000000000000000000000000ec81cff4d5153e19164d4a701604cea7ef", - "0x00000000000000000000000000000000002e9117dbaca5bdba3f814283f74b55", - "0x00000000000000000000000000000042e2aa48a2584d5a95feaf471dee387fe8", - "0x0000000000000000000000000000000000229668e19f8c2d3d430b5a09f2387f", - "0x000000000000000000000000000000505e3f056bcd43210900fd69bb20cf72b8", - "0x00000000000000000000000000000000000d8fcd05eb96ff6ced61b36d4f17cb", - "0x0000000000000000000000000000005988a882fbf69d99e5583eca8c9b95541c", - "0x00000000000000000000000000000000000ed01bfce80dad14824b5b0b77ea5a", - "0x00000000000000000000000000000088b6db818f0ee96edacd55805b533d6e72", - "0x000000000000000000000000000000000026e828c96a767551e7cbb92aac27f2", - "0x00000000000000000000000000000032a07168a6578e34b6279aedf1b3a536b3", - "0x000000000000000000000000000000000002ccd52e49efecbabb87394f3cc655", - "0x0000000000000000000000000000002bcaffc31ae205677109fd6b4bce043292", - "0x0000000000000000000000000000000000178aba748df14e0c138a0337ec0dd9", - "0x0000000000000000000000000000005c8d60054c2d355cde0dfda4308f213aca", - "0x0000000000000000000000000000000000016a7b7b4381336b5bda573ecd0725", - "0x000000000000000000000000000000410e42d98b14eff5f920d7138968688398", - "0x00000000000000000000000000000000002e23d6253485be06e967630c0e57db", - "0x0000000000000000000000000000007624250f3f4a92bd001fd05a92fc937678", - "0x0000000000000000000000000000000000005f9abaab6e9049acec6d9330d4c9", - "0x000000000000000000000000000000fe0dd787a1a4e92cd0bb4c8e48f239f059", - "0x00000000000000000000000000000000001377e5fd6a35a4d80baf419ba87988", - "0x0000000000000000000000000000008fddbb5bd776a6612e65b735d000b13c40", - "0x000000000000000000000000000000000015bfe2e67bb51e32a7eb600f347d81", - "0x0000000000000000000000000000003986db3526bba982e1c1e04757cb3c3739", - "0x00000000000000000000000000000000001908abfd83b0402eb3757d7c9da650", - "0x000000000000000000000000000000eaa5f7bd92474e2ed5fad5ab578d3c97aa", - "0x0000000000000000000000000000000000016a60c0caf0a9ae3772d75464ee23", + "0x000000000000000000000000000000bf4bd72774835057122c9a2daf2b92b267", + "0x000000000000000000000000000000000010d41e1f5634fa49dd85aa7e0c225d", + "0x0000000000000000000000000000000c9ecf1f9ff2b6d3f9dfc16105a70db445", + "0x00000000000000000000000000000000000ce9dca6ab69f832933f597ac857bb", + "0x0000000000000000000000000000003dc7b907a1289d757d2bc79acd5001f750", + "0x000000000000000000000000000000000019a414c9d080610d7fad792a2acf57", + "0x000000000000000000000000000000d33d6f05f3861467418a9cc3a70e2d33a9", + "0x0000000000000000000000000000000000262ba72cb67ca91019d399be25f750", + "0x0000000000000000000000000000000298cfcd651c6443b8576e4534b656d3ee", + "0x00000000000000000000000000000000000e1c1c81ef5166ce6bb34d08900fc8", + "0x0000000000000000000000000000007e415e1789966b8e64092f8d525f21b9be", + "0x00000000000000000000000000000000002ae0c480c3a5ef38cfa3c5993133fb", + "0x000000000000000000000000000000c391717b8f9a463a07a686d8abe68e9af6", + "0x00000000000000000000000000000000002af0b1c7344f535389bfb2346a7f6a", + "0x00000000000000000000000000000016419628f3996508fdfcbf1e9c6ff31d24", + "0x00000000000000000000000000000000000270aa5f2bf9623704177bbfb4143b", + "0x000000000000000000000000000000bdf3e664dd45c97c7edb6e5f68dcb25275", + "0x000000000000000000000000000000000000a3b5f5e13ca887f2428b2524342b", + "0x0000000000000000000000000000007e7bd14bdaa91ab0242cc5370cad1aaba1", + "0x000000000000000000000000000000000026323c0ce3f098e3a9f0c1a37c972e", + "0x000000000000000000000000000000932bdf33d976ee1a22a9e74d2e915bb0d1", + "0x00000000000000000000000000000000000d5c5b37eeecffe4aaf9d0acdc11a4", + "0x00000000000000000000000000000043e2539540930f23a7617b0bf30635f5c2", + "0x00000000000000000000000000000000000ea98a0f4efead36aaca4de5b9f7db", + "0x0000000000000000000000000000009677e5f3727d22d605bf937e1a466fecf5", + "0x000000000000000000000000000000000027c391e80fc81d7e39655df9e22203", + "0x0000000000000000000000000000008a4c265d78d6bdd5d410d0521069b72cef", + "0x00000000000000000000000000000000000c6afded520b69892ed938d685ec06", + "0x00000000000000000000000000000047ce57c8557872d2cd079e7281948e3943", + "0x00000000000000000000000000000000002803c2fa9deb7b23005b72fe1afc58", + "0x000000000000000000000000000000d8e61bf4c552f67ed802c585ed64983ece", + "0x00000000000000000000000000000000002447b13b6be440d86836b2fd4247a7", + "0x0000000000000000000000000000004524bc488828b2c5372bfa880636da6ae8", + "0x00000000000000000000000000000000002789e962820a470db77af7939d952e", + "0x0000000000000000000000000000001f6a6d6c01a0c8ee2269832698bd2f20d1", + "0x000000000000000000000000000000000008acfff7f4aa559dc99edfe5662570", + "0x00000000000000000000000000000004f2ad0a3b8603ad4c48086a60697adbf1", + "0x000000000000000000000000000000000015c6e7cba051da60f20e5f47315231", + "0x000000000000000000000000000000ecc5b648e565aad998b75c0da2a8dcdac2", + "0x00000000000000000000000000000000000ed287742dc2d2ab7813b546b9e5cf", + "0x000000000000000000000000000000803fc9a987587ceaee1f9ec50a2f9ba37d", + "0x000000000000000000000000000000000000bd69f64cf27e55e505478bcdd9c3", + "0x000000000000000000000000000000767a98d1bbf9b8639c08b13190f06b32e4", + "0x000000000000000000000000000000000022586d7fbaf4469a4e2f3294e0a390", + "0x0000000000000000000000000000007e6f11e1aa49b189d705a4b56ff5188672", + "0x0000000000000000000000000000000000242e6eff3bddcf155669b8e9e99c98", + "0x000000000000000000000000000000532ff1f7e2a4ccea05848a6ad9ea8ab300", + "0x00000000000000000000000000000000001840bc2c92ea57c247576601b64c21", + "0x0000000000000000000000000000009219d69c7ee479d8303aae9588a3034e7f", + "0x000000000000000000000000000000000008478aea422d117facd5bde7664bff", + "0x000000000000000000000000000000094ab02c6bfe07198f67e3ae0fe8964ff6", + "0x00000000000000000000000000000000000270689441f30e6916ca1603baaa68", + "0x000000000000000000000000000000ec508ee2f68cafc8123c297cadd2bfc951", + "0x0000000000000000000000000000000000071b87ee438682e9c272528615ef38", + "0x000000000000000000000000000000c3c6c5ca0c745c7f7547384c765de94b0a", + "0x00000000000000000000000000000000002791cb675dd550f8077f18b5b118d0", + "0x000000000000000000000000000000c6773a99c311ca9c33504bafb19efe6a4b", + "0x00000000000000000000000000000000002081e2c0e5fdc6ecff4b4497eaceaf", + "0x000000000000000000000000000000b71d5cb054e8153336c04d9ba84778b802", + "0x00000000000000000000000000000000001519edbfff5731860e24744a6b2255", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1394,12 +1394,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000943bda9e0cfd1d60aba3c4c44490f8bd7b", - "0x000000000000000000000000000000000020f5cdefd9d41e95e335a3f456ac94", - "0x000000000000000000000000000000c3ca3f20c237ba21f847416fc28d9354d7", - "0x0000000000000000000000000000000000186707e3c7bd56601202f594e61a0d" + "0x000000000000000000000000000000ae5d28044a82350819479aa1b47d508985", + "0x00000000000000000000000000000000001fc7dff70486da85594d5d5916a2bb", + "0x00000000000000000000000000000061a5258e2e55aed75b98cbe882f1dc22d0", + "0x0000000000000000000000000000000000164148c1d2c4d0a88568cde8a2cc45" ] - hash = "0x10b971e3828337a4a6c2587ad313c083719140b1d1dffb5a5cf0da770710a05c" + hash = "0x08a5b0120724e14d99912ce5c3ce1371bced2d0dd440ef60634edbddcc247c65" [inputs.previous_l1_to_l2] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml index 16c90b9c88e5..84660d3c27a8 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml @@ -29,9 +29,9 @@ new_l1_to_l2_message_subtree_root_sibling_path = [ ] new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x1dfedfdc9ff095606167fb7518257c63783b04e0c9d2097d8509f4fd2a366319", + "0x14bc42835f991a99e838a11c13f5628d70884019d170a602da9e60eee2fa5f80", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", + "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -516,16 +516,16 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" converted_root = "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", - "0x1ee6b112672ac1c43acf4b8a2bd32e94346c237ab5e106a38a51c81202496e45", - "0x0db8cbd95ee2bf6f6aa91946898b0b2d4e3f6717c534a8c15d6212eb293aec08", + "0x016ec951c4d9d145b83f63e58bb7714d980a6b7566ee460bf82da44e647d668b", + "0x2aa0d57df3762b031a31219260febd79570fdec2aa53ff3dbd61c3fe460d31cf", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -535,94 +535,94 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000000b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000084284fde6a68ae90f6e8ac71ae351172e5", - "0x000000000000000000000000000000000008a6b2119be559b31e274379cdd2a0", - "0x000000000000000000000000000000b90a379ecbaeaff50ad88520e47d8f66f3", - "0x00000000000000000000000000000000002a689f3ed0320f104adab4d0a74206", - "0x0000000000000000000000000000006f26d90fbc8e8591f736dcd98a72deaedd", - "0x00000000000000000000000000000000000d3cb69edcb0031e4aff9e595d82c1", - "0x000000000000000000000000000000dc171ad5eb0e2aae1037bf7d0a070ad2ae", - "0x000000000000000000000000000000000021d7911dad342dd5f305227f6f3c39", - "0x000000000000000000000000000000cd82524d2bb0bf5daa837188094d8e31ba", - "0x000000000000000000000000000000000025a65794a2b69cfb8f068b6ed067e6", - "0x000000000000000000000000000000c76b59c1bf7331f8883c6cbabd19572850", - "0x0000000000000000000000000000000000055a6777e9046d1189ee65bbb9d907", - "0x000000000000000000000000000000a88ecd03dbc91db451cc10ff9bf1edb4ed", - "0x0000000000000000000000000000000000108807e25eb9f893a07dab798d0f7b", - "0x000000000000000000000000000000329bbf96693c9d1f332ad0f2c4b5bdf148", - "0x00000000000000000000000000000000002b12e712cbcda430af636813b355ad", - "0x000000000000000000000000000000b1f7c5498ca271c97629579a853fdf8b99", - "0x00000000000000000000000000000000002b0b6a6638b1345cf01718aa16fb4e", - "0x000000000000000000000000000000facc788a35aa4d89f116329c35cacfc31b", - "0x00000000000000000000000000000000001ef05f12be807e1347c9c6c0508ee1", - "0x0000000000000000000000000000001174cbfe45225c042000bf707c42b9e4e2", - "0x000000000000000000000000000000000016c8a90f528a296a68f1e694c96d6d", - "0x0000000000000000000000000000003e2da5c8b91fa9f36fd2bbc3fbce904319", - "0x00000000000000000000000000000000000ae02ed2a23258389452931db74b93", + "0x000000000000000000000000000000a869220bb60448c56a88ea0982c36da916", + "0x0000000000000000000000000000000000085b91598360b536667aff55d2bfc7", + "0x000000000000000000000000000000edcde7cc373d88c1c2eda7f5b4d0cafb83", + "0x00000000000000000000000000000000002421352edc6df85ad47f61227566f3", + "0x00000000000000000000000000000076e7c595daf9e00bb8b57e31d66d7e02de", + "0x000000000000000000000000000000000012b9ea4b3c6803b32062ec0e4ed826", + "0x00000000000000000000000000000089ff50f8221dca579d059cd6e48d20b672", + "0x00000000000000000000000000000000000731f05ace34c95db185cad27d6f4c", + "0x0000000000000000000000000000002e5de682320472040dd5fd10c12b0cd5ca", + "0x00000000000000000000000000000000001b670bb92669a2d2f51fa97d4f92c9", + "0x0000000000000000000000000000009892035b16a0e2d7df6d775e7eccbcc709", + "0x0000000000000000000000000000000000011e87b5f71259c3e6ad80c95233aa", + "0x000000000000000000000000000000d939e037655b470dcbe5c2cdc533fa10eb", + "0x00000000000000000000000000000000001a785fa4c49caa57ee30d889e673fe", + "0x0000000000000000000000000000003a975ba1f0649cf1f1b3bfef88fc4437cd", + "0x000000000000000000000000000000000007ce093575111fca343ca56b153c47", + "0x000000000000000000000000000000111a7da39a9bf181db285d6808e73d9244", + "0x00000000000000000000000000000000002c3f6a43ad56fb83757b17bf48c7f3", + "0x00000000000000000000000000000068482e0728ffc864fc24fcdad61048d867", + "0x0000000000000000000000000000000000069eb9783661b3c88436830b80270f", + "0x0000000000000000000000000000004c811281cbd27f8a82c6dc8af0374f9afa", + "0x00000000000000000000000000000000000f4d7305069c95afe2008edef76171", + "0x0000000000000000000000000000007aad2c0d0e27960ae39412649cabb58364", + "0x0000000000000000000000000000000000082a05536d05dca51595ce9fdef25b", "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x000000000000000000000000000000a75558294dcb6b5bab60405e57aa0163eb", - "0x0000000000000000000000000000000000305b77c053d08b45a3c1029092507d", - "0x000000000000000000000000000000d483bb901c957388bc0ed657a20efcbbfe", - "0x00000000000000000000000000000000002ee6e446d1d19dfd22ec4d84042c8f", - "0x00000000000000000000000000000010dd21566fbc16cd468da9cfb5c5c5a873", - "0x000000000000000000000000000000000021c6d73b5c83810b0ef6bcf4d4c1bf", - "0x0000000000000000000000000000002d9ff845335eec3d6d2210a9eb12d6ba32", - "0x00000000000000000000000000000000002f9dc047c81dea4c247341decc0dcf", - "0x0000000000000000000000000000005a76c73337b3f9a77eb4d32102ff144741", - "0x00000000000000000000000000000000001bf1a766ce98a48d1f4bd5a04dbec9", - "0x00000000000000000000000000000001f454f67e7bed44b72f152841af56beb8", - "0x00000000000000000000000000000000001568333169ee25686e27c7e8ed2328", - "0x000000000000000000000000000000e92f2ca9b2bebef01a8d4752f431db0ff9", - "0x00000000000000000000000000000000002b0aa334855303c22fb3cfea2eb465", - "0x00000000000000000000000000000059695df8655332bbf729b61933d3944268", - "0x00000000000000000000000000000000002f530ab846079ace8a0af952e89eca", - "0x000000000000000000000000000000b6c4693703c7f0db988fce0d4d4bebf1fc", - "0x0000000000000000000000000000000000059eba35528574e0f1ef5abcb01b30", - "0x000000000000000000000000000000f0a7f8b61a1bd0047e36344d955b4a6949", - "0x00000000000000000000000000000000000894faa0de870c6b1885fd0ab57779", - "0x00000000000000000000000000000012621de4173a0cba644df3bb5d91ac5ba8", - "0x0000000000000000000000000000000000200599f6eb54bb52ba23cb6f090c66", - "0x000000000000000000000000000000fd62def9bbf7fc49e13639d28a7b55fcf6", - "0x0000000000000000000000000000000000072f4b079d9f1a62aa146dbb98f96a", - "0x000000000000000000000000000000f715dc98c1820c6cf0d04dbcf192f1b330", - "0x00000000000000000000000000000000002ce78842cab3ba6a02b2f3e4e2af10", - "0x000000000000000000000000000000d43d0bfefad015c8ab16875279d73eab41", - "0x00000000000000000000000000000000000d6c92a114ad030f26222e385de45e", - "0x000000000000000000000000000000a47daec51ae4b7da9aadd1b6763e8cb303", - "0x00000000000000000000000000000000002f2a422879ba57a056addc66ba05a1", - "0x000000000000000000000000000000635ec17775ca3bb087d94484a31a0767ee", - "0x000000000000000000000000000000000005c8cfad4f9aa8da0fa10c37c795fa", - "0x000000000000000000000000000000e56b9eb34e7c1d1e27b840bbde18517248", - "0x000000000000000000000000000000000021327e13680f55e2a183424580c661", - "0x000000000000000000000000000000f6e7455dd49b8506af39b8c7793cdad1d0", - "0x0000000000000000000000000000000000126947383d6a4539be0feb2a39f0c0", - "0x000000000000000000000000000000adfe46891f8927e5f20d2cf4b29b4dbfe4", - "0x00000000000000000000000000000000000f856f28cb32cd0f16dd9aafd169be", - "0x0000000000000000000000000000004ebfefdd12680c64953113de94ac41f8f2", - "0x000000000000000000000000000000000012a98e6ccc6b4620f27bbc85f4a7b9", - "0x0000000000000000000000000000004dfa89919ef18e2c197c5dca8b2e434521", - "0x0000000000000000000000000000000000066a2be7701ae296c061025b4dd278", - "0x000000000000000000000000000000e6d3d434705fbbfb4c7a8ca058f8021155", - "0x000000000000000000000000000000000013f0e805b738058e36d91232ed9e17", - "0x000000000000000000000000000000dead66271bb98b739a605c31c0d123fa31", - "0x0000000000000000000000000000000000036e5d4edb62561c22ae6dc69e34b9", - "0x00000000000000000000000000000031a19c84b2e7be6645e1cd1dad8dba5235", - "0x0000000000000000000000000000000000264227e16f630bab055fd7cacd168a", - "0x0000000000000000000000000000003bfd6b9f9bf1f6b895e4b71bc08748320e", - "0x000000000000000000000000000000000017e7f8c587d2b510c0c1cf49ba78c6", - "0x00000000000000000000000000000065a0a989576d87cdfab87e715d08430604", - "0x00000000000000000000000000000000002a47d9f9f6df828fc82be253164057", - "0x00000000000000000000000000000052916994e4cdf87abd8b6edd3341ceda74", - "0x00000000000000000000000000000000001a68f07e8a0b65dac1e7919039edef", - "0x0000000000000000000000000000007bde705d7893f62fef14f76666a15bbc5b", - "0x000000000000000000000000000000000022866a7d377683d0e4fcc01301fda7", - "0x0000000000000000000000000000004bf7c62eeff3045c5c2320cf7d87a04b06", - "0x0000000000000000000000000000000000028cef982c0d1af9cefdd086c61783", - "0x0000000000000000000000000000006836c72bc038e647b0e7bf8134e2636863", - "0x00000000000000000000000000000000001f3d062d426ac882a90c2e60350d02", + "0x00000000000000000000000000000041722c68e780b9c74fc02769f0625e9b44", + "0x0000000000000000000000000000000000200ea4ee3647c1ac36cb5436298916", + "0x0000000000000000000000000000009151224fae64ce98caa19f5038da868e0c", + "0x00000000000000000000000000000000002fb6747603baab283c26a41a11e5f2", + "0x00000000000000000000000000000086bb37067af9f7ebb4870ae7781fcb850f", + "0x00000000000000000000000000000000002bb88d50403851dd07f7f1c071582e", + "0x000000000000000000000000000000cdf6f3149d2ec0a581849ead19edbd910c", + "0x00000000000000000000000000000000002d41cb4da07c313e46000bf137bcd0", + "0x000000000000000000000000000000e4f85ebfe833717c06c2a4bd21cef69778", + "0x00000000000000000000000000000000001ddb256eb4b8a99c5f90e5a9048c76", + "0x000000000000000000000000000000a5ea8faedd7d96dbea101a7a16e7c294d2", + "0x00000000000000000000000000000000002bab85bd7fe9ff76f5eefafa295a11", + "0x00000000000000000000000000000090b93817010d25a1b9469dc58a239fe9f9", + "0x000000000000000000000000000000000000aaefd85977468ec42c455eddb38b", + "0x00000000000000000000000000000010e770d0090900e2ed2504a209c8107b73", + "0x000000000000000000000000000000000000df169cc58b3316eb35beb9e3920f", + "0x0000000000000000000000000000004fac1dd8d6af699c5381eb70925f1b2110", + "0x00000000000000000000000000000000001b9653a04bc28cfa8557aba03d21af", + "0x000000000000000000000000000000d687b6463566615470210ecb08df78c859", + "0x00000000000000000000000000000000001454cf220658c933c410131b81da32", + "0x00000000000000000000000000000044aa6ab00ba147fead41b8a94a885291ed", + "0x00000000000000000000000000000000000b1642e0f658cac369eef0915f7e57", + "0x0000000000000000000000000000007c56b922b4d55e51c328fab95d655d325f", + "0x000000000000000000000000000000000029a6937a5e728315e8c71ab6c4620f", + "0x000000000000000000000000000000364b75092571d3570a6e9867a776a2fd72", + "0x0000000000000000000000000000000000227c4f0630564d11ca5f936b9787e1", + "0x0000000000000000000000000000009f16c3d1c16bde35067efd8cf81d48c3dc", + "0x00000000000000000000000000000000001884a14d085094f1abb8ab7823a59e", + "0x000000000000000000000000000000b02f2bb5163640bbc400b968cdf4be142c", + "0x00000000000000000000000000000000003001a75d2a2fc186af21665bf21a67", + "0x000000000000000000000000000000e9052ee8ffbe248e9e3fc2023004f3c179", + "0x00000000000000000000000000000000002b389d83d22c47ee535500b70d13b9", + "0x00000000000000000000000000000020367b8800874448bbe7bea5a0bc7a819d", + "0x000000000000000000000000000000000004b5247c70e49fcf51eb2e1dc4da60", + "0x000000000000000000000000000000e6ddf5141f09f78e37708fc439f9a281c2", + "0x00000000000000000000000000000000002cbac7b3c7fc35e0581bc13ec7dea6", + "0x000000000000000000000000000000e60884f6fe076f76acaa772091d9c82eac", + "0x000000000000000000000000000000000010795ba7c5e387a02431294d3949f6", + "0x00000000000000000000000000000051dfdb199d28b7e20c5d919e6ae23f3346", + "0x00000000000000000000000000000000000ea29fd2f53b24be7f98b2a04cf2f1", + "0x0000000000000000000000000000001305f0dfd2291343d8348df043cb23ea8d", + "0x00000000000000000000000000000000000b50362e98d7623dcecfb196234311", + "0x00000000000000000000000000000037b40cfd870ca51b40e44c099324511db9", + "0x00000000000000000000000000000000000b7e6d620fd25835db752f21ddba19", + "0x0000000000000000000000000000005996e94f48e097ee3b843001d0ea47f158", + "0x00000000000000000000000000000000000380e68fa818c15482268e1c693aaf", + "0x0000000000000000000000000000002f56353e114dcc2a1b8ac0caf9d144d3c8", + "0x00000000000000000000000000000000001a1662d91a016c6085500792530120", + "0x000000000000000000000000000000e8bd6cd709705bab33b7aed87cff6c2786", + "0x000000000000000000000000000000000017a47911691fe2f5e2d798afd07e17", + "0x000000000000000000000000000000332722f147038c658c58c4365d4da24c4d", + "0x000000000000000000000000000000000005a04c29a698f81c9101936f256f0c", + "0x000000000000000000000000000000040c487be424c2ae45480f337137faae78", + "0x0000000000000000000000000000000000181aee5f53db709af1d8751e8901cd", + "0x0000000000000000000000000000002b6b89c7f42455340b8c688594c2a95b77", + "0x000000000000000000000000000000000015403983c331b002d1f73581838ea8", + "0x00000000000000000000000000000022f3e0998b3c326d5c90d722707064e4da", + "0x000000000000000000000000000000000017838e9d743f03d248d8524e027862", + "0x000000000000000000000000000000429d6d01202d771ff9651dcee8ddfdc21a", + "0x00000000000000000000000000000000000a62a998ef16fd5c044c8d1f2e07aa", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -643,12 +643,12 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000007e0c6cf2276b3ee8d79b99ba0e2302a2f0", - "0x000000000000000000000000000000000010ac1dfdfc5a472271e8aafa5e8ac4", - "0x0000000000000000000000000000001070efe3be32b556bfa141a85bf85d42fa", - "0x00000000000000000000000000000000000cf51138cbb12a99d2933bc3e7ed1f" + "0x0000000000000000000000000000006e220409ac37bec373523c94dca923fe74", + "0x000000000000000000000000000000000020a5e872a8feab1a06a030e837171e", + "0x00000000000000000000000000000060b242e87bc4e5123f1d95e7e37a3f3705", + "0x000000000000000000000000000000000006549d1940f60824abaeac66511df0" ] - hash = "0x26393237eb1887f1c0ef7bbe4ac346497caccb8cb952770a056f100641049eef" + hash = "0x1c38c08266c3fde61212b3a40426aea147c3351ca6a5a6e1e4c680d85c241966" [[inputs.previous_rollups]] proof = [ @@ -1176,16 +1176,16 @@ new_archive_sibling_path = [ [inputs.previous_rollups.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000002" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x000000000000000000000000000000000000000000000000000135b0bdd3c800" + accumulated_fees = "0x000000000000000000000000000000000000000000000000000135968b96e800" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000016e40" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" + root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -1194,43 +1194,43 @@ new_archive_sibling_path = [ [inputs.previous_rollups.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c29f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c510" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.previous_rollups.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" +root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" +root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" +root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x234a0244bd5fc1e5091622a2396364e73d3ba311b5917531fc100aa600f68da7" +root = "0x1aebad760bcf9d98e0986a8a3229d4054c12e87229c9c45f98dbf7cf328e007d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x257e7738161a2995e317abb95635abc758924d1e657b4274cb8203637e19acfb" +root = "0x05714de03bd649c1f0dc87c76703ec746d8dcb389ee6c61bcadce36cbe6bb3f5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.start_sponge_blob] @@ -1256,15 +1256,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff", - "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", - "0x00000000000000000000000000000000000000000000021e18d51189e1c82c80" + "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87", + "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", + "0x00000000000000000000000000000000000000000000021e18f64d7f6a705600" ] state = [ - "0x0f025b90358802dec8d5b09ef95857e189fbab76e064dbd62b015485e33d8fb8", - "0x0815c4c11228f10d17354714e97f8cb67fea44654f89e26d843da671dc94edb7", - "0x21e7a0bc288b9190207e1546c575bfe37e7b5474796ce376e1c3565715352013", - "0x234bd2d8bd6b3dadd78beef5195ec1705f218d62849ef4238ffb69f698b18828" + "0x0df8b69dca04ec24c18e1739a35164e584a68ad15b9099fdc7ae67d171a18d60", + "0x26d1daafb555147b4905fa53742042f5550d67ff60837839d4c45c8042fe46d7", + "0x094b10f586f069be0954a0aa4418c746b732ce34023077858eb9096c0b32f259", + "0x2fe1c32b1348aafcfb2196efcf3cfda3071eac524a38df38b19ad12f5f5baaa7" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1272,11 +1272,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1286,94 +1286,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000007352f92242d490846125dcd40ea4df487f", - "0x000000000000000000000000000000000024fcb20f81e5cc0a851f4a92c5f27e", - "0x000000000000000000000000000000cdd574b3dc28c9112da5378d9fb39242a7", - "0x0000000000000000000000000000000000032433bb0abd08199c2ac7054fb083", - "0x000000000000000000000000000000384aeb6924f3e3a5031bf58fb40cfe5db0", - "0x00000000000000000000000000000000001c2a4c16d200224aadfcd01e141357", - "0x000000000000000000000000000000ea1cd672c28ed592133db5f412941071c5", - "0x0000000000000000000000000000000000138f2b2ffcdbdf5fa2f0312308af7e", - "0x000000000000000000000000000000b45672ed8a54acb112879b62cb021c1cf7", - "0x000000000000000000000000000000000015ccfe5a412f295f746a84dd96101d", - "0x0000000000000000000000000000007ed040d05a4b589d75ee93bb06e954393f", - "0x00000000000000000000000000000000000adae7a939d9c7a315899b1c8ce509", - "0x000000000000000000000000000000889e74133df9bc22793d93d2d0257fc50d", - "0x00000000000000000000000000000000000ca219f3dbd2c9e3426040b3a13df3", - "0x000000000000000000000000000000663543b92e5290470f71bd336996b44445", - "0x00000000000000000000000000000000002463667f81c64426c22972f27c03ba", - "0x000000000000000000000000000000c66a4093181a7df5ab73db62e8b18224e1", - "0x0000000000000000000000000000000000255aa60b14bb2e7a16c5fcd4d4c113", - "0x000000000000000000000000000000a77f27fcbf71ca847ff45e848441676544", - "0x00000000000000000000000000000000001514c2b0a21e00019bc4db479ed3b6", - "0x000000000000000000000000000000346f53133e766f120e02519b3ae6a409af", - "0x000000000000000000000000000000000017050439637be357ff6ffa820e79ba", - "0x000000000000000000000000000000accc4bce89352ecc213cbee6b11b644574", - "0x00000000000000000000000000000000002c5611d3b603c6e9ed40993fae94d4", + "0x000000000000000000000000000000d4f5c3de2c387816f25248adacbaed064a", + "0x00000000000000000000000000000000001e56479240164755c37430e37ee18e", + "0x00000000000000000000000000000008b2e8e23e62bb720f5a257a89351432fc", + "0x00000000000000000000000000000000000e606fd3145de5b4bba11651480093", + "0x000000000000000000000000000000e48f9536b9e3857c99488e7ac630b6ef27", + "0x0000000000000000000000000000000000277055fc271e44ef98e520fb305fa1", + "0x00000000000000000000000000000048bfc1ae73150b6267679a1702bce806e4", + "0x00000000000000000000000000000000002e81dcdabb2170828bf335bcf16667", + "0x000000000000000000000000000000c2347e925937ec69c3e355770ac2a7e96c", + "0x00000000000000000000000000000000000c2a119bfb290badc4bb787480fad8", + "0x000000000000000000000000000000f65dc90a62b37ab56ea070745acb7cbe08", + "0x0000000000000000000000000000000000078f3d7b348ad3d6df3c856f25b8c7", + "0x0000000000000000000000000000007763a42a1ef843aadbe8714b70bd1bb4ca", + "0x000000000000000000000000000000000001f5d583c6a9e7f1a4c9a88d6f33aa", + "0x0000000000000000000000000000001d8a0b39b537750b9b4572eeab104edecb", + "0x000000000000000000000000000000000007ce0e688f0c8f6229694089c30675", + "0x000000000000000000000000000000905ffae6da8146a986ee0d47b00d57d91c", + "0x000000000000000000000000000000000016ba51f0d3c2ab102cf05b73f15cf0", + "0x000000000000000000000000000000843ce4e6cfa148509bf56db07623838e55", + "0x00000000000000000000000000000000000e15f838f63df23b7c5f1d3d9d9f95", + "0x00000000000000000000000000000063dd39d60df806eb4a722a16542db337e9", + "0x00000000000000000000000000000000002c9dc60b901a78fc96101e32e9d590", + "0x000000000000000000000000000000194b4a71e8464805f9ada213986863e129", + "0x000000000000000000000000000000000016d44376e7afcb18cc9fd3e9cacc2b", "0x0000000000000000000000000000004288fb745aa3b78da694bc2f3c28178b53", "0x0000000000000000000000000000000000029292ff399aa7b20eb1f743696c46", "0x0000000000000000000000000000003582186b8e684671a476f80b8d0e114d5d", "0x00000000000000000000000000000000001b3109c18b36e49b5ef30578b4bc60", - "0x0000000000000000000000000000009bc376f10c450a208c7f02549be2c58935", - "0x000000000000000000000000000000000022091afb2089feb120dda62dae4869", - "0x000000000000000000000000000000e553fada11af567a852df6c5ef865d2900", - "0x00000000000000000000000000000000000f2f48bb0b2e97aa4de6e7050181bb", - "0x000000000000000000000000000000e436acedae1ae8089b1359589323245acd", - "0x0000000000000000000000000000000000273c1aa0753eddef7cbd571aded65e", - "0x0000000000000000000000000000003398a85ec20a75e30d1d69ac15b9fcbd2d", - "0x00000000000000000000000000000000002172068408c2551184e03e25a888dd", - "0x0000000000000000000000000000003ed4c00e57362e93468099cdf3fee3cc28", - "0x00000000000000000000000000000000002438c23d1e72356f1f99e5cd00c4cd", - "0x000000000000000000000000000000bd9c4f9b03c6f81360ffa269f2ce83e75c", - "0x0000000000000000000000000000000000304c03ce4fe9b0d4814359ea283e3d", - "0x000000000000000000000000000000dfc18e81583981b3caae0df9cb81ea8ab0", - "0x0000000000000000000000000000000000167c8ccc09c3b1708f227d7aefc218", - "0x000000000000000000000000000000619f7d46fd3eb05e107e461012c76c4b20", - "0x00000000000000000000000000000000002d3dacd182ef29db79a20fb771d9bc", - "0x0000000000000000000000000000004cd3f85a455f64797d4dd6a19af03f1007", - "0x000000000000000000000000000000000004828d5bcd455effd7f7c42c879e15", - "0x0000000000000000000000000000002247ad77fc259cb622992c8d2d3a44c1d6", - "0x0000000000000000000000000000000000090169ca2eb54f76e2ff7911b7475d", - "0x00000000000000000000000000000012be6089834151d63930d95d6fb27e3c85", - "0x000000000000000000000000000000000015794fd27695f6c9cfa129da356185", - "0x0000000000000000000000000000002be88165aedfe17e770709a631b69c1a5e", - "0x000000000000000000000000000000000009ac511510dfcaef4307ff181fef54", - "0x000000000000000000000000000000fce2d4712933767ceab1c01b3459f3e654", - "0x000000000000000000000000000000000003e8f2d14b810ef9fdfc542483a8a7", - "0x000000000000000000000000000000a215c9ef2f5090152faaa77d41ebaa232e", - "0x00000000000000000000000000000000001e90a6a2571cf657f019e5ef3b2430", - "0x00000000000000000000000000000051a6e0402e99fb2905e27da1ed34966202", - "0x0000000000000000000000000000000000075c4facf2d07f25225c56bd12e5a3", - "0x000000000000000000000000000000fdb0d5d22ed80d0b2c6cdedba536811cb3", - "0x000000000000000000000000000000000002d96eb3d5b8b907d0805ab6728c52", - "0x00000000000000000000000000000081268203f680a0b9cc56fd19082d1b1c82", - "0x000000000000000000000000000000000013d8995c9dd20efd47b8e9d33594de", - "0x0000000000000000000000000000004afc4560c37ccee14434138892df54db7f", - "0x000000000000000000000000000000000027de310817dc80d6488cb5bf58d012", - "0x00000000000000000000000000000059d7bbb1ed0a9cc241ce76191f1f195c48", - "0x00000000000000000000000000000000002b5fa22dd15b9fc4ccd7acbfee8841", - "0x0000000000000000000000000000006c146ed5d676edd02406299b0030ee5e59", - "0x00000000000000000000000000000000002d3ac1c76361249bee7bc331003f1e", - "0x0000000000000000000000000000002fac51f8c63571981c564dfe3298466b67", - "0x00000000000000000000000000000000001b713831d785450e84f4804e49def8", - "0x0000000000000000000000000000007879d9b7f0545eac7c5753bb42e250953a", - "0x000000000000000000000000000000000007258b05267ec9400b8b265ee19968", - "0x00000000000000000000000000000063685a4310e172bace0661a2dc28525c36", - "0x0000000000000000000000000000000000038005ee276cb7dfe0f45656798a36", - "0x00000000000000000000000000000075a1580bb6f64e8443acc296666cc45191", - "0x00000000000000000000000000000000001e045ab9d033deb44d8412ee16ad25", - "0x000000000000000000000000000000128d9c1470ccc898ae1c8f39143f92781a", - "0x00000000000000000000000000000000000757d4226a0da208abdbef0a37af2d", - "0x0000000000000000000000000000007ae41cddbab1aa46340732e9f0c055096f", - "0x0000000000000000000000000000000000299531a738882263f742df517f3572", - "0x00000000000000000000000000000032ae25ca3d7c6fca81c6a7ce9efcafc2d4", - "0x0000000000000000000000000000000000229eb828958e6883ecf18cbc7c67a2", - "0x00000000000000000000000000000050d90d44f67703020cfc77335061af6f41", - "0x00000000000000000000000000000000002a858c25d5d0e578465c0334f4cde1", - "0x00000000000000000000000000000040ec0ce641e1fe2369a52f5fe13d1a35a8", - "0x00000000000000000000000000000000001a6b0f905edb587d8cd24cf42c9a1a", - "0x0000000000000000000000000000007ffd767bd3d1721c60ba173f54f4306c67", - "0x00000000000000000000000000000000002d7ade8c4f6760a1ade3e6248f094a", + "0x00000000000000000000000000000065032e1fb7bc1ef6ffbcc5e95dba7d5ea5", + "0x00000000000000000000000000000000002df3ef894fbeae4e8ae7f9febb8dc9", + "0x00000000000000000000000000000021483f4e072e262bc479d31cb45344bcaf", + "0x00000000000000000000000000000000001126a5ae1a8dbd7444e9452f76f0a6", + "0x00000000000000000000000000000079619cb7708cccb6dc14a77cbef5981be3", + "0x00000000000000000000000000000000000bff5f4abb0d988e5bf6cf0ecb54ce", + "0x0000000000000000000000000000009ad0ffa7d6c604b68b908074d5da8365ba", + "0x00000000000000000000000000000000002d7bd1c693bb15cd6dd4d8c06ed8be", + "0x0000000000000000000000000000000291752d3a13903d783c77d0c7af932a83", + "0x0000000000000000000000000000000000114faf87617175c416dee8d326b75e", + "0x000000000000000000000000000000c14d16a30c903cbf270b8225fafdadcd29", + "0x000000000000000000000000000000000013c37918102e7a7c387ca54e3a3442", + "0x000000000000000000000000000000a0c3390219581e789a7e44b14230a836bf", + "0x0000000000000000000000000000000000288dddd245ef03b0e6dcc719fecb2e", + "0x00000000000000000000000000000054263ff155ef1bd95a7a4df50d3c44cc8f", + "0x000000000000000000000000000000000011fb28c044202f35d65e9252e555ce", + "0x000000000000000000000000000000833f85afec4346004b4ee6222b22f00649", + "0x00000000000000000000000000000000002921828adc37b5b369d62ab9f9a6b4", + "0x000000000000000000000000000000a7d3cc4a4e7c4c04d19eb045f3e0098c49", + "0x00000000000000000000000000000000002cc319f1fb9b6e2d9bb1bc653ba1d3", + "0x0000000000000000000000000000004cfb894776364b8809a7734404bc802f5b", + "0x00000000000000000000000000000000001658754b0938cfd6707ba92c9b1376", + "0x000000000000000000000000000000c248703dd0e989d2ff7d338071fc1c16d2", + "0x0000000000000000000000000000000000262863664e2f6b699881149a9b1dd7", + "0x00000000000000000000000000000099cf177330bee6c86a7887136fa42917c0", + "0x00000000000000000000000000000000001fa7769da720458cc22b63dac36f0a", + "0x00000000000000000000000000000091de6bdd3d004a1a5bee4ca066c589f23c", + "0x000000000000000000000000000000000000b3bb047b45e06c907eb40b2d778b", + "0x00000000000000000000000000000044547a066f94a0dbb16fbc286aa218b20a", + "0x00000000000000000000000000000000002e21faa0626378cb5fd479233b9b53", + "0x0000000000000000000000000000003f2b3643212591a0bfa3041345d411ff98", + "0x00000000000000000000000000000000002845063928032a23eb46f71e75aff0", + "0x0000000000000000000000000000004a183dba2e3976979d55f166b1d5273506", + "0x0000000000000000000000000000000000226a439a9380f1b29978c6cb7f5251", + "0x000000000000000000000000000000018d21e4565a9abce684b03a0edce7e140", + "0x000000000000000000000000000000000022ca9d977db16ae078410e26646047", + "0x00000000000000000000000000000091f78a8f461e0e6ed8b722fc0350a7c704", + "0x00000000000000000000000000000000000a7fc5a45989424a06901a10992a84", + "0x000000000000000000000000000000b3b32d474ea597306f7a7e36bd60195665", + "0x000000000000000000000000000000000008917a8fb4b4d45c39d8d9a27732c0", + "0x000000000000000000000000000000cb9f793a531330de5cf2cb802ee83ee86f", + "0x00000000000000000000000000000000000dcd4e0caed9a3ecec9527f40afb92", + "0x000000000000000000000000000000c4e357b96c1f90f285d7aa4501ca81f24d", + "0x000000000000000000000000000000000020bcbc6d5c3b7ee92c38b677e85517", + "0x0000000000000000000000000000007d1d9d1b9f80e4f86645d2af1ab6adaea4", + "0x00000000000000000000000000000000002147a299e49c41ae51a2c4d1fc9840", + "0x0000000000000000000000000000000be6ef80e6ae1435719c699ce36a93c22f", + "0x000000000000000000000000000000000006283ab16347cb9c4b68f87f5a7d63", + "0x000000000000000000000000000000f1092a7935d3f050c177935735fae80681", + "0x00000000000000000000000000000000002679a4198119859b260a321b94338b", + "0x0000000000000000000000000000002b548509677ad162ba315134b3555ea87f", + "0x0000000000000000000000000000000000131b9d4d7cf0cf6ccf6b62cc3d61d3", + "0x000000000000000000000000000000535c2efe6010ad388e71cf994bb0ad94d6", + "0x00000000000000000000000000000000000362dda32f4cd58d2432184dfe8e4b", + "0x0000000000000000000000000000002d71366f924781842a03be1a5774161835", + "0x00000000000000000000000000000000002dba705d548c3724876bd10acce4c1", + "0x0000000000000000000000000000004438aba2493a49e55cca6a5ba2dd4498f3", + "0x0000000000000000000000000000000000250a1c40481a9e6b10c7d060662782", + "0x00000000000000000000000000000009965977cd286bcc89efce01ab314fbee2", + "0x000000000000000000000000000000000022a3e0727e7091833cde73d6c29d01", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1394,12 +1394,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000f0369d4a38e5a64d52fbb31400384975f5", - "0x00000000000000000000000000000000000a8ffc52c294fdd9d445e18783e097", - "0x00000000000000000000000000000067edf1fca1ebd44cbe8f5b86ee745388d3", - "0x00000000000000000000000000000000002afc9e0f04db1804ae103d81ec1780" + "0x000000000000000000000000000000362e6621fc75117ec0634754da31455dab", + "0x0000000000000000000000000000000000207b7344b08aca155626551685e25a", + "0x000000000000000000000000000000c762c37ff95f038d12ab8ec7e61ba7e309", + "0x000000000000000000000000000000000013e1d318da7ba31c2eb366e1d5f0b4" ] - hash = "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840" + hash = "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5" [[inputs.previous_rollups]] proof = [ @@ -1927,16 +1927,16 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x0000000000000000000000000000000000000000000000000001c566b1383ea0" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000001c54056f9c920" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" + root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -1945,43 +1945,43 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c29f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c510" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.previous_rollups.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x234a0244bd5fc1e5091622a2396364e73d3ba311b5917531fc100aa600f68da7" +root = "0x1aebad760bcf9d98e0986a8a3229d4054c12e87229c9c45f98dbf7cf328e007d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x257e7738161a2995e317abb95635abc758924d1e657b4274cb8203637e19acfb" +root = "0x05714de03bd649c1f0dc87c76703ec746d8dcb389ee6c61bcadce36cbe6bb3f5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" +root = "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0" +root = "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.start_sponge_blob] @@ -1989,15 +1989,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ - "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff", - "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", - "0x00000000000000000000000000000000000000000000021e18d51189e1c82c80" + "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87", + "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", + "0x00000000000000000000000000000000000000000000021e18f64d7f6a705600" ] state = [ - "0x0f025b90358802dec8d5b09ef95857e189fbab76e064dbd62b015485e33d8fb8", - "0x0815c4c11228f10d17354714e97f8cb67fea44654f89e26d843da671dc94edb7", - "0x21e7a0bc288b9190207e1546c575bfe37e7b5474796ce376e1c3565715352013", - "0x234bd2d8bd6b3dadd78beef5195ec1705f218d62849ef4238ffb69f698b18828" + "0x0df8b69dca04ec24c18e1739a35164e584a68ad15b9099fdc7ae67d171a18d60", + "0x26d1daafb555147b4905fa53742042f5550d67ff60837839d4c45c8042fe46d7", + "0x094b10f586f069be0954a0aa4418c746b732ce34023077858eb9096c0b32f259", + "0x2fe1c32b1348aafcfb2196efcf3cfda3071eac524a38df38b19ad12f5f5baaa7" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -2007,15 +2007,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000021e18d34c23308fede0", + "0x00000000000000000000000000000000000000000000021e18f4883f13768ce0", "0x000000000000000000000000000000000000000000000000000000000000076c", - "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e" + "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3" ] state = [ - "0x0778264039ff985ae383b85b806f8ad091ea3116ff6f4ac63543d12bd74c4ae4", - "0x24a41d4a0276339dd53b14dad993d2a720aa577299ad2aa2fddcd23a56906a84", - "0x27dd5ddd2284f06812b76ff5d21162154770c8413b70b1d96740ba1914ddc541", - "0x04a425488526f28ae7329a8da3d7148c5ec0d8fe5b5945bc0a579a218da6884e" + "0x1c5571e9fa8905d9515e19f030e512045b2fdf1a979af43e5d0272907210d7ea", + "0x20609ea1d2db68adcc8c1727b39e6eae9dde1be0c592f3be825af53b465b6b99", + "0x1ae1804f21f11beee6f4a94b38ac8fccd2cb3727dc979d08e152a18bbbb0b462", + "0x14523f4bc975fd0700c26a2aafc3e7f0d3eeb8e14d22d81b87b23f272fff5a64" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -2023,11 +2023,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -2037,94 +2037,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", - "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", - "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", - "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", - "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", - "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", - "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", - "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", - "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", - "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", - "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", - "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", - "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", - "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", - "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", - "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", - "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", - "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", - "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", - "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", - "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", - "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", - "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", - "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", + "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", + "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", + "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", + "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", + "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", + "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", + "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", + "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", + "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", + "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", + "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", + "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", + "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", + "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", + "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", + "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", + "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", + "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", + "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", + "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", + "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", + "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", + "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", + "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000d879c2ca4aaa2a36dfccd5863f20274a60", - "0x00000000000000000000000000000000001d1cfa42b5dc129e9db9bef843464a", - "0x000000000000000000000000000000cae7e1e96538a6e000e77ac134823e86fa", - "0x00000000000000000000000000000000000df5213122862b7c8ffcd7b511619e", - "0x0000000000000000000000000000005bf2d4c586ef6451bc039ac2cbc033114b", - "0x000000000000000000000000000000000011833b45815152d00fffcfcbb07f74", - "0x000000000000000000000000000000c6443b067eb490fb49c4517b7590f2fd03", - "0x000000000000000000000000000000000015561fee08dfc7cc28b6ffaba33471", - "0x000000000000000000000000000000f5d4f6511b9ef06da9cd8ab4d01726b526", - "0x00000000000000000000000000000000000a973c8791c81c029d0ec1014b3f71", - "0x00000000000000000000000000000012c20c6a4ba48f2fdc2ca2dcebc1cfe359", - "0x0000000000000000000000000000000000087c2d8d023f5cdb1f632499237bef", - "0x00000000000000000000000000000035ba3fbe080b99e29138a850a81e15c22b", - "0x0000000000000000000000000000000000109ad7837735dbd96860ed7882d4dc", - "0x0000000000000000000000000000002d7a805b4f82b61077b3b5e5b333924359", - "0x00000000000000000000000000000000000e82ef2372d62554005392091181d7", - "0x0000000000000000000000000000003af5dc371ee16f9a1832d922a48a457857", - "0x000000000000000000000000000000000019bea29bcd65a09ec02eb37c5f6359", - "0x00000000000000000000000000000029f119c0eb2d373fe5bb6a63cd07ed538b", - "0x000000000000000000000000000000000005dbac3cde375048802fed4a7ba3b7", - "0x00000000000000000000000000000052d304f8a68bc330a29e35527900dad4ad", - "0x0000000000000000000000000000000000267217bd8a9e312eac299565e4b4e7", - "0x000000000000000000000000000000c0d6002a87d5e4f1afffc4ba0b607c6380", - "0x000000000000000000000000000000000017d04974e428a306f9d896fefb4db2", - "0x0000000000000000000000000000004e578f24bc1cf580eac81a17296f635673", - "0x000000000000000000000000000000000005069c78cdcb82133d6c603bb3dd3c", - "0x00000000000000000000000000000048b1c757d12b36e720789106299efc511e", - "0x00000000000000000000000000000000002c34883ddaca2b582ef7948c45c086", - "0x00000000000000000000000000000007e514195d4a6c6f5df41b99894ead9954", - "0x00000000000000000000000000000000000ddc2124820208a68a438834817db2", - "0x0000000000000000000000000000009edf91ab76076125bb4cd75887cfc9abde", - "0x0000000000000000000000000000000000221107d04171d1e9bd76a95b9e2415", - "0x000000000000000000000000000000b0edbda6431ccc14cd7a31df572cd7f20a", - "0x0000000000000000000000000000000000137b929e8b411e5704904f796b1650", - "0x0000000000000000000000000000004dc2892cc826045bfc2749713df89a9a61", - "0x00000000000000000000000000000000001f5b5eb9e45afbcfbff368b745db27", - "0x00000000000000000000000000000013cbed1e1ce38b0d6f1335820841615e2c", - "0x0000000000000000000000000000000000248edf8f184bd7d120d4b12053092e", - "0x0000000000000000000000000000004d108f779cafb5152a7f59c4c9486415ef", - "0x000000000000000000000000000000000015eca1cf6b67b4eac1a24947642440", - "0x000000000000000000000000000000e3bfeefe450f7b372a209ee78c34abe02c", - "0x00000000000000000000000000000000000b30897794a4fd3fbcf4deff285823", - "0x00000000000000000000000000000028583bd6080daf0a2b2bfec86f9d958be9", - "0x00000000000000000000000000000000002d2c473ca4b9c821231835fe595f68", - "0x000000000000000000000000000000bc93130b4833d228c40293f7c591d0699b", - "0x0000000000000000000000000000000000252a366671fbeabc418bb9cc77d089", - "0x000000000000000000000000000000393862b5677eefc483a07a4b4d6d652070", - "0x0000000000000000000000000000000000239cef385298a70ba0e13605209fff", - "0x00000000000000000000000000000027bdff84bf879cf9c2869eb1ab005be4bd", - "0x0000000000000000000000000000000000218f067a48a148ca29e9b921f4fc55", - "0x000000000000000000000000000000d5f65577a8f450e344cf57db046a579119", - "0x000000000000000000000000000000000023105c23cf9dbd5c239c1cd6d1f1fe", - "0x00000000000000000000000000000044557defb858063b5f1bd325cefd8fee75", - "0x00000000000000000000000000000000002f10b7eb7fe7d1701e85ed0593d38f", - "0x00000000000000000000000000000070ab5656337d09f7c238d17bb63b72d39d", - "0x00000000000000000000000000000000000bc311ad594d8065f80297a5171e7c", - "0x00000000000000000000000000000001624c62d6b692f7703f85ea6f51a4feae", - "0x00000000000000000000000000000000001112442c8d7c259363e23d6ae0c3dd", - "0x000000000000000000000000000000fcf1d7663229cc349b968db50732e48908", - "0x00000000000000000000000000000000001e38903bf86c9ad37f0e4849ad65f4", + "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", + "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", + "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", + "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", + "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", + "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", + "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", + "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", + "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", + "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", + "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", + "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", + "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", + "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", + "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", + "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", + "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", + "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", + "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", + "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", + "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", + "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", + "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", + "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", + "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", + "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", + "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", + "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", + "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", + "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", + "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", + "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", + "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", + "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", + "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", + "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", + "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", + "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", + "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", + "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", + "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", + "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", + "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", + "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", + "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", + "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", + "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", + "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", + "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", + "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", + "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", + "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", + "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", + "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", + "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", + "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", + "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", + "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", + "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", + "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -2145,12 +2145,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", - "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", - "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", - "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" + "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", + "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", + "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", + "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" ] - hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" + hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" [inputs.previous_l1_to_l2] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml index 49ae1d814075..dc3b9e17580c 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml @@ -1,7 +1,7 @@ [inputs] new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x10fdaefb9d9fa0c463e5009a6ea35f6a617fe18ac5cde12952775ef762326a57", + "0x0be2f2d27439cf6e33ecdaf1223d1f3126dd2998c3b917a80b6985cde0d5b8bf", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", @@ -562,12 +562,12 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98" + root = "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -625,10 +625,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335" ] state = [ - "0x1a74ff032ae620c0f07c131712778ce545e2e0d87ed3ce855e5e490bbcd805d8", - "0x007eb8e5e9c4e4e432db874bb4ac0e2a990b5b87098ea24c42716a7dd03ef9ab", - "0x2563c6fbeacb77e44cd706bd60496b9a59a26d068b849293bbee419a763d75e1", - "0x0ca40344a9d927d78b30ec37788ea74c3a35801770c9e5a10c8164e7be6b300a" + "0x102f1a257e06f97cc27fe39d748c0d3f2b3b4582bf369fd33ebf5566fde83cb6", + "0x2085d8042fb334f1076f5457ffce79923cd0523b43e379da9255377ea3ff0900", + "0x2e98cd16638c9481c3490c09b27b894dd912e8f4bc90d9b1545374af7228e1fc", + "0x19422370c5aed616c0711f10a7118c484f7c1b021b4063cce3a8b7f6dc196d0e" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -643,10 +643,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x22cec070d3e1247a85523fed93ec682eb92244949132d58fd8005e60ccef51b9", - "0x040016bb0c02b24c3ad02a5cc4ec99c6b73f70953e2c880bf9b21dac00db8675", - "0x1c821d14411296e2d139f1f9719d4f33569d569932c20f3b10b77a9a45624b2b", - "0x0bf09b204ddb8ee7e019b39a14e6f2ebca55e98f0831519e7a0248fb947240f1" + "0x042922c82b31a2db79bc164e18e0d630efd206b0036ea5fa624b689d94a0d76f", + "0x1055b96e0b1078c5cf3d5cb310536fede55a664aca933bd4de367cbb8cc7d000", + "0x2b8303d79b5822eb32b6eda2d73b44eb363b055b43c6bd56c684d9e0dbec8269", + "0x207ceaf7fd6875f734885c589e5f03e45fa767e12fc9aaeef49a3bad248748ff" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -654,11 +654,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -668,94 +668,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", - "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", - "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", - "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", - "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", - "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", - "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", - "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", - "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", - "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", - "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", - "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", - "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", - "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", - "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", - "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", - "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", - "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", - "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", - "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", - "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", - "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", - "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", - "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", + "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", + "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", + "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", + "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", + "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", + "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", + "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", + "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", + "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", + "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", + "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", + "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", + "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", + "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", + "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", + "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", + "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", + "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", + "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", + "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", + "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", + "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", + "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", + "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000d879c2ca4aaa2a36dfccd5863f20274a60", - "0x00000000000000000000000000000000001d1cfa42b5dc129e9db9bef843464a", - "0x000000000000000000000000000000cae7e1e96538a6e000e77ac134823e86fa", - "0x00000000000000000000000000000000000df5213122862b7c8ffcd7b511619e", - "0x0000000000000000000000000000005bf2d4c586ef6451bc039ac2cbc033114b", - "0x000000000000000000000000000000000011833b45815152d00fffcfcbb07f74", - "0x000000000000000000000000000000c6443b067eb490fb49c4517b7590f2fd03", - "0x000000000000000000000000000000000015561fee08dfc7cc28b6ffaba33471", - "0x000000000000000000000000000000f5d4f6511b9ef06da9cd8ab4d01726b526", - "0x00000000000000000000000000000000000a973c8791c81c029d0ec1014b3f71", - "0x00000000000000000000000000000012c20c6a4ba48f2fdc2ca2dcebc1cfe359", - "0x0000000000000000000000000000000000087c2d8d023f5cdb1f632499237bef", - "0x00000000000000000000000000000035ba3fbe080b99e29138a850a81e15c22b", - "0x0000000000000000000000000000000000109ad7837735dbd96860ed7882d4dc", - "0x0000000000000000000000000000002d7a805b4f82b61077b3b5e5b333924359", - "0x00000000000000000000000000000000000e82ef2372d62554005392091181d7", - "0x0000000000000000000000000000003af5dc371ee16f9a1832d922a48a457857", - "0x000000000000000000000000000000000019bea29bcd65a09ec02eb37c5f6359", - "0x00000000000000000000000000000029f119c0eb2d373fe5bb6a63cd07ed538b", - "0x000000000000000000000000000000000005dbac3cde375048802fed4a7ba3b7", - "0x00000000000000000000000000000052d304f8a68bc330a29e35527900dad4ad", - "0x0000000000000000000000000000000000267217bd8a9e312eac299565e4b4e7", - "0x000000000000000000000000000000c0d6002a87d5e4f1afffc4ba0b607c6380", - "0x000000000000000000000000000000000017d04974e428a306f9d896fefb4db2", - "0x0000000000000000000000000000004e578f24bc1cf580eac81a17296f635673", - "0x000000000000000000000000000000000005069c78cdcb82133d6c603bb3dd3c", - "0x00000000000000000000000000000048b1c757d12b36e720789106299efc511e", - "0x00000000000000000000000000000000002c34883ddaca2b582ef7948c45c086", - "0x00000000000000000000000000000007e514195d4a6c6f5df41b99894ead9954", - "0x00000000000000000000000000000000000ddc2124820208a68a438834817db2", - "0x0000000000000000000000000000009edf91ab76076125bb4cd75887cfc9abde", - "0x0000000000000000000000000000000000221107d04171d1e9bd76a95b9e2415", - "0x000000000000000000000000000000b0edbda6431ccc14cd7a31df572cd7f20a", - "0x0000000000000000000000000000000000137b929e8b411e5704904f796b1650", - "0x0000000000000000000000000000004dc2892cc826045bfc2749713df89a9a61", - "0x00000000000000000000000000000000001f5b5eb9e45afbcfbff368b745db27", - "0x00000000000000000000000000000013cbed1e1ce38b0d6f1335820841615e2c", - "0x0000000000000000000000000000000000248edf8f184bd7d120d4b12053092e", - "0x0000000000000000000000000000004d108f779cafb5152a7f59c4c9486415ef", - "0x000000000000000000000000000000000015eca1cf6b67b4eac1a24947642440", - "0x000000000000000000000000000000e3bfeefe450f7b372a209ee78c34abe02c", - "0x00000000000000000000000000000000000b30897794a4fd3fbcf4deff285823", - "0x00000000000000000000000000000028583bd6080daf0a2b2bfec86f9d958be9", - "0x00000000000000000000000000000000002d2c473ca4b9c821231835fe595f68", - "0x000000000000000000000000000000bc93130b4833d228c40293f7c591d0699b", - "0x0000000000000000000000000000000000252a366671fbeabc418bb9cc77d089", - "0x000000000000000000000000000000393862b5677eefc483a07a4b4d6d652070", - "0x0000000000000000000000000000000000239cef385298a70ba0e13605209fff", - "0x00000000000000000000000000000027bdff84bf879cf9c2869eb1ab005be4bd", - "0x0000000000000000000000000000000000218f067a48a148ca29e9b921f4fc55", - "0x000000000000000000000000000000d5f65577a8f450e344cf57db046a579119", - "0x000000000000000000000000000000000023105c23cf9dbd5c239c1cd6d1f1fe", - "0x00000000000000000000000000000044557defb858063b5f1bd325cefd8fee75", - "0x00000000000000000000000000000000002f10b7eb7fe7d1701e85ed0593d38f", - "0x00000000000000000000000000000070ab5656337d09f7c238d17bb63b72d39d", - "0x00000000000000000000000000000000000bc311ad594d8065f80297a5171e7c", - "0x00000000000000000000000000000001624c62d6b692f7703f85ea6f51a4feae", - "0x00000000000000000000000000000000001112442c8d7c259363e23d6ae0c3dd", - "0x000000000000000000000000000000fcf1d7663229cc349b968db50732e48908", - "0x00000000000000000000000000000000001e38903bf86c9ad37f0e4849ad65f4", + "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", + "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", + "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", + "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", + "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", + "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", + "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", + "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", + "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", + "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", + "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", + "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", + "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", + "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", + "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", + "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", + "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", + "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", + "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", + "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", + "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", + "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", + "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", + "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", + "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", + "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", + "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", + "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", + "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", + "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", + "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", + "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", + "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", + "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", + "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", + "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", + "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", + "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", + "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", + "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", + "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", + "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", + "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", + "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", + "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", + "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", + "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", + "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", + "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", + "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", + "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", + "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", + "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", + "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", + "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", + "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", + "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", + "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", + "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", + "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -776,9 +776,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", - "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", - "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", - "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" + "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", + "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", + "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", + "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" ] - hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" + hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" 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 24d2453b4eaf..10afca940461 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 @@ -562,7 +562,7 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -643,10 +643,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x09dd5448788a66dc8f5566151c29733cdbbe92225aa183dccb99881599fbef41", - "0x22700efe2bf96efa7aad2222062b8c67a687f75599eb8134a841111517edf396", - "0x062d6b9c481138729726ee1b9371103abe37faea66808d8b846a6a66b69d3297", - "0x208f2a229a996e11b7c12f02b87071d51ecf1b5910a93c9deb3f05a050bcaca0" + "0x01362bfcc36c67344c7ae4a7ca3e8535c9beb0034f70547fbb6fd93b26318519", + "0x226cb50d6397b6916e14e0129eff6c0c3293833cd011e205938bdd057e3b6d85", + "0x09398314452ec6558861cd10c98b9e56acb91086219f8a1330a157e704f5b2a6", + "0x143cce481133b1f4a4475d48b0a0389c7fb1fda13e52910e14f381115b5f4217" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -654,11 +654,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -668,94 +668,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000007352f92242d490846125dcd40ea4df487f", - "0x000000000000000000000000000000000024fcb20f81e5cc0a851f4a92c5f27e", - "0x000000000000000000000000000000cdd574b3dc28c9112da5378d9fb39242a7", - "0x0000000000000000000000000000000000032433bb0abd08199c2ac7054fb083", - "0x000000000000000000000000000000384aeb6924f3e3a5031bf58fb40cfe5db0", - "0x00000000000000000000000000000000001c2a4c16d200224aadfcd01e141357", - "0x000000000000000000000000000000ea1cd672c28ed592133db5f412941071c5", - "0x0000000000000000000000000000000000138f2b2ffcdbdf5fa2f0312308af7e", - "0x000000000000000000000000000000b45672ed8a54acb112879b62cb021c1cf7", - "0x000000000000000000000000000000000015ccfe5a412f295f746a84dd96101d", - "0x0000000000000000000000000000007ed040d05a4b589d75ee93bb06e954393f", - "0x00000000000000000000000000000000000adae7a939d9c7a315899b1c8ce509", - "0x000000000000000000000000000000889e74133df9bc22793d93d2d0257fc50d", - "0x00000000000000000000000000000000000ca219f3dbd2c9e3426040b3a13df3", - "0x000000000000000000000000000000663543b92e5290470f71bd336996b44445", - "0x00000000000000000000000000000000002463667f81c64426c22972f27c03ba", - "0x000000000000000000000000000000c66a4093181a7df5ab73db62e8b18224e1", - "0x0000000000000000000000000000000000255aa60b14bb2e7a16c5fcd4d4c113", - "0x000000000000000000000000000000a77f27fcbf71ca847ff45e848441676544", - "0x00000000000000000000000000000000001514c2b0a21e00019bc4db479ed3b6", - "0x000000000000000000000000000000346f53133e766f120e02519b3ae6a409af", - "0x000000000000000000000000000000000017050439637be357ff6ffa820e79ba", - "0x000000000000000000000000000000accc4bce89352ecc213cbee6b11b644574", - "0x00000000000000000000000000000000002c5611d3b603c6e9ed40993fae94d4", + "0x000000000000000000000000000000d4f5c3de2c387816f25248adacbaed064a", + "0x00000000000000000000000000000000001e56479240164755c37430e37ee18e", + "0x00000000000000000000000000000008b2e8e23e62bb720f5a257a89351432fc", + "0x00000000000000000000000000000000000e606fd3145de5b4bba11651480093", + "0x000000000000000000000000000000e48f9536b9e3857c99488e7ac630b6ef27", + "0x0000000000000000000000000000000000277055fc271e44ef98e520fb305fa1", + "0x00000000000000000000000000000048bfc1ae73150b6267679a1702bce806e4", + "0x00000000000000000000000000000000002e81dcdabb2170828bf335bcf16667", + "0x000000000000000000000000000000c2347e925937ec69c3e355770ac2a7e96c", + "0x00000000000000000000000000000000000c2a119bfb290badc4bb787480fad8", + "0x000000000000000000000000000000f65dc90a62b37ab56ea070745acb7cbe08", + "0x0000000000000000000000000000000000078f3d7b348ad3d6df3c856f25b8c7", + "0x0000000000000000000000000000007763a42a1ef843aadbe8714b70bd1bb4ca", + "0x000000000000000000000000000000000001f5d583c6a9e7f1a4c9a88d6f33aa", + "0x0000000000000000000000000000001d8a0b39b537750b9b4572eeab104edecb", + "0x000000000000000000000000000000000007ce0e688f0c8f6229694089c30675", + "0x000000000000000000000000000000905ffae6da8146a986ee0d47b00d57d91c", + "0x000000000000000000000000000000000016ba51f0d3c2ab102cf05b73f15cf0", + "0x000000000000000000000000000000843ce4e6cfa148509bf56db07623838e55", + "0x00000000000000000000000000000000000e15f838f63df23b7c5f1d3d9d9f95", + "0x00000000000000000000000000000063dd39d60df806eb4a722a16542db337e9", + "0x00000000000000000000000000000000002c9dc60b901a78fc96101e32e9d590", + "0x000000000000000000000000000000194b4a71e8464805f9ada213986863e129", + "0x000000000000000000000000000000000016d44376e7afcb18cc9fd3e9cacc2b", "0x0000000000000000000000000000004288fb745aa3b78da694bc2f3c28178b53", "0x0000000000000000000000000000000000029292ff399aa7b20eb1f743696c46", "0x0000000000000000000000000000003582186b8e684671a476f80b8d0e114d5d", "0x00000000000000000000000000000000001b3109c18b36e49b5ef30578b4bc60", - "0x0000000000000000000000000000009bc376f10c450a208c7f02549be2c58935", - "0x000000000000000000000000000000000022091afb2089feb120dda62dae4869", - "0x000000000000000000000000000000e553fada11af567a852df6c5ef865d2900", - "0x00000000000000000000000000000000000f2f48bb0b2e97aa4de6e7050181bb", - "0x000000000000000000000000000000e436acedae1ae8089b1359589323245acd", - "0x0000000000000000000000000000000000273c1aa0753eddef7cbd571aded65e", - "0x0000000000000000000000000000003398a85ec20a75e30d1d69ac15b9fcbd2d", - "0x00000000000000000000000000000000002172068408c2551184e03e25a888dd", - "0x0000000000000000000000000000003ed4c00e57362e93468099cdf3fee3cc28", - "0x00000000000000000000000000000000002438c23d1e72356f1f99e5cd00c4cd", - "0x000000000000000000000000000000bd9c4f9b03c6f81360ffa269f2ce83e75c", - "0x0000000000000000000000000000000000304c03ce4fe9b0d4814359ea283e3d", - "0x000000000000000000000000000000dfc18e81583981b3caae0df9cb81ea8ab0", - "0x0000000000000000000000000000000000167c8ccc09c3b1708f227d7aefc218", - "0x000000000000000000000000000000619f7d46fd3eb05e107e461012c76c4b20", - "0x00000000000000000000000000000000002d3dacd182ef29db79a20fb771d9bc", - "0x0000000000000000000000000000004cd3f85a455f64797d4dd6a19af03f1007", - "0x000000000000000000000000000000000004828d5bcd455effd7f7c42c879e15", - "0x0000000000000000000000000000002247ad77fc259cb622992c8d2d3a44c1d6", - "0x0000000000000000000000000000000000090169ca2eb54f76e2ff7911b7475d", - "0x00000000000000000000000000000012be6089834151d63930d95d6fb27e3c85", - "0x000000000000000000000000000000000015794fd27695f6c9cfa129da356185", - "0x0000000000000000000000000000002be88165aedfe17e770709a631b69c1a5e", - "0x000000000000000000000000000000000009ac511510dfcaef4307ff181fef54", - "0x000000000000000000000000000000fce2d4712933767ceab1c01b3459f3e654", - "0x000000000000000000000000000000000003e8f2d14b810ef9fdfc542483a8a7", - "0x000000000000000000000000000000a215c9ef2f5090152faaa77d41ebaa232e", - "0x00000000000000000000000000000000001e90a6a2571cf657f019e5ef3b2430", - "0x00000000000000000000000000000051a6e0402e99fb2905e27da1ed34966202", - "0x0000000000000000000000000000000000075c4facf2d07f25225c56bd12e5a3", - "0x000000000000000000000000000000fdb0d5d22ed80d0b2c6cdedba536811cb3", - "0x000000000000000000000000000000000002d96eb3d5b8b907d0805ab6728c52", - "0x00000000000000000000000000000081268203f680a0b9cc56fd19082d1b1c82", - "0x000000000000000000000000000000000013d8995c9dd20efd47b8e9d33594de", - "0x0000000000000000000000000000004afc4560c37ccee14434138892df54db7f", - "0x000000000000000000000000000000000027de310817dc80d6488cb5bf58d012", - "0x00000000000000000000000000000059d7bbb1ed0a9cc241ce76191f1f195c48", - "0x00000000000000000000000000000000002b5fa22dd15b9fc4ccd7acbfee8841", - "0x0000000000000000000000000000006c146ed5d676edd02406299b0030ee5e59", - "0x00000000000000000000000000000000002d3ac1c76361249bee7bc331003f1e", - "0x0000000000000000000000000000002fac51f8c63571981c564dfe3298466b67", - "0x00000000000000000000000000000000001b713831d785450e84f4804e49def8", - "0x0000000000000000000000000000007879d9b7f0545eac7c5753bb42e250953a", - "0x000000000000000000000000000000000007258b05267ec9400b8b265ee19968", - "0x00000000000000000000000000000063685a4310e172bace0661a2dc28525c36", - "0x0000000000000000000000000000000000038005ee276cb7dfe0f45656798a36", - "0x00000000000000000000000000000075a1580bb6f64e8443acc296666cc45191", - "0x00000000000000000000000000000000001e045ab9d033deb44d8412ee16ad25", - "0x000000000000000000000000000000128d9c1470ccc898ae1c8f39143f92781a", - "0x00000000000000000000000000000000000757d4226a0da208abdbef0a37af2d", - "0x0000000000000000000000000000007ae41cddbab1aa46340732e9f0c055096f", - "0x0000000000000000000000000000000000299531a738882263f742df517f3572", - "0x00000000000000000000000000000032ae25ca3d7c6fca81c6a7ce9efcafc2d4", - "0x0000000000000000000000000000000000229eb828958e6883ecf18cbc7c67a2", - "0x00000000000000000000000000000050d90d44f67703020cfc77335061af6f41", - "0x00000000000000000000000000000000002a858c25d5d0e578465c0334f4cde1", - "0x00000000000000000000000000000040ec0ce641e1fe2369a52f5fe13d1a35a8", - "0x00000000000000000000000000000000001a6b0f905edb587d8cd24cf42c9a1a", - "0x0000000000000000000000000000007ffd767bd3d1721c60ba173f54f4306c67", - "0x00000000000000000000000000000000002d7ade8c4f6760a1ade3e6248f094a", + "0x00000000000000000000000000000065032e1fb7bc1ef6ffbcc5e95dba7d5ea5", + "0x00000000000000000000000000000000002df3ef894fbeae4e8ae7f9febb8dc9", + "0x00000000000000000000000000000021483f4e072e262bc479d31cb45344bcaf", + "0x00000000000000000000000000000000001126a5ae1a8dbd7444e9452f76f0a6", + "0x00000000000000000000000000000079619cb7708cccb6dc14a77cbef5981be3", + "0x00000000000000000000000000000000000bff5f4abb0d988e5bf6cf0ecb54ce", + "0x0000000000000000000000000000009ad0ffa7d6c604b68b908074d5da8365ba", + "0x00000000000000000000000000000000002d7bd1c693bb15cd6dd4d8c06ed8be", + "0x0000000000000000000000000000000291752d3a13903d783c77d0c7af932a83", + "0x0000000000000000000000000000000000114faf87617175c416dee8d326b75e", + "0x000000000000000000000000000000c14d16a30c903cbf270b8225fafdadcd29", + "0x000000000000000000000000000000000013c37918102e7a7c387ca54e3a3442", + "0x000000000000000000000000000000a0c3390219581e789a7e44b14230a836bf", + "0x0000000000000000000000000000000000288dddd245ef03b0e6dcc719fecb2e", + "0x00000000000000000000000000000054263ff155ef1bd95a7a4df50d3c44cc8f", + "0x000000000000000000000000000000000011fb28c044202f35d65e9252e555ce", + "0x000000000000000000000000000000833f85afec4346004b4ee6222b22f00649", + "0x00000000000000000000000000000000002921828adc37b5b369d62ab9f9a6b4", + "0x000000000000000000000000000000a7d3cc4a4e7c4c04d19eb045f3e0098c49", + "0x00000000000000000000000000000000002cc319f1fb9b6e2d9bb1bc653ba1d3", + "0x0000000000000000000000000000004cfb894776364b8809a7734404bc802f5b", + "0x00000000000000000000000000000000001658754b0938cfd6707ba92c9b1376", + "0x000000000000000000000000000000c248703dd0e989d2ff7d338071fc1c16d2", + "0x0000000000000000000000000000000000262863664e2f6b699881149a9b1dd7", + "0x00000000000000000000000000000099cf177330bee6c86a7887136fa42917c0", + "0x00000000000000000000000000000000001fa7769da720458cc22b63dac36f0a", + "0x00000000000000000000000000000091de6bdd3d004a1a5bee4ca066c589f23c", + "0x000000000000000000000000000000000000b3bb047b45e06c907eb40b2d778b", + "0x00000000000000000000000000000044547a066f94a0dbb16fbc286aa218b20a", + "0x00000000000000000000000000000000002e21faa0626378cb5fd479233b9b53", + "0x0000000000000000000000000000003f2b3643212591a0bfa3041345d411ff98", + "0x00000000000000000000000000000000002845063928032a23eb46f71e75aff0", + "0x0000000000000000000000000000004a183dba2e3976979d55f166b1d5273506", + "0x0000000000000000000000000000000000226a439a9380f1b29978c6cb7f5251", + "0x000000000000000000000000000000018d21e4565a9abce684b03a0edce7e140", + "0x000000000000000000000000000000000022ca9d977db16ae078410e26646047", + "0x00000000000000000000000000000091f78a8f461e0e6ed8b722fc0350a7c704", + "0x00000000000000000000000000000000000a7fc5a45989424a06901a10992a84", + "0x000000000000000000000000000000b3b32d474ea597306f7a7e36bd60195665", + "0x000000000000000000000000000000000008917a8fb4b4d45c39d8d9a27732c0", + "0x000000000000000000000000000000cb9f793a531330de5cf2cb802ee83ee86f", + "0x00000000000000000000000000000000000dcd4e0caed9a3ecec9527f40afb92", + "0x000000000000000000000000000000c4e357b96c1f90f285d7aa4501ca81f24d", + "0x000000000000000000000000000000000020bcbc6d5c3b7ee92c38b677e85517", + "0x0000000000000000000000000000007d1d9d1b9f80e4f86645d2af1ab6adaea4", + "0x00000000000000000000000000000000002147a299e49c41ae51a2c4d1fc9840", + "0x0000000000000000000000000000000be6ef80e6ae1435719c699ce36a93c22f", + "0x000000000000000000000000000000000006283ab16347cb9c4b68f87f5a7d63", + "0x000000000000000000000000000000f1092a7935d3f050c177935735fae80681", + "0x00000000000000000000000000000000002679a4198119859b260a321b94338b", + "0x0000000000000000000000000000002b548509677ad162ba315134b3555ea87f", + "0x0000000000000000000000000000000000131b9d4d7cf0cf6ccf6b62cc3d61d3", + "0x000000000000000000000000000000535c2efe6010ad388e71cf994bb0ad94d6", + "0x00000000000000000000000000000000000362dda32f4cd58d2432184dfe8e4b", + "0x0000000000000000000000000000002d71366f924781842a03be1a5774161835", + "0x00000000000000000000000000000000002dba705d548c3724876bd10acce4c1", + "0x0000000000000000000000000000004438aba2493a49e55cca6a5ba2dd4498f3", + "0x0000000000000000000000000000000000250a1c40481a9e6b10c7d060662782", + "0x00000000000000000000000000000009965977cd286bcc89efce01ab314fbee2", + "0x000000000000000000000000000000000022a3e0727e7091833cde73d6c29d01", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -776,12 +776,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000f0369d4a38e5a64d52fbb31400384975f5", - "0x00000000000000000000000000000000000a8ffc52c294fdd9d445e18783e097", - "0x00000000000000000000000000000067edf1fca1ebd44cbe8f5b86ee745388d3", - "0x00000000000000000000000000000000002afc9e0f04db1804ae103d81ec1780" + "0x000000000000000000000000000000362e6621fc75117ec0634754da31455dab", + "0x0000000000000000000000000000000000207b7344b08aca155626551685e25a", + "0x000000000000000000000000000000c762c37ff95f038d12ab8ec7e61ba7e309", + "0x000000000000000000000000000000000013e1d318da7ba31c2eb366e1d5f0b4" ] - hash = "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840" + hash = "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5" [[inputs.previous_rollups]] proof = [ @@ -1313,7 +1313,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1376,10 +1376,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x09dd5448788a66dc8f5566151c29733cdbbe92225aa183dccb99881599fbef41", - "0x22700efe2bf96efa7aad2222062b8c67a687f75599eb8134a841111517edf396", - "0x062d6b9c481138729726ee1b9371103abe37faea66808d8b846a6a66b69d3297", - "0x208f2a229a996e11b7c12f02b87071d51ecf1b5910a93c9deb3f05a050bcaca0" + "0x01362bfcc36c67344c7ae4a7ca3e8535c9beb0034f70547fbb6fd93b26318519", + "0x226cb50d6397b6916e14e0129eff6c0c3293833cd011e205938bdd057e3b6d85", + "0x09398314452ec6558861cd10c98b9e56acb91086219f8a1330a157e704f5b2a6", + "0x143cce481133b1f4a4475d48b0a0389c7fb1fda13e52910e14f381115b5f4217" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1394,10 +1394,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7f9d34f" ] state = [ - "0x01caab78bcc1c33ef98af8960e165fe9e79c20e4259e2b79a0d88efc20c97b64", - "0x1f6f2058a0a61e44b54a035bbcbe13dc9f5d0c510f78cc81dce0e909d08f208d", - "0x28ffaaa2c537f31a9f05ec057caba1d04d23faa7898f6fe633df935c40dab3fc", - "0x19adca264f85d60f48aa9a86a57f7275f289662cbf47aedb5e0b255c8fdfc75b" + "0x011e90d3d28e58ed220b6fe31202ecc9e1f7ab9de4edcee5ce9c5dfd04ea175d", + "0x2b784cffbf30c01c1bc1917884afe4afba011ca1b3e427e2dd5679b0d09d8927", + "0x1f4dcb7ba4bdeca1b93ccd4d1261a12c901c6740c63266ed6ddd494c2d44017c", + "0x1b0cdb1f14908c702a5622a019e6ee5c2d1701eee6c6d2800da00ede128ba8a6" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1405,11 +1405,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1419,94 +1419,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", - "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", - "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", - "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", - "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", - "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", - "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", - "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", - "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", - "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", - "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", - "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", - "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", - "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", - "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", - "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", - "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", - "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", - "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", - "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", - "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", - "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", - "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", - "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", + "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", + "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", + "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", + "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", + "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", + "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", + "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", + "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", + "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", + "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", + "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", + "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", + "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", + "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", + "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", + "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", + "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", + "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", + "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", + "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", + "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", + "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", + "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", + "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000d879c2ca4aaa2a36dfccd5863f20274a60", - "0x00000000000000000000000000000000001d1cfa42b5dc129e9db9bef843464a", - "0x000000000000000000000000000000cae7e1e96538a6e000e77ac134823e86fa", - "0x00000000000000000000000000000000000df5213122862b7c8ffcd7b511619e", - "0x0000000000000000000000000000005bf2d4c586ef6451bc039ac2cbc033114b", - "0x000000000000000000000000000000000011833b45815152d00fffcfcbb07f74", - "0x000000000000000000000000000000c6443b067eb490fb49c4517b7590f2fd03", - "0x000000000000000000000000000000000015561fee08dfc7cc28b6ffaba33471", - "0x000000000000000000000000000000f5d4f6511b9ef06da9cd8ab4d01726b526", - "0x00000000000000000000000000000000000a973c8791c81c029d0ec1014b3f71", - "0x00000000000000000000000000000012c20c6a4ba48f2fdc2ca2dcebc1cfe359", - "0x0000000000000000000000000000000000087c2d8d023f5cdb1f632499237bef", - "0x00000000000000000000000000000035ba3fbe080b99e29138a850a81e15c22b", - "0x0000000000000000000000000000000000109ad7837735dbd96860ed7882d4dc", - "0x0000000000000000000000000000002d7a805b4f82b61077b3b5e5b333924359", - "0x00000000000000000000000000000000000e82ef2372d62554005392091181d7", - "0x0000000000000000000000000000003af5dc371ee16f9a1832d922a48a457857", - "0x000000000000000000000000000000000019bea29bcd65a09ec02eb37c5f6359", - "0x00000000000000000000000000000029f119c0eb2d373fe5bb6a63cd07ed538b", - "0x000000000000000000000000000000000005dbac3cde375048802fed4a7ba3b7", - "0x00000000000000000000000000000052d304f8a68bc330a29e35527900dad4ad", - "0x0000000000000000000000000000000000267217bd8a9e312eac299565e4b4e7", - "0x000000000000000000000000000000c0d6002a87d5e4f1afffc4ba0b607c6380", - "0x000000000000000000000000000000000017d04974e428a306f9d896fefb4db2", - "0x0000000000000000000000000000004e578f24bc1cf580eac81a17296f635673", - "0x000000000000000000000000000000000005069c78cdcb82133d6c603bb3dd3c", - "0x00000000000000000000000000000048b1c757d12b36e720789106299efc511e", - "0x00000000000000000000000000000000002c34883ddaca2b582ef7948c45c086", - "0x00000000000000000000000000000007e514195d4a6c6f5df41b99894ead9954", - "0x00000000000000000000000000000000000ddc2124820208a68a438834817db2", - "0x0000000000000000000000000000009edf91ab76076125bb4cd75887cfc9abde", - "0x0000000000000000000000000000000000221107d04171d1e9bd76a95b9e2415", - "0x000000000000000000000000000000b0edbda6431ccc14cd7a31df572cd7f20a", - "0x0000000000000000000000000000000000137b929e8b411e5704904f796b1650", - "0x0000000000000000000000000000004dc2892cc826045bfc2749713df89a9a61", - "0x00000000000000000000000000000000001f5b5eb9e45afbcfbff368b745db27", - "0x00000000000000000000000000000013cbed1e1ce38b0d6f1335820841615e2c", - "0x0000000000000000000000000000000000248edf8f184bd7d120d4b12053092e", - "0x0000000000000000000000000000004d108f779cafb5152a7f59c4c9486415ef", - "0x000000000000000000000000000000000015eca1cf6b67b4eac1a24947642440", - "0x000000000000000000000000000000e3bfeefe450f7b372a209ee78c34abe02c", - "0x00000000000000000000000000000000000b30897794a4fd3fbcf4deff285823", - "0x00000000000000000000000000000028583bd6080daf0a2b2bfec86f9d958be9", - "0x00000000000000000000000000000000002d2c473ca4b9c821231835fe595f68", - "0x000000000000000000000000000000bc93130b4833d228c40293f7c591d0699b", - "0x0000000000000000000000000000000000252a366671fbeabc418bb9cc77d089", - "0x000000000000000000000000000000393862b5677eefc483a07a4b4d6d652070", - "0x0000000000000000000000000000000000239cef385298a70ba0e13605209fff", - "0x00000000000000000000000000000027bdff84bf879cf9c2869eb1ab005be4bd", - "0x0000000000000000000000000000000000218f067a48a148ca29e9b921f4fc55", - "0x000000000000000000000000000000d5f65577a8f450e344cf57db046a579119", - "0x000000000000000000000000000000000023105c23cf9dbd5c239c1cd6d1f1fe", - "0x00000000000000000000000000000044557defb858063b5f1bd325cefd8fee75", - "0x00000000000000000000000000000000002f10b7eb7fe7d1701e85ed0593d38f", - "0x00000000000000000000000000000070ab5656337d09f7c238d17bb63b72d39d", - "0x00000000000000000000000000000000000bc311ad594d8065f80297a5171e7c", - "0x00000000000000000000000000000001624c62d6b692f7703f85ea6f51a4feae", - "0x00000000000000000000000000000000001112442c8d7c259363e23d6ae0c3dd", - "0x000000000000000000000000000000fcf1d7663229cc349b968db50732e48908", - "0x00000000000000000000000000000000001e38903bf86c9ad37f0e4849ad65f4", + "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", + "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", + "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", + "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", + "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", + "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", + "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", + "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", + "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", + "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", + "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", + "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", + "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", + "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", + "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", + "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", + "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", + "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", + "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", + "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", + "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", + "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", + "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", + "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", + "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", + "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", + "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", + "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", + "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", + "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", + "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", + "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", + "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", + "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", + "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", + "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", + "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", + "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", + "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", + "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", + "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", + "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", + "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", + "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", + "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", + "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", + "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", + "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", + "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", + "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", + "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", + "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", + "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", + "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", + "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", + "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", + "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", + "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", + "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", + "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1527,9 +1527,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", - "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", - "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", - "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" + "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", + "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", + "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", + "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" ] - hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" + hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml index c741f2b61614..1c905b7c63df 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x0040f1b22615558ae81d4b0584ffa3a0a84e34df392de9d6893c1200f3417244", + "0x00cd518fbceb51a8d33645c3ea3d7d2e0146d599ec605f0c76766e4cf736b7d3", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -559,17 +559,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" + root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" + root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -581,10 +581,10 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" + value = "0x000000000000000000000000000000000000000000000000000001b0ca114000" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -811,15 +811,15 @@ proof = [ ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00bd0f07d3feee2b0c6b3bdf08582626623244990a3915af768fc37f9cd5efae" - z_acc = "0x1ebe3b93201375ea93b193dd286f622d61783b1a174ed2e993082133f71ff148" - gamma_acc = "0x2820cc1b1817484b1f0f42bc000ff717e4b787f8142773e771c992ffd532611f" + blob_commitments_hash_acc = "0x0067a9ca7771c78abc575c419c2efcec83aadd0e3c1496ed7095479012ff7e85" + z_acc = "0x2f187030c6aed7047155b294e56b3f2e742d9c5e8fa6bdf047e45a0f8e8d154f" + gamma_acc = "0x23f60bad48292ef03491551c7543c478ec87d92627aac6214c356755e96d053d" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x8d32fa0ef518a993847ddbfc735f8d", - "0xb2d8b64fe2db288926d94813c6fb58", - "0x1b13" + "0x7705cf67fd23e1569d3145352936c5", + "0x5bc8dee2ef4f217f07393fb722b419", + "0x22fe" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -827,45 +827,45 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0xfb921764984cb7efe72117ef84ad82", - "0x703c9e0ea80f4284bd670914dca5fd", - "0x5412ff49e08661ac07a65cd230765a", - "0x0862d5" + "0xb076426ac8071757dd92439f0dea62", + "0xb1673c8120d4ff268d438e87dfa602", + "0x61ea33dc5a6d1e6c67408f64c362c7", + "0x0cddcd" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x8633a467ef4090639b1ec130faa09a", - "0x1ee6ab882baf9cec6f1284dd8dc4c6", - "0x23f1a8f226f504a5462d9459db584b", - "0x0b238c" + "0x3465205198756de2596ac88fbc871e", + "0x884b35db1e7656b4cb1360b5e4b6eb", + "0x464508ad609a63706ec044ac660dfb", + "0x0f00e5" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" + z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" sibling_path = [ - "0x2700b81d4a245e8a31e04d713df866800b2968347c1fc0e39646558ab413c6c0", - "0x2dc40a2eaacdda4dd5300328637750eebdcfb29b66d4ac646345f2e6903e02e4", - "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", + "0x10f9143b2a141f3826fd2f24783a4ee36c04efd9216f2c4931a78f15e9c365ab", + "0x152474d9b911866e539377e5d6185f9c35be76bde6972cba8f9c3152640c4085", + "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -875,94 +875,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000db17fd29852c2999b7e61d3f55b86008fe", - "0x000000000000000000000000000000000012fc31fdcc7839edb28ef47a0aec57", - "0x000000000000000000000000000000a5a41cfe47ae5bc7e9e6e5dd0c97ba26db", - "0x00000000000000000000000000000000001891c9cff4f67755f4afd3430ba54e", - "0x000000000000000000000000000000cca1bffca7adde04dc5e3ff1bc2b87cd82", - "0x000000000000000000000000000000000018431d64d88a7c57ba3eb2660de56b", - "0x0000000000000000000000000000008b03b411aae549f22a12de4146ada37043", - "0x0000000000000000000000000000000000211850a447779d8d3c0f50193afaa9", - "0x000000000000000000000000000000b18709d746129d44ae5f1feb67956c1e1f", - "0x0000000000000000000000000000000000214d619198a754a59946a753ec3ecb", - "0x0000000000000000000000000000000f60bd69972504c4d537e16d61ad0c611f", - "0x000000000000000000000000000000000028afab4953379e5b7a478f75823e8d", - "0x0000000000000000000000000000003395ca232a4cda50041b4ceb2780009843", - "0x00000000000000000000000000000000002ec5786220a61bc5b8b8e39dd26436", - "0x000000000000000000000000000000dd2bbf4477a817489389e74e78ece66a0d", - "0x00000000000000000000000000000000000b4e71b2810764d0dfc85d29992955", - "0x000000000000000000000000000000bf659e1baa35037beb78b5fb3829bc15cb", - "0x00000000000000000000000000000000001005a7bd9fa94335dfdcf9ce1028d2", - "0x0000000000000000000000000000004bd597e26976b2bb70f3209c12b6de59fa", - "0x0000000000000000000000000000000000282e1bcd374b8c5fabfa8756988257", - "0x00000000000000000000000000000052ded6f9a4f5f137750ec6c351c6d07271", - "0x00000000000000000000000000000000002623251b01fcf83822556c436ee8e7", - "0x0000000000000000000000000000002a6f8f73f30bc60ba51f98b2d6efb09806", - "0x00000000000000000000000000000000001593eebc92eac3bd41a92d178044ce", + "0x0000000000000000000000000000007b992e890ea47176a53d476b6f4435307d", + "0x000000000000000000000000000000000008d830e4f03a5a0df0a626b5419713", + "0x000000000000000000000000000000314fad5a3f710c54924b09fc1676326740", + "0x00000000000000000000000000000000002c7198392d6138ab02c4f1dfbd1a9e", + "0x000000000000000000000000000000e9266a78147c0c11bdffa73a464c8a9803", + "0x000000000000000000000000000000000016292979aae313a9da5ae2e6f90572", + "0x000000000000000000000000000000914fa80ea984a41fce86bc55869c84a0ad", + "0x00000000000000000000000000000000001fc3f84c7030d6755b2fa05d45cd23", + "0x000000000000000000000000000000c22386542659a29010ca4eaaaa9bac0e60", + "0x000000000000000000000000000000000023b2248de67c392d8da66600646c8f", + "0x000000000000000000000000000000f15ab33c55742506cc8895f81420346a23", + "0x00000000000000000000000000000000000358509e27610a580b320a2acb23dc", + "0x000000000000000000000000000000173916aa7c8b117a16930f920ef74b2a14", + "0x00000000000000000000000000000000002d5ee9b4516bda4ee5c8da97f4d07b", + "0x0000000000000000000000000000007853a97a84ff7ce10690d27ed93ab7455d", + "0x00000000000000000000000000000000000b9166de2072e5cfd2c55b951fe3a0", + "0x0000000000000000000000000000004247bafca2712b63df859a5e519c4c1236", + "0x00000000000000000000000000000000001641fa2509d3b52883c203f5048601", + "0x0000000000000000000000000000003579799dfedb2ec1a964dfdc21d58dd59f", + "0x000000000000000000000000000000000001a82a2063ad50d49675339805e5d7", + "0x000000000000000000000000000000190ddaf1745c4ddd0ad927688f37edc7ab", + "0x00000000000000000000000000000000001fdc449ab2978d150e6b15424422ff", + "0x000000000000000000000000000000eaaa04f718dd857ac1dea8c713814247fd", + "0x00000000000000000000000000000000001e9ded3d040667bccb2b8b30584d78", "0x0000000000000000000000000000004b9cd87af8615fd21a50f9d2d6f5bac356", "0x00000000000000000000000000000000002fea96f32103760ddbb66d2b64dc5c", "0x000000000000000000000000000000cf57cca060c094a74ad685146e8fdb5c3e", "0x00000000000000000000000000000000000a71f47258b8aa04fa23f39812abf3", - "0x000000000000000000000000000000a4ca7e26fda7baf10f35900ec3eb26ec7b", - "0x000000000000000000000000000000000006391ddff9db356252a1fa5761650a", - "0x0000000000000000000000000000004615f4c6441240ae0e522d0869415cc75e", - "0x00000000000000000000000000000000002d02aadd260ca926d67c58f00f5d7e", - "0x00000000000000000000000000000026c72e6e31d1076927715e2c366bf44cc1", - "0x00000000000000000000000000000000001e39341ce411f93bebbd37cb653e9a", - "0x000000000000000000000000000000671bb53612c8e38440c37cf9c545a75f52", - "0x00000000000000000000000000000000002621a4c1ac112b59430c735c9f1ebb", - "0x0000000000000000000000000000003b7db74bf5e830fcd3f3aaea07ee082307", - "0x00000000000000000000000000000000001729b198e7c92a065607689a3c7690", - "0x000000000000000000000000000000abbf4986c11d8e0dd0d8180c1f616a1539", - "0x00000000000000000000000000000000002fd2763b0ab7db248468342f4d5e72", - "0x000000000000000000000000000000fa098a0d118394931851b671c7be852b1e", - "0x00000000000000000000000000000000000df578d1cd8e6a78175bc4b8359801", - "0x0000000000000000000000000000008f01aa9740f87c9b3943670ed5a4d877fb", - "0x000000000000000000000000000000000004592dd9a7f09f400d962daea89247", - "0x0000000000000000000000000000002c7bc02a6b0f39b9826e8df9797ef2bc2d", - "0x00000000000000000000000000000000001488c8f5f5b6d21c45db2f53435145", - "0x0000000000000000000000000000007175173f233e0b71045c9953d4f495b4b0", - "0x00000000000000000000000000000000002628eec35cc0775e0adc122f149f57", - "0x0000000000000000000000000000003ffc1e55c7e34aa01d4f7122dc9c05bc58", - "0x00000000000000000000000000000000000d310f279e0f9c44f0344fc769fa9d", - "0x00000000000000000000000000000028a436bc4aca7f99eee8f89d586d5f2ee9", - "0x000000000000000000000000000000000026020c8340dc43b7e7c72d202ed7b5", - "0x000000000000000000000000000000dec08c29d9a2b04f564bbe58405ada8a9c", - "0x00000000000000000000000000000000001f90e9f5614cae7d7b7b040dc95ced", - "0x0000000000000000000000000000007ec31d45a93b9616b7c32ca57cee36520d", - "0x00000000000000000000000000000000001c83c4bcedd3e5c210d2701ea322ba", - "0x00000000000000000000000000000092d2641b2dbeeaf908fc1ce9161ef8d355", - "0x00000000000000000000000000000000002537e8eae2a76708a36af0fda52799", - "0x0000000000000000000000000000009bde59533b629dd91ac85a7bd3b9d26518", - "0x00000000000000000000000000000000001ce33ab09f50350b74ea29bd5d39b8", - "0x0000000000000000000000000000006a2e346288c3a7fefc6f3689d7d4670012", - "0x00000000000000000000000000000000001c10298eb313de79f1b4aba55e6e32", - "0x000000000000000000000000000000564452ed112e07e14b3a7ca19d4f708bf5", - "0x0000000000000000000000000000000000140ddcf50709ee22108db34a58a960", - "0x00000000000000000000000000000064fca494825d2e1709075a592eb17ae71d", - "0x00000000000000000000000000000000001fdf4cae4893fbc16b74fb6eea69c0", - "0x000000000000000000000000000000e9b5d56b6ce0d8e1efc8b437b75219867b", - "0x00000000000000000000000000000000002e30313600d8b59267f36f40cea479", - "0x0000000000000000000000000000008dbb3a03156a8a97b5c62fdf4cc47cad81", - "0x00000000000000000000000000000000000a882c8b967413f67ffcdafc46db3a", - "0x0000000000000000000000000000000e127969fa6b62d70385d748c98983e02f", - "0x00000000000000000000000000000000001adf44eeda9c8f7072352a331ae71d", - "0x00000000000000000000000000000099fa84db37b4c3dbea9e97e8c8775cba54", - "0x00000000000000000000000000000000001529c26808b908609fa10244ace75b", - "0x00000000000000000000000000000081ed7a38e73e4eb35830f1f1eedf71dde2", - "0x0000000000000000000000000000000000056ed215f4e9cb63771922a88ed698", - "0x000000000000000000000000000000e45fc0c0167bc1b06b8f93222b10f53ae1", - "0x00000000000000000000000000000000001b1a928bdb973af9a752c370b17a21", - "0x000000000000000000000000000000751ea0d51f712e4cc892c1bbbe45513c3f", - "0x000000000000000000000000000000000010ec11072d215f3d4cc779d07eda11", - "0x0000000000000000000000000000007e29e1c4f13ecdab79b3333feb296d46e9", - "0x00000000000000000000000000000000000c24ae1fb52babb8b1b254cec23f07", - "0x000000000000000000000000000000b5dc3ff0c719ed580ad27444d874652230", - "0x0000000000000000000000000000000000263f66bdbba1a4a58a57f1eca20f89", - "0x0000000000000000000000000000003bb131ac8d9a11210b5dc7547c1ea8d08b", - "0x000000000000000000000000000000000018ca65d93f9fd01c7d82b282a6ecfc", - "0x0000000000000000000000000000001ff74e6cb757f41f1c091c8e6df3d8df3f", - "0x000000000000000000000000000000000014973566a6053580ccddd75d8ddfc4", + "0x000000000000000000000000000000df7400887578788132540aa7527e708070", + "0x000000000000000000000000000000000024d325c2d8190f7abfc52c1883f960", + "0x000000000000000000000000000000646a24ca357c2075604f9c14292b375e82", + "0x0000000000000000000000000000000000294077bd3451c2b9e84685efcd46d1", + "0x000000000000000000000000000000aa62025c2177fdafae99b9b28fcc1710e1", + "0x00000000000000000000000000000000000c9a8f4b9b4a7eef319e163445cb67", + "0x00000000000000000000000000000071a7ec5f7eecba271c66b3af94971d37b7", + "0x000000000000000000000000000000000021b948b3807d83577ade54158828e8", + "0x0000000000000000000000000000003c9711cce74808dc05637668158c8d0204", + "0x000000000000000000000000000000000014f637c3e5983644a0aaf260fcce4d", + "0x000000000000000000000000000000e5be0155ea5613f1a5cadc80646fe257e8", + "0x00000000000000000000000000000000000b1ef034297271b251e6851f3dfd88", + "0x000000000000000000000000000000b5f23d8f13059b34d7a0153cf474b307e2", + "0x000000000000000000000000000000000006153e0e2f1c01ec7bcb4f740989db", + "0x0000000000000000000000000000005a99f63f9ece9b0769f8ce1057d924b7a3", + "0x000000000000000000000000000000000012a728e39876cfbef518c080f517b5", + "0x000000000000000000000000000000e64b32c5d29ceea2f222fd53f6514cfbab", + "0x00000000000000000000000000000000002c337b01a0c3d09317ae9393e4ec70", + "0x00000000000000000000000000000073bd9cec0a637784b881490dcf1cc514c1", + "0x0000000000000000000000000000000000040f161304921f486223af1f29ab0d", + "0x00000000000000000000000000000039c0b7af4e259113e1abfd6616653c1937", + "0x00000000000000000000000000000000002183a9a49887db8b1fedaf803684a5", + "0x0000000000000000000000000000001a81ae3776369c64b36f9e9a3fb2858e03", + "0x00000000000000000000000000000000001dfda0fe09ff48ec7280041e04f287", + "0x000000000000000000000000000000688a4c96ed9d2c4f3bb08fcdcdd6ce62fc", + "0x00000000000000000000000000000000000bfba634952c327a551907122bff46", + "0x0000000000000000000000000000001ada0bd17bb5b6631bd8394bbe29af3fbc", + "0x000000000000000000000000000000000005c2531d776f8da9aa52b722bd5c48", + "0x000000000000000000000000000000d2300ce5c10e3cbd62c8fd9c427f81b13c", + "0x0000000000000000000000000000000000060fab0d38256a1ce7fb0667657f13", + "0x0000000000000000000000000000003eac03902077b74df9f54b57eeee34de94", + "0x000000000000000000000000000000000009ed1f553eee82c61a6d54110aef1f", + "0x00000000000000000000000000000088c7421975d29335116f938c8637c30c68", + "0x000000000000000000000000000000000014545f6184e636e9423c7296bc0641", + "0x000000000000000000000000000000930fac00de78bf2ae8ad409c265f487530", + "0x00000000000000000000000000000000000160c4172bb854bf3617c2d1c29041", + "0x000000000000000000000000000000de31b5da76d600cc636d30915174d04320", + "0x0000000000000000000000000000000000261a8e69834f8eb866f5b8b95b1ec6", + "0x0000000000000000000000000000009f1fcffe2c592b13dfabec9fc07c9c4fc6", + "0x000000000000000000000000000000000018623719cbbe9fff87d97bd8632f29", + "0x000000000000000000000000000000d3b6c9a2b092081098994bbdbd5f03aa3e", + "0x00000000000000000000000000000000002311d3187206b9ec9a16bcb6fdaad3", + "0x00000000000000000000000000000004a45eb1462bd55f71962916bdc0418b53", + "0x0000000000000000000000000000000000001e6ffdf8cd3a1b708505bbf3a9aa", + "0x000000000000000000000000000000936b37c10a791f9042774b08a8668f9107", + "0x0000000000000000000000000000000000008cdf9db9ed9832a293e15ce4ef7f", + "0x0000000000000000000000000000008d0f4e399fd23898ab7a494b5354b4b312", + "0x000000000000000000000000000000000021b672bc0321ae1462f03bddd7b639", + "0x0000000000000000000000000000000c554cda81181c0a2ecd30bc0f37161816", + "0x000000000000000000000000000000000019a3f5aa165344773cc3027e147701", + "0x000000000000000000000000000000a5b8c6597d86500d7f519caf85f060b3c5", + "0x00000000000000000000000000000000001311d1a38a20d37f733945e494b1ee", + "0x00000000000000000000000000000040ae7a4747a88223e2a11085c443fc9244", + "0x00000000000000000000000000000000002a17925d8e850dd4f2d3045970b6bc", + "0x0000000000000000000000000000003a4db19275ecee6faa1c63321f4323cad6", + "0x00000000000000000000000000000000001a75cf368ec1a108efb27680dec5b5", + "0x0000000000000000000000000000000b3e7859130b10ba659fcf760b00cdcbd3", + "0x00000000000000000000000000000000001be0b2804ac60f98b29842ecd8bfa0", + "0x000000000000000000000000000000be02c54cb31bb643fd2ead045babdb91c4", + "0x00000000000000000000000000000000001e6f2162b12d2ae68f68e40ad317d0", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -983,12 +983,12 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000008671ae493f893cd6f74bd8a39fba23e8b1", - "0x00000000000000000000000000000000000aac3112a141721a7072d26e5f4580", - "0x0000000000000000000000000000008923d98a692c0374b043c5fa8c99bd8be2", - "0x00000000000000000000000000000000001892909317c5f8a3fedf24a6033a8e" + "0x0000000000000000000000000000000c2760742bab409cc0b375fe264211ab8e", + "0x000000000000000000000000000000000023a0c982353324c8ffe03940a4cd0c", + "0x000000000000000000000000000000667a420dabfb6b89c12b3ce74f63d7bfe3", + "0x000000000000000000000000000000000024781550f683cd077c5a800973e698" ] - hash = "0x14c855cd401b2cf3f12e47f5c4d110f74e8f933898319866997f7c4ef86bf5c9" + hash = "0x266a00b740e51defbf26d16638df385373132f85239834eb8073c6dcae34813c" [[inputs.previous_rollups]] proof = [ @@ -1515,7 +1515,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00d354e6113db554821326623f6764e8bce1bd876771e684c3edcc535f59d31e", + "0x006966c867c005f23c5d3aefbe9a0cb1e73bf0f1cb7e999fec7a0d929b348a9d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1551,17 +1551,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" + root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" + root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -1573,10 +1573,10 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000002fb176f0c06a0" + value = "0x0000000000000000000000000000000000000000000000000002fad6e290b120" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1765,15 +1765,15 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x00bd0f07d3feee2b0c6b3bdf08582626623244990a3915af768fc37f9cd5efae" - z_acc = "0x1ebe3b93201375ea93b193dd286f622d61783b1a174ed2e993082133f71ff148" - gamma_acc = "0x2820cc1b1817484b1f0f42bc000ff717e4b787f8142773e771c992ffd532611f" + blob_commitments_hash_acc = "0x0067a9ca7771c78abc575c419c2efcec83aadd0e3c1496ed7095479012ff7e85" + z_acc = "0x2f187030c6aed7047155b294e56b3f2e742d9c5e8fa6bdf047e45a0f8e8d154f" + gamma_acc = "0x23f60bad48292ef03491551c7543c478ec87d92627aac6214c356755e96d053d" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x8d32fa0ef518a993847ddbfc735f8d", - "0xb2d8b64fe2db288926d94813c6fb58", - "0x1b13" + "0x7705cf67fd23e1569d3145352936c5", + "0x5bc8dee2ef4f217f07393fb722b419", + "0x22fe" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] @@ -1781,37 +1781,37 @@ proof = [ [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0xfb921764984cb7efe72117ef84ad82", - "0x703c9e0ea80f4284bd670914dca5fd", - "0x5412ff49e08661ac07a65cd230765a", - "0x0862d5" + "0xb076426ac8071757dd92439f0dea62", + "0xb1673c8120d4ff268d438e87dfa602", + "0x61ea33dc5a6d1e6c67408f64c362c7", + "0x0cddcd" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0x8633a467ef4090639b1ec130faa09a", - "0x1ee6ab882baf9cec6f1284dd8dc4c6", - "0x23f1a8f226f504a5462d9459db584b", - "0x0b238c" + "0x3465205198756de2596ac88fbc871e", + "0x884b35db1e7656b4cb1360b5e4b6eb", + "0x464508ad609a63706ec044ac660dfb", + "0x0f00e5" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x005c63d9aa9270a4b3cacb1cbb8b7cdbdb5b138d385a0865873c0abc267063f1" - z_acc = "0x069067b815f970c0150b7d1430d4a3bcbd175175e2bb3549fef230de160fa5ac" - gamma_acc = "0x05f3e9fcb19599b9d2303954010c43e78565c63ddc49b3539cdbd3dd603bf386" + blob_commitments_hash_acc = "0x00d153a805cddca8fbb433f02798c65a20ae3d46461741c97249ccfe05c6c28c" + z_acc = "0x1b1123b2c54e9b3cbf639f3280dd944d30236850ebcc9bf71d329abaccf735ec" + gamma_acc = "0x2f1ade5ea24f0de235673ccc37dc8b539d13019f343054c583490a4326c916c5" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x702a0bca2befc9241234171a536036", - "0x06702b3a16e879f8a1b072a1e831ee", - "0x3e37" + "0x2368a0222bf5f3b58d317f109e4f01", + "0x6f9138731701806d38bcf4157f0372", + "0x4eaf" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -1819,45 +1819,45 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0xb446deda21d8ab5ff37f08ff106b88", - "0x71a669a5369c04e8fd32ee634cf642", - "0x2ddf85a729c44304184dbf0c14f245", - "0x08dbc6" + "0x63ae7db5a1d972f3e00dd822ddd7aa", + "0x8cbb087b3c5a3759c6b10bde568fc8", + "0x0c4a7b72216f8095bccaff72f011b5", + "0x1024bc" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xaef3b6c7e4a37dcde6f253a1e9d975", - "0x0055814914625ac8acb0b8d4bb4f11", - "0xc9412391732a60b713200e79b20f3f", - "0x13ba12" + "0xd73f7ae6866b038ac6c1d90d8f43ff", + "0xe9bf0deec826064d91f8e8a3caa4f9", + "0x74ca4cccc72ae831d69949396f91f4", + "0x164bf8" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xd6af1f294fd4344503d9bd06709e20", - "0x87ad74f4b587339e0552d998ccf27b", - "0x30b5" + "0x5ba6edddcbcfb55de31821f8c5b7f5", + "0x877c2a4d12f40237143bf797ef92d4", + "0x3ed7" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" + z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" sibling_path = [ - "0x2700b81d4a245e8a31e04d713df866800b2968347c1fc0e39646558ab413c6c0", - "0x2dc40a2eaacdda4dd5300328637750eebdcfb29b66d4ac646345f2e6903e02e4", - "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", + "0x10f9143b2a141f3826fd2f24783a4ee36c04efd9216f2c4931a78f15e9c365ab", + "0x152474d9b911866e539377e5d6185f9c35be76bde6972cba8f9c3152640c4085", + "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1867,94 +1867,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000db17fd29852c2999b7e61d3f55b86008fe", - "0x000000000000000000000000000000000012fc31fdcc7839edb28ef47a0aec57", - "0x000000000000000000000000000000a5a41cfe47ae5bc7e9e6e5dd0c97ba26db", - "0x00000000000000000000000000000000001891c9cff4f67755f4afd3430ba54e", - "0x000000000000000000000000000000cca1bffca7adde04dc5e3ff1bc2b87cd82", - "0x000000000000000000000000000000000018431d64d88a7c57ba3eb2660de56b", - "0x0000000000000000000000000000008b03b411aae549f22a12de4146ada37043", - "0x0000000000000000000000000000000000211850a447779d8d3c0f50193afaa9", - "0x000000000000000000000000000000b18709d746129d44ae5f1feb67956c1e1f", - "0x0000000000000000000000000000000000214d619198a754a59946a753ec3ecb", - "0x0000000000000000000000000000000f60bd69972504c4d537e16d61ad0c611f", - "0x000000000000000000000000000000000028afab4953379e5b7a478f75823e8d", - "0x0000000000000000000000000000003395ca232a4cda50041b4ceb2780009843", - "0x00000000000000000000000000000000002ec5786220a61bc5b8b8e39dd26436", - "0x000000000000000000000000000000dd2bbf4477a817489389e74e78ece66a0d", - "0x00000000000000000000000000000000000b4e71b2810764d0dfc85d29992955", - "0x000000000000000000000000000000bf659e1baa35037beb78b5fb3829bc15cb", - "0x00000000000000000000000000000000001005a7bd9fa94335dfdcf9ce1028d2", - "0x0000000000000000000000000000004bd597e26976b2bb70f3209c12b6de59fa", - "0x0000000000000000000000000000000000282e1bcd374b8c5fabfa8756988257", - "0x00000000000000000000000000000052ded6f9a4f5f137750ec6c351c6d07271", - "0x00000000000000000000000000000000002623251b01fcf83822556c436ee8e7", - "0x0000000000000000000000000000002a6f8f73f30bc60ba51f98b2d6efb09806", - "0x00000000000000000000000000000000001593eebc92eac3bd41a92d178044ce", + "0x0000000000000000000000000000007b992e890ea47176a53d476b6f4435307d", + "0x000000000000000000000000000000000008d830e4f03a5a0df0a626b5419713", + "0x000000000000000000000000000000314fad5a3f710c54924b09fc1676326740", + "0x00000000000000000000000000000000002c7198392d6138ab02c4f1dfbd1a9e", + "0x000000000000000000000000000000e9266a78147c0c11bdffa73a464c8a9803", + "0x000000000000000000000000000000000016292979aae313a9da5ae2e6f90572", + "0x000000000000000000000000000000914fa80ea984a41fce86bc55869c84a0ad", + "0x00000000000000000000000000000000001fc3f84c7030d6755b2fa05d45cd23", + "0x000000000000000000000000000000c22386542659a29010ca4eaaaa9bac0e60", + "0x000000000000000000000000000000000023b2248de67c392d8da66600646c8f", + "0x000000000000000000000000000000f15ab33c55742506cc8895f81420346a23", + "0x00000000000000000000000000000000000358509e27610a580b320a2acb23dc", + "0x000000000000000000000000000000173916aa7c8b117a16930f920ef74b2a14", + "0x00000000000000000000000000000000002d5ee9b4516bda4ee5c8da97f4d07b", + "0x0000000000000000000000000000007853a97a84ff7ce10690d27ed93ab7455d", + "0x00000000000000000000000000000000000b9166de2072e5cfd2c55b951fe3a0", + "0x0000000000000000000000000000004247bafca2712b63df859a5e519c4c1236", + "0x00000000000000000000000000000000001641fa2509d3b52883c203f5048601", + "0x0000000000000000000000000000003579799dfedb2ec1a964dfdc21d58dd59f", + "0x000000000000000000000000000000000001a82a2063ad50d49675339805e5d7", + "0x000000000000000000000000000000190ddaf1745c4ddd0ad927688f37edc7ab", + "0x00000000000000000000000000000000001fdc449ab2978d150e6b15424422ff", + "0x000000000000000000000000000000eaaa04f718dd857ac1dea8c713814247fd", + "0x00000000000000000000000000000000001e9ded3d040667bccb2b8b30584d78", "0x0000000000000000000000000000004b9cd87af8615fd21a50f9d2d6f5bac356", "0x00000000000000000000000000000000002fea96f32103760ddbb66d2b64dc5c", "0x000000000000000000000000000000cf57cca060c094a74ad685146e8fdb5c3e", "0x00000000000000000000000000000000000a71f47258b8aa04fa23f39812abf3", - "0x000000000000000000000000000000a4ca7e26fda7baf10f35900ec3eb26ec7b", - "0x000000000000000000000000000000000006391ddff9db356252a1fa5761650a", - "0x0000000000000000000000000000004615f4c6441240ae0e522d0869415cc75e", - "0x00000000000000000000000000000000002d02aadd260ca926d67c58f00f5d7e", - "0x00000000000000000000000000000026c72e6e31d1076927715e2c366bf44cc1", - "0x00000000000000000000000000000000001e39341ce411f93bebbd37cb653e9a", - "0x000000000000000000000000000000671bb53612c8e38440c37cf9c545a75f52", - "0x00000000000000000000000000000000002621a4c1ac112b59430c735c9f1ebb", - "0x0000000000000000000000000000003b7db74bf5e830fcd3f3aaea07ee082307", - "0x00000000000000000000000000000000001729b198e7c92a065607689a3c7690", - "0x000000000000000000000000000000abbf4986c11d8e0dd0d8180c1f616a1539", - "0x00000000000000000000000000000000002fd2763b0ab7db248468342f4d5e72", - "0x000000000000000000000000000000fa098a0d118394931851b671c7be852b1e", - "0x00000000000000000000000000000000000df578d1cd8e6a78175bc4b8359801", - "0x0000000000000000000000000000008f01aa9740f87c9b3943670ed5a4d877fb", - "0x000000000000000000000000000000000004592dd9a7f09f400d962daea89247", - "0x0000000000000000000000000000002c7bc02a6b0f39b9826e8df9797ef2bc2d", - "0x00000000000000000000000000000000001488c8f5f5b6d21c45db2f53435145", - "0x0000000000000000000000000000007175173f233e0b71045c9953d4f495b4b0", - "0x00000000000000000000000000000000002628eec35cc0775e0adc122f149f57", - "0x0000000000000000000000000000003ffc1e55c7e34aa01d4f7122dc9c05bc58", - "0x00000000000000000000000000000000000d310f279e0f9c44f0344fc769fa9d", - "0x00000000000000000000000000000028a436bc4aca7f99eee8f89d586d5f2ee9", - "0x000000000000000000000000000000000026020c8340dc43b7e7c72d202ed7b5", - "0x000000000000000000000000000000dec08c29d9a2b04f564bbe58405ada8a9c", - "0x00000000000000000000000000000000001f90e9f5614cae7d7b7b040dc95ced", - "0x0000000000000000000000000000007ec31d45a93b9616b7c32ca57cee36520d", - "0x00000000000000000000000000000000001c83c4bcedd3e5c210d2701ea322ba", - "0x00000000000000000000000000000092d2641b2dbeeaf908fc1ce9161ef8d355", - "0x00000000000000000000000000000000002537e8eae2a76708a36af0fda52799", - "0x0000000000000000000000000000009bde59533b629dd91ac85a7bd3b9d26518", - "0x00000000000000000000000000000000001ce33ab09f50350b74ea29bd5d39b8", - "0x0000000000000000000000000000006a2e346288c3a7fefc6f3689d7d4670012", - "0x00000000000000000000000000000000001c10298eb313de79f1b4aba55e6e32", - "0x000000000000000000000000000000564452ed112e07e14b3a7ca19d4f708bf5", - "0x0000000000000000000000000000000000140ddcf50709ee22108db34a58a960", - "0x00000000000000000000000000000064fca494825d2e1709075a592eb17ae71d", - "0x00000000000000000000000000000000001fdf4cae4893fbc16b74fb6eea69c0", - "0x000000000000000000000000000000e9b5d56b6ce0d8e1efc8b437b75219867b", - "0x00000000000000000000000000000000002e30313600d8b59267f36f40cea479", - "0x0000000000000000000000000000008dbb3a03156a8a97b5c62fdf4cc47cad81", - "0x00000000000000000000000000000000000a882c8b967413f67ffcdafc46db3a", - "0x0000000000000000000000000000000e127969fa6b62d70385d748c98983e02f", - "0x00000000000000000000000000000000001adf44eeda9c8f7072352a331ae71d", - "0x00000000000000000000000000000099fa84db37b4c3dbea9e97e8c8775cba54", - "0x00000000000000000000000000000000001529c26808b908609fa10244ace75b", - "0x00000000000000000000000000000081ed7a38e73e4eb35830f1f1eedf71dde2", - "0x0000000000000000000000000000000000056ed215f4e9cb63771922a88ed698", - "0x000000000000000000000000000000e45fc0c0167bc1b06b8f93222b10f53ae1", - "0x00000000000000000000000000000000001b1a928bdb973af9a752c370b17a21", - "0x000000000000000000000000000000751ea0d51f712e4cc892c1bbbe45513c3f", - "0x000000000000000000000000000000000010ec11072d215f3d4cc779d07eda11", - "0x0000000000000000000000000000007e29e1c4f13ecdab79b3333feb296d46e9", - "0x00000000000000000000000000000000000c24ae1fb52babb8b1b254cec23f07", - "0x000000000000000000000000000000b5dc3ff0c719ed580ad27444d874652230", - "0x0000000000000000000000000000000000263f66bdbba1a4a58a57f1eca20f89", - "0x0000000000000000000000000000003bb131ac8d9a11210b5dc7547c1ea8d08b", - "0x000000000000000000000000000000000018ca65d93f9fd01c7d82b282a6ecfc", - "0x0000000000000000000000000000001ff74e6cb757f41f1c091c8e6df3d8df3f", - "0x000000000000000000000000000000000014973566a6053580ccddd75d8ddfc4", + "0x000000000000000000000000000000df7400887578788132540aa7527e708070", + "0x000000000000000000000000000000000024d325c2d8190f7abfc52c1883f960", + "0x000000000000000000000000000000646a24ca357c2075604f9c14292b375e82", + "0x0000000000000000000000000000000000294077bd3451c2b9e84685efcd46d1", + "0x000000000000000000000000000000aa62025c2177fdafae99b9b28fcc1710e1", + "0x00000000000000000000000000000000000c9a8f4b9b4a7eef319e163445cb67", + "0x00000000000000000000000000000071a7ec5f7eecba271c66b3af94971d37b7", + "0x000000000000000000000000000000000021b948b3807d83577ade54158828e8", + "0x0000000000000000000000000000003c9711cce74808dc05637668158c8d0204", + "0x000000000000000000000000000000000014f637c3e5983644a0aaf260fcce4d", + "0x000000000000000000000000000000e5be0155ea5613f1a5cadc80646fe257e8", + "0x00000000000000000000000000000000000b1ef034297271b251e6851f3dfd88", + "0x000000000000000000000000000000b5f23d8f13059b34d7a0153cf474b307e2", + "0x000000000000000000000000000000000006153e0e2f1c01ec7bcb4f740989db", + "0x0000000000000000000000000000005a99f63f9ece9b0769f8ce1057d924b7a3", + "0x000000000000000000000000000000000012a728e39876cfbef518c080f517b5", + "0x000000000000000000000000000000e64b32c5d29ceea2f222fd53f6514cfbab", + "0x00000000000000000000000000000000002c337b01a0c3d09317ae9393e4ec70", + "0x00000000000000000000000000000073bd9cec0a637784b881490dcf1cc514c1", + "0x0000000000000000000000000000000000040f161304921f486223af1f29ab0d", + "0x00000000000000000000000000000039c0b7af4e259113e1abfd6616653c1937", + "0x00000000000000000000000000000000002183a9a49887db8b1fedaf803684a5", + "0x0000000000000000000000000000001a81ae3776369c64b36f9e9a3fb2858e03", + "0x00000000000000000000000000000000001dfda0fe09ff48ec7280041e04f287", + "0x000000000000000000000000000000688a4c96ed9d2c4f3bb08fcdcdd6ce62fc", + "0x00000000000000000000000000000000000bfba634952c327a551907122bff46", + "0x0000000000000000000000000000001ada0bd17bb5b6631bd8394bbe29af3fbc", + "0x000000000000000000000000000000000005c2531d776f8da9aa52b722bd5c48", + "0x000000000000000000000000000000d2300ce5c10e3cbd62c8fd9c427f81b13c", + "0x0000000000000000000000000000000000060fab0d38256a1ce7fb0667657f13", + "0x0000000000000000000000000000003eac03902077b74df9f54b57eeee34de94", + "0x000000000000000000000000000000000009ed1f553eee82c61a6d54110aef1f", + "0x00000000000000000000000000000088c7421975d29335116f938c8637c30c68", + "0x000000000000000000000000000000000014545f6184e636e9423c7296bc0641", + "0x000000000000000000000000000000930fac00de78bf2ae8ad409c265f487530", + "0x00000000000000000000000000000000000160c4172bb854bf3617c2d1c29041", + "0x000000000000000000000000000000de31b5da76d600cc636d30915174d04320", + "0x0000000000000000000000000000000000261a8e69834f8eb866f5b8b95b1ec6", + "0x0000000000000000000000000000009f1fcffe2c592b13dfabec9fc07c9c4fc6", + "0x000000000000000000000000000000000018623719cbbe9fff87d97bd8632f29", + "0x000000000000000000000000000000d3b6c9a2b092081098994bbdbd5f03aa3e", + "0x00000000000000000000000000000000002311d3187206b9ec9a16bcb6fdaad3", + "0x00000000000000000000000000000004a45eb1462bd55f71962916bdc0418b53", + "0x0000000000000000000000000000000000001e6ffdf8cd3a1b708505bbf3a9aa", + "0x000000000000000000000000000000936b37c10a791f9042774b08a8668f9107", + "0x0000000000000000000000000000000000008cdf9db9ed9832a293e15ce4ef7f", + "0x0000000000000000000000000000008d0f4e399fd23898ab7a494b5354b4b312", + "0x000000000000000000000000000000000021b672bc0321ae1462f03bddd7b639", + "0x0000000000000000000000000000000c554cda81181c0a2ecd30bc0f37161816", + "0x000000000000000000000000000000000019a3f5aa165344773cc3027e147701", + "0x000000000000000000000000000000a5b8c6597d86500d7f519caf85f060b3c5", + "0x00000000000000000000000000000000001311d1a38a20d37f733945e494b1ee", + "0x00000000000000000000000000000040ae7a4747a88223e2a11085c443fc9244", + "0x00000000000000000000000000000000002a17925d8e850dd4f2d3045970b6bc", + "0x0000000000000000000000000000003a4db19275ecee6faa1c63321f4323cad6", + "0x00000000000000000000000000000000001a75cf368ec1a108efb27680dec5b5", + "0x0000000000000000000000000000000b3e7859130b10ba659fcf760b00cdcbd3", + "0x00000000000000000000000000000000001be0b2804ac60f98b29842ecd8bfa0", + "0x000000000000000000000000000000be02c54cb31bb643fd2ead045babdb91c4", + "0x00000000000000000000000000000000001e6f2162b12d2ae68f68e40ad317d0", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -1975,9 +1975,9 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000008671ae493f893cd6f74bd8a39fba23e8b1", - "0x00000000000000000000000000000000000aac3112a141721a7072d26e5f4580", - "0x0000000000000000000000000000008923d98a692c0374b043c5fa8c99bd8be2", - "0x00000000000000000000000000000000001892909317c5f8a3fedf24a6033a8e" + "0x0000000000000000000000000000000c2760742bab409cc0b375fe264211ab8e", + "0x000000000000000000000000000000000023a0c982353324c8ffe03940a4cd0c", + "0x000000000000000000000000000000667a420dabfb6b89c12b3ce74f63d7bfe3", + "0x000000000000000000000000000000000024781550f683cd077c5a800973e698" ] - hash = "0x14c855cd401b2cf3f12e47f5c4d110f74e8f933898319866997f7c4ef86bf5c9" + hash = "0x266a00b740e51defbf26d16638df385373132f85239834eb8073c6dcae34813c" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml index 8c5a8146c706..74375826cb59 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml @@ -522,37 +522,37 @@ proof = [ ] [inputs.previous_rollup.public_inputs] - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c29f" - block_headers_hash = "0x0a90256c32c40686bdaa5ac79803ac89092444da3fdb22c4500cefc9bc0527dc" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c510" + block_headers_hash = "0x146d650356b4a9ef53cb5302888fdc7ea44170e840876ca303cf810f68cdcfab" in_hash = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x0000000000000000000000000000000000000000000000000002fb176f0c06a0" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000002fad6e290b120" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000038675" [inputs.previous_rollup.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" [inputs.previous_rollup.public_inputs.constants.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.previous_rollup.public_inputs.constants.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" [inputs.previous_rollup.public_inputs.previous_archive] - root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" + root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollup.public_inputs.new_archive] - root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" + root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollup.public_inputs.start_state.l1_to_l2_message_tree] @@ -560,15 +560,15 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [inputs.previous_rollup.public_inputs.start_state.partial.note_hash_tree] -root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" +root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.start_state.partial.nullifier_tree] -root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" +root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup.public_inputs.start_state.partial.public_data_tree] -root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" +root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.end_state.l1_to_l2_message_tree] @@ -576,15 +576,15 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" [inputs.previous_rollup.public_inputs.end_state.partial.note_hash_tree] -root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollup.public_inputs.end_state.partial.nullifier_tree] -root = "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" +root = "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollup.public_inputs.end_state.partial.public_data_tree] -root = "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0" +root = "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.start_sponge_blob] @@ -610,15 +610,15 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0", + "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4", "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" + "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" ] state = [ - "0x16d2792dba71e4205d6a9be5eec88f5ce5f917f93b32ec28096a46f45564c8dc", - "0x14fda1466f32aef4b927addcbf5ae34002462e4653a661e863a18cca679a5b36", - "0x0fb56866fd6ad3b691363da918f4d2763af76ef0ef29b731583f8103fd163e14", - "0x01a96a4ed9dd08202e6f432f9b51b3737717b928e3f4d3883569d9942aeebf0a" + "0x1528eaf72f4d31d68eca859d5982e3774111166b2e19294052e7eda0cd3bb92a", + "0x2d818eb540f5d397eec3aa76feff85a0bead57ff66351696491ab17743f789b9", + "0x21c8f7fdb36f5fb292369ddf764993bf026f5b3d9dc6d41fe94f8b1ad5e5614a", + "0x1e3851b172a7a67ef049c8e488763f6957d6399b02811643186f66cadfc801fc" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -626,11 +626,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" sibling_path = [ - "0x02febbf5e834840fbf4d9be285794b443d6c364b95f39d7552acb1b08d131a77", - "0x2e5d376afe4d2073f42e00029bd95a37b42ba8554244beb58e827f9a7c8a319a", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x14463aae3aa875ac90e34035cca8ff7e275875bd0e4d8e99297f459cfff219cb", + "0x24e00346a2d8c7c80519d0cbe6eeb175911bc53ddbb0abba7a5c5284304b0cea", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -640,94 +640,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000a486edfb8e453b658c20482e152ab11192", - "0x000000000000000000000000000000000023bcfcd566698d06ae0d47d7c78295", - "0x000000000000000000000000000000443dc743730722e4094355fc097d0b6ff2", - "0x000000000000000000000000000000000004701094d971c30fddb3ca8c6fa0b2", - "0x0000000000000000000000000000006db487d07d0f30f6cdb645fdf31da5c310", - "0x00000000000000000000000000000000001f2382298a3a0a3f93a0e4e05687e7", - "0x000000000000000000000000000000e332fa7ee33cd0689bf853c7f9a8a31650", - "0x000000000000000000000000000000000026626101b6863c71877a7f0818a966", - "0x000000000000000000000000000000131bac60f94bb1c2641d162568852a7d0f", - "0x0000000000000000000000000000000000091588f5d29dbc71f65f56137fd0b3", - "0x0000000000000000000000000000006c050cdc6bf86f72c719a36d362df9f8f6", - "0x00000000000000000000000000000000000d7af8998f94f681014b587eb3834d", - "0x0000000000000000000000000000006928adb18e3c48d9ccc588239a2ede54d8", - "0x00000000000000000000000000000000001949e94e5f06d30a22f97c0bcdb42f", - "0x000000000000000000000000000000d30c6626326e0eb594d7c56f0928d0efbd", - "0x00000000000000000000000000000000002fc968d28070f083b333508e591e77", - "0x000000000000000000000000000000a899ae910d7282cf2280092b5377685a44", - "0x00000000000000000000000000000000000a555b29e91a96a90b0a9cf3249ca1", - "0x0000000000000000000000000000002b1ff88d2f93859b1a2a2dcc2e547155ca", - "0x000000000000000000000000000000000030508b5d5dc9bb4a7a197a89166448", - "0x000000000000000000000000000000295f249fc0f87cd6a67fb7eb827e4b352b", - "0x000000000000000000000000000000000026297a4d85b8c5cd65c7069236ffc7", - "0x00000000000000000000000000000007ad74d6e6c8640d285116fc6baa2c4a42", - "0x000000000000000000000000000000000029292c155713c44dd2645184eb8640", + "0x00000000000000000000000000000052c44da759c4579ce3ed77a45bd7b94688", + "0x000000000000000000000000000000000001ee354cefb04dfe943d0d8a35db5d", + "0x000000000000000000000000000000008e97b812631dee5cd371cf91aafe18bc", + "0x000000000000000000000000000000000021c704ffab2146bfc55c42e80df30e", + "0x000000000000000000000000000000da04e2997bcd2b45b0202de49d735f4430", + "0x00000000000000000000000000000000001ecbfabf4e945d9c69b837af2169a3", + "0x000000000000000000000000000000df493933f55b4dd6aaa0cde28898f5ed73", + "0x0000000000000000000000000000000000054ad74797594780121b93f268bdb8", + "0x0000000000000000000000000000006949b6cc2b4ab9b8559b39ec0a00ff7aac", + "0x000000000000000000000000000000000019bf2f0d1c8322eac3df6ed98c433e", + "0x000000000000000000000000000000a9d614213dc2ce230c0a39e08e2a0871c2", + "0x0000000000000000000000000000000000293a7d02df2e4ce6e5b41e94b16be9", + "0x0000000000000000000000000000006447de6e653d1df759b7a4104220211aca", + "0x00000000000000000000000000000000000651020e5f96a4d7d5d47795b5d4dc", + "0x0000000000000000000000000000000effe688f33ab2072bde2aea87ad56cf80", + "0x0000000000000000000000000000000000205ea80a35eb1f462bb5e5053cc23e", + "0x0000000000000000000000000000004e4344bb0becb076de1226945f22de3053", + "0x000000000000000000000000000000000026c769a1de9fa4ad1fde3c96d0c929", + "0x0000000000000000000000000000002764dc87a370dd86a112183f33e3d52ef1", + "0x000000000000000000000000000000000024a0f82058409e507e0e44b9115f25", + "0x000000000000000000000000000000c1016a58e8e20cc7785ba83c804c2a7b7e", + "0x00000000000000000000000000000000000402620542d561b70e292069acf29c", + "0x000000000000000000000000000000a92b3e60b016423ddcf472659645d4615c", + "0x000000000000000000000000000000000024a4b53cc5671d9f5dabe2d7b2c78c", "0x000000000000000000000000000000de739fa0af1b1abc39f66b36bf6babfc93", "0x00000000000000000000000000000000002ec2db775d5362c26b1211d0c67b33", "0x00000000000000000000000000000092bff11ad703ff9e37f33e0254b1cae0b3", "0x00000000000000000000000000000000001f2e9c9949c5722f9c0f27d4c01426", - "0x0000000000000000000000000000006d9fd47619484e46b9b54f9fa76389dfb2", - "0x0000000000000000000000000000000000152f846d05a785c1af3612b285e8ed", - "0x0000000000000000000000000000004d29da58ed18e0af34d60b685db19f3cee", - "0x00000000000000000000000000000000000f0dc536de6cbeab216a79e314fb67", - "0x000000000000000000000000000000a83f24ca48c53e5b2786f4ad46a3f4bb09", - "0x00000000000000000000000000000000002b69edeebcd54062a379ea79e9c942", - "0x000000000000000000000000000000f45eb2d14397c8bacd4c31ea0effb72230", - "0x00000000000000000000000000000000000cc14553397b7b7970c09612fab11f", - "0x0000000000000000000000000000009faed1fa9d52dd920c7c9b40290350374a", - "0x0000000000000000000000000000000000096e9671c058cdbe3fcd05572cdd3d", - "0x000000000000000000000000000000138f77397f3d0835f8643b14fda7bf7139", - "0x000000000000000000000000000000000015eb8b0f6b2d6e694e34bbf12172d1", - "0x000000000000000000000000000000cdcfbada40eb0f1f29a4abcdcc10754687", - "0x000000000000000000000000000000000029014296d26345f6e4eba9ee2dd6b0", - "0x00000000000000000000000000000004791a9fd65b42c2bb3d11fc073439ca83", - "0x00000000000000000000000000000000001f3bb82c5b94a4c7eafe57f6e0e548", - "0x000000000000000000000000000000b52e018c55e66772f7d80d877d398e3caa", - "0x00000000000000000000000000000000000e641d35c6619910617ea6304986cd", - "0x000000000000000000000000000000fb3e5a1804ffcf932539ecc1bf32244084", - "0x000000000000000000000000000000000007e2e4aa0c66b2f50f87ced25ee143", - "0x0000000000000000000000000000004676d1377b96bf883822034855af1e40c1", - "0x00000000000000000000000000000000001eb08e12b25b1578e041b4ecac2fec", - "0x0000000000000000000000000000002a9a340f405a93e8e07a9cf3b470b39430", - "0x00000000000000000000000000000000002e24c5e12610d4c3c9ea291ac2b8c0", - "0x00000000000000000000000000000034eb4471cc937fddef3d42e1d8f3309234", - "0x00000000000000000000000000000000000b07c09fd612460734b1aac3cb0968", - "0x0000000000000000000000000000001eeb240d123cb54f6b42747a9846b53c56", - "0x00000000000000000000000000000000000bcb498a7a7172a1abc0f3f8098706", - "0x0000000000000000000000000000000777ae4700cab2cfab263d8a21a44b0b98", - "0x000000000000000000000000000000000029f6885a7a47ee37849042f20f4fdd", - "0x000000000000000000000000000000cf9362f058b15d4b1e05f6c2311460a0a2", - "0x00000000000000000000000000000000001c547624a6ea441fd4577c1b243a05", - "0x000000000000000000000000000000ef3525cbbf03bb25ceebadb444a41395de", - "0x000000000000000000000000000000000017cfbbe14a799c6af531c2a282f365", - "0x00000000000000000000000000000061045c3d598550c9e4bf3cea002e7bf1be", - "0x00000000000000000000000000000000002e2f36131b91a928b68a8a8b147868", - "0x000000000000000000000000000000a6fefb6e349598706faa52e81f8127bad1", - "0x00000000000000000000000000000000001af2652722c67ffda985b3e8d28da3", - "0x000000000000000000000000000000ef5067d6ea07fe8b90e058c5a3d167f719", - "0x00000000000000000000000000000000002ea71357e9a276d65e988aec2cde53", - "0x000000000000000000000000000000fa0f3578c526b5fc8a66a78b4767678466", - "0x0000000000000000000000000000000000281c09ef3bfd885c76a6b98a046f52", - "0x00000000000000000000000000000031c6c266d6a822936b48d862344d37caaf", - "0x000000000000000000000000000000000025a782876637213815330e1311eba0", - "0x000000000000000000000000000000878504c005ba190bc4e7a1eb17c0f4f71a", - "0x000000000000000000000000000000000010cebcea3f5db5405e8d9e0ab99b10", - "0x0000000000000000000000000000001a0328908badf1add29322de47b4ccc2f4", - "0x00000000000000000000000000000000002c2be3ff453804b459d0e5075e7d2a", - "0x0000000000000000000000000000004d55d4593646fe7e93524ffc2a60c58e7b", - "0x00000000000000000000000000000000000a27452119e61f30c1141df9718cda", - "0x000000000000000000000000000000902c81dc149727c47902d9fe245f3147ac", - "0x00000000000000000000000000000000002411389f789c193bf18b5cb23246c4", - "0x00000000000000000000000000000014f5712d0b15b6a321ebeb4f8216015fe2", - "0x00000000000000000000000000000000001578a8ef4ed0da7b69a98bd47e7dad", - "0x000000000000000000000000000000a20e20890f130dc3d299b6b28f1090333b", - "0x00000000000000000000000000000000000de0b9ee13d7a1b7e3fe2575f12235", - "0x000000000000000000000000000000c939fa1127615f6f5c46e4db3eb51c57b7", - "0x000000000000000000000000000000000027355e04d51b25298c47ee5fdfde8a", - "0x00000000000000000000000000000072ba1730f3176ea5f935e3e8b7e105ee26", - "0x0000000000000000000000000000000000190cb6b0539b29ece20ac0a96aadca", + "0x0000000000000000000000000000004e7599ccd635bef372e1df21e1f69d3a3b", + "0x00000000000000000000000000000000000a3a0fbea6b313563513450208492c", + "0x000000000000000000000000000000637199e8eccbbff24f6225edcc55c7a2c3", + "0x00000000000000000000000000000000002e4938233bfc569c0bf2d053501076", + "0x000000000000000000000000000000f5310f2007189fc376fe08f6c5526d13e9", + "0x00000000000000000000000000000000001a52179944c48e82e8b086cd91e05c", + "0x0000000000000000000000000000005a2a4864bddc0aa7d252984dc058928fdf", + "0x000000000000000000000000000000000000e28a677633820d84933630601d43", + "0x000000000000000000000000000000b6975ae135f0ce1c3ae3cceb6999b48dbe", + "0x00000000000000000000000000000000002725698ef32e1caaf0b6dce5d44d5d", + "0x00000000000000000000000000000067ccfcbd90287c9454d4383295d9abe841", + "0x00000000000000000000000000000000002486d0c948fa1aea3a6eb03a7b7dd1", + "0x000000000000000000000000000000de7ae96a03710ea9dcda8b32d2a66897f5", + "0x00000000000000000000000000000000001085c11e6e43ed1e1eb8e0f55d9751", + "0x0000000000000000000000000000008097e9e93e4d2cca1d566ffdb2acf0609f", + "0x00000000000000000000000000000000002d1bcd71e8fa36ce0468222093d88a", + "0x00000000000000000000000000000027aa9983e985aa62a7defde7b7f01cf534", + "0x000000000000000000000000000000000004dbb075ff191d6115388cfbfd8001", + "0x0000000000000000000000000000004cea81f688439410b866f84c96672958f8", + "0x00000000000000000000000000000000000225c6386debb7d6b3d44d872aabf3", + "0x0000000000000000000000000000000060a5848f00cad7d28b474928a5f73cb3", + "0x00000000000000000000000000000000000685b2b752c72b410fd58605e73294", + "0x000000000000000000000000000000a50a855404b55138e711be4d398b28b000", + "0x00000000000000000000000000000000001f3fe258d31adfd1ed2474e3308707", + "0x0000000000000000000000000000003f5b5f01c35d68fb41ac57a797641acbdf", + "0x000000000000000000000000000000000023f543ff09e0bc6b3c87ec820bb28d", + "0x000000000000000000000000000000468e26e5b268d78043557a707cf00cbbdd", + "0x00000000000000000000000000000000001d2fdbd27ddc3a3a75aabb95d3d3c7", + "0x000000000000000000000000000000117a4f45706c8b19fa6d58424cbd2301c7", + "0x000000000000000000000000000000000010f8c16b92209fc5347a32fcc3c286", + "0x000000000000000000000000000000cf5cd1fb047b16db3555291ec3a5d80356", + "0x00000000000000000000000000000000000b730df4ccac3cb7e236c52054047f", + "0x0000000000000000000000000000000cbac6dca22ffb90bee3af861b1104de00", + "0x00000000000000000000000000000000000a0e507302dce9d3dc105cf1d416a1", + "0x000000000000000000000000000000d0424061371910386da3751823eb1ac5bf", + "0x00000000000000000000000000000000000f98e3c1a184c061279032bd0b842d", + "0x0000000000000000000000000000008fa927e077f760467d3a97a5bf3c34ae15", + "0x0000000000000000000000000000000000174a1bfb61af3c2a3497ae5000a9d0", + "0x000000000000000000000000000000f3785f75a3edc675778348cce4bc0fa9c7", + "0x00000000000000000000000000000000002d04afd9a9e61d811a14141a3aefb7", + "0x000000000000000000000000000000b3a911e67461016912d1ee8e149471c994", + "0x00000000000000000000000000000000000c6da7a0d2643590526c5cdcc1c224", + "0x000000000000000000000000000000902c64f67dc63eeeb4c57190a82b6a32fe", + "0x00000000000000000000000000000000001f05f49fad19dead2ca5747b243218", + "0x000000000000000000000000000000f9be06d2871b579f4580f3da19684ee886", + "0x000000000000000000000000000000000010d6fadb20798c3311582ca6620585", + "0x000000000000000000000000000000e789995ed03495c1beffabd0bec2156231", + "0x000000000000000000000000000000000019733bbd0bb1529d6b2c8617d4469a", + "0x0000000000000000000000000000008faa50fb44bf0356f832d524a85485077b", + "0x00000000000000000000000000000000000a98eeb1935e78c325b47f1530d26b", + "0x00000000000000000000000000000046039bf6a4b49ec93da5edac5dda7df3b1", + "0x00000000000000000000000000000000002fbae8f557c6010b4ea5512a49a4e2", + "0x000000000000000000000000000000dcf069ead154a1304e476bef22a8b3cf60", + "0x000000000000000000000000000000000014147119e75b395ca5df36e59de909", + "0x00000000000000000000000000000045df762f9989d5f709428b4ca2817e6bdb", + "0x000000000000000000000000000000000002e6b038418b42e2648864c6e96781", + "0x0000000000000000000000000000003b49c7d69b5c31ccd367207f64fe066ffd", + "0x00000000000000000000000000000000001e12f87ba79f0864c11e939c6edf71", + "0x000000000000000000000000000000d97b2401703ba53c9b1b02b51ade7176a3", + "0x000000000000000000000000000000000000075a9e1e17a3563a611e835f416a", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -748,19 +748,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000009fb16fa4b71ccf3fb95576f4d03cd0930f", - "0x00000000000000000000000000000000000e71a86e6e1ad07916eebb9b58fc0d", - "0x00000000000000000000000000000053fd112d26d37704cdcad7804bc2aa1085", - "0x000000000000000000000000000000000014bbf472c23bdc5026a9652a6bc421" + "0x0000000000000000000000000000004d3c388351ee2bf5180a2fec87f3a3ad7f", + "0x000000000000000000000000000000000005ee2b0072b9c5465aa6f5b64b387b", + "0x000000000000000000000000000000953f8094bc7f30da7c03694b535bdceeed", + "0x000000000000000000000000000000000021f395aced34ff0277379aea0dda45" ] - hash = "0x2964f25a6b1398a2cc69e9976742340a63925550e37fe90b35da611ed5b656f8" + hash = "0x0fccb8554fb0dbd61a736fd23f981b093660c9bda608b413a22c642467d2f8aa" [inputs.hints] previous_archive_sibling_path = [ - "0x178e115a38f768372563ea577a0b49c6f9b8f1a436fb91eb63b9bc061574ab8c", + "0x18ab2dcff398a19d86415c407221c2f7c63c30d5ab6465fbc5887aacaf347308", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", + "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -797,96 +797,96 @@ new_out_hash_sibling_path = [ ] blobs_fields = [ "0x00000000009c7075180002000300000001000300360000000000000000000043", - "0x24c21e94c7329b564f4f8b6a3e84626863784e4955f0010233c700583ddeb760", - "0x000000000000000000000000000000000000000000000000000001b0eeb04000", - "0x1c6c0204578bfcbbbb41c45d3d3f3d2897ac105d679959c510bbd2946009939d", - "0x18764ce7a93e2c10ebac3adcd57315dbc64c198797233634def681beb1417250", - "0x02772961e5b112993eaa8915d8e8786100324c3af17fcf368cd291c839974bcc", - "0x040a0c4299944837897592d3762ed857f5c3c77746b6128e5b24e03f1aa89fbc", - "0x07f8d00b07851c773f8320c4403350da9d3e5942cc93768f52b701e0a40cf273", - "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", - "0x00000000000000000000000000000000000000000000021e18d64589b0ebb480", + "0x30245b787b419ebb915fbcd22d8861b380883fd68f20d64f07a6fe7906496819", + "0x000000000000000000000000000000000000000000000000000001b0ca114000", + "0x10b30a99e0eef8b6091958f1cc2ea8a91eff151ecc41911b4bec61e5b417ff5b", + "0x0e496a8ad4cc6da2298a48b2acfc788241e0e16f4c88c52ce0065d61f45c898c", + "0x149451e9d6d5c22e05f2473162347355b8beecc0f32010106cb8ff29dde8b95c", + "0x0c5a0cae9c4e2199640cd0bcdd529812e0e2259bad5b31a1a3964db22e043b23", + "0x1a11c47d27f34b1838729192fc85b4abde20d491167fc5933f8256e70e48b9b7", + "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", + "0x00000000000000000000000000000000000000000000021e18f781652bf5fe00", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x189548c499c807080d76e4f81c89c97a8b072e4acaa83069407b43292c85cb23", - "0x25e9e02736d9c1802b11965bb38e188b4dde0068e94deb71c057555814c1767c", - "0x0000302de927219334e40660013e50a1d9a4b122ac0455f3eb88d37d8d0257c3", - "0x00ab7283cb32f00b6e28b8cb1a3f1fde2962f7775ac608ba1681ccc2e42a77ff", - "0x0023fdf39082720602527c34d88cb19d7f0a41230723390de7acd443824e538e", - "0x00a0db45ed11b9aa0de5fc2289f5a4d72217d5550da8a87f99ead975d4417461", - "0x003179f71a977e6a6d80e77aa1cdb30f26645b1662d3eb441c933500868902ba", - "0x002d8c692e7dbd63861335bf497fc1fb418570f5b77a0c9efdc52c90819f8cfd", - "0x00e6798959f3f634a30ce7164c5680dab9106aaa6895cdcc9d7e61b174ddeac7", - "0x00291cfe55ca9c3ed7da0b183ca5ee563a041922144fc91a9fc481fba3daac88", - "0x004eaf47b242bbb2278f0f9d3f4817e80feaef0d0c716bcbc900a6092e768e9b", - "0x007825cb0b19715ea98344b24a355b4f3249bb74152589b4a79cb6bb8595cfd3", - "0x00215ce3a8529cf9f5b72f301761b4f245198f54dbfafff13beffbdbf50600f2", - "0x0088458f929a7c6936358e07a0848487a39b0d99ed11291e657e3a2af510b566", - "0x0084219db9add8f83304bc37c37ffb2637f747f4007fe52a5943b0cf74feffd7", - "0x0055a1be86a37320473dc7f377b9af73cfe43d92afc12fed10ecc3b7b7d89ff6", - "0x0043374eb21332f667b9b2d067a4d1d4ef12f060b06c4e366321860e216a8bb8", - "0x00df0123837b1df560737716ffc6118cb97e6a23b22dcfdba6938e65ca407763", + "0x16133850f55e490e4dbeded0edf971dfab12af59c60170ee561ed7585aa6f812", + "0x25f27abc0b173363236e086a010655c969ac35d869a593fe6bd7edb79b2caf77", + "0x00019ec2f115bfb696b100adabd0da18f1785c78ce5df80bae11f62dc47436f0", + "0x00ec7d73fa160c4a33a6d74dcbea1b6f108a281fc018f45dbdbb268c5bc7ffd3", + "0x00b0c81c058f7c9818e58a8a074f51c8e0c3566b427232e4d4ad3e03730595f6", + "0x00c8a1eb80cc7fea96b6394018ae945fb8bcbc935e1251f7968ebded5987b174", + "0x00934c75b53620650d5d0054d6b1e1d1d45950935f3ba1ad62e4784b253e043b", + "0x003d8a7872e88cf1af2ff34d60899cedac6117eea6a3a80528d51017dc92ebcb", + "0x00cdc746a591cf6a2e9c5a8ed600aca9c54d1dd2c295cda787691137f5335b76", + "0x008fc922a8184226ed23a16ac531f43389031e82e7bca6691a90d6d04d967856", + "0x001d6f9ad49006de8e17c4135102a4abe27f00dfbaea7fc4c68707d731d4144b", + "0x00adffc1b1df0316844abcd7b7c2d9fdae46ebaf7db00aefc4d06520e49d948e", + "0x0044d9b8ca2813ab6d1505d0717ded764da84f5b599cbe7be8a5a118b8a22886", + "0x00b6db9411f7964b2e359e634f754568f1776564f8b9e6667037c01741c462b7", + "0x0085d791d0dea7d4ade8fa69e9b96be658d4ed5c150fe397fcde6a908338948d", + "0x00f11c9cc747d9afaf5fb354b7406072ac2b8f1e3fa73fbaf13bb1470dd159c9", + "0x00abcff42485d8ece043bfcc8b3f4b249484fe1a2c3c7a6f6a19c507df2b851a", + "0x008467d072b998dd5b83296d849e963d7e783892cd6b88468c868cd0a64d77b1", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x14da1c199deda683ccbee4b7525702214ae961d58592d87ccd4cd95194747be4", - "0x2751e116a8995c1222ee7b2e1b283212f37a97d1c44cd89694e99d897223400c", - "0x00003f8a54be30509b1f2bf6258e29615a48a74588f1a00d9837ade3af0781df", - "0x001d9a5d4efede5983e8e9a53a49424e58beb54ee27322d66be4aacfcf099ed7", - "0x00884e4517794c2d5b385743785a876b7a3302b335babcf0d835244586da6f0a", - "0x000ef6d94524b8497651a031a5194d9fd5a6d9246c35f4d1f81a7a1eff17a3d1", - "0x00d1a4ed4fe11dcb1ef15f6687f60fcc619756eceb2a1ae1d6b0f52a036b2c9a", - "0x00d5c3775b60fb15ad57aa8756988d80263efc139317bae151085d5c85490bf8", - "0x00a4467d88476b828b90d01be95604958bc9ce8848487ff3600ea1467d82bd0e", - "0x00b62a29b40778639596780748a65e3d3064ad24c8d7288e75a8ceed09fa3b0c", - "0x00e3b5238495a71d237d1b94b5ebfc8b1a16c1531c3071f2ba4a90bc9d29532c", - "0x00a974d0d437e4f9750aee61fff34e0a28b0a92d1c511f3e612c4979218adea1", - "0x000f254ad745bd79108cb1afd53732946d3b7f6827ec8cb0e9e50983bbd9d7d3", - "0x00fb6cdd2f6eb2aa4cc250cbf78136a975a3c5fe6066da5f83f3c80358349325", - "0x0064b120470106816a7d4ec33e491ea674c81b83a054b62e56406c97d64d4a95", - "0x00117b57eac5ac1699e4f964946f4789fea9a7360e26582454068f7ef33a23b8", - "0x00d66ecc2e8814c19b3a6d93d88ab75b68eb94d71c387672bd46b86be64e4373", - "0x0005555a6740bbd3ebb47c6458ce3de270b43474923f43c4c4fa51da33bb56df", + "0x20a8593ad001cc22aad1bac3e1d0123226301f56793444f154e90b96b81835a7", + "0x1fb8497643d8a406a26845200b9652a22af99a258f99a244172d041bbb16f993", + "0x00011034970c0dd3c806e1fd0c8ffc5109462ca7dfb3622c8c70a30ef3e95126", + "0x00f9b94ec102f20788d1c3f2b8fe42212452bc5d81e98eb4c25b0527affd7322", + "0x00d13e97b3d2ea8ac3ef8fad039d16c1a1ad44234200e1d3eea8811e5cd9ed26", + "0x00797f0a75f0aa84044b23831bc18b0a21fe1abd1e3c3e7f19c7e523f4edbb7f", + "0x007cc37aa1ebb76495630daadad901844310cbfbcbc9ec9f228d45e78b112a4b", + "0x00c8264d8ef075054836a86eed74972d27cf18dea4b3d01774cde6a3d3a6daa5", + "0x001061e2ea23eb0911e6a5d21ddd390e5f65386d9a2e50a36f47a918cbec7949", + "0x00890b1c980395873a62549749e9b9a4425089d015aa547a58febe2b103270c4", + "0x001070f162c7e5d18a6e784fc0d6b4c760ef77e6241a3fdf82e6f628a62c3c79", + "0x00d542d00657dc51ea48e03af4635c32458d8fa86873f9294a4364ec0f05067f", + "0x0009159e0c99bc6e078d32cab52258f76cbe13ad0a4522241a0cd01dbaeeb1f9", + "0x00e1e505ede8f133cd6045b70fedb0e5be8612f35f8eee3ebed6182b5ba685de", + "0x00f90f1c55166c2ca72a46b3257c7f78611e58e1aa84647fb5d76f948e782763", + "0x00f44a22e0c58651f5e33e85425b88afb4708188bb214b9701a371c73513dced", + "0x00bc6716a5c366c23f13e9526cb228e78647c243f0234b61fc685b86a83cdbc3", + "0x0021646ecf207ece4dee1539ca82c2d84d11cdb31077ad3e4ac1ef7ffc4f6641", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x080c266aa3b5276d54293c6215a34d58dc7b743d4656742cf114410426f9d4c2", - "0x1b675c57ce0c3ab2830e57810b2236748b7156b983635e16bc5f4db3cd17202e", - "0x00018eb72807cb1456558d2c841bcf9ff2f7fdd07ad32ed99c60586a251c2afe", - "0x006c14879624b8457980a8e4da069d189c92f43b22b4003a77a31b576b2e284d", - "0x007b012fd22eccdabe13ce47d58bd583b6aeadc78f5ab9c62e22a6d2c177f252", - "0x000c89d00d8799626948249e3d14772da1accf43d30a40b44425ae4ae3d5660b", - "0x0074b65687f93b772d6edc3d4a7fc6e376d3e0b1e70ffe19f35ce8a507fa5111", - "0x00a7fc7d83a194202557ced250e7c02eeaca36e9b887c3343a24984c21fc8871", - "0x007d1af72bcaba8c42f24dc2cd4d1adfb05a2e303e69f9ef1fa4e7d8fd5b7464", - "0x0006f2e82285ce600b6f102872181d5a786e844cd8fa20a64e29688e73658654", - "0x0043e3f3882874c072067df833a6a76f6fbe21687d5c11d47b5ee717673b9eb5", - "0x00295a94eada8dcdb619e96013043b63d8e3619d1501171b8cdd7217733bf557", - "0x007741da4e1f4a7c3d8aefd3700df56f16097aee99c08c4dd4fb7ae9a6f6df23", - "0x008c2045418cadbd4e15b570a655bfeebf35175caf9d443f92ec46375c511393", - "0x00d9396d41d28475a0020f46a3a19e24ad86ebea7b1769e19a8601fdad935109", - "0x00f1be78f40c6636287ed26f69ab3a13a8d6c40ec030e718bbcf03ee1ac53236", - "0x00a35f1383d295cbb64a6b844eace3a166ab83b2d5db80d55e1f838586736d5d", - "0x004b88bfb42c44077ae85670bc88a202be42cf953aca9cec92c8ab7ec22e3a8d", + "0x18e48f656bbecf95b0606da5f10fcdca8578d17065e4e339ac995336a391dcbd", + "0x1855fcaf22b885c9b0bb4e17f42bf82d49ab8b9a746c754f5080c141eacc9a93", + "0x000149a07d1a8853051d7992a1038b803d49ee5737000448a7c42e4bfeaad405", + "0x008c671cf0d8999663db7937226999867601cef8e081cefc263c87a404c0edd5", + "0x009c68b57e1a61fec542359c57fdcb4321c81e189399749796170a9230233ebc", + "0x001fbdd85ca333efba6a7ede2fe81128b89cca721fb777f3e3e33bab2527da9c", + "0x0005ca9a8f0cd9e0062627c3d61f11463cd0292eb5efae2db15198a39cc5982e", + "0x00f06be76619922ca678fad22f3f1cd04e8d5c559bc0255330ce664fb48e8ed6", + "0x003d24ccb3737aa1982c2271b7251ef139e8a516416955e2ad459d37a67f6d89", + "0x004da73e037b118f7fa7b039a2f7a6a3bd99cd7da567d1b9eb291389f95c6afa", + "0x00110a29b5eb3111a46b0e66418ee6df7b16493ce7699a10712b55657c564bef", + "0x00f8fc7c50f971003ed78c08dcb1c514513989d321d9487901c352607c4f13be", + "0x00b350f8a6e8218e811cf3fee8b41cc15d5014cabe6e7b39ac3608ac86c81418", + "0x00ffc9b7dedaa084c2568c7ac30178a977415e45d1fdba23d1a564f9a2391477", + "0x00cc699f85e743bab9653e120414cbffb699728df57c157554c923daff1138a9", + "0x00f1d95759cdf84f636365528e166c37d5129cfb1b03a6db6e4366e627420235", + "0x00b091a758582df3ce2e365ae42f136ca7ed2471911e8596f01f91f778feedd8", + "0x000aedf77cd7cde418680b539ad9e2fb4c7fd71f2358e8b6096e45e94cc92ed7", "0x00000000009c7075180000000100000002000000000000000000000000000008", - "0x1e41bc1d17bd83100c7f527d9bf1da9108a56223009d3f8ac7c75a817336a804", - "0x000000000000000000000000000000000000000000000000000133ffcf238800", - "0x00648a99aa602688ff8871cf5db429e4a96ba6529ad242fc3b66db1ea121e80b", - "0x2d9829af203d544acba7b819cefed817e34e7c5c5b7ec0822ed78779c5e5570a", - "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff", - "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", - "0x00000000000000000000000000000000000000000000021e18d51189e1c82c80", + "0x1fb1aca174b6826a91b6e49ddf30611ac4aca9aea5e2b3c9a94165dc7a0f91f5", + "0x000000000000000000000000000000000000000000000000000133e5c185a800", + "0x26c3e7db95e68ee7a953941e55a374a39b567742a1f9d4b792fd735ba1f234ea", + "0x0f5095527ce0508bdaf8aaf6ff5d340277830a8973afd7171077797c8f10c1da", + "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87", + "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", + "0x00000000000000000000000000000000000000000000021e18f64d7f6a705600", "0x00000000009c707518000000010000000300000000000000000000000000000a", - "0x005f1e9f39d33277f73ef2c4da579bf864732669ea1e112cce1cfb9d3a57d66e", - "0x0000000000000000000000000000000000000000000000000001c566b1383ea0", - "0x1cd94a2dbd6dc87e9cb2e00c9fdb0e7cff11ee59e014c499a3f1d3835f732cd3", - "0x2404b0c4b20b5d4af8d6eb060e68103d009deb28450776f9a8fbc3c9d39a904d", + "0x1184151c8b0cdb8a5d700f8befaab6035900f84fed1dd2d130fb1e25a6b53dfa", + "0x0000000000000000000000000000000000000000000000000001c54056f9c920", + "0x123a227d853db4dbcfcf65aed4254b2e502084204e1513a0e401e6f39148f81f", + "0x1115fe5874ebe4d5d9a3428012e3958edbb448dabd1c7da26af23133c7b8855a", "0x0000000000000000000000000000000000000000000000000000000000001fa4", - "0x036e901f114a75e275bb5b53726de3ba0bff6ff84fae76009eee3100ad2f189a", + "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c", "0x000000000000000000000000000000000000000000000000000000000000076c", - "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", - "0x00000000000000000000000000000000000000000000021e18d34c23308fede0", - "0x0000000000000000000000000000eb8dcdbf000000006993c29f0000000a0003", + "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", + "0x00000000000000000000000000000000000000000000021e18f4883f13768ce0", + "0x0000000000000000000000000000eb8dcdbf000000006994c5100000000a0003", "0x00000000000000000280000000000c000000000380000000008b000000038675", - "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3", - "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c", - "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d", - "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0", + "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3", + "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471", + "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d", + "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4", "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", "0x0000000000000000000000000000000000000000000000008c6374430000005d", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25373,15 +25373,15 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x00199fa4eb6ed06bd4b6dfb9fafff70ef8a3213b62e72d96df8941fdc6f87f11" +blobs_hash = "0x001feda4ba2e9065424ef8d4bb61dfb179b8404c78b2f58bb0a823f297f5090e" [inputs.hints.previous_block_header] - sponge_blob_hash = "0x00511d2106e84696aa9c0cdb68d40b298d03263baa352083040b672bb3d015a6" - total_fees = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" + sponge_blob_hash = "0x1c9e596b33fcf3ab6582d41d8778784b576fd54a83a357f63a3f055ca9001a4f" + total_fees = "0x000000000000000000000000000000000000000000000000000001b0ca114000" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hints.previous_block_header.last_archive] - root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" + root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.hints.previous_block_header.state.l1_to_l2_message_tree] @@ -25389,48 +25389,48 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [inputs.hints.previous_block_header.state.partial.note_hash_tree] -root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" +root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.hints.previous_block_header.state.partial.nullifier_tree] -root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" +root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.hints.previous_block_header.state.partial.public_data_tree] -root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" +root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.hints.previous_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c27b" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c4ec" [inputs.hints.previous_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.hints.previous_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hints.previous_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" [inputs.hints.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.hints.start_blob_accumulator] - blob_commitments_hash_acc = "0x00bd0f07d3feee2b0c6b3bdf08582626623244990a3915af768fc37f9cd5efae" - z_acc = "0x1ebe3b93201375ea93b193dd286f622d61783b1a174ed2e993082133f71ff148" - gamma_acc = "0x2820cc1b1817484b1f0f42bc000ff717e4b787f8142773e771c992ffd532611f" + blob_commitments_hash_acc = "0x0067a9ca7771c78abc575c419c2efcec83aadd0e3c1496ed7095479012ff7e85" + z_acc = "0x2f187030c6aed7047155b294e56b3f2e742d9c5e8fa6bdf047e45a0f8e8d154f" + gamma_acc = "0x23f60bad48292ef03491551c7543c478ec87d92627aac6214c356755e96d053d" [inputs.hints.start_blob_accumulator.y_acc] limbs = [ - "0x8d32fa0ef518a993847ddbfc735f8d", - "0xb2d8b64fe2db288926d94813c6fb58", - "0x1b13" + "0x7705cf67fd23e1569d3145352936c5", + "0x5bc8dee2ef4f217f07393fb722b419", + "0x22fe" ] [inputs.hints.start_blob_accumulator.c_acc] @@ -25438,35 +25438,35 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.start_blob_accumulator.c_acc.x] limbs = [ - "0xfb921764984cb7efe72117ef84ad82", - "0x703c9e0ea80f4284bd670914dca5fd", - "0x5412ff49e08661ac07a65cd230765a", - "0x0862d5" + "0xb076426ac8071757dd92439f0dea62", + "0xb1673c8120d4ff268d438e87dfa602", + "0x61ea33dc5a6d1e6c67408f64c362c7", + "0x0cddcd" ] [inputs.hints.start_blob_accumulator.c_acc.y] limbs = [ - "0x8633a467ef4090639b1ec130faa09a", - "0x1ee6ab882baf9cec6f1284dd8dc4c6", - "0x23f1a8f226f504a5462d9459db584b", - "0x0b238c" + "0x3465205198756de2596ac88fbc871e", + "0x884b35db1e7656b4cb1360b5e4b6eb", + "0x464508ad609a63706ec044ac660dfb", + "0x0f00e5" ] [inputs.hints.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.hints.final_blob_challenges] - z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" + z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [[inputs.hints.blob_commitments]] @@ -25474,18 +25474,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xe0ca41915c8a2d01b271808cda461f", - "0xc3870be826c7fa101946f98dc443ca", - "0xf028df26e6b8753fc551df286cac16", - "0x13dc09" + "0xee05c02f464c2619d2a1ab07cc9290", + "0x921eedcfacd31cb3fe198fdb53ca95", + "0x7b87762aba896868213780334300df", + "0x082c37" ] [inputs.hints.blob_commitments.y] limbs = [ - "0x9f3036a3774e8dbf5fca240e36ef80", - "0x70e8e4ce0cc8331f44dd3a74f259d6", - "0x8c4d770ed8f7ce423a1cdabe2df621", - "0x014558" + "0xb8243dd0ba4a5dce68e17adbae977b", + "0x1c1771a5cc00dfd7d771c40408632a", + "0xdc53c7fdf28ef4f1037f6d654b4cd2", + "0x071b8f" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml index 1163923e3bcb..d32778879aee 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x02e15f87acb0a3a964c7ee8fe2dc7a90f67956293c6d6ec4cec49aba3de75f70" + block_headers_hash = "0x0b4af6c339d8708bdf95985f4a1a3a4dfde88ed6ece23f8e47ece1c8759428ea" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x00bd3da907cbb210cd100bd369f8dd7eb04b938c69dce277dc1efea8403ed88e" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -532,7 +532,7 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -552,7 +552,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf" + root = "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -615,10 +615,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" ] state = [ - "0x0adf660e00555bcf5d77b0cfe9c5aa131235569aae931b981291ee9a349ec479", - "0x1b8118e91a510ef51da9258674006942ae64836d511908ce5c66ca18aa86e72b", - "0x24ed4cea60aed332d8fc271dd7a99f0dc1c2f6386c8e884fa43e9510526b5cd8", - "0x0742e3139758c4aa10be96766e5e25d48a48c7a7b6097fe02635ca95d81c48bf" + "0x1c639a20eb772ff445747ba7f38ff68d3e147dec63791c7feaed40e007c7c115", + "0x020acd7d6dc41d07f7f49d90041371c6fd8eccb326ec1d2401a9bf2c0c3d0978", + "0x260226ca0641fb3743250a17a3734f4fa0832d6b0f4bae7f2ec4fe3134355305", + "0x070eb4144ca2e4dbd68825dae3532353a7d7254050e858654791e2bfd5645fc2" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -626,11 +626,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000f" sibling_path = [ - "0x0f525cc42266f817e0c7419eba7fdbc52b74afe2a2cea460d976bba4981779e3", - "0x138019b15179e54b1225f536e24c39dbff83f071921a796ed02d107990e4abf3", - "0x0d49b977bc426497c9d51a719fc968f4e28389d7fd90905cf44eeae89996775e", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x228e39d81bf3916b894f2c2db88adcdffa29259103dfe2e715fc7dbe7be6376c", + "0x0297c37260a0f73265406587d668cfb2c151d0f49599fea7415db7170aa89904", + "0x0eb5cd857b924427ee6b31184d5ff99b8e7c83a41df9f7b8631c4bd9ded7dc0f", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -640,94 +640,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000752d53f345c0444a387efb8931b5dd0291", - "0x00000000000000000000000000000000000288eaeae8db784925d0cb43fb2f1e", - "0x0000000000000000000000000000009fc8d5d38227172d4f2b81712428ecb6a9", - "0x00000000000000000000000000000000001361b08ffae8723c55b445f9d9b0ab", - "0x000000000000000000000000000000973c6744c743efdaf43244d66c65e3b8db", - "0x00000000000000000000000000000000002ca46348bcc78ba0d4832f17ae2dd3", - "0x0000000000000000000000000000004a670bc13ee4d70031f728cbde685790c5", - "0x000000000000000000000000000000000021b573d46a9b308c86c6ca4124d511", - "0x0000000000000000000000000000001993a63de452ed6a53b1096c03798f6034", - "0x000000000000000000000000000000000003b267271ea96367d7123218ea70b5", - "0x000000000000000000000000000000969dc6e634f8270e2a9c7c9607c6f123f0", - "0x000000000000000000000000000000000028225dc7475da26558657eb00a150a", - "0x0000000000000000000000000000009b3402a013394281d6a73462fa5fc584b5", - "0x00000000000000000000000000000000000608ea28278dc3e5224b8300b2c6d9", - "0x0000000000000000000000000000007f83176c1892658695ea7a44851c2402b8", - "0x00000000000000000000000000000000001ba6bf5aa10eb3508b82e1faa42d36", - "0x0000000000000000000000000000009bc617d17eaa4bab88511853304fbf33c4", - "0x00000000000000000000000000000000000ba22b775b1ef2f1fc6dba836fbc8b", - "0x0000000000000000000000000000002cc27cef3c4532b293340f3d1a834088ae", - "0x00000000000000000000000000000000001e24156bc8b200e3c3a88efc112281", - "0x0000000000000000000000000000002fed1c77c48323e2f27c7afc84aa554847", - "0x00000000000000000000000000000000000d8ba23d04d00b6a847539304d63b5", - "0x0000000000000000000000000000005691af74cccfc19be339cd7cd7979ab2c8", - "0x00000000000000000000000000000000002f310500186e53a092d0144af715f9", + "0x0000000000000000000000000000000663906683e3bd7ea6dbf803e151aae4c1", + "0x00000000000000000000000000000000000c912dcd042828747da558fb55cd80", + "0x000000000000000000000000000000385115435211242da7c06d1bd20814287f", + "0x000000000000000000000000000000000021b0a464a4f0e5a246042802a8c14c", + "0x000000000000000000000000000000e245b28c899fe866c3166e9aca97677e4c", + "0x000000000000000000000000000000000027824475b4855bb43462661be18a18", + "0x000000000000000000000000000000613aa5f6f1bf29c66c4e5d9be20d870509", + "0x00000000000000000000000000000000002bda628e5c0289a73706fe346329c5", + "0x0000000000000000000000000000003d8659c5c24420448b287b6b5f1c041eab", + "0x000000000000000000000000000000000022f1a22b89f3ab51980c56617e6805", + "0x000000000000000000000000000000ce2f01042d4f00f2aae0fd6f9d7c6fc7ef", + "0x000000000000000000000000000000000026cfb2aeedb7cb581854f7fbc8a84b", + "0x00000000000000000000000000000019b6379e7ada0275f84605b59334d47696", + "0x00000000000000000000000000000000002cadf3f0e865146a709886a7ad6708", + "0x0000000000000000000000000000000cd5503f7d04985090653686522ba9dd7f", + "0x000000000000000000000000000000000021ec429e98917b083a60d19137ef36", + "0x000000000000000000000000000000920ff70dfd539c4e046860d6e82f681573", + "0x00000000000000000000000000000000000859560c7775bd670c0bc45f363161", + "0x000000000000000000000000000000b2a46d9f174d8badc83d5e27aa6c6a079f", + "0x000000000000000000000000000000000022e35976543adc13f6a6ffe6fcda2d", + "0x0000000000000000000000000000000dc72e548c01b22400593902083c1f182b", + "0x000000000000000000000000000000000013ae08619b7e8774dc669e38704694", + "0x000000000000000000000000000000a7965a561df94a8cca2f2ce2a5dc5ff908", + "0x000000000000000000000000000000000017a3c0445e4ff4716cc7173caa5ae3", "0x000000000000000000000000000000de739fa0af1b1abc39f66b36bf6babfc93", "0x00000000000000000000000000000000002ec2db775d5362c26b1211d0c67b33", "0x00000000000000000000000000000092bff11ad703ff9e37f33e0254b1cae0b3", "0x00000000000000000000000000000000001f2e9c9949c5722f9c0f27d4c01426", - "0x0000000000000000000000000000004c689e87e1310367bebb14e649f425a4a3", - "0x00000000000000000000000000000000001d743dbf7f57d21b2712332f6e5536", - "0x000000000000000000000000000000a33391fb5946e45f35d07f62ee4a3bfc39", - "0x00000000000000000000000000000000003017bfd3e5026f280d16e79c3400a7", - "0x000000000000000000000000000000732c0cef849e166ef33d01f90221b216ee", - "0x000000000000000000000000000000000001df46564519f1fac50a5f5fbf1b29", - "0x000000000000000000000000000000ad2406112f8f8ad6dbb6cba83bef9bdfbf", - "0x000000000000000000000000000000000012f281a7808c3ba38f34304c682ad7", - "0x0000000000000000000000000000000b316493e836a30556fd300025df142583", - "0x00000000000000000000000000000000002675a228a55ed2f324c9dba102b28c", - "0x000000000000000000000000000000afb8da0c86f561dfd02d469e9cbbac6ca1", - "0x00000000000000000000000000000000001e3053ebfa7f45c881e97d6164fd9c", - "0x0000000000000000000000000000002276a9b4b6242aaea64932f1521e34123c", - "0x00000000000000000000000000000000000657174ea572aa1a7c3b00a8c86daf", - "0x00000000000000000000000000000053e15d5d5e0861c18477dfd667b634e39e", - "0x000000000000000000000000000000000015ad9004d4beb2e14642615c6412a6", - "0x00000000000000000000000000000020627b9b5e048b1b9871fd29ebcf6ff8f7", - "0x000000000000000000000000000000000009cba1eb96005cc7cb183e0b66f6e1", - "0x000000000000000000000000000000e7601baaf327887f86ae9256c945899dfe", - "0x00000000000000000000000000000000001f66fee157549b3ca6c4f3f6209e2c", - "0x0000000000000000000000000000008ddee373e8394f3291093933915dd4dcdb", - "0x00000000000000000000000000000000002994e76402381bc9f9bef4d0014272", - "0x000000000000000000000000000000657205ef44fc34a3c710529099b2b87382", - "0x00000000000000000000000000000000001ce9180c871d2cc72972cf68354cf1", - "0x00000000000000000000000000000083866ce2add7aa98a07aba9b863eebafff", - "0x00000000000000000000000000000000000676014106d7d31f32e1d821b75ee4", - "0x00000000000000000000000000000047710f8ab3dac82b595812f2763a07f50a", - "0x00000000000000000000000000000000000e8f3d99fc8d7d59ccf887309e7cb4", - "0x000000000000000000000000000000bb889b05965d946e94980fb7c18ddbe40d", - "0x0000000000000000000000000000000000235eab1b9424aee316bf30b6a28c34", - "0x000000000000000000000000000000d0f23bc59f931043283647f19ecebe2013", - "0x0000000000000000000000000000000000064b6c8697769f7bcf948671a79fba", - "0x000000000000000000000000000000558f38b52a6fb6e0970b5436b07187a852", - "0x000000000000000000000000000000000008c362fb47af0b2df06ceb49931c70", - "0x00000000000000000000000000000075231e7cd6ae1718acedd24f0f06949bfa", - "0x000000000000000000000000000000000013aca56a7704761949ec56678d6869", - "0x00000000000000000000000000000053107bf6014d9fe795119fb8f6d959ac37", - "0x0000000000000000000000000000000000033f8ab87382af08cbdff2cc8ca9a2", - "0x000000000000000000000000000000139393c17d1f11e7b39eb60caba18f2b30", - "0x00000000000000000000000000000000001ea243f4adf4e30020e31ca4704e45", - "0x000000000000000000000000000000643a49af1c582b2c1ba98e621e04f45648", - "0x000000000000000000000000000000000005228472461c8293a87d6c8fcd2b4e", - "0x0000000000000000000000000000007af45517d83997a5f3e6a4293cf5f96b22", - "0x00000000000000000000000000000000001c31c2c6fd63210f5f6a173f420ef7", - "0x000000000000000000000000000000072fb62f9b9be15b60236679f980dff4bc", - "0x0000000000000000000000000000000000214fbc8d85dc045a0c8733c0d5dde4", - "0x0000000000000000000000000000009bd878f951f35fa7fd295626d58dcabad6", - "0x000000000000000000000000000000000009f440640e390cc6d111d6c7ab2f20", - "0x000000000000000000000000000000589cf8345cd9071e835620d123a628ea77", - "0x00000000000000000000000000000000000974bf9ddc868998a3d9f725f565a3", - "0x00000000000000000000000000000041a04c1db8dfcd138b9fa63098374bef1c", - "0x0000000000000000000000000000000000002e9c9c258c3764b79dc591a1ca41", - "0x0000000000000000000000000000002412d83d72eb56aa3ad2332e2969ea4064", - "0x00000000000000000000000000000000000525c7cfefa0e6ad01c3770611f140", - "0x0000000000000000000000000000003d1befd6e709f7fb18a8bf2ddc13ff15b8", - "0x000000000000000000000000000000000012b10df18008a55f29d566d4f19a12", - "0x00000000000000000000000000000035f8579549134962b797a88295373e4068", - "0x00000000000000000000000000000000000cd3770ca4808b9995d4932cf1d1c4", - "0x000000000000000000000000000000a740902110973edea9b956e293ee7b8efa", - "0x000000000000000000000000000000000028f26b4937452a75e7f36fdab1a8b0", + "0x0000000000000000000000000000007c3a2a31c5488d93224deb9993ae1b0b1d", + "0x00000000000000000000000000000000000456c0c810352c76210bc3780a4354", + "0x0000000000000000000000000000006b4ff7f1a1ad87f8991458978dcd82c61e", + "0x00000000000000000000000000000000002a5d6abe927522a048bdf66f10c8ba", + "0x000000000000000000000000000000e285463a1f5ed5f7a949779044be838cb0", + "0x00000000000000000000000000000000001a72f90601ec9dbc51154c382a7edd", + "0x000000000000000000000000000000e21de4172676fc8b2077abf820d9f65e27", + "0x0000000000000000000000000000000000154bd308b320d381d22f4a7e4334d5", + "0x00000000000000000000000000000014680a41de9ea395754784dd03524a900d", + "0x000000000000000000000000000000000029b5eda8407cf81db1c18f218674b0", + "0x0000000000000000000000000000007e283cab0487dda48186f42cb52e6bd815", + "0x000000000000000000000000000000000017fde534d0201e5e3abc7717c8a089", + "0x00000000000000000000000000000056e834e1d919cecc5e42be184b5634f26b", + "0x00000000000000000000000000000000002453495ebee5cdb800611207279231", + "0x0000000000000000000000000000004de22e4dc8e262d463fdc4a87229a0365c", + "0x00000000000000000000000000000000002ec50e0504eccdf96b5f90a1391b1c", + "0x0000000000000000000000000000006b3d4c449ae5e1583ba52d0d9d2cf667a1", + "0x00000000000000000000000000000000001043cd81709bd6c3150363362e82a0", + "0x0000000000000000000000000000007e62ebf103bf9e5327eda7be21e2ff07da", + "0x0000000000000000000000000000000000003dec724e2a0575e62f16bd734e4b", + "0x000000000000000000000000000000a3f6a2748523bb6794d796579020e03e77", + "0x00000000000000000000000000000000001c3a6cc1b3810c8d0b8557515a9df8", + "0x0000000000000000000000000000003dea46df53b1262e8abf80fd5eaddb82d8", + "0x0000000000000000000000000000000000164af3e5de5e5065428035a2a77d8c", + "0x0000000000000000000000000000009bf4f598bbba083f23c86b60f21feb1784", + "0x00000000000000000000000000000000000bac38f16d273c59bb6a1a23dc3623", + "0x0000000000000000000000000000001a4ae682668c7b974583d174ae4b4dd09f", + "0x00000000000000000000000000000000001711f98f0ac5ee293359f0d97d0098", + "0x0000000000000000000000000000003afaf8a4fd10ae612d367d2856c7868e2a", + "0x00000000000000000000000000000000000a5a001a04af8e97c6187d6c604016", + "0x000000000000000000000000000000bf777706f5804185a927beda807959393e", + "0x00000000000000000000000000000000002eb7c0d975c3e85aaeffddccd42811", + "0x000000000000000000000000000000db4e6e499eafcb2514a2b4bf7c4cdce4e9", + "0x00000000000000000000000000000000002057f90acb129857bf394885a8e5c7", + "0x00000000000000000000000000000037e7f48e8f42b2490eb3774d40af812790", + "0x00000000000000000000000000000000001efa85c18672a73233eb8bd9d2f91b", + "0x000000000000000000000000000000962249b138c623ddb2db1ad8192ef4cbf6", + "0x000000000000000000000000000000000008153d6a58acb08411f12f22ed7f0f", + "0x000000000000000000000000000000bbfcefc4fbf0d4cbaf5af854f9438b465c", + "0x0000000000000000000000000000000000126a56c643d4836e3d51453ec2c52d", + "0x000000000000000000000000000000fe1504e23d71875154c2cb6487423391b5", + "0x00000000000000000000000000000000002fca1306e78b9154a826fb364b8066", + "0x000000000000000000000000000000d8498338b0d117be721ccf09309efa91c4", + "0x000000000000000000000000000000000021cd3a6206a6d615b4ab8a2814c798", + "0x000000000000000000000000000000d74bcf241d0506d3b8b55c8b2ae9329600", + "0x000000000000000000000000000000000010731d63d98f02fd461b63b86cd41f", + "0x0000000000000000000000000000000abc29cd512aa28ae256acf646cbd7ad99", + "0x00000000000000000000000000000000001a85201dce0a6eafdd7987b7677094", + "0x000000000000000000000000000000f34ddff8c607717d2f0668f1db4ad83d7f", + "0x00000000000000000000000000000000001878192b8004acf8e9aa3625d83544", + "0x0000000000000000000000000000000ed68fcb03fb52655bb119082c61d02bfd", + "0x00000000000000000000000000000000002ac7f959bbf0f89eb3cfd1f32090cd", + "0x000000000000000000000000000000712fdc918e01d5b37e01d0590036f1c662", + "0x00000000000000000000000000000000001773ef4faffcaf43de4ea033d8ac01", + "0x00000000000000000000000000000060085b5adb88786a52e1b6c07338594de7", + "0x000000000000000000000000000000000015900240bbf58c5e42d9d0a2ab9d18", + "0x0000000000000000000000000000007475aeaa7314adb157cde8a0cd5e1ee2cc", + "0x00000000000000000000000000000000002e6bcefaa6ddc762b4a0a6995f128a", + "0x000000000000000000000000000000b35036e42ab932b9569c812967117bc96f", + "0x0000000000000000000000000000000000122b86e07d207a6f233addfee85669", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -748,12 +748,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000007693830b7dd4d208660095947971de5df", - "0x000000000000000000000000000000000004319f83c2642e2af778937f3da274", - "0x000000000000000000000000000000b2acb429fe07215272d7a5561f63b3495b", - "0x000000000000000000000000000000000004f5681f6344d7dc9eaad53b986e7d" + "0x00000000000000000000000000000095366a416ea56e3a2021e134d87dffd8ba", + "0x000000000000000000000000000000000024a84af27df58a03446f02100b0b9d", + "0x000000000000000000000000000000c5cfbcdbf5aa76474a11ca8ada5eac7076", + "0x00000000000000000000000000000000002f82c5da823035c311540d7a9b7aea" ] - hash = "0x0bfde7f50b59998fe565f59398f58b1f5bcc0e7ba275bd35e5a2e0c8d38fb522" + hash = "0x1d1137ec2328042de98048857a675eed4592e6155aed990914021a7005045736" [[inputs.previous_rollups]] proof = [ @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x23f2c97679919e99c830fbbb054c480163474eae35b35a92995eae5495ed4bb1" + block_headers_hash = "0x2d516eeec1aa5330e540eb0444cef69da9557368bbb46c1e753e2d72c57cce48" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x009be21298b4428b38b9b314446eef3243121c400edd3780e34da475ea5f17c3" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1289,7 +1289,7 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -1305,11 +1305,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf" + root = "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x22f0c11766a9e2d2b3b0b1e048f6a4eb861103d48a6050a6c52fab536873cb0f" + root = "0x17a8980b06c519bc08e2408c3c51072c5a04037ee34c7ca5f330398cd8c9d6c4" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1354,10 +1354,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" ] state = [ - "0x0adf660e00555bcf5d77b0cfe9c5aa131235569aae931b981291ee9a349ec479", - "0x1b8118e91a510ef51da9258674006942ae64836d511908ce5c66ca18aa86e72b", - "0x24ed4cea60aed332d8fc271dd7a99f0dc1c2f6386c8e884fa43e9510526b5cd8", - "0x0742e3139758c4aa10be96766e5e25d48a48c7a7b6097fe02635ca95d81c48bf" + "0x1c639a20eb772ff445747ba7f38ff68d3e147dec63791c7feaed40e007c7c115", + "0x020acd7d6dc41d07f7f49d90041371c6fd8eccb326ec1d2401a9bf2c0c3d0978", + "0x260226ca0641fb3743250a17a3734f4fa0832d6b0f4bae7f2ec4fe3134355305", + "0x070eb4144ca2e4dbd68825dae3532353a7d7254050e858654791e2bfd5645fc2" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847" ] state = [ - "0x105fd5c666035688ac55233787cf061026c67892b33e330a716806bba908e647", - "0x0d8a6301ece9c7efddfa4a41133e073dca12286657ad5095bd3b170d459acf9e", - "0x0b6ee3b3146d544303d5c17ebe26ad2d5557e61bd2692416a226a7c9e29d79fb", - "0x041484abe49fd5182e4f1712f918b217046ffb3ce72009ecfc5ed857e607ac05" + "0x143f5e50b5c7ff8747c04d03d8c8b87c46d73e0154cff92ce4a42c05d1bcadfc", + "0x01f78f4baba95f461435dd7823848057b183121012ab1fae143874e91adb5df2", + "0x10f5787a6c10614fcaa2d1a9ff57ffce7002b1bd1547e48fde41aaed583377dd", + "0x024486f25e5d57608796d2dd28d0c317c52a7e101f7f5d6c19cace1e903d791b" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1383,11 +1383,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000e" sibling_path = [ - "0x0bfde7f50b59998fe565f59398f58b1f5bcc0e7ba275bd35e5a2e0c8d38fb522", - "0x138019b15179e54b1225f536e24c39dbff83f071921a796ed02d107990e4abf3", - "0x0d49b977bc426497c9d51a719fc968f4e28389d7fd90905cf44eeae89996775e", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x1d1137ec2328042de98048857a675eed4592e6155aed990914021a7005045736", + "0x0297c37260a0f73265406587d668cfb2c151d0f49599fea7415db7170aa89904", + "0x0eb5cd857b924427ee6b31184d5ff99b8e7c83a41df9f7b8631c4bd9ded7dc0f", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1397,94 +1397,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000014", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000009575206080951c3ff1335d8f43f2af9e29", - "0x0000000000000000000000000000000000265b3df3a6f660e9e955603ed7ebf0", - "0x00000000000000000000000000000012475f22609266effa9d130c5e2597016a", - "0x000000000000000000000000000000000023788c27cd95b400312d3f0efb2165", - "0x000000000000000000000000000000bca1bfec38d9cf2d2373008a84545b1302", - "0x000000000000000000000000000000000016e991839e463588c8c018b40a2d31", - "0x000000000000000000000000000000a90a979e675fab13ae05d123c7f47629e8", - "0x00000000000000000000000000000000000e7170c149584df3b55f322eb09966", - "0x000000000000000000000000000000564a93625a447029468328eb2144820ab1", - "0x00000000000000000000000000000000001c0a081ad76a187e97c331773805fe", - "0x000000000000000000000000000000a68aa566acb9e20d5e35ffbcee47a93732", - "0x000000000000000000000000000000000015d1c4890e6b4878356f7f9ab7914b", - "0x000000000000000000000000000000f9bf690971a7635df25fb6a046a487bdc0", - "0x000000000000000000000000000000000004dc4c1b9fff274eaa395ba110d149", - "0x0000000000000000000000000000004697a83ef3a028f007e564b9dd8fe941e5", - "0x00000000000000000000000000000000000b72a467be3fb3e66a72f75f558902", - "0x000000000000000000000000000000bd5a8291c2f760597a90b7ffeaf0dc1ad9", - "0x0000000000000000000000000000000000166434e244cc91ea5f990894fd4db9", - "0x000000000000000000000000000000730cb08c97c1d7e3d65ee6192a86ae6588", - "0x000000000000000000000000000000000011f76acffcfc122e68e4eb026b3af9", - "0x000000000000000000000000000000222c7ea3e7b8c501f77ad32c35905ff4fc", - "0x000000000000000000000000000000000001694eea7c614ad31ec2c5940d8e3c", - "0x000000000000000000000000000000e084f4295c43b4d1c148184e1b9f0fae04", - "0x000000000000000000000000000000000004b8b67ed547cc4e900c892e8a6bcf", + "0x0000000000000000000000000000007764f1542d6d895aae3fccc71f0b85b793", + "0x000000000000000000000000000000000029105663df643ce4d8280c82e35ce3", + "0x00000000000000000000000000000094cce12d38ed2e37b6b4cecbb066c08e07", + "0x0000000000000000000000000000000000209603dc8e7d982667fbd89db45b47", + "0x000000000000000000000000000000a7feab85601e783475d71572f490ecebea", + "0x000000000000000000000000000000000029efde277358c0793837e8fb5462fe", + "0x000000000000000000000000000000d8897d7a64d2a1066c00428650b8a0d5f7", + "0x00000000000000000000000000000000000ec5a6062b53bff9d25ac46887b36f", + "0x000000000000000000000000000000dbfc3a299bd53d6ae537d84ba84a8c3cc5", + "0x00000000000000000000000000000000002a43b578a2f183698b684091bd8ca5", + "0x000000000000000000000000000000fde244d29130fd07543ae8f2db9b0bb700", + "0x000000000000000000000000000000000011f95322f5b003fcbe084745f3ea28", + "0x000000000000000000000000000000906d43034defc686191b77b256f9e77bca", + "0x00000000000000000000000000000000001d20dd6df724d3c57a397c523df175", + "0x00000000000000000000000000000091a234d1e7f28a2b88b6f31d7812182ff5", + "0x0000000000000000000000000000000000231fde047c8afa51e15768e0966750", + "0x000000000000000000000000000000cfbedf53b3ab52955c6dcd94f2548de6f9", + "0x00000000000000000000000000000000001d6ffffedd133acbecd781f9cbbdd9", + "0x0000000000000000000000000000003b0f5d240dcb3c710771024cc64ee0bf46", + "0x000000000000000000000000000000000026144b3546fdda13e3e23be50d296f", + "0x00000000000000000000000000000058613fd12995cdd8c7832399fc6ca7ed27", + "0x000000000000000000000000000000000028e627d656352de54b6bf745bcef6b", + "0x0000000000000000000000000000005310e03e3fa6a670df40a036c1b680513e", + "0x00000000000000000000000000000000001a7bd149a0f765d40925766be2adad", "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x0000000000000000000000000000004e3aaaecdf535df8797d075a6d198d8431", - "0x00000000000000000000000000000000002407da60b9a4d254c4a7a64d0c421a", - "0x0000000000000000000000000000002691c32e5cd410e78cef6a3521ef794271", - "0x000000000000000000000000000000000007a28e226ff47306f11c36a0b16124", - "0x0000000000000000000000000000007ee149cdf82e8d5006cd86221b540297c1", - "0x0000000000000000000000000000000000258374bf67386ff6d78b0b790685ef", - "0x000000000000000000000000000000eecd1f53614ffe2ea27dee99aa81b3c5d8", - "0x000000000000000000000000000000000021adbd8fcc20d7cedf8ba700c76e06", - "0x00000000000000000000000000000087e4c719f392bac81af17cc5d85e33043a", - "0x000000000000000000000000000000000017a71342e9f8e99061dca697b655f2", - "0x000000000000000000000000000000f1e04185d20cf15b8034d7345d74f267a5", - "0x00000000000000000000000000000000001729f178d39dec35d6cb0133dd5e4d", - "0x0000000000000000000000000000000957f4ff3d5f0604362114b1a83e6cac33", - "0x00000000000000000000000000000000002990edb2fb26951e309f3a83582d72", - "0x000000000000000000000000000000dfdf72824af84ba0325c376917c1494b52", - "0x0000000000000000000000000000000000017c948872b6639bf56890df545d30", - "0x000000000000000000000000000000a5463c84128802a1a2b13867771bc41ba4", - "0x0000000000000000000000000000000000040280b8ae2cd27f989b4081998549", - "0x0000000000000000000000000000009c60c580fe72cf868347b5370b4c10ad16", - "0x00000000000000000000000000000000002ef444ebb0cae54b9c80e951dcfb0a", - "0x00000000000000000000000000000091b4eb66630582c5b65b88f30f20dc3ef9", - "0x00000000000000000000000000000000003043ae6dc2c8e2ee4eef9740df0bed", - "0x000000000000000000000000000000b3d2bffa4e72752ce26e02bbdbecbebbc6", - "0x000000000000000000000000000000000027d348b3836d8cd091fdd09bdcab93", - "0x000000000000000000000000000000ed56537d5a49b0285a43598f2636f362d2", - "0x000000000000000000000000000000000024acd3dca0a6292142cd407a5edfc9", - "0x00000000000000000000000000000002603d48b59177f78ec7dbd288ce2ab796", - "0x000000000000000000000000000000000022d42b49192d978e47f389e1dcaf8a", - "0x000000000000000000000000000000a694bff590c823714e9a31b8628f70ce40", - "0x000000000000000000000000000000000026f5792435d927cc61d2c3cb732651", - "0x0000000000000000000000000000001314f9ffa6f5dca5123effd780f7b14b0b", - "0x000000000000000000000000000000000022b9b563d4bee346f2074b800d89ad", - "0x0000000000000000000000000000002d88ea184e3f258e557a2b3bdac204676a", - "0x00000000000000000000000000000000002e95ae758457693987d541b063ad5c", - "0x000000000000000000000000000000a5c93f208eb5472df9c919a5ce9934d7a6", - "0x00000000000000000000000000000000002385b41d555024b5675a6926874512", - "0x0000000000000000000000000000008aae03eb861bb7ee4d7c7846634c68c1b8", - "0x000000000000000000000000000000000025240c951c1ee7af7909d780bfc0d4", - "0x0000000000000000000000000000006712655b307705615004990946a2d565a3", - "0x00000000000000000000000000000000002d5a7254c410a7a126c7a415f48646", - "0x0000000000000000000000000000004b077e69cf6510eb729ebf732739415fcd", - "0x000000000000000000000000000000000004f8dbf259b121acd4c098d3381750", - "0x0000000000000000000000000000001224603745ced0858d34442bd230dafe18", - "0x000000000000000000000000000000000002d8b4b203adcb132043e4f3daf3d7", - "0x000000000000000000000000000000548b865f7edbb589424e9db5e5e4bec6e9", - "0x00000000000000000000000000000000001f904391b90201b7387ee79fb8d6a2", - "0x0000000000000000000000000000008ba16515e48a34cb7e654cac583b40fc8d", - "0x00000000000000000000000000000000002e1dd8e58a008df40ea8d5d873f9b1", - "0x000000000000000000000000000000f5184161bdc0dcf8dc9c5aaf1396a494a2", - "0x00000000000000000000000000000000002780934b31114f1e5e412353f0ee68", - "0x000000000000000000000000000000d8006a131d046dcb4ce3fbbce4c5bde684", - "0x00000000000000000000000000000000001889419d4d1c9dab75389697e2f27f", - "0x0000000000000000000000000000003b08b224fcd25d44fb129b83a288bfc306", - "0x000000000000000000000000000000000025ed8af713cb4dd72a0cad922faf62", - "0x0000000000000000000000000000009b4de7a2ee29c7cf61ad47fe72898b9422", - "0x000000000000000000000000000000000010e011cfe8d3e505b351b7d0d48515", - "0x000000000000000000000000000000aa72963bb7f3f71c985a781dc8c06ca3d6", - "0x00000000000000000000000000000000000a7a3627bcb84a292852f571a46a3d", - "0x000000000000000000000000000000245950191dcc15598a472ddf3cd8ac7325", - "0x0000000000000000000000000000000000165bfb0c71a2990f780f80c131159e", + "0x000000000000000000000000000000d98c1c20222dad56bc506e59df0c0c4d6f", + "0x00000000000000000000000000000000002b1726c0d4db03e6f93a70d3edd8c8", + "0x000000000000000000000000000000658e956100b47964c3596085a164306389", + "0x000000000000000000000000000000000018baae4df77654c77ff3c1fcc71e77", + "0x00000000000000000000000000000013706eff4cf666ed408aac37d8b77ccfea", + "0x0000000000000000000000000000000000116575b7cd20a3a627007c0414d03b", + "0x000000000000000000000000000000cbf5fd9419777f1f828d45481d6c316eae", + "0x0000000000000000000000000000000000279bd5f67d95b512f34f9d74fca5a7", + "0x00000000000000000000000000000050670718b8fdbf2b5a1c81cc850376b0da", + "0x00000000000000000000000000000000002cbebb8cdafc65e1a15f7cf8bf6889", + "0x0000000000000000000000000000003d91b549f38ba26a2b9c2c9bbb7e1d3699", + "0x00000000000000000000000000000000000c818a160bce850819c5ac3bd9e61b", + "0x000000000000000000000000000000427a3384d4b243ae54b5af54180984f29b", + "0x00000000000000000000000000000000002af317b67f42ee4b6e5ffcc9838f90", + "0x000000000000000000000000000000492a293298440816c4647145e8138af498", + "0x00000000000000000000000000000000002272766bbc9cfdadeafbecf067a7f5", + "0x00000000000000000000000000000053dd7f8fcd960a8b4abbcee3911de2a131", + "0x00000000000000000000000000000000001bfcf42ce8db2ec1dbdb5fd81f0d38", + "0x000000000000000000000000000000642a874f4c3cd1446c2d1407d875e950ad", + "0x000000000000000000000000000000000002b0c89ea0143551ce22d3238ed54f", + "0x00000000000000000000000000000000cbc8db7fefcbc2da2189b07aa2d44e68", + "0x00000000000000000000000000000000001e60049f179ad60270856319731e06", + "0x000000000000000000000000000000783749a95b5893beb11b9cb74da918e3a1", + "0x000000000000000000000000000000000017d769b33971a41e3ffd2bf9601765", + "0x000000000000000000000000000000155400d58337bed218de4bb7ab4a5cefd6", + "0x0000000000000000000000000000000000244ff53be7ab7a67ed7ca2a78f2ed6", + "0x000000000000000000000000000000393416808d306edee0fb61702cda7369c4", + "0x000000000000000000000000000000000012fd1550a13ae116f6a2971cc0c715", + "0x0000000000000000000000000000007e92992a5ac65a22012e6316a88fb8eb54", + "0x000000000000000000000000000000000020b35560c446bfd5a0a72084301081", + "0x000000000000000000000000000000e65f6d1323c47290fb361c715a1ae3f2c8", + "0x000000000000000000000000000000000026da1fece995253f8114664bb5b42b", + "0x0000000000000000000000000000005fbc8045e14c0641f5af4be21c9eb66ea0", + "0x00000000000000000000000000000000001d199f611eb15d945aea29f61b47db", + "0x0000000000000000000000000000001f273335e9b43a304d4a943290add81152", + "0x00000000000000000000000000000000002908834e699504c163c586dcc01ff7", + "0x0000000000000000000000000000007506281b53506e094a5cfbf528dbec337b", + "0x000000000000000000000000000000000021b2f99c40e91a687ee1deba08c64e", + "0x00000000000000000000000000000099a3772c8bf6e3bebe50c622283033d1fe", + "0x00000000000000000000000000000000002681d305ee7d8ec8e161528d0e62e0", + "0x000000000000000000000000000000d2325a8b5cb09c3a03fbf2eefb73baa3d1", + "0x00000000000000000000000000000000001ba10dc8b6a827c07c09d1caffc7c3", + "0x0000000000000000000000000000009b435ab414b7721f20c4fd6c7b362df553", + "0x0000000000000000000000000000000000159b8ab6340b6a698869a815de197c", + "0x0000000000000000000000000000007955a9e2fd0912396216706e9c85d7daa9", + "0x00000000000000000000000000000000000994208c6ecd9ce5ad2bfc86d5c0be", + "0x000000000000000000000000000000dbf9827369c8150289dee63104cd45ce53", + "0x00000000000000000000000000000000002fd5200bafaec6cc0430b9f63da9eb", + "0x000000000000000000000000000000f06286a204faebc7567541536d3a32b858", + "0x000000000000000000000000000000000005a618a87099968ba3b61e8b6bd93d", + "0x000000000000000000000000000000c559d885865bed8268b13448ebb9141131", + "0x000000000000000000000000000000000008e67d0bb47e1109b58d6abef65c09", + "0x000000000000000000000000000000f53a2e435d4ebc9327f15a824cba20e34c", + "0x0000000000000000000000000000000000098a5eaec59712ea28046887871b3b", + "0x000000000000000000000000000000a8909180c5d348d68e457819a5a7a72272", + "0x000000000000000000000000000000000024cb77e2ba38336de4454548040b33", + "0x000000000000000000000000000000e627258bc1339bbc77bbfdecf3215d2474", + "0x00000000000000000000000000000000001901999c1a3bf4b8808ced9ffe8be9", + "0x00000000000000000000000000000043162eb50692f558c8363b33d47be195f4", + "0x000000000000000000000000000000000015d100aa12096939483b39e2484a67", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -1505,12 +1505,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000776c10e820bc2b5b6eddb50ea81be93c9a", - "0x00000000000000000000000000000000001ec13b6ff08118a64295e9060deb6d", - "0x0000000000000000000000000000009e6161d79d469e866db04e4116d36a7c14", - "0x0000000000000000000000000000000000247d4633ba1b1ab90c9e569789e61b" + "0x00000000000000000000000000000080572ee571d79fccc162f5dcb4e0edb485", + "0x0000000000000000000000000000000000262b3a3dbc33b6a799e340d6700688", + "0x000000000000000000000000000000cf302682bd8ae6025d60b20f92b10dd7a0", + "0x00000000000000000000000000000000002e912261321b34135e55589cedc43a" ] - hash = "0x0f525cc42266f817e0c7419eba7fdbc52b74afe2a2cea460d976bba4981779e3" + hash = "0x228e39d81bf3916b894f2c2db88adcdffa29259103dfe2e715fc7dbe7be6376c" [inputs.hints] previous_archive_sibling_path = [ @@ -1554,7 +1554,7 @@ new_out_hash_sibling_path = [ ] blobs_fields = [ "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x0cc40616a2ef634685d2b145299e1907f24837b21c6fec0967cceef0831e9cff", + "0x2244af3171e38d5652f0a74e5b3919cdaaba86d9abbfeeb40cfe74baf9af2dc5", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7d1b000", "0x00000000000000000000000000000000000000000000000000000000b7d1b001", @@ -3044,7 +3044,7 @@ blobs_fields = [ "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x21910c347416f1d3b3b39cfc3e92044dd9c52b48614a8adeceda74c4a3e3daf4", + "0x25e1667b2cef06f27392746cd4f1bb350f5e0bdd1c02551ca42f376e9d1495c2", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7e5c000", "0x00000000000000000000000000000000000000000000000000000000b7e5c001", @@ -4528,12 +4528,12 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000020001", "0x00000000000000000040000000000200000000010000000000fe000000000000", - "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98", + "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51", "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x126aa78711cc588ebef6ff2054cc368b1a1ab7cf14ecaf2ab3acf68df6cf25cd", + "0x0eb9687899f8822802e8821d00a76a38bcb964577fe15355187a7c92ffb83604", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7f9d000", "0x00000000000000000000000000000000000000000000000000000000b7f9d001", @@ -6017,7 +6017,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000030001", "0x000000000000000000400000000003000000000140000000013d000000000000", - "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf", + "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766", "0x0f910fe92fa0690e32693038d26864110490cc71307fd28bcd4b5f86cf0054d1", "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847", "0x19dde349ddf1b27d03e840caf5acf851e9dc57f3051381aa97ade96d736b8b6d", @@ -26130,7 +26130,7 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x007a0840f83b285de5839e13df85fb016e1a8fb433bcdc5346821fa253fffc45" +blobs_hash = "0x00a590be7cad7b7e51db8bee35687dcbd8f4653e714c482d28dea74675662c57" [inputs.hints.previous_block_header] sponge_blob_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -26217,13 +26217,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.hints.final_blob_challenges] - z = "0x256a6ad6ef74317d1fefb66e451c0b48657f112c429a529622ebfe1f797ee3fe" + z = "0x2faab5c5926ee78a60b477ec6451621c7cad3890792683ac511f6e2bddf3193a" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0xde154b8c054bb27d43ae464c151138", - "0x1cd1d7aff3225fbf9445986b3fab3d", - "0x1a42" + "0xd38b2d37e5b5d223d7a0911d28f2ca", + "0x6768224464488848f00b1e5343051b", + "0x2edd" ] [[inputs.hints.blob_commitments]] @@ -26231,18 +26231,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0x3a83327ec2bb0ad79906fa5138f3c5", - "0x6489c5c5e573461ba6f1c65bcfe041", - "0x8747e7d112a089ec50056346202009", - "0x04d977" + "0xdb1c02137e07eb8c5877e014dabafb", + "0x6f5bce00ca9c605733b256442dcd65", + "0x26330e2c8317dc92c9c9dbdd98cc44", + "0x065817" ] [inputs.hints.blob_commitments.y] limbs = [ - "0x6d8d8073842067a6d43395aecdd501", - "0xbdebc9ff92c65d3ff2b26bc1217139", - "0x6dacb998d342efd22eb801954167f2", - "0x0a7134" + "0xfcee0f49f50aca62cd9c3155ff730a", + "0x9b4eda40f1860df5aab75d6d60562c", + "0x4882b95b66a2bae93de0fb85b73e2c", + "0x04af88" ] [[inputs.hints.blob_commitments]] @@ -26250,18 +26250,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0x820abc7ec5a93ae46ec60b3eae602d", - "0x5d7e8b2510ef7f42308e20aa7dfe8c", - "0x84a576353eb0a84610a12c5970e6a1", - "0x0f50a1" + "0x9ecc59cc230dfcbd4d4e907d3bdc09", + "0x1e376f423644bcc8b131e14f2fafe5", + "0xe4c302623a0abb4272385c5c2d0b7b", + "0x11353c" ] [inputs.hints.blob_commitments.y] limbs = [ - "0x385d2ce588917b66483579d7fbcd31", - "0x846e07e12971810c8f1ede55d78032", - "0x8c9c0e080c131760cc7c481cd4ca65", - "0x0ae614" + "0xadb07887693cbcd1bab526cb0e5098", + "0x4c0e89baae20b17b079d73ea0c2786", + "0xa9e969f368a80ac98cbc6058da689b", + "0x0b89a2" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml index c6930fbde094..9613884b3545 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml @@ -523,8 +523,8 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x0040f1b22615558ae81d4b0584ffa3a0a84e34df392de9d6893c1200f3417244", - "0x00d354e6113db554821326623f6764e8bce1bd876771e684c3edcc535f59d31e", + "0x00cd518fbceb51a8d33645c3ea3d7d2e0146d599ec605f0c76766e4cf736b7d3", + "0x006966c867c005f23c5d3aefbe9a0cb1e73bf0f1cb7e999fec7a0d929b348a9d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -559,17 +559,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" + root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" + root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -581,16 +581,16 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" + value = "0x000000000000000000000000000000000000000000000000000001b0ca114000" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000002fb176f0c06a0" + value = "0x0000000000000000000000000000000000000000000000000002fad6e290b120" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -811,15 +811,15 @@ proof = [ ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x005c63d9aa9270a4b3cacb1cbb8b7cdbdb5b138d385a0865873c0abc267063f1" - z_acc = "0x069067b815f970c0150b7d1430d4a3bcbd175175e2bb3549fef230de160fa5ac" - gamma_acc = "0x05f3e9fcb19599b9d2303954010c43e78565c63ddc49b3539cdbd3dd603bf386" + blob_commitments_hash_acc = "0x00d153a805cddca8fbb433f02798c65a20ae3d46461741c97249ccfe05c6c28c" + z_acc = "0x1b1123b2c54e9b3cbf639f3280dd944d30236850ebcc9bf71d329abaccf735ec" + gamma_acc = "0x2f1ade5ea24f0de235673ccc37dc8b539d13019f343054c583490a4326c916c5" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x702a0bca2befc9241234171a536036", - "0x06702b3a16e879f8a1b072a1e831ee", - "0x3e37" + "0x2368a0222bf5f3b58d317f109e4f01", + "0x6f9138731701806d38bcf4157f0372", + "0x4eaf" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -827,45 +827,45 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0xb446deda21d8ab5ff37f08ff106b88", - "0x71a669a5369c04e8fd32ee634cf642", - "0x2ddf85a729c44304184dbf0c14f245", - "0x08dbc6" + "0x63ae7db5a1d972f3e00dd822ddd7aa", + "0x8cbb087b3c5a3759c6b10bde568fc8", + "0x0c4a7b72216f8095bccaff72f011b5", + "0x1024bc" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xaef3b6c7e4a37dcde6f253a1e9d975", - "0x0055814914625ac8acb0b8d4bb4f11", - "0xc9412391732a60b713200e79b20f3f", - "0x13ba12" + "0xd73f7ae6866b038ac6c1d90d8f43ff", + "0xe9bf0deec826064d91f8e8a3caa4f9", + "0x74ca4cccc72ae831d69949396f91f4", + "0x164bf8" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xd6af1f294fd4344503d9bd06709e20", - "0x87ad74f4b587339e0552d998ccf27b", - "0x30b5" + "0x5ba6edddcbcfb55de31821f8c5b7f5", + "0x877c2a4d12f40237143bf797ef92d4", + "0x3ed7" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" + z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000013" sibling_path = [ "0x2de375bdb8d749f73ccdda86c68b51af4052afa74effa13cfb0cf02912af3eff", - "0x1dd4abdd9646df352a2eaf03d74716aa51ebca5ea1eff879ea3b7b5905d0f22b", - "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", + "0x0ab1cda34d31d07f8e6fcbe7f206975f32307237e99352786ec59d75bf0119da", + "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -875,94 +875,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003c881ca332dbc4a672cf89953ae3401e52", - "0x000000000000000000000000000000000025583f0dd555a53bec845619975334", - "0x0000000000000000000000000000008226cb0824272c1624f8bc2f66e54e7455", - "0x000000000000000000000000000000000019f7f96b5b3ca9650383daee81b861", - "0x000000000000000000000000000000fd3416f4f74ba71def390309d3c69a46b9", - "0x000000000000000000000000000000000022ac8a5af488ea8d8ffc91113e588b", - "0x0000000000000000000000000000006737fcf184b4179c4130d31876fff8de0e", - "0x000000000000000000000000000000000015d3ac779ceb436e5717838cb2bbd0", - "0x000000000000000000000000000000083a7c2e41491a0eb7cd4a5f2d6eaf99d2", - "0x0000000000000000000000000000000000255865f1f1793b37ccf887abb73629", - "0x0000000000000000000000000000007d9940e988b33fb9f0c937537428372ad0", - "0x000000000000000000000000000000000013edd6d9c27874f90c0d1895d9d9f1", - "0x000000000000000000000000000000f6408f99a1f349060d7cb67fb4c82392ad", - "0x000000000000000000000000000000000014c947c2641b98f9704e9fe837ea84", - "0x000000000000000000000000000000373a8fb47c4718b21ac278f72c6ecc2ed4", - "0x00000000000000000000000000000000001a5b275503642849d1ad592dc93261", - "0x000000000000000000000000000000e1da8ffa76c4fb8304d9097c93e5bac539", - "0x00000000000000000000000000000000000049aeb565c6f75fdb24a2fd6b92a0", - "0x000000000000000000000000000000f1007cdf2b58fe2a76bcc3e150815b894b", - "0x00000000000000000000000000000000002cfc086117a572695d1a8aac7dd3be", - "0x000000000000000000000000000000a316436955ff5ae6ae638cfa8758849ac3", - "0x000000000000000000000000000000000001d0e3cf62a7d27eb00209c7b1a932", - "0x000000000000000000000000000000fe46c99f5e3102be11dd394b1c24d906bc", - "0x00000000000000000000000000000000001d8313539f715e1abbfd21b9551b5f", + "0x0000000000000000000000000000006de12cc29e1800b9fa06a09ce7e8c47920", + "0x0000000000000000000000000000000000105aac23aef97fabf2d5ec2cfb231a", + "0x0000000000000000000000000000004b3382580eaa764184a75373945bc69b45", + "0x00000000000000000000000000000000001cb53c185fca812612e6483123fb3b", + "0x000000000000000000000000000000ba49a7294b18f34111f4ea475b590e6385", + "0x000000000000000000000000000000000003a13285f970f8fbe1d6551add04c0", + "0x000000000000000000000000000000a3bfcf031da7276020b9c6be3539883a8f", + "0x00000000000000000000000000000000001e2cee1a7dc5593a05d53bfd723540", + "0x00000000000000000000000000000085f7e6fbf131c6f4d97f27a0ab5c11285d", + "0x00000000000000000000000000000000000dd37b9ec71c982a20eaacf27bf11a", + "0x0000000000000000000000000000000ceca0ebe731a9190e8d4940ff92ed33a0", + "0x00000000000000000000000000000000001b231737bd622c015b02b6deacf96f", + "0x00000000000000000000000000000096b4101c39dddc86f65230de0467aafc2c", + "0x000000000000000000000000000000000029f79519c06b1200bcc0b6aee493d2", + "0x000000000000000000000000000000538887c442dbc4c7df8a07998b69c24ae7", + "0x00000000000000000000000000000000002f8b9723dfc611434ded030c2d81b7", + "0x000000000000000000000000000000878725cd2bcf59e6660be296e03efdf3b0", + "0x0000000000000000000000000000000000122da614ecbf6dca3cdca807ae6a62", + "0x000000000000000000000000000000150e2e3fa2771375c0ff2b1b5103b52d61", + "0x0000000000000000000000000000000000017a41ac8d5c2a1e35dd1496b3bc70", + "0x00000000000000000000000000000020c1ba88e03315231d3ef1c59db9b7c78f", + "0x000000000000000000000000000000000009514b0becba462e1b73d73e571e2c", + "0x000000000000000000000000000000bfac3968b3550e645256402c70a9afdf13", + "0x0000000000000000000000000000000000157bc8a07668583ddc081dc2f9569a", "0x000000000000000000000000000000554c51afe430bf7cd9882249a7013f906b", "0x000000000000000000000000000000000005d9de93f6af5074a2a6ca20892a6c", "0x000000000000000000000000000000402a4686b749034cb15f79b98cdd2250d1", "0x00000000000000000000000000000000002e54b9c82afac2f99da1f2b855af17", - "0x000000000000000000000000000000e82a0ca88563b9bbf43521d811deb1418a", - "0x00000000000000000000000000000000001a05c23adb80582405d9ab7ac0ea2f", - "0x000000000000000000000000000000f3d0fc1016794245e6be02684b2448609b", - "0x0000000000000000000000000000000000159dec9a693d8c0b62b057f358f4ac", - "0x00000000000000000000000000000054d832d3d3e6ea7361870349bb40b95789", - "0x000000000000000000000000000000000021d32cb2afa74bc45eb31367ddb131", - "0x00000000000000000000000000000082d8ad6e07ea0d407b13f524718c45feb1", - "0x000000000000000000000000000000000023f59ffe4ad8a63357a2cf95b35e6e", - "0x000000000000000000000000000000c91edde33d2a87f171e665c4c58b28ac2a", - "0x000000000000000000000000000000000020b19c1ead717c3d3670910fa3ee6e", - "0x0000000000000000000000000000009ce886b8b7522d8b7ae7ca0a8deac7c002", - "0x000000000000000000000000000000000028dcd60f29c4ca69d0c0285f5c1fb4", - "0x00000000000000000000000000000008651005a4a530caf07b2ab59c782acf7c", - "0x000000000000000000000000000000000005b2639bbc74fe2bf0c694bdd479b7", - "0x0000000000000000000000000000008d7c39c0646eaf9578135ce3b67cbf5395", - "0x00000000000000000000000000000000000550e825ee3abc28985323e3b78946", - "0x00000000000000000000000000000073e94938a3a696695c6c21784a0fa9d718", - "0x00000000000000000000000000000000000d29a69b7dc240e19627be33583aa4", - "0x000000000000000000000000000000d991b06dc4562a607ce950435ac9720fc2", - "0x00000000000000000000000000000000002d987d79dc01a9433d6fdeb83ee16b", - "0x00000000000000000000000000000039c90d457288f86cabf4557d7195cad015", - "0x00000000000000000000000000000000000a57aa15357faddbac0131b8189ba1", - "0x0000000000000000000000000000005a089bda78b1cc092a740d9e50c411c639", - "0x00000000000000000000000000000000002d18a43bbef5bddb3f4531cd7d2266", - "0x000000000000000000000000000000c1da3a5c6b3a5360e1e3c59af693ebea9a", - "0x000000000000000000000000000000000001585abb99b22d60e46d99aff37929", - "0x00000000000000000000000000000097e4dc3050120ce60a589fd270e0a533d5", - "0x0000000000000000000000000000000000235bef33954983affaa394d51a6775", - "0x00000000000000000000000000000017822ff7e0173f94a8df9b02166143ce97", - "0x000000000000000000000000000000000007d86c3a05524517842a86b77a9011", - "0x0000000000000000000000000000005ed30bacc6cd068efdcc94ca9052d7b610", - "0x000000000000000000000000000000000027301f444039874fb119407a0ad390", - "0x000000000000000000000000000000bc69715b4fe6dd62f904ce8095ddfbf750", - "0x000000000000000000000000000000000020b2b9e90f604a9822b37ef3cc8750", - "0x0000000000000000000000000000006b664ad408036aeecc035bc8ddef009b15", - "0x00000000000000000000000000000000002968714205434b88ee5e6c972631bc", - "0x0000000000000000000000000000008d5565ab084b96f883cf4049567d9b2ddb", - "0x00000000000000000000000000000000002d8f44e01fee5c175186c9bf7bba8c", - "0x000000000000000000000000000000f6fb5c93fcce7c38c9195cefd350d08cfe", - "0x000000000000000000000000000000000000bc4b252aef41e32dc253d6dd6465", - "0x00000000000000000000000000000032a746e48eaffaf0cd940a13feade8af32", - "0x000000000000000000000000000000000003d741f87f6350a918c47d6dbc2565", - "0x0000000000000000000000000000007f2fa16d57fc097230c5f3e92b75bf962f", - "0x0000000000000000000000000000000000034921785b489fa6e960dfc23ee7bd", - "0x000000000000000000000000000000050620037039b0e1b3149c56e637fd698d", - "0x0000000000000000000000000000000000152247aaabb1a94487f42e1171fa8c", - "0x00000000000000000000000000000063747a31498feabd8d7e0f464f9c181b5a", - "0x00000000000000000000000000000000000179303548f1cf36a4f98b5280d9d9", - "0x000000000000000000000000000000ed18a483a8480aec593ff3b0c60af2e8e3", - "0x00000000000000000000000000000000000e0e0bbea6d9645d67f4ae17f8a964", - "0x000000000000000000000000000000b2495cfa7af5b64afd7d7687a42af39d9d", - "0x00000000000000000000000000000000002950b8e726623297574e1e8b69f846", - "0x00000000000000000000000000000090fb402798eaad77b504dd1888d4f94c5b", - "0x0000000000000000000000000000000000000669d25fabf6d2dcc7ca33937344", - "0x0000000000000000000000000000007663ecbd6f7437aed276b578f4d4beb8ab", - "0x0000000000000000000000000000000000142e0433ec428809a5dfe35ea71707", - "0x000000000000000000000000000000a64a8509104531381f4c9d0021ee5b09a1", - "0x00000000000000000000000000000000000f386b52237e21ed450ba7e20c6475", - "0x00000000000000000000000000000045c9c74fb3ab1b8ebe7e06b1ede397a99d", - "0x0000000000000000000000000000000000133a514822c23025133ad506c3eae8", + "0x00000000000000000000000000000077710d3eb8a391a3b71bbde82584680f21", + "0x000000000000000000000000000000000013a12f30cb7131cceb0b8173befbda", + "0x0000000000000000000000000000008d6dc01932515a58d16fc589137e0d94ef", + "0x00000000000000000000000000000000002fba5543787fde6ba7d254bb9fffc9", + "0x0000000000000000000000000000000c9a06130d63f72213cd7bf005952de26d", + "0x00000000000000000000000000000000002aa3b2e44bf47f42ebd0c099983866", + "0x00000000000000000000000000000052120d81699f29e892ebb40d18dabd213d", + "0x00000000000000000000000000000000002a0e134b051ad0703b6e301cccf006", + "0x00000000000000000000000000000046eff6ea0733b07e8d4399b9ef9d555e02", + "0x000000000000000000000000000000000029846e4faad5f74eb6f022c6705ae4", + "0x000000000000000000000000000000a0e90afac95b57b4de2a1ad3037f672f4d", + "0x0000000000000000000000000000000000137606797d1486fa8bb6ae455dd480", + "0x000000000000000000000000000000b629d3f2e77ac634289c56f01cf1d7ab2a", + "0x00000000000000000000000000000000000284e947fcb3839da9f7b7111abc29", + "0x000000000000000000000000000000cff7e56ca2fefe888ea070456edf15a110", + "0x0000000000000000000000000000000000031744c47f2cfd749fa799a26e4f6b", + "0x0000000000000000000000000000009c8884e2340d47226d1ec08915281726ef", + "0x000000000000000000000000000000000025cb95f0abbd5368be846894a61fd9", + "0x00000000000000000000000000000085e1ef952741ba2ade0ad2fa7d951363be", + "0x00000000000000000000000000000000000dd446ee093f9d8e3a772acd964662", + "0x000000000000000000000000000000dcc0a3adcaba42e2e4c380829833f949c6", + "0x000000000000000000000000000000000001479cc106e50cdb9383e69d5d38e6", + "0x0000000000000000000000000000006cc8b81394491ea4724aedf56f94644cb6", + "0x0000000000000000000000000000000000259756550e7a0b9d1b44b5b53ccfbe", + "0x00000000000000000000000000000089d910006e48be1cc4c843f6f523be6d4c", + "0x00000000000000000000000000000000002accf06a37121e8d6750ed1a1d8028", + "0x0000000000000000000000000000001a5715895d5ae69848fecdf876dedf41d5", + "0x0000000000000000000000000000000000119f1a37ba3e78eccd7014833ac1c7", + "0x000000000000000000000000000000d886db3fac16f695f86e8b7689a3d35955", + "0x00000000000000000000000000000000000ff0c9f7c92557519f19b19ad2b685", + "0x000000000000000000000000000000bad21fb62ca7381110a7ef70b0620d5612", + "0x00000000000000000000000000000000000222d08d00b853c9b6c2d9c8898e1e", + "0x000000000000000000000000000000dd3481ee6ac48d79475d75759ca0ceff0e", + "0x0000000000000000000000000000000000121f0da2ca2bbf068b7350913ae751", + "0x00000000000000000000000000000081b51c44c2f07f96cca6658c8dd7385937", + "0x000000000000000000000000000000000024ea0206aa44bb929dfc9cfca5b507", + "0x0000000000000000000000000000004a72dc7cf1baf262d6592ec04b98716a8d", + "0x000000000000000000000000000000000006ce44a309fb5e1ba4b398b33d17bc", + "0x000000000000000000000000000000e62e29cebe2fcc5deba41f00f635e7d151", + "0x00000000000000000000000000000000001496d4ae5fa63dcb568ce705c6e7fe", + "0x000000000000000000000000000000f042f2757fec7293b870a8c0d962e16e1e", + "0x00000000000000000000000000000000001e78a4fbf762ad067e7ddf09ea5982", + "0x00000000000000000000000000000049e9436833ced983c79c912485029a4f1c", + "0x00000000000000000000000000000000000ddfd023ea8535f1bb48475a67640e", + "0x000000000000000000000000000000e7b73e5b148a997c8bc3ce3aaf3c67ad95", + "0x0000000000000000000000000000000000116a06b285e3dd82df766685b80d45", + "0x0000000000000000000000000000007a5deedb81b7246731df4ecf1122838f04", + "0x000000000000000000000000000000000022037810654daa92110fa4213ef179", + "0x00000000000000000000000000000049103eef73fd984756743c89c3027b1a6b", + "0x00000000000000000000000000000000001924d3f721c5e6cbd1859c156579fa", + "0x00000000000000000000000000000060c832bbe9a4e17af70a4fb005e4fad5b4", + "0x000000000000000000000000000000000010fc08b71b820ac57af6af6f1e7891", + "0x0000000000000000000000000000003d24152582bd23a9466173479734ef40cf", + "0x0000000000000000000000000000000000299c0c7371d65e4d27b5e6e0beeb1e", + "0x000000000000000000000000000000cab829fdba266ff1498e775a112018a648", + "0x000000000000000000000000000000000026a7c10d542021e7125b6a3c672343", + "0x0000000000000000000000000000008d857a2e1d002d94f1ebeb64634a13e89e", + "0x00000000000000000000000000000000000e3dec8abb40be2b3daeaa9d4f9abf", + "0x000000000000000000000000000000740dc95c75d801b23952e671b22f10abac", + "0x00000000000000000000000000000000000883952c7ae28bd520dc4769ce008f", "0x0000000000000000000000000000007c6fc5ae0c56f06e0a35747f24625e5763", "0x00000000000000000000000000000000002194d92617bbb3ba3d9e53f4f13c5c", "0x00000000000000000000000000000002eb63f6e2fc21862f6fefead2978de7e0", @@ -983,12 +983,12 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c4c8535b54b477c9479b76fc26e22ce956", - "0x00000000000000000000000000000000000a698017abffced730ace9d29c2c7e", - "0x00000000000000000000000000000070bb01b36081a373bb21c0d13e507d1ace", - "0x00000000000000000000000000000000000dab9c58017d04be8ebcb43e4518aa" + "0x00000000000000000000000000000059bcfb998e5060f3e73df16fc27db7c611", + "0x00000000000000000000000000000000002758b94b3f7c86d7edab0750d48e89", + "0x000000000000000000000000000000e6eb5e28bca377dd97df9859685c9c4239", + "0x000000000000000000000000000000000023a634a374fb47d642bebe04dcf564" ] - hash = "0x12c715678310142de0c147422494b3f27c6760aa4f29ebc2545534710dad948c" + hash = "0x0279719c742bc67cba5493e0dcda0b2754b03e48b7e8622434b56685c1c10d8a" [[inputs.previous_rollups]] proof = [ @@ -1515,7 +1515,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00233aeabf5fd2711cf82aad11ec047efc37a0dbf0f975b83675b51d548043e4", + "0x00de76b6bff58d82547d670a64d2f159ed5fa7e740b1ffcf2c578be1766e10dc", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1551,17 +1551,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" + root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x03d0cfd1a623b8ff55961314f5958ff785eae34069f54893ab87fe4095c6fbf1" + root = "0x29bff21d72dca50b4a017ebbb61cb14c0245bb00368ff1cbd54ced2243cf84d7" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -1573,10 +1573,10 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000000cd9ed3dcf4c0" + value = "0x0000000000000000000000000000000000000000000000000000cd8ba6bdba00" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1765,15 +1765,15 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x005c63d9aa9270a4b3cacb1cbb8b7cdbdb5b138d385a0865873c0abc267063f1" - z_acc = "0x069067b815f970c0150b7d1430d4a3bcbd175175e2bb3549fef230de160fa5ac" - gamma_acc = "0x05f3e9fcb19599b9d2303954010c43e78565c63ddc49b3539cdbd3dd603bf386" + blob_commitments_hash_acc = "0x00d153a805cddca8fbb433f02798c65a20ae3d46461741c97249ccfe05c6c28c" + z_acc = "0x1b1123b2c54e9b3cbf639f3280dd944d30236850ebcc9bf71d329abaccf735ec" + gamma_acc = "0x2f1ade5ea24f0de235673ccc37dc8b539d13019f343054c583490a4326c916c5" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x702a0bca2befc9241234171a536036", - "0x06702b3a16e879f8a1b072a1e831ee", - "0x3e37" + "0x2368a0222bf5f3b58d317f109e4f01", + "0x6f9138731701806d38bcf4157f0372", + "0x4eaf" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] @@ -1781,37 +1781,37 @@ proof = [ [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0xb446deda21d8ab5ff37f08ff106b88", - "0x71a669a5369c04e8fd32ee634cf642", - "0x2ddf85a729c44304184dbf0c14f245", - "0x08dbc6" + "0x63ae7db5a1d972f3e00dd822ddd7aa", + "0x8cbb087b3c5a3759c6b10bde568fc8", + "0x0c4a7b72216f8095bccaff72f011b5", + "0x1024bc" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0xaef3b6c7e4a37dcde6f253a1e9d975", - "0x0055814914625ac8acb0b8d4bb4f11", - "0xc9412391732a60b713200e79b20f3f", - "0x13ba12" + "0xd73f7ae6866b038ac6c1d90d8f43ff", + "0xe9bf0deec826064d91f8e8a3caa4f9", + "0x74ca4cccc72ae831d69949396f91f4", + "0x164bf8" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0xd6af1f294fd4344503d9bd06709e20", - "0x87ad74f4b587339e0552d998ccf27b", - "0x30b5" + "0x5ba6edddcbcfb55de31821f8c5b7f5", + "0x877c2a4d12f40237143bf797ef92d4", + "0x3ed7" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x0012d1a3c86d5974bd0c357ed4e711ac8156302ab79e7e3267f437fe893a0547" - z_acc = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" - gamma_acc = "0x2603efaa2331bc69fdba6477b15cbc3a228a79f248eb99e6f35458a150113264" + blob_commitments_hash_acc = "0x00b4f266fb9c69625603bb20f66370bea3d12654840f8a71b3b57a7961598908" + z_acc = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" + gamma_acc = "0x0a91cc06349e98d5e92024d4ab2774c12167cd03e9540ed8580234d2c2988c36" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x34b7134cc88b3d5c895b1bf9f585cf", - "0xfc9ef9d342201d849fb783c71b09e4", - "0x524c" + "0xfcffce5fb5b8362cd4e9c1d964ede7", + "0x86e7cec6b07db2382940b576c248c8", + "0x36b0" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -1819,45 +1819,45 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x8d45af1a0fcce4a7efd0e42ace3114", - "0x28ba654db78010fda4d37a7cea67cf", - "0xbca3f8eec74c61ca638f42b3727e39", - "0x122ec5" + "0x6be0054fe847e1cf299674278d60a4", + "0xe29711ff470f4a64a81e7cced5cb2c", + "0x1325d753621449970a6fe045205c7c", + "0x0c1bd9" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xfef852f1ad8cb2905249c0ac65e8ef", - "0xc34334da4d15c748379df3252cfbdc", - "0x79f8814493aa444fc8aba50c37a598", - "0x198c08" + "0xc39fb95320dc6fc9e0be0a28d66139", + "0x11e54501c4bbbee7069dc96e39eafa", + "0xdd976da785dfe72a2dd69c877ffff7", + "0x124409" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xee6d051902d3b65309fcc1e8fabc6f", - "0xdb394106b7e814ae80450f98e340f1", - "0x42f1" + "0xc8b280c927e329cf05551c70ee1ad4", + "0x566647f7c6145a89982109b314c821", + "0x0ad7" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" + z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0xce8cf42778c63fe4afd3daaa27f385", - "0xcd0d641fde77c738353be4ab303309", - "0x0b70" + "0x1f2420781655ea33516107d908bb58", + "0xe25ba2816cdeaa8c8e5605e29de519", + "0x1d5a" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" sibling_path = [ - "0x2700b81d4a245e8a31e04d713df866800b2968347c1fc0e39646558ab413c6c0", - "0x2dc40a2eaacdda4dd5300328637750eebdcfb29b66d4ac646345f2e6903e02e4", - "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", + "0x10f9143b2a141f3826fd2f24783a4ee36c04efd9216f2c4931a78f15e9c365ab", + "0x152474d9b911866e539377e5d6185f9c35be76bde6972cba8f9c3152640c4085", + "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", + "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1867,94 +1867,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000db17fd29852c2999b7e61d3f55b86008fe", - "0x000000000000000000000000000000000012fc31fdcc7839edb28ef47a0aec57", - "0x000000000000000000000000000000a5a41cfe47ae5bc7e9e6e5dd0c97ba26db", - "0x00000000000000000000000000000000001891c9cff4f67755f4afd3430ba54e", - "0x000000000000000000000000000000cca1bffca7adde04dc5e3ff1bc2b87cd82", - "0x000000000000000000000000000000000018431d64d88a7c57ba3eb2660de56b", - "0x0000000000000000000000000000008b03b411aae549f22a12de4146ada37043", - "0x0000000000000000000000000000000000211850a447779d8d3c0f50193afaa9", - "0x000000000000000000000000000000b18709d746129d44ae5f1feb67956c1e1f", - "0x0000000000000000000000000000000000214d619198a754a59946a753ec3ecb", - "0x0000000000000000000000000000000f60bd69972504c4d537e16d61ad0c611f", - "0x000000000000000000000000000000000028afab4953379e5b7a478f75823e8d", - "0x0000000000000000000000000000003395ca232a4cda50041b4ceb2780009843", - "0x00000000000000000000000000000000002ec5786220a61bc5b8b8e39dd26436", - "0x000000000000000000000000000000dd2bbf4477a817489389e74e78ece66a0d", - "0x00000000000000000000000000000000000b4e71b2810764d0dfc85d29992955", - "0x000000000000000000000000000000bf659e1baa35037beb78b5fb3829bc15cb", - "0x00000000000000000000000000000000001005a7bd9fa94335dfdcf9ce1028d2", - "0x0000000000000000000000000000004bd597e26976b2bb70f3209c12b6de59fa", - "0x0000000000000000000000000000000000282e1bcd374b8c5fabfa8756988257", - "0x00000000000000000000000000000052ded6f9a4f5f137750ec6c351c6d07271", - "0x00000000000000000000000000000000002623251b01fcf83822556c436ee8e7", - "0x0000000000000000000000000000002a6f8f73f30bc60ba51f98b2d6efb09806", - "0x00000000000000000000000000000000001593eebc92eac3bd41a92d178044ce", + "0x0000000000000000000000000000007b992e890ea47176a53d476b6f4435307d", + "0x000000000000000000000000000000000008d830e4f03a5a0df0a626b5419713", + "0x000000000000000000000000000000314fad5a3f710c54924b09fc1676326740", + "0x00000000000000000000000000000000002c7198392d6138ab02c4f1dfbd1a9e", + "0x000000000000000000000000000000e9266a78147c0c11bdffa73a464c8a9803", + "0x000000000000000000000000000000000016292979aae313a9da5ae2e6f90572", + "0x000000000000000000000000000000914fa80ea984a41fce86bc55869c84a0ad", + "0x00000000000000000000000000000000001fc3f84c7030d6755b2fa05d45cd23", + "0x000000000000000000000000000000c22386542659a29010ca4eaaaa9bac0e60", + "0x000000000000000000000000000000000023b2248de67c392d8da66600646c8f", + "0x000000000000000000000000000000f15ab33c55742506cc8895f81420346a23", + "0x00000000000000000000000000000000000358509e27610a580b320a2acb23dc", + "0x000000000000000000000000000000173916aa7c8b117a16930f920ef74b2a14", + "0x00000000000000000000000000000000002d5ee9b4516bda4ee5c8da97f4d07b", + "0x0000000000000000000000000000007853a97a84ff7ce10690d27ed93ab7455d", + "0x00000000000000000000000000000000000b9166de2072e5cfd2c55b951fe3a0", + "0x0000000000000000000000000000004247bafca2712b63df859a5e519c4c1236", + "0x00000000000000000000000000000000001641fa2509d3b52883c203f5048601", + "0x0000000000000000000000000000003579799dfedb2ec1a964dfdc21d58dd59f", + "0x000000000000000000000000000000000001a82a2063ad50d49675339805e5d7", + "0x000000000000000000000000000000190ddaf1745c4ddd0ad927688f37edc7ab", + "0x00000000000000000000000000000000001fdc449ab2978d150e6b15424422ff", + "0x000000000000000000000000000000eaaa04f718dd857ac1dea8c713814247fd", + "0x00000000000000000000000000000000001e9ded3d040667bccb2b8b30584d78", "0x0000000000000000000000000000004b9cd87af8615fd21a50f9d2d6f5bac356", "0x00000000000000000000000000000000002fea96f32103760ddbb66d2b64dc5c", "0x000000000000000000000000000000cf57cca060c094a74ad685146e8fdb5c3e", "0x00000000000000000000000000000000000a71f47258b8aa04fa23f39812abf3", - "0x000000000000000000000000000000a4ca7e26fda7baf10f35900ec3eb26ec7b", - "0x000000000000000000000000000000000006391ddff9db356252a1fa5761650a", - "0x0000000000000000000000000000004615f4c6441240ae0e522d0869415cc75e", - "0x00000000000000000000000000000000002d02aadd260ca926d67c58f00f5d7e", - "0x00000000000000000000000000000026c72e6e31d1076927715e2c366bf44cc1", - "0x00000000000000000000000000000000001e39341ce411f93bebbd37cb653e9a", - "0x000000000000000000000000000000671bb53612c8e38440c37cf9c545a75f52", - "0x00000000000000000000000000000000002621a4c1ac112b59430c735c9f1ebb", - "0x0000000000000000000000000000003b7db74bf5e830fcd3f3aaea07ee082307", - "0x00000000000000000000000000000000001729b198e7c92a065607689a3c7690", - "0x000000000000000000000000000000abbf4986c11d8e0dd0d8180c1f616a1539", - "0x00000000000000000000000000000000002fd2763b0ab7db248468342f4d5e72", - "0x000000000000000000000000000000fa098a0d118394931851b671c7be852b1e", - "0x00000000000000000000000000000000000df578d1cd8e6a78175bc4b8359801", - "0x0000000000000000000000000000008f01aa9740f87c9b3943670ed5a4d877fb", - "0x000000000000000000000000000000000004592dd9a7f09f400d962daea89247", - "0x0000000000000000000000000000002c7bc02a6b0f39b9826e8df9797ef2bc2d", - "0x00000000000000000000000000000000001488c8f5f5b6d21c45db2f53435145", - "0x0000000000000000000000000000007175173f233e0b71045c9953d4f495b4b0", - "0x00000000000000000000000000000000002628eec35cc0775e0adc122f149f57", - "0x0000000000000000000000000000003ffc1e55c7e34aa01d4f7122dc9c05bc58", - "0x00000000000000000000000000000000000d310f279e0f9c44f0344fc769fa9d", - "0x00000000000000000000000000000028a436bc4aca7f99eee8f89d586d5f2ee9", - "0x000000000000000000000000000000000026020c8340dc43b7e7c72d202ed7b5", - "0x000000000000000000000000000000dec08c29d9a2b04f564bbe58405ada8a9c", - "0x00000000000000000000000000000000001f90e9f5614cae7d7b7b040dc95ced", - "0x0000000000000000000000000000007ec31d45a93b9616b7c32ca57cee36520d", - "0x00000000000000000000000000000000001c83c4bcedd3e5c210d2701ea322ba", - "0x00000000000000000000000000000092d2641b2dbeeaf908fc1ce9161ef8d355", - "0x00000000000000000000000000000000002537e8eae2a76708a36af0fda52799", - "0x0000000000000000000000000000009bde59533b629dd91ac85a7bd3b9d26518", - "0x00000000000000000000000000000000001ce33ab09f50350b74ea29bd5d39b8", - "0x0000000000000000000000000000006a2e346288c3a7fefc6f3689d7d4670012", - "0x00000000000000000000000000000000001c10298eb313de79f1b4aba55e6e32", - "0x000000000000000000000000000000564452ed112e07e14b3a7ca19d4f708bf5", - "0x0000000000000000000000000000000000140ddcf50709ee22108db34a58a960", - "0x00000000000000000000000000000064fca494825d2e1709075a592eb17ae71d", - "0x00000000000000000000000000000000001fdf4cae4893fbc16b74fb6eea69c0", - "0x000000000000000000000000000000e9b5d56b6ce0d8e1efc8b437b75219867b", - "0x00000000000000000000000000000000002e30313600d8b59267f36f40cea479", - "0x0000000000000000000000000000008dbb3a03156a8a97b5c62fdf4cc47cad81", - "0x00000000000000000000000000000000000a882c8b967413f67ffcdafc46db3a", - "0x0000000000000000000000000000000e127969fa6b62d70385d748c98983e02f", - "0x00000000000000000000000000000000001adf44eeda9c8f7072352a331ae71d", - "0x00000000000000000000000000000099fa84db37b4c3dbea9e97e8c8775cba54", - "0x00000000000000000000000000000000001529c26808b908609fa10244ace75b", - "0x00000000000000000000000000000081ed7a38e73e4eb35830f1f1eedf71dde2", - "0x0000000000000000000000000000000000056ed215f4e9cb63771922a88ed698", - "0x000000000000000000000000000000e45fc0c0167bc1b06b8f93222b10f53ae1", - "0x00000000000000000000000000000000001b1a928bdb973af9a752c370b17a21", - "0x000000000000000000000000000000751ea0d51f712e4cc892c1bbbe45513c3f", - "0x000000000000000000000000000000000010ec11072d215f3d4cc779d07eda11", - "0x0000000000000000000000000000007e29e1c4f13ecdab79b3333feb296d46e9", - "0x00000000000000000000000000000000000c24ae1fb52babb8b1b254cec23f07", - "0x000000000000000000000000000000b5dc3ff0c719ed580ad27444d874652230", - "0x0000000000000000000000000000000000263f66bdbba1a4a58a57f1eca20f89", - "0x0000000000000000000000000000003bb131ac8d9a11210b5dc7547c1ea8d08b", - "0x000000000000000000000000000000000018ca65d93f9fd01c7d82b282a6ecfc", - "0x0000000000000000000000000000001ff74e6cb757f41f1c091c8e6df3d8df3f", - "0x000000000000000000000000000000000014973566a6053580ccddd75d8ddfc4", + "0x000000000000000000000000000000df7400887578788132540aa7527e708070", + "0x000000000000000000000000000000000024d325c2d8190f7abfc52c1883f960", + "0x000000000000000000000000000000646a24ca357c2075604f9c14292b375e82", + "0x0000000000000000000000000000000000294077bd3451c2b9e84685efcd46d1", + "0x000000000000000000000000000000aa62025c2177fdafae99b9b28fcc1710e1", + "0x00000000000000000000000000000000000c9a8f4b9b4a7eef319e163445cb67", + "0x00000000000000000000000000000071a7ec5f7eecba271c66b3af94971d37b7", + "0x000000000000000000000000000000000021b948b3807d83577ade54158828e8", + "0x0000000000000000000000000000003c9711cce74808dc05637668158c8d0204", + "0x000000000000000000000000000000000014f637c3e5983644a0aaf260fcce4d", + "0x000000000000000000000000000000e5be0155ea5613f1a5cadc80646fe257e8", + "0x00000000000000000000000000000000000b1ef034297271b251e6851f3dfd88", + "0x000000000000000000000000000000b5f23d8f13059b34d7a0153cf474b307e2", + "0x000000000000000000000000000000000006153e0e2f1c01ec7bcb4f740989db", + "0x0000000000000000000000000000005a99f63f9ece9b0769f8ce1057d924b7a3", + "0x000000000000000000000000000000000012a728e39876cfbef518c080f517b5", + "0x000000000000000000000000000000e64b32c5d29ceea2f222fd53f6514cfbab", + "0x00000000000000000000000000000000002c337b01a0c3d09317ae9393e4ec70", + "0x00000000000000000000000000000073bd9cec0a637784b881490dcf1cc514c1", + "0x0000000000000000000000000000000000040f161304921f486223af1f29ab0d", + "0x00000000000000000000000000000039c0b7af4e259113e1abfd6616653c1937", + "0x00000000000000000000000000000000002183a9a49887db8b1fedaf803684a5", + "0x0000000000000000000000000000001a81ae3776369c64b36f9e9a3fb2858e03", + "0x00000000000000000000000000000000001dfda0fe09ff48ec7280041e04f287", + "0x000000000000000000000000000000688a4c96ed9d2c4f3bb08fcdcdd6ce62fc", + "0x00000000000000000000000000000000000bfba634952c327a551907122bff46", + "0x0000000000000000000000000000001ada0bd17bb5b6631bd8394bbe29af3fbc", + "0x000000000000000000000000000000000005c2531d776f8da9aa52b722bd5c48", + "0x000000000000000000000000000000d2300ce5c10e3cbd62c8fd9c427f81b13c", + "0x0000000000000000000000000000000000060fab0d38256a1ce7fb0667657f13", + "0x0000000000000000000000000000003eac03902077b74df9f54b57eeee34de94", + "0x000000000000000000000000000000000009ed1f553eee82c61a6d54110aef1f", + "0x00000000000000000000000000000088c7421975d29335116f938c8637c30c68", + "0x000000000000000000000000000000000014545f6184e636e9423c7296bc0641", + "0x000000000000000000000000000000930fac00de78bf2ae8ad409c265f487530", + "0x00000000000000000000000000000000000160c4172bb854bf3617c2d1c29041", + "0x000000000000000000000000000000de31b5da76d600cc636d30915174d04320", + "0x0000000000000000000000000000000000261a8e69834f8eb866f5b8b95b1ec6", + "0x0000000000000000000000000000009f1fcffe2c592b13dfabec9fc07c9c4fc6", + "0x000000000000000000000000000000000018623719cbbe9fff87d97bd8632f29", + "0x000000000000000000000000000000d3b6c9a2b092081098994bbdbd5f03aa3e", + "0x00000000000000000000000000000000002311d3187206b9ec9a16bcb6fdaad3", + "0x00000000000000000000000000000004a45eb1462bd55f71962916bdc0418b53", + "0x0000000000000000000000000000000000001e6ffdf8cd3a1b708505bbf3a9aa", + "0x000000000000000000000000000000936b37c10a791f9042774b08a8668f9107", + "0x0000000000000000000000000000000000008cdf9db9ed9832a293e15ce4ef7f", + "0x0000000000000000000000000000008d0f4e399fd23898ab7a494b5354b4b312", + "0x000000000000000000000000000000000021b672bc0321ae1462f03bddd7b639", + "0x0000000000000000000000000000000c554cda81181c0a2ecd30bc0f37161816", + "0x000000000000000000000000000000000019a3f5aa165344773cc3027e147701", + "0x000000000000000000000000000000a5b8c6597d86500d7f519caf85f060b3c5", + "0x00000000000000000000000000000000001311d1a38a20d37f733945e494b1ee", + "0x00000000000000000000000000000040ae7a4747a88223e2a11085c443fc9244", + "0x00000000000000000000000000000000002a17925d8e850dd4f2d3045970b6bc", + "0x0000000000000000000000000000003a4db19275ecee6faa1c63321f4323cad6", + "0x00000000000000000000000000000000001a75cf368ec1a108efb27680dec5b5", + "0x0000000000000000000000000000000b3e7859130b10ba659fcf760b00cdcbd3", + "0x00000000000000000000000000000000001be0b2804ac60f98b29842ecd8bfa0", + "0x000000000000000000000000000000be02c54cb31bb643fd2ead045babdb91c4", + "0x00000000000000000000000000000000001e6f2162b12d2ae68f68e40ad317d0", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -1975,9 +1975,9 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000008671ae493f893cd6f74bd8a39fba23e8b1", - "0x00000000000000000000000000000000000aac3112a141721a7072d26e5f4580", - "0x0000000000000000000000000000008923d98a692c0374b043c5fa8c99bd8be2", - "0x00000000000000000000000000000000001892909317c5f8a3fedf24a6033a8e" + "0x0000000000000000000000000000000c2760742bab409cc0b375fe264211ab8e", + "0x000000000000000000000000000000000023a0c982353324c8ffe03940a4cd0c", + "0x000000000000000000000000000000667a420dabfb6b89c12b3ce74f63d7bfe3", + "0x000000000000000000000000000000000024781550f683cd077c5a800973e698" ] - hash = "0x14c855cd401b2cf3f12e47f5c4d110f74e8f933898319866997f7c4ef86bf5c9" + hash = "0x266a00b740e51defbf26d16638df385373132f85239834eb8073c6dcae34813c" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml index 9959d5f1f749..ae2bd2d8cdf3 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml @@ -3,7 +3,7 @@ anchor_block_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", + "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -3061,1533 +3061,1230 @@ contract_class_log_fields = [ [inputs.hiding_kernel_proof_data] proof = [ - "0x006daf88bbec9b123b708ee443bc268ba38be8f0c8b0e47c7a1e2d668dcf77f4", - "0x004738ff7f17714d7ef84269153c683991fe9b5e86e47efd1b3838e8dd016a31", - "0x00bcac67cb1eb32db54382230b339e30b3fd31f59d6a43ceb0130140c2e044e9", - "0x0051ade1742648a49cb6e76d51646c2d4d33eb25df91fec4355929c955ba0e64", - "0x003a7d454c598229194d293b2a6e1ebc6a25cf77db8085eeea1f485d6ec8d9d1", - "0x0095c40d811810fbf178169e3cfecca80f85a3217338194f91faa74151197e5f", - "0x00f7d436d98b18cd3a0419adc6ca0f3c374a3319cfbbae3641711e445348794f", - "0x0001b815d8e2c7c0a5d4cb529672cb538ac74b1373bedfb813ddb1c3b4d3cff8", - "0x00f489e5ef3600ff8a9ddbba94c3e84d83c93a921d5ad0cd1a7608b19c1c9b99", - "0x0052981e1affecc7a5366dbf85b353528b4a5eac3bfce945835563d4b68b13bd", - "0x005914bf96f1e0e5c2551d7aaf2548cd78c04b7656402943948f4cd120538d01", - "0x00207ae78095d906b636598d4c40ea3f9642fb270185d3288f4d013a458b429e", - "0x004e834b41265dbb8b4f9e13d396b08befe9a0aefcdf017794a8c7b556fb1b28", - "0x0011a3581e49305fc522bd5b2fe81dbf41af3079024fc93a5c24c6a201853cbd", - "0x006851667fcfe28cdd4a1af8af88490a7757f0aea2fc9889ed3776f7a0e5050a", - "0x0040502a983d76949d879fcb759d6dc142175b6e07b3b69fb6fcf77399dfff72", - "0x00027316d6bbe40426552eecb8ccc3ec9da5b27563b3a9e256568fc7661066c9", - "0x00cfc3247469f6ce507d6349f8e8a730503a452cd603e6c52691460a7a8cff74", - "0x00ff6994f4811b0051e867773e853024db4441e54153ed4c42c9c6634ddf2c9a", - "0x00619617e3c7a396c83c8dd32b92b1ce608a1219fe72caa09a0da8c443e9177b", - "0x0073129fbeb23a89e95c8e7135de7fda8b83649ef9404cda7418a06dc4e0c897", - "0x00facf56206632bb0d389ddd48c9f206f486de0e8fa57bf4d3e47553004cd0c1", - "0x00630578ab4a9a498187dd79b673cbb5094e407c67211b0c0b81cbb4c5cd766d", - "0x009782ce51a3e80b565665a5f6ea39d28f660a307a8c1e3683e13f861d17f34a", - "0x00ce2aab36344d264de71d3b9fc05ce861976aa3fb491d11bc1df645e032e9d6", - "0x0007505c33e2e73f97d4fc2f792426c81cf423ad8a23ea0d6fbc3af40d09106a", - "0x00d923f27f78c577901d2b8c15d832fec3e8f27ff0cda32935f2608653722f94", - "0x001d0149526bfa6e142f92065c39fe06ae7c33bb72d30fb7d5bdaadf9c15dda6", - "0x00319dc9367310134b9c288c48ccfb9ec1e0d1d536b311e3ab2259af3e85ee7c", - "0x00d030d091e8afc06927c6b9db44f801ad633bb5f5ce10c3a74d722a32357db2", - "0x00701451bf88acf9827dcdf903d688aa8a09d56946ef445f20bcc5fef1275eaf", - "0x00bc1d8b03723177db33dd8f40d3f8c34dc7d202c2266ed67eb1f01870f45b7d", - "0x002219e32da987b486436bbf69fe95af554d0beab89d6b41c9a7bc9c2e09dbf8", - "0x00032fbcdeeeef90da3858435fb853fd1ed5142b2ab8f37b847a16b496a3dba1", - "0x003ea5d86a711132a22751b145143db4f936073fdb1ee35f01720bfac8b2a74c", - "0x00a5befbc22781c8552b7c8844a5d63df15aa31f2c0c9cc534a164de423394b4", - "0x004b900d3e9a72aef65e46d6158e388c254aefe8bb1363cc233099431f9aead4", - "0x00cad08b9c5152bc0cb185cdccf3d587079a161f4443b84969e560a636311026", - "0x007333d57e8d533ec1b13f090716c5a4474e5dfbaad9eeea5f4b6767abd906ab", - "0x000e1f13dbad546be4c92467df684c0c32ad38aef96eed9393369d715f2a356c", - "0x008077e014db71b54b89a02d9da7eca830c4d13d8168c41fbb8b2a91a32cd428", - "0x0038b8870b82190f6a1d3d3a50df9773bc9d15701988772e980fb892a79480a1", - "0x00c76c594e7032bf95cb73f4ecd8e47aea7f90b8b03a1aaf053b4f39348ba8da", - "0x000804be11042584fffd52fa29dc271f081960b665bf4469dfc19ca68bf25fa0", - "0x008fc8bb61de1607fdbb28af605bc59eb08fa59783e1009b3581cb5697d378e1", - "0x0047527416ec4465525d319a7c40300019e9132177194fb10a16dbc357aea4c8", - "0x000a711e8135c907658c620d0604b6e1f620ae7a08d2962358dd55bdf7d572ad", - "0x00d32782d39dff2e3a2748bc578a01b118254dcf334c755e0f960efcc5b28fe9", - "0x00abb27830b58225b6b43e73d6720103a56b47f69e625e6605066b19a5e8d604", - "0x005ce224739c5f6479db75e9935cbe76e0b5544ea40f1c22551537208acd6783", - "0x00f134c4ed2d94887bf8fdcfa1c15a48eb7cdeb85f78d4e5ab69639ac3240022", - "0x0071ad7e00b290739d6b92922848a3d6f86e50a80ef988edd89c1c702035e4aa", - "0x000b5533c299c3ad66d7d716834f9c25c9ed77d5e85007657f6c19a53e1b07b0", - "0x0065b45ff4880c2b3488880c02182fcdd05c05311fa56c8fd8a793159b970646", - "0x00e26509b5da6a05c6374b61262057f757bf51da53a5ed7a0ea5f1196f336dcf", - "0x00ff191693215a6e611c2c77fff354d7638d88da64e2bf973a5be7de747b8178", - "0x007536dcae39a8eed0ee455ee24164eb424438fe71fc6ad4ee782eee52bcc9f8", - "0x00a4fa2650d3b832bb999fb2d17a8ca801e4bc2fd0f51e816d77ff5453de18ab", - "0x00dc9dd073e7bec33cc90afc5da836280bb07a6ba1b0d2b29e3beea59b6bee22", - "0x00bed7056e5c13b5a92f41680742e87d8c464beca63512ab7c4db27c95de8063", - "0x00485bf15e58d01df7a8f5e5bc47cce86163abd70291056b5891b7aef08f600c", - "0x0022384ecd134b1e3c82602b8d1fe141aba7f632a5a9a003ed64286aaaf1647f", - "0x00ac9a07d0d3b95d29251fc6b1b482771d89ebed3bf16c0892c70a539f67e423", - "0x00dcbd069042a5e6b0e7a2821a3f7284c6ed0b88901d3e8fc5f74a8b528b4389", - "0x004d8ffb6b40fd98d76e654117c36f1f5d034e3645206ebccdd4ff5fd3c3d047", - "0x00481e544836d75506fa53cb98ffc51b7ba4f7de295a039db9a66a7c2ba38466", - "0x00f6c48be893c21fd743378b956e5e8168d7f2767a6da7fe8a6b1f14d72a4237", - "0x008a255eeccbb26994a2b0f99afe08e4e16bb61206f345ea93ce27cdcf152cc6", - "0x00a74e2ea8be47835aa4c6ac4204434a967cc6cbe968a7920a9298d2c323cf4d", - "0x0011b87101167ba92344e46e57475804b25ee3c28f99331465841e9934594f05", - "0x00329352c79ca4ce936ee3b1e23ff00694728b8bde78b77023c80cc58a8240a0", - "0x00cffe01eddd53a06a91e9272654d46ef89e4943febe36c5327167009250b171", - "0x0072a3fb6e7ffae170cfbfa1a7d107f19f066c273fda3386a7d40444a7e0f509", - "0x001a237d76259fc286b9a79897099c449585a51d6793b8ce45491558cbda3237", - "0x0041334ca26fdb61aabb2881940d3062c098f2575afd15d7c8d978f8e9cedf33", - "0x00f005fcaa15d97b0f6c570b4078b14cafcb037a3b1f58807863f142483b3219", - "0x001ebc98d0640ade860658c4a888146bd1f11f1038c891f26c1b71036224b9ca", - "0x00cea4c738e66d5ee5bfe0bd5eca248aa337b91954f130198f7f5c7b9fa564f7", - "0x00fdb99be60478d79886aa44c272fb90cd7619f26564855235bbb91a93ff5bc2", - "0x00a21843ec40c300a7f2bcb9f8854fb8671ef7b342e1baa0b7db83a5fcf3317c", - "0x00f67dc5c5183b315d4d1a7a7837750001448f520415a9ca93ca94350a03161a", - "0x00861d0439f5727cbd7f22f802450854043fc0d558128613a888f447a675d223", - "0x0032aa7f91090827b4c940a187204e7c2da10b15b3ff9c332121bda1da22b670", - "0x0078d71917e3e84143b399ed166a62936d6abec483fdb7751cf2fb7e9b1c2638", - "0x00c98d36dd3bc160d670ab8d5fac0f3d2ba8eead9a287c35ff68daf7eab53855", - "0x00eef4b5cb51ae845d6684d40fc7537fa629f4171f83d031b21eb5da3d963135", - "0x00042af68c3ca88173c88815da20e6233e57c88e299575260b5ee8c29f4c1113", - "0x001c1b8d2cc9728d6dd711fa16616727c4bee9261b1ec25427a707c8fd89ee48", - "0x00698e2a5b500df7f28ee3dc699c8d6586a0f12b999794df5eab0e4a6c5a1450", - "0x00b8609c98c35b717bc72d660de5a70864d5d3a0bd4bc6ae8d59329e85339f88", - "0x002fc6ca90d5179895e2b9366ff655cb2ba13cbe2d7b57eebbfb5c338f418c6a", - "0x00b9ac027a8d6b61626596215a5656bf9188e89b211b818b8dbc5d44fce062f6", - "0x00a06b62d891c8561025f9a36d368b3a4c19b59c468e175d5b81f119c910a88e", - "0x00ea5457aeb856c2fe552cc287b12616c4cc94d6138d2053938ecd3af12538cc", - "0x00e5b3f157e98177f7b66e9b9b1a4828a8fdeb57930b249a01c3e70ce046aeb0", - "0x002604ce1103688f8d32e449b9dd6656f9b6e0920ed882cf59cd519d30a2e93d", - "0x00de4858c12b0ecc6293a58adce43c11308883d0b381f230eb7a2e4c44fa9bf3", - "0x0073752fcc7cf09de540e17c6ec4b692d04f2f08c37f9e0de172cd7446d21f37", - "0x00144773d1007fbf08e3d91e0a952b7eee74843fe052488572b860f2d4fbf18f", - "0x00d788eaa3bca26c0c989d43125b9512f6b1d07a9e1b80e8c4b89337b0896844", - "0x00222e6045fee32d9cf54242d91dda16ae8adf9c6cba1a418e60c6d3a7b3c7c0", - "0x000c4e7214772163ea17d852574a071383597f884cf8a7adf7f3ee495a744b1f", - "0x001adcd2772f54d5b9a5a00306b0b20de8116c90b0185ebface014cf4b040d66", - "0x000ee969fb2f42eb9c829a8ff62015bd2f64a293bd028677f3abb23c24c73595", - "0x00937fb62c482690140b22a50c63b8cec45722610d7a9b03fb7f80e051c52b29", - "0x00e04c4aa47a07f230b642f5ad95533df7bfe0c70d522d2875afe92b7ef5f8e8", - "0x00fc8de09d7dea1dc9a6032fee92d68013961768469ecd800924e1de96a8221f", - "0x00c3616207bf1918f553564afda8dc10da24b371e3765a39a7ac8e72942b3354", - "0x00abbf674ca9495a2d989a5305ec395fd808b214495d45342d3d937c631b2866", - "0x007fb49edfc7ea8c1aa2532f5037eb35e63c61aefe1d8ac70ceb3305f68122a4", - "0x00c64355ff3e70bf210f3e1bf16bb1d627cb3fcc49d41b24d2142bdda5537df1", - "0x002bf3610a2c39b77ec45704db68852895181b7abf74fbf72692333c52aaf1ac", - "0x00ef401918c308012480251bc5b3dc36dfe0bb751b039796f13a554302bba3f3", - "0x001fb154ab7144314df6bd35bc72964b10f3ef7dc62187a796f07421c03504c0", - "0x00dd145a34b7731b32015e7713637a383449ce345649a7c0794b28a2f3a654b7", - "0x006f3690586d79e581de6cbc26b8898600a4b46dd99f4ad5faf557a1ca476659", - "0x00758e09d865af732e55b214f1d281efc2c99f157ee9b6d8713a9f82fbf6f616", - "0x006d990b9def18dcec00863198038f4ef22c7c8ab2fc1dc483b0f37d9033379a", - "0x00ddd5811dd6dfb44fee027e179da2ec6e3a43f77b0911f3d7e38eef4bb5d892", - "0x003b4b6696590a037f027a53fbb3870583fddbcadbdc860b4e4df002addb6058", - "0x0048621a0769af4c076ef687e0e61bea3484c5a7ec6cb24d30d292e53a3d1f35", - "0x00cb5e08e16df49876f03a5d2069e6e4586bd50521cebad8c64cecf537e3d5a0", - "0x003a0c02445dfdb4b01bc6aceaf3e6237f1e2fc5bf25fbbd34253c5a00f2f5ee", - "0x0069d65baa98f39c1b5bf86446651eacf7cb40edadef3cf03d9aaa77d25e5eea", - "0x000d5154f4f0307f1e5ea5aa9ff45c03f2626fa2887d3bcb090e832fe37fcfc4", - "0x0043ab41ce2bb8a104a78952646adb7dea5851f86d9b95af7d11be849eb66413", - "0x00ab72aa684e9d9883ac4852185c55d7f264179b2db2c7af31c51453d62fcb54", - "0x0070140ab259db6244d78365fda3475e2356cad954851a6b9f4c55411f71c7dc", - "0x0054404302152c57ef97cee189fa3f5c2459eed67192c691be8b40aec3b2bb71", - "0x00931712e5b1a72b174c8b35552f3ca2a469f56846ff802d8724627af87884e8", - "0x0075f41c50b594bbaa8cbd7f58f17b1ff8648dbc84bfd441ca6975a739f35c5e", - "0x00406670186eb73cd31aa739d05e9f35b215f958602494c5e0bc88813879d6c4", - "0x00d101aa06fd1dbc9c1d3a767b8121c874ade2f015aa8d03400308dda1d6ddc8", - "0x0039273ab3b8e2afbef2fb2c35351344d5c1f0e666bdb6e8a299c0b832bf74b0", - "0x003d78ca9ec1ee4713bf3b9fbb544343e2ede99976a2f563d26067789d4cb024", - "0x005656f9fd94a0978ae0d608a0d0f024dd7cd32841e171dcc397dcb024f9c2ee", - "0x0063266be359244480804eb7cda3e2c194a10ade5ba40adddefd6374b5283f82", - "0x00d67a96cf7f84b2b161d24ab3dfdd28a59b0d6087ca0e50e74c84b5475c5758", - "0x00b89d45f35e51d4ccffc3feeacf3230e403bd37edca21ef52297779135291c5", - "0x0070a9a1f592186a42e7a2087c0a0fe8dcb9aa96157ddcd1dff7f8f906aa5dfb", - "0x006ee323a65aa69e4540ab8d105c980d53ff8434253279ee0d5603e272589d4e", - "0x00faf8cbc4944494684cd732f2f846c1a93b1c685fc1e009b065d39d3b46928b", - "0x009d0b9469cf0cefc0ed2ef8668c9f95309c669a7ffa20aacaa7fd383368c13f", - "0x00ee1cb629afb704110cf3b320d3f805870dc006705880a5ed2d927e1dea3d6d", - "0x00988f7b0064d6dc5fdd82a4533e083d28601aba4f376e10593945eafcb65b17", - "0x006f4e51463df45fc65aa5babef324edb26258c8307ff40c48661d4b1b296364", - "0x00667ec6558241a16b11ac5804a34cf945adbb044c6514fd118a289e4c0fc754", - "0x0037b04f1f0426dfcf3fd8d03c5fc22f66a4375d847be84dc4da8fa2ba4cea8c", - "0x00e7455856bd055ad1c1572a45586d7251feadfa41d17f1a76afec4aa1c4e355", - "0x0041436bd173719dffb709178ed153d898ac32eef9caccf9b55004de20df7ecb", - "0x0087e723485358076285d1e917c500c151daefa8fa475c2e60ed5df0fd757092", - "0x00d739dfcd14fb73adec0610b5b0b57884fc772b2a58c36b13a9d1569af40d39", - "0x0072c6f0ffaf4d039641e6afcbd9be1042ad18d7dab7c012a8ac85d5617c94eb", - "0x0025cc89bfdf1bb897622d872278b6f5d8930c009c4175c38c4ad0a89f48c920", - "0x000238ebfff61a10c74ac52c48410a79b8946b392ee77b499681fb0a82f5542d", - "0x008af9b3233b07d75deaf36cfd7b8938f3d2046ee91d2d41ae42db816ba95372", - "0x00a55fc7e85e783748dbade1ca94c67e89ef2a584021811dc2fe1f5b1d8c1ed1", - "0x007772fe2ceccd7c1dfbd04d63911edaea5958fbceef8d7b3d43f708ba72a996", - "0x00d420ef555ef2450b78d6bf4377f951b92b7d54c7895cfa25c8db27aca918f2", - "0x009f25edf10a090c030901d0084b61c05a69424118bf3d1ae09eef9a149499a0", - "0x005e8b1ed4ea2df85384d34c51416cd7bb5ae9dbe948dfa17f2f09e170f806d8", - "0x007eac380bdbdae2a7824265c3b8c9bad2d9dcab3e5bb8f0b131a149e83d921f", - "0x009804fdee20d5b4e5d3e399773f03c65f8b48bd597a85ac865b528a414693d9", - "0x000a42468194ccfb39d168f713c903abc0c41a81644e52ec3cebdd3a0c9395d2", - "0x0062d9aef56f53b30afcc12602b9cf8c6e8ec773ae941ec69feaf05e7939ad76", - "0x00d655c4e9083fb9498b38c36e21676a51cfed5eb5974d92b498026538d05892", - "0x00915e11e23b147066c37bf89c70092a975666f37013e5b81a78965a489319b7", - "0x003c883f82a4987fecc731af314876a49bbe4ab5be4fd19c8aaad64ef9c38c7c", - "0x001d49aeaed3d75ffd1c68986694666e51cb66f74ed26d4f851e6a519477ecfc", - "0x00ef5fd4ceb927484e5111d3e10754f038e75f7ed8a0664892b6106584beb561", - "0x009969a60623e31ca5543339114d9eacb7df767ca96c17a2eafbb2b991604cb7", - "0x004dbfdb93de13dbed31ec8121203f54ecf05128e306dac5ea423489f417f05a", - "0x007cc129a1142c25f7b0b0499cf80d4155f7ad71fa2dac33686ca689ed1762d5", - "0x006d44c5b05af434ae57b0413e00a6ba485092fb09a9581b75144b5399c6e0e4", - "0x0096b7b5a6020570e27c29bb4621b2f5b9076de7f5ac6f1cf43e4e16a6e4f840", - "0x00566be740e99067fa8dd97274f460696f76a21e8a9ff62eb0a5488b9884828b", - "0x00699394acf5ea4e58ec85ae4b357d50c7e682cd9f30364c7713e90512903d04", - "0x00302207ea0a6f670fa96217f9fb0a5576fee7c20e32cac1fe9ca8491e3b7683", - "0x0094504d1d952fe0bdb35d59d36101a597bb9d2b24a0638b7c7e70d66ad2cc48", - "0x0072f5182e4d160ab9469bdd72295160da30abdc1c371a5402cc7097bae9d032", - "0x0078186d73cdd6b0b960798bde10e6761bd8f28939299573791cbff13958bacf", - "0x009255a751233db8c580422d7b11f7a9f4c5c0438e2e379eb1ae61bb5ea5955c", - "0x00edfa700abf8a29951cca41059564843434d8e6891447b2486db6903cc081b9", - "0x000d54999ba14c5bd2bc54c97adf9bf16bf69b7bdd00afb36cb71e195d6e94e4", - "0x00166a017fbb15239b2849ae221c06cd82309e67edff88070aa37848b2551bb0", - "0x000124d507c35c0c57848d900500df35c04df61811be1eb236c5a08e7a71bd8f", - "0x005937d03c4aaab58b5eba4aae9d65b12ec2e54c89af46b4add2beb95c465aae", - "0x0082c757540c8112ca6346a7e4303b7f6a558f430d4a28eecd6c49bd2fabf9af", - "0x00f5b9b2bdded0a5a4073a9b85a41ab831a052ab18df09ea66561ff0d41dbd39", - "0x00bf76abb480290f436bb6f94874c3f6e05876742c53eb4896571340e208e1fb", - "0x00778b710add8caaea29bb28645c40e154b64a1c61ebc7acced0a0d8a0b43a32", - "0x00698da5bcab116a39c023d572cbc2a93b68e78b67c73c1a877494f5f3ad9fce", - "0x0026f4e4b21f923d673e1b2d7af383c6065d3e89233601d15a4547590eed4528", - "0x002c424c780180084b3121011335a36b7b17b1b505ca2477136e8879c2adc2e8", - "0x00868964251c6a703e4e79b38b3107d95047e50ff3248e3ec3516d12ab5a0460", - "0x00f480bf0ce64822692a159c93f6df5d0d7dc6224a14181861d8abd25722388e", - "0x0086a7f949a6f01e4f8b91aab8daa2b14ff8b89f8691f9a3ee63e8ae7425e57d", - "0x000adf86677a50eb16400127415517acd4e0863213c5e7b194a63d01e4825dec", - "0x004b8be0888835df36b219f9e13b164304286d0258ce6310a804eecfd44c9c66", - "0x00740fb7ff3e6aa21387ccda11ecb901cab5550e25c1dea8e0923044526199e3", - "0x003f3c4b85455e0041e900344c52e6491430972e0a35c5ab0c393740b82b986e", - "0x0004b9a22b1ad92108e431250759af293a11f206b44fa406467e6366e14a0ee0", - "0x004122ff0486580b317181aaf401a897085dc2d9f10eef7c0b94ab2b0d8db2c5", - "0x00781bdac1e7633f2b59294d15882a71db71b22bec0ec24e12b092ad24d0eb78", - "0x00684361697def1539dc42a00d4a16367707f0776207b049558817ea60966746", - "0x008a90431f2eb62666238c6ca517f66d74ecfd3f7af94df0212d5f6cc41136be", - "0x0030e6449fb6eaa1ba9fa73cd23d5ea682e8a074562bf9ef712a7f781ca94ae0", - "0x006cf184bd4b018e0847c537e83a4560aa9f4e2039d285e16ef846bd33e0c7bb", - "0x00aa99da302d62410389e20639899c94bcb5ad35c25baeee82b5f72a678c1737", - "0x0079e1f1b4d6835a8738f6af68ae51c31e7cb910aa75b27b0bc865a790e42fb4", - "0x008f246ee6f8d64b522f1b703b49b9a3b017b4d9ba37431b98eb36810aee89ae", - "0x000e5257590bbd1bbca0c2e9f7046f961cba60037526efe0aa8c26b7d0912dc5", - "0x00c196c0487d7a831c9fc041e91609c91e428ccc7999df4a1e7fe473b9571118", - "0x0062f1df23932b93f7c7060aa85a00b08407ea94fbca13861df1d907a6967ab8", - "0x007c17c5899dcfa1e4a5259ac3d29cc2edf16f264649c02b6b753645cc265c56", - "0x002a166c7899e80629cfedbb11d43ec87ddd43d66d76a6d3f29332a4dfac3b03", - "0x00f1cab6990673a35abb7c2020a004c06ae1c7f398fd0d479fb040879c9cd063", - "0x001a2308e3986008af700dc8ebbed627deb5b8dabdc53c4a0f39a0e8a9d2d217", - "0x002075543ee6452b650d26c325341471637909ef7013a80c78cf1e14831cae9b", - "0x00cac8b72278e0d1a5a1772c936efaf7c495f2cf841a08165d01d4b674eec73f", - "0x0026abf921ea9b41651e9ec569cec10099935646d67bccaf2df031fccf8532e0", - "0x009034d886bc3375fb771ec06ba46b7952721c3224f8f8853602c9d87163fab9", - "0x0067b31296ea06c93d6fd1ae7c3e3a7927fe6d57b0fb7ed582485ae17cb4eadd", - "0x00b56960d6c787f2d99f518deca68872a966a30a4f44b287a144f582ceba372b", - "0x00c31581fc6f9daba84f2f8d5d77973aa4013dda50cf77b5440d6ed6776761f5", - "0x006b3bf8e900617907bc07da7a3eafeacbd94d7d573d7fac82741dbf3adf127c", - "0x00b48c13a14d2b9a146cd6ad4dcd226814cbe64dda7e0bd75afcc69b9cf8b34b", - "0x00e23009486016dc97efb3e6c1c7dd386da63140ebfd3a4232f1d87762648a6b", - "0x005f5238423a2044101e8d837693853bb563eca764da2405c77a603d136e50b8", - "0x00909f10568f0f60078a51f6cb0222b99140ecefa2e80d128bb3c46705c1a73f", - "0x0064ef77172785a31d3f6c88b5ba43ce8ea9a3f95194ea4771fdb84899d44257", - "0x00ee3448e4f8689fe06d08133dfbf491e35d510f35a4241706e4eb42cd83400b", - "0x000247200d76378d172ba4908135a519e420408bc96b71353220f3d8ef439d25", - "0x0081891954306ca295c7b2313312dbeb520eb6da1394325b818039f64f57850e", - "0x006bc609e9b47a2189425709dc7a68cfe69fe229e70569605494ad478b36dcf1", - "0x0066c584d023ac8dd736faa6ef01d6f31302d751589207686112b25f2814e224", - "0x00154efa6f018ca5f193d6d420ea864ef9ab046cce18d5d2ac16701e0fe65e93", - "0x0021080ff5e0749987ec3d2be845e926ae9ddb1e8b5fc63960a29969eb30dd68", - "0x0006eef7018dba1a27e617de0eb7e0c0616bc23a1d4c0a304ce9ce38461ddc91", - "0x00f86b02e952cd4f7243a4cecd85567498f9c952e3c02ec598faeb218ccd069f", - "0x00f1abb340f91e2e32cbc92d98ca76e3af5f0feeb2414ecf0e4496dcb1668c57", - "0x00037f1d2877491bdd66c6caf87302eed969f36c31763ec58242c323284a35a2", - "0x007bdc947b1a5f769a23f8720aab9eef6ffac1a3ee17b999ef8884cdcf4c6f88", - "0x00d8f09d7f5ff560072ad883c02d8aca9feff5ce25fb2edb9d14028ad1c2af34", - "0x00c69e84575a4ce202216c59a01f7aaf924cfee8754c43816a509aeba15d93c6", - "0x00b28dae7d5adcfc92a04a3260bf0133327dda80ce94a8bbfa0728d0b3a05acf", - "0x009614a38a8d6bf9b7bdee622eee5247e37701a5db822f9046f34fff86fa2e19", - "0x00d3d638c694d162712ed73a1d8326b145f073c24f3571937b52b48daea17965", - "0x00906a9dd710f3c063e2530e03383d55b79b0951cc9408c8b9efae38584ac367", - "0x00f9c28a86a02836e4bcc564084a615caf02d5e26c4d29882ee08d7bf2a91057", - "0x00b80682f652a702dc04e4b78b8fd9137d52d4e7095700aead8b306291caa6a4", - "0x00deb8b99b69b2fd8c6f85d387b8abff3d4701bac4e4c412691d384071fe9a71", - "0x00029bcfef78fba79bad76c09ac125f55e746b0464afe48f8a60a3ec52b2b09f", - "0x007fac342ad0b28ce93a331b205a869ca0b5431fc98bb8202b125042beeff301", - "0x000bab0cc9ed54d6fc674feb6df6ae2d264f27d620e0d1f3921f71e2cace1c08", - "0x00afe27fae9a465f05431ed4e922cbdac701ab0ebb9cf0b18b5d3ba4c0a42cda", - "0x0031fa25d34045b7324810388e6492440f0d3211a418fe119d52a43e9c70c323", - "0x006fc83dae9cda60b8896cbfa02f52e965c058d78f67d984bc4289069cd90c69", - "0x009c31c1c10891c54e57026959df1c8a26702f061695e093d1fb2f966367c188", - "0x00005819b32acb9edae09efe16a6a7245d73f46079ba454cec1bccd7a943a94a", - "0x00a2601dd0dcd745923856c6cd00554f407bb2399f25630b04e18cc9e36996c3", - "0x0092a085a7e6656f53382194e511fc666e1e35677b3b234fac2769626ec395ef", - "0x0035e3eefcce44fff89e02007c47fc197cb9e304d9c9019e95d63bcde8e13a1c", - "0x008ad205271f15eb6b759a3d05400a684ccdb00b10084f7e1962887cb5acd863", - "0x00553efc96a90961c43e1eeed7ee739d08829a63a7a88fada612e389c6b755fa", - "0x0084ff44dc35431cf69cf4d9ee2272cfe47de403e0900bb77cd684e574dfbf90", - "0x003dcadbcd42bd12135661b75f45fef52892f6c3a2e783f222c0c227f86a4e4d", - "0x002f50642cd795a59e86284823ab6f8de4a940be640b442d7c58123c041187e9", - "0x00aa0a76db003e742a864541b8aa795e3c2e45c90b64fc8fde7d71f826a8c8e9", - "0x009b386509e5039a24ec15005952efb7744ea0aa2ffaa5e92d8a81c5ec75e556", - "0x002d520b6c9fa9f873b4ef6fc048ba52dd14543dcb6bd2322354e4be7816aba9", - "0x002b46cd6baba4ddc704704418cfb6eb1dec285f4553b803a05ddfc4bb3db96c", - "0x00a5e8b6fe259ba16a4f29655035babbf0e6fcbe024dcb67a37792490a262ca1", - "0x00015ddb560d70bf0385f3c00cf3e885d53d12d1d3ef78f16bfe98fd66ff48dd", - "0x007216df01261ae9b9b510b1e494ebea71d572b6108dbe942ec983f209f306ac", - "0x00a9fa5e7cfd93ca2c7a908fabc26c76bc94a214269dee2a6ab3c51c950d6b7e", - "0x006d67810e0191d7202874192b9eeac9522a26d796582da4d1fa08a9c0dde45d", - "0x0016215107049aaa4a0e759dee11a2fe476d5fe42ba888446edcee74d99b1142", - "0x00b7a69fcd11f7903ea966039599beab2830542d3ccb6f570fc1680540b21ce2", - "0x0077e7755ce67a76973b4b37fee36719c62f447b7e67b8395f3d258ba4a457e2", - "0x00989bcd6dd26322202c1ee519c435f07ec7b858fda15d47fe4c3ef18cfe98ac", - "0x00e48efdb92c12f4f47e7e578599f7fa21d863cf54faacc704b70ffed509cfc8", - "0x00a30e4faa2cfd6ffbeb528b9c018d2ef598e60caa1ee2bba85d4ea5052b5667", - "0x008246ea530d933ae7672a742507267665ae4ce6f33ff668b4048eba97303f31", - "0x00d193a79c629b6b92b6e024a88e69740e1ec07652dc1c6d82382631e89c9a78", - "0x0084b3b814f7860ef0cecf2ae79788147214416804feba5a712ec4907214cd28", - "0x00b29b95b9778fe7ef3fc46a63f550808b0aa012994db7f5d4c391c71bc09663", - "0x00ff2aacbb1b3107ca9abf092ca3fa1f1bec52271dcf0a8587c17f4b7ffc1383", - "0x007e0531c0ebda3699b6083b47792dcd6f6cd7a38d3ec9bc6c911fb674d6522c", - "0x004df472272e099694d27c9768cf670abbcd7c40e08316d986f334a17094ade6", - "0x00ae63b2797cbfced3a2f3906a27c4aa0457e2f40362cd8e19061a28a6820d61", - "0x00e06b8cf4e8802248fd1ce293857972a7448b3247354ed30a8db4cf0c8d471c", - "0x005d82abf865bc627af583cb56bb14f67068514a2d7c41128684557a0817593d", - "0x00613324326c3b4eed1b397bcc5f6efb5851335f86ebadba67a04a810cc45a05", - "0x000c219e01c856f7e6ab5fbb7a8c7562bb1cb82739d3949db64c73ee09259e13", - "0x001ce30773d3de1141fc2adf6f432d657416144579bcec624b9be535219d37ac", - "0x00d1f5c724fa1a85936f5ca104889908cf18b14f4cdf19ff1c8f07389d9f2d69", - "0x00735d7c234035947b53bd644d76f4cc44608f4731ff6969dd0ca3a66b1c344a", - "0x00e06ef56852c66c9bd714eb1b7e07f86b8ad2d51db03097b1275b2551e8bbf0", - "0x006933924d8dd4e2b286a3c6c368b46fa0b96ed292920cbe246f9fed5bfd1c95", - "0x00f4ee5e7896148398b939492890eb5d0098b7da8e531e139a9b636a357510cc", - "0x00e50bbbc59268c86e15935b09df3aa336da779baf16c18ebb8c544a194065b0", - "0x00479c7374445b8ef30839c28ec2ded23209886ca83c9c601b3eda8793646982", - "0x002aab7c6bd15e6abc43c56eb4755acda4d8d210de845a0d77bab990ac31ab56", - "0x00d97e2723a169d4d9a5ac4a8b3fbc97256eaa40175aa211fa78de371609399e", - "0x00ed506ce26f33279f3ff86658aea23dbcbc236a83b7a3ab7783f4308fd53aec", - "0x0073c79554f869440d67c5d3cd611694ddde219aed26b8ee48111ca2ffbd7785", - "0x003bd80819bed4f7142a240608c097568dc840ae27c952a06fab9d2d5f03318f", - "0x0050b2bfe16799bcdd463c8b99b705b8dffdfdcb97eab3c9a0fb4106f3c10ad8", - "0x0074f735bd9fb5be8a37a0acccb14715daa266a8ffb6c60e326528523dce9f30", - "0x00599037730dd0c2551a72b4d4ecf92884d6dbf996cc177141973e23784f082e", - "0x00a9dc85c5490981605ff3a2e8d1e51dc25c87cab8f15bccd09bc6db5171870f", - "0x0078e6e0debd6a3bac76577e8642deb119dbe83bae3fe0132f9c0958eb005fc5", - "0x007a952d1cd30e55af6b1af53f7699e7ba05e8caf72ca8c55435f1cda71b01b3", - "0x007899baa0d27d4187d51378d33c57390c643ab55cae048e155b692487f6eca9", - "0x00d16d8daabb99ae969ca0d7c7282a4e303e4b653cdf053eab7b098a6d9e1a22", - "0x0004903cfb1ad699ffe6dabab7886c822568525ff0cf8cd51f342a173bcb9c45", - "0x005290b8f93628b5faa9bd61648e53301e151dae0eb2c0c5bf25122792819c75", - "0x00077ca40d28e3c74072743879e38eccde8b75c0d9e4a6f4502e4a567a75c17e", - "0x0005205f1bcc41e68fe3251a1f133d1b8a17c290a1910c2239bc1cb5f3293252", - "0x0052b34903ae0cab847e5c3e1d28a6e06720f7e7348874765bf4c61463bdffec", - "0x00ea6dc000f7abcb9625211a979c09a2388129f1af80cdefbc34f127b0f9cf60", - "0x006983326c893f9b840b229794c87fd21de01ba1b6da48a1262d62a951e84051", - "0x004c894e588edc03face309fe2d2aa0f7b550b4bf3c64fab376777df877ddbcc", - "0x009039d5b66b5be7b58e4ac1d2e849110e17abeda320dc4cd9ede4c4a80b7e5b", - "0x00e4b57d5dab5f6f289b88dbabf4fb9125d937ad77eeefdcce18c68e7e948ecb", - "0x00f5ed4345595bbb152abce14b87cb6b87d18e622e0aa01e3af3d6fe53d7ad60", - "0x00286e391839cfdc7eaf4b5451352d594539e675bb5ad9b51ff29ee280be3f9a", - "0x00a5dc04e1100674bf9c250b625a0f7da2655f48f9684fd0b83fe1f19b7ea6a2", - "0x002be9dd4f4e06fd50f709bb5e265e388831a4fa24315627434f0728976f218b", - "0x008a1367de7f9f6c5bcedb1883535c7ca8e700981f32417ceb689326b4077547", - "0x00f5bfef8afc2c4161327ee0f1e9d76d3697ce767fb3f8fc495197d0a5fda94e", - "0x0037f8b761056f154a9d3e4401d7bb527f80b28aab88191000efd070d51afff2", - "0x00a62f7301eaaa98105d733a314cf29b4ce31f73491eab30b7d8b7fe816a3d5c", - "0x008e01eed0d281429c61e8ab276382c34033c5e7d9417b6fd2054a3ed7b89d64", - "0x008defd0fd8351ae2d3d181df2982cce6e8e46eefb3d86a187ddce0551aef5f1", - "0x00b0c735ce9df67443966e0ad38a33bcd1751a7b6908b329a37fcfc7140c49d1", - "0x00ac2ecdb647a641359c418bbe9d4a529fb4e0f61ce3b4ddf277688c22ebd187", - "0x009875b34f1bcc1794de176379d7e5513606517aeb873923ab0869983d3f175b", - "0x0081d920d8beda018773fc50ed15757ce29fdcea0fd9eff821a833e8c14e6cc5", - "0x00d17c9b2a91af8aa15283e1b81eddf16914865e18bf247cdf0c24c287277c47", - "0x0028f430cb6ccbec1d19b05b7cd2455ac16a9e6f84b74f4872788a0aec83411e", - "0x00dfa4bf4a6ecea61153493615659e02fff62c024f94e22585161154b18895c1", - "0x005fca1428648aa3392292a9bfb600f52d537498ba4d4cd0e0efb2d3fe50ff20", - "0x00cb64fcbb71aa4e5ea354a534057550dd359829092e5877cf631fa7bf454a37", - "0x008d01036e164d58f787761ceec382eb084ef731c6052792bf62af15a0ddb1bf", - "0x0067dae16f6246079144bc6088d1f59970eeb4221278dd78beaec7034b9dff9f", - "0x00be12c7218389362918c0a44f60506a5d935c607066de252ad388ae53ed7254", - "0x00bbe0fc788d55e9f2ad7f2739f5fc0a8bbcb65e45955e15f4fd325cc2cc850c", - "0x008e312f0b13fd325df722a629b3648d3d03c844333f28c346140f439f38807e", - "0x004c42b149167c6b7c05911266a31654fdc213407a437f9bb16db6315c22e37e", - "0x00eed84ecd452ce0889a54f1c83b768a1177d95c2ac845b4e60f4e59c60a4a67", - "0x0057ca3bbc3814a1591efffd2cdbd90364b3a5df9e8685b40a01bc5dbde090a5", - "0x00373cc65a49b6d2fbd7365ed66b4e14b1a84f30a30f1c57d5adafb789b80083", - "0x007d2da114a6106ca224fbde9d4484bfd947088d0f61f2659a83a8cfc5a4248d", - "0x00ebb798f96a60cf532f5aa38825e9e078e7cd111558214388fae0fa1ab57d8e", - "0x004cdfd5df8a1397dfcec4bc0da0e8197f08e512fa4b798fc3256ded0a440e9c", - "0x007c6b94be8be77733088eeca09845ab7647f707ff58ef799cc82df425f633cc", - "0x008758ec08e02a6957a69b7d9416dbc90590a582f1ac245a16f15e0db2cf8292", - "0x006963d950116de1bfa3a284a459775d1f76b88a3f2ec2e6c6a4ba0179cfafb0", - "0x00de90b5a2d4d7310bdfaccafec8a0885fd7fe6e21c4f29679e9ce8afe8a5a70", - "0x00ec7fad5921ff5f4f70ec270cd1fc2f35eb1ff5e71b829f82ecfd38bee1332b", - "0x001c4cc4af79024ce75f25a0ada0c8143e61b30f19f43f7d93e9111ca6518b9f", - "0x002a8ea4455927920183d83f4c51e01262a0f947c3aee6146674c23bdbae60d8", - "0x0066e93bd24a6e751e6bf09ccc9ff2fe83b81d98ee5dd2a86201929efe04cdc5", - "0x005420fafc8558447ba9a09160942e3be994fb2c5e376790bbec494b131ce07f", - "0x00c3c072c0b481ad8c92df79ad85b2e49cb37d2e0d6957615bcaf0d1af1a1c29", - "0x00b2d060cbcfffc68862c73ca81fe1460b9c7c443e75fc2b0c218588a77889fa", - "0x00582b49dddbe57a344cbcce8492c2e8c3a2ac120d3b564537956d4d5fef292a", - "0x0062ab907ed39eedfe398c73e2bbf3524ce3dc6651816854f85754be2d5fdbfb", - "0x00affee4c1731187f9bc813e5eac2ddaf0fa14333e7c6db185f31834cc854573", - "0x00669d6925a395b79af86991107ed1cdc8ad881598b6626da17550090a5cde4e", - "0x00d26d6cb4633c07fb590c3e2036cd6d0773b40c2f348744fe29c5188b941b89", - "0x00d6e368ceb9a85fa4f404ee82ddfc4601e50b9e277cd3198b8ef25292ef7f06", - "0x00220a1a3235b3d1c722ddf9931658b62180ea0c7112f07af49e15a96995e185", - "0x00cfb9ce96ddd9278eb186a25f2ccea3c876daf2f3418756513b740a58e55306", - "0x00c066d8ded26a6d1cdb842edba4a4c0c301f448678972346131ac94085835ee", - "0x00a13c4473c1a4a083724780b6f281ee5a80439736f7c751e15e7f0f844ee280", - "0x00e0695686361b41acc6676206a19a6350efc8fb68de770da7e78c4d0c1979be", - "0x0062851f018fe0491fc308ff1d41247777883e2c7b6c603ec1dc1d18d97fea64", - "0x00c618cd4fc8569532fdbfffe6499ba6459147e85e94749136a82c05e30dace7", - "0x00fad141db228d242f65c8ab0e60c735c65b32d238c22bf71809bf56a02ddd65", - "0x00683147b81aa402250a38a08aee47d211cfc7ce9ef82b686e116950a08b6172", - "0x0012776d8e88a9ea3f9924239fa1222f7d995fb86d14bae166c97cf01dd5e426", - "0x00de57ddb61cf3a18cc9f7806a94402e90a519b7f6e89f1cddb3d5a4efa87b4c", - "0x00c42477e7a556e78ecd43bf76b10545817c95b5e0f35e4b034ffa8710f7343b", - "0x005032051000a6ffa050dd9849a329824d50de4670e5d90cf8e56fc237f8088f", - "0x007df4771c9226344bc711e631838a854a36ece46de848a67407610a02216bfc", - "0x009dd8f784ff35ceaccf1ef63514435e3f99e881d5b7bf8abebe944d83f6afc9", - "0x008c60af16afb22df586a6d726a537b2f2be194fdee6c0ab07419624f68670a7", - "0x0009dfc3e9bea4f03a1217890acd978ed66f55d4518c629f0b76c7ae664c6ac4", - "0x004990e948bd1ecbac764134193f5ebf085fc4f56b201148ceede62c6c885d91", - "0x003a354feef78f02f158b9a691e80eebb1c03015fe0ebe2f1f6776c81e8b8890", - "0x003a99884fb8f77facb41188fd81800af9baa56adae66b6a48320826075471c4", - "0x00cfb32f86e0cec3486d298d5dbe36889ae4c2a899b0ffd57e24b644c331dcb1", - "0x00b636ac515bd5250c2d0c04ab81dc630c01c510c8059747b4629ca4fdc12a49", - "0x007a30eeb6da29c81a25e47df7632723835a04b3903ac85db4abd2a4ce354ad8", - "0x00a9f6e9c119758d8a3e4884cd7381e480df80926d17bd02cd3ba262a56515bd", - "0x003330c05c4b2b7292952514eba53fc55fa563bce54bbfb0d644ee11175f692d", - "0x00420eb19987934bbe1b6a458527304bf9c8e61dbd0e31f280fda5b7031d2ae7", - "0x00cfc0a5e76b30f9c6566f85d7d99736c1bdb2caddc24f803a7d20073b2dd7e1", - "0x0003d71bff30c7b2270cfb4341b3d645d836a9ee17135f1e71f571e74d579c2d", - "0x00766a513ca5a25be6ff9ece10f5bcb56dc809351dea9eef5be9e1b9c76e8d1b", - "0x001aee1551d2d0f9cf587f561ae6977b462a57c9857cbbbf905c8cca21ac72f6", - "0x008b733cce2c74b9319770d25940b6e7193e2bb6c635beaf901410c586da7226", - "0x00c46c79e757ade22a2edc7c7785149f38b8713368375823cc9c6359efaa5db7", - "0x00951f8eaec2101f82d20b0f682754d0420b0bcfe5d8299c9eb4e9d437c968d3", - "0x0081da81f763cd1cc8eeab17660c7bcc0a3587b788baf5ed51bd3e9c18524204", - "0x00182779222b5d6d860d700639550758896110179287d5c47c0a20709ae62f29", - "0x0005d86ce897f287396c923c770063b4fd6ec84e7e9964f0d1a31c0cc8d5781f", - "0x00387b3f7207dd2efaa62f21131c1964904ed2d5973e4995ab5c43c2ec797b97", - "0x00a36c592f3dfc1d0507568a9327e024a2bd436aa23b5b3d315341a844f64c10", - "0x00bb4d16624d6bddcbca0263db22d8ee06e35d48bd905477682ad9372bfa4131", - "0x008388d722df1c2f8a3b9221c8b62b54410c4d372b0ac881d6ec7a71ae27db9c", - "0x00e4f6930afe65e5ea74317b46d1e2ccccfe8046a3b7dbbc3ce3d592f69166f4", - "0x00ede7ed65815061455eeb2a60988c879711507a43e7082031af2c3e7c152cee", - "0x00d51d25cce9536c14f2497e47ff4b71ebceee8e7a521e6be70e418681054b1f", - "0x009b539f2198346dda3cff0a5cf578bc2add45b399b80291bb685d97ccb2393a", - "0x009b4c45ca479e39496bd16271c18093417b7090ebeca77d21da705214d66f0a", - "0x008f8da0218373fbae243b2054f84293303e8b4f251987d74c2dd4fc09838bfe", - "0x00747a3f8ab241b5408746f7e913a18e71fe9e6061b1c4c0726ac18db0d0555b", - "0x00345ab611cf5157fd59f10a3c5a10bac598eb9abd7dc4acbcc6009143286ca9", - "0x00d8fc1bba8e21ffc74bf5492f047a2f0cb1cac9a70bf82429fbad5fccb45d79", - "0x003425d406c015275e3a8001f33c997dedd7346bf48a8656b15551b1b106d2a6", - "0x00cbb6abac0b5ee2eb57eba1c0a66bf98edc1677468012d7602ebd6b94e60fe7", - "0x000688d72af2cc33a4ed0e33a9c8544748edfd12593e1fc5eafa5b33797f334a", - "0x0055481c73fa822d622fe7bec65e4775fef24046f10ecf910d117c460b2942ee", - "0x00630c7fe7d25e0d0c698c343adeacbe448ce2ae6cd8b24ecb28df0aadd8875b", - "0x00eddff6f4b8453080c5a9042e4bc405a19f847050c3cf30f19553f5f87bab0a", - "0x0030ab0ef3b5e7a3f665838374580c33ef94277a77d64c2343b16d84e332e660", - "0x00dbca869634a788541a3d3b8017e08f5bb33fa278d8525e3289dab5b60d6834", - "0x003032c00a402c0fb35171118280ee15eb2f752af918748a389251383c124930", - "0x0036414076d2a806bcb1f0da3697c95acdb8a53a71babaa29556a916188d1edc", - "0x004ea75a3a62b2cc1a92caa4d5770e3e1679ee43104ab11ec539bc1aa2856b2b", - "0x0066aaa756b29f6eabd353ff3dc43a3181cba3b8fd225d6541bbcece41ee380c", - "0x00714e445d6930d843a7c14d1704df61c70e1d06fb5006bdc00e571d294405d2", - "0x004c96413b720888c9dd3e84d3d51ff59dc2e773fa907dda0c913d109c3b2269", - "0x00cdd94e9f47f8dc68f25a6cd650f62390fe571700ebbfcfb1841c90525816fb", - "0x00ddd6ac72739491a578bfe3d259c03cd4636dbca6d8f467bc084c372a0ff3bc", - "0x009141636989d775cc37c132e1e9b078b95fea2960aad301012e6640fe2622af", - "0x0010f84e23659354b8b56463872f8fa82f1cd5307392d46c8a680d0c44bec48e", - "0x00c55d64634fdc335fd6ed26b35a76e5b254578e244487e29cc8984b3e29b388", - "0x00650f408b3f3291778d51bad6c9ef683465acffe41c6392ad249e575cd0dee3", - "0x00bcd00ee974f53c29ef372d2a20f27c08ec9734041d1f7eed335f51d684c6a4", - "0x00223150fdb8944de8710d1e6019f64bf268c18ad91f76ac3942ec9d548b23d2", - "0x0003048ae742391a50933a6371a0847fedcf97f8196ae0f908bf0186be3efed2", - "0x00f114711d621d5ed2fd41f07def7bb3ed6581bc2aa7eb1d64936a971a05dfc4", - "0x001a06c27f5be3c2988c599b70f879ea0eb7db8fdc6e69c4692ed26f03e02829", - "0x00592cacdc184f15eed8b6eb6d723b5a2340aea94cfb2af5f6c02c5d98e1567e", - "0x00da634907d9f2851f661fe911a134e36d110fa9b78e69b010294c8c494a56e0", - "0x007cab45abd0dd22396edf200a9986e38f5ff5fbcc6e51bd2ad424bbb87e3d84", - "0x00d4630efd52be4a8ecf2e660d7c38455aeb3d97e15bd85ccf78081fe6271426", - "0x001da6c422ee84e1a8183da8b18724506382d3c24e8ff20ed396b40d61fa8225", - "0x009bb8988e7bd573d97972bce73448778745b8dcf04a3d3dcf97444191362cc7", - "0x00900143abf3d03fe833c96ddcf041d4198da7621fc747441e306e0506dcf815", - "0x0003aaccd34c3db92435ced083cc969b2a1e96733af2934d14b697220c8b5116", - "0x00d2da429311b21f4a5b98410d5e6c46300b2e695ae8e6c22f15c35038eabb6c", - "0x008fa65b3e2705cc5eb39116ecc86266e524d9ea318faee884ce74e99361f689", - "0x009583c067f246a0c43e88957139c3f13aff66b02a4a9eb88cb0f8216f697e2d", - "0x009d2d8b7638d60b89f99f5b11c24eda6f077376e526efe9206698519b09f231", - "0x00548afb3df380877e0ed57c95fcd7e6cce88da2ea32ca38437b0ad53adb71e8", - "0x0099e4dff7fca6ef8d9380255bb577340169fafce3c3b754d5fba8afbe82f7b8", - "0x001f47800a84fcf395263f52534c0b417347ba7d72e176944ea067bc649afe03", - "0x008b4bfac4f36c68aa44e1f8d2c49a172a91e705f19246803f599512e1302086", - "0x0039adaa93196eb1eb7655f4243d31a7b8fed3a9312fce3911d114177c2d5bf6", - "0x00f92013f89c29385b1d7f80a27a6444282989879c38a4fd22b1021e8ecefc41", - "0x00443116c8d6ec3262a502fce4c73e67b7f58c620cbb868e12c85ee76cf9b6cb", - "0x00b7a4c8eb16a15486eb0cffd2e8b696af4c4b0a0d83862985e9f952fe4fe687", - "0x009781b677df2ec95bac9e862da0635b6d8595251e84e997d08327fd5bdcd459", - "0x00772dc35294c3d9e2efccfa68391838684eea7dfb5422d84cbacb46b8b0f65c", - "0x00022fad03309e6fdd19b0bc4e5e470edeaadf381578600c1a3c5e7dcfbd2800", - "0x002e3582e4f48be8596aed830ba992d21c728cb5cd1be97c08d2c4e598edd8ae", - "0x00f75d9e511756519fbed9c53c20a23e1b6e199dc370639f9bd33e0f8bee2a26", - "0x0068879d1a0bdb45715f95f2b6a68ec48aac1e017e6a7f7408837b1d6a3263ee", - "0x00bf80649affab358bd539df6f5c57d89275b3f506ec35378058b36065543086", - "0x00b0c102134cf25a8649a9ca32147badb7fd14a45b3c07ee1cbe6d2e7066c4bd", - "0x003d16f7c09d5ada8bbb47820baec507b5c8c546197c44aa04c3c5989eef9455", - "0x00ce36d4d156d840dca3d641b2cbbf705055ea3e93c109d6bfad188036c88943", - "0x009fff9dbd53bafe250acde21d0608e112685b457d7c1538bf2d3f01f658a08d", - "0x004db2b9555af7af13ce6ed27ec197d279323ee77f69ded10ef0e7f9358e8290", - "0x0004507fe7be42afb7e2ae10e0f73797dfe23d7e3e96b3c07ecc1830ce5259e5", - "0x00b46a05288897e87855ff714f68e35e3d0a7102b5830e0bf3cb506bc75b6306", - "0x00c5d57d3c7750489eae7f13e6db6a18e0e4bc4f643cbeea9501584d0867ea9f", - "0x00ed3466bc5d7f3afd358e72a7d03f0c56e4ac71cbb9780402d78e530b7f9387", - "0x0049ff23b47a89df017c1e41b5b358542d549e3a934fef138f24d9e31a0a8a37", - "0x00870ab1e47a5707e4553e1d398f594d38bd87ca005f30d59ece8c060ca13b66", - "0x005199c7a873f60ffcb4056ba66b114c042e9ae73c6308a0c6f3847d2d4b1358", - "0x00eeadc61e6594f9939a8531254f88a9717b8db7fb2d0fa21245bb5e1af93b7c", - "0x0009ae334f553b40d2f96f385dfc895dabe724c84a428b8c6f84a954cc014ac6", - "0x00e2cee4f8a9b028135e32f7a46cf7283573af3b7b3e3a5204f6703f36515c5f", - "0x00507d4df9bfa5aa284f5d32cf4e63a553c59f7456b1c6c2d182fb18f251417c", - "0x00d1f1022260d9920884f8ff6ad527ba8d8c2e53ff4ed946a9b0b5073d1f2c40", - "0x0017f300766b9c210e6213311dc1370b941fe3b64083f074f190ef3d81723255", - "0x000527e681fd9b6433aac158b06f34d635a217a7690e7ad141f5f2a824b3c544", - "0x006f11d65b86cd5e709b04f26bf8618f6e566a4f2699107bd629e99919f3e8d3", - "0x0005862ee5ab56d3b46cfd967389076825a5cae19c7870c1bba4486605e58c17", - "0x00032843f93f71bb6db85b10f55f93588622284a6fb35ee2451b9317ce964205", - "0x00a5a6c622a3ef8c53232e2266c589d098686a7635f224746709153a9405c74f", - "0x00b8ebf8aa2cf4ec2f27eacba528ca7cc0ca347e407e961ff9d388ab0d7dbc5f", - "0x00cfeb88d8060f760369a816d5b72cabb7209876024fa4a6bd8ec10c3b9f165d", - "0x00d12ef979853a9b7e66a0a9c455d156bab1573983ef1ee33ea7055bc1873143", - "0x00fdc0d950d86dfdbf277bf32acbd23d7cee21fe98523b0f2c7aa51adc201027", - "0x00078d1170a79bfbeba7a3c77a457edaa966c0de83ce0bfb8f8bdea98a6b96e1", - "0x0059fc9695ac995b39df5e1549d4762e30b146d7d9747994b553c3a8860414c1", - "0x005c06fa6bc86c15637eeeaba3f965ec115b4f38d31dc185f84907c0a7b5eb5d", - "0x003000ca9e86e4acdd10e1cae137ff2d6b2bf988f41f4c1145a3338db7d43471", - "0x000f60eae1e10af828eff461c016d54b8427661fc5eeb8023342445b18c6fc1b", - "0x0027ee4cfb2c601485fc1267c5c1ee592541627f743683e1c3f320323f64c7db", - "0x0048dbdb3c2b445a475f45a4271b4877b583dc3ec71074e3a11d5235dde5177b", - "0x00f6d8ee1b6762cfb5cc54dcf62ffbef1f7761e32e421223614bb2e219ea03b2", - "0x0049ed30cb86ab8ce74931a9567f56ce783decce442319bf5894dc60784f3ff4", - "0x00e96b414ffadb9bf3342c63153959a793610d62e86cc8df0e879eb54ead8659", - "0x00733fa41f28951413a2f457eafc7deddb2ed65f3cbcfe490660af26245f9a26", - "0x0016bbbf7a9c1517e59ef1311a52196b5531c9f568fd5dcaf1aebd72afb8d615", - "0x00811250d576e403559b2bd4d5cc40a323c2945019096f06c4b281528bcf4ec7", - "0x0044012bd4a2d1899a6e408cc45934ac4161c39b28f6cb15b6392508fff6ac1f", - "0x009bd32275abf0081106d4bafeceb2fbda4700de9377d8416d20252c1e5b4154", - "0x00fd473784f04363eadc6e0154c8f6e431cba11a50966270e943697814680c9c", - "0x0070e7ecc3d6c90e703b47fbb27045030ef5fa74f7cd58441ec3d18142f1c3be", - "0x001fd95e18248d254e6a8d28e70524e2d3e8126355e016df40dd47411d6e3ab7", - "0x00f4ae3d5d9e9a6fdd51eca84116107694c7f0260727ba1ca1e36059a7633f47", - "0x00ba101a7106557dc308d28606e11b13b97c86db591073f3046d7dda2f93a50c", - "0x00f07c145657720511d6099ad80c0d625898f8227fd541f9b974b3ef273ec7ab", - "0x00103018fcf5400edc90fa035acef2a2d9ba2d2828639731024e6c2276663521", - "0x00a096fed0e93925086a63c76447813d33ac4cc8f6e5be388c529e320ddbe93b", - "0x00926af398be12232a689df0feaca171c26eb79b153bcd42fa4b4f296e746a10", - "0x00c1441cc4b3e060cafb286a12781211acab6435584502c663118f0f599d0176", - "0x00673a82f9c72e372623039efb324498bd80a5b679437ae8c15cd13eb32c0dcb", - "0x0084c4698a07dfb2346c62bb69ca9d17ffd3deef50e6b526c9e553229cbc6491", - "0x00f4d6725eb22ec98533191d66c7b8840d9b9b0a324d2a20694bf8701e3bd149", - "0x008f30921e797f66aecf1be8c4a66753b16716b708b020c3a85cc4f5c0d48fe3", - "0x00c82430efadf2ab39ff7082845522283be5ed467641dd0fdea21d8c87f8899e", - "0x005ef4b3c31b328fb0b7cb601dbe6218c3f5eacc4e34d95d114a9a52ad148c89", - "0x005be5d72465f1139a38723c5d06f33cc5238e1bce2df26ebcacf5ee25299002", - "0x007a4f48c9ffae9596d15d631d4fdb70a003a67b36e1904a985947641555fa14", - "0x007a62bd4d4f253313d212af356ce71870fb476673125674d17538d7a3f43c9d", - "0x009440b03c0233723aa368fcb1516426ae86cf12cc5c07d78f049b1a6c107027", - "0x00f930eef9020cca9cd875bfa17ba64f741ed4de2e1321096490e2423f7e7127", - "0x00e63a3350b3e4d2f3866dcada0898e35e359d2c0c543249f4628e041fc5f8d9", - "0x0044491aa038c221563775eebe42701ae3691f1ea8a97f5b623ad8863c8fbdbb", - "0x00aff3af85097172a84373e64f877031505bc19f6fe820bae75685ac73d39729", - "0x004b48e3bd0b164a38da72f37243725f5cb6a9bfece6e3e351f4c99cc27f9551", - "0x00bc97a16a84c6ea380c0660799594fd42aef22a5b5b37f8d3bc62734bebda0a", - "0x005ea6d789cb8866f9c197888ed53146555b1dd5fe7e796e2ee7000c228bfe8e", - "0x0026c71ed1b9649cdffc69ad2be1f7a2dbe61e7a0b3c6437450e8acc5870dda7", - "0x00bc2c08259b22701d118db2f13e84c39c10bbfed20d37d38c8709e97dd0d3b6", - "0x004862edf12866f7d0a313ef9dbd87b45e97379d27f8d5eaafdba2b6cfe35ecc", - "0x00f15099013801cdf326f1eb404ccbe215e6d8c60d56dd8c687b3b12f697a4a0", - "0x0089dfcba85117ffba88d41cbf6fc8b525a375d7fea7eae2afd82188a41101d2", - "0x00b42987aa0252f057f73e1b16a39bda85b54e3c82819a0298bd154fe8b79c18", - "0x00b93aeb99fadcaaa5ac576e710c08fab722c6a9ffdd164e07fb07ec260e7138", - "0x006b7fd64a8a0b041d6a495d347fa162e1f2a4a318e7379d8881fc02d0b5ee32", - "0x00f34bf8eddff8b5d87f5dc012a03942f64cd0e9c37afba1754e1e06dce8a552", - "0x00b710bc985af64956c586df8ae8fc76cdda2c9445acb171f58030768aef2ad3", - "0x009b7b9e3b0e2f6b66fe04e6c3c2074d03a233a0f922c995bbdedea54b3fbccf", - "0x00fb85115f376012c5a7105c1a51bf2d93b0c3637d56f67f73581eb6f487dbbd", - "0x007602fb766f7c7cf70da43567081abdc2a38a527c41e99510d97bde21ae3390", - "0x00e48b996a12bc01d73e190536ae8ebd73b853b65fa1f6373266d92f01477bea", - "0x001e375ae055252dfba5b62bcbe2323cff0969ee8ff55843ebfa22e6c457ee62", - "0x001a58d6d267fa89cfb3249a9ed99b3ae3a00b37e7ec788e896ca7416289efcf", - "0x0082a8e214f57d98b32e4e172d52500dd7f4e235b099cfbe57a0db035799c2e7", - "0x00bda8c8a5d377bb8bdc512d565deffba087165a79ecbb9d54a2ed948f0b73c7", - "0x00cba8f931bad934366685f1d5a3c051cb218ac1186050096d064806619907fe", - "0x00e3b56ff2544431148573370347e20a1ee98dd06c6fb66b9df66efb978b1c3b", - "0x00e731a2adb13492f319a77580223bda3f96cfe3fdb88db57a8eee8965a42c57", - "0x00ce2df488f5999d4f4381a4811a144c5db807d1c1b24c1742aac557c80053e1", - "0x00e4f7ab6e89d49360a27fb0ab6e239818fcf7302c1a4d6062fafe325ec1ed2c", - "0x00f6eca98c7af9188c4180dac79a8398893256685fc98258867072a957f8c7e0", - "0x00c0d1ad16f02711af6c16f6d8ea04454f2bc78b81222d3ef709edbee1878079", - "0x0058ca19736d4e3b308cdde3e6690713a537908d150c60e8214416fac3991345", - "0x0021b1d67e08df4e4329bf6afde4060574647edb75b0d859b3469466285e77cd", - "0x008a7c0fde930c04d2631bbcf59594cdcb5b958abea70fec335a224532bedb2e", - "0x00b5287453033db31f48b105f19ff5417614b06dfbeffeab5382a38b25e2ec98", - "0x00d6061727fcb359d00a731f437790c80ef8ffaaec3bee630d18425bda6b533b", - "0x008bf109211608c00168f5589ac69a857f75644c7e96937c0f13e6896c593ffd", - "0x00d16b3c17ea03ca3f6eddb9f86677a5ab6f0febdeaa8f7bbe039cc874a2ada0", - "0x007520203f0780796f265a098f31b46f19bc51eafb2ca6f34e9405e26aaa4ae4", - "0x005f27beeb41083842f13d7dcbc595afe14fe8b258a077fe580633270412a143", - "0x002c4b9c714b7180885c41279de9ba70fababfcaf7aacdfd83b177f08fd48a3a", - "0x00f63fb88f9974819c204cec5df422b76c78a1956128a2daf498630d419e4c3e", - "0x00f0f4361f58b1b48f869ade05b51d0d47097607cad5324e837ef841d01ade31", - "0x0004c013069da27026e69c94ed14d2d76e38abe032870f17bc12b6e58811699c", - "0x005d6e77ec5cf712632f0eca1ad673ddfc424c1f2dda07f15124439d488ef3ba", - "0x00ff3de090794ee1fa012c7e308af4cf1350e6753c197a9fd831ad628eb3142b", - "0x0020516846d294c986bb428d23899d1f2653f91f68c79d562fad6a02320aae78", - "0x005c855479db5759a05e85ed8ac2ddc2209715e8afa510ebd12a498d80b46ca8", - "0x00b4fa51997a2010be6af3f631068a4f4b3a2fac2f0aad4cf91388daf3e8d306", - "0x0037dae3258e8ed6ee2007c5eff88edff9bd45a7b7889b7662d6e7219d0f2e75", - "0x00f19f0ff5295ccf48a5e91d115f7d3b656272cbf86d2d104ed8652993af4da3", - "0x006970a0b2e5601d325b12f95898bbff0505cd73b2e5b5f8cf4de0a04e8cf3d3", - "0x003be23c26a22f358eff84b47ca21190860db7262965e77f440118f189dd0e58", - "0x0088949ce3e3e1d53f1e1ba93572399fa02d52e35fb6855039e5e07491828f33", - "0x0037c64ad244d8df40fbbf5def5cf12969054931dc1df569edf38fc88862d91e", - "0x00764f0091e49151912edf8ba1a5bdff031b809525263d915d0bf022d9a02ab1", - "0x009ff7233f8fa942f4765fb5c73f9658893e3deb92e57951f84f811e42bd2007", - "0x00cd4addb5257d67973c4e501410bb99c64ec63c43cfb79d4edbacdc937723d1", - "0x00e10470af78b828b49c31a2fd003f83ff2c5f9febcb068e5218d5817a9f5f2b", - "0x00c4f50f95b3b59af533509cc405663286fab927483cf79158018062e5cffa73", - "0x00ded3a5d787bd0e373e5a92c3fd2176f41caaba73bb62ace1e2e97c751e0a4e", - "0x008cc7b21b2f0a24c26f4ce3a3c791428d21c0421d516a69641e67ae8a22b332", - "0x00fa000ea2418633dc5038fcbe0d44430fb879f3729c9f848f2a402c1bc9a90b", - "0x007301487745d06cd736d35ec25c87b82f926f84a288dba05e9bb8699ea4595b", - "0x0093a400119a63adc51d932e6fffcd01856f8c3696693773e1dce3fc8880900f", - "0x00520abc50e623742908d04f396f956182d4276a18064c00b7c5dfb94724eec1", - "0x004d0e3811c1c6536e40cba4cc4b1e465fd4cae2868d1483f77a8888b448b045", - "0x00c6378706b366c573f559f1780d7ad394b82486f7bbbc78ee5541c24919e489", - "0x00aca2fc39a097e065159e7c8a454d42896ca33ebccd87afff2116c0566d8dc4", - "0x0028c947402ef239d431c665f8c3f468c9b9484d69c343f4202ebdf9cc6f52fa", - "0x0070c29c8b31bbe9c00282630db8e54adba0f9610a11c8a661977070b81356fb", - "0x0077afb968df793b93b4ae3d977d0d9b08ec04b7fa7c138a61e7c4f626c5e81c", - "0x00fa6c1f78dc0d90030520014765e284e578f890d2020716a20fa565b61a09ad", - "0x004105fa21748358eb799dbf16af6d85d540805b863c6163c9a662ff46831878", - "0x004983f56d42a7608d651e488f2c247db520f23a9814fffcbfd2bfc00827be50", - "0x00a4d5924a3208de2bed45dfc88bc95374f66bdc8c08f843711ffc575176f501", - "0x0076d7715dd5b7930f1797c3b76dea0d7d2aed4f65494d7dddc98fa88e1a089c", - "0x00166e26f8c78188aa15649749180886476a22553646ec1287ce827d3fd3f614", - "0x00324eedaeaeb3f341d38e2e9e6848be613b6226600d9379c1c42443026f5024", - "0x00a47bb5c73625f9eed118999dd73fef98b31f00b9efd7df904fa8b293d47044", - "0x00354da0683a587574dfab36aff4a9d8a50e86022026d0e4104c7891b66b479c", - "0x002ec1573523a1238e972f35582b55984932b0f1fe3b6b3b13e4b171633f6a4c", - "0x00e2e275efeecf44da314dd0c347d1cb99bdb416abbfe8b33c59eb50ea6e191a", - "0x00b6783306612ae3ed2adc727060a9fb7cb12aab66b418dfb382d83fd88af72f", - "0x0064b9d6aeb1a6ba613120d17a5c85fb9c6efd2e29abc9bba75cc7f1ce90be50", - "0x00e758edc1d0307f4e021491edabf8a11c12ad476ad7b7e4bf3dfd7fa41b9e07", - "0x0066949d2beec524d5b04c6d55df10d6fb563cc37b4da2a88e1795374e2a71ea", - "0x001a06e189854123150344a3c786a6b571dd3cae3ff872b41bbbb3b2c8ad5e8d", - "0x008e3f7a894c9b7cbbdc9b05dc6722c56fc3e75ec2d19efce04c20fe245fd65c", - "0x002804545448974ca81d4189fc78a50405f2f6497b16d3dbc0abfc594c65f06e", - "0x00c6f2ccf6c98d976ff055ed6da54c69244d253f715ad40a5f94d2644dfbb258", - "0x0014ebaedb1a03d559f9c177f785e814b309e98b438753829df9d016dc6d7243", - "0x007def92b0b59608d4192c8921e14ad1988990898f64dab24d300b26e9de88f4", - "0x00a68f0aca0b4b7d01142d4b140811c85d972d98b7648623024847d4c8af7d30", - "0x0038d54c936598bcae0994e51a71693ba57d1ba2ecbbc75d5224ddd60e771714", - "0x003d142f41bea146f517943fe616b9a57e5d0c2c07ab35c31d68f2f024531fc0", - "0x00e9d96c8a6495f76a12308ed18a0794284b41fb0e99f736f40a412e6feefe00", - "0x0077c95b0c516c231214dd83d55b8b9d9e9adb4235b0e252b598e3d50f513e76", - "0x009263c147f9d388cd6b800bb3f6b472e534c043162a9bb2936f0d19c972c837", - "0x004487af311df48eb6033edb07aa5d1750a9174883ef74e4f1e323ff84c23421", - "0x00909a6e2edb2ca61f4a42ee6f6ead7aa18e64c7be0ba7c4ede8000cf8c69716", - "0x009bdb63ba89717e603866e32b6068d9e97adf6626ffd12bbab083612aac1dd1", - "0x008da541d760f00eb67b1cd77472500d96f6da90294d118c02c1363fd9ae3ec8", - "0x006da27de4963de87d2065e934bf164060d75fc8fede5b16636dcd27075a3ea5", - "0x004eacf0048402984fd75143c4fea8dd794d3f65877f47655b4a87c034fba15c", - "0x000566e26bf64a2287aea90f458c889414d435b720bbbcb3493edd1c8b4cd75e", - "0x008e109ca6f9fe9f5841b940f05ba9522a79d9952a63b0d3e536e8788d7112e2", - "0x00a6c6e4530b3f0da94bb6ba6bf0f90e838a67ce4de7b48f093d1338ba4eaa91", - "0x004e83c7272c5be53dddcaf06132a5c944e20a89cd1eb05153f067ab68600990", - "0x0044f60c26176a0ab32797effc6bd1f01b838481b37c37cbad26b5798406f724", - "0x00f341d8b18b70682eea2627938b52a7f2d93bf0b6a1b75e0382704b47c3bd50", - "0x009b8b2412b311fccd124fab775a71afcc6a4067bc15253f5cec1a3f0cb420c5", - "0x00b6220d791c97c385ab66b0b4a9d4ef98e85052e853470b18342ba87905ffb7", - "0x0063ff9068ae139492035840472700d64ab32a1f01345c2cd94f67bb5baefdce", - "0x00a7d104366fda986e87193d51636a185114ae98d152bd1eb5cdbcdbcf560f43", - "0x006d87afe22d3ae4c4c1946edc3ebdfb885e4a35aad43b891d69ff5251555683", - "0x0034cdb9592af4f42354a5238b98a824ecb0e699dcf532053ddabc41fbb846cf", - "0x0060d319ce752daa347fe3494b6c46c674a8803a7b517a97d7d56edf45a19e3b", - "0x00933c79e5e3162f8f9a2ec76baadcfe9aea46f1776e164b56809e2e8e2f2c97", - "0x00ce1e704fc367b86a406f7b5260eb109f770e713ed01a8859e77e12f0adbfeb", - "0x00c547b95f3f3db54723681ea4c404c9700a69748e6b4347a8b84ef9310fcd96", - "0x000181c77a4f0e451fb1f11c48bc4c6c739bf529f30b435b62e40864085b3f8e", - "0x0012dbca9355401d47c4d23899bbef2c2a3ef2b9e10fca7e05e934bedb0be874", - "0x000ecb90bbce64526a780cace7d3b6ba069a8b15918faeddd12391047ca2c79e", - "0x004041c94ec36e6be5c661d514fe0c7e344a2ff03a2b7641d83d9c8328e37baa", - "0x00b2dc3d0818524f237925fa4084f491534851b9be9a3d88bdb2fd4565268987", - "0x000a2f61feedec2356ec58f9cf19365e0c9fa76c35cf7bfa1a5b8f53b85d5c6f", - "0x006ab17c1c4bcbb1adbff04213c0124e4e79a132839fd82d927c10568c9b9b66", - "0x00306e33ba160d8a45c4f3704493189b5fef07b183deb4f12b6ad5ab02f478bb", - "0x0092299d4a43fbbe82121e3f9bd82c1dd20a8901b2c265edb7c4c3a3103f52de", - "0x002a443e058af8b4d75937eec33563e56b94f645febf2f65ee6bd032ed4146f3", - "0x00c5c22f5e3e2d6c5b1a5f2e2e4f3800c39730836fb3f96c8204b34b2df43042", - "0x0081abef99b3a03849eeaa0153e566128ec679b84011fe04a45e41f000306e33", - "0x00816d15258fe21ba00eef55718f524e8eb54fa33d3b4281681a9599edc7b94b", - "0x00dc65648695bc558952d1f71cbc336eaf5abe00f113930162c77855fb0e70ad", - "0x0003f18291b0ff7eabb12ab9808b1261e8c607895e2d0e2c81783d584c087e59", - "0x005b90d9c60f19352d7e7b432898ed370c42b387424d7ae16eabd695ae6a1eaa", - "0x002e2ade92905d82fba2f322d23333f2956a5350b9092cc3c61083be4626eac9", - "0x00a3f1fc93a269e9ba38b8552e4212809dc08fade4489ee96d98b8bfedbcd0bb", - "0x00cbec9188a35f884ac17174aadf50d91de8141a37e109031ea240dd70f6f6cd", - "0x0013f81bdd622df15c2189722d8519fc22100775ae3848a24668b5529b3fc85f", - "0x00e3d568613254dbc7996dbb605331f79315c09aef8388006ef89227a8880bc4", - "0x00dd1962ada2ce8cdad78d0f9f3ee2c79a34c6bd0b2111371b582e049987d4a0", - "0x006d3cf44a164fada4b224029d53cc0f5ec991e00eb23532fddc8f5206d9e5d8", - "0x00e186932efd9f6fbdcda00cf114217997b5fc901e78f5e64aa75d856475ca41", - "0x00dc20fe879ccd8e3ed4655358fbcb0974844e35bc31b43ce052578ddfb6bc09", - "0x00c52bd744bbbfc8eb746011e7ebb1dbdf605201e12cb6220bc7e845b400e694", - "0x001dd334b11efe7dca33293af74d36373206279dba5155f1369f5a3e4df0c110", - "0x000800f25ffdd356a84fe3fda24008409dbde94d3751f81b41c81e35653c5540", - "0x001bbf2280416879ffb51e7f6150a0887b9bc254d890aae24e6e1661d70ffed2", - "0x00b9aa815214c6ef0f12a01561a928c98996a43f69f6ea96b55b99c46bcc8c97", - "0x00ec5012610954daa0d32d2b54d2a5a7d102a5c9f72a9385adf78bef2b13c323", - "0x007aefb62ced1711e2e7248e28d12257922e77ff1a0567f91f34dcd6e0ab2974", - "0x008d2a069b086848640db6081585626afcd9e9fa199208d2cae8bf3368d23984", - "0x000bb259cb37b0c7c6aa8165cf1620584748c5855e21c8213682e922be2b2f7f", - "0x00cfbd8aa38f5bc0e215c22a2d74d3c6f8101ab796f1699fb1b95d1963c393aa", - "0x00f534d3ae16092f4dd73bc51d5b4a318f3337c13a7b8cb26ae4a556df198e7d", - "0x00fae133656a96e573e4ac142aeb79e8b5724b6a9dbfd23f64c88756118f5410", - "0x00cbbb83df297726c42b3e653467c1b1922516312d05cfb584ead27826f4cbf7", - "0x006f7f560b974481bbad55ee635ea4cf30707d3cb64d8a4fd76f48bcb08fae06", - "0x00b433d17256f376938135f241ed9500b31bce18ae9848deb3d5e1c7d3058c35", - "0x00a9d10ce750787169a9f86a715176846b9c191e8b8ccc7d5b8cc963854c6d08", - "0x009f09d00ff689adea962073823a69eddf6a44916875313c2a777402ef7f995a", - "0x009cd87a3109bb8becd6b70161878c21307d5567c19bbda502631b4860a738b5", - "0x0019d2f888f4689c6c9cc3909705620178d1d924ec85b2de134d442a8c20ad5d", - "0x00307a1a72cb4eee7ff582d6b45fb5eb4dfa03a1a92e0ff9bf9f62ae93ca5775", - "0x0038f754b402a814e2c2aaec3b87a5789463b46d4bc4e1369bb01838de6d491f", - "0x0098428d85469ba5b1409a8da86bd787930c760927f67e7da79f2b08f10fb1cb", - "0x0059e3996258ea51afc9c50f970663bf4d9bbd8b0f2d8f13541434645370ae18", - "0x002c6cf4c52f784dedcba40d6de4afca72d2fb475791c12cc8aa1aa543d0a4ec", - "0x00ab92c6ecb05ee311aabd6802b2e94406e4d227fc554d65a63ba2e39e805c7c", - "0x002340d870c6d4e183578296098039fe6e4bb7053e49b4eae34958aa51ad6abb", - "0x000648fc4c56db27673459a9e7a5db8a227fa348f89f1e8530b787fd25496d23", - "0x00fcb93a6910030147d39c68d4f78c2a46829d64d27dafec28898e9e77085c27", - "0x00f7cff27108ce9567bee856bf08807b3d3ebaf0025817b49c9ad122316e243f", - "0x000d51bc177ddc1dc4a723329c8e5a9414ca122b959bd069a30b97708e440b1b", - "0x00c89e76e267fd59380e209187fa8616ea7a9101b7ec845a018f75c3239d43b4", - "0x001c658878372fb64abfef36344f6b8ce01b06b5ad78004974daad3c6eeccc28", - "0x002e0b8b2ce335090d4a5d48bb985da3c3aff7527e0145219da0b5487f0c0aa1", - "0x0067579928869bc770f8da1ca43eb114e5923649c9e3d7f7579312d19c61d527", - "0x0012230c3847de0c46552892aedd1e01b5651f654a12b0726c897b93ec44a142", - "0x00e1e6fc912db35bd84935de46a57541c5500d7532f29eb5e501e1233c478ff7", - "0x0073da7fa32f3e6d2daff1e93c8b45be8efa0d01817e1aacd7d59209e6563639", - "0x0067ce42a88c1461abbadfe6da96703c1ad095bbbc8ccb7321e0f9d07734b4bc", - "0x00ac1dceb41c4d1b76501c731ea91d75d7d77cc8d39036e9af6bed9660ea6b24", - "0x009d709df52bf08eccbf3496c86d1e0d25bcba77348ba6222dffd74d5a9a89e7", - "0x00e67ca44208f0f0cc77d2e74b6eebe3c9329a9e853e87c63a08f4e2e7597ba5", - "0x005a9dc8549f90c0cdd4f33f8ab33b9cf27b7f25995eb7a004982fc0bafcd4f5", - "0x00a6bd23e75d2a3291ba5d3df8f1b1849ac2d800fb45729ac513a35bd308e3a8", - "0x000d4fccb802dc3e96248a2a58afe3c9ef4e5f5813ccf3803f0d06a3723dd8f9", - "0x00fb4d4a1a8996a15b80d66f425e604dfb447d927caa1ca37e6c7abdbeea7f6c", - "0x007f02824f4118b61873dd89fd693907be92f3a2c7499e443e1796606d4b554a", - "0x006d7e2d76ae95814096aeb572c32d565c5a1b6cfbb02c9116c0003c3a639058", - "0x00a6a27411c49c16174f768167d612049be6a4c4644f0062efb792bf33f52939", - "0x008c4fd285d02d966a8c09b67612c5c7705e67b641374772345021e1162bc6a6", - "0x00aec87c38cd73dfb68f27a3e1a2aabe9027a612e627cd450ffffbb9353d0194", - "0x001ba503eeb5b0738d8a97ce8523366f91853e8e3346647c78f969f04eddec86", - "0x00873b022a583c653490f13786162c45667edf4b62a232a577d14a102c539555", - "0x002b3ffb9b8ac2dc1e4b38b0cc382eded1ca96b602bc30888ad7a78a4fc4906d", - "0x00423495c9337dc1f90087b3159e5e3fb07725f6890f39d77b07eac3dbe3c990", - "0x006b36f025f47412a10058021096a810d01ab40186c661e21f5d5463fa948fc6", - "0x001b6c073c1533ad4f4eeb36697098944e4554d4fd57cda77242404e1e1aff57", - "0x00cbcbc329c34204829c4f2381835eddd47888653bca85043e2a3fcb1c3920d3", - "0x00440739d6905413cc341968ce2e7cea2416954f8330266ecaf986b2b96faf00", - "0x000be1fac884fefaa6d76822777789dcda21d295abfe352341ea25411aca9de3", - "0x006f79c1ed729437194b43cf56a07d758b5dac6cd475c98d6c26dc07941a16b1", - "0x00643a9e68a98836d0fc07635199526009c4aa543878dc1c55cd974df690a298", - "0x00a817d4d1661908848541a8d07f9fc7b1e3276f4e721bedabd37f42002d093f", - "0x00fee950166a6bd9a55650cc44e175677547f90b5db5fe0c3d27554f10a79af4", - "0x0064c7496c3cdc9c6b2e832bc7595c33c2995c3d927602c1bb907de1ce247946", - "0x00e2d3c3e32a72c03a182efbb9b714e0ff7e3d700d1b8981fb8007a6fa198534", - "0x007d11c4b3f3ca9359a3e912c538389d6c3c51d1cf5eda6deca9b34bd196c0fb", - "0x006e269eb4d3064dc1dc2dedb67d17ae15b57a0b6b8d9814ae3cf3509ee2dcc9", - "0x00fd52607ccf13dca834d7673a21e3939419a6580b121e4272e2cc0f55f33a99", - "0x001c996d803a803ab63f7175474ee0d85eb339b45d54446628c1dd966a89104c", - "0x00edfc1e491885319c641bbd7fd00e7aac69de92c7cf5978c0033b0e54b9986a", - "0x00028a37a3b0cb5fd90a9ffcd6e2b25dfdd8a283054c1c98c293872c167c4032", - "0x0066003aef2b8bb2ed3ce91742a7aada37c519bb7cee056da4a6c044cf61554b", - "0x004ae07c50e5abbf2e6c77dbcd0391ecabb4d57df2e0f70622d5d8b9251909b4", - "0x00c8f647d5c6cdb0014ef1aa6a304de5f1948894bd0c14c1945734350dbdc72e", - "0x00969daf534911e25435e21f5f8848d2a841b657f7e462eb62f8f74d2626be6a", - "0x00662abebe12a3986b3fc3926e05e66be496244c80e1c12574ac1fddafdc306c", - "0x008b50f1cf16f278425177988667ff7a27c7d68368b0e49606e05717cb9304fb", - "0x00c702805e906d8f418a8f57c9bb741aa981fe6d225fef4e6ceebbb8a35ec5fb", - "0x00cb5e4df9f8f9a7a3625e15581bbd0ea036384aed534f54a7222c104705d9f5", - "0x004baf431fcb397605e6e0e77e9b439128c4e8c592ed71db3e26bb70f67e658f", - "0x00b365bc6640e54a7a96222ba76b5f40a2952edb8e9e20d51823b728cf159357", - "0x006a7bfc7fefdf45c5e1c1073f9e209e02ccc19aa09c032d6ca00a13ee2ce9c6", - "0x00fafdc60c8bbca95ccb186e9e624bcef58f9456c6e04efa65000e963729a1f1", - "0x00e20560542795b2fbeaf126dc23c0ce88f153a3784c996264bff68d5229c96f", - "0x00dbe730f25be8f0d062499e55413e7e370ee46b618b3f58c923de454847d1aa", - "0x0092fb523290c39e81208cf900fe90e1886f56d64ac25703cd88781a48427d61", - "0x0062862a997dc043c52c0eac95b4134d3ab242b9e1bae0141c000f27cabe813f", - "0x00de89f208ac484598db44ce15c3be4bbe95f0c7a9d7134501aa65a69c4834c3", - "0x007b626f493f0970d86e2fa50d6677a0113de795a34dd642e808d8d923fa6768", - "0x00a2565aa5c55ea5149758ee6d36cb51573a95547a8ab02ebbbeae3fb9f694d0", - "0x008941aef61e6a84778dbb3de45f25d86b42b0317db117a3de74b8a35b600bd1", - "0x00caa7ea0687c13a74f19b23295bdb5cd1ee06f5a93ab3adbd552c9d7c38ed00", - "0x002ef01001338520e2855421164b815b33ce93b68db13b9158629ff492894fdd", - "0x00d9305b22032740f60d8c6372ba8482272e86c7f184e1882043fe7f7ebf5cb2", - "0x00df546cb7a928c7fd238908aa216fc1271db8f16358ea665f38545d3572233f", - "0x003eb4f08b1bc1930b0b9376b1faab6027178f903bdc3b5328782ba9122e8034", - "0x0075138f411fc9125cfb9344ca588e293bcba231965fc535b40bcb52ef52014a", - "0x00e3a20e3638e2afeabeaa538cde39b388c9aff08250a0d2fb7af2d6be68f47f", - "0x0040ec0e21082fe9cef5fa9689ac8db010d8d8faec280cc0445d50e810393ce2", - "0x0035dfebf1da9063c829b6032e694f2512c493ee05622aa82e8816ad766d38b4", - "0x00d2869f3f6939825f54e869b3ef76d23ebe6298304a01d2bf406c62ce2a400b", - "0x00ae5066a22fad31189f2594a523398a39a53aa285161a06ce9bca61b7c723f1", - "0x00734c53e1b0a6b2e131094cdf30bf5bb78cc161bf08a801cb4449bbfebfdfbb", - "0x00b70d47117255a8723dd489454fc9a8ee9cf2ee03e484d3a5fc1fcd462a0099", - "0x0039adddc5a8b21d7d06a4d5cc128daf8876554ce5b2ce31ebc1570224901035", - "0x000089024b127d89cf9d9eb0b844f8e9f8cebae8fab849025f9aca007cef412d", - "0x0025383e441f8fb0be252cd9bb68fd215ca40bc4ab3dea0a3cf069f1df2a5266", - "0x00deb95e7d823c9558c263258d524e3aba96b4ac4e389e3b7f18d7ad42ed2e59", - "0x009063912a5e4ae60d2a465e37fd553acccb44d503c9506fe7ed3a548ef680a6", - "0x00d3fa129dbb723f42df7c247d40fa88acd97d35239e946cd277dc601b09a58f", - "0x00e58404d055845c81ddd65306f053c91c0d253b470f25ec9b642179ba7770b4", - "0x00a10e411a0b032e7ecf26c925151733bba56188c29b490547f831c984862e81", - "0x00b27e6833510b9047a579d77731209bd8fdcd9e8ef24ea082caf8f11cf086d7", - "0x00d9a45f789b8d87c61d0d7d99d6db7d6f028b2a00b626bf2282849aabcdadcd", - "0x0091e7b6636989857ff7aac6c27ef39e3d9fb86ea81f34ea92661c5561363a9b", - "0x00b05ce6c964c989f2aaae5e0d74642ed1b827c1ec8487ad220440372adf4e2b", - "0x00331b590d3b6ef5ecac3541fa7f4b1834a376cbc2e5fd2466809915b36872bb", - "0x00d6823713346b1d687570d729d12381a3d87a111d16de1ea34e688c5d5ff411", - "0x00c4ac231068d3e68018b4a119efff79de7b878e443d88e4feb20e7f711ffa46", - "0x003d7f2e37ec136a1ec220e593ec95d58442a97c0d44a097ea903dbd9483f774", - "0x00b24ef629b6e2242f3cf124e04ffbdb12fcdd26b46df7dba50a5ef2b3436d6d", - "0x001820e490d0a15d2abfd9da763ee1c204cc6b03ff450225f72fd738c85c1219", - "0x0000bb4a10970271a40c5b51ace685eee95f2b9d7833f1a7bd669b72ea5d28a7", - "0x00c5a4344995d62d0d8fe517f818bb88df7122d9d7c845c79fb4fe71460b055e", - "0x0069392a1a2287b531a598463e8641defbd76e058d860b85da616b8e5b0a8419", - "0x00c463b82bdbe11efe5e9043e8d65236c641ec43f6b025e865a1f38d9c88fd5f", - "0x00ca59e6ada6dc35294db62ce900a9e04b79459c3b9cd9bad49b5e7d5e9788f6", - "0x00283f54a6b189246ff3201a6e9a30ced2913eedc8cfab727a0a0c78eeb86415", - "0x00bc3438f6bf6df21246476f2a498847dcde687a73dffc33901a680c781f4eab", - "0x00f24acd026d18de71cf9dc83400fa3b6c03c2816c45699e36a9fca7b7f2f5ca", - "0x00ea0c903668cd9a6c392391f6e87f2a5f077e27584731a6f463241c6f0806b5", - "0x00ba26b13d493cdff4aa09f212c95c9dd967549b497c3984d6faa7f24bca6fc8", - "0x0000b77e8f80a8537f698780115c5921ca7245bc9682f400800451b6057497ba", - "0x00592e4125370a439da50ae644c3c05f5f668739adef3576e1a6f211d668eb54", - "0x00577c48038bd7f5d74e0a8a31fb297cca610c9abece3374a4f528feb9204cea", - "0x0010f41a084decf27397304c65e8c61f3911a33bd37060c94a692c09f8f44637", - "0x0073d9d908372ff75e45d1b47a863fc851811eb57107bfb9812e617fe9566b4a", - "0x009d86d8ee38d5024901c0c9fc39f43e121b69758bdabb2471205325a37b56bc", - "0x005b28ab6ee1a58062b3a484c831fb00ddae436c2f33f5c8626158adec3eebf6", - "0x00ba6f689a96123906f4cb8e4a563bec4aa294b96def4346a8dc1c2cfba0e854", - "0x002746e53019d3aeab93866918811f171d14465a416e9bdc8eb118946b4fcf31", - "0x003898a6c4ff58c84e11afe1ac9449479bde5f455fad33c395e99416f5426662", - "0x001a55d649945df471c48c642244578da459c1aef75f67cead40458aa95be552", - "0x0037113c297f1b5aee786d95cdf5aeed1bea1ce2aa776526f5b837156eca178d", - "0x000c068d44566ecac21d9a7b86f9b152ebc8589ee172b5ddb54d068be0f2d6e7", - "0x00a6ef6652b87cc02c7476744d54fb221ef25327373a5fe9634bfbfafc63ae94", - "0x0020d8e28bf5a8093061815f86e0eada89e1e5b6ae788100f8aacb3c890cedfc", - "0x00081c63c72a71ec6c7c2ba1ebfeab36c7349c9f0e8120cf5401a30045bf27e4", - "0x00decbccc5306e5233d379392c50afbe3115047061541e880672a1d7caa52690", - "0x008c31c0c9e1851629f10a9ec8f9872dfb7354291041dfdac6749e94780c44e8", - "0x00ca5eb26f944dc28c8532c23b5cdaf1e9b296ffa1f068ac246d0bac8468aa0f", - "0x00295a836e0ddd27afb58cf7929f4c2e4e32a9ffeb0637feeef4d7ec79d0a162", - "0x009291e3dfd9c51ef102644c3c98b6044252ef582e1daf7390075152310152f1", - "0x008d4dcb62a520d2d184f5cbf0b6048078d98bb69540e8f5aad7ebcc96d848b3", - "0x003200591faaa12b2f2ffca0d9bbbdb9ef96678fc585cf8761a5b1f4b2a9acda", - "0x0099838f365192c40a840a84cb8f71dbce350b2c88babc377a27ace7b57e1ba4", - "0x00666cb184cd279de13e1dcbb5dec3fde173241e3386ed9724b196da10f952e1", - "0x004173a9cabc6dcd9a8d0a4555be20675906580938413e3abeacf7dd2cda231b", - "0x005841aa2eacdf9f5d496e61cd348f52c349f2fe70afce24f3f3e4e541763aa8", - "0x00fbf617e7121c35c0e2908fdf654e9a18ebd0a9efa61f70360e4aab143c0629", - "0x005f28b586c434492c602316df967bcb39234f338c8e445b30a56414a8a7ffa0", - "0x00477480be94a56757ad4a897f2fa2c5162df27dae5e7146cf5412754c39e2dd", - "0x00f9ccd190f74b3981aeb194d4832a8562f36bc4493b202bb96487e7212bc4fe", - "0x0078047657be069d9bef878497d8af387f7d0e459e249f6db7428b055c1ddde1", - "0x00dd309457fea5bcbae7e9731ace0f440f8dc28bb6fe4d8c5fbc506acdaddd7e", - "0x008fd42a41ec67f3f6b8b9ae307e7ef0f584cb6ef903fb8f80fc55bab39e0cde", - "0x00a8726f6f685a720350e7a177d854800742fee87796e8b6b032b90184ea906d", - "0x009fac8f87b2bc9e2ded76d5de8c6eda191214930c074acb2c19394fe7c31ee0", - "0x0080a0680632e84bfa2e9b2fd3ee6832af11cceeeaed7083cc842d626db4af37", - "0x009dff15c08bee670cf86bdaf4a2a8e78cf04504d65fe8b5cebee4265a9b4288", - "0x00f759ac6a3d758c4f7414eb94dd65675bf2597b00121cbbd2b285af9f113292", - "0x00db5b3cea67dcf736da727894528574b446a567595925cbdb8d5f2ee6de9c5b", - "0x006a1fd13c669208784278a9615c416ccbf29cf1ea092656e7b95ae7e29ce069", - "0x00db713df744b7b286d4b3e1b8b7f63c4d060051453b1d007676c6f5c83fd7c8", - "0x00e14844040ffc5b8a539c9dc99213fe78d9836497cf729a613bf4fb3b255567", - "0x00b8a47be2c759819a351818cf309f931ea82b5ca0be8b9f0b9cb88af01fcf39", - "0x007f72e1355116ac968df8bf85e1e1eaa556f9410b09c35140884312f50d8dfe", - "0x007de6eb990a3720e3c46fb252120488e082ad96d8de83895fe4ac7da3829c65", - "0x00c364c09f82a221a5cd41803bed40b8c514a208198c7443cb64051f08289daf", - "0x004d1221b7980ff9b33325f4b24c4f647cd671e90835c1332d26da79da684e44", - "0x00284e5bb4789d11a32110bbda6e7e27d86f67bfecb7c15fafda7988db4540c8", - "0x007740d0dd971a45b44934ed3f5afcc09912ccc67780ef8179d4eece94c7866a", - "0x002930608f3ea6693fcf69753de7939c6d8b73efa2294e5ff0ce973bde367e6c", - "0x00013edddf83d015cbbba6d3f8e59ea95690c4f915463a632f50d85af2877805", - "0x00b4831c99f1ab8bb1a712d26a4dc39db819ee7ea6b4e5cf05e9622e3eb4cfd2", - "0x00414df4c13e9ff6d2efd94469c51922152f09c7b66d2a93d51399f74a55d2e4", - "0x00446ebc664e9c033f90cd18a6f7c6bd75233b27024c9f7f1bb18cfe943cd1f0", - "0x00af30dedd7f17a0edd1e29d1ea9359191b30597f498c112a34c268b29148369", - "0x00f6ae36962b3d3fb0763bbf22573b3ff0ed866c7f0c085387c3516b028fa505", - "0x0046716c12bd81f0149761b414917a0dad9cf54310629eca91e8d5960b0f1eeb", - "0x006d1f21314a8b376bfe944c08c04fb63d5928454f71b2ed84efa74ef131a554", - "0x001bd9be640ea3d43a091fea508f50d01b3f853f3a2bd78d8a98742a9db28dc1", - "0x000ae3bbe875157e13c6ab78bf06cbccb5a7b96bec67cc9a589b024812c15090", - "0x00c1f4245941dc82dd40d69fc1a2e8eec83a334d54f0c7e100a6bea9bcd0f9c7", - "0x00ee4f3fba08a7f80d4a9b196bb0b1c45d57286625f5f9220b287b575baf9c73", - "0x00db3c4ec9a1ce01498634343c801cff3dbc4a05d5d8886fbe2de9c038a81249", - "0x007f0116743435978d4afd2f26d1f0692caad5a291eedbc8d23ade31165fe93c", - "0x009b835b6a4b010570c2ba484954529fdca126ca7d7b401b67f7f18ebd3f41e5", - "0x0060f84bf2ad1ea696ebac3f6c12098f404ed6f7955da4e501862914c9360fc2", - "0x002ddfcc027920313391b8c5694d4481f2fd76a5a82ddfd6abeeab6b50d73b93", - "0x000a8772523ef143e64e70594c14eeb3a7843a0e8927216584f7e5aa241fe79a", - "0x00edb64c67f4a7c6ed30bc6bc7d66c3fb7d62691adce37cce8d705b03d194f05", - "0x002376b171dffd8cff75b238157f27d133b68e6fcaedb7b98117a484812f44b4", - "0x00db8d20dbbd25d0834134c6a409d84cd368295670a88f30517cc619471519d1", - "0x0011a6768f792ef427ec69cabb2b4dafe9421b41fcf20cf704d2b1b8247f36b0", - "0x00a3d12fec999d9eb8f79760e10c5c31166ec8cbb542a40dc52ec98a422dcb60", - "0x00e1f17fce404376dc01525b8385f8343970d2597135522f4e346a20eb95adc0", - "0x00c185459787e04ab023075635331a3656483dd91a47f0465dcce91a4cc1d480", - "0x00b529df02e20d78ed1c9300cdd1ca53d6e7ce14fab1d7913d0dbaf06a4a3a56", - "0x007f61de5ae5e9f8279fa7729f454f5b2173e28a61edbf2226daf7af55e8a546", - "0x00e41f7743c790e9a58d3e5f64b63ea6713d30f872ae44d197cc509e3bb28d96", - "0x0014cdc163cb4124cf2330e2ea27510bd5800639f890d1db5eb922e61f7671a4", - "0x0022911cf6a7abadd03f122be34854f7ca791fc87c1e785a57e891ac3462f817", - "0x00c51ff722dd21dbfa2df46dd8ab6f2605e6acd547091638039b9427a51c9030", - "0x0015951624039db7c791978fff96d70dbc73962e4a921594d1d22194b9ffcc15", - "0x004c3b100bcfff6c8154d1334d254348fd27d02935686fed3140b038e97f9559", - "0x00c0828193b485894d46d08f3df192bc5b7c604348f8840d3bfdb72d65396c97", - "0x00168f4409f30e93962c7aa2e532e8c01247ed3f3234447a0c7e3379eee355d1", - "0x005a626740140e4502a807a92f639d5f4f08429b22f4462d239126eb5396d549", - "0x00411604853dbb60f1670d40d850cec00257b0b9982f7fd93a1e2de427eca887", - "0x000d7d9e5aa57bbf3cb1743c54f0227644ba2defbfb36ab9e8ba1bad2274e9c0", - "0x00eaf957ba2ae1c86e6d06cc7faecae4ed9d18f1f67e34076bce5595a3de9b06", - "0x0080e26ca38136868451509591a7d4de3db9d07a1d40886fc104535c3b3f4a8f", - "0x00deb9a603c866cf9468d40d46764dd75e1c9f92054ee88ea89e5745195908cc", - "0x003e87eb2a14b1ab88739d59a2ca8c6da49cb95ddbb9dbfa25c20adc96220ffe", - "0x0025fa8527fec95e8b8c6f0274636eb8b398eec194e05c8bb0f4f0c007131e56", - "0x00f4cc9f79f52ff5218c79c1327c0d680d29e074f7521965f0a8307ab56d7426", - "0x0051ab18d3931a865ea6201f1e2f3fc687f254c6207301867e4ecdee3e1455dc", - "0x001f601b32ddc6c759734c093cc5f7c3d482fa36ec9a32fd1c1df9499bb6eb25", - "0x00e16fc46173b94cc87ba0c9837b6a469a736a75954305d1de1b4274f0d33afc", - "0x00e464fc3552fc297aaf1a443e62a6db52262c650578a66d3d35278039ffbd0c", - "0x00bae5ef4be8b7ae0903dde4e1841f63f1c8a34735ff58766a11bc22695f6d32", - "0x002d84c60b32cc738228bc135c09a18e79c0792b4fb9539014c55ea613c84698", - "0x00c87a0d90aaf8a4bfe11b8a3b2b704515ecfd60dc0677f5de375f20c2b4a2cd", - "0x003be2637b74e414eb8c5ad1b0194b52e4b7d75b99e59d822e38ea6e055b7c02", - "0x002c0f40fe981f1144fad715607c5d4f7fbedce092fdbb1d60e8230d6918ab81", - "0x00026351db3d4ccb90043e46270067a72ed29cd9e7d912491f048244c28c496b", - "0x008cf9fca4bd9d37467a871f0ef953da32766bada87c18d8df32e8caeb5ab19a", - "0x00dd393ebf913d19b05624b56dc6ef55b526184b046a17129dc835ff6c81e701", - "0x008c1053a179379e168c66d2226763df1d23e501cba18c66f19895f8c4db68e6", - "0x00fc72ca9a65e3553c7c28129258025ed74cb3a7fd4a65c38990106bd4ea9cd8", - "0x006d1f2d69e25dadda4234536f4b4eaedae63b1a3f4269b7a6eefc9ce19f5b5b", - "0x00c9706db85cd6aeda9b1ad1e7676e24b2abbc2eb18f1663406a9e48c0523636", - "0x00311fe6ab7fc9f3b1dfcd7d479419326ab4b320555827b1a51a67e243c11633", - "0x005bb390bb7036a8de52eec4881f9b0e95f9c22efba56e57aa97e1ce8a14ddb3", - "0x008adc92da0d1461a0b515aef5ceb38b9e064008946961eefa3a07fde2d19b29", - "0x00b9d9689bd75aad0d92aa319ad74dbe68c70a0853303c402d1274c8a260fc52", - "0x008a01ba9267645c3d6a42f46a8261189f89f27b01d4aeafa10bf5094c6b6dba", - "0x00b1b51d1e421fc49b2921fdb85d1f4bc4477e69faff0f6f4447b7f95d97c3a4", - "0x0046eeecdbc3f2cb229b8ee6f61c5faa0ba0d283788039c3d7eb039c8a51eb9a", - "0x00e5ad83aa0b26c7e8c1d405ddfe6c39c0f66d02c410e1d2c39b95b0cbd7a8d4", - "0x00c796a4626827a12fb04ef41f22e4d3d885b62ee53579cd08278da8183fb74c", - "0x00422099d2a1f208747827d38255fc16d37c1306949059ef8f4aa07bb3e592c0", - "0x00d3f018d5006a5998eee7916ce10e4a1b4c3a2d5516bcea19340ddffcc81194", - "0x0089430a087629613cfdd2f260deffe0784389f5fdc0dce4c1fdf58d7f89adba", - "0x00dbfbfa15f1b13e491db68635d587cc8deae986d2ec8cee4d6993f3d8737427", - "0x002711ed41768a3c604c45bda039c8781577252d32bb6791a805149e4da66cfb", - "0x008ecb87a666168e2fe4a428482a0f62d54474a2e6bc99f6c9cc81b5fc7e4cc0", - "0x00d51b3fa547c3decbcbdd5c32687e6e385cf2fec6d620c29df7b61dec17255f", - "0x00581bf38fe68510743c04c8a37941508203fa6f5f6b2860033e43e9a2a84eb2", - "0x00ba32892fc6474e930d8f1d316ad37b2f8995585db2250fc58aa5835738ba7d", - "0x00373399128f5f049de523ecd58972f08654dab791f1f76ecd7a42cef6e9e674", - "0x007b608a25dd8630da6da4d305cebcca2164b56e68ab4a1207d498bb19721be1", - "0x00b49e749e593108f311a4dea1286742aa5898aa5d26bd48620dd22ef89cd371", - "0x00caae77d67523fb7eedb83d8b985f688408e615c4f1321236a6d3788c45a328", - "0x001cff5ab4e18f8cdad45702fce8e1818464a45bb711ac52d6b83162212e6971", - "0x001a24c105a94272f5c093f7defc4a822125001aa08de867c6e4a378c17c9c0f", - "0x00f04823b1fe49e8feced47f512253ddb5da817678d2ba94f8ade0cef4dba6a5", - "0x0012b961841885a562ed38a4d44a66b72cf149b03e7080892ce564af1d346cfc", - "0x002dd5a1c8da2c7a97b1434d2360c959926d3ded71bbf45984d46b55873b6588", - "0x00d26bd1e7766fb012e6c04db501f47ade1c74e22f40c823f1939c32eb8051a3", - "0x00da2dc6d29a357b2f9334436725578bdad1a21598085a884e5847468047e28b", - "0x0078775f6a00dd60f2d8a43dbaa6845ba26fbcfdf6f74e4b2982d544e9762b44", - "0x0013a757a816f8643e978d551d237d5a7ac0c97b82f518294c5bf6d5f6862395", - "0x006539779728df0e2d6588a27d74ef81233d5c68ca42bff26521fb8a51c5e848", - "0x007c5046abaecb8248a8b366c4977d13aaef734398424097d02dae530cb4f4e2", - "0x004cef6445a7bb3db0014cc1faea19ba54d74341b8165c395c0bc14a7cb6d1ab", - "0x0002ab75549772ca06e65335fa723bb8f2e0accc958f3babc0c670b8273c9ded", - "0x00fa85f290990f972e597da436c0d79f2e721fbfffd99fbdc75a4e7cdce91383", - "0x00aa7277a70be34e9d1cdef9ce1c0578d4281b0d59593a1edd9b39a078a89578", - "0x003d34d47bac33b559e0ee36e6d56dffd8d859a1334bf555df6f2105a72b4d40", - "0x009184e3ca35ee45b07b832a783e08b6bba1ea3cdc221e387cfa461e5df7ab81", - "0x00812e0563855a7cc30fa5859e3225ed860d7f9b13d00f082c2696bbba85c134", - "0x00f8e6446aad02d2fada171ee28a40150d917c1caf754506cefefe8f7da3540b", - "0x006fb2044f33deed3e6a652ea090262a92dbc00029864d1d42402917a515f46b", - "0x00578d2f5d073ec02b4d08088e24a54ffd2921799a135d3b3dc41581a2526307", - "0x00508bfc0a47bcc2456f508068474bf9a644fe15765a630d563e7e24fd07e030", - "0x0073d47bd23792ad41a5b66d3c00d4c9da22e6e9580e0a55165ccc00a98e16bc", - "0x00800dc6a4e62314c70a7b56cde0666f550aac97be777c30de09e964c8e779f6", - "0x00c9d90e54f2141cd841371892f553e9042befbeb7ab0d7599179dc8a58d73df", - "0x00a755c69b011f017af593084ce82480f2e7dea509c65b732e98bca2c24cea3e", - "0x00c6b084b795c2137f5da117a2b7c0e2adaea90d0e311c31261f427139684bfb", - "0x0015ba2b46a48310b0754a9a0d6644a0dd9d5debe095897c4b23222f3cf7985b", - "0x0065dcf9a88a3b01db12ad5b851942f52e684c7d7870a150738ff4a16dbcfd87", - "0x00c129e24fabd7c4733ca62c650285ddfae2d8663e6decf198f4fe51bdd621f8", - "0x001f99423728ff97556800e98de73234c0623d04b5cad59661343895d1f91f4b", - "0x00cc5d62734535d1bddf768dd28d6c8d040ec03fc1975711563b8527ad9b8262", - "0x0035535878c7bc7349b43c1591042de84189c33f2167059d01c7bb81cff6babc", - "0x00dc608c1ef7f335428c80018942f11a622c8541c35988c1bb165a66dd65e69c", - "0x007565fb13306b146f556038ce156bb7950764ca5d0e5393e9757eecedfb6a9a", - "0x00c1fe96e2cd24b3d8c62adde1c87375a0bed58b513b2e4ab83d00fb49be1823", - "0x0035a41c62da8abd8a3abeb10332246008b334aa6479b22dc4c54a41af343cbf", - "0x00409a3c262913c5059d842d887009dc61cbdc2e232a68c47694a5d15983bdac", - "0x0085b1aaf8aa61b42fd3ea308bea1a746253078898ceab25013ef49a68792f38", - "0x0065b6080d9ac472b1ce3131fde137f551a2dd5a300beee45898fe186e952ba9", - "0x00313c3947392cefcc19e53677cdb90c5b5715b6be9e89c78080fa54ff5049fe", - "0x002a9f53ac77a27958f1deeb6a67ca431ea3b3ec91a791445252eb22c5376169", - "0x0004fb178486272b4259465a50bde2db7c7075fced6cf19c37500eeeba704884", - "0x00be2770f6a1992de806435ec5be53aa7be1757654469ffc64c7e72e80c94651", - "0x00e388086efac7c86f4c742cf8db26d340c595f640a6b6c1c86324f9139da8c3", - "0x00aa369f012fd4d832f27e6092660b06848015697dd7508f61ced71044e16c25", - "0x00f7cd0513aeb3d741d024ffba2e91840c381b08706af9b11bd1a91fcee7a505", - "0x0067ce34b321f3efbeb2c91b6096d93bc497dbf9fd156f98c7b32e5492f79c07", - "0x00bfa23cdeb6e5ca9e0031ccb57bc31a966dfcf768e2e5fd39e1241fb79257d1", - "0x005cf0a53d5aa3da84241e51235624f7321c3bb18cb324a0362207de27d795ea", - "0x007157a854094efd1a1106d62c51048c1373cde96ccc212dd28eb09ebcb1da31", - "0x00929564db1f7f4908da07a321010b009aef93a4cc1a262ac7d75b082e9a6e44", - "0x002bc7eb9428e8867e876086888692bba16746bf5f5c095e83630b69270e5570", - "0x00a9b23f68b51fb0dac50f81f713d9bb1062bb54dcfc4bc147133378b8fb92ae", - "0x00f2d2a332a4057bccdc78daa54d515d52872604926d98ee8a6a4c273a312770", - "0x0037da2990363d63363d001e05e7daa4ba108150dffb0b125aa22b3bc35e521d", - "0x00cb14843f6f795091d744676cf77aa95db753e126b40e610768d096baf1e1df", - "0x000785ea4156dd98fd6f3f14cb7174c9a31beae3ba5b09d9a1202cfd94cadaf3", - "0x0056bb14aebb7da539d4efbbab0614743f7f28f79bd6309a0c1a01cfa27a1348", - "0x005d062a21cd3e269f9c5cc112d609469e97c97700b6e4423b6a29c7e9590282", - "0x0059d2a44a6990b1f265ad32e3fe015fecca860bd6c638848c7abd6563b445e4", - "0x00b0cb31b901c0f8b9dfdc22d70d7d5319d0f30aabe3f4d71f4f051adc36e470", - "0x009fb873a07a3bb2754a63b93652350c154d59651113a4118ab353cb93474b5c", - "0x0056ecc1f2aeb2474d3fa6b3c4834f19b226876e7cbba025b77799c68fcf0f92", - "0x004103c6d0f27dcc86990c37f114e5678a89fbfbece1e4cb027dd1455db4a10f", - "0x00e632da7fdec39de6a35bebb2c43be94f995178fef6b15035920a45e346b8d7", - "0x002a4db73d0c27c1ea444ceae5488fc57169aaa2bd696010d330130690a0b469", - "0x0071007d52244e289b59e84e6e89d86941c67a8924f65ce2ec39eafbeeee5195", - "0x00e62d9d1f295d43aa44947a8d69b8ce7b3fa092765437b6aa1d3b1b15d79347", - "0x005222be1595f4189a3cdc613f726b063d5c07e456184452c82d157db6f59f0e", - "0x00eeec9145be320e2d6f893a1c05c4dd08957e9cbaf03693899a0b7aa965e1da", - "0x00eef8d984f4b3a0452e35e9b063028335e02223e9e40ee1918aab8f392b731d", - "0x00fd5d55cf14c8b724338688754d5231f155c9ea91ddd1c7bfec2bb9125eea64", - "0x00a2068b6ab7944325c64e0f0caeb7ba280b3276281023f33c1d2f2ba3fbcfe7", - "0x002f8c9aafc9e9789a4d0ad4a28dd5240137fbefc998715548f4f2e433a7d0f6", - "0x00c03a80f8770f5a90c5d254c97ea96f9490a998609b99216223048f749ef448", - "0x0030e8c7b90b51faf1d1223df2c2187794fb0e1a0f9b963e602d19b2437eb5b9", - "0x004336b2a209a1496891535764bdd8b6d4aec845a3b51ac95141bdb0427b60cd", - "0x00cf686c398a405c926c8ba2b2eacf6901dc8915a780d99ae8a89af9db8bb84b", - "0x00b80ca292097efb230bfd80a806219ab88094985f6547d0cb0f610d6e834a90", - "0x00e89b860f880de528ec7073ca2c1b1398ad96c9e43b0d36e68c19ce034e95ce", - "0x00a84ffd84afc5ad66422c62837fc4306e0485135d7f05218c6da4f607a817ec", - "0x00b27a5efc94da7a6a5ab6b57948e706e04e52a71087c6da4727b0b3b5715002", - "0x00aba6b6626518e8eb3a1a1739127ebabaebc069b56b9018c3fb01a5f17449f0", - "0x001d46f72bf8f9dfaef2f54a8baa064fccf99e3e652e293c6d4e934e3d8c4c50", - "0x0079b6764b1cb11c198d3a869ce439193ccef6d17853399b02d7c94f2986c484", - "0x00b205b2c0aa87c0c16540e9e39657211688ceb71af31efa74b29c5394e006be", - "0x00e6d3087a4d20f391315ed03b9a4deb877fbfc5bece2bcff49d72f2c0c600db", - "0x001e07f12691fc1437d9db1e567083b9c6693d5ac588da8cad6446c2a4130b1a", - "0x00fbb2c760918fcea89868ed423e0d5e76dd3eb00c043f95d4eeaf3811a57283", - "0x00abf86f6dcf9ed98d5c2f39a238198345ad939eea67c801f5c686e1a7b8b4bd", - "0x00d83c0c95b41a3f7219360e6cc64dab9ab5541f2ad3030381ffc824878c7eae", - "0x00452c2fab2ea9e0509a6a89d377b3c81f059a7e7e86542e87118eb09160b550", - "0x00a65a2304d2cf9136c99b1912858e0fe5220d4c973f45abff01828e44ff7b94", - "0x0000b63a47eed5df99c5ef5b19b867c49f553b7fea2520e98f3159ec7c766eff", - "0x00d10fc3b0a7276b494bb837eb70e774b24c8bb5f8c6c68801d8da072d3af452", - "0x000da50e02ee255720624a6c20f09743d3fefcfcc85f65155c44ce8fe5577a27", - "0x00752da53669a2f59e711fb6fa68d92812668cd9aa8f1d89bd0fa4ea076df737", - "0x00b914561f654b4ae33e092d6a90c04ebfa9648df44eff45913b25f51f7585d7", - "0x0021b40c4f4aadb1c25312c8e273672fa33604f12c00d78db98df613fc245784", - "0x0011c6051121c8e45ca0e81b05daa6b35d55b655a3ea17d4d9ae68921e294428", - "0x000d9620b1d7ac28d89dc22cfc2632b4dd7923dbbff7f113289c1ed3afd68e1f", - "0x00f5b8f85c34ae8ce2ea3f13bfa23284426110b03d0aa10753fd76ea8f71b668", - "0x000d63ec81027cb4c287304fbd1a94fa4195ccbd448ab1ea8fd0793720033721", - "0x00645ac22b561c5f7b215acf38d266af9c70a3e5cfac3882a068208fe038393d", - "0x006b5241ccde6c10667a15114972cd5c96a6f9d4e437e97e508a0a7db4046525", - "0x00a522b3a1c982d8f2534793acbafa9ddffdab095e92440a1c0d278f6efe573a", - "0x00754ea433c6dbbbf38d8767eaaacd956761270dc530bd3cbdd99ac9ce562c55", - "0x00c2b24ee1eb353506e0392c8c66187896705d2459cf38c160ff06b2ef37cd2b", - "0x00881a0c774821d3d05855c7e377c700815792094e3ec0f612a00aafef193f1b", - "0x007db0631c15cea0197bc158ba0eb458ccf7941d941d124b1df5d3493562dccd", - "0x00329cb3c316af638f180b1b09eac0d07693a4e37745095f75e97d511fcf45ff", - "0x00218d79fdc6225abca7bf16eaad0e5c68adc45fc3a4b923983c467a026949c6", - "0x00587f8e3f2efb413c9b9ca32dbea299b1099c1cc67aca68765bd2ca3a35037f", - "0x00d8e7bea329e33a45d00a1ddbfec2af8d2ff96de79017608208451317880b84", - "0x006f968d2017599533bfa7228d3552b0c03d82e2ea80bbc19db07bc78280e192", - "0x009fdd79034835943de06e4ed5df824ef23d15ef7338a6c0718c39fdb16ae2dd", - "0x0059833bfd4207eed2ecfc159883ca90ec86836f974e330e0be012aab772d319", - "0x001a458abb280d09d405b79c681420b0405b8d247f5d84add8b5c714e5207d94", - "0x003c8c6d627af0207a9709ed468530a4adb30198d0a7100c53f9e385e2b0ce7f", - "0x005ec5441b5c8be0f6f76973895110f2ef2a132551df9bc786196de45f20af4b", - "0x00d129f56f3ddcd6de7112e2e89cff281d5e6991e66835ac44d5a0c69687e484", - "0x0029a5eedb3c7b1d2e378a7012b42500bb535090ad1f5f1a96d379f82128683c", - "0x006d7931e2c30ee8fb3042f49115b3c90ccad8b85c469d9e854ec674f89eb02a", - "0x00ad8bba42f02b316c1ad110790303a6c08f5f6ad494f884288d61e6cf04a7dd", - "0x00218e7f311e7ad05f9a516d5de665093e611d1652251acf142e27cc150287f7", - "0x0024ed3736bce379b12064d65973f8e16b9fc7389937052c563cdaf077c549e4", - "0x00e776c12a95bcee480e32135755f579384c7935f0fb5acff73afa871a646ae5", - "0x00ef11211fdc8d12c117cd675305600d9bbad9350ebeb3d60cecbed70d89833f", - "0x003091221b42d8fd987a88af8a8753328d37f97cde9d9993ae148a9f05e15564", - "0x00c64b0f5611e6077cc6ba5412c8dfe8ba0b0c36e0074871808831d61d8af959", - "0x008895674508b7889220c11b34bebb761e06bd37c9c16d368d40bb96db447be4", - "0x00a8c0eacda397a093295dccdde0d2be2c497500f98f236613040531ccf12683", - "0x0026e400c755e8a25a753fdf7dc43f02302e74036d5773f48b38b3237a399a77", - "0x0084b6134c12a168375909657a7f18fb31de997b6aac3a70bfcdd51162447a94", - "0x002841e9a1128e0dee65eaf3ee056a10afc59710226b0fd52f7fbce87c2545e5", - "0x00ca5bedc20a6f8aa37ccf2ebe08676bb7b7ac00b6b994da07d1d9ede28c679f", - "0x000a0bdc5ecb69e5e10246065ade6e1ec3926d4b06c98f19c417bc9bc21594da", - "0x006a6532109829ed55677b9b0db97a032e1c31bfc65d21537ea00585955b7576", - "0x0007d1234a42a893b7dbb77199d74e5312408faa83c460ff5533ce7018b94b95", - "0x00c1c369a319b0b55ae9528f07a3d875c733afb5f7638637288e132105429dba", - "0x0032031f6dd4bef1d9b65b9f92ec90ed58b300e0f8debe8dc6fea3677fc8ff77", - "0x005cd4f5a0ea619ce9b0eac67f855357c5fb2a50a36ac251567c37c978cb4a13", - "0x0040a8caddbd90e6f4da63fc456a8f55be7021c45b6eb51956d65f4fbaee1688", - "0x00e285ce5ca3a72da6ef061f5d7397cba8263c3d70c6a6b2a7e25f3a57493c5a", - "0x0059f534e58c1c4b98b6e8e5c4de2b15c0c78b68110798035c22a84b3a703448", - "0x00a2aad06ae083b900b159d3e3dec01ffca659e441365be8ac639ab02946eea1", - "0x009c4801bf88d80cf126cb37b53aa0f718ce24371dfa5adcbc86811943ce1130", - "0x0071c6904f597dde4eebc4dce705b96ced8f1f9c2fea327e7c7bc7d28e7bd90c", - "0x006b4af5532a225aba590cef3499cec086a4ae57e27385d20089638f5dfa5357", - "0x00f5a72279a472c9e9d3a4cc1b202356b4605bec4e939596f59279f61fb10d9c", - "0x00a9bed7d002da3f9c049717c194b85a8089cdc4c2c78bf2430cda473b2ca6d4", - "0x007103c86d395434a1e838c538fd5bea1132ff573d91394f6e5dfe3dda7f8809", - "0x00593d7b524ee1ae75c2c73b6e7b94d6cf4f22f46b4c64d77ae851dfc51a1a21", - "0x00eadab96a8f5148af17fe032cdbd6715be24af7c63c2fd5fa23a684be0b22b7", - "0x001c0b02331a21510fd59c3fe7cf4f4cf2646c27485903c76d303ceaa4c917ec", - "0x00ab1fd7d40900232c9a3a9af44505000910a35df63328e7d7c9feaca8a4015c", - "0x009fc9228255e86088cdc92cf56e17701fbb66623cc2c8630fddfd5715399b68", - "0x008cb8ee07ade441e40c08fb5747ee357b1bbf3c0563be8d4608e83000fd3b91", - "0x00a5ba491860d4441f40ea0b71ed3535d7d1f326dc9c84764045079d74a5e240", - "0x008ffd747f57b725e7851b858ed395535cfed038e4ec96febcb59816597fbc47", - "0x005f0e932022442b4c6f20ed7de2659265d1088bbbe5dd8ed931c65084636104", - "0x00ec24aae08e2063457426ea5dda981e817f6173813ecdd49004ed3a5a4ac55d", - "0x00a0927e75d3f78985009a33cbb5dd70cb0ae038ea9b514d091d11407a62777b", - "0x00a14844c18591bd96b8ca4081f1114d4111e31739a6435cc7140dda9db19402", - "0x00f0b3b8a020f866d9cff70ffa5261c66e315057bc2e938cf397ede3aacb979e", - "0x00ef0c815eeafb4f1fbecc9a45c02bd5e56cdf247e1bae002cd70b4fd2c084ed", - "0x00c485bb8a506e4818cf3520e172cc6db18184819617e895c31359fd479a3760", - "0x00c98f24284c58097a656bad95c0ac52447d34a3fd33a9081a55b0e0fe1a1abc", - "0x0065d02a2cdb4db88b5f918fb97ffcc6d635cd51baec2877767322ee4fb69479", - "0x00ed63ce667527ff11be006fb7835105076a7183ec93acd02d108143b8dede1a", - "0x00fe718a7ed06f5cadd6270db4f1c91c4794916d129773e3c48b35e6d386a266", - "0x00b315283aaa0699aab6ac7d5378e3cb11dcf1b9328284228d46854bbc51d560", - "0x00444a9260d5ae57c26c9f3b9997d61dcac7cafbb47454acf745712b811805c6", - "0x003d9f7e0beee0cc252acd1c5083f4b2ec883a69dab17529614f177b8236a1ce", - "0x00ab82760e2a0ebbeaa506fbe7f61c7e68f81843a4bb269a3cff8801134919e1", - "0x00990b6732eff66488903aeaf5fb81dc7eb4ceb84be282a6bfda552078ca2c6c", - "0x004973783cf59600311f781d877e2cb5e0b6b1645f9b176bb392411bce9d89a7", - "0x0075e72bee58c74fdfc338f2279d87ec6e3b1b396aa14548fb9e6efeddc4d50b", - "0x004ea48f4b8ac9b97b6988960bd80e1c17b5bd5c2f4b80b71c04795a56694f8e", - "0x00fe28121e3885aff7156322df9d7583d2f39643cb3cbe61fd13079db4446885", - "0x0047571de826ee84ba0a397180ea928960c9c99ad02115e7c92925d74b7a61e8", - "0x000ea550e452bae8a79110ed68009118918c220878ec6269e9bc0075d2d19bb2", - "0x003940f6092603ec042375c37541a229ac37379c568db25f034c08aa82d40db1", - "0x000e4ccb5c30b89eaf3ac58b40edbf4488284658d76e8be75714e50a64929fe4", - "0x00a4e3745be93cfcca6b389c20e744dc7bfa07cd9cbfbda601502b116f609a64", - "0x006d0d6d80fb42226d65a17e740ccb59ef972ac3942ceefce3fb9b6a05302701", - "0x00def7bdd217f2dd18df61fce3695f4d213bb75bfe72449166f4276d60585c29", - "0x00a5a5465689be3ca85652475f861cd21e607252a5a4c40f2f9b31190feda6cb", - "0x0043e36688ed68fe3e4137c04ea5050de32fd0b9e42ec4a1d207ab4fb0575a5c", - "0x0081859a536606d636f621f33506121231ff3500298f92a7f53795e985bbe6fc", - "0x0061ccc582dc67569a59cba8163548cc4b4827ba5b64129e9c69aca5cb853520", - "0x008b87c4fa8a8060f5dedca1796cfab8c229ead91e6e085e4cbd82f171cc4a6d", - "0x002af69c82e7d611566b1b685f69bd7bd70c6c2ebf4328b20cd6c132bb9a7b85", - "0x00c7a1888e489f21dc8f0d5139fa4ea54e0b68a6d31053cecd1f8995ae95ca0a", - "0x00236b3170e79cd83375b7b41e34007fd0c3471e2d49a6270eddfde7e75aaea7", - "0x003af41b45776067aaa2c61caccc57901d92e143fb1087f7ded0d028e0c5eb4a", - "0x00ae2d4b520b3d47ae56b15642934cd84518c5a6ce87eebe9e562649d8ac76a3", - "0x00ab4bcc1d21fc140334322cd036c278b4dca40a58db58314857efe50de8b0a5", - "0x00534b9f4438d20352d7024a0e76ba35d3bc3e2fd564e847ab52cb6eb32dbd70", - "0x00de097698a51685c613d0003c8b9b86c8f900d8e3418fe86338d72828a440f9", - "0x00f5b3be67c87baa94e7cdc9d2ccf2995742b83a234fe6a1db1ced8009b176d7", - "0x0014e4d9735476b77bb17c13a65fc227a858b8e00cf7d5f3ad745dce501c8522", - "0x0008488d311685ff0e3f335cbb26284c93d791c76e823e3deefe06f5a66e6c6b", - "0x00f9e632a52862da4723bfc874413d73d42c5cc3572c71d1bc39fdb0107d40b2", - "0x00babd171f9be1911190111896da77fd86493bf5827555fd14001f538a4372d0", - "0x00a685946bfe9f23323f9295341740cf5a1169c2772cc29b2e811b061f7bee15", - "0x004d2fb5e5cefcaf601b985a9ec48e72898b12699e4eaa88ffe74b5a3a255e63", - "0x0084f616287d3749d61c9c28215115de4c685208751173048ba9f218e0d8016d", - "0x00347ca06a2df0ea741e8e687840959f21cae6c3b122107c88720d0def386fcd", - "0x0010c44a9254c963a570f78932bd2f28f2358b084cac1dfb398f87311ecd348d", - "0x00a3097482cc60b10ee6eb47735a53f01343030c92b06d82ccb146ca601ef4bc", - "0x006dac4996c736d56d1d5bfc9785fa238e20d0ea474761fe518fb12e7737114f", - "0x002db53054464e42e839089eec2b08d9257aa109b749e1dc23a0a067a39245b6", - "0x00b401532dfe9d20d401f30849ad321d559555171a5e2173e726dcfa337a368c", - "0x00446e00c93bc4474370b591db32a79251e9d53cde8336be064e77f1aec42d35", - "0x00157056c250c9c285cbd424e9b570c75750427a129493e4c6eb9e0eb3bb6ee7", - "0x00090e444d3f6c99f128d99b25863034cd67c9104ff6cc9fc771f8b4bb6ba5ab", - "0x00a5e6fe884bb52a0a142c79c55c2f15614f8cc064aad05d0a9d2cba1119f08a", - "0x00af48a08486c885d722109ee95f4b0993e7c9cdc69470466e1d1b0a5ff9ca49", - "0x00d33d2fe94edd4e201c080230582ed017632326b6a63f2187b2c38ff1d9346e", - "0x00e40a84e9ac2b5e8ae11b20ec7e23afae2108d49cd6028df6832f410d22cc11", - "0x00f664d8f120be0675849a6373ddbaa1c502142ecc48aa85b0d21e20dc297ae7", - "0x00e3e306848f95968ce9e33969ddba34aa8ab71320dd914ac57612f3da38a401", - "0x0008bbf6364729cb57fffb1d3c74ec66c590973d86e638328f70e3b158f92fe9", - "0x0058bb29b4ac93ac1888e731926d43c68afeeba6a110bdbbe0dacc48eac51e2c", - "0x009b94f438c2d004ba6a1537563d6d1a856dffa00ee7e2df193a5d194eecf018", - "0x006ec4f679342ae6dd566691f049424967232826d9fcc722947eef20ffd46ba4", - "0x0022d6b4e8aba71fabc34423bfacaaa6a3aa1a9bbb0f516bc1b93f7f2230af94", - "0x0074eccda19c520538ac0b5f13c8ce7e97573c6a5cd723293d81185c572a931a", - "0x0013fa6242cdf49dc006050604abf24faf5884688605892e1992be5cb338b907", - "0x0054e78821fe7c4081d98d8333e6890acbb391b2df3e4996112cea95e3917d17", - "0x00cbe4ca39af6279a36e19b88af7f727a58146282e3c78f5272d01da094461c3", - "0x00977129b99e0f975e0229014a55463fddd585d9c497b517844d342c8d8e752a", - "0x00d3c199fb663c92c70e7a8a2c3da21a55202c39817f9b6def324aab6078cb69", - "0x00ae6e0a0d8f470d2ff2e5a054ff0c5b7143a13333dc0aba8782fa57bc494c54", - "0x003cc9589014dae182d6ac6e9beff6eb7e60258a1b4aa5898ab5f7ddcfacf085", - "0x00a2ae9ca9df9b233b47d4eff69f5b500b40dc83aa97bbfa036f681fc163db6c", - "0x001ef2da7658da661dc719259f19c02688cd56c3df28d37b3d04fddcfce77e26", - "0x0072f72fa64102e8d2d6ee48f234b60b32d6bd379e5aaa6503dccb1112c90d39", - "0x0037c87fd77e130207c916b516e8e496e57d0fc8dc59cc68c6203defc33a0526", - "0x00dde278bd411c7003e67e22d742fb9ea69ff1d6157fd2df9cf92f7f08ae878b", - "0x007c6769b733fc0daae5f57c0c0069d65d769f52e1b16318fa903a10855bf50d", - "0x004bff1ea51e588367683416f44bb7676e99fa60856c34a2f52d944fd2945b6c", - "0x0076f869667caee243409b382ca073d5bde3e318896ea258744bdcd8818040f3", - "0x00e4d6c5cae106b1341775ae569f9db2eb729c7e4a436f73690a64ffbce2f736", - "0x005d8657147b574a25e0cf3b3b12333986a7a6418c3151baf3a7bff6c324d894", - "0x0097c6f7eb8059f2109459fc72d0578fe8cc8ead6a560102eb043a0122edaf35", - "0x00dbabac757a5bce4cf1842c5d183d17888c84a424c39ec5d5fca61da8bc65e5", - "0x007dbe52d6fc10e9612296fb6faf3c0fc6cfee76e0de6eb207d7f5027ea82252", - "0x00238628db026aff4ceee57699cd1200534cce5b45fa814b79da2f1ff3a268bc", - "0x005c18b6c8a080b0e46c945db5fe9d2eec35778c199c62017b9ec676d8be7a94", - "0x00e044ed844f23e174a29b0d68318898c36c05fddf74fa6e4abd5f89ca26caee", - "0x006a0dab02d31db0d9f1123516c8ae73fe936842181ebfaac98595ac672bacd3", - "0x00f3c172bd63840e0c16da936b2ad750c512babadadcab084854450fab728fd8", - "0x005134e03319b757cbc564422ff253bb24cf35b56bdc5d289567caffbebef8d8", - "0x00220e6a2e2cb4f6363f2ea24375ff9bd42228064bd6c296f04c0b96dfc55379", - "0x002d92a58d714a38ff8149e7edba58fa0d54eca1dc0d4dedc96d6c8c905473fa", - "0x0047d9d488a8b9cf28a6b76ad98e8d05d394f453a83e50fe7775bd9d6e339eca", - "0x0001374ba31cda8d04a953fe2e0de97ecde514f30f1b791132efc528d3e9f089", - "0x00b084071adbb6fa75d1bf45a1b2f4fcca0b64c708d6f4572feaf8b5a60e06f5", - "0x000412468c2bf3efe44542f522b4f4fc171e71396e85163d7bb87190b2ab0034", - "0x0095bc8a2bbf23651f80d52fbd408e4c83e8dd6073cc6c4e7984b6ffe79fcf4a", - "0x00510b5ee8528aeb8f15df62ce070fc3eb49137f57d97b7fb948efa6d331a67b", - "0x004a85662e94f69cf72b097583f2305d6ba7d90cf2c245102c8c8912671b4ab0", - "0x00fa725496fe82b2de8bb55e16cf4016562c724ede132e959845191dbec842ec", - "0x0026ba8181658db083d8ad5af40954f2914b22395dbec629728f3e1bd82bcc5e", - "0x0000b51d1910457a4f01ce56730daf10f5678dbb519342e5eeac030f0885911e", - "0x00723a294c238f5beae124ea8c78ca15d03aab0feed78fe7bdce442305c1728c", - "0x00f1fa1f3f96445bab70e7b6deadb4a1a469bdbfb8fdda046503bb5f431ea046", - "0x00bcd0f3bfe893aa28bceae3a96984e0096d9c16cb29963a885c8e896fb469f2", - "0x00d04072a8a1e78a162ef88e580869dcdeddfdb5a5132b7ac116e0b1865b33ce", - "0x00f00e2597c50e12e39929d1e5d4236a50e94193c6331c07e74ce2a3aab01d52", - "0x0034fe2619b4acf0194c646fd77187455c05ed44a5b6fadd49a73a57c1f51277", - "0x00bef6a5246a4e6763c9e9e07e80c3e333f21a2c73ca2e28460d2c341d397dfe", - "0x00082972c4189634a70e977ba158e584595fb4145bc16bc5996053b5002df8db", - "0x009242101311c82e69879509e618dfea99bd96dd60ac41235be8d0879cff3042", - "0x0076c191876842f30e645a98966022465fcd6c60c13f042152d995b8dd2a575b", - "0x0030d361ea498d872edb90226233c564da92376e3c9da54eef6dd81379b05bfe", - "0x009c9c21895d45cdb538332f58473fa1043671215264f46876afcd0ea1a6fde4", - "0x003518153d57e73f87de023d7e6aad917457d11f6b5bf115ec4b6faae2a9cbc8", - "0x00a1d65c1d669d38e66541b7850bbd18bd75dd4d3259d8bb039be03f25c8f1a8", - "0x004927bd97f8c7c52b70a0db7d7d2f5407b3e41de5b8be75d16aec811b645d29", - "0x0009922cbe006909c1e41cd127948ae724e6e47204f25724ff22565867f95ea1", - "0x00a76a433f7a63ac5d0a7610db4ccfd09099c55c141ef66845d7ebaba5d48730", - "0x00325a0d6c7287c481654a1b3e2712e54c3b516f6c8c6de2c2095f3c4eb073f1", - "0x00918a7121ec4449e67432f6aa4d67770076ab2ac4aa210049fb2f4702586543", - "0x00082201fec885f660f7e85d41f9c7c671f5c6d3e00d1a5d8acf84d9fc1c85d8", - "0x006db3f786031154ca917bf9440cc5784aaaba6780820b61c237e4aa0ff76a40", - "0x0086f1a313f93ad20c7266b30f735071154b8f6c25ebdc00dac6389fd3e245ae", - "0x00b71a78d992b9d7244e62b65f7de057cf6aa5940ea6992214807ea37fbcaab0", - "0x00816a508ca662e4a73216b82b77c122d06ece217c2e10e9ebd01261ab03e84b", - "0x0037fe96ea9c27370e7317c6d1edc1ba5861a6d68100ed83d50ecec7d09bb868", - "0x006a43421e890c1a7e4a47819a36115b70656e2730bae75340ecb9f630a55b64", - "0x0072a5803cbc357ad6af9d1a5d50ed51b41e89c29addd5deba8f0164522e56ba", - "0x003cee7ea2248a8362e4d6caacd84768d38d20873dd1098f82ced96bc7429fc5", - "0x003cb094c0f60f7ce21ecf040a567f2ab7a96e7239b3b29dc7637db5b02162ba", - "0x00ede5ccdf5ff9e0a32604aad5dc8bf7895636f9b8d10f0854c1175b8e9faa32", - "0x00c10365f8d5a6caad0201c18e42000e40def6de030899704c54f7a2ea858212", - "0x0013b938399dd3f35c8052d467df61dd5f256398bee7d10c0c905df182b04766", - "0x00d68cf2c9ca49b0fe5ac3a012e6c184cbdf27991f17463b941c22ca1dc91a2a", - "0x00dd1a421438d1f696a1674800c4920275b520f36b65e71a7c9dd358fa56a11f", - "0x0089565c778baf76b5164e9a7f2c848807a241378666fc1271f7d0ae26baf1f4", - "0x0068f3a2e9df0498e8f9a738487eaab0df82efa71fbdb9b41c7d50335ed172d0", - "0x00fb61096e28015b842b9f8784f500f63aaa339bc3f93046b9a44f8f7b9f6dc2", - "0x007c689957e7f64edcc94dc8deb11772a3a4d530c4c77bd9c7b63f02eced59d9", - "0x00003e931e0adf7a9e84e4313b03f59978a7670d0ed0b4bd3ef83823aef7ba00", - "0x009be26f2b32cb630e98d9d4c0b10b8a70f6b4f43f45a52779ceb9112a8bae20", - "0x00a0cbcd89865dad4232661f960de29da6c6265fcbf44857842a83d65abe8737", - "0x000be08a1508de7f94885f60cee68130389c846f8a9cef9894264de132a4f543", - "0x00f4a611a86a3339c95e040402b6cb2fab4dc4d9510acc8fd56b2194261a1b19", - "0x00d9b8ab9cf2f5737de0dca669651302b237222b0a3f7e5d1ac079ec7625f40e", - "0x00b66c0d8dce3cfd2d5a725b3dac0a92ae7ce602c75f6f1057bc7ac5264b4271", - "0x006ed0d9bff9e85bba6af5caed1690d146eff68027f41c84db26d733a9d2002a", - "0x00a5e001e48e20a87e1d211139f438f8402f70444044c95c9d102e7483475235", - "0x006bf148c12e62b48a326a1036269fecc7b4a5dcf9a0fb1654e066cc9e0c0726", - "0x00192b72f9f1d917bb847a818214db0e20af9eca8266221a8bb08287facf3964", - "0x00d2f51978128f8323283300014a3c77afa6e39b47635a9fe34829cb8f38c191", - "0x0043047863163649c14ebb19495318303c40b677fbcac8f4d92d531afe294045", - "0x00f4018f683fecf76ddd5c215751a1ed122e4d2d1b9bf4224975fdc699b069f7", - "0x00f92b787b38ce05368867c1727af40846262f1c3dcc6a5402b345943a872cfd", - "0x0058ee507858b1dbfbaf6c083f403808598482474e13781ac684c71a35f1de35", - "0x005eb99208dda8650c73564183d6944981996fd31484440960b7ca398afdeaa2", - "0x0030aa74de5fb6445744de9e324d587a1bb50cd35ed77b7e3961e983ace84379", - "0x00b8bea9086f99aa96bb913ce48d78863d56a20f417296227d9f38a5e199559b", - "0x009bdd91052120317b0a6032b3d04cb8ab6492328a5fbfccfc3e9e1756916032", - "0x00e78d1ce504494cd33328771d6fed71b8d7a2357ae4f75089cf6186d252ff16", - "0x00e7fbfe10dc00503ac1fd7ddb3f98c588c83edaf03ed4f5e99b3ee01c4ff8c7", - "0x000c3d3537b549a2f2a2e3b2357cad094cc63d98954fc856ac841370e94f4636", - "0x00a47db9af05cb75b95a95768977f1b1e6ac62a13769d0635bf9eae551dedf64", - "0x004446c63d4d0b7a5699c43be40404313c9743f84754ce07a2713f29d48ceba3", - "0x000ea0df4c3753e64ce4f43f666efa88a907c73e5ed32606f1bb14c3d9977bd0", - "0x009a1fe52f349798604b287907bdb7c84cbc98c56370d34faf12b6e761f836a7", - "0x00606fa86d4f74950d348f230da701ebf0e3159aeb30bf82c63b8a411fa4ab41", - "0x002ba439b64bbb52a25d03a3ed2f7429d9754abb32048bfbc01c2015a430e59b", - "0x004dc51259f53517b1f090fb543fe74cf719f84bf912630836b15f595097540b", - "0x00c6f44a473702fd1a687e0a0303d39650c57a317ef19fd11f106e551959b453", - "0x00e3d7d3beecc07f0404fd12095e886c96b07ed9cf3e1a484ff59e1378dd6884", - "0x00fe2ac3b3670e65e8123ded2628369ca5a0ae2fdf8723e8e9086859dc6c46a6", - "0x00c547f3f1d14c2d4581ff4c3772eb4ccb4346010825061434142f1e83601cb8", - "0x0000ba93127bbf5a5187a2d024a13d30177554ca1d0ed52f4f2ae6bb1efc2cb7", - "0x00cf58526fe5ea820bce08d4deaea002bbb4131cf811e656faf96026fbcee19a", - "0x008c32c310260cd3f5311d06f564687d350346d73fdb9b0e13959f5abb7146c7", - "0x007c530b081687ff83b33809730a29323cf61472fad712f36dba9ea3817216b2", - "0x00aa1e5ebec74b06991ed9882455e7b0aa0e077d33f48164a877bef5ada4ade5", - "0x005dffdc6b90d78a46fcce3cf0270a98b5046369eed6a6926de0e7e5724cd209", - "0x00eb47bb03890ac2051ee0a5f9dbe54ed1ded92ea1c41b1559ad3d15a7679e77", - "0x00bee7727d384d00794b7df8e2bca782003524314cd1dc51a293f7335cc24d2a", - "0x00c8f89f56c92bec962bb0a4a16a769e452ede0e4c002f0c8e1a72262cc29575", - "0x00f4851c362e73be660d7409558504372a117c6bd1348e30d22edc634ea0cc3a", - "0x00e56b4c625dfbac1e16e4145bb62b77c6c645d021944549d4cc8aa48699bd7f", - "0x0049035c862b60069be7872fd1aaa033337eb1acbc4577608471cbb38d76f826", - "0x00f4353a0227e7dc2ab01978f6c6c5fbf44bbb2f2b61ec81be66bca0e2c2dae5", - "0x00bad516ef3610d3188bb1311661e49907d8c79f19dc5a7250c236a8ae7083c6", - "0x0030df572cd6276e80254ab23b72a7b31d937b05bfe56ea8cf642a24de1b7c0a", - "0x003c03559a1bb9a587608c00ae91eb97ddc7123707d2aeb768a636b5d46b6a19", - "0x0077882287dcd6e3a7593ecfd1fedfabb79363b1fd977c1a346bedc810298083", - "0x0010116095f99675d012aca9204bd1998d330d0843b4276f5ac2c2c5d90cd05d", - "0x00823cf40be329c9b6bd6bf1c66888bc00e8e460bf24768ce50941ad93270a2b", - "0x003cf8bb0ac30e8154391c452d3c866675032a0b164fa56ede5a98773d368586", - "0x00e9b826932f1bc3848a10decce34a2af0cb12f6797f9f5c542093a77e8942da", - "0x00c0aa88b4b58d42aa15a7372490f1e8f6885035bd8103f4c546314d5e89cf07", - "0x00701087176994f169f92dfd1d341adb492e7a9d6f9d064fd3e38b512a565e3d", - "0x005016da5674a0b2f797e242a5ee7be1edb42258b1e51b4b14e07a2316b08b44", - "0x008a3256e05bd32a3c5c89f940ff1133585fdada6a255b6e0d86749c68b43835", - "0x0065fe43e2db3b227c0c8e655aed54f67f0492e6ddb71e93279e3ffbdb26a861", - "0x00846d781ec6230fc90acacf626ebe677520949b1523568328a44fd868bf2e51", - "0x00a4cc247ff69bad1ad155c49cfdb49a3ef0c1d3c34ff94dd2cf9819e4c47e66", - "0x00c64615c270119cb62a7335d23f8957862638b8916894f598cfdf2d370ea9f5", - "0x00773042aa33da95cc0027914feecdc6ee29b2ebe71d24d7b32112b2a9929aaa", - "0x0004ba975985388a93e29cf3ac760035c07d1aaa34c380226ad357925352dce3", - "0x007fac9df5d7abce4c57d27ffa3b6078b52a25de82d8bf61366f18d9c48fc56c", - "0x0081300c94f98ab45c8da1e772c4ddefeb57f14f5f0d2f24943995a0e5c54eff", - "0x00ddfb34397cb4f7bba4ad60daa60c99a252cee35d40adfcb3c6dff08f072d58", - "0x00d2b993b180f861543af1af417aaa3f6a655a4f52a9b7e2008801f23f4277e8", - "0x00561380ecc937770bf0950f2ae7a6f4f087715a42ba63579f4b4d0b8c57e192", - "0x00e079924b4ec780cb6204266609d0e5dfe371b386b1a34fb372de6409b7c88a", - "0x00cf0392b41e1b4ae9c55b6259a406feea91ba30004ff2a8468960de8aea32d9", - "0x00177210ba7217653896d418860beeb16cd222df35f05bd2a3da46bb96b8c27f", - "0x001c8e52f90a838fa06d7087f1392a0fbfc8c9239003efdd203d64edf2843f40", - "0x00555422b19c9012f99ce364951293c69e2beebc939ed21a88d658a689b764b6", - "0x0041a20dabcf655dca3b76b86aaf75383ca61c835a27f76d07b57134b2ed57f5", - "0x00d6368dc5a057886a40aa80269110ad3ba2d28a8324cbb50c48e4e208efab5b", - "0x00fe6497c160c1038c143d2889c45b9964f3db59f88b44c352bae3f0de4fb76a", - "0x000c636a9dd410d4e7fb13c4297cdf597cf527dff1e0a1acfe58387394c47777", - "0x00da2557118cbbd4bfa79cefebf327be6d25f56f559b233637c07b790cbc0b3b", - "0x0005e2bf642d0b23b5e5a97bd366e0f2774b8792842f6443315b8a097e551854", - "0x004895781190cbc78a55448ea548b28a9bbaee7288af10990fe23b11993489df", - "0x00c7e645a874aa1e53f14303c8a975f0db7d49c4ce3322b66dbbaaa96eb4c073", - "0x00daa67769abf46897d83195ce123902a2e05dd9bd70c94282b26927f53053df", - "0x0077678d5672df91bc3e8dd45c9c1ffe79d4acf94ef4576b5af10888e9679b82", - "0x006831d8b3702b9611fdb5963b2b18f4862d5dbf8f648066ec8d0c08f0dcf520", - "0x008e16ea47cc962e5f3f27873e78c15b26b77485d362e3ad4aa1d96e5c4f8e18", - "0x008e3b2ede274e3dd2ee2ab043fa04f3084cc43d0a2f0b9c1707221de316231d", - "0x00f76e83962698adfbb2119b48d9a9e46f6a90dc43a31679af888dd70f26889f", - "0x000da9ac95be7c8423f3d7bff5bcfb05e555e60b6a5cdcbee00aa89f915506a3", - "0x0025e83f210d5aa08bfbccd2b8b1b58daa8956309cc91f3f6cedc1deec372940", - "0x00591c104e364cd69af3f377cac042b470141e3d3b3bfdb0a12c863fc5ab1d20", - "0x008a1d8209dcfba9237f49f2f9106a4c50f3c8575f463ed54232a55baa938685", - "0x006f65ff21974a616ac468a099781cb21542ee8e2a36b501b66601326bfd475a", - "0x000887ef4463b0c7ad9c51176fbbce31dd2b5c0912c9d45452bdd89cb8a44a8b", - "0x00d06300fd10c8f59201246cae962dae3fc3f74eeb1d3a32c9cf5454dbba5140", - "0x0073caa7756b897ad65999959015e7ec06cebcf948aa33468ef3b981d6dff1bc", - "0x0028cbce78ccb43e847eeaffb7b94e96bd387d8d9849637bb2a8e9af580a19c1", - "0x00370fc68a2a9ade873fc301ac25f8d71dd28df79f129c92624ae96667a413dd", - "0x00a605d1e296e59e8453cbc6771229bb0b3fd1be710f1c82c7521a9d9c6760f8", - "0x000dac3144b3c9b2027ffd202fffb9d542211b1fc09a100bc34d0dc79550dd64", - "0x009d74a992f8baf8baa4cc87567581f52b31f616a793345e853759cf22408020", - "0x003e0ec805e583838bfe2e39d7eb67a1e5087824e199daedaaf329419c0b72ff", - "0x0097772450d7b68fed0c5973e0b85e26fa168e6c79c5a4ff31a74cfaeaebf2c7", - "0x00503c7cb4eb05134f2966f8db20362a6b311229ea28b287bd9fa5434798c958", - "0x0090b6e228f942b0a8c94cc8eeb7195b6abec3c2792c0f6ef36f9f4ce606f44f", - "0x00431e6d318c5ef3b822859cc9c1971d40006ba0c5755c56e0f79ea6a62450ce", - "0x002a1746bbdb2075f1708819abc5bc61407f60aed3de257a01e589e7134d74b3", - "0x006fc6bda888489a780006ee774914b5b092e7cac8f398cf55eb74e4e5c756f2", - "0x00bd65ea8a7fba2617bf865e9f22a20f56f61ceba7c97fe48ba79ffa003d65ef", - "0x000439a2006575e7042e3e2c6ebb4df3e26bb81f2ca482e2f015f6d2d941d1a2", - "0x00b6bf381c6ec939a94850a9d66b2fcea0300d2398cb96a24463d1d7869ccc25", - "0x00a29682272505e3cbd0f9c4230488c722413629311198bdb74b98c7b0a40143", - "0x003769700c9241ce6a6462f11b5e7a5d506ac1f1598706bcbbb04b10533ac645", - "0x00e4ece8be5fe2e9600fddabba62103a3f51dedf67490865ec617ac8320c64d1", - "0x00f818cfd82035bcddd6e2f2ae158f8fea759e0145dd983b9a648f5ccb4bcfb4", - "0x0034d50d61ef26997b2edb8284e043aa2b3f63d08130ae940922acfa5256e67d", - "0x0030c6915075b6aa9210dc3bf829e341f54ac1c0f8e704cf35af3f4beb31ac27", - "0x0075b7edc29e4cc413d745cbc0e72afc65a0b354f651e5cecc59cd10ae41fab4", - "0x00f94a0f5376bfb1e0b6fdb472f3166fe91e7b7dc18fa7ca995454b912f59a7c", - "0x0083c82f0b40ab45dedffab55b2436e7abf9f48b5b7bf55257b4212791a19ff2", - "0x0000761ecb36302f831b2f36843b5f364a0cc092aa588a2a74ef07d8268d7024", - "0x005dfe8864eea57e6bb3b51a8438857c7c43c97659e1cfd75eced8f50c29e6ce", - "0x00116f062435361f0e5f7fdc57634370b15a48dcf8e281732945d26fa11dc78d", - "0x00d65a6d499a69a90a5cabc3b0f485fd4a85b6f8e05442c1fe86516fea611309", - "0x005fa0d4292aa5152e5ea9bb5f2b93cb18cff8659defe398ea87ad4bcb94a479", - "0x0004dbf1b02f30e4e5f4c7af3a46fb7a81c86784d42100aff2b7da65bb87a54e", - "0x00bdf52cb46e15bc287da02ab2575f5c749939ea657de8627c31d50b7059c300", - "0x007f931a60b0b2577268f703ca463c2a9b0bca760b573c84ddc67b8b7e637799", - "0x000ff08842a919591a46c1ced2b6f262f78c457e0036a441a1218af03315395f", - "0x000d9e64d527324fabe31c8b6e30275725e775b21e526d46ed5916211ab868fb", - "0x00698bf25655a8a20bfba02ef47859bbb9a5da3e791416cada1333a18780493e", - "0x00b537469a5a1277104df28ec46a0c492f4d6a90a28bd467f1c12df06d73fe92", - "0x00fa9ed182f10e668b1bbe4d70cd63f48b39b536695c4ef5b4d8b1ab2b06e543", - "0x003237114f331e23f92bf857b71abec049b3e9a6f3b013d92f459570a80c8e97", - "0x00ceea49ac4e21f1d2e93dfd99321636ca151b5c65e19aa155e70ced7332c5e6", - "0x0021e8b02b7685f319904d1621ddc03116f648a4212009134938d19ce2db27b6", - "0x00c69e32cb1f5c465d3d9851d56891433d11cd86dcf55a6a9b2bfa6f81c615b1", - "0x00366956dc54aa1c6ffaf6a8eaea39ef940921f53e768e36faf020058bfc0a3b", - "0x00311b461c59d4cfd3f2c8453e429ef31f16409babb6d317554495dd3bd68935", - "0x00ecddbf3b5f39d4d377471ed517ce11a8da612f28161b40d7fb40d573b77c85", - "0x00d67fa479ef5c5958050d98fb75a455d8ff38e92a93430b6804b5380aabe02a", - "0x00a368e4e612d46bea7c2b693aed60e297789904a9f16311515d93623353e2b3", - "0x00fdaba9736f20c6bb241b53190476719a9d83d154a1d0a75f730a9a514ae8f9", - "0x00eae03d56985912722e7eb8a54a8057c741bd3a83afb40c6367e8d792fd47f6", - "0x008ef0ab4e85bbf68f7a71e322e7c89c25b8faad32b7d59ff7ceb33f6dbd5eec", - "0x00b6186108164d8026de5e0b1d9cabe3098173c92f8fb3940011d2c6bd883f2b", - "0x00a035297cd347a53916856264498222f0aa0694bff8e30e6942d5164446fa82", - "0x00c611525a9b5a2a1dfe913578f3acd1d7daa63c5e998751047aad109cac765d", - "0x0093fada479819d25dfe72f8f17b294671b886f4cc7f19547d43d76850f35c70", - "0x00b1249d8e4af8dc5c98d3db7bb1ca6eb61cea402847db1e58552e3bc26b60fd", - "0x0014065a3195b05f160fb4f7c64448a0f61da73cbb0ca27d17984e94e644994c", - "0x00334adb0c8e0be4f76edd86ec75e0d356a6eb13b32ed74f0ab0d4fa4eeaac71", - "0x00740f589f82e9376b8864d193ea027cc99c6ba0617784243dbb72dfc418c4ae", - "0x0077d0c310afa960430b93f6a698323ca170dfd0deef58ba5f757baafde3d405", - "0x0057be0fb18f7dc305b8c3b94eb2308fdc2e160da641b212179e8c9128d2030d", - "0x00fab5ca8251fde5d3ee6a9e9f940c7272ce29f20b83bdfaa46a5899ba957a24", - "0x00b111409d92f62e1cde6c20ecd91a780266ff9375a14cf8ff4c15a5613af4cb", - "0x00bbedddaa7b3f9f53ff7529582897c033332401878d24e0e524ef550e6368c3", - "0x00ef9a7a38cf10ce2756907afa6718583b8dcc0c00c894d95a247cad0eb2f3b9", - "0x00f72225559d4b53d4c788b3dc0060f7bff07f86293abe4dfab627544126773c", - "0x00db1dde0998932dee5d0df5bbd97a963b196b264bccade3ab6ad100f72356ea", - "0x00b7e8e5696d4341c68df4b1101fcfd3099746fdd7749d4a72f0528b1d31f99c", - "0x0085fa4e7eff59b5dc3fc6afd48498bdaacf5c0c11f0b911c5425a7ead5a873c", - "0x00a7a3c0be07291410b4b4b4eeedf71315e02f945a9e64b166d4c15e59d68ba3", - "0x00fbeeb9d88d74959f991386691fb4a2428ba5f42ef824f59f43608fb9b92606", - "0x006b3e96736bdd5533c463ca13608d0dec38489e1c9ab0acd0f8d3b37f7a89cc", - "0x00e5149585e036b1137476506010ee79fb0e8eeb8a7c1cb403810f226fc7e505", - "0x000a6ec6ee556439b60e2382820f0403180f369dbeca292aa63dc3f38d6f0936", - "0x002820e243be30a9eac425e1bc418de085fcc9ce5ebf36603a0106a952644fdf", - "0x0017b9dbe78ee01e6cfda0aa1b2b2edfb6de496ccd76ee12aee38c90ac4f8a8a", - "0x00833f77086923a7da1938558547e2b57af70d49720662afe0e0afd7804313ab", - "0x004a5d3766d92321383e878c7999fbd9aec29d65aebb8f0f14422e2407358f3d", - "0x00b514b8b4d4248fe485a9d2d188cf0eebc0a9c305d008e4edae1b2f3f985aa7", - "0x00f9bcc70948bfabd464065bf6a19729c97209601563e5cc3d6d272a2e36e426", - "0x00f4a031bbe33a5ea7ae69d1cfc576f76a661dc3bf0588256d49873b81a79987", - "0x004127981e0a6b0b94c7c59319d9cd0c825c29290f8035d1dc75f88da845027b", - "0x00e8e715ccfe479f52707c5175243114d0d27ebfdc5442170833a1beb3d8dcdf", - "0x008c43762e758b797d931385bb8cc6093d2c2ca8b8e42fde33e3e925fff1a830", - "0x009c56be0b79334996526ae9eb48d3d5b6e686e1bf994f53b15dedbe8e3b79cb", - "0x00a0d24fea05838937fb9e1a025dc5ac6aa7466a341c1b31798f16c9dac6a904", - "0x001eb36851a50600075b68f3cace95f7211ed51383452e07494c8a940be759c3", - "0x001f3a8685857c3523146960686ebbfd4ce141591f5521de70e00d305575938c", - "0x00c564eab0415edf80da667732ffe2665cd439119c7212c4c2a72c55b1ec7732", - "0x00d4e9b2f34b7dce48e3132636698135787036e13655608902bb40fff7042e10", - "0x003ef8bece31b199cabc1c220062bd2af20b303ae32d381c8c8944bfd1375dbf", - "0x00b533e063d390bd3ec04f210b3c8671463f82e8932e872a2ab0cbf5a324a568", - "0x0036e7ce99a72da3cdc7c21468f4842329a0cc9db8c01439b2135ce0860879e2", - "0x00bc886ac03508406178be66c3b1b611f284c4196730fc9381bb7c087a3ba673", - "0x00c37d9d6608a151d2cb1fbdadec8cbe5461cde39296b40070d480491396cc34", - "0x009bbd8130878406106ae2e54876bbbdc7c2a9bddffe7ed222659e6cdac86263", - "0x0065b9d8ac6afa8c7c5503c279b110160dd129f835b6d9c17a4b4653fe4e3979", - "0x009972154a4f430a9c9541b71cb676b972551d99807cb41e9febc3c59a6893af", - "0x00d2963dd51b5fbd31ba97648ec7052b508d358349c8362ad93641bcab591b2d", - "0x0039d9ee0fa52f66214f135c8f0b55fa7709aaaae297b33b532971dd51049649", - "0x0022bf00773f5f31b649b48cf360faefce86cc74f7d3eadfc77c37354befc190", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00530afc8b0b5b26db65b2cc8d4035c4c86e3ab38c1d1d9511306997c710ad8b", + "0x000b14353c25094daed23db653e7f432f1cf11771309cccdde66eb3caf3e126b", + "0x001cc32b4ed56bc38d9762700293c6de300844baeea0518974bc9d212094e65c", + "0x00891737bf41ecf1dd6b3770810cb3803e93fc0b0253c6c43c8373ce06936813", + "0x001ba72afa42ebd9026b252564456a6a9a62246a0e98237c74ece2cdc93cb867", + "0x00d6bbbf5c4fc598e233102d73c21c1b51958c036c24af0a55fc5b8f3581741e", + "0x00e957b42cddcd40550620b5f69e74770c68708620e07e9ee10fc270d6b2c82f", + "0x00d82079c4180e3991f220794d318062822624626824b93924e96bc91e889262", + "0x00d33092b3f62d5515251bab970c55391b10aeb3cab94af17d2612fa9a65c7d5", + "0x0094d5f48077af67b09ec064033e52dae68aa988a95da4ad35866e7e991e5b99", + "0x001b51be38128ca6d8568fdc03536aeebec0487077b7905e5a6a91559080ab16", + "0x00b5d0be04930eb3ed4c7ce71a1fffc00dc71e121f6ca12fa85336e99d71489e", + "0x004b2383f1f80742ef74bb3a3a07f190cb9cc1ee32dc29a0be61c81ba28675c1", + "0x004f03cb45d9f9461f4d413d4fbb270dcef68ec151ceeed3ccf815760ddaca93", + "0x004aff5a6b44aeecf762905bc95c25981d97e4121b8898596053e8359b82facf", + "0x00ce848c3bcaaa553843d5c9e55d8fd6eb4c5ea0ae2af675e7d723d81e7891ba", + "0x00aa24801f2f4d5b0b0d0d1ff78ed4d7a6d8725f5e4c4670695bb6ff05dc00af", + "0x003491ce0a1061f42df5faed4b01af30abf5de1ac4de1863a270a5e831c9bfd6", + "0x00be04094e895ac35a53859d03ef8ba25757c3236a1bb45d0177feea87bb84b0", + "0x00c6d9907de250438e42a7e1cb418567e9987a16f25e78b3563c6088f9b943a8", + "0x00fc3df19a5d85ef691efdd1a7d5f062701acdb680e97cb88fd9c8c95e30ae2c", + "0x00f1d511b4df24b3674d62378040cf76d38a1c3cfafdcf6b51801b8cdbd09ba0", + "0x00ba37f5b87e7c92854adfdc5c263ea52b54224d856a4b356a94c42b821735c2", + "0x0061ac51a4bc5cda9115d5493fc9797ff3703b75642b7e18b4ecf266d63f1048", + "0x00a02da8fa6dfc8173b813e034784c74cf1933535eafc2d7dc138a4535087ba1", + "0x00bf2ecbd468187151e049d684e182147c9a97021cc8455b06ed701b71702680", + "0x008975818165581392791f08da7c4cd6c87dbe8f7a3ac90bf80f94851b02542a", + "0x003d3a389e5c3a491fa8dc1490f95c4b12cf116474cd8495d885b501a4aceaa7", + "0x002c9f26d0edb6abf69a910dddc92af9f4f410b4ed0153eb1b98fbc519059a70", + "0x00b047acc9e0986a5e7472553348a0064176975151140d8cae3bda9ddb3addb2", + "0x002c0ae0bf4a9480ed72e848eaccaa5a21e7ddcd44ef0138ae25c41d6477352b", + "0x00ffcbc65f807ef5d9ffe44049b6ea094e4d52adf55ca0c17bf3290a055a34b6", + "0x001a890e811bf7fe5b89fec371a3ef1e492fd00366099a37a305d0a96aa39753", + "0x00e7661fd329da59fd34fc9f8e854097ac6a9a821da93560082816bd748fef2c", + "0x0022f5a701f9754d155dfef63a553d2c0155840e9c79f20c6f6551bdb97a1b61", + "0x00df24c5afa7a578f64a83a5ae0e9177eee119c53c2b5dc23e5235b6f17ea1bc", + "0x00efb9d383cb351204cff5243288e1945be73d46212c4974763b55c3e739b3fa", + "0x0013e451f2a9e2799afa0e2d34d82d63fe677fca76a56a9b01f13d9c0cb4b682", + "0x004abd3a1693fce1e9c5a2888787acc09e669d4e0e32ae2ad8c75c5510f4f6eb", + "0x005ffebe7a22ca5828f16b8d2684ebf5ee01ac8380e14e0102539f3ba00b8a07", + "0x007f264bcec22e21a46523b0d1deca636594860134b465d879f5aa66e02d7353", + "0x006b6d11bc7acad82a8d4aad1a2fe5a90309c947873c36ad6908bf75ebe26ea3", + "0x00a7de9b6d66b0b0fe7398e0c4cf0cc86259c5e7ca45f97a38aeecd87c86f592", + "0x005b4ef2d327dd8276c27afd229288b7d3acf9d0fef88e1a9d1021003b2f3b16", + "0x00cfe80e67962eef60c49bada4ab041f3780351fc02d0d8eb08e0e637d76eff1", + "0x00cf91b48fd6225365068a388fb9cbae508565fd8e405bbdfe4eababad0498c2", + "0x0046f29c6036597bf745a3e678e42fb35dc4aaa9526881f4b0289d0b1a4bf98f", + "0x0041094e195a94f865b4b35c42d5bd8c32d56de56d34e556c4e03400494d0334", + "0x00383eccf1f2eead90ffe953df2bf8cf22f5fc6cdaa2a52c4e5fcf9ea2e85dd0", + "0x002a2770353c95a8bb124dd9666a36b6eade35e46d57584aefcd6365edcad7ad", + "0x00cbf294699dc0c98a5c3113403e572009adff1a8a9ad037e59645da853affb7", + "0x002b7cd440a443c707623f1999655d89af29fa7c1fb73ef35a6ac28dfdad0a5b", + "0x001721be22ae4f92763aadbc49bbb8bc31bf8801c60775c02c99f0d607ae76dd", + "0x0035b7d7bff67d887d5fa57e020744d771ceb6cb4e53b2bd3e2f908b188156f3", + "0x0080541d9ab20becb16b3261e84cad2f7c59385b404c2c3955ab182311c599e6", + "0x0011d826755d7c3728e9845f237310a0863048d638369ffe3162f8733b2c9f69", + "0x00904cba27cad0d732ee068362545ae90f0cccb1cf130ea4150efa7825dda634", + "0x00f7b5102dadeca96ca5752b9fad8cd1e2b6ab63e9693e5194dd28182afc9388", + "0x00485fef3b673459593ce4ac1743e55629188f0eb91415882f7253c0d10923dc", + "0x00b939452824f3b4895b9eea45d9efecf2b3838497807f1558387d90c9a55b6d", + "0x00c58c62567637591ba9edad9d2b1f4dccb22621dfed3ffd359a0a984b5a7df9", + "0x00ba07744cd25fb88431eda19ee0bd090138217b458f23a9a5e8eaa57710be78", + "0x00db339233228ed35d03643fbb85fffe418329988c71a702d5c27a7c5115c805", + "0x003c7fb65d71013cc120ae4ec3585c86882d7f7a254c9fe6685f3a0b7c9767e8", + "0x00b02364b2a33b8b12d53971dd00a55120e81bcdb18c1f7cf942dc08f80ed308", + "0x0027219120b7a61a4014aa7b6230a2873e957a78e64d24159fd6c06be4486c06", + "0x00b4299ad52755bd380c0449f63c7d9c47781e1ae77f50538c99108705e6824a", + "0x00666ba034993f1ef85c7a77155bd4a29b790ff896bd3954ecacebc5b8fe50cf", + "0x00ea9d7c700df3c8f0092eb9da11091eaedf16c8856d3323259c8b5d8e9738a1", + "0x00b23515b40a4278d1046913624d59f29d51456dba2cdb08c9f0ea7baff4af3f", + "0x002a888acd87090187657ef40013ded429bf9a158c19bf149a0752e064dac618", + "0x00701617d968cb8a3a29e738c4a4333b210a35d27210e7103f5a675b2b380d82", + "0x004349d5b4aa4a7d19c3fa07c2fc5e761ffd4257c8d0c4584674a30b4bd934a7", + "0x00e7aaabf92a8ff89fd737192ab02cfa0c9b8af79fa0002186494c9f78f110a0", + "0x0087d744b0e22f1ee6f26ca1cfd8b72b2839f4f841a2706d955d742a156f8971", + "0x003febf73faac6a431cf317c004b2e9409a1b9584421ead48defce945012046a", + "0x00dd7705854befe90ee2bfc2a8966ed036997e2a61fb137b538730e84dde0861", + "0x00f83e9df2510b28e254574900e5e2ea883acc6b6c8005104ae2501f930cb63b", + "0x0065c9a72dd301062d06d87b786894c200a69f0b729d69b8cc8cd3fade88e76c", + "0x00e5ee315ccd2092e8aedbc3753119e1c6a973731b761b14d7793296b1aae999", + "0x009ddcb5438578951df1d3e266b970f6a8e2cca80b67c4764d4d41aec0f3ea1e", + "0x00331f043189cb646d66ac70a34518a078eccbdb1eadc38256fdde2f917f9ef8", + "0x00d5a98bc8a1f4548b6cb2fa11cb7f91edce11bc5a50e1aa9d9d49977cbbab8f", + "0x0016aaf92c49e5212f109d832b1d58d52347ae2b29e377017fd515015b74a486", + "0x00aebc85ca8d5db854686b681ffa2efc1b79ab5dfc84ec484eff5bac4b27e156", + "0x00097535f4b9b59769a5aae5e15470ce74ffe5d12d85214062a2369959d5a94a", + "0x00a4bc0839575892dc58ce33a0b8f4fe4aae3bec36f5371687a7ea95848686a2", + "0x00875d327ea94e6acaafdf4fe5fcfe9427f4e0d04197f82fe2a8a746bb481a51", + "0x00359fd902dc03291a42e5e2e08e0aeebe1c3e8fe616790f869aa6b207f6e31d", + "0x00a9cec27b2f5b6c59ac3af4a6fed2ad991464274ea4a9050900e5b39d2d3b5e", + "0x009851a9c85ec8b09cca9beb9bc9a88ecc924ed993c5362b5cc5d4b4bae381b8", + "0x00395c1dd4063bebdfeeee49615bb22830047aad94f0a60d034c4a79fe553a8f", + "0x009663a65ad7892ec0876f8656640608a9625a08212ec6da0c4b3a8cd45444b5", + "0x00c8306271e41415b3476d33acd062e904aa8c44b72ecdcb72957cc9607ee9d4", + "0x007c51e6b5dc54bfd4d9ec569f2812cb1f98004e43027350b8327f3bcccccf43", + "0x00db85eae516c878dbf027821dfb446ff89897d85fede60a1cfc7430536753af", + "0x0053dfec2dd44915c0302be9edf4025d834330720b710b360300a2ddb58e55e9", + "0x002981029a7f7bc9314a30fa826eae99e186805acee2613ce5978a691fb6faf6", + "0x00624fd5b0ba2417f6641dfce4556bb0b69cf7f822cc4a4be05d48d3e674c2a2", + "0x0073bab823891e7bddfb284b6a6f1c0894953429874225728f01151796f44170", + "0x004b8ebad35098c257f1fabf5f8d94a0eeddf71f35ab6f7374c21c558e1dcea6", + "0x00d1608b1a397fa852cf9dfe005314edc9995e480427c9add0b2776ab5be4e71", + "0x00aff9289f0c32d71eb10a16891089256ca5b5563fcf0d74d2fda357c4e830ba", + "0x0068fa8f7c256c4830b467b5a357c48542fb5c76a50488d690565e9584eb67f5", + "0x00f9b28226bd75a9e612147c9b50066e7237a18ff16d583357d93b1b36a3f583", + "0x006cf8cdcd79ac407c35f856a488fa72f1d41d00d65716c1ad473f9352ca3d41", + "0x004d452066f5726591debcfd41e8ce096399aa6f8e214c331a0174a8667c0ff7", + "0x002a74c0c9c4883d492e338b8fc8af0037af1722d821687907915f8638265918", + "0x00288515b8e62e8a0993536c3be10adf0fdc085659253d40c38f73bc1b003ed8", + "0x008627f1e4ca97121b276eada030a3de67c259333792ab00d32122accb7a2992", + "0x00d22992374c3c9d7ac7ab583768f5f50255a6e0fd43f3dafd6b07635aec1732", + "0x00ba81a3920f1eb68d83fca36948635358ca82dd556e6817de52148df57ab25b", + "0x00940cc18164d73bfcfe598e71a68315f7cec8a2bba7d698e690d7dfb7e23783", + "0x001152600bc1f83ded7b16e3baf4d05d41a867f59544bf107933b76cf6723d48", + "0x003e901d0a7f00ae178c1fd3da3937b05aebdb3b499958c0140f911ff7621a4a", + "0x001313d8798a6f641914e8452490c7a658683ceea471ad008dc5ff294008a40b", + "0x00691e4d2ad4873a3f2b0367e270ea652d0241e6ad826c674eeb1b84c7628c19", + "0x00192a41de29f1528350c682b7a12a89dfd05b17014b841d61bd49a8387313da", + "0x00136ff4f92a011504d8bfa23379909399a00b145dd79b725ce8f2fc82d34194", + "0x005eca91328e0e40187a0dbc5bc7e6b075b6ef991a4bbd236a1fd73dd0e216ab", + "0x000efcf85150cc3387f65b2726dd02a79229eaf5390cc702799f8c5941c570c3", + "0x00dce110d9449f58d0aae8db15541e111fe146b956207c079af586ddf51241a7", + "0x00c2ec3156415d3a03d590889dd4bbd46b6956b4a710697d3b419357acdd0048", + "0x0086d0a4c9678ec1eb414393bce466b7fa16457e03221f7913c8993519e3e8c7", + "0x009c13d259e06cb72a49a73d3656f0d0a21ee5649be9cc40e5b437e44cebf7bd", + "0x007020ed31a1d868cb52df1b042ed1cdec25da635ee7e0c453863dbb932ff553", + "0x00a62950b9592650fa00f6b7d5fcacea0398f76e81c72d964722f99e6965d863", + "0x00406381777174d148e5b481823158a1c474d44fe4c1cd65ead8519cea03d6df", + "0x00fb430d26d903b54f30570a329879541bf695854e5be0d0dec63ba95603d6ef", + "0x0077bb928852db9ba9f0aec4271fee470244224e1f72528fa0a1bbb2c1643a07", + "0x00b860cc09195a25c6543dd37eb702f1ea3a66703b38aa4152166303f1889770", + "0x003480f13c3b851f5edb85365fdd81dd5854e1f54ef515184bd25295dca7b079", + "0x007bcc698a1bc2956811f1cba7e3d21a96c4aa01c72a89227db2a62ce1591600", + "0x0055958016db4073ca0ed802a96da309b9fbfa9eaa9645ef9768e69c09271040", + "0x0056df696eacfe203ae443237762062f5bb36d4ace3f0ecf407652f11923401a", + "0x0097d7e7ea5742afc36bc7a585dff6f2b849476185d8ce0df90f1a306cac4892", + "0x000e1a0997d1d1dd326b192c410eee267051cf752f60deef268e3e8b7d85ade0", + "0x0096e02c477491b5603f663f64b7345985b7a9f872ba2a8be42bcf546d6d64c8", + "0x004203c9c2529b2d7fcc9ec60b5bd4af86e7603a6ee6206aab567d3167ffb944", + "0x00cfeb703552fea0678de173c7eb75b43cc6f972ff56c31124b3c26adf14eca6", + "0x00c35f0591dcc83165082ca04d3cff8925ce313fc0374f401da223df44fc0ce9", + "0x00d315ba31c3761df98acabecc34a6c463038874fd5db397ffae0aaecb95aeec", + "0x00886012132d09ada0e69432e839dfc2f88c5743f373be4fef2246abd1feccb9", + "0x00dfd511df770587113249a8ccc19b02c5e7d00104ff79787f09be7e14e02abe", + "0x000e60ca40cc51e94c04be07aeefb5c668115ef4b483e06f44ae3bc6e24e0b4e", + "0x0050081ca3f5eb0b122ba96b852171c5dd0d044d04dfd219175307e60ba70a26", + "0x00fdaa767c8a35b260db03a7d2bd44f1af4ab5ec9ba036511c0563b5bc1f8950", + "0x005dfa7c71132841edd4565b6ff49cd3c1c8e5bd37ec5e0965790fccf51ac40a", + "0x00ab9e025456b0ee47cc51966c5ac56bd3b39d7ed4aa8e0ef30389b993653f79", + "0x00eb6c74a52018efe5691631ff2d9fa783751afb3e0b89ef96b31d694031e5ca", + "0x00c215d5ab45e322524a1ae3ad1854caf678d9fd654a978d46ccbc3015aaf699", + "0x00a7412c6ad642753e4dd9e3cb392c314f773936723d6c86087753d9ed81f4b9", + "0x000b39f0324fc5f9c345a5eedb43cf606d5891519c2a6e0945e4059082ab0706", + "0x0037cc9567a23b0cea33d9844737b279bd3fcf0a5d9db95e324f026101ce34f2", + "0x0090e0e257c24f52e5bed5639a79d2e231606b850837a6c9b196be0a24f5ece5", + "0x0012b52972691aac0660bdd872c4a8b19abf9aeb7dbeceed4ddb72bc0bf55682", + "0x00d3e5afef9daf0a62249e1da905aeae37019c59ac3c61b69064adbc3e3da94c", + "0x00e6d04c52f3307e02c279c1cd0c35c515f0ae15a338e48bb904488b8bcb8874", + "0x009850f0280ce72add49c9381f60807ea31dfae7f063cd080c9db1c318be115d", + "0x0019fbf2f03b1e12b4bb7a527922c3b350a2a06bacb9f127df241da1d3ea3b73", + "0x00126e1c3d06742a0bd93484f9492520e55c6961f900f06a250b3b4a671102de", + "0x001fb3757561e44c24d9803935024b5e3a3bc65efaadb48cc69373717c38d5e1", + "0x00809f1f4021146acbb1f0412f1df411fc40c99e3df2c41f68abba9d339b12d0", + "0x00bbe43566587edfaff4cb33e16fd1ff88bf60abd5d54da92b5e956ff8b4476f", + "0x009479805137985d4c630b3a4dd1088afb0b904ec0861cd9568b22258421256a", + "0x00cf205b8fae69f0fb14cb2a46986c56a7c8ad20a23352456e99057beb079b63", + "0x00891f494d9891c7e5ac66f60169fbea75cdfd735746cb63b1b4c3e2eaca7670", + "0x006786ca1573b673ad6b4cd17632faf6583d047775a1c1b262a6cf8d915255f4", + "0x0041f9153767d27616bec7e6b7f55fbb0662224f2f030341df2db07c6c54b989", + "0x0013aa6f8fe798dc21b64cbf6056ef184678a597d2ed63d455bed185259ea229", + "0x0038d121b905839de916188a51d329829c862736412c0c505b813a354220116b", + "0x001621676da107c351c2e2bd6c85ae0c09454948d541fa9544460b917bf7bc90", + "0x00ff82240442a2a1760335d1035aa884abc8bc787a63321c65f814b17d502999", + "0x0084352db51b90862b139e04bb5025c05cccfba750e4bc2554d71cb42eb495d4", + "0x0090b4eb01b02fed157ae4f730f6ee267a301cff0c9aa67de23531b3c4ef164f", + "0x00e7206333ccdcba1d56ea3168f0e8fd521e26f2bcbc781380acb82b7e76527b", + "0x002b1d677fbcf99755d3536b1c77f1cb937b2c1ab336232efef992f348a6baed", + "0x0057cab8c91be3a986862c54067b0a6dee2f250746b78cdc549472dd468f8d7e", + "0x00df5d08c3dd458e6eee2008f8100d4c8a276445e1e593be5e9c42ffe31787fb", + "0x0038ff972bd660925b4a9c0e73664c731a13c7969c7cf5ea32be9a65bc9a05b4", + "0x0010da98727b2652b71b744d0246b3d483360658df5163a142c90b8238076840", + "0x00310cfb2ffc9707cb98c176b8c7bf9baba42700ff6cc816115cea3cbe95f5f2", + "0x00043718befe5a4510c9a3c6d9dda63276f85d38848e80d3205a132a2822ce70", + "0x005604551d478dd33944cc8873f4c7ee721966f8990f5949894b2627c9da72fb", + "0x000a60ad60ceec2cdf1b0302cf338496522bc0c74f88a367b8cfbddaa2797977", + "0x00aea91fa6d89acc4294d7086705d34e00b7ad5dc18c2bf044ad253a00968aec", + "0x006a14f505effe65b0879f2a16b718738923ed4ec1b331f89cb7f1c74bb2b2ec", + "0x000cb4fa02f1c2437d0dd8889d1c2ace6018dca7f86974f8233a213313ea98b7", + "0x00192d72c5bbfd42ddb723b636fef804690ca26c02e6e4f23295c46f78b8cac6", + "0x00e751a166a5843cc427acef2e62a3633276ec0054ba9d5e7af82ccbf8275388", + "0x009d3ba6704ba76fb46837f93057fba7bd21a9114ad21c192592884c36536e15", + "0x00aa8de955b688c1b73a1373ef602359f758f62c5ecac24ad6e904add14d649c", + "0x0020b526d0af4034f0ca6ec4356055ae0cd56f84ee900f6711b9d417da7f4ac4", + "0x008b64f86bd45c23a60a500870c05f5db706b8cec0aa7066447a7bb0fb162d53", + "0x00c181bc4edf61707a46d483d27e69235939312315b7fccda01c76fc41d17ee4", + "0x0090be20a25c2195f6d8010977db021188c575acee2a28ed8c0e4cc0b1977946", + "0x00e110e40077eb9a9f94857c0bf95ba6a86baa119f08836b00969deabb9145ef", + "0x00546a27a0a6cd768b0675a3b1c32d3243d079e548cd8a9fce5fbb922300fcd7", + "0x00903c4d62d8dea5d92f21ace6b6637b2bbff3baff046a05d1829f0b55d15dce", + "0x005ab27fee64d7df2c3f574604fa6af16ddb436e72b130cb8fd19e4d79428622", + "0x000da3c6a9b2c72688e862dd03aa2ae255484b5f101c38d8c8dd4232f3e2bd99", + "0x008d72d901d4275f86ce7d2c990cfab7890ec09f625019ce3b237d2d634d830c", + "0x00c50d0e78485cbd21b21fa8374fed47ef16d90ef7b339c6813ecf583fe9e80f", + "0x001236381e8546c982c217bce542a3203715cee4e9a0df7d0952394f7008ea2d", + "0x00c0eccf5e637a306452d8662d990c51abd3e164bd7eaaa8476c1a94f1d5b8a5", + "0x00859be24670686d4020d7a3d1595a7f0fded2090a5f8f7ca8b5607b72197119", + "0x0010fa061d09ee6c3780435d31758447308a107ae54f20a7df23581485cc152a", + "0x001fc1854b61b9f237f602dce3e7345069164bbb2803ddd1e7463d513cb15fa7", + "0x007b383cc77a9a306d43677932f82d9c726d079358c8c97a6a73ca0409c7fb5d", + "0x002aa25225f7e880081d0aa65073e739c95e831b927fa22cdc6836972f177d48", + "0x005426b466599b5f3c042b604a5e2b97cb47f8f95da06dc67749efcfa928b5f2", + "0x001007327e65f3c71d6c8bc2bba3ad4f0499ed71889ed2b3204ea62b2bab675d", + "0x0058eb448d42f3f15324607f9fa65433c47bce9732c4c3f440d5e2e88067cb1b", + "0x0057b1354f1e1a9d011134fc68debd20c213e21c7952d1df13fe23a9861b49dd", + "0x00c4f9426f8c2995e17b70e92392ff65a55d38df5442f565434466da66846ccd", + "0x007a62ddd41b2ad2727001ddfabb0bb7e67c4d3fa912922b7f0ffefa8a1f2f6d", + "0x00afbc2756dd8b9ff0661315c2142e71ee4515d203c63a9f140164657c02ccc0", + "0x0098ac789ccd1b6db5d6b51a0ef8921f2c9b0df983266bd5312c4706514770b2", + "0x00b3b5925e767135cf2874ee00fd82aa170c948ba58926caf10761a594ed87c9", + "0x004acaf3ae2139cd795aed246a916b48e1c897c50b52e1e6db9184ce06322c5e", + "0x00f25a9da659e60fd102609ccab4a8885cb990fdfa0af4f427f93beb84e52ffb", + "0x00f5813c5f512f39532a18c8efaa943ad7cca0acb5d12fea9918f7c53a029ec2", + "0x00fc68942d998e5726751526f1bf4b77a8182a32e20ac2fb293811cc3e338256", + "0x004ea852ced5a5303e2850ecea29eeda8ca3046e95e7d66f42b956ddec47cc26", + "0x00c5a5c8fde6fd5774efa71470b99d7b8bf6aadd811eb78677093168e231ae36", + "0x00e3532cfa15a0ce6ed1ec08c3323c5bb6a4802f3acff2e77a7848135f24df41", + "0x00afb4726b784bfb997cf679a3bee79659f4fc8fc605c4714d68194b06f1ac1e", + "0x0054caff26f7b588e1dbdfe6582104a075d380072bd718206134ea357bdb9110", + "0x007a48e19b68fa11833d6a2cbb501ea37119825b3362b624c80c1ae26e24157d", + "0x007b9fd9f6f8f86c37975dad5f8791371ba94763f206230bd321d6a10aac8305", + "0x00fcd5feb16d58ce0b50775db891207fe5a9b9b9bfb405b0c9683ecaad8e209c", + "0x00711079130f74a5f23a2cbae0eb298757e6c85978aa4603b5691b0e070f361b", + "0x0072a8ce460fdbcba16c677ab3d3e97824013532c01404bf06e91a6f5db4eb59", + "0x00ad938606554e5348f9fc00c3593eac84aa73c824346b4125cc1c3094cb2ab2", + "0x000b301ed5b2d9553a98baeaff2ad0b1de1c346ed239d3cb84dd116c50e5e64e", + "0x00f72fa368e9138bcaf74b27001118fffca970d2e185e5eed80d717d5d8a753c", + "0x00014daaebaf1413bf39c9d32a61e3c1396a9e8f9ddc64494bb204895b5e6eec", + "0x004c508a709b0faa7bc69a0af02403604b7230471c994ce892a527b71a29e8d3", + "0x004f354d735262914ca10ae8a50603e59ab230815e85cb1544159e761aef91ad", + "0x00715cb76f115c077d1365c35536cfcbc460b923d82f634086b4770bc07fd4f2", + "0x00b164bc7f60a75d0d1443f1afe3705befb9eb63847a84ff70489df2e343d164", + "0x0030ff41590e88aa1dd86bfd4b3f17f0a6492369aee19eca58215e0a7258a4ff", + "0x0074ba2acf20422ec966ba868360a788aa356681a395c11c2028c378ec8185f7", + "0x00abb87c78aabf1e0dfa69c55f21e884cd9810d8e821192aa8e0d90e2595c166", + "0x000c7876a8ac2a57cbaf7f6865a9f600491ec0224e91ed11c2b6903665ac2af6", + "0x0096d5f99cea7e8cbec4a37163d16034e330bbed73acae88ae9681598929640f", + "0x001fd50573068fa76e331ff1007199ea58a8de00f9eb5da17c2b6f3e78e09e81", + "0x003d2e165839cc3459a9428540f0d78c596fa541798851b8d226435711971475", + "0x0029c28bad8e2243e6c5b7eeec078e27f92b1a6c2fe035e784b9085ed8e21f5a", + "0x0069ebef045b99646fb7922ddbe8a2f867da674579b9e65a19f12d8dfe54b9e9", + "0x005925011698a226f8649d96158ad6dc1b8323f5290b852ecce2cc6cc75d760a", + "0x00045ef572c33c691c80ca5e484013ece4ac073a6b461a2be5bee0fc816a1914", + "0x00dd484dd9ef6aeb2da779ff52a0201d3bfa625b75efbf6fd786e18e86d22ef2", + "0x00c44f9b94ab404614f41cc812b3c94bd2b788235240bc8d68745e2cc7ec6a2a", + "0x001da00bebc6ba14233613c46f20e4084a4615707ac498aa482546aef4c194e3", + "0x00e4bab8f495801352053d42d5018ad81c8adf069f9d6b4f7ab150c39c4f4775", + "0x00cb7e5c93df084f33cdd056b4bd3ae337f3289f4836d9e3e5b7053e62cc26f7", + "0x00ce1f3bcab57298671dddf9c8cf8f9ea2664b79aa23203e620fc579e92bb29d", + "0x00bdd02856c02e15926fd5a193681c8a799ddfebf2bf90f20e7b82e1c639f0c7", + "0x008352d37a58f0da22f78933ec032dcad5fad500ddcaa983d6c51082cbd00057", + "0x00c5bf92534b58b5a55472fd2f19157a40bc5efd5d162e6480254ce6a1dee90b", + "0x0046ca3aedbf8b6f62d427ce2bd396760efe8b73a711dfb6e91082a02d9c3f9a", + "0x00d06207ff4a365447949e2a81aa102315f81e9f6868f2e3315c17764912b6f1", + "0x000ef0f49d7398a8e0866e55d1c111844f38fe21537526f9751f284cb2fb7ecd", + "0x0010d1773fe06d5421f5ba4ed1b871055f1b5e7921442e23fcee0a6625a11246", + "0x003f13381a83e6f1291ce2cf28a3c53af755454e6441978a6c1500dae51426c4", + "0x0051268561f65e0138d1f01434d75adc5eeb225b52f119d5697cca7f04e1a11b", + "0x0074e4a00e1903a84a33884f69c6244796d49b60b3cecb761c41a5e7675bca4c", + "0x00c20d186475a282680fe672fe68c35f0c1de0d534a814d78feec7053cffbb34", + "0x00f01c45c6662bc1c5475729e6a22b06cbe15d114ecc25244c46f6655dc9a4b3", + "0x004a1304cd55d03802c938bef06096acc327679cd908eb69382ffb6d9dc0d48b", + "0x0003dfbd56803cc44081564b5e527ef8e3c373ac950db434273ca37ce32d8822", + "0x00cb9d1e81e429609f5277ac3d18af4c89a522fb6c519bbcc42396cf44e6379e", + "0x00953628cd8ef1838d9b36485c49cf576c8532a21a1ab987efa947f9f14b8e01", + "0x0005717d441c492f994ddb74bbc889c2ac9602c764b67ed388b70a7192da062c", + "0x0085946a069dd6aaf26d87cbe58232dee783a9c8261df068f1c2cf73cdcf6b35", + "0x00d4a07f67788a7f85432de37c89b68598809616298813ca3ceb2aafc1f4b27c", + "0x00404ad70b81f7ddb3e53204fc5a175768f3975dee68fa596f77b54de214c947", + "0x00098c01532d722edce9ea78b9bd0803cf0a5e2190dbcbafc89d0de483302f25", + "0x001f3a230954171add3ca3c183a9c3be1fcb0b0e172d370fa0778ad59d0fce5d", + "0x0063b89bbac9b94c321c4939c24dfa09fdd9299e8b3afc43d9d4e04e63c160e8", + "0x00040eb54efb2f6f51b348d6c3f31aa1c0c9edd6f711bdf4b91cab5121419af5", + "0x00763e36140c740b30087d0df3c6f9ae519bd224e9e468a30116b561164d1297", + "0x00bd6c7f310cd8cb5daeab64c5563146110622c6a9d986a4f447cddda9f6972f", + "0x006d3fd50e8f0827c2e6486c9585650a2b279a863c57104eada51981a4986d9d", + "0x001359d136203da52339b19f95b87606d47a10f39606cae9fb2d4157d4eae71d", + "0x008f795128210f9e3368bda2c6289992be640cfc247642600349b79b71c63978", + "0x0060640bb351d7a2cec518efdcd45abd27085542aa4c3225390068dd7f0ab1f0", + "0x0047910926f5d692f6b3638c93143e1d6d6bd8b735053880aee4aebc893a88dc", + "0x00b7873cf8f0d72ef484ea2b3cd5e07c40fb52da16a9492ec29f415dd29331f8", + "0x002cb79a8b9584b464127fbf28ea07d743f10db2f8ec15ecf009b62fab956b41", + "0x00fba344490ba0f0017f7906efc6c0a6858ec06d82e38bc40da0faae0482cc77", + "0x008d8cacf75e89046dc5de9a35d6c6ce0eae78fc9ede0de7e2251cb510e841d8", + "0x00a76281a5cc2bf204b6f8971fcbb59a6ed03f2baf1f05db4bfacc4c36c96f19", + "0x0074009b5da595313acb562e266663a61952421d3c6e0b6dfe063d03b0f75b24", + "0x0008f2d03e46232a291b4439e236aab0c15eb3756f104a211f3c5abebf089465", + "0x00760212d138e25d0d27d8f99fce1b75aba66261b4d12716ed6c5054b6f2c4ae", + "0x0063174c5d122cd09f6d2c4b172fc0871d1895f46b6ff8cafcd7dc63865748cd", + "0x008cadf3697a4c009c495014f1e48f1a48f3651a31687b925e494e0259ad3c55", + "0x0070f476289e1b095056f4c1205fc4fd6047da4f2b5527b2f5824fa1a9d8d2a2", + "0x0031e380580190280b7af51edd26651b1c2d2f6273e33607139862722ccc99eb", + "0x00ae9c21cb98ec869e50479adff0e5dada0e897190886b4b67a99871af2c4f9e", + "0x0039bb96fee229419885867972188aafce78e837282aeb61574af61525e8838a", + "0x0079e89b9d652220a22aca3e75b12a2481ecbf8a5d9688be8499b22c2327ba6d", + "0x002cbc0747182e77f365cdf151a9abfe5b30e11335d3a3198e3ff12d66502b33", + "0x004679c4b3dc73b0ab34fb56276d04ffb0053d52208f75abf2ad07d0b8e6bf26", + "0x0033fdc7c34223e2d2bea867329ffa8cbb3ce8acdcc0ada0628b93de468f30a8", + "0x0076e8e6a0662c01241a5856b43678abcf71ff9673049d0ee967b1bdb899d137", + "0x009e373e6339c535086cf3cd97a4bc2a72c033fe0f080ea106729c363e1357f1", + "0x0071326616e154dc6a0863e81c6c511ef42325d95b4d0704173869e5a1c8da5e", + "0x00e4f161019bde7671a585826482eb0da38f4a6f650fc95e21ee883f9f910711", + "0x005e905afbd6b3c00d2a85ae47121656dd883fd389863203bab5bc9fa4c49a04", + "0x00924ee341d061021e06c4fad5e00210654aeb043c5b1c1b75ec1c64b166978c", + "0x000b8cbf6367faa43824b9125026f28f229beb56bf69205d3d9934a8b72d981e", + "0x0035e769c355b0a6bfd6cb73b353062adb9eca80336fd05e5c6aeb57d2e913ad", + "0x001634cdf586fd7c10367dc21ebf90f5c8f43429e7b30edb86edc1f7fff2d0ea", + "0x0070743cba70d8fd6071c487e8acd8750942d11e5d7e24fdacb0691176510afb", + "0x00018fc7e26291b217d91868b02f53831e2f3a05db0a31408c26e29e5a3566e4", + "0x0061a67c2af34be6025af4b36dca409a3312f15a6f219176cd20f4a8598f1b77", + "0x002d83f0f4d1d06def909536db4bc7aea0608ef4775697dfbb9537e1e8742bf2", + "0x00cf9d64f151da41c52d6fc3b4d514781d720f83f1410b0a535210377945f245", + "0x009e08d21985e370e804c7bc79a20ce1f0497d94c48ad04afe40df699fd2ebd1", + "0x00f2fb4018aca8bb481b3d8ec41537542f79e568d4f2467dfe71055535ef0efc", + "0x007cdaf4c9e2f4218f59e9c894cbc2663225ffb4ac5caf8c3468c2330f40eef8", + "0x00e05fce7286fdc526eacd77e4979f217cc90261f9e68dce1dd589b1de56974b", + "0x00955131044eb52388f89d1929d8c2262fbdd29298ba1a01a08e6bda827595a0", + "0x0026e798dd2ea91b2a56c0755abf703f932ed664675bc2cf1ae18db99151d961", + "0x00d6c42b9ccbdf777ba383096c4810c001d73340efce01ef9f93bb39df8b2200", + "0x004df62c3014f076376cad43824a2f6792069185c9ca99ff834ba8915872b04e", + "0x002f35ed26cb5fe54f3c70ff5a64a6e361e8cca7b38f6e15f1da28d9ebd180ca", + "0x005432e9d9d2ccff775cf1de975e644e7e72cf087e630d1a5e89cee8ff042744", + "0x000e98fb6ab4ba43a6d01d27a0e9172058da11b779faef366cee4ccdd3a12fb9", + "0x0024889e1ef4b654c16dc29e65c8e98da6f4970a5fe580e457bc2ae2c6e67366", + "0x00381e02386e8f26b00ba6fb89dc00d67bcb6cd956c9dcf907e89f12df73fba6", + "0x00c85c8737178dcf07a57a95621912551ced1364f0dae5e11186749901a0630b", + "0x00a94406a9b799c776350c1eb31892a0c777769f59c3126e5815e4aa8cfa3aae", + "0x00a7aef17886dd0ae9b63673e1ff83620b864a8a722dba9cb8f86a16bbce7441", + "0x001ffb6219754e77e14dd6033176cbd7e231851b5cece4f57b437fdc5616898c", + "0x00049b5aa27d5d716726262f4947961781be5c19bc4f68f4993b5d3b232abce9", + "0x00e1ee64fdc6064d8d1cd29aba48f9dcb9686bb51fb1166c1c3f748dc40b8c29", + "0x0088ea490000d0cdf5e0c2b0f501783a5cc8dfb79fa53351e5dc18466390776e", + "0x00e09923512007bfd546120b5704d31c9624aa66cabb7f3684bba114ff3a3db4", + "0x0059d0ca3db5d12f226e0f8454ecaab8d23a21a226df69ce71ba9913c85fb5e7", + "0x00a264da6d4c91b8e4bdae96a2a01861244dddff24c388074cfc5bc3a815e59c", + "0x0054c825897e51e65c1cbac3997c57f1f7417e5c359cb05469efed0610a6938e", + "0x00a9002ae895159b295aad78555b77bbf15424a83da081e6bc9c3cf7c6c4fdda", + "0x0042d3a29312e6f22a2f4f79e744044fd5f67381c99f79f584d782704786493a", + "0x00e195d362801f232915e5aa6e25ca95f620413eed935480ea3ab9990c8dd56e", + "0x009304af1ab0a56639334746e427b084ad57ccf3ae6c2b620f853815ed1ece06", + "0x0011cf398b03b8e37eb46f025b352572d193727cf562f2501b4dbbdd776c8e81", + "0x00d4c2e97437c4ae53bfede0eea11c74becd75eb5b2c09cbed864dad7e5bbae2", + "0x000b7192c0e1cde756fb8c950c25d930427bbb4e5657df87cfa6b92c0e836aff", + "0x000051b66a9e03e7dffd3fd2ef382b239c1fbdfe1b0a0b591d6c000ad17a2a9e", + "0x00cbf5b1a32888fd8fe79cd6b7f8d5acd41fcc32f34841a176579e2b4e191e39", + "0x00f500dd8ca2d1bf1abb659670ab96559bd00b7c4dd4b1f03fed08923d6cbb96", + "0x00d5a20b1e0cacff3ceaf382c2d2d25b2b0acd16363cffabab5bddfe9af402af", + "0x00b3c3e40e4a90e536114c27f502694ac9b3d8ac7d5114d79ad0fcca69b0f8de", + "0x00ed780df4b480c4789044113a2def73981e4d8862296b2c0a8fdebbd43a06df", + "0x00a2ce51a8a204574a0912adbff0c0aabca554079099f5bd59390a6452d90b50", + "0x002de00865eb8e8cc0a513b08274402e38b3c44871d2358bc573bdffe6b339de", + "0x008b5fc891818ec24241202ad420fe00353cb75dcc06d1465a22a8f4ed985354", + "0x00c6198b880ea757c43ac15bb0c5ed28a125eb61028dfc41d99822fef0f2c220", + "0x0054636d84e071313aca03dc41a41f15faf4994f58272fdfb39c4d58ce0992f8", + "0x0063dcfbf18aad42319b6073c39352da48fe832b0b79a008a04211bdb258aa65", + "0x00bd1bb44d700f461895810b866bd09ef0700552ea0a2563d370ffef3d0310ba", + "0x00aaece7bb1852106ac9f191af717b4f1352ee832c7ac29e94dc9c18b3bf29c2", + "0x003ff0e27d5d6eb6a0c1c009cdf297484c4a346557ee21fc898b0fbf7f22950a", + "0x00a96cea9b19b176072011c502fd2ee4846c7ba585391dd97ee1729cc9dfdf91", + "0x00e68472665889bde45aeaaf44531ed89b38df448cc3d0f6a21af1f1fec83527", + "0x001f921647c38420dbc71abe803a3d2817aa7358d6b11850a6bef41fbf073c60", + "0x00f682974a90e2a62cd615c475f18ba131a3fca6fb441c9cd25d93a5f5d515c7", + "0x0089f5f69f0e68ff8cfd1ac9333f8d52da6e0347931b06104de653ab3e716f0c", + "0x00a990903212fc4936c23d4eba11a8d39bed2238710532fbe36d251579bdcf3a", + "0x0050741d462c5dd2f6e04bfc5cdd7228f5efce2d92887c0834c99ae9ef691f6a", + "0x00663bf610ced0202f69193fb50e888f3cf1e8e43c7e5b46b65ea7ed2b97124a", + "0x00eeb67e2ab222c4a99150540f3137b14d9b1076d82505877d63e4c3a37944af", + "0x00191c2fd8780eeac16410d8f6a77e3e73d63454b1daca1a2bd89793d05971be", + "0x004a7ebd72c91fe3e7682ef9e1f526a837b69a0af09481418d6793aee0f4f31a", + "0x0079220b5cc40ab594cef22eb6e8f2e81b311beb59f52466b186333835657892", + "0x00b0418b52e53021215295ac287a941b240f6f740735d019dc1b3970336a24a7", + "0x00db72dcd3b67d1cf29cdce307d3a1e56aef8b8df14b219d1fa4c9141d2ec68e", + "0x0058b4dc52195a79ed3caf411a0e3c3824313b925fa7ad0248fc9fe0833c280f", + "0x00c0520ddb748b7b54af92b15f9a63de2be68859d086c122e6fbf0bc715d1034", + "0x00704d0084688e84f20f1a10dcea05dbaa2ea89bab53b6d8a08da638231932a4", + "0x007a1362de72f3c6e89ff5236951d8ef74791739a8915eea989d16ecf250fbcd", + "0x00d44dd5ef1bb8f62b076bbdff7d2b2dde4db5913c9a91ff9340fe56ea9f0a35", + "0x00720efa192e620815ac9957cc987d40cd82d71d1376d6fd9b8a1a7eb1ad6a89", + "0x00794d82129231717a06f693786a52b2773482644950c19be8bb89833def5eb2", + "0x0011a1e93d993ce33db704819e826455932aacaf9a1aa6ac2d7fa9442cb5ff7a", + "0x001c7b0fc302b084becdd3aa11755d8d09b44e9aeed6daafa0b82a2716b03b98", + "0x0023a40e1986c6e4cec34c2102424c08bf2ac3a3a3c10a33be9b130dab9b0a96", + "0x00309290f528ef3c8c70e0d1942e41a04df07d36ee276f201c1d8d674bde1a06", + "0x0045cb2c313e13f3b9fb37da1ed10ba871b198e1a7feed2082b5adc3b4d15917", + "0x00e935c7bf88df6333cd2b92da79aded8b623120a3d3ad3fdfd0cd0739d75ee7", + "0x0025056de6ca7a2401fc666a891d3d9a73d970a0dcc84c611fcf67e97412b9f0", + "0x00fb5d8348ed1fc6b6f26c91e2953aebb6ab072028400268d3deaf0a762a340f", + "0x00c90391a43297774463c0151c818e7b4b5d0a9c4855b1c160bf170095456a2a", + "0x00778077119bc4091a707928611d94b3fba4fa314b6ed4918ccf1ac29dc23af6", + "0x00b34c78097532351a4dceb60343253ae0af510cec04c4bdb274733f4a7e1ed9", + "0x0008e1fdb055042f0fe487e20cc46effd29a3eb4cdb65346ab6d4c3bbf400ca8", + "0x0012a71b0154238e470168ffa1cb459252d1a3a7bc34f5ab9d0a2a89b0ab9e74", + "0x005a37f901cce21d4d40eb4efc9ccdfb3877aa883859d80b75a53a35147e917a", + "0x00c86642caba6d3614597e7b33f2f9d619d0c27ebe331282986285015a789af3", + "0x0049a49f5a0eba6371bae46c1235c87748384a30317a10c1123223c0ad307a51", + "0x008a5ae7bc68b66366c6b2ae9d97c3b0ef22c39c18c0b1eaf22f5ce3517a442e", + "0x007eba6064ac257f6aa5f1e8b7d76d4f7cbc5b7ee008b5e0df66de11cf5f2892", + "0x00ec5894662d73e472e95a10c01c82c06a7b370cccaa0bb411a65926a9e7787e", + "0x00ae553ee2fa756c3eba639129de9366f92b47a24bc3c686c88e7b11073e6a08", + "0x00c6eaa5c3389212f46054157e7f888ea2703940224e97ed5222585838439d5c", + "0x0053f840916cbe9c80934a920fa41e532c694c6cb597a0944933a9e2f8b75c57", + "0x000401cfd7cdfbcb5142c55694046b6d5b6448e0617454ebbf97dc21c4b4db55", + "0x00e08258d7ea7f1c86e69900f224698ac22661f03d810fb5e581f61e32e9d0cf", + "0x002d807093f1c1b3694100aa1a60c9c7cb53b0f054be123d59bce28ebd788983", + "0x005d40bc378654540bcea5a087526cbea6393f321d9c6dcbcd210e22f8fef4b1", + "0x00d8d9118a71186d1f1a0736050a80bc31ef3959fe83f1c25d23f61c08292c7f", + "0x0006f218ff94094c14d15fd27b11c059ecc8f6ae084086ccb94327418ad0d19c", + "0x00918f6b2a7a03f9befec5ae5751cdf40a33a21a4b0fa8ad68b95a1f4724ead9", + "0x00afc2a8e2042fb11ee32b35aba4d7c3e651b9b28cc93bb8aee7ad9255578081", + "0x009acb2fa1c91cdd8d8139525199a6d98bf72dd5ecfac8a6c3f5aaf7937c16df", + "0x00da692e54392e814389a6d360fbff87a93eb51e982997099366adcff7c52239", + "0x00b84215a8bc51ae5c1999f5f65786b23f0bcf16fa6aec2f7ceedf066509e6fe", + "0x003fb203cba55e6642aa0f85e9cd91b47f3c8281871dae026416a018be33d8a8", + "0x0078bc87f6034746ad907cb02fe6cfffc5ccf95ab216880eca1a0612b9a685d6", + "0x00f3eb0e71884acf4b9caeae7aeefa9beeb6ac4ab89a778a24429e16d5868e85", + "0x00f3c4d03e24077d72574d2aa38aaa1b8729e8ac801919c40f16e7c355f42ea4", + "0x00774851ec5b3653d476940b70d92f01312c31da17cda82db6154e75e12ca920", + "0x0076ed1b8dfd7a5c5544e6ef4afbe67b0c128d737a588eaa1c3bbe72dcec9695", + "0x008669b50ccc17229b4148c6746f3f6539de7a42ec8e982e9948b1c60072d812", + "0x00216b97071e949264293c62318c4ea7fc43ff27a7757ffad04aef56d2d7d6c9", + "0x00488a20abb8e2f3fc9dd3a622a7c4c5faafb993250ece021bc2297295d16821", + "0x007b53bb903bc645dc47f6d5bb789734d66eae1209cde32203eae7e35c798479", + "0x001fd9c578908055de3f054e92db3b49cbb11481ebfd4cb64ac364ba538bb0ab", + "0x0062319e38bfd7c079e7a0daf754f95561f8e827ebff9e66be62b005103ac989", + "0x00c411dbead7f523849fa5e529e8f231443a53f5b8cffdf45fedbd5c49b4bfdb", + "0x00b4c5035f5264a640a2085e2700b414ebda70bc44c21ea6fd67e40791451c41", + "0x001d5d8b3f7b1492ec9edb84fecd31815c474540b2778f339013781796c44ed6", + "0x0061152ab34f6d280ec70e3c86c448f5580d2a166cbc738808dcbbb43c41ec91", + "0x008484a4b309cb79e68e09c90f360933aa2e6d1d458924e931cdb40c440595c4", + "0x005cfaa58bd1140544e85792e9e6be5652ee571719753a63a63914f45d5016cc", + "0x00876dbcce0b99c4148c604d752e33dda3f3fab8815864727458c1488d73a4ec", + "0x009533879b281b4d70d124a3c9fc26b75f39398f851518a8657415436c5e95fe", + "0x0091956b5eaf559615b04ae16aec9f4c0219532e78055d1d58d450422e3480a4", + "0x0097faa082fee60b16a6b4c27abf0e6b20fe3ab213856063ef648501031f15c4", + "0x001e37e090a400f1cf365080890fccc75de03bb432d639e41d057a7f093cbb5e", + "0x009fa289bc073988eb286a228dd6381a2a5473bb2974e47c9307dac4c9602509", + "0x0084715f2f31ff62e87666d17d581719095490ab1abeb9217f38303ea9cfb755", + "0x00cdb2ae197006c23ead33d0748589b04726305b76fbdb8cd3833e036002ed10", + "0x00d47eef62edef7b293256787e1af16b1269f4e16465eac635042f4f7b81a860", + "0x001bd6b40c3c006a7450722976129ca110cd42af4cc657ffe2a75b0903bfa6b0", + "0x006eba120a55afcf11bc421fe3f488a85d862707e984eeaeecbf4b4675cf4851", + "0x00e5ca6a9b989d973b60732e8fdd881d536e4cc6dd7904d9a8274a20843cde94", + "0x00e1a126e4d7dbba98db77b384f57006e1c0d7ee682ee23ac99ff47903440f4b", + "0x002f26ce08c6ca9ace7709f7ced6f8b460d468afd3bc0489e810b4df7d498afc", + "0x00406741c5a968497f7d763974be369dde4decede693f3c8f5b976d6ce7df39b", + "0x0057c04eb3d28483de29afa026627d089962bc83194f5e03e4e20aeca0440f1b", + "0x00f07dc0d894e3321b68b8934cd01e9d3b15979534701f0082d279a88a610ade", + "0x00dd9a99e4305b2a907b15289e00a8e1eeaa17825b6eb8790e28e8ea1f2d4133", + "0x008c0d4c47d1f294f4b3de580721262a7812b13b8a382bfa10f5b1f4705fc8c9", + "0x007ab8a50f71ec4d81b0e9643af8d3720fc0005753deb1bdabd2e1d597244395", + "0x00cc29eb6dcdd5da68dc4d21b287939b9163e043ef74797276dee4320d37641c", + "0x003a2f70c12d933a91d6e895ff759267e6d306fcf0a9e3e3f3ac19697c556f44", + "0x003e166d7e722d8418975c2ce8c587d378b6306243df797088ed58031d0aeef3", + "0x0022174cfbb0c79eb7a1d3409279857f9c0500f315137b1d7eeb44f6d0092970", + "0x000adc29f15905bdad869d9ee2fc6f3fbc7f7782779b2ee55333098430574df5", + "0x00d99f43777e25a1e51cf808d4763a71ed8ad04c8557193829ec79ed5220245d", + "0x002b96774776008476bd5d282041c22e6a1a07ba80b4652ea30d35d4092baec6", + "0x001f1fca73c161ca65e358623a49a4cfd31a9848e55eb0e8bfb7c2e9f3f6187f", + "0x004a54e3526048f8ad8395f44e7f208d44e9542d6f9125c6bc0cf8c4976f93c1", + "0x004255d39e4a0049a77c1a398b94a9069858432eaa37996dfddb5a001fcd20bc", + "0x009d322699660a0940174d8073cfe89a8300717cb2b1fa3a93fbb94027ba9031", + "0x00d77cc11b18a5e17ccf38c163f96926a97112f11f3b217708c23f1a31dafe64", + "0x0077050e86b5727d1b62288c2261baceae1ac8c096d96194865ab5c7ee0125e3", + "0x00de3a5436a6700bf48a30508339e0be1a4e1e5a9c096f9954b9aaa92b90d35e", + "0x002265215e261695864c3336f3719b90f2823c43cbbaee9b610fac2c5ecbecc5", + "0x0078af3e072dd829d7fcfc508eb82b1f4cd48db63f8290f34ff84d6ff12e764d", + "0x005329325b044b857d884bc060a3f78da0abd184f00e24da66093d20935c88cc", + "0x00cbcfb21c30c63e1bc3aa2233ddebf415418c8a7cea030ac92918b2af853a71", + "0x006deab9fc70444b5d2571631afd888fd0f52cf7cda71c0f6f878ce405ceacce", + "0x001a9f941b608b6254881f79f365eea0df36917cfb82f9c1888f4c05ab48df9f", + "0x0076729ce6e3012dba8419bf8898918f6d54e876afaf702d1cfc1d40865940c7", + "0x00c8f82dd11684a66f76a6cd96e7e443cb83f4963a7c73f66df162bc764c035c", + "0x000fd42b36ae8668148e2964986f4ade0822a8f1a85b4697dea00d7c221e38bd", + "0x00be7f10ca65452108892486786c949c5fc41e41d914c0888af4dd9acc8acfef", + "0x004b50b464c31c04656c32d61185ebdcfdeb60e316844d88341f0658fb272bd8", + "0x0073258abdd0ac80582e44c368d8d111c047438dbf14384a1ace73af33a3aeb4", + "0x00696acf4555d294472db6a2cba01189617664fce63080ec166841a95eaffdd4", + "0x0031b06b8eb82ac1ebb040284ec93d425bbc8a20c487e6446c27238f0f81ef9a", + "0x00a44aad0a9cbb4b0d5271724e56ddd5b0bbcea6a6909c45fc6f4ef90aca6cae", + "0x00833e6f74fdea02626dd7f2cba2213f851addfece71a6ef5181665293dbdf10", + "0x00174d53d1e470c1f829f120daeb3b6ee18061a099e0ba4b4ccf51cf19582c04", + "0x007d5351aabc86e1531c9d7dca9255047a37170577c757604ceb404a1848ee90", + "0x006ef79be8d2792a8ad3b32c1876ef0943b41df1f3a995d31dcca97f44d84479", + "0x0028ed44ed14a34039c9c5c55a4b1130466b59bba85963d298779fec4892c73a", + "0x0057f88b5064dafd5b2208dbe70f6de86382dff65cdb8b60b7a63b8c75f04220", + "0x002283d7722b8a8008416c18c0f3297cdd29a747ce75b67a614240fba9216ef8", + "0x001684e61d84b83899a6d79568e7a56689e3215aa592a3e3616fffe5585bd48d", + "0x001c6741bbf4b71828761a67ec9a44f1572f3dff26e9d3068611157efcc5b08c", + "0x00f7f4d0ef8ffdb2734c9dce4a80fddb7865732786fd6bc6a0cb062ee2d6c2fd", + "0x0087ae291757aa63e5983f6857787f0d4145ada4ab8460391adca64b6b4524f9", + "0x005a5ab2c57b17ced8855f72da1e7de6833509afdb3a229c5a9b7b7936be9a9b", + "0x00487fcc9e046f19c8dee39d45792552026f40ffe97cf44f42c960a8c27cc762", + "0x00a4dd545751d2ee420a14f3dfda69479008423fdc4efcfb1a3d99f49afc5bbb", + "0x005910775176cba8e1ccec18174edc3df3faf844d13f619f8a7079f96d1efc2b", + "0x00de4ff8e6e5ef707b5a21175ce29b9e4ffbd671b9d2aa378273ac22722a9e6c", + "0x005bd5dace59aa72c97625b06266d25f78a29c3093623ceb666be8830bed1475", + "0x00b119a746b4079cbaad18a60dbe355991546d1c1b57744736f35fe9a902e4ed", + "0x005b3560b7e22070e2d0862f07ed1d63ab1d503ada031fcd976f1ff23d1ee342", + "0x008aab56cac6ccaa5c5a89a0147f12787f54b6767e76c42d9c80f5c43313db90", + "0x008edc02a1cc7f8c75d38f642ce44f82da15729d29c964e6097eb509e2471627", + "0x00eeec9808c505f16cd047af88d0b667b25e4ed6b1ac28a1458efe2a98e55044", + "0x00257c33d875ad602ca764f48fb7efe725d8b4b5a8b292dfa2e1641a940c461c", + "0x005dd694b2b6d79e0758f0a8b39d839573077bd541536be34d879b7235ec97d2", + "0x008aa2a80f501335e52db4705a43d8908251aa0607a1fc9d8a5178abb56d74f7", + "0x0079fb13757a1ae675d1d14bbda094aee3b3f0a90b38f0690040c15e176bedb8", + "0x0004dfa68aa8fb6d560b19bea503e553600262650a5f1fa1d14c8c2373769cd1", + "0x00fc874a40c1a6152712806b2c70d5af4e7db9edcc4c799883eae59279ce5ca6", + "0x006ad062d18ecf24f902a5dccf3c3d632d134b44f53168c6d1dc3d16d8e4bfe9", + "0x006cbfb39eb968a1a7098dad9f053dcc29663b4f8228e0ff295b66569765362e", + "0x002a906e4b64bcedd9dfcc2e0a43990347d85f790a02e38ed6c7dcc575da5f52", + "0x00342fc15da08f5ce909b74da4499a42a276e3ad5bf6a1ba5147d6a1a8e26ec7", + "0x00388d3b435f57cab15c988b65ee56a10ae98766a451932a91729652a44e9bf4", + "0x00c02dcb5ebc5dac37bfb3c81772a4bb8b322d07a95f5d55966709779bfbb8ea", + "0x009babde64dccbe35be265ee57fcf61a2d332e8353ab781c802a551788dda8b9", + "0x0073dc015b1a81040c94c89aa5c6ad1962f50493fdc589df5fabeba05bd172c9", + "0x0057510d23141cf25063af5de1fc81f6f5170dfef4ae3b3614cfc4da846af08c", + "0x00a85a649ce8b18dc8ee63262237880b3ec3f2ca20cdc11251ea064323ab1fe9", + "0x00bd96c13ef8aeb35deb3d063f0231f92ec4dadc87288216e5eeef7516a58432", + "0x000d9f7e4ad0653c35ffe9b225ae1aef1a95d7f6978a7df6f357c6026068a3b7", + "0x00da3b97cf67274d586981892a14c1ec8e84e58543179beeaba9777c6343d2f3", + "0x000216a045a226a9a7013a21508ddff121f0a1a49d0075e66ca18f36ce2df67c", + "0x00d15b4379a9eb0af635ff42e3555658e43c01eff54a5365fda47eb3fbab678a", + "0x00751d1fa7cbf84dc23996b96cb49beafd82e6419026c4daafa13fc09f1d161e", + "0x00c00d80c58d33c2ceb9c95bd150c4c17396c082f39d165a1b8fed7ef41bbf9f", + "0x003b9a9228623665b16a3e9f0fca03c762329b19e56b83e0d1c1d325756608e7", + "0x006b5114200b9233d3c7796fb8fd1a0548a15ee3af63061c0a65ec4f10a06c5a", + "0x00d7b546f6108c7f75febb0440129ea88554c8083009387f204b9bba5ad7a44f", + "0x00eb3ad7ca0b380ec8b4438d3b22d43ef49d9357eca7a85336b91d663bcf16ed", + "0x003519903a190fbd947bbb49699c4ad77fed9a0d8fa50a3d6d4b8222f230fddb", + "0x0038f743062ca305703f0221c878201623fb2b3d33cee912f042251e2a057a2c", + "0x00f0e1b7f12d0e8002cbf6fa23a6bdda9929ff3be8f12219a8cc52253ffd8998", + "0x006a85115c8cfda21015ef705ed0fa530a350a7389d8f092903214cea19a5096", + "0x001815c89eaa1cce30f79e7250c04979c7b8e6801bfce052ac749b2297be3246", + "0x00a387085c326a2c0112a074c41a1d0b29097b52d3535cc9c7a75666c966914b", + "0x0098a6c8a86dc3c2afc62b64863a5ea18d659b674c5f1b070affb59a5b59771d", + "0x006460d5b2d6f4dfd8cb2d71d5ff573f1a57f8e4fb025bf2a048cd79cc8285c7", + "0x00b4451463f01e9787f0b43d1124c47701ec461c5364788e4718097f4b6327b3", + "0x0023322f241d816c7649f2f374629cb279b36e11796ffc6d9baa7f571ee4be0a", + "0x003938d73892bfd7c09463e1f3c12d579f141e51117423b5e79bbd928c975b64", + "0x00ceba341a9eec4ebca8108f71f76910b7eddb9b09e8843cfce2e996c20537cc", + "0x00720e1d53a8794df92f1eb9480afbf0988ac8371c458ef7f049c69d66d5eefe", + "0x003121d50514782a958963b8e41ece113d57de8b050ff4e03e2b85222225ab98", + "0x001495bf37d99f5badb453a7f18e14a1e6a07b635f432f520e4e11f26cb16af8", + "0x0020520ca4b3f1629d62eae689b42e4a2b223352c7bb24d5e758a58fbfdc771c", + "0x00fb5763d8401c449badde26ba05456ab9429c7942fb2e80adfe31e10e875561", + "0x00044b8f2e51c98a85d4eb2d97e2eb0d8d1e6e57edb1c09e71ee261ce868919e", + "0x0016ddac68fd4b45e6c0ff2006155a9ce07eff7395f8728101ac209053084325", + "0x007b1304c197012fbe265942f77fbd0bf74600fa1ac038b1761c95aad65348f0", + "0x0097ca97b5563d7282ff1cb979fe67823e617f7c61d99dc45c42e23e3598387d", + "0x00f70594539bf8de828a0ff1fcd8cc54acf571177a81ac8b94bdaeb5bc4201a5", + "0x007cdf193cd51904ce85c59afab32285839182f30b4d05201005e73c15d67d26", + "0x009f8e452a2a049b8126e1f82c23f97a84b16ae308acb86b3fe62ab939106060", + "0x0089a1043124d55c0b568d1ef1edc1ce8f6e5d2273a130a6e297d008396beb87", + "0x003800d5933ce1102cb9e13ed1b0dc236cd4b1c29cae0cd114609df0b7d01d58", + "0x003978fe52ccd3392d7e840cfd226d5105292ea38ba166bd07af1c74dd799054", + "0x00f8889b9fa40f80e4d34691b0f6288b8b72e96307f43d9b7a96aa1e6b35a265", + "0x00e14dbc15b9758c9cd8fb115bef8237915edb729a3946774635fde5a8cc177a", + "0x00c65933a6205be15dcaf7fb86439ccc39406521c568a3fd62ae236e3721c821", + "0x006a9a60c41836811cdd13342b1d7095e6d7f7c005f670f7c53cb20c606022d0", + "0x00373ef745939d7501779a49a17fbcaba491e27218ccba467b60848ddfe4c636", + "0x004247d4842580a8daf8b979e63d39454b6a2074bde50ff30ef4ec6ce8eeabd3", + "0x005f53506a6e99664d8fe44193e34bc04360c5a692adb7cbf13d163aa72981a8", + "0x00ff31f244385fcf348cebd0da093fc76febd9792828afd1ce2f377f14118794", + "0x003ec964adbc2dfc4808f8d7a6954254cac3fcac96344959f1f44be1460ea022", + "0x00c2156428254d116c94f5dce8c2fca71173734f0797113a79f064435da4bd1e", + "0x0000012c6690bbd0c0b400a4e1a7108f9fb503805a7f5c6c8d6a9b83cfea47c5", + "0x00c8808a9164ed4d85a4ab383e8dd31777b1a4bf50664b5acd12e813390da746", + "0x002760565f7c1a510e13a0f213c756a4a3549c845f549c9958315018fa94c1d4", + "0x00ff364875e1c5c58246614283403f909c36bba8e4ec447f2058f248afd3addd", + "0x0037eff9f66d4993c98a22267786673de47fb4d79958635af9a1f03b0d03705a", + "0x00dc06da1d2fafc608039e9eea7f6c209f504a0a413ea0b3ca9eb841e9859b67", + "0x00c1e43cbe6fb601746f8cf2df049376ce61fb6807531d06b311e1be8eaf4244", + "0x0049b503df10dba5e7e24c68569e7cdc694556d95417517f3d615c250e914b7b", + "0x00c137fdd298f76e4497d582eb8bd926da986a520a5bdb0a6cb0d1b32f13cead", + "0x002d1047ee1edf90c33cc947292d58b4b105f4fea78431742faeace73d029bd8", + "0x00b0c6b703574da825c243e0cb7ecfdc3c87d2d7e4a8ff7bc4f8b86c9bfa2e60", + "0x00a60d5c9b4062f472cdc495eb7e4cc0842b0753406e7928e2d7c2abbd42f265", + "0x006055ff25a061b4079c1736af89a07a882c9e1f98d58526e295ffc87eec0f43", + "0x00959497440aa8bf2944f432cb93730f9b0e6eb89b7dc480c2fddd1973f1dfcd", + "0x003a5b495e06bb2b336a5f2425e1cc91547e771817ef3fe8cc5585ae3aa40a40", + "0x007620ccbfb711196ee34c215ed72e5679f002a1c15ba3ef4a3cea9634b66961", + "0x005c957123cb8de3acc9ea01e1af65d983974145807e34f7d7cec9986d5ef36f", + "0x00599f73b81195e21c16ea6a622089d6455e9f2613560f28f70b78e75a80c4c0", + "0x0083ac57c476c83c760975def37205dac3a034ad5e1107b68ee383d97fb17343", + "0x00879a2e45d928fe2573068f55c4d0c16d449298c09f5f95407e2b9cfcf8cc75", + "0x00ce659b8fac66489e032d66be77f635b2dc0df8cb25143d3daaf50148baede1", + "0x006c070713a300cb2e8adaebfa145150ed6c57959988d4694fd688bc780a561e", + "0x00edc9bc820ed5461c532aed1ad0729f71191be9f1769e019ac113387f036f85", + "0x00af2f969bf19e69993358300a61c6fdfd500eb3f2191ec204314f647177eb24", + "0x00e4b5ce9e4c411261e668ae99964601b2fd6d8aa62050d80a1fce715bce3977", + "0x0004e1666d88ee32b7c3ab6742a1a36f8397e271bbc081f33d312523cb74c46d", + "0x0096b0473eaf1cd1eb0e699496dd2cd102b95e66ac27a330132c1dd5da03c94b", + "0x007a8a922733a684cd7765143340b59ccf639e0db1d58e0dcaceb379e58052d5", + "0x008d02fcf62ec16ef5a55aa668ddeedbe4c07271612c49b214dc89ce94e0fd29", + "0x00c4ba668910ff9e9c9080082163deb48165828aafbf9d6750c6029d8af5bfdf", + "0x00c91b064db5fe8a3950e38e8c33f3afd342c64b943782428d49f8e5ebcf44e5", + "0x008f568294e4c71c4b4de1eb70df14c4818c6cff5ae49bb4d25fe9964a7709bc", + "0x001cea5a490075de761c3b1d293423ad54c9e4a0711b16d427a4b02187082d00", + "0x0001ae6d2fb65e408173f0bbb4c16b4d909584a64184643f89755799957d1b06", + "0x00c7761f9de35a5ca7b2f1c403fd97bfc40c60c76f3f3d65cefe54f9851fff39", + "0x00a27fe5c7eb7856baf11032e2503906c6cda68acf6d0a0b93884850bcceaad8", + "0x0029a20076a5ac1195d91d06a52755f89650334e6e196e3fcca0ac7be99a0868", + "0x0051cc6b1e88d4745c18a8042a3c8a3c5bc6692b8aece250917aca2b63db2b00", + "0x00e33d89b047dcc4843d0c8493070f70663bc0f76fb6a82fd8e32f92ca0b43aa", + "0x005127222c18278bc638db88667313a758010e8c2fb389b9255f4aa2a8e66912", + "0x0052bf25c2c9f967576eb78b208385c59553d95714935413b3fdc0cd55aee012", + "0x0069a325357216fced86a925dd2f4601378a89dc0137be38e12f6812457d5158", + "0x0065a1cfdf40ffb6b34334655c2ba2b3d70a580a1eed071ae62f5e53e9cc4c0c", + "0x0007341837c138f100dc29d8b02ff1613c6d9c572e52c83e2f1f0a05557b6479", + "0x00355116f7a365fa129cfd55026e39a92cc47cc49e7fcb249168ca85fe342307", + "0x00009cc8aef87a6bb7dbb525ae08c6e108713d49534e6c48c2b92b2f65024136", + "0x008ca545643446a8f648a3bd1c3ea8a035c9470cfc589949116f127036ed7a43", + "0x002237fa5b34dfe158fca9a01d7c2cb99538c5d4603babd0d62af1dcc6ad512d", + "0x006e1639e559d10f4c8f9c101e2468aac484f93fbeed509a2e356937e9589602", + "0x00f75f0b7a22df417b70657e191aea4c10704849ca332397ff3d7d9f255a8495", + "0x0049d7293a9c157c2f87da0e5d7d97655c2f611eef8a250e21d54229a5946133", + "0x00ca96094ea61ca9e2f21dd0b9aa7f56c3e49dda8be47fb517601d11855f890c", + "0x00e7b70f327def643016f04ce7fa17b9e32741cdd29b8175b2a5f8c0ac7bde4a", + "0x006c6f729d96c2eda2e3e84be5bc8d740c2eb751c5d748fe6a7099bf9d14776d", + "0x0010310091cc328d63010ad7c99e30ce021646788a8dc9562293c003c34b4589", + "0x002ada1cd4046fc761c76bb75b37bb9c902a86943046a2e15d4232d147bed697", + "0x002a05d1b0688cb7c23e895fa3a2f5c1bcdee9133bbcbea64ea399be2621c19f", + "0x004ac2d06bd7b3dd346579ea0ab905524aa3a64b3da872b0788d681fdabac9a0", + "0x00c2f97720ddc98ef14a14623cccf59d962655fbdc10613145534299b3c7bd86", + "0x009427f7381a09d2c87b6b48df6e23f6cc1807d133ad9d4c712852b6fe0bc4c6", + "0x0018a552fa4d79994cb7a015914f76d30d074ef1eb93aa37a555287be54adcbf", + "0x00751e7637abece726001d0e1e2107467cd631b4aa99e1261fbed47c09e82a9f", + "0x001b60363991e4e1d3b25a4878b143559ddcadb971767bb6d8c8b6caca79df63", + "0x005e6dcfd6a353d763ca149ccf8f72638adb0c7badfb9dc61f5e41e29d88dfd9", + "0x007122d42eaa3791792dcf784bc71398a0eb7696e109b6ae0957f55ae68b8e63", + "0x002124e4c7ac3bd495358a2c7ae59d84d1543917e5e982ceec8d98837bb0ff9a", + "0x001c5feea35dc84fb35431a8dec4e9554772c8967b51266515b07f6d0852669b", + "0x005ee4cd89b782ef416dfa56151f7c7b2933bb52e34ec780030d9bf348f34f2c", + "0x005d914e0728a731eabfd56fe94e3aa9d8d9c98e4f1789093019318241027099", + "0x00635c44c8dd5378a25ece3bd2c0b1e156afcdcc913c007f566daf40d7622576", + "0x00854ba32e1264ff4a15ed02d132b4e996c1268af3f540113c022d9015aa2334", + "0x002acbeae2bc55dd804bbacce2111c43c9e1865ab6a231c228165310b00dbdbd", + "0x0044de4964f00dfa8d8c03193c02a50f47730e58c7fc6bb578998b43370531a4", + "0x002e717646666e72e90244b0ccf92481ee705cda4beea1e322c0bd044680c048", + "0x00cf3246a46e3642f6b127bccd61b9bbc69957fa8031d34999913d3c39382766", + "0x004c6a6eb63d75fcd8d9245cdd20e4f74d6063f59858117de345e725eb554f05", + "0x0082487730cdbfa048d560b0e20d70509fe47845a914dcfb124d09593baa44ca", + "0x0082179243770660fd2d75a2617b25c41a1a561f8a9b878e6fd6c8fb40a48cb6", + "0x0020b0c24941d1fa426e359d40ffefc6bcb8eed70c4eeaf62e21fd8f2684541d", + "0x003b8b56fe8b836195f0426c9e146082523144070fa495f80609d29df3982df4", + "0x00170350801e1d35d499506ed8d6a5a0956e43ede4a62f84f68729622bcf6e9b", + "0x00b5f8764f25ea582a43d573cfbd42398aaba12c402e939762ae6e8ac04b56b9", + "0x003b89c1b653d198bed6efb33a9be22e1c9474846a1ea74289efced5a993ce0c", + "0x00fd61f652e01961faf66411167bc4fc3a8dd4e2bec2c3c09ad347a7b73032c8", + "0x008b3c37c169b122005bf78c179311d30d4f9030e5fb7483f06d16b9f09d3721", + "0x00c68657eb45c2f657bf148724c0c6deddd2bb41000f6265efb5eca897bd607a", + "0x0042e9011ad06d4bd4176bbacf53fe563fef6720f272d02c54beeab0cbcb9f74", + "0x0041b0a470aef674541df88c72397ed7d6defe4ae7ebdd4ed2fe5ad33af5df5a", + "0x0018d747f883b9fe82cd7ee2d6596a009ea9dd121985fff44d9c03304a040218", + "0x00c86c98dda5a588709d729a9e9d9b8c17a7a18f71bc4aa3c270834c69d6df1f", + "0x00c5b1779189baf60a58848590f4080589ce37c9c8901791cf7b1f0637e92c9a", + "0x00464d57187e6f8b927d584fda050822d0e853c4c27feeb9d6ffb7890689c0fc", + "0x0096f8196d2de3821ddc954666e97a70a32c41145ee62fa076f148864b7e94e5", + "0x00836462b6e8ca17fa213ac46a89b3f7154f8feafc83f115c62f0c350c8b7c28", + "0x00a3044595c0f2d6e9631a715e59efa75a0786a45911813684f11688445a133e", + "0x00326facfb8d8c782761297299e9d077d2383c4b832024174387bd4ff1d502b8", + "0x002448eade808bee6339f539e024ff8c2bedc0badce96959dd68e1b8447e918a", + "0x00d22b07ed19679f0e9d41beaad49ef8d341c8cd3910f62adf8cde201d5fd3f2", + "0x005b711b4ca19d66015e946dd72955bb58b6629ac0a1521cf601886817dcab12", + "0x00595664a40daab9062cc3f73ec6d8dbc710e7161db6007231dcbbf3a61e61a6", + "0x004663e2e6e37151bd01175afe5b7d53a8034b262d014b9f93174f6b5badd38e", + "0x008d36ea12946e5ed869c5c25e97776b040e7ff4b0eb5d67023e562b9085b4c9", + "0x00b9180dbbf315f48d398b1313a06d9cbe958841e256ad5c68c06bc5f3db64d7", + "0x002119d9427e385fcb33e846efa13d2e90c2c64135d981b022faa07927d72a35", + "0x006629d81d756913678f3131bb6eb9339f4d735130b60f57d893a098cee9213a", + "0x0070d4cceeccaabf01b0b5607591ab3c4a6b90187f3803c20665c69098b8170c", + "0x0031b74aaa03a100d85ab48789f94f59ec06b42a6cefc73e9fa0beaa3def7714", + "0x00098ac31ea23852bc2aca32c99be24b18b0de596f604b048ec9bf2efc036663", + "0x001917ff8034e9414a4ac34bcadc994c048b86f8b7ffd5d01ac53d6b0cd5344f", + "0x00554f6b2fb541563060ca2da5564ecd0b8d2b5cb59fa3ccfd79edca10040bf2", + "0x008df7f8c0bdf30d014305c8b15375d6f737519fd6deb9eb7fc4123badc14261", + "0x000b31ede459d5e22213f8e5162e0c15ef6786d504b8a514ca42f33de4a539ea", + "0x006bf187cc0e72aa68dfa0747b5c3385f5505d17aa80a20a95572286880e0bae", + "0x001f4cfc7810407215bfdd1410bb0c569c06f6cd34a68bf95e8f8097aa029b5d", + "0x00d44ad39c7cdd7c71753b91b5131fc71cbf29070b59a63dd9a15c37ffef2cbd", + "0x008937c85728467e5dfc39c2f9992aeee4975e476cd1dbac1c56eaaf76668475", + "0x002b1609fec510fd435245324eb8d753e176075ef17faff17727430d3f261ee2", + "0x00d883e61908f982bdd8cd7e573f568d4695438a13ddaa0d1943073022400b1b", + "0x00fdc789439e88e15b86afa56e94a825f391f425712a19b1dfb16f10aae4615c", + "0x00602d33a88985be958700606237623285f33768e66776fe70d88a6692d64017", + "0x0019c990c3706135eaafbd85c3e87f7f8a63e9a5c713ba34ebe9d714b763156d", + "0x00ece92f453ffda7d5d091ab85c4b966c0f26df7eafb6992bdc93b9f7dfd6f3b", + "0x00e39fb517f1e4abb9f7aa0a80426d2c439a38c5d9dcfd5a6236cfa8063734c9", + "0x00264a7eebe70668d9cf1ec3a43542f7a534192e3f21b120386e6f02024941a8", + "0x006f98bed2a7d008b66301073a2ad6be95d8bb2434ab52c3d14bf67b55fb5816", + "0x00394c83ae939f9bebc8df019f77dfab0c69377870ba1e4689792897b6f1a1b9", + "0x00f9b4add965cb9a963df570609c42cf3517b8117b1f82558bdeef88f8979798", + "0x00acdedce6d2017c3f41c1eea0612c62816c7f017efa7d8ac3c2674da0add640", + "0x00f53ca3d5f33e01775f21878e658a21b32ebb7734fb5d5f4629a28d55943e80", + "0x00b1ffd396141295a917801b88a5ce2cebf945e3ff4289d0cdc9ff618e8d7795", + "0x00ae804d99c4ea921a32f552cb73991ff431de6459e3d69783b22b28e0663cf0", + "0x00368fffa46452cf87771fd7c399cd91eca2ec3c24ca8ec21c8e2b5c14a4a558", + "0x000e0a3c98f1e42d08961281566673bf7befee968cee4efd42341b61d3f92089", + "0x0098eef42a8aeca6220eaff221258a8dd681f58e0c49bb213101c8a5c5fab181", + "0x00419b7fab9c95cc726fa27a09600487f6b6780e0893b406a88a2fa7b8a545c0", + "0x00bb24407c747fb487867018abececf4d9e554e075295c18b9f194f0678434ae", + "0x009a4f6c39419a016ba1c4f882e3fa6713bfe2cad1eef9e981870fda9501e2a0", + "0x003291dd3c25de95629cacaf409e49e61e9ac259eb36bb16d780752fe93661dd", + "0x0001189937fdc6a8bfb8a59860aef956fae9d31dd0df84adbdb8038b21753001", + "0x000ee6aa4d1ac8f501dc94c0c5647403f332ecfb2d48e4323c8fd3d85f1d251f", + "0x00b7045220688d03086b5c8f5c4612077cb33de736618a1b50fe36c2d80f736c", + "0x00b8fb76237ad5a446011d1536e1c06a946bf81e5af56901c5ac9eb628c8f5df", + "0x0060c7aebb660a59e752fd03712c1a25cce7e07e9b531f1ca16f068d88c20b63", + "0x00356199b91a60f6d50b2ac93d9a4810cd0c9ad81bf901ee4d590513d7fb29ad", + "0x0079cfae5d6061bf33b0973b914b6784d81981915b299a88edb136823154086b", + "0x00d9ce5bee8012c276796de9cc5245bb895465a9c68a8a26943a87e29c15bb9a", + "0x00acb5321ac1e96a48ca9bb28a0c6157cc817f88364cc2d24805b73e787ce0f0", + "0x003154454fd6047e36fc77ffbfdc0a2b941e16501f828f2f842218dc209b7344", + "0x0000bbac74eb14fa28ddc239a0bd699b9f90c6749cfe43a9d401af58b737fcac", + "0x00db94c3598ed41262fd8b8fda57813b99f06c4d4acee9f51ef43458470be433", + "0x001ff4321497fb75940ad649cdfa7c70e33d422a8a03223a28f5251ab8e7be46", + "0x00fe2d4e98d719da3f30b75880fb83334fa113eaeb7ff5ae10ad7b1a0e4852ee", + "0x00221f2841766a8aecdceae13e512dab64a03da67e682ad28c7dbdee5c618d87", + "0x003c0121682261b5094dd14d4375df229b0335eb0283188ac17418297a0968bf", + "0x00d208f502d89404a38cf637b6bcad2d1c23888514c26d5a592f6315286c19fa", + "0x00b60182f5b671d89215ab3157838dc3e52ecd01ceb8774977be295aca88a1c8", + "0x006e4913cfc0a21719b6d5c734ca6aea254c3db0644350583e7db433f499405e", + "0x0001d872d234d43beb362c729676af21057a01d296990497c698526672f83bdc", + "0x00470e32377d9c01ff3b770105f04d270d1409e69eb6f7524060bff9951c141d", + "0x007ad6d15ee50012af7cafd87694eb159c0bb9d3d220860341b023fe09b57a40", + "0x00150dc536a0621a2140645ca1af5c8dd62ebe22286414976fbc6307d5c07b50", + "0x00bbf0e9864bb204c1428fdbfd09babcaa471a3e1190a529af537b88f3e9faf7", + "0x004d2fcc2d1c6f75477c2904e51f50ec3c1068e81a538e6b4a8171697fb871a6", + "0x004f2bb5e6ad57107d331f0ee9b3e01735adea86534ae02de5af6c91807d9c21", + "0x00f9761e1c7bab71b29cb72d53fbc705a25fee63d7994549f9c89cc739c27659", + "0x0031a32d5a385951f216829aa9711bc316df7f5e235d88f98e295b136f7330bf", + "0x0023b5cf0a80a77d9153f8815fd249c94f503005cf07a436b5704fd93a760b38", + "0x00f285b12ef1128494fe1212651a5dfd5f4b4974dc253107e8ff087551d3dedb", + "0x00ad4d137ed9cab7e9dc0df6b4b2f26ab56364ab5d6b6c0828c0ba1c0cae5591", + "0x00dd92ea431e3d04e6be26f7b1bc9971f8533367339f4bfd24d8546e8b72863d", + "0x00fe8017871f71d7db9b364032d2d29a6eb2aabb3f324998563d7f4d76f4b382", + "0x00656dbe83dd5ba5c4119ba89119716b755eaad9bc955e29ea03658b0a84453f", + "0x00196523cbaaf442d513b50ee1d02a7e7e5b137a0399ee971e14e145fa59db99", + "0x0098df82882c9e7904f23d0b192c27a831f0d03d4ae80100dcebca6dd640e4d4", + "0x000ef29737c5191a18eb7a4b5987acf5cae35eab2643b41e77ce91d61ef928d1", + "0x00a25ace67e070950b58014e32c7a7c6517777da1ebc3644b7bcb1a60b2744d0", + "0x00e356f0218baf5f5fb9823984a06940ebb247a7dbbfcd83115befdf7f14fecb", + "0x00531a25ef6413eb87e64fc36bc5b312384e439087f0964ecd994f7b5d101d13", + "0x0038dcc7a986cf6f8a2ee793f75cdee9a9cde2a267ab5bfe50be10ba61154ec4", + "0x00623540d1858a0cb067965996c22ad73eb79604bbec98b3737e263d2649ad2a", + "0x0096e75a9d5a1973d4a4b07b3294935f2dd391671ac685503c778a8f70646984", + "0x00f77941ebe57876c3905567a6be456757485b6193bbcdee0fb921b7b524a73c", + "0x002f057bbd3fbb30e0a5b19dad97fb22374d1060d01a7c0d3334aa8ea1ba8a52", + "0x002afe24f48682b1b4465ec6bb71d694d544eab24b7058e4270de7f51694ca56", + "0x0008ec5c6e85a5bf866092b0b3bdfd2fcc408105558e73d77ed29cdfddacc2ce", + "0x00e207bbfe815b6e2645a6c871cd03ebd2af1ff7228e45f735c909e38c846497", + "0x002652bc63bf73f8917b2fcf5a68269aa5d8ce868b068fc4530d54daf87f26e5", + "0x0078193b083c4aeee95c5e079982bf85dc51cbb84616d37becc48a61ec678944", + "0x0014b2db49f70399b851a4dc3b6d35f1c58b43dc1fb12369db2e7d9c023585fa", + "0x00586d1bf1f8444fa662ab5beda7cbf916b861a922740550aec63d558a05eb06", + "0x002849d98f9764a01c042f58d5160ebd450f8170fe0211d485e70532b416ff6d", + "0x003e2fd59b4b9ae716e168c82e14a21cdfd79edc15c9768e0739094ebef42068", + "0x00a0b5daba6a2008ecd4ea79a5030483fde2a0be50ccd1df81516e29283ba231", + "0x0095ce9b594fec7a94f9dfe8ac32d2d738377d569b5ad2e9a6fe73d3536bc157", + "0x0070bf0f20080c90f788fac8d917d57bf6a3f0865008694d95fd5d3a2c74c718", + "0x00a311fbec4a717db30b33fb8c3533d7627c670700d8a188aaa23db8b916cae5", + "0x0021a1677c3918d37b6fb984a44811100f0c5c05579252cc65c98bde3e73a98c", + "0x0072fcd4cbd36b7c497cb1b6a4393c49faf3ea2d520060f14f6faebb829c7a76", + "0x00b1d98553baeef4e275a21ad78675f5ff86f45820f9d08f0ec4be38fba42f61", + "0x00d98a561f8105f2396eefd4e58b595f2302efc5fc3ab19d8fe03ad6777d087b", + "0x0021e0cb9fcfd473fff483cd45e362b9aeeafca055f0b3edda052cbf99c43b0a", + "0x001955fc0d21e67d20e9b55bbea515155f4dc7c861cf62707f5b0ed39c090c27", + "0x00624a48d9411d40abe5682ba540d6f5f3f58b20152a168ace56413b4e7dc9fc", + "0x00081542ee9554e6e4d5eed726dafd6f2a20f4ac7a2549c879738807209017bd", + "0x00cfa9a92c04fc40f5dcb2b6fa97d59df068545c3622be74fc539979f6f5ae33", + "0x00c944176e6cf524ac6cb117894be2ac6e3313221be4b816b36dcaca34106caa", + "0x00742ccb63fb281842dde25abbbfa3a7c5ae3501aa8e52475e49253dfc7e67b6", + "0x00e9ca0fa16780ddd0a5c9f46a2824fd5d396471271a627489937c1678e8c9a9", + "0x006a8ffeab2f7853526c8e7825bf65d17a54ba24ea8190794fe2191380df5814", + "0x00604756bd9674290b0be31afa39fb3242870f60c24aa90710e21e6e63172542", + "0x0045042907b8720546c94f6bfb019e67caca4553d300f00bab1cdf74a4737d6a", + "0x007d7ed2791755634e2318ad057c7cbf4b700d47aa04f4348237ba1eb5b1ab0f", + "0x00b9a6234a49f13bb8c669c3b28bad7ebabdc990d67f5da131c3b2d0a6224580", + "0x0070f456a8e35524104431bc43a895d0a66dd5c8771b808f73b18fc1248f8d2a", + "0x0035440edc9c45416b91f560a328aa099c2f1625a106cc5d8af21ca981a10d91", + "0x0089d32f48e74f0317449b9f787b93bd526fa03beda873589ec33f9ea5c011df", + "0x00b4c7848715d53506843fb9f9ac8378301f791f0217de6b0aeea8df54eeb4cd", + "0x00c7ba267eb2b3e4c9aec659158dd5973c05548a979337e9ddaabaafba6ca008", + "0x00b696e8e35feea8fcb405289c62270238f1cfbd114c514fe544f14a3f1288d2", + "0x0008cfefc01f845bdcd5c1014dfaf03831c7353ea23971fcbc1705577b8f01f5", + "0x00959bb93cd7a689f0a4e2b82ca8ffbdd34f5969ac6a802835d425756c505f2a", + "0x000e25e303795d0a88a2683d735f3a55babf8ef38c876e067007011dc51ced04", + "0x0029f26a4d93e3487ccaa4923970365a69e30cc21647c69bd4f376d6956dc599", + "0x00a6878a387d1d156d09e4e946b92994d6addcac35c557cb03eb940db0730045", + "0x001da8ab91756d4de4edc904c7be39d8b60369cadb8b01f475d10be7f0dd3170", + "0x00368568981860c413564cae5cfa8d800d2d25202289b10315fc7b36ed6bd557", + "0x00c77c395cd84da5a2487dcf83023b6d7f1ac5b4c1b7e0d50df7bae60b456133", + "0x002b99abb9e4d8dd8769a6d0861ca0b3fc16678b04ff0e9361ccbfa6d4586632", + "0x006a1d26625c65978452c9a3f03f82ed0206fca16e78d2b46da552f06c53e58f", + "0x00e4f7398b07b4ea8698b170d0e0e4ee7f763f72bf31de6dad7fee39b238bfa6", + "0x00e83fef9d5533304a494e06471923f9820f4ef0fa8c133b3d4008b7329eae2b", + "0x00fe562bd3de09f5920a14d09a7b4e1aa1721fb40b729318242f278847fabee3", + "0x0042d475db625a2a1f899dfd11284c26fd2cf2f424d7568b57d03e0b0061c5c3", + "0x00eb1c092660c6e83f04a79974010c0a19a78f5dd1c6b6da302f81031cef20ce", + "0x00b3008daf2e0515f34fc639a485f468e893c543dcfec55395f18eff8276a697", + "0x00406c1181df1d5f0db61b087dc5b257c4cd1d6849f98e975c305306a04312fc", + "0x0016b5a7f7bd7fd4ce6b436aa3412c27a41ada82ddfcc34c1d36261a5c3ccd1e", + "0x001f6722279f820ee7a0ca585ddfdaa0f574cbb72edbd96cbf826937413e2174", + "0x00ce27f750f3d519aa4b1c72a46986c05859dc1f4149358283b563714a1e5b38", + "0x007e14dbb87437770ed0f7a46b44d7f9d556bb9ff685dfde2ff3efde9de97f64", + "0x00f3f2425544d29ca2af430ef5e34201fefd659b062078ca68dfe4670ce8054f", + "0x00246fc546468ed0908fad79f33285ffdecd78968b6594efe16a183a13f35f73", + "0x00da9bfb7614b1200ba1dd101d447e1ab2df05b27c1c9d541465cd6389896c8b", + "0x00cc00c08640ad868a80849112ac59ccfe70b8025c5e8bcea84441d884143030", + "0x0078b6b6049578abb4c9b31ee23daecbc223d2130e5403615df1e084c089ea3f", + "0x007711ef62fa902783ea851cf5811692eca5c02192c7bcde8c3b0b6efb56a79f", + "0x00a14e456439e9010044596cc4f72096ad8c42057fd409ec511416eda5e6d7ce", + "0x0078f6f30c7d0fc9ae1798df453b46d95690cd5df72ae1395930c32615833b1c", + "0x00aa70b4670c1968dc7b3a1a1eccd8fdd7ddca2ae36a25f01f7cc23c57be8a68", + "0x009aeff2c70c85c17953d09d71ec45bbc5fe21bf53a3bf87c27bbd32bd651e6b", + "0x00cd27391c8f9beb202c02a56583112c284aa538fe1ad3490cd562d1bd631ee6", + "0x0075d059f6e6be0896182922391ce76ca17dd21b7f5b8a57f8e607c9a7d0e173", + "0x00430f493f96d93afe95f2cf4925b4ab7c302c5a87bdadf32d3d3d86029630cb", + "0x004e9166090ff4619484aa716e246985e0f65e2292cb38f3d9e13853c58ebadd", + "0x009b52d166b7226d6924e216dcd7a46be1e9221d09fdf8c93501a55b75f40d15", + "0x00254672bc4d9bc54d60007d3e006e6335c35ac9b5a544e5357668a693067fe4", + "0x00889a4748e18605674865d4f21de4b6ec3ef93b65298a7ff0225a09a6abf6f2", + "0x0068e9e70d302aac242da1c44bf4fe5ac6d525b06e11dc7abc8d818a7c075ce0", + "0x004ec0504e931de050b57ffabcb677759aae221044c2771495460d151b9087ab", + "0x006e519ed1e25663a7c8d71b64e25a3499c4a0905e4969b3a69e76a6c381a94e", + "0x005992ac0e2e1595af62df5ea452ef8d597fd990b71678051cea958ea993b9a6", + "0x000d15349abcd2f27ddd2edc998e8a1a43bfc5642bc5e3363f161bf4765e179f", + "0x00d0ba6da6631653078ccf02a515c400f71673713dff15c2b73ffd1fa57a4887", + "0x009233dad2992e8c1b2e4011cd6b0ced992559d58a3ad96111c5f5069c6b1e4d", + "0x008ca19b1650574181b3b07d9e58e7d8e38d80cfe76cc4368e48d5037acfdb4f", + "0x008fe2ec54491cc89d358fb8628c170b22a55dcfac6bd6e457ee0c2ea43aa3b0", + "0x0018d6abad1546c03cac16d5134bbddb9f97bfa56f978b88ad82acb72a62b457", + "0x00c5224b1ff931661897c7e626a745f044378585851efc068a4ea25420cad061", + "0x005d0736023b01dae77a0bfd06353f9cee28c6f6ed7023da39abe501255a7590", + "0x00be7100318ae5410033843761daa3423e9c0fca7ca3483b374b9fee2f7c406e", + "0x00f4595a33d368fd550bb8db34f230e45a70a0f68836295bb7ec311b8fd677f2", + "0x009a60ac0fa283d8c8fb439fdc2e197b4729e72ccc0075fa194d3b949ce0ad20", + "0x00dccae8e55fd67cc55df0ec2a0911ed91290e74cb875b615873effdd1237339", + "0x0097df65829dcfe972a39d6cb0dd3633bcba5d00a4a8ea6954d2c2691dc2e573", + "0x004c90c7230c0b3d12f0b32faf366d8c60fd9aafc737c7b18efa45051de54a36", + "0x004bc6f99f8659565a916e55f2e4a9595234871e393b25bcc9fccc58e9853a80", + "0x007a213eab26484dc13fe8c396822f87b22fef610c970ba8bb504ed933cb4dbd", + "0x002816a17d49e471f3178c111be12ee331f11fb59750734dc07894b8af1b4917", + "0x00d4b29f35389ae98e0426027e7e3ccdb3fa54926c0f5d14833de4f943c3d61b", + "0x00df2f00eaac93c9eb7b4e81e7cb5f3cc66515001f01f3a18b268dbcfb8b534c", + "0x00b182bb9b10965c163dd828754b535cc61345765600c278b21a6a6536991ab0", + "0x00a299af247b3d1700c8cbf54eacc6e6ceade5100e7ef55bfc1fa4aa772a18a4", + "0x00e538fab400b9e284a6398f24316cca1cea06d8bf56369b517679203c65e1a0", + "0x007da7ef6d163e59e48ed859955b61bce5fb5ea7e6a68a13d926018064e14adb", + "0x00bc3f37b8dac91d4fd6e3d4c1c3780be796c45a2fed651a8a5fc8570b841bfb", + "0x00d22b4a40025c0f914518b0e56fa55aeca39979cf0005e3bd7a4991b726a372", + "0x0025b0a8a88210a8b524b55668df0e657def565f74689417ba934d7cebe3cb11", + "0x00e3fd886bbc3a396dc907e603edd8e7a538c95f4f551b344fca37f9bf1f0157", + "0x006faaf663d511414df73d247bf4884116e20b3e54c18f2823b0452141b53514", + "0x00a19583ece73494fe304f1287c2e6db893d9445d768d86656ae3a73b9a9ee9f", + "0x00966ace23f307788d073f33fe971f04370a20d7f2130a5b695591733d999dd0", + "0x002428675c778d69c9ceb3f05a36d62022cf7229f1a72d82b0d87a9275cb458a", + "0x0094c49b2d0f62f1a07d05eca71a8008da3a29083e334ae66fa985f46f763366", + "0x0007fa8bf4c8c8099dd21ca7f8ba7f327950ff694d80582109aa2b239862b7d4", + "0x00b809767f8ddeea23467b54973716f8d67c692c411a5330764a848a90397f6e", + "0x00271856b37481b8b51f09932e7211fe011db875140eec3657b487c595577658", + "0x00de9bbbb215a9a41275a9f8bdcf8a0516e2ec156aaaf0811b6d453abe343d89", + "0x006e04df3b292f7d332c9c87499e67bfcdd85b5ad2d9e747a81e8423046ed4ac", + "0x00b1c3d76a724c379de2ce4fc0e60f9f36561eb2f30705f9e9dee7a7e221ee23", + "0x009a88eebe598689b3744571b78adedbd4df722ed7f9b9da766f67ee125d032f", + "0x00de2bf6de091641ad10b6a57dda651f74c8911565164a20f190e2deec6e57f2", + "0x006730266299f6e0736f38e5df5455062eb958ed3a627a6ebe1d49ceb2c0a283", + "0x00dbfaeb6875d1fb18ef9c627f75afaf05b98a496e509a0898c4a0f8c64dcbbe", + "0x00345bfa2f776eab4c4829e291f0c27427d166570a721b58177aa73772e01957", + "0x002ca100be7a6f754de9cf081bd5e2e0969dbfc633987865f260d8ca4c5496ac", + "0x00e00139ac66ffedf1593daebc601ef0bb7ac2e3d45b8194569aa35898eff6a9", + "0x00b9cb2b85344799336cb9fa4892c5b245d5576d40b0baaf0d703c9b5de91b9d", + "0x00d9c8e1be138001e877323aa22b0ea4ed70a39f81b895c85981195aca2703e9", + "0x00a79db61093e9b1eca6e5fe450149993fb2e936145664797bb49f3a17bd3942", + "0x00851ee3ecf9143b2c3dd1322e7d6df4c9671a2351fa86f554ced58eada4bbf9", + "0x000e2dced85952a06a96601527efa26982e95ebcdb49abf809554e4f58b91ed4", + "0x00c8ec6ea0c6e7f39d41adcce0939a3304be0c42ea7a0fb5934fa60f2a28bfa7", + "0x003687667ce812f4b2e12e74a5d119254f3f9ca281214502b35ec922a1f9aad4", + "0x00a00da3a8fd3aeb7cae5a1711c04219335276690fa130d8d30cf5693fa46380", + "0x002e1bffc7e97bbb9cb27968090d566fd1ed7a22cf9c40ab88c470aec2c6082e", + "0x00aadc00e8d60d36d385b669eb305d50c9a626998709cd6fe1140e5bfd863e68", + "0x008d6a530f44a95e5b863f0dc759aa7ac5f12c4ca792345896d417ecb2d6ae0f", + "0x00d04471ec0958779d52972708f3d628a77fcf1e68bcc492b9b11d598d30dec7", + "0x002b61d4eb66b1ce5f22195d1baa02df40a79e2bffd13144610f7ab88820c799", + "0x006454301dd04ac25c39aa9246bbb7e94b094d2e93cdbddffc68e7224f60ad99", + "0x00c13ae6dbd7106ee9d596811a09195d3979ce3b7c3bc7ff326d465463b9e6de", + "0x00d009526606c816ccf4d88e4895a9ffe60e9c0a95495d8c2a6ffe31aa85cef8", + "0x00151342e499dd5848c6108e3361c7f81eee9bcfc3dd0550cd1733c34d79f7a4", + "0x00321e8327c907da944938ee08bb7e01b29114eaa3ca2cddd3d3f4e53e5412c6", + "0x0063e757c4389e6b78847d731f3e0e01858d5384d6ddf3a1494385815bc1b446", + "0x00413b320a4fce04a7d2c7c7b94ddfa8535d157a42f41f5186b50752b2eb36ab", + "0x00d4cd99f5fd909e6c1cc3c398736df7d572707b17c95fe7f9f83b0cb6a6b669", + "0x00656bf794b24f84bdffd6fb8dcc122b4fd26d5581956655d99a20d8dbe3692c", + "0x00304d4bd5620daedd8ffa43c31b2dfd1a431cfd1902b2cdaf03a5c093e2760f", + "0x0070064818f8ce14a6469d1dc5488e212e900dfb08f8515468b75a720e11192a", + "0x005c5e2d98b98001077a0ac04f8717681dbcc165c87d212395d472cac4b9db6c", + "0x007ac9fb2557869380bdf2fbf50fd2d7a4022caf1674c32e7fb40148d9501a6c", + "0x0011a27b2a4bfc7349c2cfe4605f3edcd5cc3c121a22272a4fa5a756166bc756", + "0x007f4570ead0c0939d7703cb25b66bcf76a1bec15af236e6af75379b39a74606", + "0x006942975b09d5ec847d9a7a76f3b8240a860e7550eff0eaa3ae5010535aaa89", + "0x004d12de9396d6ddeb80575f29a5ffee08fdc6357d72b14f91d44373f48e37c9", + "0x00ec4300cf1515b4ac086b2f444079e73b7327e4ac1b0c05e16883ab4102823c", + "0x0035fc5c302d5eefda2cd4943cfcdde125a145db8287172a64de51667856232d", + "0x00ab41677f28a0c8dacfa39a83071d1cfef8c77984515726a4e4e9afd52ebace", + "0x0023112a58d59250ac182436f1544fd2ed63fedc6bc6707a15afabb6fb15a098", + "0x00dafa0589ffe112816d0aa1ed028bec35833d04efe3b8a50b4d2979c6528b65", + "0x00fd0d3993caef990ed04e2d5b3a599a8309713027b4418f9bea6d9c643a0fc1", + "0x00c3235d73875cc21e3004c54dd05ea74c00578f47bfae279c6fc62bb1da14d7", + "0x00435b69fd794752a85036da8387f7f0bfe34ea21b9555a83cd0014cfcd77194", + "0x006754229537fade634e4dbf7056314ce207bac48275db72bfac9c85b8d89625", + "0x00374c5acdf3ee598a1b178953bf234dc23322e051c366efedcbe5f7f7869207", + "0x000ba78566ec272bbb89bffa5b6e3f96edd4af826a2efd6239bff32e034a3e6d", + "0x004a7a712f106b6f86595c56e20a3d020647575ff2c0268c25a2862dcc650194", + "0x002241972bce9ba39e5384b1747d400f317547b1f4fa478f7096586d7c009757", + "0x005bea7605f8f92cc93577f483103c361bb9d5556ed5775eac9d679314f47168", + "0x00e34b22f176f808c299e81b7d5f1a2f5cd3a2e0753a1f9bdffcfaf86ad90d06", + "0x00db66147c1b0147e06e293f9967392077c35a15ab9c81e2a9e5cfeac8a81780", + "0x007ce3f068fbec31888ab841015ec1491cb81e053b42cdd1fce7d17094de3a7f", + "0x003b96df68e0023d74c0d8c43a25e2f9e7fd0e79cee2b4ebe8748c4adc8e92c7", + "0x00bf465bdc2405aed806c28ee07daca1357060a89a64bd05cd32af3ae4d466d1", + "0x00b755380ef6c797b040cc3853cb8f915c53368335add077d664464e84dcbb6b", + "0x000c64504d77eefd808a054cdb5c88fd23babe185a9c7241897bb6a1a025798b", + "0x00e945d5a0196a2ecd1cd5185c4ba02f39f039282e260c27d2850658f5384701", + "0x0095aa079ef9db03b1f8a2ce31236c6f7f2c638580a56c8185547ab19cc23134", + "0x006dca24ff4e21963b9962f683b25ecae1df57d054c5f581ef0d75284f337d2d", + "0x00d15db8a57690bb9b6a10cd7e91a79b27b7873ce30335ac2a9a3b32298c7b9b", + "0x008fb55388c81ca51b5ee7d33f6d8be89a013d995c2c7faf6508dafb21cf20c3", + "0x007d93e6626bc3ebc965648c2cd5321c6a58227b692b2c34ed97ae8ec8813291", + "0x00630b5a820c5399306723a290b7f8bd511329ef55932865eb9641f9a6eed6f6", + "0x0012c4ffbc451158d7871d92349f082d20eff1f83a4af64e50a6f0026b902edb", + "0x003e748c4dd2e4b88cba4b57da468127c9b6871dd66283c469834148a3a1073b", + "0x009faff0c81047299f52c77c80efa37710f4959521b755f74764bcf33824d3a9", + "0x003ecc4c7a9808bf53c87ddb7af85732786ad7615e0e278f79f21723de08cd00", + "0x00bf72d9f836ea1f9ebd93265902d0a6ee445c1a6b5c2d82b136a3fd42a176fb", + "0x0078dddff48a25d25ea67e8d79fdbaed5e0396c6a8b02d2d9bc49380a8b03259", + "0x00e0daa72c9d901b6ef7efbd5a92cd48f03250502fed07e1996bb2b4d17c41a6", + "0x00718099a9ebf05422c0213f08c9aba34a2d3576fc2750b28601a89f2464ce5e", + "0x00a39576b48e65b7739b39536f54b26edc4b02867b7d17a6998727b6d5fee1dc", + "0x0098482380476711f391e4ebd97fed62edebb2b08d18f76cfcd078d479c702b8", + "0x00bc78fdf557b5e6058d747cd0f47850e7a6e61fbcd1e55edbd5f01e821fd830", + "0x00b54c184aa0bcff25fc53e1f3e7aca8bb09b1740cdf03a31ef91d9fe6f873e7", + "0x00a4865d5b29c8f7ac24fbe7dce29ef16f584d576f315666797caa50e3cd580f", + "0x0082866250a6279208357facfb0c740150163d7038524729c7060a2afefa2787", + "0x000209f9257cd896ccaf3c37a161b9ee317d40b74f108ad4118cf32908a87260", + "0x00448d46129343684eb5c0504dd6ee7e7812312589be6ec27708799bbea7f743", + "0x00c54dab4bae3fa843da86264a52f359019baf2416e301f614844e903bb3181f", + "0x0050626b07f0f91dca35ae433838b2a50b42e07acfebfecc6cd1ed06f9a56367", + "0x00e3d242b79e2a4875527bea5509240790e0b7a0d90d76d74d220cde43253d07", + "0x0016a462719b31d4a5c45d70a179ce1a4820a098039589c155868577d80ecd96", + "0x00a0e9016959416136c49f1789ac07c6dd379cda1b23921f3dac259af0128b98", + "0x006ab3e0986b0273caf40e76687c04956c927d4461ad94efda11ce6444af7b1e", + "0x000455ab75c7f5b84a84871ed851ff35ceadc271cf47aa49421f949c6865c9b4", + "0x0036189ac254fd80ac26481102b0451117697d86cefd35fe3a89b2e3a90494eb", + "0x00c84a9451ed6f034531a46f28139b4344cde8a8205f6c88d5b9aca745ad59f3", + "0x0051298bfa70071a5f292dcd20c6a5d4d25861985c5d9eaae3add6b36d8b8df6", + "0x0062f541a62599931fc633f31f3f9dc8cf578df0e399f1c9388318f69a7e2945", + "0x009a52cef19a5361add27f8b260f1287328695eae91a5b2ed8985383108f8b28", + "0x001226e7b8c0040526e4513135e70dd2eb8cdb8883bb980dc64af266c72641d6", + "0x00bc0369c7be6e6165dc627fe57ec954b04c9ade4c6bbf7644940a0ed7f7dd84", + "0x0098f8aaf0c6b4552ad46b28d128e85f942d327d1ae32ad44099c289e439bef7", + "0x00824a74b4a50963ddd194e592d7ecbd436b7a4e41dab31fe305fe6c0b7d795a", + "0x0092876292085b277b3b9bccd9b31ac806f9101958c988764a9fc8aa95d12be9", + "0x00abf043d1489aececfa180a1ef4183acba2529f6f525a77bf7fa8401e0d8414", + "0x007811c199421da44004d65fce15ee9bb424c6609b9f332c9c52f70679237798", + "0x00a43f9f784950972fb1167755b2f7e1f06dc01df6d094f72349fe914efd9bfa", + "0x002b996569d8e73f8ef78e9369558ebc29f64c204adc8547252b789c8100c4d9", + "0x002848e583e05f537b06d8ba8172e11b08597e08bae7a9fdcd68527e9a369086", + "0x00ac70dd78c828a4102983275fa57610b47362d57187b3f41ae76b231fd1a0ee", + "0x0001ca371cddbd3d61986db4d1ef8ff41f4bea359e68081ba045798505118831", + "0x002ffb70d2e6b3f7293ffa8107ac771267e5354e987482ecfa8e83769f128024", + "0x00525dc979ca177e29741c1713d1a16b5dcf06b72bb93ab3f5cb6356f4935499", + "0x006adf8a0593b00509e887e67f6a8da2b68398641ef9f944da042633dcf87f54", + "0x009a91561cda27dd228082d24973c47b44cd1e1c472d87a808d28fb30c41de99", + "0x006b2c501d2347889bcc152aaf85facfeaf4d05297e7bbf1db2600c52799a72d", + "0x00c7e85f73a0b34dd26cf8eaab87aec14c6278c6696e00553029fdb48c56af24", + "0x0005e455633198664727e9e2a3ece0174580a568cfa9d45ebeb947c157f4983a", + "0x00ad8d301686b9c13c18785ca9a06729212a4e6fc3d55aca5173c8dce54c9832", + "0x00fa591b158fd19fc9f2fbddc743975c24728cb497efbfa8438f16d60e00645a", + "0x001a0d06d342c8995f962d11d19964406c3d8dcf6f80fa6ef05efea76b32aebb", + "0x00eee8940ae527edaacb27503f3e8e0b1e2bbee06b87ad2a7967516eb6b6f481", + "0x000d4f9b30e182efae89ed307334f5dff7b4f5d80612bd07f70953e8ecf32125", + "0x00c1826393e5771c014cd62995d9a5389d3ed9bd0bebc01a18b65b516249d9e7", + "0x0032b60bf71f94380877d58c3b28eb02b71f85e0520c090c24fae8e33e223830", + "0x0017f10780ebfac26f02cd8f3f9a1c1ecab67de39b850d4c4b8a23db6690ffb4", + "0x00ff88a9d2e9d2a81371e1f7c199c4102edbe57dd08cc9e056b745ef9fde808c", + "0x0091d899421884f4d4be19142493025af0df1c3c66c12cae53d2fc127bbed783", + "0x009d5c0ea20c93f815f14edfcb461c87af79e8fccb814f055f620e043c0b5a3c", + "0x0012d042857981e6661bb9161a1854318582fe6288b7c80a15f2b138ad4f51ab", + "0x0065d0ee2a4dc58dc77fb60f572dc777f303e14457d49b35347d9c6f24205e0e", + "0x000749269f405653c85e2cc6f8286adcd4629a1d5fd03120184cab858f14fa62", + "0x0043e9a2d4b5591e3d8b7c6506408bf3780b4d3e5119649b92a35272a90d6756", + "0x0014b7cb2cdf466a9011daf4948aba5d174ef3d2b4f3fc90587eec576100e572", + "0x0093e0271484bb513d9574184303fae788dfbcf472f0f36a5103cd01bb14e8f4", + "0x002d7c9b57d5d8e29053bb8f37f3ea10178d5e9d2e715f6228cc3a0bb0aa7c4f", + "0x00acff0877e69fceb23cfaa20a8f42aa7d3f261d9d3a3a7cb27ebe22c7900c65", + "0x001584f17898a30905bbbb8880e6ed29133ba57457c1d9bfb4ac9e92a6c64681", + "0x008842f5c1d31fbff544384788e71b253f46ee39d3140ff49f04814cc076e9b3", + "0x00b8442b586adb1209cd28173625019b71e776c4e25e8fa279ca129b9cd05014", + "0x00cafd078592e7b148cb9c2e2f958fdcddf4e3b6d160a86d51b53dcac3900d6a", + "0x0012c4e209f9641e3e7a36ec293be6093c70eb0fdfd09e90daaa006832a3b4ac", + "0x0015dfcf188ae3b036ad11a23060bea9a65ceaad00ff0c9a526c8c4172feb0e4", + "0x00ce25622b81a5991afc89e9d258be4c713b305bcfe0ca2c909cd3ae949f738d", + "0x0074507081f5db7a2c6c672bd3713b5ca6d2696a61b294a167b4ac9e962d1c84", + "0x001cfbc647e2112148dab858e812f47bcf70b78d3bc74052fc94d1360df84f2a", + "0x00ffe76aaf66c17497f91deaaf48025cc4cb44815c868ac12123fc9081a66fdc", + "0x0001cad6aaae64b4973f75426e32f2c304e2102377336b8b9298bc541402f0cc", + "0x00b8d84e2cf0471212d82f3f753df455cd68c669469c23562128ef505ff4b3fe", + "0x00f77eb908e4a1c3ea09a4c2dc507ab74a0abce70812dd2babd0bcc52da48fad", + "0x008281b267c1a882bd9d431286afedb99a628fdfccb255873ec4188fdc06e46e", + "0x00932e9fee34abfa507ea9e40fd3c47f0b2ca001e68fd2ad3b68a6e0bac30e3d", + "0x00c13fea3ddce3bdb4ab9fda96894bc0852b5248de10635cbb111490006978b5", + "0x0003b008282a25ea745c0befeefef5610024a25913db8b7990405b5c0e3caa20", + "0x00406febf2e73549c9a503cc95d6e44542589d7367a380b29f99692fcb3bf852", + "0x006f62c84db1b158eed501ac55d026a237e9519df63d3db7bab52611c66590db", + "0x00ba2f4ecb174388acb3060e5edca50547f42bd6be5e4fdeedfe8c4568f20dce", + "0x004e5d385ff34311b208148241386adbf4cf15809b21627b0350c9818588d8a6", + "0x00fbc17d4222639c7bc7b16ca80ee9b82c745a53d3f888536fc91ba8b811adaa", + "0x00c77020002586f7b7af29d51b6b7e7499ae9a339a89ce13da49036746f031fc", + "0x007ea16f8f58789f1eee14f283f63f6d876c2a82f9968235dc4ec65dcb020003", + "0x00827834c9ab4355e31a544d11713b8370c4510cd9a8b54240bc50b3cbd78fb0", + "0x005f57e54a733fb66d3f3801dcec6a98c140dd935bb8c26e81576db761c3d3ab", + "0x003001251db65779d3be7303496c1bb54a50c5cd439e02467b335a50f3dbe2b3", + "0x003ac9fceabceb2ca8c5dee1e81c69033243c5314bc3ec1f443a15a3ec16677f", + "0x003503560115aa0ebf86805614b3af0dfc3d01be8bbe6005fd678c783a10d436", + "0x00a7497d5edcd1d3c07b31f174d39ca466bb96dc8a047be46d471204671ef673", + "0x0081a94b5bb64b8c84c080d4d6fa5af7520d7c802f2eb218398e23c5178ca5fa", + "0x004675bbe7575d5b26d2d26e9632e1a15e05564d2584938ef9a91fe2e74a824b", + "0x00caa9d6a1437ce9ecb5ce76fd4acf273f5bbf42183caf0f686947ede55ccb0c", + "0x00ebc78d2fa3736cb6706ad841606df367cb0ae93380e19c622ce4c8db1b161e", + "0x005ad952b0dab78f2306f3ffde6c86331e44bdb54d5f23df23e85b65e237a436", + "0x00889538a1d430b7f7984830e3c6c4a30c9078ba6044c7c81798fa213b0c2d57", + "0x0038cde64fc6f7d507e5aec6022d0692316c781858712e1791ed29c8e54d839d", + "0x00e96a31b9d9363be4aa3e4fba211afd2e1f84d0d5f313d9b37bc5f1bd821442", + "0x00927cb8969d31f655b24a552471bcfa9445d544dd5cd431ca56d315f80cab9b", + "0x003a8ccc37dcbdde6d9da42023df0cc8d0ff8fe9b9150d0a7617a34b60f77bd0", + "0x0063b9f1e1f80be1f33cc60457994a77da513bb7427e7d7b4b85be2d7b74972e", + "0x00ba37cab05c5f1c0d58355db9978053beb8a9c7a4289b2b4f02a3dd184a24e3", + "0x009f00e128f5041f4328fde08a0fc7742d2229c3988a44387d7d146bd4452e63", + "0x00f4bd6e356046b402a16b7b63562f59e43d2a27bb5e425d4a4dba66675f2008", + "0x00697549fd8f6df0678211cc4f6c65f2e0f458ff53bf2efcd46a61915c1fd538", + "0x00c838e8701cd8e45369cd10a7dafff4ff5af00c1b17c4654765f11ea961d5c4", + "0x0033a3c3e6c8eddd7ca9d6a7ee385bdb43b82f6977f230bf22e3c81ad5e42953", + "0x00e5d00d9e4c52be2911950efd7121ad34d6ccffe066ed806fb11e14e7d671cd", + "0x004b63d94c4b784066575cfa11ccdb4a94bcb908e928e90798057df0b340c2fb", + "0x001dbb5facb7e4a01498a9d4b3e3bcaf668163f53e8c8d1f51b1bee4e8edca78", + "0x00b6fbe4f96774846e57fe23016ed33842073691b4546f5b2fa37978557a6843", + "0x001b8c80b49358ddc99bc1861662edce97cbf568b64de602b41e2b579ea25cf5", + "0x0063baa03dd1e100ba9dcd69a5fdd57b792e8b57695040d56d7844210d7d3951", + "0x008a27c6187d7c7ec3f6ceeeeca6f4fd1d8a5be1534a42210a15677c1ef14356", + "0x0030edcc09811e047dd137e1561895b359d6016abaae1c7e3ebb41e35afeb5ed", + "0x0033b463747457cef141ef2744dd28959469154cdc33684a05fd9254ec724b66", + "0x00a9252480d15d5dad71c388766e526fea65a547cf391af3f056040be0aefc63", + "0x0055fb9005964d90c47e1b91d334f40bf47072ee084b20eba826e8f01a35f454", + "0x00940f0e26c6d9f661dfb4eda633496768a931152d74bdc2156b127cb847350c", + "0x00a9033eaab6f5d7c2fa90ad003e162862790fb22641f30b502cd84f3a455e2a", + "0x00e49e42d3b40177ecc0f17af3d5681fa78992372865fb2f254b544d3ff18b22", + "0x008b4afab572be40b2ac6d9947371ff865555a4487d951dda4b39169fdf38b6c", + "0x0032524fdee951f1b926ad65c39b5ccf0d9cebeebb8a0ac450ff1556a5bd3879", + "0x0078335edbfe10906de79c2ac3a60f099f897e11e4300f0beddf5d58e94658f4", + "0x0001bdb290122978e2ba7ef4d6cc8acca0499ecaf95dfa085c32db34aaf5ef33", + "0x00ea9984108645faa168d1f900f2d51f26a12b7592a89ebc2504d76f1a9a0c1d", + "0x0076ecaff3aec625dfc70a12eb3c2b7efcdcc42bcabd0d809cb42c8e6fad77bf", + "0x008b391890e264c2f16e153cdc9ed3c6d9b95b61d438154bd56a159268e22cb7", + "0x001af70a0dbf069f2cf203924c0114c1d40174c7bdf805bec7b7cfae59700cee", + "0x00a362cbbabbb1dfed29a9b5dd8185e6b03b8d9eaa5136c4043a71984d30238c", + "0x00f0177cd72304e74289ad4682f02d4d85d6bc61eefda047512951f566161552", + "0x00915547bf8e4d780b4a9cb80ef0b151b25692e3c3e0380ed7e3c823713ae31c", + "0x00d9b62172c1b5088d27feb0d22cc480ba02c0a034fe1ae1f2053c272718aea2", + "0x00b51b9b04a423c2011ed796ba8b5b5c0612b52fbb1df449295e2ccd95c9ae0a", + "0x00d197e0a3da883f714f571405e476dcd30dbc00c57f70a5a43dba167e0ba0c2", + "0x002702bb51c0a190f228d460aade77e51188bb430a2626488edc1f12de20d370", + "0x00fe1ce5c30d31b9980aed68e8426e130f8acff55cea5e9eb5d0d5dd230c0620", + "0x00a22ef47af066ecc30a8ce7d2997a67fa1d11f72a9da34501ca7bffd232a4f3", + "0x008e9f4aee9bd19d731db02ad226c2a918f6d04128a46de803ec14d1874d2410", + "0x008e5bbdba2eb2f489702a47877148233ef4bd1ef644d28c880796dc1d068d25", + "0x00ba66c76a01788a10696cb325ab2c214ce65f1c7e6d49d218925ce88d325a54", + "0x00a59f6b37baa58cebcb019e7bc42dcd7becef919ccc112749c852d7d8b1436d", + "0x00a4df6b5831b5654b9a750a75a8085467c19b212aedb793eb681a66561ec093", + "0x00142776ca2f1e6a97ec4bd3942d800785f128f82c49a39915038ffcccfc3015", + "0x00f662043a1f0ef3fe6324547cad0ea8b57b905d4b784170da512fe288618e69", + "0x00d0d3ef3df8c6b2bb221eb1f94dad885f448a4539de31a89f4b9385bd86163c", + "0x000384a53e35df941ecd269579a8db45da7f918085fcc81e3ab26ac32d163818", + "0x003b16dbfcf1a9956d5d6919909cc1c732bc2438dbbaba5f7ec287065bea5399", + "0x001cf0930830fb59f5d091473555098e5a36d78486f251d65a441186ea92d96b", + "0x0089c8da2db125dea609422c0de5e49c72eb580c96c269b8a933ef95fc72e005", + "0x005220c3c38f74fade5d47cac43d1873cacb5fe47317ad71b2ee510da4975687", + "0x00cafc2129a583591cb3b06c06a600fabf4a4a897785cc799698b28aa9c3746b", + "0x00d4afeb128a1925ca74cf411095092c7bced60de56cf44787e3e3077321161a", + "0x00db3b14cf4ebab71f35bf770e6a367b24e61c483e984e263d3fa986bb7daeed", + "0x00ca3c3021a478f0e58d57a2c6a64f899ecd43e722f12bef95eba4fb28e22349", + "0x008997227dad9ebe4798fa2add473edab5fe52ecc02ce4e37a1ba4421c227be4", + "0x003d9ee7ddb80917fad0e67dea807e5894215e323372e8fd308c45831e6c3d46", + "0x00a0bf72b93a95914a4ac2f851c8a201dc0a1a4e23bbbfed2f67c922799c75a9", + "0x00ed8556659e9fa7543ceeee07d3443c19eba2cd9a552162d96559cffabf9f4a", + "0x001d21b804eb7252764984d3f70f339a916655ad1fa463ed7b3ade3feea1f8fb", + "0x00589cafb472b73ea7b79b19bdd8e3a7fd371d4e7e85d868a8b0a2414d2af285", + "0x00dc4e0c52155401d1ed91ba508a34ad084ca28af184b09499fc71abe5053faa", + "0x00f093d27e1366c6a6740cfff34b9bf4cbecdbbb4628a2586eae48be7b5edb6c", + "0x001f2e55b7f734792c14e38b1fc798d9e9569d02fddce720eb8d4864d50b2f88", + "0x00ab7905f2b6e35b73091bcb654c841f6d3056a00d973f5df83904e303f7bbf8", + "0x0067f35b9a5b916cc93f4c3b04fbe8cc0c1162369d7bdcb858149997d31bce2b", + "0x00a2064c1d4dde81d44677e1c39a490cf05dab4dc8c382349ef34e1242b81c6a", + "0x001f25a5abdd431b5334d7cf855d87d236203b2a149a8e3a69aa2bb03cb9c746", + "0x00d3e05c6e6a2f222b8655d6ae5d825ee6a5c2794c69d9461360a7d5836d174e", + "0x00e6599374397ce1050157be92be57e59a0722279341b80ff0e56f4c855eb381", + "0x00c1b97bfa71ce1a0a4102662e296932a3b6d1b7f9a25e3919db00b94f0cee12", + "0x003b14965e77ac6e9a4b0801e8c9bf24379531b8cbc12c7690e0c6fad6fbf45e", + "0x00164d1292c59898a4183b52ebe764b59ac3b5e2fe4cf29648125fbb1d2d63c0", + "0x00b409114821ad671ba3656fae4cf44819cd5e05ae6321bb6c41eb1a496fd6b4", + "0x009e0262bc7c41c1cfe0b3aab2a60d2edab76b6d2858a5311cfc469c87556655", + "0x00d3d6344b76319b5e5b884fb7ad9fe36193852109bdfb04c62e1b4935e875bc", + "0x005cd9442a3b95012edab5ccfce37550b2a0f96bc02dd3bde108e660515f54a7", + "0x00e11f41399323d0021864696e1e2ef0f5a2291d194971cb6f50ffa8ce0891c1", + "0x00b41e4c1ff8c7b9599a21a6cba64b25f1275160f53a954eba373426611e2260", + "0x003ae15c4a2de2594daf2f8bd16f14928466f23a6569bda3f89223a47bfb2fcb", + "0x002a2b6d2786ddf2867f821b1c97a6917606a1782d802c18a829a504fac4633f", + "0x00bcfe278779ae01818b9eb6cbbbbf67d13594c211bf2b24d7c3c00374c71697", + "0x00484ea67b144d56cf42a805111cbb6cb62875e0d98c15df27b962b11aae1b88", + "0x00b7063b6b3a5b6a3418e4e52537c1ebc22fa5bccf945084ee7576b97d0b4da8", + "0x007a12a174d61a3e65633b78b9fd1ef36e255711655132551ffa35e612c2f7c2", + "0x00e2f5d4d0f51d469043298934f426c7484615d5cc79be2b1fd92e545b4e3345", + "0x00546bdf3d5c2918999c0d4511ec027cf4d7b177fb2dc979e362510d5564a437", + "0x009bfb7357c52ea566f279c8c8df3b687cbaa1cb0064d6f7c0278a14e0b3762a", + "0x00f525fc5e7f2eacd3e1a49601238c5ecdd3336817d73e7596eeefe94a029688", + "0x005eda7eba49252ced2e91acb7dd1367918a523e424d307e7c567e3216864da0", + "0x0043f536c76157ceb1fcdf0ca969b5c4a1ce0c07f4b62edef47daae32283310d", + "0x009e3d8e145763603125bedef5eef8b314ce07a6a3958418f94057964540e2e3", + "0x0037a128c9053e7aacf9eee27d4857135a16814eba398aa6401e759db0c14d92", + "0x008e8538fbe763b4e83b024d85b46ddb9434ff8468e209fa98d9b18c8f535c41", + "0x00c19c385f94b72aa2a93594dab54d34a69a9c16e76edcaf10ac7f9b3233db9f", + "0x00b10a0fcf0d63b03f5e0caa17cbe711d2e7ee04e3b9c38cbacf0ca60302e2ee", + "0x00b3775b7a7f36e2ed95d8515581b699f549a6ac25c2daa5d6719ff9fca26e5a", + "0x00ff35113b69eb13430587f1df7535152fdb5651e97b9539f6f07376fd050dd4", + "0x00f7342a8b940148434df6ced2f4af0c36830ef904576fcf26cc35e9fff60e0c", + "0x00b72bc6c03fd55dce0cee82e7afe3c3cbc7b3aa1ad0ae4771c3efa618a95788", + "0x0086ab1a2dd6daf541b6c016ae077f5c19a871cf7e56641e2b4d26e5ebfaf2a1", + "0x0028a2745d5a8b29920a0ba32f7c40919a3cd607724e0dddb254ace3319527eb", + "0x00a389776990acc61327c072d008baa27ea0804dbeb8b09c6adf59e69e3a3b9e", + "0x00077f03e97aa7772d99fd5b7139da41d0b6782dd6fb8bd53fb3e923fbe4b6c9", + "0x0012f12b6ef6de4972da1d25157c9235b9ef06cfffdc3c7fa8f6ecaacb76e0f2", + "0x001e477a5578fe60e45c4c2f5b80d01e7e44b390fcffeb0941e53f1f50a06212", + "0x00025d8b94085634da156101da14bdd02e28d4f8508141fa26d6bb3fb75f9225", + "0x004c0324060f8a663521d7b7b27d68535c7f3d1c876f7eb0b13fa58bcf835ef7", + "0x00f99260bbf5a9a8802782f807ed0f327fe907cd5cc0fa5c0d7de15b7063059c", + "0x00ca17aac2704f9ab350dcfa60fd05bfc97b11354a05954eb41e2ca47bafae2b", + "0x00dbc2727a11806cdcca239d37e3e4e7b0acdb59d9c4fce62a0e62736145b863", + "0x00cab620a9e027f2a87f77c7b69449b4c7c720c80f5a97a4ae04020f5695a2a1", + "0x0071e0188da05c2e1979644ce258041c61c4cf28c0dad788f46ac684b126e600", + "0x007920a257a3d1e1c65dd99096ce91d276face27b653552f4ce97bd1aaf0ef6a", + "0x009d2ff66ab6ee54cf86ccd18f61be6c049b5f54dba6e513e63e48a7de35eb1b", + "0x0082a88c264edd7a9dddcc9b04ef92fb2e5828aaee62d120a658d25f913fbb6d", + "0x00d1c7a5fd6bbac72789efdbabba04ba7646be50e9d609c3aac6af06fe45f872", + "0x000b602a901366e6d1fc58f39a1d3880f42ffb02b911142eadf3ba23700bc025", + "0x00371207cdf6cbe5fda8793b36c16153c2d81232d3605b5adee22ec167fab104", + "0x00bb1d882f609f1f7aa332e62434bd6bb659943d2d910d0028efa56fb62e1fdc", + "0x00cc0f59207bd504addf4cd080160d27c280e53e01ce152ed4f4eb274bdb2434", + "0x00f01eff9e3128bca6f8b5ed274009a5fea7204450f0289c9eb2b31740ccf6ca", + "0x004ec97056a10374a597f97b2923a6a4770f3f69fdb58770c20f301db4602d5e", + "0x0036388c4b9fcb02429dcbc7d3ce6405eb56c236abcf1040251a059da45fbd85", + "0x001766d144c4b82de93c73da24485e1aaef081039461e8856af24a42a99b623a", + "0x00d1c846702b03aaf5ee60c833bd394ab97be1fd6f6cac01ff153f98c2ab8e2b", + "0x0044f3a8c4d9ea6bc6b34e486cbeb4016ad61a9cb3240450ca6d86de41364446", + "0x00f94debac0e1c5460ff13c2757225062fe2eccce2bb42d18120cddf64761e9f", + "0x00338d5f1628fff3822942d696307fd42e4d55976ed61255931147d9cbc07cdf", + "0x0069f8f09e75c22f1b0e1ac2aec04ea22dcab2bda1ffef4412e93407fd505330", + "0x007e69c9345e43c6cb501ba4085f01f97ffdfff52f28bc11460495fd1fed917e", + "0x00930240fb4c05fc8db389af21d6a82eb203753001775f506318a69d2481b78d", + "0x0091e1e85fcc88bfe887f6c788538e84df126ac206eb1a7aa9c52516a7053b7f", + "0x0034e6b007954851f4fe440eb9173072d62219c472924609bbdd335cb65da932", + "0x000aa84e6b9364169b6b9aca7b309feb79b14641bd1ed26e84c81e9ff17fc6c4", + "0x0075b1ba0cb6188a22d6ce2f6f1dba4fe1b715f501eaa4efd521777d052d3773", + "0x000e917042deac980ed6cacf5cb7b2a49fe1359cd309506cfdfff32a1fcf8e87", + "0x00236fbf5a58c9d30ad8dc8463424c47250c6c592115c3d51ba4b0c9781adb68", + "0x00aed5bb0a368efa68e58abedb86e0e353d4f146e39ae5903e65ec84b9f93644", + "0x00ad1a8b6336599fe9d902aee8a90b8601d6ac05d4ab78a42a66cb6b946305e5", + "0x009a4bfb24c9988cf2f0789fda73c5ea41e4522b02008e9f6b7ef01eb3dc0dae", + "0x006e4da5c5f493e52b5a30e872056387897ef433d9226fe4970a620cc4e735f1", + "0x00000b041a3bcde3a4e5ab937c5e3ddb43c2d534552129046181dd109b41949c", + "0x005725ed4f84c39c3527cd0a68a968fa521721765428271ea10aab3ec8822e75", + "0x006782186d7cf86ec994d317dd2044fac55a8a57a957b162579bf12ef8a29e31", + "0x00375e10e1d255c23c6319cb985a193d58d8ec06a9422db3b5eea1e6edd6fb95", + "0x00892db74e7cf2912ebffdda6fc9ed6084c76a1c2f8cfb98db63a83540207770", + "0x00190192f175bd68c5b258950c29ce20fcbed3d351d6739615d7b237b69bc1d8", + "0x006adbdc261f47d8edb703865635a6e6438d1aa9c79cdc7cb925b8bda8d3bc88", + "0x00403d96b7f13c24123e5243b2bf63bad9405607aa21679efbfe18a65ecbc1bc", + "0x00a43991b530161e8773bd181b5e9d49c3c250e9248cde6b55494bc3950f6918", + "0x002f82f295e6cf98778b38435c34d2b526d8d3bcd406390a9f11262512a438a2", + "0x00c7aa1a111644546462de73b929b618340c6753c65239dabdca904244b509eb", + "0x003ac71dd7c001909c92bd5b126dbebc021fe68c348c8dbc6cd33aacfb059409", + "0x007ac86c6fc912e30f40b802f0f55d80ecab7224eb7dc64bdb5e615a1406a809", + "0x00bab1b06a111f241085a13c48548fce4b53e8e372c1ed2b04babf04d5312e3c", + "0x00554a4582f5594949b2a2394c6ae45c8328646e18a3ec19474dc3cb3e4473c3", + "0x0036e802f986eb59e845e6b9c6526feaa7fc2bf163891ca81e6cccbd02f46a3c", + "0x00e739b0c98301471b667393bcca53eb1befc8e1cd270c48094312d45806368b", + "0x00e71807a79dacebd44b70d03ca84d1fb432dcd1933c345517434a131416408f", + "0x00c8da773ca11d909667951170d4da492c2fdbd12e1bb7949492295158cb7b73", + "0x00f2af1ccb52b53c0f89a794138506a70a46f58005c7e8703750ebcfe3eacb59", + "0x00e6265f3dfe38a63566da9920caf1b9ea366c52cc485c580569baf8de260aba", + "0x00e0e0d8f1c14e0e62174157d80df164ef9e9b801a3a201133f5166f94150da8", + "0x0002d314e96501d9c1f22cc643c629c0bc8b4b8d8025b74e5f0ddede98c95dcd", + "0x00a25d853ac65ef2b1863c353a4600c6177d58ae3ff97f5d850c3f8fd56fb7e4", + "0x0035b37a162a6b3b6697df95422ef84e1b816d5ed9bf8bece0932689aa1543ca", + "0x003e75499020fd3743f91377f2a81a8db6113b10bdd7af3ef1019633ce71525f", + "0x006072474a962deac61577b9b1d67257a6b0cb07ea2d3b7ad19e8cbce102cd54", + "0x00610e6b322fe624d0d9c443753257f5ae88dbec23068556c2292699c7bf529a", + "0x00bcdbdef282eda9ea337d292708d35b3681a369b9b07dedfccd0aaf5012fc7b", + "0x00a6379b9cbe504af9e95a92d7427723ac195d05a7bb96fccb5eb654fff67ded", + "0x001cc014006200eb94f449793fccb106a04200f6e9eec9e38ff3b1ed67e6b086", + "0x00fc3e05baf1ce7b2fadf0dd769a7d3c8578ea21ef84fe90c3edcebbe332073f", + "0x00479c84285c758775ee755926307acc26fbc317f881c7c3cfd0c1c99aff5977", + "0x0010ac3303938ec4c76cd1e8e8a55c860db21285d4707de40f48109fc3f87b5a", + "0x002a8d853ac1fe4128f0f4218a06f807e0ad771485fbe32e61332cf9fb40863d", + "0x0019aa756ab8cb4448123c072cbcde3b2e365e8c898d5174251916e451e1c16b", + "0x001c914795bd445f5c0e2adf26c4052844085b82681c28ec69772ff5f1bf0b29", + "0x008cb36925e7ad17e53f8bdfe9ef801de84c0917a20fb5ee9ab19776db8ceac7", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4999,19 +4696,19 @@ contract_class_log_fields = [ ] [inputs.hiding_kernel_proof_data.public_inputs] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" + expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" [inputs.hiding_kernel_proof_data.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -5019,37 +4716,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -5061,7 +4758,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [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 = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5069,8 +4766,8 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.hiding_kernel_proof_data.public_inputs.end] note_hashes = [ - "0x005cd2323881f0294872da74f6f085b0628672881dc464f4d5d0976cbbbd08d2", - "0x2bea0c0cb98d2092d3d717f881af5f4c1c4ea1c896ed60a9f74f6e0687ffe91c", + "0x033dc1541749dec457c70f605bae3521247f613b20f817749b8cea68429c3da9", + "0x1d2f748cf0eec20668b68167d346baf08b997160289c6a6b036a3be0b33c2443", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5135,9 +4832,9 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c", - "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38", - "0x01180e43597d93aca802e2db8b88f2a65407301bb727bc2ce2e418e26ae4ff48", + "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839", + "0x0081a9817b8551bf1bf1bd909a1740eef55a137811cc47aba5c70c806d164cb1", + "0x0f334870e25e1802dd1536468ac03c51af59574b018f60bb91fa231134d324d0", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5283,70 +4980,70 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x0a27df1f1c9501dfd5065c8be6a28b075fbf1cf0caba4884d1dd2f851fce04a0", - "0x18d672f936d0befade4b74ab4f5195325f3e7163665582a96aa3633a3c54b6c9", - "0x000032a8ab21fb61be927d6922820bf3d1094b42a1670dce9a8c3fbabb62e0c7", - "0x00c0e461da2a33378cffd94315ebaf662cf4d8b305f26220b764cf4c3f9d3344", - "0x00f3d82ea8819b593c46fe86f2a0e4efad45b4480f7f15054f458265e7c534e0", - "0x00ed9c60b473ac5f473ad5f250e63dfe90330cc83429e414d357eb01d3206b73", - "0x00806e4dda945c0432bac06b7d466e00c44381bf71bf0f38a448030eb1ee7dff", - "0x003d7394af215e96941f7ba505fde53ee5f4b057c616c049b052a090df2744a4", - "0x00f55549e9e5a96e22e2f4eb62c7681a8aebb20b5db127df2efaf9126cca77f4", - "0x009e6664abd31371eb6d0e99d4c16c4c511a6a63ba24b7483d1e35cf1774da14", - "0x0067034084f36ff782f93c5ecd1d7993036d8829c4aa082630bdd20dc01beb43", - "0x00630d7bfce6ff609627078edd3665cd613eb998790a287c8de29f4ca4bc4ae0", - "0x001536bc328e421eef8e00261b208a264f6497b00cf62654d4cf5029b1b7ff70", - "0x0081d0e13392ba093b4d7ac0e86d9baae5e62b0da92e978af3489a9bef920463", - "0x00ef0a778d16455b941d19bfc67da1f256ca35383564ad9853ffcca66825a806", - "0x00a37fbcb30f4d4f86b1363ccd7da1753e79b878b5bdf167580f687a1870113b", - "0x00f43d62fe7d1bdac08b575c925f46de627a7af6066871c5945d686e0be7c351", - "0x002228a1cfde2ef8628fc73a35803bc1a1d57bec02acdef2a4be6f65692b897b" + "0x135ea36e9543b0b3759a246394bf505649ba4ef7572152baae922c0dbf06090f", + "0x116aac75f4b8e8b90b81d0f82109d903204df904352d042f7c404d5b42acd4b0", + "0x00017bd19718cb958d8edd663ab918f60c69359a6e9a54de48c0f3260c946f71", + "0x00f9829b69cd7bc544e76f4de708317f6cc01b46ab41e9fb60037f1c4b009727", + "0x00a2bec0410c3aa10805414e3a3dd0344d548a0dfe534036bebd603fc2d956c8", + "0x003e118036c2450f4148dfcc5f9d0dbd37783a247b7bfc58ff57b7bfd4c059f6", + "0x00789d9e49418162ca1f7bb54810fc8a7ca4dccc8f4daa01337acba1262bec81", + "0x0023cf2aecccfd2dddebeff531c119ecd07199800d7d4f0b6db76a59d15faf91", + "0x005e2c54ad12a12f4243996ca50c2de42e958d6a1cc8336f8529a5a6dbdbc073", + "0x003f59ab2667211008022878da88e83f49c60170d481f6bd53ecc3278fa22c4e", + "0x00eca5c8c65ef048de6dea538f0390e16d9589e2b230eb1e6806fc1b6fa99b2a", + "0x0078ac491453935eb9805823f48fc075227ce6751ebe3110ff30b2062741c811", + "0x00b2fa3c400d52d7ab452be468709a33e545d4ec3370f9945361e3e1529031d6", + "0x00d4b279a4b8fc15777417ab4b43bc53046b5ec96bf99d74b3fc2f220dea6e77", + "0x00ee3912375df86cab709595e4136053362d61b2c9edbeba986da29712b16606", + "0x009f80dddc4458df4ad00a2aa610e437f7b7218e0dfc2dcd4c66443a247f605c", + "0x0075d26f2759920009ec447695bbc59aef372a64ddf2cbe1adeea8322737eca3", + "0x00f61a05fb3530454a1d0d902c47a0c40dc2f94e54d52ea501b5ff6c070f9d2a" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x02932d6cfd1460d71833896895ad1e423b5cfa8e1faed2d7051d2ab5aa261721", - "0x1568b67fa97e9c954c5d63afb864f76da8c42449ceb72aadc140d70c2cf69b36", - "0x00019cb9c40de23252387b9dbaa80c5e219285680dcb39ab0d34b219d1090941", - "0x000d59c9a2569b13fc1c946620137851397c949a93b1235a703a2af0f041e020", - "0x000cf12432c9b098894dc507b9f139c0bdf293dfae361ad8afa027573f3a7e76", - "0x006586d1d7ca0abb8f0243b8a8553d411c6055de15630185918ac78b83fb59f5", - "0x0053e9d73c02243aba11efecf2631787e714ef28c15c68cd79a4cee22558888f", - "0x0003e307fa43787dacc496931ec4acd320bf9e50206e1207b8108d3aab68c62a", - "0x006d2020c997368b5a5d8ccbcb1263d7d0bfb73611271be7716c49510e51c460", - "0x002f1b4cfc0507a345ad8ea22995cecf623374a666c45407e5ef8844cd9651a7", - "0x004c6c1e22e8b871c81e1909667d34b682db2a617c6b642d07dc1cf09b67d821", - "0x00b8fc51f6d54e3f94111f5a2b6de7d75f9f9e5211fb24bcd0cf3dbd6ac35229", - "0x00b4d4843fbfc05095bfe56927d02f0359fcb9bc72c6fb94dd7e4edf3eed34a5", - "0x00743657c61cf7d0560feefa7900354cd9361b74dddff0d073ac5b2056bdfe9b", - "0x0002eb1eedc3438e93339d016274cc609210d98b5829d60df107a13a77648bef", - "0x00799b279e55ad9534169aa22ec502672e453418e13ddb3acef497f5f2ba1eee", - "0x007318c27f87f182788622d30b7847a948edd962dfc36a6321a8c36386300ee5", - "0x00780ea4a92f36b5f5fe07c3dfb3b173035883c757d2887618d9d6cc56a0711e" + "0x197db1dfdc221892ca187cc8223138810fd7da2bd942268dbc48cbb40d570f43", + "0x1975096cc1e778a12e43aede0001f296b9b63725207253474749099b17302d85", + "0x00015665b4b8aa054b84354774caf9c5b69d797a8b66a168254a1abefd3fcb74", + "0x00b2eb5db25ded5fbeb259ffd87b5fc2d16bcc1fd1e21580faa3499134a6467e", + "0x002b1f9562d27906bad98dd7dd847c4f8031327edb4e88db548cb121608e9919", + "0x00d5e7bbeba54abe3b0a0592b196740af7146235ac8d6526cc567419c76f6739", + "0x008ce9208c2416a97d4f3b03e365e3d4ae12542be86f238dbac531766e3eeaa8", + "0x00017091ec81654ce95742989c028823981a8b7bfadd6a0c482b809eb6f45d2f", + "0x00d2abff55b8fd24bb01e00810cff25781c1b9f6b3f7e0b15327dccfa6445505", + "0x00378d0a222083ab650ebc2e43f9e1e7802aad54e2114ebb0e1a39c2ebe8d35d", + "0x0082e70c859b80dc33c974b7ee5df4ab9c6dced1d8e28dfc0039e535d49075b4", + "0x0098a6096ad54e7795ffca4ad9c3bc7f01f2e1f27cd14e61897a44a7fe592565", + "0x0084d3f0aeb25c332429ce25ec94c4ea27dd37758ad892ce90b9526f43cf8e34", + "0x00cd01e80f0a6a92605dfb237782fe6cf4a45f23db7155de5f4c2181a5e79a62", + "0x0027791a51fe462acbf264abf25d40c15bd28d81dbeb36ef1896ca7019107e9a", + "0x00b3284e61f26bdc7e14c57576875245b699109c3b09fe24f47619da133107a2", + "0x00722bbcd09b123c4f34f92ce55a1587853fa4869b65f3361b58c6573387fbec", + "0x00790c3b0f8c5f4fd59f35f07a2adb8023bd9eb18bfa85dffcdc0cf54953d8e0" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x2d21d0707d3e09aecfb0d6b7956faf9fbd024d947067e7867ab339a1648d3ea0", - "0x296810407e5c6d4b028b18e53984ff6f7ad985787aedb7c3c26c8400d692deb0", - "0x0001b88b3b6422742a0212891198008adfc0f4d70c3177fdf05c284e36f99ac5", - "0x00ae1f5a16c6591ae3cd3298cab240420e3c085dbdc80a1a584be117f94e29fc", - "0x00a74f3b18b564482fbeb39bd283adcdd5f127291aa4897ac885f7c1d5d75153", - "0x006ed47e5fd3feeff969f2e83553862bca80b937c5c5505e7dc9a686aba8ca54", - "0x005fd8823565dad202293e3ed5d076cf6289f800f301d1c023d3e4af77827616", - "0x0075536d30d97e72e08b400186c71b77634cfdae51985cc7e986d9f6d90f463f", - "0x0043bd52f8963fa68d611a6bf5be425e3f00f464160348155c8534e17dd22427", - "0x00b9b6a200363ac6784efb3017963e8f000a152dcd4c11fe31c614a4884bfb3e", - "0x0081e7e4bd7465e054e5be7932c3df835a66ed5c82d565a62777faf9571f1675", - "0x00bbc98ca6433187027b87ab9538967f8572a61409d5941d6c14817ba6bbc7bb", - "0x00b9d13ad6648fab765b0b7af280773a5f4dcdd2f87f09e0b7a9ee8b5245d5b7", - "0x0038a0a5e712802e6e31ce7e04fcfd4cc7b414fd75b00eba44a86bd0fbb5d58c", - "0x001d5e1da2ee9973ef61e860e8a60a6ccf197f5422983dc32fa9984d32b34d58", - "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", - "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815", - "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da" + "0x02a7800d59d95fc63fb930589c56215238833d99d41a8e60b18fcacb76a7f2e6", + "0x2b66af78fec9e2cba6e19de9fbfb3b73229879c24284e7c9afe96d60805d0c04", + "0x0000f43f253dc3359a544d3a358ccc991e99fb19448bc5ce1d9ebefb39886dde", + "0x00dc76f6ba9e031e90dd77ab49f2cdd95a802967afbe52200e5a8773bc97c385", + "0x0019f480e660881b0d0a5ac66616b545e3266e6d453e2a2414d4818b77994aaa", + "0x0062e332ba94ee88624cae4b46da20107af0e0e5766102433a451a323ff479f6", + "0x00c1c2806e82ff2bae55fd351034ea42087ddfccd30b4cf0dd4f92cc2a049669", + "0x009af71b2358f5a0497eb6a38dd0cd7a572085e7f4483b4d1096ec13d9d61756", + "0x0082c9ec2dd3d8dca70f4aefe0847c65f530aea37a13384258b99908b0b4b24b", + "0x0003632b0f34b452b2897587992423f34a78ff510e74641d5843eb83d31ad357", + "0x007754bb64b87ef09e13462d9d45d22b554744e4101b562399d82e05bf1e1eaf", + "0x008b2032793710728305e5a550c9909c4c92926d45cbe50f0957889de6a99146", + "0x00622048bbb198c7f6ddbb6beea8186ad2d52a64abde773146dcbee5f7791a06", + "0x0028448a68dfdd8f6edff16d35d9b2484d1746bd6248a61297681fa7f63755cb", + "0x002936f87a8f54e1029f5b351158c106812f9f700307fd9701ad4f333cf01e57", + "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", + "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7", + "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6766,16 +6463,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [inputs.hiding_kernel_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" sibling_path = [ - "0x15ea62ef60983f3861bcc7e51f0c7d53b27ab4336af79d2fa006479ca2e6b58b", - "0x1261daa64e127009864b9d24ebe2cab42baa4fe8e4f5e4035e2c0aefbb2c3ac4", + "0x2e60e13877e440296a10e63ede641d4839dbc2e33566b7f2f8bda097b1e3afef", + "0x01bdaf0cd09c2e35da60603aec2c39c4cd837345066ed798c1a83776605fcf06", "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", - "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -6785,30 +6482,30 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000010", "0x000000000000000000000000000000000000000000000000000000000000059d", "0x00000000000000000000000000000000000000000000000000000000000000fe", - "0x000000000000000000000000000000236c17be5212cfd3e404bcc3c541c63f86", - "0x0000000000000000000000000000000000043e8de5b9ea6ae4bf89b8f0b3005d", - "0x0000000000000000000000000000009bb53b44ffe76fe79fd3ed9c2a4182dd97", - "0x000000000000000000000000000000000024ecaceb94cddf7dbc76ad2cdb992b", - "0x000000000000000000000000000000e3325941583772f873407fbd8cbad9baeb", - "0x00000000000000000000000000000000000887d834f085f8ae522cd94bcd38b0", - "0x0000000000000000000000000000000a802c8bf8bac26e2947a5f61235d8153e", - "0x000000000000000000000000000000000012c778e4d243637c0b5e7402794df7", - "0x0000000000000000000000000000000cf09bce6983b938eab0176d6baf499d0a", - "0x00000000000000000000000000000000002e1ec44c3001ee615949182fd78ffe", - "0x000000000000000000000000000000c179d1faf56724ae0db7c1e113fdbd28bd", - "0x00000000000000000000000000000000000c46ccf22effe8cba4a7a7f4f6a07f", - "0x000000000000000000000000000000ed0079dd710668a08e1f8f895960f126c4", - "0x000000000000000000000000000000000012e1d02c48b223c358304f5a76b8f7", - "0x000000000000000000000000000000ea42e945609331846794361380ca81e7e3", - "0x00000000000000000000000000000000000c5b3cd9e2f244ecb98a876fc91189", - "0x000000000000000000000000000000d5a56353b4d7c4a1564e5d189f27f2b0ab", - "0x000000000000000000000000000000000015946a2e402f25cd62e97e38f6c8e7", - "0x0000000000000000000000000000000d005cd142123088fa067898c8d6d522e9", - "0x00000000000000000000000000000000001e14265f2a86fd36f4a112f9c48aa8", - "0x000000000000000000000000000000e1dd0f77a705f8560e904c0cf13e24f660", - "0x00000000000000000000000000000000000c44a9b01a8d812a81acc42fc23ce3", - "0x000000000000000000000000000000e5f9a4f1f681d7b01ff5d0523df811ac92", - "0x00000000000000000000000000000000001173462e3539f3271f0d34f0d1ea91", + "0x000000000000000000000000000000b9bb135f6edfd3d82ff99df60f9371d481", + "0x000000000000000000000000000000000028c4d0f9e8ac0ce78582aff3aa471e", + "0x00000000000000000000000000000076b9ff2fa4235650a5ede757b4c3615bb6", + "0x000000000000000000000000000000000019b7d10a0e93792352f1332c2852e4", + "0x0000000000000000000000000000008b1879e916f7a2359032bfba76dbca0d1c", + "0x00000000000000000000000000000000001aa164f1e3f4c1a13d64f2d3e4ec8b", + "0x0000000000000000000000000000000056b6b3ec3c3d005a3322d85310ba3227", + "0x0000000000000000000000000000000000115d7f81720113f27d38771e23a830", + "0x000000000000000000000000000000125928cb94df7c38f1b7a0b11380585ed1", + "0x000000000000000000000000000000000014a107e4dc351240a8853f19fb0cae", + "0x0000000000000000000000000000001edd5db1bd0fa074d66a0a7c89ac2d6503", + "0x000000000000000000000000000000000027e73a039567bbf779eb2bdc144bf5", + "0x0000000000000000000000000000008b9005fb70da15fad2def06a4e7950fcbf", + "0x0000000000000000000000000000000000257eeb13a7e309e37cf835d30afb50", + "0x00000000000000000000000000000002ac14c082eba19a1370aa1c8f7d708b41", + "0x00000000000000000000000000000000002652ce0975d0f0999940b518fb8ab7", + "0x0000000000000000000000000000002e2028ab67c4bf32576f44e8d71a22ff78", + "0x00000000000000000000000000000000001ff98cfdc223663b4ac8832bbe555b", + "0x000000000000000000000000000000c469f0f888def8021dbcff62389b3e61bb", + "0x00000000000000000000000000000000001b77632d276ee9cdbf248f42425374", + "0x0000000000000000000000000000007f9950eb37bf48c2bd5f76f4cae42c61cc", + "0x000000000000000000000000000000000026b11c2feb5384d548a5770524e1a8", + "0x000000000000000000000000000000975c64cc4ed05f2da2c757a1f8499585b2", + "0x00000000000000000000000000000000000486a7873bf02636e1cbbb113e8f71", "0x0000000000000000000000000000008064828eed74045bcbf7a4d19675c12bbf", "0x00000000000000000000000000000000001a64cb5f62da413d7998fd129334ee", "0x000000000000000000000000000000a2fbed9a1ce8ddd427b278e1da1120eaf6", @@ -6817,14 +6514,18 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x00000000000000000000000000000000002b4d1bb5147a4c79e26ebae58411a9", "0x0000000000000000000000000000005122c08613230e6b2af1317d43268e2159", "0x0000000000000000000000000000000000064f7eda97f1983c485039a249a528", - "0x000000000000000000000000000000df09f7577fb4db344ebe83ec9479de6efd", - "0x000000000000000000000000000000000014d01a6783f9a1e045d92c3804d629", - "0x000000000000000000000000000000894e1804ed5a7df9af181de704750d7b95", - "0x00000000000000000000000000000000000925fb4dacc37c6a06c2a683e962e0", - "0x000000000000000000000000000000f34714304408b18e3bf3bf3b7bc7831961", - "0x00000000000000000000000000000000001427d840b6eb0dcf518afe9e73f1bd", - "0x00000000000000000000000000000039eea56fcf39421f736230df8e86c96718", - "0x000000000000000000000000000000000006dea5ad83e87bc1e7d5910aeb1bb2", + "0x000000000000000000000000000000d1cc0d72507f8c00be2c6c13e72ed9ad3f", + "0x00000000000000000000000000000000001fe75ccac1ac7e3c2710947318e358", + "0x0000000000000000000000000000002c3fab80d4489b45f1180c15a5d89f716c", + "0x0000000000000000000000000000000000164b785009d98a191c1b9348a9fde1", + "0x000000000000000000000000000000dca6ffc8ac3369a6209909efacf1107133", + "0x000000000000000000000000000000000002e76e39fe2c476935ed9f0de5ea98", + "0x0000000000000000000000000000005815a69b17928f84d24d89a7fb89ab4a35", + "0x0000000000000000000000000000000000200ece63c0b0e58f1f894052ba10d4", + "0x0000000000000000000000000000008823b3b380046014ac4d8adc394bb3468f", + "0x000000000000000000000000000000000014e3daa7278e81fef91168af69d793", + "0x000000000000000000000000000000cba5dd37c8e15537583dcf38546a5f4d82", + "0x0000000000000000000000000000000000228d0ca6da0cdbcd2e682deb2db80a", "0x0000000000000000000000000000004308248316aaa972cf56db76d37a03fecd", "0x00000000000000000000000000000000001ecce9d6f2d2d5577f9e3fbb8c7292", "0x000000000000000000000000000000909f172615070824845e4ba2dd088f9c77", @@ -6833,50 +6534,46 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x000000000000000000000000000000000007c88511d4bf7ada0f1eef02360e41", "0x0000000000000000000000000000004b8035321f5f4138a7ca07731ab2f9f166", "0x00000000000000000000000000000000001f152e956e2363cb1c9b714e542405", - "0x0000000000000000000000000000004ef707638a3b2f45de3cab740d946c3f58", - "0x000000000000000000000000000000000006bc633072c72cfe6ed71cae7df8b5", - "0x000000000000000000000000000000fcd19638d66ec04b54e7b243385650199e", - "0x00000000000000000000000000000000000652050fe8d4254fda19aaf3f0f1e8", - "0x0000000000000000000000000000002b632ef7b4d3803f7e683067d9ff01ab4f", - "0x0000000000000000000000000000000000075f971deb9cc7f013221bf2ee7e66", - "0x000000000000000000000000000000b9ebc747fe5a61cbae1067654ec37149f4", - "0x00000000000000000000000000000000000c0060c6ca4257e975571254a78b22", - "0x0000000000000000000000000000006b51ca5155c11543bf67e3c2ce870f975a", - "0x00000000000000000000000000000000002ec55df0d57526a3dc303ca3aecdb6", - "0x000000000000000000000000000000c67669ab2fe60c016539d2dc87d2c370e6", - "0x000000000000000000000000000000000022339d2444fd7ab6e2b37a4f2b1acc", - "0x0000000000000000000000000000003b696cb1e1012383cc2b6f246c6936ed55", - "0x00000000000000000000000000000000001690a724fbfb6734bfa45979afae90", - "0x000000000000000000000000000000bfaa3c9572a43eb4644fddcfe9f590a5c2", - "0x00000000000000000000000000000000000008e4f470b79583a69244bd89d77d", - "0x0000000000000000000000000000006e4dad2223b74432b5418c8a0b0b5138cb", - "0x000000000000000000000000000000000028ff963c61182aec0c0e81aaf1046e", - "0x000000000000000000000000000000dad7957549119cb120ec90dc500fd81c32", - "0x000000000000000000000000000000000005a8e70622842d99026efca50c9512", - "0x000000000000000000000000000000572fe118897a7244b952d48b556e2b10aa", - "0x0000000000000000000000000000000000079cc5e73fd95a1c6c0eb5fdacbc88", - "0x0000000000000000000000000000003ca8e73349c259d53d78f6a7f23ea328f9", - "0x0000000000000000000000000000000000120e62588dac3f38d29c32ac8d6bc8", - "0x000000000000000000000000000000d1f3f9566751b0eb212ceb9eb6b1eb1673", - "0x00000000000000000000000000000000000c47b4d9f5945cc7293bd53414d187", - "0x00000000000000000000000000000023f2fdd089ebdca3ab28d5fbcf924037da", - "0x000000000000000000000000000000000023bf8eade9bbb1e09d4a4d5acc827d", - "0x0000000000000000000000000000005a480c45e913d82da72c6ae0d314d3ac96", - "0x0000000000000000000000000000000000145891b03f993f2c5a0c08c53a5bf8", - "0x000000000000000000000000000000926dbc9dd091adbc500889aabd30cadbda", - "0x00000000000000000000000000000000002e271b05e65e0b864c86fde39a862b", - "0x0000000000000000000000000000002876694859763182a173426c7bb1177b45", - "0x000000000000000000000000000000000010f3a12285af029839e47dbd8223d4", - "0x000000000000000000000000000000bbe09e06538ec8163608863748f07c7bfd", - "0x00000000000000000000000000000000002c481a7e3339b9688a818d1742eb63", - "0x00000000000000000000000000000033e333518e2d217358679d1154080a27a5", - "0x00000000000000000000000000000000001b482f5d3c5a6490fd5fc68145ee64", - "0x00000000000000000000000000000057506ebbc022d2c5841588cc8681163da0", - "0x00000000000000000000000000000000002be0320a3e4f43bccc87387694a2c8", - "0x0000000000000000000000000000000961cce655c36dcdcd69a300b64b4dc521", - "0x000000000000000000000000000000000019f85e019a889d31554b691608e57d", - "0x000000000000000000000000000000bffcf20bfcfc000f4dbacedfe45c0796a0", - "0x00000000000000000000000000000000000e91bf76989c615a85f1c0b96580af", + "0x0000000000000000000000000000009027e958f937309460c7f59a87b98da54c", + "0x00000000000000000000000000000000002921bd5bb8e260e69e5ee42cab62a3", + "0x00000000000000000000000000000062859de9bbda2e717a5be1ddee2f93a7f0", + "0x00000000000000000000000000000000001b9caf843e6f1219910bca1b10bea9", + "0x000000000000000000000000000000fe3411f8e9353a561bdb792149f1430193", + "0x00000000000000000000000000000000002ef6ff1bf5c59fb6f0fd7aa70111e0", + "0x000000000000000000000000000000709d4b87d5dd90af2a85e39ce2ac5a07e1", + "0x000000000000000000000000000000000012130cf28cf4c56c024c39a3f1c4b9", + "0x0000000000000000000000000000005bc5c06171ff853b327d3c861229c5425c", + "0x00000000000000000000000000000000001135679e754001a92f9d1d11b03803", + "0x000000000000000000000000000000a0a6d5a0a4c0ed7f79436407b0a4e40542", + "0x00000000000000000000000000000000001b9d2715b6f9052e40ff91b2060f14", + "0x000000000000000000000000000000df4352b414476b4acb2a9577eaa9e60c01", + "0x000000000000000000000000000000000015113ecb615e87aad9461a34c9cb85", + "0x000000000000000000000000000000d796ae4035728303d2ae31868e9b5d65cf", + "0x00000000000000000000000000000000000eeabad74f4ce5be4dba8975a39e46", + "0x00000000000000000000000000000007655952e1c6370fb2de5d31b26eefc284", + "0x000000000000000000000000000000000028b86c9b130746cdac95cb746484f1", + "0x000000000000000000000000000000ec695417c0c16fa8222be89cf515e6fba0", + "0x0000000000000000000000000000000000220e3bb8fa5dc8cf39593d4df78af4", + "0x000000000000000000000000000000e1b92a9e8d2627028aec9c017eb7704c38", + "0x000000000000000000000000000000000024daa50e7cc43163f489ddc5e3199d", + "0x000000000000000000000000000000faba611ff0bd4ba4e99ca3e1bb8ec8c042", + "0x00000000000000000000000000000000002b671a5565911efe63cbf6323a386d", + "0x000000000000000000000000000000551cfb45db2c30ce6016fdac2840d6c790", + "0x00000000000000000000000000000000001d80818dde65244398e0b376aa01b9", + "0x000000000000000000000000000000de4a73005e7d4d098744f097f84c5ded75", + "0x0000000000000000000000000000000000163ed53c3678533ec1d2e9001342c2", + "0x00000000000000000000000000000032a2c138fb2ff3ac85b027cf978494ac14", + "0x000000000000000000000000000000000001bb3dc7e027e4cfbd26ea070a6774", + "0x00000000000000000000000000000034fcb08ebbae17551ec72882eadfd4af05", + "0x0000000000000000000000000000000000067a2099911db7dad19374b1e1698a", + "0x00000000000000000000000000000027c4c094ff4e250c95747b84ab1be30376", + "0x000000000000000000000000000000000008be26565940459bd33fa41d4d0c3f", + "0x0000000000000000000000000000005acca4a7f6b06fc95b126dd32f86ba32bb", + "0x000000000000000000000000000000000007f52ab6ba314f5ae9769d31058d3e", + "0x00000000000000000000000000000082cd7a13097813998b8dd69220c95fa06d", + "0x00000000000000000000000000000000001e21b94ed5dccfc7f71d832b9e31e0", + "0x000000000000000000000000000000772285a34e86d1920621b05796b2692c1a", + "0x00000000000000000000000000000000002c8822567f58816c31778fedf40c32", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -6897,10 +6594,10 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e6b5bd96fd12b64fbf20374a8f11f7ed86", - "0x000000000000000000000000000000000010b2c522ea9003d36eca8a666662a6", - "0x000000000000000000000000000000751f82e813232149ee322804969af41e50", - "0x00000000000000000000000000000000002cb6632f247087abf5b671d371ec19", + "0x000000000000000000000000000000fbc41628b5ce30d53de91194d1ad83db5b", + "0x0000000000000000000000000000000000068b407261472eee366c144155f80e", + "0x00000000000000000000000000000004656d5591ad504601a7125e441706a1b6", + "0x0000000000000000000000000000000000129ada35cc07e885217a6a3e7b3059", "0x000000000000000000000000000000e14afaabf7854cf3a2219d3d4d02958049", "0x00000000000000000000000000000000001bd756ccfe84dd1bdfd019955c620a", "0x00000000000000000000000000000007f785d3baf2fc27bf3247521286add3e1", @@ -6910,18 +6607,18 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x000000000000000000000000000000e98abf9ea901151f69103aa323108f45b2", "0x000000000000000000000000000000000011a44461b6ebd760fcbb7eb89dd43d" ] - hash = "0x0f2ba4feda7e71daa4d5863d9855e3256cf69cf3483720795dd131ab61b9c93c" + hash = "0x11f8f47d980557ff5a6f0509504be38bce7d6d1dbf9620c1677c0028eeb25eb6" [inputs.start_tree_snapshots.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.start_tree_snapshots.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.start_tree_snapshots.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.start_sponge_blob] @@ -6947,7 +6644,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x244ac9d8251f660b7dcfc8d86add970b6a8802c776b9bf6b1bec34faad790f3a", + "0x2a664723e5121eaa72e0ab8f416bd856f73703bd17917db7b681e45599ba1782", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -6982,9 +6679,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x1a180441acbe2e25177de322888800476d75191e3c2c753300dedf84de7d2053" ] sorted_nullifiers = [ - "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c", - "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38", - "0x01180e43597d93aca802e2db8b88f2a65407301bb727bc2ce2e418e26ae4ff48", + "0x0f334870e25e1802dd1536468ac03c51af59574b018f60bb91fa231134d324d0", + "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839", + "0x0081a9817b8551bf1bf1bd909a1740eef55a137811cc47aba5c70c806d164cb1", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7048,9 +6745,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] sorted_nullifier_indexes = [ + "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", "0x0000000000000000000000000000000000000000000000000000000000000005", @@ -7115,9 +6812,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] nullifier_subtree_root_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x1963a3c62d1b550795022471503668a2ff4d54f89aa0baa7cd01df2db0ebaa9b", + "0x1fbdc732ce62d88ab1795dd0138f66dd3317a0f3edb6e547e1c3063a983ca637", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1a2581cb8c4ff55a0b6cc3c68b6812e2e1d4c277096287b34e6a4e7eb8769d6a", + "0x0e5c6c245a3aab59209d6d15364ad870d5c58c675b6a07db2a75c4b8806ae234", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7153,19 +6850,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x2ba8ad19e0deed86a7e6e794c2df3cd74885409b4b464b3c37a73244a77faa6f" - next_nullifier = "0x2e2ff7807ad6beaf59e04d8bde4efbe51d774bd603006e62e90d12c57ff2d381" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000202" + nullifier = "0x0c70a9e9956ce9336e3831d29b1a3e2fa8dd4af376862c75c7ba279033689e73" + next_nullifier = "0x0fee2d4079b7b6f80be090306c84104a15a1713302611b1c9e0a9cb576fd07b0" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0064e266c2e111df87d301d3c29e57473cbe48ea4c2625decb8b0eaf75e0125b" - next_nullifier = "0x0605460c4f09623d74de07dd2926fae970327e770767071bfc5f17e6508bbe5c" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000240" + nullifier = "0x07a9faaf56fdc54791686466e0c3e8b1ccf218c2adfbfe685928a1179b5c1137" + next_nullifier = "0x0a583966efca4c7cc2a132a1b3b8cffa76547cba4e96e4b578764fd1a3ab8c68" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000146" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0064e266c2e111df87d301d3c29e57473cbe48ea4c2625decb8b0eaf75e0125b" - next_nullifier = "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000281" + nullifier = "0x000000000000000000000000000000000000000000000000000000000000007f" + next_nullifier = "0x02b3cd093f604afe1477a0a2ebe640a09ba82bdcc2154b5a6527db99854eb321" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000140" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7473,18 +7170,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "192" + leaf_index = "576" sibling_path = [ - "0x14034c67561fda38106021f9b4af0fdda3e92c55a4c80a92f3f0284f8e509237", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x2ee8f34a4d27e4a62036326337bcbd24f9b4e09b76f8c3eef3ba8e6ece81335e", - "0x2a980feb7aac45a55e6dba598d36cf403da7dda0d55551f34057a76b76ed20be", - "0x1c2aa764b94e52ec35b36b13796bb6837c20bcada7b329e4ba55423daf59aa1b", - "0x0166283a23572fa18bb30ffdc88971b72cf8eac9fb4a16efbe5435d78b42e68a", + "0x0ce1db1798fd5b637ed7fcf0fc4c0dcef59427a5a9bea8dff442b70025864375", + "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", + "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", + "0x17c52f482dd0c1908cee93769844bd9eafa9fdf62a641af97ecee5c892daa78b", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7520,18 +7217,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "322" + leaf_index = "193" sibling_path = [ - "0x1f919e5d39c7fb06c78b5481b0d6ade591f165ebc927a75da021ca4250e64cf9", - "0x14c40b191c1b0a90ed69dd7152066205eaeb76f6d48d2bda5935258d40c58dec", - "0x0ce1c20be55a507b913fc5eee8c1bd6f025858907d153c21320293d17856e7fb", + "0x2606945644f0f615ada466d9880811700e51c0f89adb0948051a9b3ee0695ceb", + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x1412bac5a880612fbefaeb5d793b19e320d759e523267959c7d42d1663ad2daf", - "0x0c96004b87f71c8229576f34820e821d399b7458d25836c7f4375d8716db3da6", - "0x2f92c1b0f005c10fb0561fdf91da1b845ef9a7be2300f97dee165a6e3a43d81b", - "0x0166283a23572fa18bb30ffdc88971b72cf8eac9fb4a16efbe5435d78b42e68a", + "0x293fb28fc34dc8626500a4499e78707d995f1df573d90307ad7d411722ba3aac", + "0x0d4ed028188ac249e22a00197d725d3db340d37c54625fd3c1df064885b38429", + "0x21c728716ab2cb83afad1e778404bb797c5b4ea2989140063cfa8cc1a73ec059", + "0x212539b06ebdd7791b2ef5a08698ce302c0048d8af8993190bde9dfd66611a34", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7567,18 +7264,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "322" + leaf_index = "127" sibling_path = [ - "0x1f919e5d39c7fb06c78b5481b0d6ade591f165ebc927a75da021ca4250e64cf9", - "0x14c40b191c1b0a90ed69dd7152066205eaeb76f6d48d2bda5935258d40c58dec", - "0x0ce1c20be55a507b913fc5eee8c1bd6f025858907d153c21320293d17856e7fb", - "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", - "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", - "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x1412bac5a880612fbefaeb5d793b19e320d759e523267959c7d42d1663ad2daf", - "0x0c96004b87f71c8229576f34820e821d399b7458d25836c7f4375d8716db3da6", - "0x2f92c1b0f005c10fb0561fdf91da1b845ef9a7be2300f97dee165a6e3a43d81b", - "0x0166283a23572fa18bb30ffdc88971b72cf8eac9fb4a16efbe5435d78b42e68a", + "0x0d2e74b9d21f0f0ca0bb02fe570268b7927737220eb27c2ee03911305b4a39b4", + "0x125f11770899f31d09cd5954bda0a90973b480be7ff9e29a9c02562ab78f0ee6", + "0x07961b7b41a4705f005f5fe2942faae223307b4f3033c46f9cccfdd57791b65f", + "0x29957e7d9a08ebc027115c442d1405703b1c5e530a6b171906a0172627ddc6eb", + "0x135c2d2dc15a5acc7b43b89aaba27718b5f575df9413618552a3a1b3121c8bee", + "0x28b8fd8b9d61fbe4b1c0a05c6313d3ea28b715a5c2ddab3a4f9d127c27dc6b9f", + "0x169afc20aaa33427f6a9f136203922bf52f1107285f5696611645b6b55df8561", + "0x21361193363075a6b4d1d7987b6f27153c77302d2bea8e11a75f5174627ef4bc", + "0x21c728716ab2cb83afad1e778404bb797c5b4ea2989140063cfa8cc1a73ec059", + "0x212539b06ebdd7791b2ef5a08698ce302c0048d8af8993190bde9dfd66611a34", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -10481,16 +10178,16 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.tree_snapshot_diff_hints.fee_payer_balance_membership_witness] - leaf_index = "119" + leaf_index = "117" sibling_path = [ - "0x0d38053e27e3a7bfb401e4921394944a3469a2b35c7872182d70bc19d769190b", - "0x00d55dd7210431061c54d151bb2a314701303fc9ca4fd5ad6ff4adc649838a0e", + "0x20dc6473688fb86abd64edd1d79ec5bcfdecd71f9dd89202522966fcd4dcb1f4", + "0x0691edb1f537f1f3a9489425db631084899c83531f2df254f04f14e5ee4c62e6", "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x28c9ed3163aededa54d84151108b3f6bae51829147ca083ed02d214937428866", + "0x13c01cf01cd61604ae55d7ca1986fedaa24483a282551eaa41507dde892783d5", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x22c842eb683865a426eca3dc0c3e05a92c8aa98f7d380aecbad129d8abfda444", + "0x1b4d427b4c28d92f5cf1e4141a99332a68acb4d22bcf108e4aadff0b7405efaa", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -10526,18 +10223,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.fee_payer_balance_leaf_preimage] - slot = "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e" - value = "0x00000000000000000000000000000000000000000000021e18d648eb8e4c3480" - next_slot = "0x0b5e4403013eb92da236c17071d14a8a75ace341a4617a71936e04f6f2b865fa" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000078" + slot = "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3" + value = "0x00000000000000000000000000000000000000000000021e18f784c6c0187e00" + next_slot = "0x025f762487f8483abdd808ae2f20d0e14f62a81da5fbb27d77a32e4df838658a" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" [inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.constants.last_archive] - root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" + root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.constants.l1_to_l2_tree_snapshot] @@ -10546,17 +10243,17 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c27b" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c4ec" [inputs.constants.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml index eff1a6134765..c00933edbae7 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml @@ -1,9 +1,9 @@ [inputs] anchor_block_archive_sibling_path = [ - "0x24e54a82d64be998c5987ccebbed7335d22d3ca31fd7280aa3e83357ebab5b63", - "0x08421c21c670b28926304e336968ee3a271cd0208331172dc6bb7a5888370405", + "0x11c02a9b2ec0b981589523044fe8f14589d16697921f051ea2b1e42c05f2e642", + "0x24be9724bbb02c597e93e4f08bd1ec1b11f7f23ad613689cf607a634b0eae30e", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", + "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -3586,19 +3586,19 @@ contract_class_log_fields = [ prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" + expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header] - sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" - total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" + sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" + total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.last_archive] - root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" + root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -3606,37 +3606,37 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" +root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" +root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" +root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -3648,7 +3648,7 @@ l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3722,7 +3722,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43", + "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7364,13 +7364,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false - calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" + calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false @@ -7697,113 +7697,113 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" l2_gas = "0x000000000000000000000000000000000000000000000000000000000000c870" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [inputs.public_chonk_verifier_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" sibling_path = [ - "0x10b971e3828337a4a6c2587ad313c083719140b1d1dffb5a5cf0da770710a05c", - "0x24b1e9c91373bea77134353a519b13e7d9375bdc2ca58beca8290075c1ce7354", + "0x08a5b0120724e14d99912ce5c3ce1371bced2d0dd440ef60634edbddcc247c65", + "0x2b9ac395b5f9f9a4bd37361a03b907e5014c30ef6c6a8553f0834e296ba4a7ae", "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", - "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] [inputs.public_chonk_verifier_proof_data.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000bef", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000009c3d77cecbeba2272faec3e46dcb274aad", - "0x00000000000000000000000000000000002b1470d2a1f295422902a9b5965179", - "0x0000000000000000000000000000001d46c515ebea033a84f8b7955631e1d643", - "0x00000000000000000000000000000000000a6433013e25f68f759e8a2a085dde", - "0x0000000000000000000000000000004ad496b2f894b9c3d8d6e190aac8295c18", - "0x000000000000000000000000000000000001bdd660c8ce0d1d7329f02a9dbfe6", - "0x000000000000000000000000000000ea13148a4ede148095708f60266ede1e2f", - "0x00000000000000000000000000000000000e2c9eb49e3b038e90b9dae35c482e", - "0x0000000000000000000000000000001b5a5775a6864027bfe6b893659e98bfc9", - "0x00000000000000000000000000000000002f4b2b205d07ebed6ab40765500814", - "0x000000000000000000000000000000bf1de09724dc2f0df958340e604169c773", - "0x0000000000000000000000000000000000279d2f79a4b9de5704afec4807f86b", - "0x0000000000000000000000000000005da2356490c7a750d76bf4e3dfc3dc0244", - "0x00000000000000000000000000000000002d7b71f644b25d1a69c4f1a8b19e27", - "0x0000000000000000000000000000004c48b0c223b150934e0dfbc8dd7344145a", - "0x00000000000000000000000000000000002002bd316549d0700538f60d3692de", - "0x00000000000000000000000000000065db5519d53fd09d36b18a09f202f1308b", - "0x00000000000000000000000000000000001f73317232c558d58318f1a137897d", - "0x00000000000000000000000000000017f51c01a89b83cae8441a4b069737f1b8", - "0x0000000000000000000000000000000000083fb042f95a5d85de3b9696f9a947", - "0x0000000000000000000000000000004925a988b1ed9d7426404ac8edb2d790e2", - "0x00000000000000000000000000000000000e09149368c9a21e1358bdb98c6f68", - "0x000000000000000000000000000000c5d64da040df0f7d07257f64e4c0125868", - "0x00000000000000000000000000000000001521621f2b260a8133e4a5746160a8", + "0x00000000000000000000000000000035fb3a6627685ffc21c38f9d6f94699f9c", + "0x0000000000000000000000000000000000297562175ad4f0fccddad6bd3f7cd5", + "0x000000000000000000000000000000d84a93bcee248f6958cefd6dad00cec132", + "0x0000000000000000000000000000000000108f5889ec519705d36c45f02984cc", + "0x00000000000000000000000000000003bfd7e2f333253600b7ed2b97a9c0411b", + "0x00000000000000000000000000000000001d43506657c1b381f1eb9a3889f160", + "0x00000000000000000000000000000077f812b5d87d76cafe462d9bb69a7fa0b4", + "0x000000000000000000000000000000000017e3144ec884b722ac3be1001e04a6", + "0x0000000000000000000000000000003b10554075b849dcc9a0f28c7b9b438225", + "0x0000000000000000000000000000000000101a3fa6b28ce53aca1a7334114182", + "0x000000000000000000000000000000024f9ef55fd0fd040f1e2503ba97b89e22", + "0x00000000000000000000000000000000002850e33e6b71ded53c1fb341150f09", + "0x00000000000000000000000000000072ce154e8d9f6a9794329aed66e7b7d46c", + "0x000000000000000000000000000000000025ce20a09d98e4696bd8783cfc6852", + "0x000000000000000000000000000000488d4a3895ca6958c7e369dd9cc6cd7677", + "0x0000000000000000000000000000000000263876c94ddb5c855c23558e836572", + "0x0000000000000000000000000000004baf05bc879f7934a341b2f48fa3a35783", + "0x00000000000000000000000000000000001d564084822d9bc6eb9fe6e842e64d", + "0x000000000000000000000000000000cf58bfe96837bdea1405be804639ebba36", + "0x000000000000000000000000000000000000162acfd3e0a01224c506baa4b818", + "0x000000000000000000000000000000e9a7344ffa953107251fa9a874f071150b", + "0x000000000000000000000000000000000009b37a0c0dd8f1ada52955026689c9", + "0x0000000000000000000000000000000c39609aee37c39d5d457edebc68565704", + "0x000000000000000000000000000000000018eaa0924e4d156933a2ec01d66559", "0x000000000000000000000000000000852341ded04d1619c17c5c1deade5ca245", "0x000000000000000000000000000000000001296c237942bc015eed98a9a29544", "0x00000000000000000000000000000048cc52b176f9c3b307be5720ddb436e9ab", "0x00000000000000000000000000000000000c6e5e6cfb702449f8f4a7487d0249", - "0x000000000000000000000000000000193bb6929c262b6cabb388bea7d44835ed", - "0x000000000000000000000000000000000010b960455624c9ec93bdcf87cc90f1", - "0x0000000000000000000000000000002d807d2832ab7e0dee3a0e507b8aa1dca4", - "0x0000000000000000000000000000000000175ad541f5cdbe2c525abde87ba10c", - "0x00000000000000000000000000000021f03442269288baade90bc55fa5b669b8", - "0x000000000000000000000000000000000021ad7c7a2c974190c8a7658748544a", - "0x0000000000000000000000000000008064eb29a62fd52db819f2600ce2af85aa", - "0x00000000000000000000000000000000002ac456ff1458fd8d53ec7c226eaf8e", - "0x000000000000000000000000000000177e43d65f9730b6ccbb6c1339852ac831", - "0x00000000000000000000000000000000002c61577dc17731d3b159c33db76481", - "0x000000000000000000000000000000cc066266790f0d6548b27b3721d10e6e38", - "0x00000000000000000000000000000000002464cf3e98a7806b670ce81f863a25", - "0x000000000000000000000000000000ec825d3ae6947e9ee1267da69292e38837", - "0x00000000000000000000000000000000001634d2bbe25306991c4b7f753b8cad", - "0x000000000000000000000000000000664daafc49374337fa53ec7164d46aa1d7", - "0x000000000000000000000000000000000020bf044c688c20d84bfe2450422d59", - "0x000000000000000000000000000000353ee63f955e535a2fd2f87ab56f7aec7b", - "0x000000000000000000000000000000000027591fa2b8c635c0d0fa6702017f2e", - "0x0000000000000000000000000000000c7aeb2040caa1f401c259c834f00070c1", - "0x000000000000000000000000000000000012f2edbf107dc28a2e320d4b7696af", - "0x000000000000000000000000000000164e797e5a7df5049dda61956734a39ba1", - "0x000000000000000000000000000000000008af44b715603e7610c8c1817b48a6", - "0x000000000000000000000000000000fca2dae98a5a46d8dbfda5c18981c74def", - "0x0000000000000000000000000000000000145e158c73afcb01a88fccae0bb88c", - "0x000000000000000000000000000000517d7927499d54566215c25eebc7bae40b", - "0x00000000000000000000000000000000002dd059f3152e789bf8a902cd9c595d", - "0x00000000000000000000000000000040f9a789e92343eca73cf7eac464ac4b73", - "0x00000000000000000000000000000000000851419769e590d5736b6c4752b272", - "0x0000000000000000000000000000002a4224f0efa064d5ba9e5e87e282c1f6a6", - "0x00000000000000000000000000000000002ca0ecdf916d1ea47aee4bea615a02", - "0x0000000000000000000000000000000de8a2dfaf88d443de0e437d2f6a5b9ea3", - "0x00000000000000000000000000000000000988b48197a7efe3bf0a4468e32cee", - "0x000000000000000000000000000000ac4c68de70aef6285fa6c0ffa7b5d5bd5a", - "0x00000000000000000000000000000000001af4352bd53c87650918bf68a1462a", - "0x00000000000000000000000000000060507011ef0d71709c8bfed0d135fc3e13", - "0x000000000000000000000000000000000023099c72bcee72c3ad957a53cbec29", - "0x0000000000000000000000000000006f3c8c0bf8e105b49c5ba6b1bbd0aa0088", - "0x00000000000000000000000000000000000225918dad3a0120dd65272928575c", - "0x000000000000000000000000000000dc58094008ab1666ce9a6567456c5a5abb", - "0x000000000000000000000000000000000023b791e6d44c1139df448573e3ea94", - "0x000000000000000000000000000000199d0821492edc355473a8182ee5fb8d52", - "0x0000000000000000000000000000000000303073d3d255c096995eee4b79b436", - "0x0000000000000000000000000000005a536a711e019beb8fa55e3c4a2d382772", - "0x000000000000000000000000000000000019deed1717d3d67b012df8ae7f0942", - "0x000000000000000000000000000000fb24aba11ccabda4f00b4fc024fe15f8d2", - "0x00000000000000000000000000000000002116df64ba32a611a2e187bf06dfb5", - "0x00000000000000000000000000000051ec6d508864668b2b8a8f3465edc75400", - "0x000000000000000000000000000000000025fdf235c49ca865c05bfb778263d8", - "0x000000000000000000000000000000c9d3d41fd9c12f521b70c2f6940a06826a", - "0x00000000000000000000000000000000000448a1b54f84eea49629cc3e116d28", - "0x000000000000000000000000000000356451ae42cf1d2ae5ecb49d528be22f71", - "0x00000000000000000000000000000000001798a8c421e3d03c63e193afda91e0", - "0x000000000000000000000000000000fea570cb408db36c9f51a33049a28b738c", - "0x000000000000000000000000000000000015f46aa6a018828a7aed7ff4692d5b", - "0x000000000000000000000000000000b49271d68178b38545992aa972661d783b", - "0x0000000000000000000000000000000000129c8338ff31476561407d02dc7808", - "0x00000000000000000000000000000030375e9e9c4d37761e762d7be3114b93f8", - "0x00000000000000000000000000000000001fb2ab79bd2c0370679cd4f98e9178", - "0x000000000000000000000000000000e4bf023b5e17d6f1740b42166ad20d7a09", - "0x00000000000000000000000000000000002d43a99faf963b7529f73d73a7fb0c", + "0x000000000000000000000000000000ab6dee1be7c9c71a1b99b4912e93bda8c5", + "0x00000000000000000000000000000000002f17467f9ad8b57b72cebd83070d0c", + "0x0000000000000000000000000000007b0ea1af6ef874f5e4a8f0011a4387d47b", + "0x00000000000000000000000000000000002042095f202a6799ca37af512029ac", + "0x00000000000000000000000000000029fed35736b57bdc3f0cb524b0a11a6a57", + "0x00000000000000000000000000000000002a63428ecbadfaf6a6a0841f2ec324", + "0x000000000000000000000000000000bf3e90af710ac7bf2ebc06f97e98869dfc", + "0x00000000000000000000000000000000002ae97a53b91b3c3a34943877655656", + "0x000000000000000000000000000000f8d5e043bf7055b997df22946acb76628d", + "0x0000000000000000000000000000000000278f620bb8af2ea0b720bc86311242", + "0x00000000000000000000000000000069b9c27f643a119e05a879f015ba8111ae", + "0x0000000000000000000000000000000000137264b248c983bd926962bb689e3a", + "0x000000000000000000000000000000c1e9163ba4242960281b6dac38e71a330d", + "0x00000000000000000000000000000000001b3f76f4f434fe7aa0e4c2134359ba", + "0x00000000000000000000000000000074cdbb42ce54e04c78bcca2689cdb58184", + "0x00000000000000000000000000000000000ddefb6ecdb8065737b727d218ae56", + "0x000000000000000000000000000000ebfc87456038375082f785ae70f44de97f", + "0x0000000000000000000000000000000000280f23b03ca374ecfdd2eaeb4a9dcc", + "0x000000000000000000000000000000d8be9b9e8b5961ef06378ecdbb71084340", + "0x000000000000000000000000000000000006dae403d91e535af7110dbfceffde", + "0x0000000000000000000000000000004f21599c8282e2710abe612709e11e061f", + "0x0000000000000000000000000000000000257d07601f3d53cfc92e8a20538977", + "0x000000000000000000000000000000443d37312c0d57c59fccb3fb962289f74b", + "0x000000000000000000000000000000000008b9171e74f43db3f3b2a52a5e411e", + "0x0000000000000000000000000000004945ab5248a4968700ac2d5949f6f27116", + "0x0000000000000000000000000000000000094fd07f12f2a6c2354d6b00d9ff91", + "0x0000000000000000000000000000001899549514c2ce14c728ce563c9b36cbb1", + "0x00000000000000000000000000000000001b448fdff31beb0d48eac0f87bbc51", + "0x000000000000000000000000000000d4bd6fd3f71b3621613156f7b01a717945", + "0x00000000000000000000000000000000000772dfc77387f59aaf60110fadc872", + "0x0000000000000000000000000000008da3f0a379650949f005639aa6d39a6781", + "0x000000000000000000000000000000000000c2c0e61b53d159c255c92cb74d0c", + "0x000000000000000000000000000000be4f86e3efcec47b44bfcb7a879d527227", + "0x00000000000000000000000000000000002f31a57de31bda6fa669bed7245ec2", + "0x000000000000000000000000000000cbe0d0cab0b2d2af8d122b3bad0da5632c", + "0x000000000000000000000000000000000018ee87aff63de60ac3beca4a0427e1", + "0x00000000000000000000000000000017b25f11830fb4af2398fbf5d279f1aa76", + "0x000000000000000000000000000000000001f1e7bfc7d30455d3282f1cac7d45", + "0x000000000000000000000000000000a873984bcc961290b8b2765a4b6557a0f8", + "0x000000000000000000000000000000000013876c996b2ed7e694b52e10698e3b", + "0x00000000000000000000000000000009d6ca9903bb1074fb2f4a0c7c87cdfdcf", + "0x0000000000000000000000000000000000250d0df4c137f023f9e35a35313caa", + "0x0000000000000000000000000000000955872bf917c724188310b5a088c4733d", + "0x00000000000000000000000000000000000ca072deecaf6de7d5249b6aec0598", + "0x000000000000000000000000000000786e4e9074bec516416a25a5d49fcdb526", + "0x000000000000000000000000000000000004fb668ae7568e9290d3ddf0b5a4b1", + "0x000000000000000000000000000000e273f408cc3bea9017edefc0d952572c32", + "0x0000000000000000000000000000000000149d92a31b01a0750a3451421a2572", + "0x0000000000000000000000000000003fbad843b719d8a1ecacf50486d47ead1b", + "0x00000000000000000000000000000000001b51a84b276cb3955eeaa235305922", + "0x0000000000000000000000000000000c093d1ce4276036437c6272805a103fbd", + "0x00000000000000000000000000000000001f93e9ccb767322735d7c770b6ab03", + "0x000000000000000000000000000000a7d0afc64e7ad1f0da440f2e7e1b94c2b3", + "0x00000000000000000000000000000000001c1c8fca86545654fa494193848b2d", + "0x000000000000000000000000000000c4b0a655bc93953edde57f7e14eae19b1c", + "0x000000000000000000000000000000000013c760cc943669088f68888dcac3ca", + "0x000000000000000000000000000000c5963c0ac145cd633063b72ed2674d1908", + "0x00000000000000000000000000000000002475b6d31b0dc0144330a81fb3a643", + "0x000000000000000000000000000000ee716f50b622c177647d1767b35710439b", + "0x00000000000000000000000000000000001c9815292b567be5e48cc6a2a71047", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -7824,12 +7824,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000bcbfd5e1bc34e4b9ce307f820b79d2d188", - "0x00000000000000000000000000000000002813611fdd71203634205935ca857c", - "0x0000000000000000000000000000003ede8efb58671963d73c06fa26de0a163e", - "0x00000000000000000000000000000000000f7433ddcf572f364d7aad43b50781" + "0x000000000000000000000000000000ccccd68d80c851c5ebba68d6aadd1434a8", + "0x000000000000000000000000000000000000b225f80817e82e96b522ecddbf99", + "0x0000000000000000000000000000000cd91eb6cefb6b2e76d146e96f510f9fa9", + "0x00000000000000000000000000000000002ee755c534e01c6c191f53d291f996" ] - hash = "0x1ea20350d7d4a72d411fd4612502baa2f7d12c1fe355c8a54e23ea4b1b18d597" + hash = "0x227dfc617923261f352c5b1e72bcbf5d824ac9eaa8861f3d0e7091df5d75cdba" [inputs.avm_proof_data] proof = [ @@ -24237,25 +24237,25 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs] prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - transaction_fee = "0x0000000000000000000000000000000000000000000000000000cd9ed3dcf4c0" + transaction_fee = "0x0000000000000000000000000000000000000000000000000000cd8ba6bdba00" reverted = false [inputs.avm_proof_data.public_inputs.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + version = "0x0000000000000000000000000000000000000000000000000000000070333a21" block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" - timestamp = "0x000000000000000000000000000000000000000000000000000000006993c2c3" + timestamp = "0x000000000000000000000000000000000000000000000000000000006994c534" [inputs.avm_proof_data.public_inputs.global_variables.coinbase] - inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" + inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" [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 = "0x00000000000000000000000000000000000000000000000000000000622b39c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000062221200" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" @@ -24295,15 +24295,15 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" +root = "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0" +root = "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.start_gas_used] @@ -24320,7 +24320,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 = "0x0000000000000000000000000000000000000000000000000000000144b30430" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" [inputs.avm_proof_data.public_inputs.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -24328,10 +24328,10 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.avm_proof_data.public_inputs.effective_gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000622b39c0" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000062221200" [inputs.avm_proof_data.public_inputs.fee_payer] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [inputs.avm_proof_data.public_inputs.public_call_request_array_lengths] setup_calls = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -24660,13 +24660,13 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false - calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" + calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" + inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" + inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false @@ -25066,7 +25066,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43", + "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25431,15 +25431,15 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x1a08b8151973e77714f30c057a7866f3dc5437445ad6c69cf5815b7049775825" +root = "0x1ee3eb36b6555280c34d9f31feb9a79ab9a23d70962bb17ced7f29309ede546f" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x0b231ffe17241156674907b033c23fcbad6d95cf17bb0fe2f71795130580d3d6" +root = "0x1282b8b4f44d1327fa014599709582e36288b84fa6e746645cf2d2202bb2e34a" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.end_gas_used] @@ -25520,7 +25520,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43", + "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -29768,16 +29768,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x2404b0c4b20b5d4af8d6eb060e68103d009deb28450776f9a8fbc3c9d39a904d" + leaf_slot = "0x1115fe5874ebe4d5d9a3428012e3958edbb448dabd1c7da26af23133c7b8855a" value = "0x0000000000000000000000000000000000000000000000000000000000001c20" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x036e901f114a75e275bb5b53726de3ba0bff6ff84fae76009eee3100ad2f189a" + leaf_slot = "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c" value = "0x0000000000000000000000000000000000000000000000000000000000000af0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e" - value = "0x00000000000000000000000000000000000000000000021e18d27e845cb2f920" + leaf_slot = "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3" + value = "0x00000000000000000000000000000000000000000000021e18f3bab36cb8d2e0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -30042,5 +30042,5 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" squeeze_mode = false [inputs.last_archive] - root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" + root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml index 0fcb2cfe56d7..0c89e9a11f30 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml @@ -528,7 +528,7 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -609,10 +609,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x14e76b29d1867930361a036f0fb7e710594bc4a34af9fa112df7975b635f98b4", - "0x008fd128bd2d6e0352ad02aec79bf213bca7bcba467529394d69025c29964ef8", - "0x1c3618d298277188a6399c6f8dfed6ef92a0cdaf513cefdf8b2370e0ab613d9e", - "0x11cb494306ad25f91283e42ef6178de2db6402763d22e0feac08ae98f35a0b79" + "0x26f54bc48ac6fa4fdb64e3ec91f9250a2edc0b75649e5acef03f82849382a4e3", + "0x1092a06338e104c6906d07e499f9dbfe81f687a60db3bdb028666e11faf3302e", + "0x108fda9e66cd93c5f9eece433cbcfecf215e57964f6195d56dedf93e3a1bdcaa", + "0x24e7c7722c9a8472d55b200b6c0a31f48c1ca6e7946b224f4192d64842f7ca47" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -620,11 +620,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -634,94 +634,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", - "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", - "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", - "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", - "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", - "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", - "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", - "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", - "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", - "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", - "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", - "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", - "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", - "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", - "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", - "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", - "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", - "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", - "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", - "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", - "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", - "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", - "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", - "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", + "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", + "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", + "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", + "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", + "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", + "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", + "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", + "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", + "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", + "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", + "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", + "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", + "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", + "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", + "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", + "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", + "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", + "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", + "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", + "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", + "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", + "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", + "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", + "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000d879c2ca4aaa2a36dfccd5863f20274a60", - "0x00000000000000000000000000000000001d1cfa42b5dc129e9db9bef843464a", - "0x000000000000000000000000000000cae7e1e96538a6e000e77ac134823e86fa", - "0x00000000000000000000000000000000000df5213122862b7c8ffcd7b511619e", - "0x0000000000000000000000000000005bf2d4c586ef6451bc039ac2cbc033114b", - "0x000000000000000000000000000000000011833b45815152d00fffcfcbb07f74", - "0x000000000000000000000000000000c6443b067eb490fb49c4517b7590f2fd03", - "0x000000000000000000000000000000000015561fee08dfc7cc28b6ffaba33471", - "0x000000000000000000000000000000f5d4f6511b9ef06da9cd8ab4d01726b526", - "0x00000000000000000000000000000000000a973c8791c81c029d0ec1014b3f71", - "0x00000000000000000000000000000012c20c6a4ba48f2fdc2ca2dcebc1cfe359", - "0x0000000000000000000000000000000000087c2d8d023f5cdb1f632499237bef", - "0x00000000000000000000000000000035ba3fbe080b99e29138a850a81e15c22b", - "0x0000000000000000000000000000000000109ad7837735dbd96860ed7882d4dc", - "0x0000000000000000000000000000002d7a805b4f82b61077b3b5e5b333924359", - "0x00000000000000000000000000000000000e82ef2372d62554005392091181d7", - "0x0000000000000000000000000000003af5dc371ee16f9a1832d922a48a457857", - "0x000000000000000000000000000000000019bea29bcd65a09ec02eb37c5f6359", - "0x00000000000000000000000000000029f119c0eb2d373fe5bb6a63cd07ed538b", - "0x000000000000000000000000000000000005dbac3cde375048802fed4a7ba3b7", - "0x00000000000000000000000000000052d304f8a68bc330a29e35527900dad4ad", - "0x0000000000000000000000000000000000267217bd8a9e312eac299565e4b4e7", - "0x000000000000000000000000000000c0d6002a87d5e4f1afffc4ba0b607c6380", - "0x000000000000000000000000000000000017d04974e428a306f9d896fefb4db2", - "0x0000000000000000000000000000004e578f24bc1cf580eac81a17296f635673", - "0x000000000000000000000000000000000005069c78cdcb82133d6c603bb3dd3c", - "0x00000000000000000000000000000048b1c757d12b36e720789106299efc511e", - "0x00000000000000000000000000000000002c34883ddaca2b582ef7948c45c086", - "0x00000000000000000000000000000007e514195d4a6c6f5df41b99894ead9954", - "0x00000000000000000000000000000000000ddc2124820208a68a438834817db2", - "0x0000000000000000000000000000009edf91ab76076125bb4cd75887cfc9abde", - "0x0000000000000000000000000000000000221107d04171d1e9bd76a95b9e2415", - "0x000000000000000000000000000000b0edbda6431ccc14cd7a31df572cd7f20a", - "0x0000000000000000000000000000000000137b929e8b411e5704904f796b1650", - "0x0000000000000000000000000000004dc2892cc826045bfc2749713df89a9a61", - "0x00000000000000000000000000000000001f5b5eb9e45afbcfbff368b745db27", - "0x00000000000000000000000000000013cbed1e1ce38b0d6f1335820841615e2c", - "0x0000000000000000000000000000000000248edf8f184bd7d120d4b12053092e", - "0x0000000000000000000000000000004d108f779cafb5152a7f59c4c9486415ef", - "0x000000000000000000000000000000000015eca1cf6b67b4eac1a24947642440", - "0x000000000000000000000000000000e3bfeefe450f7b372a209ee78c34abe02c", - "0x00000000000000000000000000000000000b30897794a4fd3fbcf4deff285823", - "0x00000000000000000000000000000028583bd6080daf0a2b2bfec86f9d958be9", - "0x00000000000000000000000000000000002d2c473ca4b9c821231835fe595f68", - "0x000000000000000000000000000000bc93130b4833d228c40293f7c591d0699b", - "0x0000000000000000000000000000000000252a366671fbeabc418bb9cc77d089", - "0x000000000000000000000000000000393862b5677eefc483a07a4b4d6d652070", - "0x0000000000000000000000000000000000239cef385298a70ba0e13605209fff", - "0x00000000000000000000000000000027bdff84bf879cf9c2869eb1ab005be4bd", - "0x0000000000000000000000000000000000218f067a48a148ca29e9b921f4fc55", - "0x000000000000000000000000000000d5f65577a8f450e344cf57db046a579119", - "0x000000000000000000000000000000000023105c23cf9dbd5c239c1cd6d1f1fe", - "0x00000000000000000000000000000044557defb858063b5f1bd325cefd8fee75", - "0x00000000000000000000000000000000002f10b7eb7fe7d1701e85ed0593d38f", - "0x00000000000000000000000000000070ab5656337d09f7c238d17bb63b72d39d", - "0x00000000000000000000000000000000000bc311ad594d8065f80297a5171e7c", - "0x00000000000000000000000000000001624c62d6b692f7703f85ea6f51a4feae", - "0x00000000000000000000000000000000001112442c8d7c259363e23d6ae0c3dd", - "0x000000000000000000000000000000fcf1d7663229cc349b968db50732e48908", - "0x00000000000000000000000000000000001e38903bf86c9ad37f0e4849ad65f4", + "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", + "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", + "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", + "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", + "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", + "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", + "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", + "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", + "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", + "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", + "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", + "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", + "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", + "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", + "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", + "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", + "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", + "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", + "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", + "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", + "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", + "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", + "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", + "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", + "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", + "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", + "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", + "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", + "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", + "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", + "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", + "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", + "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", + "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", + "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", + "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", + "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", + "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", + "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", + "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", + "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", + "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", + "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", + "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", + "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", + "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", + "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", + "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", + "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", + "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", + "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", + "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", + "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", + "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", + "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", + "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", + "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", + "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", + "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", + "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -742,12 +742,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", - "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", - "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", - "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" + "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", + "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", + "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", + "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" ] - hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" + hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" [[inputs.previous_rollups]] proof = [ @@ -1279,7 +1279,7 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1342,10 +1342,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x14e76b29d1867930361a036f0fb7e710594bc4a34af9fa112df7975b635f98b4", - "0x008fd128bd2d6e0352ad02aec79bf213bca7bcba467529394d69025c29964ef8", - "0x1c3618d298277188a6399c6f8dfed6ef92a0cdaf513cefdf8b2370e0ab613d9e", - "0x11cb494306ad25f91283e42ef6178de2db6402763d22e0feac08ae98f35a0b79" + "0x26f54bc48ac6fa4fdb64e3ec91f9250a2edc0b75649e5acef03f82849382a4e3", + "0x1092a06338e104c6906d07e499f9dbfe81f687a60db3bdb028666e11faf3302e", + "0x108fda9e66cd93c5f9eece433cbcfecf215e57964f6195d56dedf93e3a1bdcaa", + "0x24e7c7722c9a8472d55b200b6c0a31f48c1ca6e7946b224f4192d64842f7ca47" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1360,10 +1360,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x09dd5448788a66dc8f5566151c29733cdbbe92225aa183dccb99881599fbef41", - "0x22700efe2bf96efa7aad2222062b8c67a687f75599eb8134a841111517edf396", - "0x062d6b9c481138729726ee1b9371103abe37faea66808d8b846a6a66b69d3297", - "0x208f2a229a996e11b7c12f02b87071d51ecf1b5910a93c9deb3f05a050bcaca0" + "0x01362bfcc36c67344c7ae4a7ca3e8535c9beb0034f70547fbb6fd93b26318519", + "0x226cb50d6397b6916e14e0129eff6c0c3293833cd011e205938bdd057e3b6d85", + "0x09398314452ec6558861cd10c98b9e56acb91086219f8a1330a157e704f5b2a6", + "0x143cce481133b1f4a4475d48b0a0389c7fb1fda13e52910e14f381115b5f4217" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1371,11 +1371,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" sibling_path = [ - "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", - "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", - "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", - "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", - "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", + "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", + "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", + "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", + "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", + "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1385,94 +1385,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", - "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", - "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", - "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", - "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", - "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", - "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", - "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", - "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", - "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", - "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", - "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", - "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", - "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", - "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", - "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", - "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", - "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", - "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", - "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", - "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", - "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", - "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", - "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", + "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", + "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", + "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", + "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", + "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", + "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", + "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", + "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", + "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", + "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", + "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", + "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", + "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", + "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", + "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", + "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", + "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", + "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", + "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", + "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", + "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", + "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", + "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", + "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000d879c2ca4aaa2a36dfccd5863f20274a60", - "0x00000000000000000000000000000000001d1cfa42b5dc129e9db9bef843464a", - "0x000000000000000000000000000000cae7e1e96538a6e000e77ac134823e86fa", - "0x00000000000000000000000000000000000df5213122862b7c8ffcd7b511619e", - "0x0000000000000000000000000000005bf2d4c586ef6451bc039ac2cbc033114b", - "0x000000000000000000000000000000000011833b45815152d00fffcfcbb07f74", - "0x000000000000000000000000000000c6443b067eb490fb49c4517b7590f2fd03", - "0x000000000000000000000000000000000015561fee08dfc7cc28b6ffaba33471", - "0x000000000000000000000000000000f5d4f6511b9ef06da9cd8ab4d01726b526", - "0x00000000000000000000000000000000000a973c8791c81c029d0ec1014b3f71", - "0x00000000000000000000000000000012c20c6a4ba48f2fdc2ca2dcebc1cfe359", - "0x0000000000000000000000000000000000087c2d8d023f5cdb1f632499237bef", - "0x00000000000000000000000000000035ba3fbe080b99e29138a850a81e15c22b", - "0x0000000000000000000000000000000000109ad7837735dbd96860ed7882d4dc", - "0x0000000000000000000000000000002d7a805b4f82b61077b3b5e5b333924359", - "0x00000000000000000000000000000000000e82ef2372d62554005392091181d7", - "0x0000000000000000000000000000003af5dc371ee16f9a1832d922a48a457857", - "0x000000000000000000000000000000000019bea29bcd65a09ec02eb37c5f6359", - "0x00000000000000000000000000000029f119c0eb2d373fe5bb6a63cd07ed538b", - "0x000000000000000000000000000000000005dbac3cde375048802fed4a7ba3b7", - "0x00000000000000000000000000000052d304f8a68bc330a29e35527900dad4ad", - "0x0000000000000000000000000000000000267217bd8a9e312eac299565e4b4e7", - "0x000000000000000000000000000000c0d6002a87d5e4f1afffc4ba0b607c6380", - "0x000000000000000000000000000000000017d04974e428a306f9d896fefb4db2", - "0x0000000000000000000000000000004e578f24bc1cf580eac81a17296f635673", - "0x000000000000000000000000000000000005069c78cdcb82133d6c603bb3dd3c", - "0x00000000000000000000000000000048b1c757d12b36e720789106299efc511e", - "0x00000000000000000000000000000000002c34883ddaca2b582ef7948c45c086", - "0x00000000000000000000000000000007e514195d4a6c6f5df41b99894ead9954", - "0x00000000000000000000000000000000000ddc2124820208a68a438834817db2", - "0x0000000000000000000000000000009edf91ab76076125bb4cd75887cfc9abde", - "0x0000000000000000000000000000000000221107d04171d1e9bd76a95b9e2415", - "0x000000000000000000000000000000b0edbda6431ccc14cd7a31df572cd7f20a", - "0x0000000000000000000000000000000000137b929e8b411e5704904f796b1650", - "0x0000000000000000000000000000004dc2892cc826045bfc2749713df89a9a61", - "0x00000000000000000000000000000000001f5b5eb9e45afbcfbff368b745db27", - "0x00000000000000000000000000000013cbed1e1ce38b0d6f1335820841615e2c", - "0x0000000000000000000000000000000000248edf8f184bd7d120d4b12053092e", - "0x0000000000000000000000000000004d108f779cafb5152a7f59c4c9486415ef", - "0x000000000000000000000000000000000015eca1cf6b67b4eac1a24947642440", - "0x000000000000000000000000000000e3bfeefe450f7b372a209ee78c34abe02c", - "0x00000000000000000000000000000000000b30897794a4fd3fbcf4deff285823", - "0x00000000000000000000000000000028583bd6080daf0a2b2bfec86f9d958be9", - "0x00000000000000000000000000000000002d2c473ca4b9c821231835fe595f68", - "0x000000000000000000000000000000bc93130b4833d228c40293f7c591d0699b", - "0x0000000000000000000000000000000000252a366671fbeabc418bb9cc77d089", - "0x000000000000000000000000000000393862b5677eefc483a07a4b4d6d652070", - "0x0000000000000000000000000000000000239cef385298a70ba0e13605209fff", - "0x00000000000000000000000000000027bdff84bf879cf9c2869eb1ab005be4bd", - "0x0000000000000000000000000000000000218f067a48a148ca29e9b921f4fc55", - "0x000000000000000000000000000000d5f65577a8f450e344cf57db046a579119", - "0x000000000000000000000000000000000023105c23cf9dbd5c239c1cd6d1f1fe", - "0x00000000000000000000000000000044557defb858063b5f1bd325cefd8fee75", - "0x00000000000000000000000000000000002f10b7eb7fe7d1701e85ed0593d38f", - "0x00000000000000000000000000000070ab5656337d09f7c238d17bb63b72d39d", - "0x00000000000000000000000000000000000bc311ad594d8065f80297a5171e7c", - "0x00000000000000000000000000000001624c62d6b692f7703f85ea6f51a4feae", - "0x00000000000000000000000000000000001112442c8d7c259363e23d6ae0c3dd", - "0x000000000000000000000000000000fcf1d7663229cc349b968db50732e48908", - "0x00000000000000000000000000000000001e38903bf86c9ad37f0e4849ad65f4", + "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", + "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", + "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", + "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", + "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", + "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", + "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", + "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", + "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", + "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", + "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", + "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", + "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", + "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", + "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", + "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", + "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", + "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", + "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", + "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", + "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", + "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", + "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", + "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", + "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", + "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", + "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", + "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", + "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", + "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", + "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", + "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", + "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", + "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", + "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", + "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", + "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", + "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", + "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", + "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", + "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", + "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", + "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", + "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", + "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", + "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", + "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", + "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", + "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", + "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", + "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", + "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", + "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", + "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", + "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", + "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", + "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", + "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", + "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", + "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1493,9 +1493,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", - "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", - "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", - "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" + "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", + "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", + "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", + "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" ] - hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" + hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" From e06fc6f8d300204be264a3ac2ada8be08941c5b8 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Wed, 18 Feb 2026 16:26:54 +0000 Subject: [PATCH 20/24] fix toml --- .../crates/rollup-block-merge/Prover.toml | 86 +- .../Prover.toml | 16 +- .../rollup-block-root-single-tx/Prover.toml | 226 +-- .../crates/rollup-block-root/Prover.toml | 250 ++-- .../crates/rollup-checkpoint-root/Prover.toml | 1294 ++++++++--------- .../crates/rollup-tx-merge/Prover.toml | 428 +++--- .../fixtures/dumps/epoch_proof_result.json | 2 +- 7 files changed, 1151 insertions(+), 1151 deletions(-) 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 e3ac44931520..d48b28a75639 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 @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x1ac302c8ccf77ff82a4b9f7eefc5c690f51ec104fa02cf3494f4ccccb8cfd1b8" + block_headers_hash = "0x15830b3d7d2b65ffffff9050bbbfe1765c70caed5ad754b73f139479178dc300" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x0018febbd74d861e38064a4ff9d3b5ed7a39b398576ef75e104848700819a700" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -532,8 +532,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -552,7 +552,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51" + root = "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -606,33 +606,33 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x00000000000000000000000000000000000000000000000000000000000005d2" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000552" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ + "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335", "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", - "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", - "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335" + "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0" ] state = [ - "0x102f1a257e06f97cc27fe39d748c0d3f2b3b4582bf369fd33ebf5566fde83cb6", - "0x2085d8042fb334f1076f5457ffce79923cd0523b43e379da9255377ea3ff0900", - "0x2e98cd16638c9481c3490c09b27b894dd912e8f4bc90d9b1545374af7228e1fc", - "0x19422370c5aed616c0711f10a7118c484f7c1b021b4063cce3a8b7f6dc196d0e" + "0x1f20d9e3c44b95f3f4a5e57925864336d78e7fdc8ce02909626dd8cd10ebfe2c", + "0x2bae6200e024bbf79cad03fc9c469ae03f648a7151897c4fcc6c9064cd3717ba", + "0x10ad2f5a765a1bfb8baf99ec23e42984dd5b128bc20237e74e6159ca55dcf458", + "0x23e1c707b0acd40063cc3c3d9b5bbb559982644b1c597e461eafccc33e18f895" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollups.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" sibling_path = [ "0x0fccb8554fb0dbd61a736fd23f981b093660c9bda608b413a22c642467d2f8aa", - "0x24e00346a2d8c7c80519d0cbe6eeb175911bc53ddbb0abba7a5c5284304b0cea", + "0x0e7ee5d843c7d2dcdfdedc0510cad58e1b287e0d710c7081253fdcf8b835d0f0", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x0d45c7a03e574203ae94e20ccc73bd68b7acc9eb6c121bb20b4d03bf78e40709" + block_headers_hash = "0x29acd4af08bbe29df3e44312d029ba94685e07bea6d48a879451dd2701cd456a" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x00abb50b8989a7f19fd4526d43e15a1ab5d2a43af413cc8ca91e82a3c8828625" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1289,8 +1289,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -1305,11 +1305,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51" + root = "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766" + root = "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1345,39 +1345,39 @@ root = "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000000fe" [inputs.previous_rollups.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x00000000000000000000000000000000000000000000000000000000000005d2" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000552" [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ + "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335", "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", - "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", - "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335" + "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0" ] state = [ - "0x102f1a257e06f97cc27fe39d748c0d3f2b3b4582bf369fd33ebf5566fde83cb6", - "0x2085d8042fb334f1076f5457ffce79923cd0523b43e379da9255377ea3ff0900", - "0x2e98cd16638c9481c3490c09b27b894dd912e8f4bc90d9b1545374af7228e1fc", - "0x19422370c5aed616c0711f10a7118c484f7c1b021b4063cce3a8b7f6dc196d0e" + "0x1f20d9e3c44b95f3f4a5e57925864336d78e7fdc8ce02909626dd8cd10ebfe2c", + "0x2bae6200e024bbf79cad03fc9c469ae03f648a7151897c4fcc6c9064cd3717ba", + "0x10ad2f5a765a1bfb8baf99ec23e42984dd5b128bc20237e74e6159ca55dcf458", + "0x23e1c707b0acd40063cc3c3d9b5bbb559982644b1c597e461eafccc33e18f895" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000ba3" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000aa3" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", - "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" + "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", + "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670" ] state = [ - "0x1c639a20eb772ff445747ba7f38ff68d3e147dec63791c7feaed40e007c7c115", - "0x020acd7d6dc41d07f7f49d90041371c6fd8eccb326ec1d2401a9bf2c0c3d0978", - "0x260226ca0641fb3743250a17a3734f4fa0832d6b0f4bae7f2ec4fe3134355305", - "0x070eb4144ca2e4dbd68825dae3532353a7d7254050e858654791e2bfd5645fc2" + "0x0bed4544d8144454c6901241626d581d39d8e1687fc751572c630c1fe5d149d7", + "0x04e1eed045dd8feff549590a1cac15bddded1039171ba040b5aa77e4aa776a86", + "0x16d546c58a062d5ba539bc23ae56ed7647ccd34491b08212de12cbfe3040a075", + "0x08e18983382143a83e320f692bba78b3e84196dca0311188e333da77a69eb592" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.vk_data] @@ -1385,11 +1385,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 sibling_path = [ "0x1d1137ec2328042de98048857a675eed4592e6155aed990914021a7005045736", "0x0297c37260a0f73265406587d668cfb2c151d0f49599fea7415db7170aa89904", - "0x0eb5cd857b924427ee6b31184d5ff99b8e7c83a41df9f7b8631c4bd9ded7dc0f", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1e433c13a8ed575a56ea2f8d8e4813b5c9afbd95a4b6a024621c91eac6ecde90", + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml index 3bbcf04d303f..03b54ae17d62 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-empty-tx/Prover.toml @@ -517,18 +517,18 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" converted_root = "0x03e810155f954a3153337c3a534ca1df473c1a7e5ca6e78bd58de13372b5c6b4" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ - "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", + "0x08f5d18bc7027660940b5823aece2984562d128337d8e729b25e6b9d338b2817", "0x016ec951c4d9d145b83f63e58bb7714d980a6b7566ee460bf82da44e647d668b", "0x2aa0d57df3762b031a31219260febd79570fdec2aa53ff3dbd61c3fe460d31cf", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.parity_root.vk_data.vk] @@ -674,8 +674,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml index dc3b9e17580c..297dd3e79045 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml @@ -1,7 +1,7 @@ [inputs] new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0be2f2d27439cf6e33ecdaf1223d1f3126dd2998c3b917a80b6985cde0d5b8bf", + "0x10842aaafb07165d36f2b0226a3861596b8ae01a2e4a325cbd333ec11ca058ad", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", @@ -562,12 +562,12 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51" + root = "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -616,39 +616,39 @@ root = "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000000fe" [inputs.previous_rollup.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x00000000000000000000000000000000000000000000000000000000000005d2" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000552" [inputs.previous_rollup.public_inputs.start_sponge_blob.sponge] cache = [ + "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335", "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", - "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", - "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335" + "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0" ] state = [ - "0x102f1a257e06f97cc27fe39d748c0d3f2b3b4582bf369fd33ebf5566fde83cb6", - "0x2085d8042fb334f1076f5457ffce79923cd0523b43e379da9255377ea3ff0900", - "0x2e98cd16638c9481c3490c09b27b894dd912e8f4bc90d9b1545374af7228e1fc", - "0x19422370c5aed616c0711f10a7118c484f7c1b021b4063cce3a8b7f6dc196d0e" + "0x1f20d9e3c44b95f3f4a5e57925864336d78e7fdc8ce02909626dd8cd10ebfe2c", + "0x2bae6200e024bbf79cad03fc9c469ae03f648a7151897c4fcc6c9064cd3717ba", + "0x10ad2f5a765a1bfb8baf99ec23e42984dd5b128bc20237e74e6159ca55dcf458", + "0x23e1c707b0acd40063cc3c3d9b5bbb559982644b1c597e461eafccc33e18f895" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollup.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000b9d" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000a9d" [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ + "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c350" + "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x042922c82b31a2db79bc164e18e0d630efd206b0036ea5fa624b689d94a0d76f", - "0x1055b96e0b1078c5cf3d5cb310536fede55a664aca933bd4de367cbb8cc7d000", - "0x2b8303d79b5822eb32b6eda2d73b44eb363b055b43c6bd56c684d9e0dbec8269", - "0x207ceaf7fd6875f734885c589e5f03e45fa767e12fc9aaeef49a3bad248748ff" + "0x0f9f0825410d888d7166a92306e47bd51a943adc642c42cd95e22e46db008991", + "0x1bed0176666320ba7942be82d218215630a49f9e7a6f68b1757951491a50bd0e", + "0x21d1abe6b327793c01523344e68c77bcece17e979a160b3ac7bd960b258edfc5", + "0x0dba55e8b3f028bdc867aa880a27ffa4d35cd6c4e19a62a1621e10892878b08a" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollup.vk_data] @@ -657,10 +657,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollup.vk_data.vk] @@ -668,94 +668,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", - "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", - "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", - "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", - "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", - "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", - "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", - "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", - "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", - "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", - "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", - "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", - "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", - "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", - "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", - "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", - "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", - "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", - "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", - "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", - "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", - "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", - "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", - "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", + "0x000000000000000000000000000000de198fb1732a4facd18fcd6011f7179d3f", + "0x000000000000000000000000000000000004d78d08f997bc1ef1f62f40b4df92", + "0x0000000000000000000000000000001b07a7edfe73494d1e79da81185f83fc66", + "0x0000000000000000000000000000000000188d1b2565ef75d7422f6d6eeee2ff", + "0x00000000000000000000000000000030439813835d384f1e23aea4645e9dd93f", + "0x0000000000000000000000000000000000094c2068af4736a24e7eb5d055bdd3", + "0x00000000000000000000000000000071703719b23c6e80014047b4c14a36a550", + "0x00000000000000000000000000000000000e1727e41c5a5349439bee0184ab4e", + "0x000000000000000000000000000000285a9ec01e74115c1c36f068ae63fa3185", + "0x00000000000000000000000000000000002e766006110406d054e0c74e32e90a", + "0x00000000000000000000000000000095495e645c88586e13c15490ca724c1c18", + "0x00000000000000000000000000000000000383e2b0a5892840eec6fba4e78abb", + "0x00000000000000000000000000000086d1759cce624defad8b9cc4e14db8d3b2", + "0x00000000000000000000000000000000002bfb300f6d12898bc3070cb76f35a2", + "0x000000000000000000000000000000c60d6b05e00da48facd455bb99c7682ebb", + "0x00000000000000000000000000000000000d8dcd611e6c6ec135ab6781b3526c", + "0x000000000000000000000000000000d91cc7a7e4101206e5303afbcca22d7421", + "0x00000000000000000000000000000000002a18677f97c8179867ada48377d5b5", + "0x00000000000000000000000000000022ae2ce83d581b550f3bd32d1f33c47896", + "0x00000000000000000000000000000000001d95d0459f0cf17d1d87ad17d7971c", + "0x0000000000000000000000000000001ea65bc363ee6884a839a4f8caf8dedd23", + "0x000000000000000000000000000000000021411ad4210d8c68d94e68c9d855c1", + "0x0000000000000000000000000000006508af13d41a41de95ed4e6254b0c3ae40", + "0x00000000000000000000000000000000000543ce2a65c1324a4227dd9847ce5b", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", - "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", - "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", - "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", - "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", - "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", - "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", - "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", - "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", - "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", - "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", - "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", - "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", - "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", - "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", - "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", - "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", - "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", - "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", - "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", - "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", - "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", - "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", - "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", - "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", - "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", - "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", - "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", - "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", - "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", - "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", - "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", - "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", - "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", - "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", - "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", - "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", - "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", - "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", - "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", - "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", - "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", - "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", - "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", - "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", - "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", - "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", - "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", - "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", - "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", - "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", - "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", - "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", - "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", - "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", - "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", - "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", - "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", - "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", - "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", + "0x000000000000000000000000000000355c2998f398e804e730189461fb00139f", + "0x00000000000000000000000000000000000a3443a110b2522a23a03d939eeeb3", + "0x0000000000000000000000000000001f3fb12db9680f48fb1d29bbbdd4b7bc12", + "0x000000000000000000000000000000000000dcc813db2cd2e14df24a5c181e5f", + "0x000000000000000000000000000000b672d5bc0f288b4cfa0ca4dc59d3ae4bb3", + "0x0000000000000000000000000000000000267dc67679d7d2201058fc61fb5ccb", + "0x0000000000000000000000000000000786bad7d579c9f505c141a00ca7ebd8cc", + "0x00000000000000000000000000000000003003f7a872f87cf1756201ed7cb62a", + "0x0000000000000000000000000000006b168d7ac649c47a8951251e8779c0fbec", + "0x000000000000000000000000000000000003b1fab24cadb2ec2ac81021702e0c", + "0x0000000000000000000000000000003f1cb3ddf1a489eecf0e96938023de8aba", + "0x00000000000000000000000000000000001fc9d2dea0c2fb407283bba83ae068", + "0x0000000000000000000000000000000f38a8ebbfa7c2a5ebb9e387001d1cbaee", + "0x0000000000000000000000000000000000077ecfeed1399ec91b3dae718ffec1", + "0x0000000000000000000000000000005d36d493a66dab44c42b8e38cde2779b1f", + "0x000000000000000000000000000000000020e25855b65dd0d452c31500e245cd", + "0x00000000000000000000000000000042b42f7761c5d68575d3461b9f0b324d7b", + "0x000000000000000000000000000000000017d40c407912418d5f325572621c62", + "0x000000000000000000000000000000a15a56e2c293001e8d134acb4871ce1d0e", + "0x0000000000000000000000000000000000099bb554bde1b473e90684295bb635", + "0x0000000000000000000000000000008481507563e835f85ea03b451cbc8dd3f4", + "0x000000000000000000000000000000000030223f876f12d368532937c35079f4", + "0x0000000000000000000000000000004f45546300f84611dcd78027473ea0940d", + "0x00000000000000000000000000000000000c399e146a6cc96b84b7ed75ef44b5", + "0x0000000000000000000000000000007d50c24c592683a7f75c1424a2fe53fa3d", + "0x00000000000000000000000000000000002e617547a3211c1d7115433666c4e8", + "0x0000000000000000000000000000007e7ab2b0728357af4107b9d6fa5cba78e4", + "0x00000000000000000000000000000000001b1dc990733070ea702d0205caa743", + "0x00000000000000000000000000000015ef85caf42454b9559a05f35d52926f0f", + "0x0000000000000000000000000000000000215cf24eebc713dcdbfca83b81bc3f", + "0x000000000000000000000000000000b12709253feebb678acd68ab5b095161f5", + "0x000000000000000000000000000000000018525c9bf65b01a45ff2b3bb146da8", + "0x0000000000000000000000000000005759e13774c9c1a6ca8dc59e9d90dfb300", + "0x000000000000000000000000000000000028866f6c4f3a992d71fa598cf43961", + "0x0000000000000000000000000000007a239a8295775f7b5180902e6de5e26c12", + "0x000000000000000000000000000000000019acffdb9f035e7caa6bce17b6e270", + "0x0000000000000000000000000000007665dabae3fedda930fe4681cf534cb87b", + "0x0000000000000000000000000000000000177a9a590d5d85846ddea455f621e4", + "0x000000000000000000000000000000ce91975f55d6a99abfd359725b6d4ee499", + "0x000000000000000000000000000000000002e0581d0391b869169f661e24f300", + "0x000000000000000000000000000000119045390688c4a639f3d36bd4952ee441", + "0x000000000000000000000000000000000011bdb2dfeaebbd7cecda1721f49cf1", + "0x00000000000000000000000000000079bf6f47850cd633233987b14f03b55046", + "0x0000000000000000000000000000000000107ab29175f69ed7555d480ae8f152", + "0x000000000000000000000000000000acf2610fb29016ddba2880a84059508626", + "0x00000000000000000000000000000000000338875b0947ca7a610a53ab951f8c", + "0x000000000000000000000000000000a23f636f7bfd3fd354929980eb13e41723", + "0x00000000000000000000000000000000000edee532d0fb1628d4c5c8669c8867", + "0x000000000000000000000000000000bc61de8b292d6e5edbfb44729f9b1308d6", + "0x00000000000000000000000000000000000c4c8823b6becfaf42f67d77844074", + "0x000000000000000000000000000000af30263e9cf766fa25f60188eb550dcc03", + "0x0000000000000000000000000000000000272886ef3ce068ea3a692629037755", + "0x0000000000000000000000000000001a91f47e8827cae4b55ac9cdbf32fd12d3", + "0x00000000000000000000000000000000001bb1e5678f70336ffa213ed44e3d14", + "0x000000000000000000000000000000d75a994bbd189310cae9f871dac212def4", + "0x00000000000000000000000000000000001c9f5ead3e78072f82ecc21c100cc4", + "0x0000000000000000000000000000001a2a0c93ef6ea4930b07aab84809b297f5", + "0x00000000000000000000000000000000000266003e338ef6b23aa108bed42d97", + "0x000000000000000000000000000000e31442210b4ab02e40d1198f4d65d0e502", + "0x00000000000000000000000000000000000cef6cd374810b58f3bcb5c1678c6b", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -776,9 +776,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", - "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", - "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", - "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" + "0x000000000000000000000000000000db27c1b01dd18c17d277d25d9bd917782d", + "0x0000000000000000000000000000000000036a9893a89572bb3ee3ae0a968019", + "0x00000000000000000000000000000087900e14657967934e41087b942b9c33d1", + "0x0000000000000000000000000000000000061f0c485f839e86b27481692b6ad8" ] - hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" + hash = "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f" 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 10afca940461..4da265d91b9b 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 @@ -562,8 +562,8 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -634,33 +634,33 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000b9d" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000a9d" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ + "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c350" + "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x01362bfcc36c67344c7ae4a7ca3e8535c9beb0034f70547fbb6fd93b26318519", - "0x226cb50d6397b6916e14e0129eff6c0c3293833cd011e205938bdd057e3b6d85", - "0x09398314452ec6558861cd10c98b9e56acb91086219f8a1330a157e704f5b2a6", - "0x143cce481133b1f4a4475d48b0a0389c7fb1fda13e52910e14f381115b5f4217" + "0x170fb818ec00d69d99e62f173238ce1f514dd58abb39a0918136cc862539d7d7", + "0x086faf9a612b4fe1187b73753d59df1a71cc5a283e1832a7c0c5c8d12bd01a73", + "0x0e8d0c8859d84cae5d58752cfe7b881e2d09a63ec57394844c6586cc1fbec1ff", + "0x0d7851ccfb3fd02bd3bbff8dc86dc83662fda5bb634a2ceb2fd79a247781a4e2" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095", + "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1313,8 +1313,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -1367,37 +1367,37 @@ root = "0x19dde349ddf1b27d03e840caf5acf851e9dc57f3051381aa97ade96d736b8b6d" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000013d" [inputs.previous_rollups.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000b9d" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000a9d" [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ + "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c350" + "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x01362bfcc36c67344c7ae4a7ca3e8535c9beb0034f70547fbb6fd93b26318519", - "0x226cb50d6397b6916e14e0129eff6c0c3293833cd011e205938bdd057e3b6d85", - "0x09398314452ec6558861cd10c98b9e56acb91086219f8a1330a157e704f5b2a6", - "0x143cce481133b1f4a4475d48b0a0389c7fb1fda13e52910e14f381115b5f4217" + "0x170fb818ec00d69d99e62f173238ce1f514dd58abb39a0918136cc862539d7d7", + "0x086faf9a612b4fe1187b73753d59df1a71cc5a283e1832a7c0c5c8d12bd01a73", + "0x0e8d0c8859d84cae5d58752cfe7b881e2d09a63ec57394844c6586cc1fbec1ff", + "0x0d7851ccfb3fd02bd3bbff8dc86dc83662fda5bb634a2ceb2fd79a247781a4e2" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000001168" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000fe8" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000000000000000b7f9d350", "0x00000000000000000000000000000000000000000000000000000000b7f9d34e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34f" + "0x00000000000000000000000000000000000000000000000000000000b7f9d34c", + "0x00000000000000000000000000000000000000000000000000000000b7f9d34d" ] state = [ - "0x011e90d3d28e58ed220b6fe31202ecc9e1f7ab9de4edcee5ce9c5dfd04ea175d", - "0x2b784cffbf30c01c1bc1917884afe4afba011ca1b3e427e2dd5679b0d09d8927", - "0x1f4dcb7ba4bdeca1b93ccd4d1261a12c901c6740c63266ed6ddd494c2d44017c", - "0x1b0cdb1f14908c702a5622a019e6ee5c2d1701eee6c6d2800da00ede128ba8a6" + "0x2801e4a4f644ba4d22f43c30b398c827cbc05818031ad8621a480d58c6c994a4", + "0x189ffb65986aa2059a36acee2493de15b8d1918c92d6804eeed2228a01fdcf16", + "0x1bd38f9004958df026865e2fd9bedc27f04fd8b75bcad749f3d3e6c1d7f43678", + "0x293ef43fc9a88255a3e8a4b3e602121370ee453b5616eeed14a2afa55560ba55" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1408,10 +1408,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1419,94 +1419,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", - "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", - "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", - "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", - "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", - "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", - "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", - "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", - "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", - "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", - "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", - "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", - "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", - "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", - "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", - "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", - "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", - "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", - "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", - "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", - "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", - "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", - "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", - "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", + "0x000000000000000000000000000000de198fb1732a4facd18fcd6011f7179d3f", + "0x000000000000000000000000000000000004d78d08f997bc1ef1f62f40b4df92", + "0x0000000000000000000000000000001b07a7edfe73494d1e79da81185f83fc66", + "0x0000000000000000000000000000000000188d1b2565ef75d7422f6d6eeee2ff", + "0x00000000000000000000000000000030439813835d384f1e23aea4645e9dd93f", + "0x0000000000000000000000000000000000094c2068af4736a24e7eb5d055bdd3", + "0x00000000000000000000000000000071703719b23c6e80014047b4c14a36a550", + "0x00000000000000000000000000000000000e1727e41c5a5349439bee0184ab4e", + "0x000000000000000000000000000000285a9ec01e74115c1c36f068ae63fa3185", + "0x00000000000000000000000000000000002e766006110406d054e0c74e32e90a", + "0x00000000000000000000000000000095495e645c88586e13c15490ca724c1c18", + "0x00000000000000000000000000000000000383e2b0a5892840eec6fba4e78abb", + "0x00000000000000000000000000000086d1759cce624defad8b9cc4e14db8d3b2", + "0x00000000000000000000000000000000002bfb300f6d12898bc3070cb76f35a2", + "0x000000000000000000000000000000c60d6b05e00da48facd455bb99c7682ebb", + "0x00000000000000000000000000000000000d8dcd611e6c6ec135ab6781b3526c", + "0x000000000000000000000000000000d91cc7a7e4101206e5303afbcca22d7421", + "0x00000000000000000000000000000000002a18677f97c8179867ada48377d5b5", + "0x00000000000000000000000000000022ae2ce83d581b550f3bd32d1f33c47896", + "0x00000000000000000000000000000000001d95d0459f0cf17d1d87ad17d7971c", + "0x0000000000000000000000000000001ea65bc363ee6884a839a4f8caf8dedd23", + "0x000000000000000000000000000000000021411ad4210d8c68d94e68c9d855c1", + "0x0000000000000000000000000000006508af13d41a41de95ed4e6254b0c3ae40", + "0x00000000000000000000000000000000000543ce2a65c1324a4227dd9847ce5b", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", - "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", - "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", - "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", - "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", - "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", - "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", - "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", - "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", - "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", - "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", - "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", - "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", - "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", - "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", - "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", - "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", - "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", - "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", - "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", - "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", - "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", - "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", - "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", - "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", - "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", - "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", - "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", - "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", - "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", - "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", - "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", - "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", - "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", - "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", - "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", - "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", - "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", - "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", - "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", - "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", - "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", - "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", - "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", - "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", - "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", - "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", - "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", - "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", - "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", - "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", - "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", - "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", - "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", - "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", - "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", - "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", - "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", - "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", - "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", + "0x000000000000000000000000000000355c2998f398e804e730189461fb00139f", + "0x00000000000000000000000000000000000a3443a110b2522a23a03d939eeeb3", + "0x0000000000000000000000000000001f3fb12db9680f48fb1d29bbbdd4b7bc12", + "0x000000000000000000000000000000000000dcc813db2cd2e14df24a5c181e5f", + "0x000000000000000000000000000000b672d5bc0f288b4cfa0ca4dc59d3ae4bb3", + "0x0000000000000000000000000000000000267dc67679d7d2201058fc61fb5ccb", + "0x0000000000000000000000000000000786bad7d579c9f505c141a00ca7ebd8cc", + "0x00000000000000000000000000000000003003f7a872f87cf1756201ed7cb62a", + "0x0000000000000000000000000000006b168d7ac649c47a8951251e8779c0fbec", + "0x000000000000000000000000000000000003b1fab24cadb2ec2ac81021702e0c", + "0x0000000000000000000000000000003f1cb3ddf1a489eecf0e96938023de8aba", + "0x00000000000000000000000000000000001fc9d2dea0c2fb407283bba83ae068", + "0x0000000000000000000000000000000f38a8ebbfa7c2a5ebb9e387001d1cbaee", + "0x0000000000000000000000000000000000077ecfeed1399ec91b3dae718ffec1", + "0x0000000000000000000000000000005d36d493a66dab44c42b8e38cde2779b1f", + "0x000000000000000000000000000000000020e25855b65dd0d452c31500e245cd", + "0x00000000000000000000000000000042b42f7761c5d68575d3461b9f0b324d7b", + "0x000000000000000000000000000000000017d40c407912418d5f325572621c62", + "0x000000000000000000000000000000a15a56e2c293001e8d134acb4871ce1d0e", + "0x0000000000000000000000000000000000099bb554bde1b473e90684295bb635", + "0x0000000000000000000000000000008481507563e835f85ea03b451cbc8dd3f4", + "0x000000000000000000000000000000000030223f876f12d368532937c35079f4", + "0x0000000000000000000000000000004f45546300f84611dcd78027473ea0940d", + "0x00000000000000000000000000000000000c399e146a6cc96b84b7ed75ef44b5", + "0x0000000000000000000000000000007d50c24c592683a7f75c1424a2fe53fa3d", + "0x00000000000000000000000000000000002e617547a3211c1d7115433666c4e8", + "0x0000000000000000000000000000007e7ab2b0728357af4107b9d6fa5cba78e4", + "0x00000000000000000000000000000000001b1dc990733070ea702d0205caa743", + "0x00000000000000000000000000000015ef85caf42454b9559a05f35d52926f0f", + "0x0000000000000000000000000000000000215cf24eebc713dcdbfca83b81bc3f", + "0x000000000000000000000000000000b12709253feebb678acd68ab5b095161f5", + "0x000000000000000000000000000000000018525c9bf65b01a45ff2b3bb146da8", + "0x0000000000000000000000000000005759e13774c9c1a6ca8dc59e9d90dfb300", + "0x000000000000000000000000000000000028866f6c4f3a992d71fa598cf43961", + "0x0000000000000000000000000000007a239a8295775f7b5180902e6de5e26c12", + "0x000000000000000000000000000000000019acffdb9f035e7caa6bce17b6e270", + "0x0000000000000000000000000000007665dabae3fedda930fe4681cf534cb87b", + "0x0000000000000000000000000000000000177a9a590d5d85846ddea455f621e4", + "0x000000000000000000000000000000ce91975f55d6a99abfd359725b6d4ee499", + "0x000000000000000000000000000000000002e0581d0391b869169f661e24f300", + "0x000000000000000000000000000000119045390688c4a639f3d36bd4952ee441", + "0x000000000000000000000000000000000011bdb2dfeaebbd7cecda1721f49cf1", + "0x00000000000000000000000000000079bf6f47850cd633233987b14f03b55046", + "0x0000000000000000000000000000000000107ab29175f69ed7555d480ae8f152", + "0x000000000000000000000000000000acf2610fb29016ddba2880a84059508626", + "0x00000000000000000000000000000000000338875b0947ca7a610a53ab951f8c", + "0x000000000000000000000000000000a23f636f7bfd3fd354929980eb13e41723", + "0x00000000000000000000000000000000000edee532d0fb1628d4c5c8669c8867", + "0x000000000000000000000000000000bc61de8b292d6e5edbfb44729f9b1308d6", + "0x00000000000000000000000000000000000c4c8823b6becfaf42f67d77844074", + "0x000000000000000000000000000000af30263e9cf766fa25f60188eb550dcc03", + "0x0000000000000000000000000000000000272886ef3ce068ea3a692629037755", + "0x0000000000000000000000000000001a91f47e8827cae4b55ac9cdbf32fd12d3", + "0x00000000000000000000000000000000001bb1e5678f70336ffa213ed44e3d14", + "0x000000000000000000000000000000d75a994bbd189310cae9f871dac212def4", + "0x00000000000000000000000000000000001c9f5ead3e78072f82ecc21c100cc4", + "0x0000000000000000000000000000001a2a0c93ef6ea4930b07aab84809b297f5", + "0x00000000000000000000000000000000000266003e338ef6b23aa108bed42d97", + "0x000000000000000000000000000000e31442210b4ab02e40d1198f4d65d0e502", + "0x00000000000000000000000000000000000cef6cd374810b58f3bcb5c1678c6b", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1527,9 +1527,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", - "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", - "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", - "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" + "0x000000000000000000000000000000db27c1b01dd18c17d277d25d9bd917782d", + "0x0000000000000000000000000000000000036a9893a89572bb3ee3ae0a968019", + "0x00000000000000000000000000000087900e14657967934e41087b942b9c33d1", + "0x0000000000000000000000000000000000061f0c485f839e86b27481692b6ad8" ] - hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" + hash = "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml index d32778879aee..88b51ab60015 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x0b4af6c339d8708bdf95985f4a1a3a4dfde88ed6ece23f8e47ece1c8759428ea" + block_headers_hash = "0x2075ebe5d8dc3f29b8657475f73b701ada58d6eb2c27500036dc8a4e423fe77e" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x00bd3da907cbb210cd100bd369f8dd7eb04b938c69dce277dc1efea8403ed88e" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -532,8 +532,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -552,7 +552,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766" + root = "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -606,21 +606,21 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000ba3" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000aa3" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", - "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" + "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", + "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670" ] state = [ - "0x1c639a20eb772ff445747ba7f38ff68d3e147dec63791c7feaed40e007c7c115", - "0x020acd7d6dc41d07f7f49d90041371c6fd8eccb326ec1d2401a9bf2c0c3d0978", - "0x260226ca0641fb3743250a17a3734f4fa0832d6b0f4bae7f2ec4fe3134355305", - "0x070eb4144ca2e4dbd68825dae3532353a7d7254050e858654791e2bfd5645fc2" + "0x0bed4544d8144454c6901241626d581d39d8e1687fc751572c630c1fe5d149d7", + "0x04e1eed045dd8feff549590a1cac15bddded1039171ba040b5aa77e4aa776a86", + "0x16d546c58a062d5ba539bc23ae56ed7647ccd34491b08212de12cbfe3040a075", + "0x08e18983382143a83e320f692bba78b3e84196dca0311188e333da77a69eb592" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.vk_data] @@ -628,11 +628,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 sibling_path = [ "0x228e39d81bf3916b894f2c2db88adcdffa29259103dfe2e715fc7dbe7be6376c", "0x0297c37260a0f73265406587d668cfb2c151d0f49599fea7415db7170aa89904", - "0x0eb5cd857b924427ee6b31184d5ff99b8e7c83a41df9f7b8631c4bd9ded7dc0f", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1e433c13a8ed575a56ea2f8d8e4813b5c9afbd95a4b6a024621c91eac6ecde90", + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x2d516eeec1aa5330e540eb0444cef69da9557368bbb46c1e753e2d72c57cce48" + block_headers_hash = "0x1cdaca91c59be957eb7952d96d5ba6d75abece801d94fb96959c0622afd5d894" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x009be21298b4428b38b9b314446eef3243121c400edd3780e34da475ea5f17c3" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1289,8 +1289,8 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" slot_number = "0x000000000000000000000000000000000000000000000000000000000000000f" @@ -1305,11 +1305,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766" + root = "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x17a8980b06c519bc08e2408c3c51072c5a04037ee34c7ca5f330398cd8c9d6c4" + root = "0x1ee7b4ebadeaa08f4c5152a930f0d2f81203b58999f4efea51c832ef6d75bef8" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1345,25 +1345,25 @@ root = "0x19dde349ddf1b27d03e840caf5acf851e9dc57f3051381aa97ade96d736b8b6d" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000013d" [inputs.previous_rollups.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000ba3" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000aa3" [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ - "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", - "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" + "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", + "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670" ] state = [ - "0x1c639a20eb772ff445747ba7f38ff68d3e147dec63791c7feaed40e007c7c115", - "0x020acd7d6dc41d07f7f49d90041371c6fd8eccb326ec1d2401a9bf2c0c3d0978", - "0x260226ca0641fb3743250a17a3734f4fa0832d6b0f4bae7f2ec4fe3134355305", - "0x070eb4144ca2e4dbd68825dae3532353a7d7254050e858654791e2bfd5645fc2" + "0x0bed4544d8144454c6901241626d581d39d8e1687fc751572c630c1fe5d149d7", + "0x04e1eed045dd8feff549590a1cac15bddded1039171ba040b5aa77e4aa776a86", + "0x16d546c58a062d5ba539bc23ae56ed7647ccd34491b08212de12cbfe3040a075", + "0x08e18983382143a83e320f692bba78b3e84196dca0311188e333da77a69eb592" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000001174" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000ff4" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847" ] state = [ - "0x143f5e50b5c7ff8747c04d03d8c8b87c46d73e0154cff92ce4a42c05d1bcadfc", - "0x01f78f4baba95f461435dd7823848057b183121012ab1fae143874e91adb5df2", - "0x10f5787a6c10614fcaa2d1a9ff57ffce7002b1bd1547e48fde41aaed583377dd", - "0x024486f25e5d57608796d2dd28d0c317c52a7e101f7f5d6c19cace1e903d791b" + "0x064555509950ad1d6cabd93755bb7301e721ed1000a39eb1630c75244b858d56", + "0x0cb75f9a72f324918ceff3609d3d818625a35e378f4cda63fbf7cc22c8f1c0a1", + "0x1bd2d1d37143769ea117fdcafca6b2c1b0dbd1c2633dd1620f92948cf3ed8517", + "0x2f4ce6bf09a6f4bdaac239c17f73b198a88f71cb5c35f58c71a4c81fbdaf4b17" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1385,11 +1385,11 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 sibling_path = [ "0x1d1137ec2328042de98048857a675eed4592e6155aed990914021a7005045736", "0x0297c37260a0f73265406587d668cfb2c151d0f49599fea7415db7170aa89904", - "0x0eb5cd857b924427ee6b31184d5ff99b8e7c83a41df9f7b8631c4bd9ded7dc0f", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1e433c13a8ed575a56ea2f8d8e4813b5c9afbd95a4b6a024621c91eac6ecde90", + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1553,8 +1553,8 @@ new_out_hash_sibling_path = [ "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" ] blobs_fields = [ - "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x2244af3171e38d5652f0a74e5b3919cdaaba86d9abbfeeb40cfe74baf9af2dc5", + "0x00000000009c707518004000400008004000400400000000000000000000054b", + "0x2bd6b40a981a63a1cefd5648bce27f4eabffdcc2f6b4d09a53facc1702eb3c08", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7d1b000", "0x00000000000000000000000000000000000000000000000000000000b7d1b001", @@ -1820,7 +1820,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1c048", "0x00000000000000000000000000000000000000000000000000000000b7d1c03f", "0x00000000000000000000000000000000000000000000000000000000b7d1c049", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b300", "0x00000000000000000000000000000000000000000000000000000000b7d1b301", "0x00000000000000000000000000000000000000000000000000000000b7d1b302", @@ -1837,9 +1837,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b30d", "0x00000000000000000000000000000000000000000000000000000000b7d1b30e", "0x00000000000000000000000000000000000000000000000000000000b7d1b30f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b310", - "0x00000000000000000000000000000000000000000000000000000000b7d1b311", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b301", "0x00000000000000000000000000000000000000000000000000000000b7d1b302", "0x00000000000000000000000000000000000000000000000000000000b7d1b303", @@ -1856,9 +1854,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b30e", "0x00000000000000000000000000000000000000000000000000000000b7d1b30f", "0x00000000000000000000000000000000000000000000000000000000b7d1b310", - "0x00000000000000000000000000000000000000000000000000000000b7d1b311", - "0x00000000000000000000000000000000000000000000000000000000b7d1b312", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b302", "0x00000000000000000000000000000000000000000000000000000000b7d1b303", "0x00000000000000000000000000000000000000000000000000000000b7d1b304", @@ -1875,9 +1871,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b30f", "0x00000000000000000000000000000000000000000000000000000000b7d1b310", "0x00000000000000000000000000000000000000000000000000000000b7d1b311", - "0x00000000000000000000000000000000000000000000000000000000b7d1b312", - "0x00000000000000000000000000000000000000000000000000000000b7d1b313", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b303", "0x00000000000000000000000000000000000000000000000000000000b7d1b304", "0x00000000000000000000000000000000000000000000000000000000b7d1b305", @@ -1894,9 +1888,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b310", "0x00000000000000000000000000000000000000000000000000000000b7d1b311", "0x00000000000000000000000000000000000000000000000000000000b7d1b312", - "0x00000000000000000000000000000000000000000000000000000000b7d1b313", - "0x00000000000000000000000000000000000000000000000000000000b7d1b314", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b304", "0x00000000000000000000000000000000000000000000000000000000b7d1b305", "0x00000000000000000000000000000000000000000000000000000000b7d1b306", @@ -1913,9 +1905,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b311", "0x00000000000000000000000000000000000000000000000000000000b7d1b312", "0x00000000000000000000000000000000000000000000000000000000b7d1b313", - "0x00000000000000000000000000000000000000000000000000000000b7d1b314", - "0x00000000000000000000000000000000000000000000000000000000b7d1b315", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b305", "0x00000000000000000000000000000000000000000000000000000000b7d1b306", "0x00000000000000000000000000000000000000000000000000000000b7d1b307", @@ -1932,9 +1922,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b312", "0x00000000000000000000000000000000000000000000000000000000b7d1b313", "0x00000000000000000000000000000000000000000000000000000000b7d1b314", - "0x00000000000000000000000000000000000000000000000000000000b7d1b315", - "0x00000000000000000000000000000000000000000000000000000000b7d1b316", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b306", "0x00000000000000000000000000000000000000000000000000000000b7d1b307", "0x00000000000000000000000000000000000000000000000000000000b7d1b308", @@ -1951,9 +1939,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b313", "0x00000000000000000000000000000000000000000000000000000000b7d1b314", "0x00000000000000000000000000000000000000000000000000000000b7d1b315", - "0x00000000000000000000000000000000000000000000000000000000b7d1b316", - "0x00000000000000000000000000000000000000000000000000000000b7d1b317", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b307", "0x00000000000000000000000000000000000000000000000000000000b7d1b308", "0x00000000000000000000000000000000000000000000000000000000b7d1b309", @@ -1970,9 +1956,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b314", "0x00000000000000000000000000000000000000000000000000000000b7d1b315", "0x00000000000000000000000000000000000000000000000000000000b7d1b316", - "0x00000000000000000000000000000000000000000000000000000000b7d1b317", - "0x00000000000000000000000000000000000000000000000000000000b7d1b318", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b308", "0x00000000000000000000000000000000000000000000000000000000b7d1b309", "0x00000000000000000000000000000000000000000000000000000000b7d1b30a", @@ -1989,9 +1973,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b315", "0x00000000000000000000000000000000000000000000000000000000b7d1b316", "0x00000000000000000000000000000000000000000000000000000000b7d1b317", - "0x00000000000000000000000000000000000000000000000000000000b7d1b318", - "0x00000000000000000000000000000000000000000000000000000000b7d1b319", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b309", "0x00000000000000000000000000000000000000000000000000000000b7d1b30a", "0x00000000000000000000000000000000000000000000000000000000b7d1b30b", @@ -2008,9 +1990,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b316", "0x00000000000000000000000000000000000000000000000000000000b7d1b317", "0x00000000000000000000000000000000000000000000000000000000b7d1b318", - "0x00000000000000000000000000000000000000000000000000000000b7d1b319", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b30a", "0x00000000000000000000000000000000000000000000000000000000b7d1b30b", "0x00000000000000000000000000000000000000000000000000000000b7d1b30c", @@ -2027,9 +2007,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b317", "0x00000000000000000000000000000000000000000000000000000000b7d1b318", "0x00000000000000000000000000000000000000000000000000000000b7d1b319", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b30b", "0x00000000000000000000000000000000000000000000000000000000b7d1b30c", "0x00000000000000000000000000000000000000000000000000000000b7d1b30d", @@ -2046,9 +2024,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b318", "0x00000000000000000000000000000000000000000000000000000000b7d1b319", "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b30c", "0x00000000000000000000000000000000000000000000000000000000b7d1b30d", "0x00000000000000000000000000000000000000000000000000000000b7d1b30e", @@ -2065,9 +2041,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b319", "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b30d", "0x00000000000000000000000000000000000000000000000000000000b7d1b30e", "0x00000000000000000000000000000000000000000000000000000000b7d1b30f", @@ -2084,9 +2058,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b30e", "0x00000000000000000000000000000000000000000000000000000000b7d1b30f", "0x00000000000000000000000000000000000000000000000000000000b7d1b310", @@ -2103,9 +2075,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b30f", "0x00000000000000000000000000000000000000000000000000000000b7d1b310", "0x00000000000000000000000000000000000000000000000000000000b7d1b311", @@ -2122,9 +2092,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b320", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b310", "0x00000000000000000000000000000000000000000000000000000000b7d1b311", "0x00000000000000000000000000000000000000000000000000000000b7d1b312", @@ -2141,9 +2109,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b320", - "0x00000000000000000000000000000000000000000000000000000000b7d1b321", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b311", "0x00000000000000000000000000000000000000000000000000000000b7d1b312", "0x00000000000000000000000000000000000000000000000000000000b7d1b313", @@ -2160,9 +2126,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", "0x00000000000000000000000000000000000000000000000000000000b7d1b320", - "0x00000000000000000000000000000000000000000000000000000000b7d1b321", - "0x00000000000000000000000000000000000000000000000000000000b7d1b322", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b312", "0x00000000000000000000000000000000000000000000000000000000b7d1b313", "0x00000000000000000000000000000000000000000000000000000000b7d1b314", @@ -2179,9 +2143,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", "0x00000000000000000000000000000000000000000000000000000000b7d1b320", "0x00000000000000000000000000000000000000000000000000000000b7d1b321", - "0x00000000000000000000000000000000000000000000000000000000b7d1b322", - "0x00000000000000000000000000000000000000000000000000000000b7d1b323", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b313", "0x00000000000000000000000000000000000000000000000000000000b7d1b314", "0x00000000000000000000000000000000000000000000000000000000b7d1b315", @@ -2198,9 +2160,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b320", "0x00000000000000000000000000000000000000000000000000000000b7d1b321", "0x00000000000000000000000000000000000000000000000000000000b7d1b322", - "0x00000000000000000000000000000000000000000000000000000000b7d1b323", - "0x00000000000000000000000000000000000000000000000000000000b7d1b324", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b314", "0x00000000000000000000000000000000000000000000000000000000b7d1b315", "0x00000000000000000000000000000000000000000000000000000000b7d1b316", @@ -2217,9 +2177,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b321", "0x00000000000000000000000000000000000000000000000000000000b7d1b322", "0x00000000000000000000000000000000000000000000000000000000b7d1b323", - "0x00000000000000000000000000000000000000000000000000000000b7d1b324", - "0x00000000000000000000000000000000000000000000000000000000b7d1b325", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b315", "0x00000000000000000000000000000000000000000000000000000000b7d1b316", "0x00000000000000000000000000000000000000000000000000000000b7d1b317", @@ -2236,9 +2194,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b322", "0x00000000000000000000000000000000000000000000000000000000b7d1b323", "0x00000000000000000000000000000000000000000000000000000000b7d1b324", - "0x00000000000000000000000000000000000000000000000000000000b7d1b325", - "0x00000000000000000000000000000000000000000000000000000000b7d1b326", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b316", "0x00000000000000000000000000000000000000000000000000000000b7d1b317", "0x00000000000000000000000000000000000000000000000000000000b7d1b318", @@ -2255,9 +2211,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b323", "0x00000000000000000000000000000000000000000000000000000000b7d1b324", "0x00000000000000000000000000000000000000000000000000000000b7d1b325", - "0x00000000000000000000000000000000000000000000000000000000b7d1b326", - "0x00000000000000000000000000000000000000000000000000000000b7d1b327", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b317", "0x00000000000000000000000000000000000000000000000000000000b7d1b318", "0x00000000000000000000000000000000000000000000000000000000b7d1b319", @@ -2274,9 +2228,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b324", "0x00000000000000000000000000000000000000000000000000000000b7d1b325", "0x00000000000000000000000000000000000000000000000000000000b7d1b326", - "0x00000000000000000000000000000000000000000000000000000000b7d1b327", - "0x00000000000000000000000000000000000000000000000000000000b7d1b328", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b318", "0x00000000000000000000000000000000000000000000000000000000b7d1b319", "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", @@ -2293,9 +2245,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b325", "0x00000000000000000000000000000000000000000000000000000000b7d1b326", "0x00000000000000000000000000000000000000000000000000000000b7d1b327", - "0x00000000000000000000000000000000000000000000000000000000b7d1b328", - "0x00000000000000000000000000000000000000000000000000000000b7d1b329", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b319", "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", @@ -2312,9 +2262,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b326", "0x00000000000000000000000000000000000000000000000000000000b7d1b327", "0x00000000000000000000000000000000000000000000000000000000b7d1b328", - "0x00000000000000000000000000000000000000000000000000000000b7d1b329", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b31a", "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", @@ -2331,9 +2279,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b327", "0x00000000000000000000000000000000000000000000000000000000b7d1b328", "0x00000000000000000000000000000000000000000000000000000000b7d1b329", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b31b", "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", @@ -2350,9 +2296,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b328", "0x00000000000000000000000000000000000000000000000000000000b7d1b329", "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b31c", "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", @@ -2369,9 +2313,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b329", "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b31d", "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", @@ -2388,9 +2330,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b31e", "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", "0x00000000000000000000000000000000000000000000000000000000b7d1b320", @@ -2407,9 +2347,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b31f", "0x00000000000000000000000000000000000000000000000000000000b7d1b320", "0x00000000000000000000000000000000000000000000000000000000b7d1b321", @@ -2426,9 +2364,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b330", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b320", "0x00000000000000000000000000000000000000000000000000000000b7d1b321", "0x00000000000000000000000000000000000000000000000000000000b7d1b322", @@ -2445,9 +2381,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b330", - "0x00000000000000000000000000000000000000000000000000000000b7d1b331", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b321", "0x00000000000000000000000000000000000000000000000000000000b7d1b322", "0x00000000000000000000000000000000000000000000000000000000b7d1b323", @@ -2464,9 +2398,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", "0x00000000000000000000000000000000000000000000000000000000b7d1b330", - "0x00000000000000000000000000000000000000000000000000000000b7d1b331", - "0x00000000000000000000000000000000000000000000000000000000b7d1b332", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b322", "0x00000000000000000000000000000000000000000000000000000000b7d1b323", "0x00000000000000000000000000000000000000000000000000000000b7d1b324", @@ -2483,9 +2415,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", "0x00000000000000000000000000000000000000000000000000000000b7d1b330", "0x00000000000000000000000000000000000000000000000000000000b7d1b331", - "0x00000000000000000000000000000000000000000000000000000000b7d1b332", - "0x00000000000000000000000000000000000000000000000000000000b7d1b333", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b323", "0x00000000000000000000000000000000000000000000000000000000b7d1b324", "0x00000000000000000000000000000000000000000000000000000000b7d1b325", @@ -2502,9 +2432,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b330", "0x00000000000000000000000000000000000000000000000000000000b7d1b331", "0x00000000000000000000000000000000000000000000000000000000b7d1b332", - "0x00000000000000000000000000000000000000000000000000000000b7d1b333", - "0x00000000000000000000000000000000000000000000000000000000b7d1b334", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b324", "0x00000000000000000000000000000000000000000000000000000000b7d1b325", "0x00000000000000000000000000000000000000000000000000000000b7d1b326", @@ -2521,9 +2449,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b331", "0x00000000000000000000000000000000000000000000000000000000b7d1b332", "0x00000000000000000000000000000000000000000000000000000000b7d1b333", - "0x00000000000000000000000000000000000000000000000000000000b7d1b334", - "0x00000000000000000000000000000000000000000000000000000000b7d1b335", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b325", "0x00000000000000000000000000000000000000000000000000000000b7d1b326", "0x00000000000000000000000000000000000000000000000000000000b7d1b327", @@ -2540,9 +2466,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b332", "0x00000000000000000000000000000000000000000000000000000000b7d1b333", "0x00000000000000000000000000000000000000000000000000000000b7d1b334", - "0x00000000000000000000000000000000000000000000000000000000b7d1b335", - "0x00000000000000000000000000000000000000000000000000000000b7d1b336", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b326", "0x00000000000000000000000000000000000000000000000000000000b7d1b327", "0x00000000000000000000000000000000000000000000000000000000b7d1b328", @@ -2559,9 +2483,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b333", "0x00000000000000000000000000000000000000000000000000000000b7d1b334", "0x00000000000000000000000000000000000000000000000000000000b7d1b335", - "0x00000000000000000000000000000000000000000000000000000000b7d1b336", - "0x00000000000000000000000000000000000000000000000000000000b7d1b337", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b327", "0x00000000000000000000000000000000000000000000000000000000b7d1b328", "0x00000000000000000000000000000000000000000000000000000000b7d1b329", @@ -2578,9 +2500,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b334", "0x00000000000000000000000000000000000000000000000000000000b7d1b335", "0x00000000000000000000000000000000000000000000000000000000b7d1b336", - "0x00000000000000000000000000000000000000000000000000000000b7d1b337", - "0x00000000000000000000000000000000000000000000000000000000b7d1b338", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b328", "0x00000000000000000000000000000000000000000000000000000000b7d1b329", "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", @@ -2597,9 +2517,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b335", "0x00000000000000000000000000000000000000000000000000000000b7d1b336", "0x00000000000000000000000000000000000000000000000000000000b7d1b337", - "0x00000000000000000000000000000000000000000000000000000000b7d1b338", - "0x00000000000000000000000000000000000000000000000000000000b7d1b339", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b329", "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", @@ -2616,9 +2534,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b336", "0x00000000000000000000000000000000000000000000000000000000b7d1b337", "0x00000000000000000000000000000000000000000000000000000000b7d1b338", - "0x00000000000000000000000000000000000000000000000000000000b7d1b339", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b32a", "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", @@ -2635,9 +2551,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b337", "0x00000000000000000000000000000000000000000000000000000000b7d1b338", "0x00000000000000000000000000000000000000000000000000000000b7d1b339", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b32b", "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", @@ -2654,9 +2568,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b338", "0x00000000000000000000000000000000000000000000000000000000b7d1b339", "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b32c", "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", @@ -2673,9 +2585,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b339", "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b32d", "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", @@ -2692,9 +2602,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b32e", "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", "0x00000000000000000000000000000000000000000000000000000000b7d1b330", @@ -2711,9 +2619,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b32f", "0x00000000000000000000000000000000000000000000000000000000b7d1b330", "0x00000000000000000000000000000000000000000000000000000000b7d1b331", @@ -2730,9 +2636,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b340", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b330", "0x00000000000000000000000000000000000000000000000000000000b7d1b331", "0x00000000000000000000000000000000000000000000000000000000b7d1b332", @@ -2749,9 +2653,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b340", - "0x00000000000000000000000000000000000000000000000000000000b7d1b341", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b331", "0x00000000000000000000000000000000000000000000000000000000b7d1b332", "0x00000000000000000000000000000000000000000000000000000000b7d1b333", @@ -2768,9 +2670,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", "0x00000000000000000000000000000000000000000000000000000000b7d1b340", - "0x00000000000000000000000000000000000000000000000000000000b7d1b341", - "0x00000000000000000000000000000000000000000000000000000000b7d1b342", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b332", "0x00000000000000000000000000000000000000000000000000000000b7d1b333", "0x00000000000000000000000000000000000000000000000000000000b7d1b334", @@ -2787,9 +2687,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", "0x00000000000000000000000000000000000000000000000000000000b7d1b340", "0x00000000000000000000000000000000000000000000000000000000b7d1b341", - "0x00000000000000000000000000000000000000000000000000000000b7d1b342", - "0x00000000000000000000000000000000000000000000000000000000b7d1b343", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b333", "0x00000000000000000000000000000000000000000000000000000000b7d1b334", "0x00000000000000000000000000000000000000000000000000000000b7d1b335", @@ -2806,9 +2704,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b340", "0x00000000000000000000000000000000000000000000000000000000b7d1b341", "0x00000000000000000000000000000000000000000000000000000000b7d1b342", - "0x00000000000000000000000000000000000000000000000000000000b7d1b343", - "0x00000000000000000000000000000000000000000000000000000000b7d1b344", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b334", "0x00000000000000000000000000000000000000000000000000000000b7d1b335", "0x00000000000000000000000000000000000000000000000000000000b7d1b336", @@ -2825,9 +2721,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b341", "0x00000000000000000000000000000000000000000000000000000000b7d1b342", "0x00000000000000000000000000000000000000000000000000000000b7d1b343", - "0x00000000000000000000000000000000000000000000000000000000b7d1b344", - "0x00000000000000000000000000000000000000000000000000000000b7d1b345", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b335", "0x00000000000000000000000000000000000000000000000000000000b7d1b336", "0x00000000000000000000000000000000000000000000000000000000b7d1b337", @@ -2844,9 +2738,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b342", "0x00000000000000000000000000000000000000000000000000000000b7d1b343", "0x00000000000000000000000000000000000000000000000000000000b7d1b344", - "0x00000000000000000000000000000000000000000000000000000000b7d1b345", - "0x00000000000000000000000000000000000000000000000000000000b7d1b346", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b336", "0x00000000000000000000000000000000000000000000000000000000b7d1b337", "0x00000000000000000000000000000000000000000000000000000000b7d1b338", @@ -2863,9 +2755,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b343", "0x00000000000000000000000000000000000000000000000000000000b7d1b344", "0x00000000000000000000000000000000000000000000000000000000b7d1b345", - "0x00000000000000000000000000000000000000000000000000000000b7d1b346", - "0x00000000000000000000000000000000000000000000000000000000b7d1b347", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b337", "0x00000000000000000000000000000000000000000000000000000000b7d1b338", "0x00000000000000000000000000000000000000000000000000000000b7d1b339", @@ -2882,9 +2772,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b344", "0x00000000000000000000000000000000000000000000000000000000b7d1b345", "0x00000000000000000000000000000000000000000000000000000000b7d1b346", - "0x00000000000000000000000000000000000000000000000000000000b7d1b347", - "0x00000000000000000000000000000000000000000000000000000000b7d1b348", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b338", "0x00000000000000000000000000000000000000000000000000000000b7d1b339", "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", @@ -2901,9 +2789,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b345", "0x00000000000000000000000000000000000000000000000000000000b7d1b346", "0x00000000000000000000000000000000000000000000000000000000b7d1b347", - "0x00000000000000000000000000000000000000000000000000000000b7d1b348", - "0x00000000000000000000000000000000000000000000000000000000b7d1b349", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b339", "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", @@ -2920,9 +2806,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b346", "0x00000000000000000000000000000000000000000000000000000000b7d1b347", "0x00000000000000000000000000000000000000000000000000000000b7d1b348", - "0x00000000000000000000000000000000000000000000000000000000b7d1b349", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b33a", "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", @@ -2939,9 +2823,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b347", "0x00000000000000000000000000000000000000000000000000000000b7d1b348", "0x00000000000000000000000000000000000000000000000000000000b7d1b349", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b33b", "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", @@ -2958,9 +2840,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b348", "0x00000000000000000000000000000000000000000000000000000000b7d1b349", "0x00000000000000000000000000000000000000000000000000000000b7d1b34a", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b33c", "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", @@ -2977,9 +2857,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b349", "0x00000000000000000000000000000000000000000000000000000000b7d1b34a", "0x00000000000000000000000000000000000000000000000000000000b7d1b34b", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b33d", "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", @@ -2996,9 +2874,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b34a", "0x00000000000000000000000000000000000000000000000000000000b7d1b34b", "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b33e", "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", "0x00000000000000000000000000000000000000000000000000000000b7d1b340", @@ -3015,9 +2891,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b34b", "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", "0x00000000000000000000000000000000000000000000000000000000b7d1b34d", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7d1b33f", "0x00000000000000000000000000000000000000000000000000000000b7d1b340", "0x00000000000000000000000000000000000000000000000000000000b7d1b341", @@ -3034,8 +2908,6 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", "0x00000000000000000000000000000000000000000000000000000000b7d1b34d", "0x00000000000000000000000000000000000000000000000000000000b7d1b34e", - "0x00000000000000000000000000000000000000000000000000000000b7d1b34f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000010001", "0x0000000000000000004000000000010000000000c000000000bf000000000000", "0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4", @@ -3043,8 +2915,8 @@ blobs_fields = [ "0x05aff009f765a02514d64c2921564c95e62e3bd9f915151c3d14efe22b05d335", "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", - "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x25e1667b2cef06f27392746cd4f1bb350f5e0bdd1c02551ca42f376e9d1495c2", + "0x00000000009c707518004000400008004000400400000000000000000000054b", + "0x24529a4b58ece9986bdad3d4f8e30bc57ba90c620a3c1040ceaa25bd84273818", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7e5c000", "0x00000000000000000000000000000000000000000000000000000000b7e5c001", @@ -3310,7 +3182,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5d048", "0x00000000000000000000000000000000000000000000000000000000b7e5d03f", "0x00000000000000000000000000000000000000000000000000000000b7e5d049", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c300", "0x00000000000000000000000000000000000000000000000000000000b7e5c301", "0x00000000000000000000000000000000000000000000000000000000b7e5c302", @@ -3327,9 +3199,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c30d", "0x00000000000000000000000000000000000000000000000000000000b7e5c30e", "0x00000000000000000000000000000000000000000000000000000000b7e5c30f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c310", - "0x00000000000000000000000000000000000000000000000000000000b7e5c311", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c301", "0x00000000000000000000000000000000000000000000000000000000b7e5c302", "0x00000000000000000000000000000000000000000000000000000000b7e5c303", @@ -3346,9 +3216,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c30e", "0x00000000000000000000000000000000000000000000000000000000b7e5c30f", "0x00000000000000000000000000000000000000000000000000000000b7e5c310", - "0x00000000000000000000000000000000000000000000000000000000b7e5c311", - "0x00000000000000000000000000000000000000000000000000000000b7e5c312", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c302", "0x00000000000000000000000000000000000000000000000000000000b7e5c303", "0x00000000000000000000000000000000000000000000000000000000b7e5c304", @@ -3365,9 +3233,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c30f", "0x00000000000000000000000000000000000000000000000000000000b7e5c310", "0x00000000000000000000000000000000000000000000000000000000b7e5c311", - "0x00000000000000000000000000000000000000000000000000000000b7e5c312", - "0x00000000000000000000000000000000000000000000000000000000b7e5c313", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c303", "0x00000000000000000000000000000000000000000000000000000000b7e5c304", "0x00000000000000000000000000000000000000000000000000000000b7e5c305", @@ -3384,9 +3250,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c310", "0x00000000000000000000000000000000000000000000000000000000b7e5c311", "0x00000000000000000000000000000000000000000000000000000000b7e5c312", - "0x00000000000000000000000000000000000000000000000000000000b7e5c313", - "0x00000000000000000000000000000000000000000000000000000000b7e5c314", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c304", "0x00000000000000000000000000000000000000000000000000000000b7e5c305", "0x00000000000000000000000000000000000000000000000000000000b7e5c306", @@ -3403,9 +3267,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c311", "0x00000000000000000000000000000000000000000000000000000000b7e5c312", "0x00000000000000000000000000000000000000000000000000000000b7e5c313", - "0x00000000000000000000000000000000000000000000000000000000b7e5c314", - "0x00000000000000000000000000000000000000000000000000000000b7e5c315", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c305", "0x00000000000000000000000000000000000000000000000000000000b7e5c306", "0x00000000000000000000000000000000000000000000000000000000b7e5c307", @@ -3422,9 +3284,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c312", "0x00000000000000000000000000000000000000000000000000000000b7e5c313", "0x00000000000000000000000000000000000000000000000000000000b7e5c314", - "0x00000000000000000000000000000000000000000000000000000000b7e5c315", - "0x00000000000000000000000000000000000000000000000000000000b7e5c316", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c306", "0x00000000000000000000000000000000000000000000000000000000b7e5c307", "0x00000000000000000000000000000000000000000000000000000000b7e5c308", @@ -3441,9 +3301,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c313", "0x00000000000000000000000000000000000000000000000000000000b7e5c314", "0x00000000000000000000000000000000000000000000000000000000b7e5c315", - "0x00000000000000000000000000000000000000000000000000000000b7e5c316", - "0x00000000000000000000000000000000000000000000000000000000b7e5c317", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c307", "0x00000000000000000000000000000000000000000000000000000000b7e5c308", "0x00000000000000000000000000000000000000000000000000000000b7e5c309", @@ -3460,9 +3318,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c314", "0x00000000000000000000000000000000000000000000000000000000b7e5c315", "0x00000000000000000000000000000000000000000000000000000000b7e5c316", - "0x00000000000000000000000000000000000000000000000000000000b7e5c317", - "0x00000000000000000000000000000000000000000000000000000000b7e5c318", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c308", "0x00000000000000000000000000000000000000000000000000000000b7e5c309", "0x00000000000000000000000000000000000000000000000000000000b7e5c30a", @@ -3479,9 +3335,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c315", "0x00000000000000000000000000000000000000000000000000000000b7e5c316", "0x00000000000000000000000000000000000000000000000000000000b7e5c317", - "0x00000000000000000000000000000000000000000000000000000000b7e5c318", - "0x00000000000000000000000000000000000000000000000000000000b7e5c319", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c309", "0x00000000000000000000000000000000000000000000000000000000b7e5c30a", "0x00000000000000000000000000000000000000000000000000000000b7e5c30b", @@ -3498,9 +3352,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c316", "0x00000000000000000000000000000000000000000000000000000000b7e5c317", "0x00000000000000000000000000000000000000000000000000000000b7e5c318", - "0x00000000000000000000000000000000000000000000000000000000b7e5c319", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c30a", "0x00000000000000000000000000000000000000000000000000000000b7e5c30b", "0x00000000000000000000000000000000000000000000000000000000b7e5c30c", @@ -3517,9 +3369,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c317", "0x00000000000000000000000000000000000000000000000000000000b7e5c318", "0x00000000000000000000000000000000000000000000000000000000b7e5c319", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c30b", "0x00000000000000000000000000000000000000000000000000000000b7e5c30c", "0x00000000000000000000000000000000000000000000000000000000b7e5c30d", @@ -3536,9 +3386,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c318", "0x00000000000000000000000000000000000000000000000000000000b7e5c319", "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c30c", "0x00000000000000000000000000000000000000000000000000000000b7e5c30d", "0x00000000000000000000000000000000000000000000000000000000b7e5c30e", @@ -3555,9 +3403,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c319", "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c30d", "0x00000000000000000000000000000000000000000000000000000000b7e5c30e", "0x00000000000000000000000000000000000000000000000000000000b7e5c30f", @@ -3574,9 +3420,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c30e", "0x00000000000000000000000000000000000000000000000000000000b7e5c30f", "0x00000000000000000000000000000000000000000000000000000000b7e5c310", @@ -3593,9 +3437,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c30f", "0x00000000000000000000000000000000000000000000000000000000b7e5c310", "0x00000000000000000000000000000000000000000000000000000000b7e5c311", @@ -3612,9 +3454,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c320", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c310", "0x00000000000000000000000000000000000000000000000000000000b7e5c311", "0x00000000000000000000000000000000000000000000000000000000b7e5c312", @@ -3631,9 +3471,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c320", - "0x00000000000000000000000000000000000000000000000000000000b7e5c321", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c311", "0x00000000000000000000000000000000000000000000000000000000b7e5c312", "0x00000000000000000000000000000000000000000000000000000000b7e5c313", @@ -3650,9 +3488,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", "0x00000000000000000000000000000000000000000000000000000000b7e5c320", - "0x00000000000000000000000000000000000000000000000000000000b7e5c321", - "0x00000000000000000000000000000000000000000000000000000000b7e5c322", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c312", "0x00000000000000000000000000000000000000000000000000000000b7e5c313", "0x00000000000000000000000000000000000000000000000000000000b7e5c314", @@ -3669,9 +3505,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", "0x00000000000000000000000000000000000000000000000000000000b7e5c320", "0x00000000000000000000000000000000000000000000000000000000b7e5c321", - "0x00000000000000000000000000000000000000000000000000000000b7e5c322", - "0x00000000000000000000000000000000000000000000000000000000b7e5c323", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c313", "0x00000000000000000000000000000000000000000000000000000000b7e5c314", "0x00000000000000000000000000000000000000000000000000000000b7e5c315", @@ -3688,9 +3522,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c320", "0x00000000000000000000000000000000000000000000000000000000b7e5c321", "0x00000000000000000000000000000000000000000000000000000000b7e5c322", - "0x00000000000000000000000000000000000000000000000000000000b7e5c323", - "0x00000000000000000000000000000000000000000000000000000000b7e5c324", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c314", "0x00000000000000000000000000000000000000000000000000000000b7e5c315", "0x00000000000000000000000000000000000000000000000000000000b7e5c316", @@ -3707,9 +3539,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c321", "0x00000000000000000000000000000000000000000000000000000000b7e5c322", "0x00000000000000000000000000000000000000000000000000000000b7e5c323", - "0x00000000000000000000000000000000000000000000000000000000b7e5c324", - "0x00000000000000000000000000000000000000000000000000000000b7e5c325", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c315", "0x00000000000000000000000000000000000000000000000000000000b7e5c316", "0x00000000000000000000000000000000000000000000000000000000b7e5c317", @@ -3726,9 +3556,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c322", "0x00000000000000000000000000000000000000000000000000000000b7e5c323", "0x00000000000000000000000000000000000000000000000000000000b7e5c324", - "0x00000000000000000000000000000000000000000000000000000000b7e5c325", - "0x00000000000000000000000000000000000000000000000000000000b7e5c326", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c316", "0x00000000000000000000000000000000000000000000000000000000b7e5c317", "0x00000000000000000000000000000000000000000000000000000000b7e5c318", @@ -3745,9 +3573,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c323", "0x00000000000000000000000000000000000000000000000000000000b7e5c324", "0x00000000000000000000000000000000000000000000000000000000b7e5c325", - "0x00000000000000000000000000000000000000000000000000000000b7e5c326", - "0x00000000000000000000000000000000000000000000000000000000b7e5c327", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c317", "0x00000000000000000000000000000000000000000000000000000000b7e5c318", "0x00000000000000000000000000000000000000000000000000000000b7e5c319", @@ -3764,9 +3590,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c324", "0x00000000000000000000000000000000000000000000000000000000b7e5c325", "0x00000000000000000000000000000000000000000000000000000000b7e5c326", - "0x00000000000000000000000000000000000000000000000000000000b7e5c327", - "0x00000000000000000000000000000000000000000000000000000000b7e5c328", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c318", "0x00000000000000000000000000000000000000000000000000000000b7e5c319", "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", @@ -3783,9 +3607,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c325", "0x00000000000000000000000000000000000000000000000000000000b7e5c326", "0x00000000000000000000000000000000000000000000000000000000b7e5c327", - "0x00000000000000000000000000000000000000000000000000000000b7e5c328", - "0x00000000000000000000000000000000000000000000000000000000b7e5c329", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c319", "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", @@ -3802,9 +3624,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c326", "0x00000000000000000000000000000000000000000000000000000000b7e5c327", "0x00000000000000000000000000000000000000000000000000000000b7e5c328", - "0x00000000000000000000000000000000000000000000000000000000b7e5c329", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c31a", "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", @@ -3821,9 +3641,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c327", "0x00000000000000000000000000000000000000000000000000000000b7e5c328", "0x00000000000000000000000000000000000000000000000000000000b7e5c329", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c31b", "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", @@ -3840,9 +3658,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c328", "0x00000000000000000000000000000000000000000000000000000000b7e5c329", "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c31c", "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", @@ -3859,9 +3675,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c329", "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c31d", "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", @@ -3878,9 +3692,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c31e", "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", "0x00000000000000000000000000000000000000000000000000000000b7e5c320", @@ -3897,9 +3709,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c31f", "0x00000000000000000000000000000000000000000000000000000000b7e5c320", "0x00000000000000000000000000000000000000000000000000000000b7e5c321", @@ -3916,9 +3726,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c330", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c320", "0x00000000000000000000000000000000000000000000000000000000b7e5c321", "0x00000000000000000000000000000000000000000000000000000000b7e5c322", @@ -3935,9 +3743,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c330", - "0x00000000000000000000000000000000000000000000000000000000b7e5c331", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c321", "0x00000000000000000000000000000000000000000000000000000000b7e5c322", "0x00000000000000000000000000000000000000000000000000000000b7e5c323", @@ -3954,9 +3760,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", "0x00000000000000000000000000000000000000000000000000000000b7e5c330", - "0x00000000000000000000000000000000000000000000000000000000b7e5c331", - "0x00000000000000000000000000000000000000000000000000000000b7e5c332", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c322", "0x00000000000000000000000000000000000000000000000000000000b7e5c323", "0x00000000000000000000000000000000000000000000000000000000b7e5c324", @@ -3973,9 +3777,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", "0x00000000000000000000000000000000000000000000000000000000b7e5c330", "0x00000000000000000000000000000000000000000000000000000000b7e5c331", - "0x00000000000000000000000000000000000000000000000000000000b7e5c332", - "0x00000000000000000000000000000000000000000000000000000000b7e5c333", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c323", "0x00000000000000000000000000000000000000000000000000000000b7e5c324", "0x00000000000000000000000000000000000000000000000000000000b7e5c325", @@ -3992,9 +3794,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c330", "0x00000000000000000000000000000000000000000000000000000000b7e5c331", "0x00000000000000000000000000000000000000000000000000000000b7e5c332", - "0x00000000000000000000000000000000000000000000000000000000b7e5c333", - "0x00000000000000000000000000000000000000000000000000000000b7e5c334", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c324", "0x00000000000000000000000000000000000000000000000000000000b7e5c325", "0x00000000000000000000000000000000000000000000000000000000b7e5c326", @@ -4011,9 +3811,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c331", "0x00000000000000000000000000000000000000000000000000000000b7e5c332", "0x00000000000000000000000000000000000000000000000000000000b7e5c333", - "0x00000000000000000000000000000000000000000000000000000000b7e5c334", - "0x00000000000000000000000000000000000000000000000000000000b7e5c335", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c325", "0x00000000000000000000000000000000000000000000000000000000b7e5c326", "0x00000000000000000000000000000000000000000000000000000000b7e5c327", @@ -4030,9 +3828,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c332", "0x00000000000000000000000000000000000000000000000000000000b7e5c333", "0x00000000000000000000000000000000000000000000000000000000b7e5c334", - "0x00000000000000000000000000000000000000000000000000000000b7e5c335", - "0x00000000000000000000000000000000000000000000000000000000b7e5c336", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c326", "0x00000000000000000000000000000000000000000000000000000000b7e5c327", "0x00000000000000000000000000000000000000000000000000000000b7e5c328", @@ -4049,9 +3845,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c333", "0x00000000000000000000000000000000000000000000000000000000b7e5c334", "0x00000000000000000000000000000000000000000000000000000000b7e5c335", - "0x00000000000000000000000000000000000000000000000000000000b7e5c336", - "0x00000000000000000000000000000000000000000000000000000000b7e5c337", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c327", "0x00000000000000000000000000000000000000000000000000000000b7e5c328", "0x00000000000000000000000000000000000000000000000000000000b7e5c329", @@ -4068,9 +3862,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c334", "0x00000000000000000000000000000000000000000000000000000000b7e5c335", "0x00000000000000000000000000000000000000000000000000000000b7e5c336", - "0x00000000000000000000000000000000000000000000000000000000b7e5c337", - "0x00000000000000000000000000000000000000000000000000000000b7e5c338", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c328", "0x00000000000000000000000000000000000000000000000000000000b7e5c329", "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", @@ -4087,9 +3879,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c335", "0x00000000000000000000000000000000000000000000000000000000b7e5c336", "0x00000000000000000000000000000000000000000000000000000000b7e5c337", - "0x00000000000000000000000000000000000000000000000000000000b7e5c338", - "0x00000000000000000000000000000000000000000000000000000000b7e5c339", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c329", "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", @@ -4106,9 +3896,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c336", "0x00000000000000000000000000000000000000000000000000000000b7e5c337", "0x00000000000000000000000000000000000000000000000000000000b7e5c338", - "0x00000000000000000000000000000000000000000000000000000000b7e5c339", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c32a", "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", @@ -4125,9 +3913,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c337", "0x00000000000000000000000000000000000000000000000000000000b7e5c338", "0x00000000000000000000000000000000000000000000000000000000b7e5c339", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c32b", "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", @@ -4144,9 +3930,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c338", "0x00000000000000000000000000000000000000000000000000000000b7e5c339", "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c32c", "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", @@ -4163,9 +3947,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c339", "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c32d", "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", @@ -4182,9 +3964,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c32e", "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", "0x00000000000000000000000000000000000000000000000000000000b7e5c330", @@ -4201,9 +3981,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c32f", "0x00000000000000000000000000000000000000000000000000000000b7e5c330", "0x00000000000000000000000000000000000000000000000000000000b7e5c331", @@ -4220,9 +3998,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c340", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c330", "0x00000000000000000000000000000000000000000000000000000000b7e5c331", "0x00000000000000000000000000000000000000000000000000000000b7e5c332", @@ -4239,9 +4015,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c340", - "0x00000000000000000000000000000000000000000000000000000000b7e5c341", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c331", "0x00000000000000000000000000000000000000000000000000000000b7e5c332", "0x00000000000000000000000000000000000000000000000000000000b7e5c333", @@ -4258,9 +4032,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", "0x00000000000000000000000000000000000000000000000000000000b7e5c340", - "0x00000000000000000000000000000000000000000000000000000000b7e5c341", - "0x00000000000000000000000000000000000000000000000000000000b7e5c342", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c332", "0x00000000000000000000000000000000000000000000000000000000b7e5c333", "0x00000000000000000000000000000000000000000000000000000000b7e5c334", @@ -4277,9 +4049,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", "0x00000000000000000000000000000000000000000000000000000000b7e5c340", "0x00000000000000000000000000000000000000000000000000000000b7e5c341", - "0x00000000000000000000000000000000000000000000000000000000b7e5c342", - "0x00000000000000000000000000000000000000000000000000000000b7e5c343", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c333", "0x00000000000000000000000000000000000000000000000000000000b7e5c334", "0x00000000000000000000000000000000000000000000000000000000b7e5c335", @@ -4296,9 +4066,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c340", "0x00000000000000000000000000000000000000000000000000000000b7e5c341", "0x00000000000000000000000000000000000000000000000000000000b7e5c342", - "0x00000000000000000000000000000000000000000000000000000000b7e5c343", - "0x00000000000000000000000000000000000000000000000000000000b7e5c344", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c334", "0x00000000000000000000000000000000000000000000000000000000b7e5c335", "0x00000000000000000000000000000000000000000000000000000000b7e5c336", @@ -4315,9 +4083,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c341", "0x00000000000000000000000000000000000000000000000000000000b7e5c342", "0x00000000000000000000000000000000000000000000000000000000b7e5c343", - "0x00000000000000000000000000000000000000000000000000000000b7e5c344", - "0x00000000000000000000000000000000000000000000000000000000b7e5c345", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c335", "0x00000000000000000000000000000000000000000000000000000000b7e5c336", "0x00000000000000000000000000000000000000000000000000000000b7e5c337", @@ -4334,9 +4100,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c342", "0x00000000000000000000000000000000000000000000000000000000b7e5c343", "0x00000000000000000000000000000000000000000000000000000000b7e5c344", - "0x00000000000000000000000000000000000000000000000000000000b7e5c345", - "0x00000000000000000000000000000000000000000000000000000000b7e5c346", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c336", "0x00000000000000000000000000000000000000000000000000000000b7e5c337", "0x00000000000000000000000000000000000000000000000000000000b7e5c338", @@ -4353,9 +4117,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c343", "0x00000000000000000000000000000000000000000000000000000000b7e5c344", "0x00000000000000000000000000000000000000000000000000000000b7e5c345", - "0x00000000000000000000000000000000000000000000000000000000b7e5c346", - "0x00000000000000000000000000000000000000000000000000000000b7e5c347", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c337", "0x00000000000000000000000000000000000000000000000000000000b7e5c338", "0x00000000000000000000000000000000000000000000000000000000b7e5c339", @@ -4372,9 +4134,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c344", "0x00000000000000000000000000000000000000000000000000000000b7e5c345", "0x00000000000000000000000000000000000000000000000000000000b7e5c346", - "0x00000000000000000000000000000000000000000000000000000000b7e5c347", - "0x00000000000000000000000000000000000000000000000000000000b7e5c348", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c338", "0x00000000000000000000000000000000000000000000000000000000b7e5c339", "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", @@ -4391,9 +4151,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c345", "0x00000000000000000000000000000000000000000000000000000000b7e5c346", "0x00000000000000000000000000000000000000000000000000000000b7e5c347", - "0x00000000000000000000000000000000000000000000000000000000b7e5c348", - "0x00000000000000000000000000000000000000000000000000000000b7e5c349", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c339", "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", @@ -4410,9 +4168,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c346", "0x00000000000000000000000000000000000000000000000000000000b7e5c347", "0x00000000000000000000000000000000000000000000000000000000b7e5c348", - "0x00000000000000000000000000000000000000000000000000000000b7e5c349", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c33a", "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", @@ -4429,9 +4185,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c347", "0x00000000000000000000000000000000000000000000000000000000b7e5c348", "0x00000000000000000000000000000000000000000000000000000000b7e5c349", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c33b", "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", @@ -4448,9 +4202,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c348", "0x00000000000000000000000000000000000000000000000000000000b7e5c349", "0x00000000000000000000000000000000000000000000000000000000b7e5c34a", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c33c", "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", @@ -4467,9 +4219,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c349", "0x00000000000000000000000000000000000000000000000000000000b7e5c34a", "0x00000000000000000000000000000000000000000000000000000000b7e5c34b", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c33d", "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", @@ -4486,9 +4236,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c34a", "0x00000000000000000000000000000000000000000000000000000000b7e5c34b", "0x00000000000000000000000000000000000000000000000000000000b7e5c34c", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c33e", "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", "0x00000000000000000000000000000000000000000000000000000000b7e5c340", @@ -4505,9 +4253,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c34b", "0x00000000000000000000000000000000000000000000000000000000b7e5c34c", "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7e5c33f", "0x00000000000000000000000000000000000000000000000000000000b7e5c340", "0x00000000000000000000000000000000000000000000000000000000b7e5c341", @@ -4524,16 +4270,14 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c34c", "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000020001", "0x00000000000000000040000000000200000000010000000000fe000000000000", - "0x1e861d5d75e468fc1f9560c6bc66a7123c677ee08a6a9d800a5cfbd3d0558d51", + "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d", "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", - "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x0eb9687899f8822802e8821d00a76a38bcb964577fe15355187a7c92ffb83604", + "0x00000000009c707518004000400008004000400400000000000000000000054b", + "0x1e59a5d1f94434217b27307eee30fe038167eb5242042580efa1cf0dcdb33fb5", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7f9d000", "0x00000000000000000000000000000000000000000000000000000000b7f9d001", @@ -4799,7 +4543,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9e048", "0x00000000000000000000000000000000000000000000000000000000b7f9e03f", "0x00000000000000000000000000000000000000000000000000000000b7f9e049", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d300", "0x00000000000000000000000000000000000000000000000000000000b7f9d301", "0x00000000000000000000000000000000000000000000000000000000b7f9d302", @@ -4816,9 +4560,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d30d", "0x00000000000000000000000000000000000000000000000000000000b7f9d30e", "0x00000000000000000000000000000000000000000000000000000000b7f9d30f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d310", - "0x00000000000000000000000000000000000000000000000000000000b7f9d311", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d301", "0x00000000000000000000000000000000000000000000000000000000b7f9d302", "0x00000000000000000000000000000000000000000000000000000000b7f9d303", @@ -4835,9 +4577,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d30e", "0x00000000000000000000000000000000000000000000000000000000b7f9d30f", "0x00000000000000000000000000000000000000000000000000000000b7f9d310", - "0x00000000000000000000000000000000000000000000000000000000b7f9d311", - "0x00000000000000000000000000000000000000000000000000000000b7f9d312", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d302", "0x00000000000000000000000000000000000000000000000000000000b7f9d303", "0x00000000000000000000000000000000000000000000000000000000b7f9d304", @@ -4854,9 +4594,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d30f", "0x00000000000000000000000000000000000000000000000000000000b7f9d310", "0x00000000000000000000000000000000000000000000000000000000b7f9d311", - "0x00000000000000000000000000000000000000000000000000000000b7f9d312", - "0x00000000000000000000000000000000000000000000000000000000b7f9d313", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d303", "0x00000000000000000000000000000000000000000000000000000000b7f9d304", "0x00000000000000000000000000000000000000000000000000000000b7f9d305", @@ -4873,9 +4611,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d310", "0x00000000000000000000000000000000000000000000000000000000b7f9d311", "0x00000000000000000000000000000000000000000000000000000000b7f9d312", - "0x00000000000000000000000000000000000000000000000000000000b7f9d313", - "0x00000000000000000000000000000000000000000000000000000000b7f9d314", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d304", "0x00000000000000000000000000000000000000000000000000000000b7f9d305", "0x00000000000000000000000000000000000000000000000000000000b7f9d306", @@ -4892,9 +4628,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d311", "0x00000000000000000000000000000000000000000000000000000000b7f9d312", "0x00000000000000000000000000000000000000000000000000000000b7f9d313", - "0x00000000000000000000000000000000000000000000000000000000b7f9d314", - "0x00000000000000000000000000000000000000000000000000000000b7f9d315", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d305", "0x00000000000000000000000000000000000000000000000000000000b7f9d306", "0x00000000000000000000000000000000000000000000000000000000b7f9d307", @@ -4911,9 +4645,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d312", "0x00000000000000000000000000000000000000000000000000000000b7f9d313", "0x00000000000000000000000000000000000000000000000000000000b7f9d314", - "0x00000000000000000000000000000000000000000000000000000000b7f9d315", - "0x00000000000000000000000000000000000000000000000000000000b7f9d316", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d306", "0x00000000000000000000000000000000000000000000000000000000b7f9d307", "0x00000000000000000000000000000000000000000000000000000000b7f9d308", @@ -4930,9 +4662,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d313", "0x00000000000000000000000000000000000000000000000000000000b7f9d314", "0x00000000000000000000000000000000000000000000000000000000b7f9d315", - "0x00000000000000000000000000000000000000000000000000000000b7f9d316", - "0x00000000000000000000000000000000000000000000000000000000b7f9d317", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d307", "0x00000000000000000000000000000000000000000000000000000000b7f9d308", "0x00000000000000000000000000000000000000000000000000000000b7f9d309", @@ -4949,9 +4679,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d314", "0x00000000000000000000000000000000000000000000000000000000b7f9d315", "0x00000000000000000000000000000000000000000000000000000000b7f9d316", - "0x00000000000000000000000000000000000000000000000000000000b7f9d317", - "0x00000000000000000000000000000000000000000000000000000000b7f9d318", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d308", "0x00000000000000000000000000000000000000000000000000000000b7f9d309", "0x00000000000000000000000000000000000000000000000000000000b7f9d30a", @@ -4968,9 +4696,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d315", "0x00000000000000000000000000000000000000000000000000000000b7f9d316", "0x00000000000000000000000000000000000000000000000000000000b7f9d317", - "0x00000000000000000000000000000000000000000000000000000000b7f9d318", - "0x00000000000000000000000000000000000000000000000000000000b7f9d319", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d309", "0x00000000000000000000000000000000000000000000000000000000b7f9d30a", "0x00000000000000000000000000000000000000000000000000000000b7f9d30b", @@ -4987,9 +4713,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d316", "0x00000000000000000000000000000000000000000000000000000000b7f9d317", "0x00000000000000000000000000000000000000000000000000000000b7f9d318", - "0x00000000000000000000000000000000000000000000000000000000b7f9d319", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d30a", "0x00000000000000000000000000000000000000000000000000000000b7f9d30b", "0x00000000000000000000000000000000000000000000000000000000b7f9d30c", @@ -5006,9 +4730,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d317", "0x00000000000000000000000000000000000000000000000000000000b7f9d318", "0x00000000000000000000000000000000000000000000000000000000b7f9d319", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d30b", "0x00000000000000000000000000000000000000000000000000000000b7f9d30c", "0x00000000000000000000000000000000000000000000000000000000b7f9d30d", @@ -5025,9 +4747,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d318", "0x00000000000000000000000000000000000000000000000000000000b7f9d319", "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d30c", "0x00000000000000000000000000000000000000000000000000000000b7f9d30d", "0x00000000000000000000000000000000000000000000000000000000b7f9d30e", @@ -5044,9 +4764,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d319", "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d30d", "0x00000000000000000000000000000000000000000000000000000000b7f9d30e", "0x00000000000000000000000000000000000000000000000000000000b7f9d30f", @@ -5063,9 +4781,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d30e", "0x00000000000000000000000000000000000000000000000000000000b7f9d30f", "0x00000000000000000000000000000000000000000000000000000000b7f9d310", @@ -5082,9 +4798,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d30f", "0x00000000000000000000000000000000000000000000000000000000b7f9d310", "0x00000000000000000000000000000000000000000000000000000000b7f9d311", @@ -5101,9 +4815,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d320", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d310", "0x00000000000000000000000000000000000000000000000000000000b7f9d311", "0x00000000000000000000000000000000000000000000000000000000b7f9d312", @@ -5120,9 +4832,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d320", - "0x00000000000000000000000000000000000000000000000000000000b7f9d321", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d311", "0x00000000000000000000000000000000000000000000000000000000b7f9d312", "0x00000000000000000000000000000000000000000000000000000000b7f9d313", @@ -5139,9 +4849,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", "0x00000000000000000000000000000000000000000000000000000000b7f9d320", - "0x00000000000000000000000000000000000000000000000000000000b7f9d321", - "0x00000000000000000000000000000000000000000000000000000000b7f9d322", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d312", "0x00000000000000000000000000000000000000000000000000000000b7f9d313", "0x00000000000000000000000000000000000000000000000000000000b7f9d314", @@ -5158,9 +4866,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", "0x00000000000000000000000000000000000000000000000000000000b7f9d320", "0x00000000000000000000000000000000000000000000000000000000b7f9d321", - "0x00000000000000000000000000000000000000000000000000000000b7f9d322", - "0x00000000000000000000000000000000000000000000000000000000b7f9d323", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d313", "0x00000000000000000000000000000000000000000000000000000000b7f9d314", "0x00000000000000000000000000000000000000000000000000000000b7f9d315", @@ -5177,9 +4883,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d320", "0x00000000000000000000000000000000000000000000000000000000b7f9d321", "0x00000000000000000000000000000000000000000000000000000000b7f9d322", - "0x00000000000000000000000000000000000000000000000000000000b7f9d323", - "0x00000000000000000000000000000000000000000000000000000000b7f9d324", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d314", "0x00000000000000000000000000000000000000000000000000000000b7f9d315", "0x00000000000000000000000000000000000000000000000000000000b7f9d316", @@ -5196,9 +4900,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d321", "0x00000000000000000000000000000000000000000000000000000000b7f9d322", "0x00000000000000000000000000000000000000000000000000000000b7f9d323", - "0x00000000000000000000000000000000000000000000000000000000b7f9d324", - "0x00000000000000000000000000000000000000000000000000000000b7f9d325", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d315", "0x00000000000000000000000000000000000000000000000000000000b7f9d316", "0x00000000000000000000000000000000000000000000000000000000b7f9d317", @@ -5215,9 +4917,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d322", "0x00000000000000000000000000000000000000000000000000000000b7f9d323", "0x00000000000000000000000000000000000000000000000000000000b7f9d324", - "0x00000000000000000000000000000000000000000000000000000000b7f9d325", - "0x00000000000000000000000000000000000000000000000000000000b7f9d326", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d316", "0x00000000000000000000000000000000000000000000000000000000b7f9d317", "0x00000000000000000000000000000000000000000000000000000000b7f9d318", @@ -5234,9 +4934,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d323", "0x00000000000000000000000000000000000000000000000000000000b7f9d324", "0x00000000000000000000000000000000000000000000000000000000b7f9d325", - "0x00000000000000000000000000000000000000000000000000000000b7f9d326", - "0x00000000000000000000000000000000000000000000000000000000b7f9d327", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d317", "0x00000000000000000000000000000000000000000000000000000000b7f9d318", "0x00000000000000000000000000000000000000000000000000000000b7f9d319", @@ -5253,9 +4951,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d324", "0x00000000000000000000000000000000000000000000000000000000b7f9d325", "0x00000000000000000000000000000000000000000000000000000000b7f9d326", - "0x00000000000000000000000000000000000000000000000000000000b7f9d327", - "0x00000000000000000000000000000000000000000000000000000000b7f9d328", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d318", "0x00000000000000000000000000000000000000000000000000000000b7f9d319", "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", @@ -5272,9 +4968,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d325", "0x00000000000000000000000000000000000000000000000000000000b7f9d326", "0x00000000000000000000000000000000000000000000000000000000b7f9d327", - "0x00000000000000000000000000000000000000000000000000000000b7f9d328", - "0x00000000000000000000000000000000000000000000000000000000b7f9d329", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d319", "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", @@ -5291,9 +4985,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d326", "0x00000000000000000000000000000000000000000000000000000000b7f9d327", "0x00000000000000000000000000000000000000000000000000000000b7f9d328", - "0x00000000000000000000000000000000000000000000000000000000b7f9d329", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d31a", "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", @@ -5310,9 +5002,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d327", "0x00000000000000000000000000000000000000000000000000000000b7f9d328", "0x00000000000000000000000000000000000000000000000000000000b7f9d329", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d31b", "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", @@ -5329,9 +5019,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d328", "0x00000000000000000000000000000000000000000000000000000000b7f9d329", "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d31c", "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", @@ -5348,9 +5036,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d329", "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d31d", "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", @@ -5367,9 +5053,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d31e", "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", "0x00000000000000000000000000000000000000000000000000000000b7f9d320", @@ -5386,9 +5070,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d31f", "0x00000000000000000000000000000000000000000000000000000000b7f9d320", "0x00000000000000000000000000000000000000000000000000000000b7f9d321", @@ -5405,9 +5087,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d330", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d320", "0x00000000000000000000000000000000000000000000000000000000b7f9d321", "0x00000000000000000000000000000000000000000000000000000000b7f9d322", @@ -5424,9 +5104,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d330", - "0x00000000000000000000000000000000000000000000000000000000b7f9d331", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d321", "0x00000000000000000000000000000000000000000000000000000000b7f9d322", "0x00000000000000000000000000000000000000000000000000000000b7f9d323", @@ -5443,9 +5121,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", "0x00000000000000000000000000000000000000000000000000000000b7f9d330", - "0x00000000000000000000000000000000000000000000000000000000b7f9d331", - "0x00000000000000000000000000000000000000000000000000000000b7f9d332", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d322", "0x00000000000000000000000000000000000000000000000000000000b7f9d323", "0x00000000000000000000000000000000000000000000000000000000b7f9d324", @@ -5462,9 +5138,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", "0x00000000000000000000000000000000000000000000000000000000b7f9d330", "0x00000000000000000000000000000000000000000000000000000000b7f9d331", - "0x00000000000000000000000000000000000000000000000000000000b7f9d332", - "0x00000000000000000000000000000000000000000000000000000000b7f9d333", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d323", "0x00000000000000000000000000000000000000000000000000000000b7f9d324", "0x00000000000000000000000000000000000000000000000000000000b7f9d325", @@ -5481,9 +5155,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d330", "0x00000000000000000000000000000000000000000000000000000000b7f9d331", "0x00000000000000000000000000000000000000000000000000000000b7f9d332", - "0x00000000000000000000000000000000000000000000000000000000b7f9d333", - "0x00000000000000000000000000000000000000000000000000000000b7f9d334", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d324", "0x00000000000000000000000000000000000000000000000000000000b7f9d325", "0x00000000000000000000000000000000000000000000000000000000b7f9d326", @@ -5500,9 +5172,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d331", "0x00000000000000000000000000000000000000000000000000000000b7f9d332", "0x00000000000000000000000000000000000000000000000000000000b7f9d333", - "0x00000000000000000000000000000000000000000000000000000000b7f9d334", - "0x00000000000000000000000000000000000000000000000000000000b7f9d335", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d325", "0x00000000000000000000000000000000000000000000000000000000b7f9d326", "0x00000000000000000000000000000000000000000000000000000000b7f9d327", @@ -5519,9 +5189,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d332", "0x00000000000000000000000000000000000000000000000000000000b7f9d333", "0x00000000000000000000000000000000000000000000000000000000b7f9d334", - "0x00000000000000000000000000000000000000000000000000000000b7f9d335", - "0x00000000000000000000000000000000000000000000000000000000b7f9d336", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d326", "0x00000000000000000000000000000000000000000000000000000000b7f9d327", "0x00000000000000000000000000000000000000000000000000000000b7f9d328", @@ -5538,9 +5206,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d333", "0x00000000000000000000000000000000000000000000000000000000b7f9d334", "0x00000000000000000000000000000000000000000000000000000000b7f9d335", - "0x00000000000000000000000000000000000000000000000000000000b7f9d336", - "0x00000000000000000000000000000000000000000000000000000000b7f9d337", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d327", "0x00000000000000000000000000000000000000000000000000000000b7f9d328", "0x00000000000000000000000000000000000000000000000000000000b7f9d329", @@ -5557,9 +5223,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d334", "0x00000000000000000000000000000000000000000000000000000000b7f9d335", "0x00000000000000000000000000000000000000000000000000000000b7f9d336", - "0x00000000000000000000000000000000000000000000000000000000b7f9d337", - "0x00000000000000000000000000000000000000000000000000000000b7f9d338", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d328", "0x00000000000000000000000000000000000000000000000000000000b7f9d329", "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", @@ -5576,9 +5240,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d335", "0x00000000000000000000000000000000000000000000000000000000b7f9d336", "0x00000000000000000000000000000000000000000000000000000000b7f9d337", - "0x00000000000000000000000000000000000000000000000000000000b7f9d338", - "0x00000000000000000000000000000000000000000000000000000000b7f9d339", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d329", "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", @@ -5595,9 +5257,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d336", "0x00000000000000000000000000000000000000000000000000000000b7f9d337", "0x00000000000000000000000000000000000000000000000000000000b7f9d338", - "0x00000000000000000000000000000000000000000000000000000000b7f9d339", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d32a", "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", @@ -5614,9 +5274,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d337", "0x00000000000000000000000000000000000000000000000000000000b7f9d338", "0x00000000000000000000000000000000000000000000000000000000b7f9d339", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d32b", "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", @@ -5633,9 +5291,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d338", "0x00000000000000000000000000000000000000000000000000000000b7f9d339", "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d32c", "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", @@ -5652,9 +5308,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d339", "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d32d", "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", @@ -5671,9 +5325,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d32e", "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", "0x00000000000000000000000000000000000000000000000000000000b7f9d330", @@ -5690,9 +5342,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d32f", "0x00000000000000000000000000000000000000000000000000000000b7f9d330", "0x00000000000000000000000000000000000000000000000000000000b7f9d331", @@ -5709,9 +5359,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d340", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d330", "0x00000000000000000000000000000000000000000000000000000000b7f9d331", "0x00000000000000000000000000000000000000000000000000000000b7f9d332", @@ -5728,9 +5376,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d340", - "0x00000000000000000000000000000000000000000000000000000000b7f9d341", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d331", "0x00000000000000000000000000000000000000000000000000000000b7f9d332", "0x00000000000000000000000000000000000000000000000000000000b7f9d333", @@ -5747,9 +5393,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", "0x00000000000000000000000000000000000000000000000000000000b7f9d340", - "0x00000000000000000000000000000000000000000000000000000000b7f9d341", - "0x00000000000000000000000000000000000000000000000000000000b7f9d342", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d332", "0x00000000000000000000000000000000000000000000000000000000b7f9d333", "0x00000000000000000000000000000000000000000000000000000000b7f9d334", @@ -5766,9 +5410,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", "0x00000000000000000000000000000000000000000000000000000000b7f9d340", "0x00000000000000000000000000000000000000000000000000000000b7f9d341", - "0x00000000000000000000000000000000000000000000000000000000b7f9d342", - "0x00000000000000000000000000000000000000000000000000000000b7f9d343", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d333", "0x00000000000000000000000000000000000000000000000000000000b7f9d334", "0x00000000000000000000000000000000000000000000000000000000b7f9d335", @@ -5785,9 +5427,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d340", "0x00000000000000000000000000000000000000000000000000000000b7f9d341", "0x00000000000000000000000000000000000000000000000000000000b7f9d342", - "0x00000000000000000000000000000000000000000000000000000000b7f9d343", - "0x00000000000000000000000000000000000000000000000000000000b7f9d344", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d334", "0x00000000000000000000000000000000000000000000000000000000b7f9d335", "0x00000000000000000000000000000000000000000000000000000000b7f9d336", @@ -5804,9 +5444,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d341", "0x00000000000000000000000000000000000000000000000000000000b7f9d342", "0x00000000000000000000000000000000000000000000000000000000b7f9d343", - "0x00000000000000000000000000000000000000000000000000000000b7f9d344", - "0x00000000000000000000000000000000000000000000000000000000b7f9d345", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d335", "0x00000000000000000000000000000000000000000000000000000000b7f9d336", "0x00000000000000000000000000000000000000000000000000000000b7f9d337", @@ -5823,9 +5461,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d342", "0x00000000000000000000000000000000000000000000000000000000b7f9d343", "0x00000000000000000000000000000000000000000000000000000000b7f9d344", - "0x00000000000000000000000000000000000000000000000000000000b7f9d345", - "0x00000000000000000000000000000000000000000000000000000000b7f9d346", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d336", "0x00000000000000000000000000000000000000000000000000000000b7f9d337", "0x00000000000000000000000000000000000000000000000000000000b7f9d338", @@ -5842,9 +5478,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d343", "0x00000000000000000000000000000000000000000000000000000000b7f9d344", "0x00000000000000000000000000000000000000000000000000000000b7f9d345", - "0x00000000000000000000000000000000000000000000000000000000b7f9d346", - "0x00000000000000000000000000000000000000000000000000000000b7f9d347", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d337", "0x00000000000000000000000000000000000000000000000000000000b7f9d338", "0x00000000000000000000000000000000000000000000000000000000b7f9d339", @@ -5861,9 +5495,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d344", "0x00000000000000000000000000000000000000000000000000000000b7f9d345", "0x00000000000000000000000000000000000000000000000000000000b7f9d346", - "0x00000000000000000000000000000000000000000000000000000000b7f9d347", - "0x00000000000000000000000000000000000000000000000000000000b7f9d348", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d338", "0x00000000000000000000000000000000000000000000000000000000b7f9d339", "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", @@ -5880,9 +5512,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d345", "0x00000000000000000000000000000000000000000000000000000000b7f9d346", "0x00000000000000000000000000000000000000000000000000000000b7f9d347", - "0x00000000000000000000000000000000000000000000000000000000b7f9d348", - "0x00000000000000000000000000000000000000000000000000000000b7f9d349", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d339", "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", @@ -5899,9 +5529,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d346", "0x00000000000000000000000000000000000000000000000000000000b7f9d347", "0x00000000000000000000000000000000000000000000000000000000b7f9d348", - "0x00000000000000000000000000000000000000000000000000000000b7f9d349", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34a", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d33a", "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", @@ -5918,9 +5546,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d347", "0x00000000000000000000000000000000000000000000000000000000b7f9d348", "0x00000000000000000000000000000000000000000000000000000000b7f9d349", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34b", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d33b", "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", @@ -5937,9 +5563,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d348", "0x00000000000000000000000000000000000000000000000000000000b7f9d349", "0x00000000000000000000000000000000000000000000000000000000b7f9d34a", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34c", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d33c", "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", @@ -5956,9 +5580,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d349", "0x00000000000000000000000000000000000000000000000000000000b7f9d34a", "0x00000000000000000000000000000000000000000000000000000000b7f9d34b", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34d", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d33d", "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", @@ -5975,9 +5597,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d34a", "0x00000000000000000000000000000000000000000000000000000000b7f9d34b", "0x00000000000000000000000000000000000000000000000000000000b7f9d34c", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34e", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d33e", "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", "0x00000000000000000000000000000000000000000000000000000000b7f9d340", @@ -5994,9 +5614,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d34b", "0x00000000000000000000000000000000000000000000000000000000b7f9d34c", "0x00000000000000000000000000000000000000000000000000000000b7f9d34d", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34f", - "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000010", "0x00000000000000000000000000000000000000000000000000000000b7f9d33f", "0x00000000000000000000000000000000000000000000000000000000b7f9d340", "0x00000000000000000000000000000000000000000000000000000000b7f9d341", @@ -6013,15 +5631,397 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d34c", "0x00000000000000000000000000000000000000000000000000000000b7f9d34d", "0x00000000000000000000000000000000000000000000000000000000b7f9d34e", - "0x00000000000000000000000000000000000000000000000000000000b7f9d34f", - "0x00000000000000000000000000000000000000000000000000000000b7f9d350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000030001", "0x000000000000000000400000000003000000000140000000013d000000000000", - "0x1a4fb30f45f65c56d5e64964849a732f7914e20e5fba1bcb2605594cf4138766", + "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0", "0x0f910fe92fa0690e32693038d26864110490cc71307fd28bcd4b5f86cf0054d1", "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847", "0x19dde349ddf1b27d03e840caf5acf851e9dc57f3051381aa97ade96d736b8b6d", - "0x0000000000000000000000000000000000000000000000008c63744300001175", + "0x0000000000000000000000000000000000000000000000008c63744300000ff5", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -26130,7 +26130,7 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x00a590be7cad7b7e51db8bee35687dcbd8f4653e714c482d28dea74675662c57" +blobs_hash = "0x0026d11c132b61b6ec8c0262536cbf0cb71d90c043d97839651283409ff47052" [inputs.hints.previous_block_header] sponge_blob_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -26217,13 +26217,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.hints.final_blob_challenges] - z = "0x2faab5c5926ee78a60b477ec6451621c7cad3890792683ac511f6e2bddf3193a" + z = "0x0d827c4802b5ff54e045e265e5786c720713d297aab3e1acf5049465612c77b5" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0xd38b2d37e5b5d223d7a0911d28f2ca", - "0x6768224464488848f00b1e5343051b", - "0x2edd" + "0xbf043ea8ab414b5c8986e37d1897e7", + "0xef28649a3763c4f04ee58451a2654c", + "0x06df" ] [[inputs.hints.blob_commitments]] @@ -26231,37 +26231,37 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xdb1c02137e07eb8c5877e014dabafb", - "0x6f5bce00ca9c605733b256442dcd65", - "0x26330e2c8317dc92c9c9dbdd98cc44", - "0x065817" + "0xa55a42201a7854447828c16fca0dda", + "0x5d575d46ff73012261932d1be971ec", + "0x97f8286c3e9ec1cbf527484c7721aa", + "0x0a6b77" ] [inputs.hints.blob_commitments.y] limbs = [ - "0xfcee0f49f50aca62cd9c3155ff730a", - "0x9b4eda40f1860df5aab75d6d60562c", - "0x4882b95b66a2bae93de0fb85b73e2c", - "0x04af88" + "0xbc9f0408cc1bf6b15006b1afd15ac6", + "0xe1d6d4263d02e5e3684af363511766", + "0xbf99124c8a0e2928a5b3ebbce5b2eb", + "0x185e37" ] [[inputs.hints.blob_commitments]] - is_infinity = false + is_infinity = true [inputs.hints.blob_commitments.x] limbs = [ - "0x9ecc59cc230dfcbd4d4e907d3bdc09", - "0x1e376f423644bcc8b131e14f2fafe5", - "0xe4c302623a0abb4272385c5c2d0b7b", - "0x11353c" + "0x000000000000000000000000000000", + "0x000000000000000000000000000000", + "0x000000000000000000000000000000", + "0x000000" ] [inputs.hints.blob_commitments.y] limbs = [ - "0xadb07887693cbcd1bab526cb0e5098", - "0x4c0e89baae20b17b079d73ea0c2786", - "0xa9e969f368a80ac98cbc6058da689b", - "0x0b89a2" + "0x000000000000000000000000000000", + "0x000000000000000000000000000000", + "0x000000000000000000000000000000", + "0x000000" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml index 0c89e9a11f30..708a6d0c93ce 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml @@ -528,8 +528,8 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -600,21 +600,21 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x00000000000000000000000000000000000000000000000000000000000005d2" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000552" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000000000000000b7d1b34f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b350", + "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", + "0x00000000000000000000000000000000000000000000000000000000b7d1b34d", "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x26f54bc48ac6fa4fdb64e3ec91f9250a2edc0b75649e5acef03f82849382a4e3", - "0x1092a06338e104c6906d07e499f9dbfe81f687a60db3bdb028666e11faf3302e", - "0x108fda9e66cd93c5f9eece433cbcfecf215e57964f6195d56dedf93e3a1bdcaa", - "0x24e7c7722c9a8472d55b200b6c0a31f48c1ca6e7946b224f4192d64842f7ca47" + "0x28e713a6903ec40bd07158fd1158d4eecf986d0a0b43e552f74d1419a7078b70", + "0x25c405279ab1cff4606afcf00a8e77616b4145811dfb54f3e402c6fd1a2cd4a8", + "0x1a76839ba9f9cb32f42d0ab1b236b17e713a6a91b473e79f149feeda44b6daff", + "0x058186b46ea4a19d7c86c8e5163b2d9b2c1145d304e7e8b61a7d90f804d8f1cf" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollups.vk_data] @@ -623,10 +623,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -634,94 +634,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", - "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", - "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", - "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", - "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", - "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", - "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", - "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", - "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", - "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", - "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", - "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", - "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", - "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", - "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", - "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", - "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", - "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", - "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", - "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", - "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", - "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", - "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", - "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", + "0x000000000000000000000000000000de198fb1732a4facd18fcd6011f7179d3f", + "0x000000000000000000000000000000000004d78d08f997bc1ef1f62f40b4df92", + "0x0000000000000000000000000000001b07a7edfe73494d1e79da81185f83fc66", + "0x0000000000000000000000000000000000188d1b2565ef75d7422f6d6eeee2ff", + "0x00000000000000000000000000000030439813835d384f1e23aea4645e9dd93f", + "0x0000000000000000000000000000000000094c2068af4736a24e7eb5d055bdd3", + "0x00000000000000000000000000000071703719b23c6e80014047b4c14a36a550", + "0x00000000000000000000000000000000000e1727e41c5a5349439bee0184ab4e", + "0x000000000000000000000000000000285a9ec01e74115c1c36f068ae63fa3185", + "0x00000000000000000000000000000000002e766006110406d054e0c74e32e90a", + "0x00000000000000000000000000000095495e645c88586e13c15490ca724c1c18", + "0x00000000000000000000000000000000000383e2b0a5892840eec6fba4e78abb", + "0x00000000000000000000000000000086d1759cce624defad8b9cc4e14db8d3b2", + "0x00000000000000000000000000000000002bfb300f6d12898bc3070cb76f35a2", + "0x000000000000000000000000000000c60d6b05e00da48facd455bb99c7682ebb", + "0x00000000000000000000000000000000000d8dcd611e6c6ec135ab6781b3526c", + "0x000000000000000000000000000000d91cc7a7e4101206e5303afbcca22d7421", + "0x00000000000000000000000000000000002a18677f97c8179867ada48377d5b5", + "0x00000000000000000000000000000022ae2ce83d581b550f3bd32d1f33c47896", + "0x00000000000000000000000000000000001d95d0459f0cf17d1d87ad17d7971c", + "0x0000000000000000000000000000001ea65bc363ee6884a839a4f8caf8dedd23", + "0x000000000000000000000000000000000021411ad4210d8c68d94e68c9d855c1", + "0x0000000000000000000000000000006508af13d41a41de95ed4e6254b0c3ae40", + "0x00000000000000000000000000000000000543ce2a65c1324a4227dd9847ce5b", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", - "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", - "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", - "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", - "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", - "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", - "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", - "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", - "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", - "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", - "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", - "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", - "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", - "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", - "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", - "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", - "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", - "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", - "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", - "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", - "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", - "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", - "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", - "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", - "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", - "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", - "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", - "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", - "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", - "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", - "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", - "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", - "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", - "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", - "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", - "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", - "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", - "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", - "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", - "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", - "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", - "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", - "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", - "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", - "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", - "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", - "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", - "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", - "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", - "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", - "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", - "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", - "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", - "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", - "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", - "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", - "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", - "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", - "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", - "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", + "0x000000000000000000000000000000355c2998f398e804e730189461fb00139f", + "0x00000000000000000000000000000000000a3443a110b2522a23a03d939eeeb3", + "0x0000000000000000000000000000001f3fb12db9680f48fb1d29bbbdd4b7bc12", + "0x000000000000000000000000000000000000dcc813db2cd2e14df24a5c181e5f", + "0x000000000000000000000000000000b672d5bc0f288b4cfa0ca4dc59d3ae4bb3", + "0x0000000000000000000000000000000000267dc67679d7d2201058fc61fb5ccb", + "0x0000000000000000000000000000000786bad7d579c9f505c141a00ca7ebd8cc", + "0x00000000000000000000000000000000003003f7a872f87cf1756201ed7cb62a", + "0x0000000000000000000000000000006b168d7ac649c47a8951251e8779c0fbec", + "0x000000000000000000000000000000000003b1fab24cadb2ec2ac81021702e0c", + "0x0000000000000000000000000000003f1cb3ddf1a489eecf0e96938023de8aba", + "0x00000000000000000000000000000000001fc9d2dea0c2fb407283bba83ae068", + "0x0000000000000000000000000000000f38a8ebbfa7c2a5ebb9e387001d1cbaee", + "0x0000000000000000000000000000000000077ecfeed1399ec91b3dae718ffec1", + "0x0000000000000000000000000000005d36d493a66dab44c42b8e38cde2779b1f", + "0x000000000000000000000000000000000020e25855b65dd0d452c31500e245cd", + "0x00000000000000000000000000000042b42f7761c5d68575d3461b9f0b324d7b", + "0x000000000000000000000000000000000017d40c407912418d5f325572621c62", + "0x000000000000000000000000000000a15a56e2c293001e8d134acb4871ce1d0e", + "0x0000000000000000000000000000000000099bb554bde1b473e90684295bb635", + "0x0000000000000000000000000000008481507563e835f85ea03b451cbc8dd3f4", + "0x000000000000000000000000000000000030223f876f12d368532937c35079f4", + "0x0000000000000000000000000000004f45546300f84611dcd78027473ea0940d", + "0x00000000000000000000000000000000000c399e146a6cc96b84b7ed75ef44b5", + "0x0000000000000000000000000000007d50c24c592683a7f75c1424a2fe53fa3d", + "0x00000000000000000000000000000000002e617547a3211c1d7115433666c4e8", + "0x0000000000000000000000000000007e7ab2b0728357af4107b9d6fa5cba78e4", + "0x00000000000000000000000000000000001b1dc990733070ea702d0205caa743", + "0x00000000000000000000000000000015ef85caf42454b9559a05f35d52926f0f", + "0x0000000000000000000000000000000000215cf24eebc713dcdbfca83b81bc3f", + "0x000000000000000000000000000000b12709253feebb678acd68ab5b095161f5", + "0x000000000000000000000000000000000018525c9bf65b01a45ff2b3bb146da8", + "0x0000000000000000000000000000005759e13774c9c1a6ca8dc59e9d90dfb300", + "0x000000000000000000000000000000000028866f6c4f3a992d71fa598cf43961", + "0x0000000000000000000000000000007a239a8295775f7b5180902e6de5e26c12", + "0x000000000000000000000000000000000019acffdb9f035e7caa6bce17b6e270", + "0x0000000000000000000000000000007665dabae3fedda930fe4681cf534cb87b", + "0x0000000000000000000000000000000000177a9a590d5d85846ddea455f621e4", + "0x000000000000000000000000000000ce91975f55d6a99abfd359725b6d4ee499", + "0x000000000000000000000000000000000002e0581d0391b869169f661e24f300", + "0x000000000000000000000000000000119045390688c4a639f3d36bd4952ee441", + "0x000000000000000000000000000000000011bdb2dfeaebbd7cecda1721f49cf1", + "0x00000000000000000000000000000079bf6f47850cd633233987b14f03b55046", + "0x0000000000000000000000000000000000107ab29175f69ed7555d480ae8f152", + "0x000000000000000000000000000000acf2610fb29016ddba2880a84059508626", + "0x00000000000000000000000000000000000338875b0947ca7a610a53ab951f8c", + "0x000000000000000000000000000000a23f636f7bfd3fd354929980eb13e41723", + "0x00000000000000000000000000000000000edee532d0fb1628d4c5c8669c8867", + "0x000000000000000000000000000000bc61de8b292d6e5edbfb44729f9b1308d6", + "0x00000000000000000000000000000000000c4c8823b6becfaf42f67d77844074", + "0x000000000000000000000000000000af30263e9cf766fa25f60188eb550dcc03", + "0x0000000000000000000000000000000000272886ef3ce068ea3a692629037755", + "0x0000000000000000000000000000001a91f47e8827cae4b55ac9cdbf32fd12d3", + "0x00000000000000000000000000000000001bb1e5678f70336ffa213ed44e3d14", + "0x000000000000000000000000000000d75a994bbd189310cae9f871dac212def4", + "0x00000000000000000000000000000000001c9f5ead3e78072f82ecc21c100cc4", + "0x0000000000000000000000000000001a2a0c93ef6ea4930b07aab84809b297f5", + "0x00000000000000000000000000000000000266003e338ef6b23aa108bed42d97", + "0x000000000000000000000000000000e31442210b4ab02e40d1198f4d65d0e502", + "0x00000000000000000000000000000000000cef6cd374810b58f3bcb5c1678c6b", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -742,12 +742,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", - "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", - "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", - "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" + "0x000000000000000000000000000000db27c1b01dd18c17d277d25d9bd917782d", + "0x0000000000000000000000000000000000036a9893a89572bb3ee3ae0a968019", + "0x00000000000000000000000000000087900e14657967934e41087b942b9c33d1", + "0x0000000000000000000000000000000000061f0c485f839e86b27481692b6ad8" ] - hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" + hash = "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f" [[inputs.previous_rollups]] proof = [ @@ -1279,8 +1279,8 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -1333,39 +1333,39 @@ root = "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000000fe" [inputs.previous_rollups.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x00000000000000000000000000000000000000000000000000000000000005d2" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000552" [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000000000000000b7d1b34f", - "0x00000000000000000000000000000000000000000000000000000000b7d1b350", + "0x00000000000000000000000000000000000000000000000000000000b7d1b34c", + "0x00000000000000000000000000000000000000000000000000000000b7d1b34d", "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x26f54bc48ac6fa4fdb64e3ec91f9250a2edc0b75649e5acef03f82849382a4e3", - "0x1092a06338e104c6906d07e499f9dbfe81f687a60db3bdb028666e11faf3302e", - "0x108fda9e66cd93c5f9eece433cbcfecf215e57964f6195d56dedf93e3a1bdcaa", - "0x24e7c7722c9a8472d55b200b6c0a31f48c1ca6e7946b224f4192d64842f7ca47" + "0x28e713a6903ec40bd07158fd1158d4eecf986d0a0b43e552f74d1419a7078b70", + "0x25c405279ab1cff4606afcf00a8e77616b4145811dfb54f3e402c6fd1a2cd4a8", + "0x1a76839ba9f9cb32f42d0ab1b236b17e713a6a91b473e79f149feeda44b6daff", + "0x058186b46ea4a19d7c86c8e5163b2d9b2c1145d304e7e8b61a7d90f804d8f1cf" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000b9d" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000a9d" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ + "0x00000000000000000000000000000000000000000000000000000000b7e5c34d", "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", - "0x00000000000000000000000000000000000000000000000000000000b7e5c34f", - "0x00000000000000000000000000000000000000000000000000000000b7e5c350" + "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x01362bfcc36c67344c7ae4a7ca3e8535c9beb0034f70547fbb6fd93b26318519", - "0x226cb50d6397b6916e14e0129eff6c0c3293833cd011e205938bdd057e3b6d85", - "0x09398314452ec6558861cd10c98b9e56acb91086219f8a1330a157e704f5b2a6", - "0x143cce481133b1f4a4475d48b0a0389c7fb1fda13e52910e14f381115b5f4217" + "0x170fb818ec00d69d99e62f173238ce1f514dd58abb39a0918136cc862539d7d7", + "0x086faf9a612b4fe1187b73753d59df1a71cc5a283e1832a7c0c5c8d12bd01a73", + "0x0e8d0c8859d84cae5d58752cfe7b881e2d09a63ec57394844c6586cc1fbec1ff", + "0x0d7851ccfb3fd02bd3bbff8dc86dc83662fda5bb634a2ceb2fd79a247781a4e2" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.vk_data] @@ -1374,10 +1374,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1385,94 +1385,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", - "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", - "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", - "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", - "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", - "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", - "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", - "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", - "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", - "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", - "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", - "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", - "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", - "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", - "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", - "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", - "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", - "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", - "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", - "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", - "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", - "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", - "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", - "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", + "0x000000000000000000000000000000de198fb1732a4facd18fcd6011f7179d3f", + "0x000000000000000000000000000000000004d78d08f997bc1ef1f62f40b4df92", + "0x0000000000000000000000000000001b07a7edfe73494d1e79da81185f83fc66", + "0x0000000000000000000000000000000000188d1b2565ef75d7422f6d6eeee2ff", + "0x00000000000000000000000000000030439813835d384f1e23aea4645e9dd93f", + "0x0000000000000000000000000000000000094c2068af4736a24e7eb5d055bdd3", + "0x00000000000000000000000000000071703719b23c6e80014047b4c14a36a550", + "0x00000000000000000000000000000000000e1727e41c5a5349439bee0184ab4e", + "0x000000000000000000000000000000285a9ec01e74115c1c36f068ae63fa3185", + "0x00000000000000000000000000000000002e766006110406d054e0c74e32e90a", + "0x00000000000000000000000000000095495e645c88586e13c15490ca724c1c18", + "0x00000000000000000000000000000000000383e2b0a5892840eec6fba4e78abb", + "0x00000000000000000000000000000086d1759cce624defad8b9cc4e14db8d3b2", + "0x00000000000000000000000000000000002bfb300f6d12898bc3070cb76f35a2", + "0x000000000000000000000000000000c60d6b05e00da48facd455bb99c7682ebb", + "0x00000000000000000000000000000000000d8dcd611e6c6ec135ab6781b3526c", + "0x000000000000000000000000000000d91cc7a7e4101206e5303afbcca22d7421", + "0x00000000000000000000000000000000002a18677f97c8179867ada48377d5b5", + "0x00000000000000000000000000000022ae2ce83d581b550f3bd32d1f33c47896", + "0x00000000000000000000000000000000001d95d0459f0cf17d1d87ad17d7971c", + "0x0000000000000000000000000000001ea65bc363ee6884a839a4f8caf8dedd23", + "0x000000000000000000000000000000000021411ad4210d8c68d94e68c9d855c1", + "0x0000000000000000000000000000006508af13d41a41de95ed4e6254b0c3ae40", + "0x00000000000000000000000000000000000543ce2a65c1324a4227dd9847ce5b", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", - "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", - "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", - "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", - "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", - "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", - "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", - "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", - "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", - "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", - "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", - "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", - "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", - "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", - "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", - "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", - "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", - "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", - "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", - "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", - "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", - "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", - "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", - "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", - "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", - "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", - "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", - "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", - "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", - "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", - "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", - "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", - "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", - "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", - "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", - "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", - "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", - "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", - "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", - "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", - "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", - "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", - "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", - "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", - "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", - "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", - "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", - "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", - "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", - "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", - "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", - "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", - "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", - "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", - "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", - "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", - "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", - "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", - "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", - "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", + "0x000000000000000000000000000000355c2998f398e804e730189461fb00139f", + "0x00000000000000000000000000000000000a3443a110b2522a23a03d939eeeb3", + "0x0000000000000000000000000000001f3fb12db9680f48fb1d29bbbdd4b7bc12", + "0x000000000000000000000000000000000000dcc813db2cd2e14df24a5c181e5f", + "0x000000000000000000000000000000b672d5bc0f288b4cfa0ca4dc59d3ae4bb3", + "0x0000000000000000000000000000000000267dc67679d7d2201058fc61fb5ccb", + "0x0000000000000000000000000000000786bad7d579c9f505c141a00ca7ebd8cc", + "0x00000000000000000000000000000000003003f7a872f87cf1756201ed7cb62a", + "0x0000000000000000000000000000006b168d7ac649c47a8951251e8779c0fbec", + "0x000000000000000000000000000000000003b1fab24cadb2ec2ac81021702e0c", + "0x0000000000000000000000000000003f1cb3ddf1a489eecf0e96938023de8aba", + "0x00000000000000000000000000000000001fc9d2dea0c2fb407283bba83ae068", + "0x0000000000000000000000000000000f38a8ebbfa7c2a5ebb9e387001d1cbaee", + "0x0000000000000000000000000000000000077ecfeed1399ec91b3dae718ffec1", + "0x0000000000000000000000000000005d36d493a66dab44c42b8e38cde2779b1f", + "0x000000000000000000000000000000000020e25855b65dd0d452c31500e245cd", + "0x00000000000000000000000000000042b42f7761c5d68575d3461b9f0b324d7b", + "0x000000000000000000000000000000000017d40c407912418d5f325572621c62", + "0x000000000000000000000000000000a15a56e2c293001e8d134acb4871ce1d0e", + "0x0000000000000000000000000000000000099bb554bde1b473e90684295bb635", + "0x0000000000000000000000000000008481507563e835f85ea03b451cbc8dd3f4", + "0x000000000000000000000000000000000030223f876f12d368532937c35079f4", + "0x0000000000000000000000000000004f45546300f84611dcd78027473ea0940d", + "0x00000000000000000000000000000000000c399e146a6cc96b84b7ed75ef44b5", + "0x0000000000000000000000000000007d50c24c592683a7f75c1424a2fe53fa3d", + "0x00000000000000000000000000000000002e617547a3211c1d7115433666c4e8", + "0x0000000000000000000000000000007e7ab2b0728357af4107b9d6fa5cba78e4", + "0x00000000000000000000000000000000001b1dc990733070ea702d0205caa743", + "0x00000000000000000000000000000015ef85caf42454b9559a05f35d52926f0f", + "0x0000000000000000000000000000000000215cf24eebc713dcdbfca83b81bc3f", + "0x000000000000000000000000000000b12709253feebb678acd68ab5b095161f5", + "0x000000000000000000000000000000000018525c9bf65b01a45ff2b3bb146da8", + "0x0000000000000000000000000000005759e13774c9c1a6ca8dc59e9d90dfb300", + "0x000000000000000000000000000000000028866f6c4f3a992d71fa598cf43961", + "0x0000000000000000000000000000007a239a8295775f7b5180902e6de5e26c12", + "0x000000000000000000000000000000000019acffdb9f035e7caa6bce17b6e270", + "0x0000000000000000000000000000007665dabae3fedda930fe4681cf534cb87b", + "0x0000000000000000000000000000000000177a9a590d5d85846ddea455f621e4", + "0x000000000000000000000000000000ce91975f55d6a99abfd359725b6d4ee499", + "0x000000000000000000000000000000000002e0581d0391b869169f661e24f300", + "0x000000000000000000000000000000119045390688c4a639f3d36bd4952ee441", + "0x000000000000000000000000000000000011bdb2dfeaebbd7cecda1721f49cf1", + "0x00000000000000000000000000000079bf6f47850cd633233987b14f03b55046", + "0x0000000000000000000000000000000000107ab29175f69ed7555d480ae8f152", + "0x000000000000000000000000000000acf2610fb29016ddba2880a84059508626", + "0x00000000000000000000000000000000000338875b0947ca7a610a53ab951f8c", + "0x000000000000000000000000000000a23f636f7bfd3fd354929980eb13e41723", + "0x00000000000000000000000000000000000edee532d0fb1628d4c5c8669c8867", + "0x000000000000000000000000000000bc61de8b292d6e5edbfb44729f9b1308d6", + "0x00000000000000000000000000000000000c4c8823b6becfaf42f67d77844074", + "0x000000000000000000000000000000af30263e9cf766fa25f60188eb550dcc03", + "0x0000000000000000000000000000000000272886ef3ce068ea3a692629037755", + "0x0000000000000000000000000000001a91f47e8827cae4b55ac9cdbf32fd12d3", + "0x00000000000000000000000000000000001bb1e5678f70336ffa213ed44e3d14", + "0x000000000000000000000000000000d75a994bbd189310cae9f871dac212def4", + "0x00000000000000000000000000000000001c9f5ead3e78072f82ecc21c100cc4", + "0x0000000000000000000000000000001a2a0c93ef6ea4930b07aab84809b297f5", + "0x00000000000000000000000000000000000266003e338ef6b23aa108bed42d97", + "0x000000000000000000000000000000e31442210b4ab02e40d1198f4d65d0e502", + "0x00000000000000000000000000000000000cef6cd374810b58f3bcb5c1678c6b", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1493,9 +1493,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", - "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", - "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", - "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" + "0x000000000000000000000000000000db27c1b01dd18c17d277d25d9bd917782d", + "0x0000000000000000000000000000000000036a9893a89572bb3ee3ae0a968019", + "0x00000000000000000000000000000087900e14657967934e41087b942b9c33d1", + "0x0000000000000000000000000000000000061f0c485f839e86b27481692b6ad8" ] - hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" + hash = "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f" diff --git a/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json b/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json index 034bab53eacf..0cc800e87d34 100644 --- a/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json +++ b/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json @@ -1 +1 @@ -{"proof":"0x0000374024c73b726f6de9946fc77ee612a1e477439bb81cb8b2c6de62020d690a57de6e181ae5996cd0a8f7d1320121acdf5fa0ce0ded260334259e4579dc12da0cbcd300c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af09300b2670115a9834079b6ecf908fe5d3fd0668954a583e95fe4ac21fd5fc1c5950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000279957fa7f30a5180d14fa065ce2bfbed38e94b985f10b5d1fce4a95a36e59f914e8f9c951ad8f46a095c4f22714f5a2736cff40a950b3437e234331a756dccd000000000000000000000000000000000000000000000000000000000000000000e941ac2af91d7ea3e7b789a78258b8053812398befd8a0733610c3cc2c1c682df8aa820bd774c75ddc4b1e29f3b456f7848bba10a44773ec2745205bdf30a80000000000000000000000000000000000638f6bfae659e3b180dde13f7d41d40000000000000000000000000000000000124a260c41ccf0b34d81c5ecff279b00000000000000000000000000000000000000000000000000000000000073e700b352d50cf0ddebdd509f7e1542f13e39e5ba43f10b037e09a0c4a33df430b4000000000000000000000000000000a4a605cd1e2402ae9e1c1be817815e7675000000000000000000000000000000b4f17712dffb27daedda1599d714b82f77000000000000000000000000000000000028606bc16d10c402be38920df228fd0000000000000000000000000000004545a23d67d11d81e3eddff757701eb55e00000000000000000000000000000000001e7c338bdf8ab7cf63beb379e37c380000000000000000000000000000000b8ea432f8085b38a5c665b8a92e6604a0000000000000000000000000000000000005798e83a88c1416f580bcce5f4cbd000000000000000000000000000000269d2efe7f41c9fde13588412228ebea1f00000000000000000000000000000000000556c1b6526cf56282059a5a8259380b582f4ff44659b2eb32295a662bb9a8810b82cbf2ba699075051227aa8a29a808ee7ad865de7de4016a59eaf6bcaafe2edeeade3a60fe5caff1cb10ec576c0c27210ed98117926c6b59184049199fa3afd4bdee7cb86144909acf56a32dad060072f982040c59889c028132b2f4e6b8b33b169c7cbbee52d1da56a39043d7ce19766d6c767b883e7b2b6b4612f5702fc578d0203b144f0a4c58dd235d03869d25a8fc84e0eed62e84846ba30ba604ff385e23215b55325ba40ed55309ae762a193782db7b347fe2cd790ec1909d637cd360611d4ac4098134b48c576ba9d68115282242fa373432e29e5434049fcf9a19e6f6d19713297e90ac2ea20c3248852274438d5e01f4cc60bfcfd214d48dc18f59bdb6a7ed3f5f4ad6ef326dfd1db51e997e94591c00c715af82249a35d5420f1aaa2bb1372e6eba18c7a6224d8b5b261a45b90aa4afe7001992d4d1c763a251eb82f2180746ebf648c18e67543c2d241035ee2f2c4bc714c01e3f673232b644a7851a5772a2407c655da788b24ce206f08c6d4b5e6b3b30d60f99a7f423b539c4d3bb7c660ff1101040d83032159d0fbeb4cd23e0a9645b83c9b59302659f68293ae294f8c24cf3191870023dd9501165619de58350fefd4d1623178c420d5213138d7ac3d2a8d18d20d1580f316a204bdfbd9a87b25d543a38cca240e2a7b552a3d40421236118b87e61033a083a03d25e6e83b32d423bfd886e02d27a1811084f6694efecba9c53071eed74ebbd2c91f0045d7e72e77c52bd487eaede45172b98e1e4c983d6a78eee75028b144408447e9b89b448513b6c105c947cb0e784d7348e2104a3daf4a61a61787555d52701fa12d06842fbba66e9e591cf6e99d863ede2b4ca632c04c826380a1eab861ac1b405d9281ea923a665bb1ec65f7ff7c30bee57ccff7a0d89b58d0671a8671e1a510ecdf8be64fe5a51ea485767006775cdfdf07cec018c679ce8530f496c0e1c93c0d00a6d21ca8e2e5564d1a6f2e1eb534c68957a03e99b77ad0863a0350bc86358d20e34b9e795a5848c6b893329cf9bb822c59b0f119f4ff491b8a1ff2afdeadf940b47c0c1112387e29fb08628821b1ea02389f1d2271a314544635f132c7ab23be7a0ccaf1f15d6478dbcc8a2f434ccfdb4c761d7569288357d2a421feafb963686409a99ee9bd1d601fb17afdb7e8e5899db2c8ebf43993133a56227c6012d585c197c6fbd2a8d60e3528453178fb7e4e3885f6cbba3e7e6ae72cb1157a42b508d4de8eb6b007cc82a3f8cffd7f28236db5b94ca621dda36000cb506a1f1fce1fc240befd031207f127278de901b0df94e2bf1a49b65403cbf07082a0a732d567fe45d9ff33d3d21f4d5d1557454a6b59bfcaa059346f0ef02c50e1964fe8ac61ddf6338b6f7a53de09d6bf245d359d7d0b37e1bad6d71cd967b5928d4c74951a2485f643750663c56562d24e5e302bf76bcfed8cb2640d629444125b56ca5b679559f71d4a7fa644e63998011196a1015ed9af3ebc8ec9b8a97df192de00cae7adf155828519aa0bdc4f9f25e748793fc0968a2d048a1270889fb089c11c277e3cb8395d4c13448a3d2e63091d335f1eccfffada1a932a0418a1b0a4bc266b08a8510f87bf50a90a25806ac09593a757a7841c46c0e2f95289f6a06f7ceb03b51b6c25cfa109483900a1c2b49419751401419cc85e118ac4b519d1e4ee1f0be5ea51559cabde38a0e540fbaf353b4bd94060b534394111ed7368209ac8b1c9bcb0d357a96b7d997167c464641730f5dc62716e2289d1969c226b306d7cd821830318778fa0ef247a53837ebbe36503d42175fc58dd63b5d0673ce158af84948fd51fab8306d5ca6aa3cc66431fe19ed01c9d8dfe89310b5401f5f200906101aa357108f2b8a02f281555131a6e60d6c1d769ba24da1d08f80f73516f15c539992245c3f91e7d44402df966ab704236b1d560644854a0ab5d779a91cb92d0ee3cd9af7c2d98384af4a6fd06770a470c5964d1268c419e1f77e9be01e5c54a982e5ce1bb71e8b854e0d11217d561ffd6b5da4af7fd6a48c468e952326d29ecdc0c55fdafff21d97cd7223333459fb29803c403768fec657c5b56376166ae84a7a0c642c4056c56afe25dd4b527ec5baa60bc7a45a8fa47efbd9711500593dd8111e28984dc6ed99f4461a25b18ef1be130db3de50e9c26cd3faaee0246952137193b4546816443636d583e0a4ac93bdca1dfea71c2385013e75289e036dcd2bb880a5ba64f83cdade779dd4d3e1e22b3e8bfb2101b16351272eaea520e08c07031139adf078dd6048209e09f6f005ca89af419ee80e04fe1d842b40155dce9a1d5e73be5d35a3a137b76bf03c97c71f5f503f538bd2dea5d414ef311aa90623b7f9bb659f312150596eb55aa2bb0475ef1ab8aafd6a5a826ef1861b1c8e63d60728fc45650cd60638719893f7cd7d25604c3025d2ff5f8b5c7f7c6c01262d8df523daa88e8976fbab0db01ff5be218616ea4926eaa4f8f330a14b021a21cb8e61de2a7f6e27fc1c547ce396e35b10007926950f7ff766fd40922aa9167d97baa4f9d1c63cd25eb35458473698a2ffbb82481a6ec924cd2ee5fa0ef20cef74bc34a2034edc10eebb82cdb2f5a4a392bede70f42f0ba83921d6493fdd0dc4d66547c5356c23ea91249781c911c2d4b46d709adce6fff57ca18f5e1d481695a6964bee82165f10d8575d6b297a34ad0fe6db02f88d1913bf2aed68006b00061714750289588091fa49a5a60bba72a12d40652fb8870836db6d771f66111d84a756238702f94b1dbb47edc85c9170ff5f970f8d6d5a8561ed838aa15e072ade281f9c5f055698950fc1dac87fa6c062af30962fc7419606a372554732161ba34128b38aa95697eb4ef6085b38eaeed1c946ed5319fc2ecdc930399d9470241b2a831c13e19d6ea17bbe364a462b0b1708c9f9e609ece2cdd522a7d4185a26b4d9682232ef43619608abeee702606bccf9e063a28bd93ad828bbd5d2abc40045beae5d8a866ba6e0c81eff9639ecc2350a594f06061f7cd2249d3ce2f0702a31a11e69d51bbb8ebcabf677f32871000ca22322758b6fd7d360a6c344c738007fa843cc66c8787203ff79a06d23dc1c0bd8a73b7496861a76efb63980557f016216fd71b2a2b0ca8c41237b1faef627913adace1f1a0cb735628ecface3ce122f3bc8057682162b700c4a521f6cda6c713b863de8d727d0d82584fdb23be02d09adbf32fa028d6ce5063b46de2cd17ac2b92ca50a2746e9125c95085f0800179d78862e215061980d7d8d8cb281e783b8f5c48314bdda9c778a8a86edf5270ba2a65f32f47bcd28832d829cddb5b00de69776870d4164f469fede36ceede2119a74a477ff69358b03bea84b6c5f09ef629ea66aa7f6fc533d1628bd09869c07dde72e1dca93a72fbbb5cbdb141abe017e8fccbad8049060d6a0ce613cc5a12ab70421ae49e4bb9c73c68de6624e6ba9794f6c4f8b58be27d41fd5bf8481fe0633efa5549d2baca52e3686a5c2a4c2cfe581b11f2d267160a4386f121b381214d39e676cb7b46e896c433b20bdcde7536357952c0ca36f0e76557e3d757e982249e8c24f1f58406229b78e2f544f73e10f703c6a18a737986ffb90b8db17dc179cf1c09a8b517d37eab629d083d380c2a784713af5000061385f0052ddac0606fad9907bae335bc8f89bd2afe446c952c8129e8e108e843bc5909d3d7f72e90964e51e934779ebb5692fd00722a4b43d0e3bf7def5130f389dc57598fe00021ca41cdb77a667566126399f0722f011210fac75df845df079388f491af02f0d25fc2446ffcbdaa1709f753cd6225d61b279e70b55153b0a52fac37973727f1b1adc65fb3c6e09479a3cd2cf511f8712958743d004f7d0129fc44a86aea0f50d18ccb3743cd7f7af24b45a5ceaf1e38baa59d8cc2148d56ff532971d39d87a8c140ffabea5b4cc60f3b6f73beac2ecc16af03ab918bd07507b8a2a48be7a817c18e9fe02e2a9248d8d0d4c4701d9cf2192e07d18a5a10682112676ac06eacc0b0b7f161cd106bbd6c240d2759a934ae0ecacee6cd81d3d4c2ab9e1b7550abe560d1858a3c4e3973c3f55fe7f60c4a117a1796ad68536fdab080720c7a1a362592cbf0ce79014944bdce97dd98e7c57f6bf13f76a0c1f09dc70a3067bdfc558e71556aaa7aa38851c290f7f32cdfacb6b0bd331c5b40dc8b6db154fd09fee0e42296088d9e9d5efaa907c7cefa2b5e94f021feee27881ae022d23ee82b2b23ce004228398d4941fd27ce75f3f73442e64f8356c5ff71a79f0c6133533b972d2fa1158df34cb980f2d98d261ae284b05a088fe046ba5d440692fedf56f81b1510113d9f482d1d363a1fa5865a5080dc9a694b449359e090b65065ed1f64e4dc55e219f6977c792602cff3c7105654b5f72ce2e6b79f29ba6eaa0df48b8e5425c6d223d4a8413586b00ab8ad9c45add3b6395a3e03b799abed7bf7e3ed09a44cffe1f285925828080466c055a37e36bd31d98c8c1c5b3a7f4ffca8d0728b752870a2c713cf117b862ae90fb7a52477c1444377ff0a6cc5e358e726d9e6cd743c69420686f7d497838c7060324a2e50068dca9a3f4b1a2d1f6421c60936e2738d8c30986ca441275993ee08564128e8b4741c9bf6f8a09e97d0e697e2b04c0ef85631b5ea3dd92cb3a40298a8246c4d623ac0cb3df0e8cc0350ff6053df4747ce14d15d1b29212ef05b3dac93adddffb55744b26fd5d444ffd99253f1bb735827d2023e7c38ded4986550f5fb3592332ad3dfd7eb1b74622525ecc9b92390585df060a419fa6dca1a965fc4d8897498920066d0d606f0d0682b725848c62612e3b2f0b80250e8ea018752130192e4b09615cffb2d22f4ad680c833e5ce77c1dd4ee51d660de96cc28a0b41f0676545a0330331a2369410c6ca5b8fa7efe7c6e406fa25b46865b095e5ecfa206b8c478054ba25acf2c0d97bd9e6a5b367357229c5661dec9fee59e8d30eb7d96947dc6c9f76f3ba717bc35b64a61e6777189c362432201f1183c270a53de3160131113a4f88622739fe859ba01795f17571fff5c9241f23490e3aebec3b6c647ac3934d83690636084be65bbbfd272865dd6f2db492293dd46beb15ab4c4f1411034581202bd6609cb9d022837ef225f54dc3f440a720f0eade7579ca6646441c2f4624045d155f0a006de0a2c341abae74431f62922bf1cf062041a5f0c611ed9db9dbaaa557e93ea957faec000faade81ed8d112c1736070e5a051f510dee52aa27e2aa712e8ded0063ae87fd7ca0b776664c3f1021b60c3bff883eaae9b874d4895a6ed133dc5e1052bccbed6d70944d0bd6672b03f2e215178460f57919a38a44e412bacac1faecf3ed39ebcdc4d8f36a7f5d990fc417f2e84feb07a2d17b225f92573b401ae36fe10a594b060c16bf50b075b00d52f4206017ebbe54e262c9f9511a292eec211fa12e5dbbd247ec9189d6086b157efd4c12055537118c60ba78d19a10bfa73e73ba093facd809f29800acee8d17e4e618b02b912891a1de15ff594a3751761ca813cc60392879079a522c7856189084d3102048873f267f08b647ca43cc580906242976aabb032ee3fc24d9c22a568abbaae4d3b90cf011b4478359c01f17857531cc5352202c1a8e1a8662442d3656a165f5658be69c19f1a137b1329f13307a7b4563236e206dce50d2a4961ce2b1f3cf3e230c5c574cbb7adc3cbfb8949cd4a13642c176e0141bab528e400d2ff96d5b4a4d6cd6d01de123324c044108c0f3c3cca9bee6f9b02260910a270a7db9047f43179cffed6c50f567ee8164298188708360214a08c4cb887aee7506eeea95763166b4d37dc34a25def1aa9e53510004404a16827e991effda68950dd2cf34edcfe805e719b70b20abc4cec648adef329a1136245a9b5cf0381f912a350008ab5b5bd47d1c83bfc1546e9a2024fa8a1dbd14ebcd3b5a4b869d9ce32604b84eb1d9024ccd524a301f292613316b1be92787fefe9bbb9950d75f56f101868b2a8175010d5975b8e2d136b2c9df21e0248b26f103372375d5f445112f21ae2aeb3dd304bcb6d665c5b7aa5774530d4e2d712d7642336ad13c8d91eb8805751549b17e3cc00f15b4866ff7f938cdc81e8f426a5742e75a4c2b05b0051d297bdea7b7eb0ee67b284093cde821cb8310ce35a5a0c444ef565309e884a8462c1307c2b4a88297cdaf5f15b56f09e121e1a3c7959e760736b04b7d7e9a51481f4b257e2a8ae5f94a5180ff8e4fddf1c380cd011d5ec5e0810aa3c84e2fa29d103cd609cb27836962318f5246b38cdadbc4eda603a7bba0cc45285389b2820b136c9c2392b96ae13ca72eff4a7731f01831fc3b50d9817606df28df9106ca4302a57cd29870a238c3aef468d364a74b086e010314ccf3737114bbd3a0b04ab5111e8638d50f61e657df06e8a2fd2c5c31a39a10e1baec13a432b89d1ea42ee121c8906a8d401ca9d7044c55ca426a34952fe15d162b55090fd644039b8b66932df9adf2a6d123c86c58aa3d311adc1e8616b3726bc923e9ab1830a88fb57dae11282d1c1d9bfa96ddef19d1a5eb95ff81e30ffbd9295ccf37a37ec151c8a1aa2ce1142a627aa173016d575a3efcf06bf4dde3b6c49647b6e0cdeee094928f4a19e2f48967c7564e01ce9d4d3e873b3da01807ceb45b1dbf283fa4ed68e0cb871a7b68c821844b9d820a495081d67635b823b2e4af8d8cd2f46fca3854a143ba19915e480e138c02993a67356c741c7c9028e98c59583c64174e2c64fd6c8e8d2f0a04a9e6efc4fc7e11b8a562c1585805fc14e062f70276bcdaf83b16f8063f1718f1d998792b2b04a5914fc52d780080b11c5f0de3c355aeb53e50c0375be20396a73cae34d7a04c533e1fc6f8e385b550ceed389d656e48e8f74c4b90ebc617cfa5e2c225f6d5909f406ae5e2a3ea751ec3bec6eda3ddb369f1b33b4b6fb71d6846b226cb365d8e04a4604f2f2b623edc2e41d0a513bd7c24308860d540c9006e71bd43a3b1b0a17e375fdd32fe6b596cc06680dd825b65b7ae8ff409974419b82f159f0858784da5ab6c5c46e752f20795a39b447cfa428dd0db6b1ae29105f0a26cbd43ecac4332e1ee841ae04bcd28a8e86054a939f23eb99c5e6c4c7b27ba24f79d73e0500e6a6710aa134cc1e8fb125d2073d19d457185235fecff9d07fb54f1c8786fe15d0b94525c57df49bae434e831de959bbc278878a0b60400018f67e52e03da3a2a6d8284c2cf6b24cad13b7cf2c846083771f42d0c056ad715d8fc1b8765207a7aa58cdbaac92a48f2f9d82ab748dfa62af4152e667c99a715077aeb0651d17e0985da94102d66365401c84dac5cd2f46666d4f2dad3b25411195948204836afffb5640a17a69a5284f974fb0a3464009813ca0cd6843d4f16cbca83ec497bd89f3ce1b6398bbedc19bc506ae67408389c4bda87e1361f830b96e849d6c08d0951ddbc3d5462a3fe1f7a3f584d2ebf20071b1a28b38be6e02ce7f5c325247a28d825c2d977cad1e8584c7ce747b700c3591e3c1de5ca231224e8c61a1df3277b2ee8695914f1d3df29bb8794dd59cdc592843f11d806cd9728983525f54a7ac029e85439efade8a73baaac5197266103594c1ee1abc14c850328ed4cf1ef8a18fb877f8e01504163ed46dee37a8da091f361b356fcc455b02e48c2ba58176b05da0329b7e87f35278ed716aa64789bf60b7c5a85fa05ee80097f2fbc157e78028844e8574f9d36d43bf4c1d9484187417516f9e67828f64a2a20bc5c5c0d6ca591a17db3d92c235a9c2a7b5a746f56b456ce46d654f4352927a555cf335f67921664b389055ce3f4a7b82c4ed99cdc5fd3e3b67a127bb5570a49d8390b51356b42083940afa211357c779033cdaefe82942cb2958ed3166a2a0b3e7b47a4943bb44f83e21de5c2d52c18c7f71d70153a9fb0fc92301ee7a025cf3ad27e484d82be7ffa5e09437e19990ffd3c1a7f050a6d1d31c2194f4b8016c124cac082c8603b212b383ff50a6f5f68f04d20507e476053dc33d2ef249319174ea26ab899c707205790e515f466005ec5134ebecc4ff7b708d316813e771f910fce8d4a51dcf07e78fca57129668dfec1025dadbb7d1091dc79d58972351922ebffb60659b0ea920b8ed54d5b2adbc63122388b95dcc7016e72cf96a9790e5384235107011a9ec2dc21859038d0872416b581fceb060adf002e206eaf0f23c1503131210994c36f5b26ffb53a758de01c002a51c694bbc8b023d7c560af00ac1ba1a265d0cf31798d304897d12847bf2d1f3a89ff0831da9254e0758e1a13b555584c850b01985067fdbdc84ac0593bac2842cd61c5477aef2ed6fa06f8020a15480627e646dc6c947f65a6e7922804b0d8c6db1ce611d81153b5ff481c25ce0572905ec14c7d4897a1b376583f504e88e2a2f36197e51094fcd83bd5c21f19a730184dd723c1b421b5760b94803c44fae3d385da7933d817af97a8146e0f41c896c01c50dcd67f47ca898255b1f6e1348765bff661655f00800f77b31505f94a74d0758b6f91d53e9e93a43ca3ddbde19b0177ce254fb536ff4235acf425896cf69a5b5c01bacbe5aba78ab7161c3a6a83c7baffc895d21becb03844451cd6c63f5f63cf8cee7d02db380343e1a9d6775af58e8ccc9e8796a8d37ffc8e296b7647fe816011c0aeeefec2c3df76752368a6ffbd10da8e796957541516462dece24d2cc06e50fd90f27d526e88aa4a895a68886226d975af1c59b17ed6472e5ed6c592b225f24cb1e2fc961aeb296bbbfdf0a473e4d04d318a97b0d0991026d3b5101382af12e5ad25fdf61ddbbb9c275c0dc2fbde33ee180fc30ba31e07259ae93fbc44b6d6d23481868670293a1527d475c77baae96a84135176f2bdfb295369f4fce7612dfa1ceeb788b359d232ec668091d400f2441f794f9258925b2f888b5a4ff17e6e384c9360fe7298404cba352c53c8e7f63546813c62be0b581ad5b93b98c6971746071578d2e9f1e2f9d6f1cfd0572c1604570b4b9bae41391f172e9f937f86c558a16a77ae34e43208b1d147d2802d3cefbf35b024fd04e72acc3aaf616487c2b44bae15beaebf34fc9692363390e8e7906d769c0d9a8cdc0492d4a4250f59ad9ebaca89f38a89581eeba2a528bfe18f57d453a01d7725b600014d39b4ed425e8bf7a1347859d7e3c3e2260556aef50deb3b6603590ecfca11944c2b378e1cd48e49be0236ec63d958203fe5b0a70889982dc68661f9ba702d7ea05e151c0d5af415167983e874e03ad9a3f04fe6ba1154a09d33b26cdbc62d985cf73a4bd7f0383d3ba07fe6c48743c2e755df260a882149e015352e2db813ef249a74ab3e221084df8883148da363ddb002e8ed1253618b1d35969d61f31651ff530ad10f6479fdf402848821245f313ff8e1e6f440b9e139267d7659a32cc78412f1a34af408ed3414b68dffb38621a60f1e0cbb7dbaabf4932a927f2d1907fa04d4e761f8c8d570f3deefaefb7835778bea9807aad32e1db0eb74771e18bf1c8c22200af9bf3896fa9764c72c12455117c57ca20d461c72bd5f25601618cdba9fd5969c264d371eb76f4cd8a363fd9fdebc1d56447acc40cc4feadb2c190b2359ac8a8f74b7b6b3deaa1018cf6bbf37c4b1a784d437a3777825a387d01b916ee66048bbbb9195f25f5e3e5406529e32b7853ff2bebfb561be99eb89db1cc1786604be7460bd3663b34fd9f309b6ed25af7a6c7998dafdedaa40a45b0105418d649f9e0ec14953ce98b4732f4df4006e018367e226ba74722881567357285579b7d794ec262e5823d623d4d118cc43651389d6bf032f5dc2520c2edae21e963fe599d3ecfc4ce70a7ff358d7bb28c12d5fbc88430d78425d548e675f1e0250373e8e940fad93c1adf69c344b4a8b1f14c8f43036342bc18f0184dd270c0eeb952f89d6adcc09aba616986c3bdc6bc806e1e03f972d276aa85c234e150506ca166e3bf46518c75ff841b1e1c307f2d99f1a8e7530e319cf56ad5b7aaee111eaac15ca18d83bf522723174edc7ba1389b23a984cbff64f30f7b659dac1890f09b8de5584fd230e10747dcfffb3ff9c2704752de828972443fe523376a8200b25f81f8a2c745a633074163cbfd5d3ed16ef79d5703f0fc0f151e5585c7c65302752afcdb25e0c125db09bb73bd1e420e52ad747f295e84e954784c71b376c1101eba81304e6cd26afdc86ebe5804624381e2f1261451660bb50c4c45bfb5e1600b2a9cd851b3512522791a1711b46d514ea262199c9e0cd8845f938d1607109356f4ddddf1815913ac3364c43565ec96c973b33178b88160242a8ca45287e02a19fdadce2c63fd510d42b48641385c2afa44d1046bfcc8a8b3fe67a8e3119029c7fcd15082942b4e91e2b060a9de824d821951a3e3724014c91efe1ff4bba2c1983dda112c6f4a8d14a0c374b168d30579745f4a9aeba1fdd14d2d5d09aa509a2b6d7b07c0d90a8f20e06e31d88dfd895c60a3c65cb11792609aec48bc31b01f580ad8977c303f24cd82796cdd6e6f2e4d63da4b1441e860a86d7767de7d80171e32c41b51050447bdacd54e7074f8afcac3023fbea479f193bc1e4ab45d21e3f1048b1b95b35c4e9049110360acfd836d7fe23738179566884a16924f0cd27c9d1cf61646917fcaea3b20f605d530b45b9dcdb6954dfdf68105973c70d01041ba2ff3eea60ac493c56d0ca410467d05e89b3266ef354ddbc0504afa7ee1426001161e5f95acf80886931d4e0b90159560e958e372b4451ef05f009814b402ee4ca7af55a3fb838a0da163072b5d3bc5cdc1c82e9b2f5ec92162ab9c7870e172c1094812d91df6aaee3988c42d042d94631a7becb52b955c514d9e2e4c8ad01eced7327a26db95441708e33a8a968a0395dbbb2f508deba7f184fb6cf79b12a7b392fe2f501d3435e55a659f2a629fcd9ed0d99e968f5e636f285ccd7da522ac500f0284c9f247058083293d70dbc2fca6729a27bf1ef09e34be4ec49a8c3105e8f5a6a796d7c5a1648340aaf79f792e3d51527b42cba9ba9443d660a359c287b0bbc6f55d2f65ff5c5bb552e25091a13f2bc7d5beab63c0731d9588b611e2c95c8d450016cd0b1890e8df3ddc41844dc87dc65ada2732448335098e17cee00894310d74b07cc0afa9e399aa3f5c292d3efa5a2b7dc4d1ee58a714725d075044733c134c2608dfdfecf300596326fe217422373fde79cdfd756951372bc401c0ef7ffb913dfbb2bd48836bd71aa4ec4fbd96d3d8fe1720b820959d0e587d301bcb50c287eedd2f9e03b2971de6ea98bdeaa62f4f293f371ffb37bcf01a9010582a84dc47e461617b37fa486a5899ae43f4b671fba5926cf924d9a9cc1dea923780ed6b9936015ad8fefaf233f1ccd2450d4cfbf85fe6b0d28dd34f6117a5c064b6359682460cabccdfeec2e4cd8f48f81b9dad8ab686791f75f261791d31e1108fee4bb11b952b15b8ba31eca87ca7392510eba80f8a46d3d80dfbd7bce2c0e4c51771bb232828e065c10c7372e8588a4d7d1b1543c57c44b655220d9308606ceb49094d1aba143a5f5b08d29bd52e9ab13a59de37b6466503eb1d616eeb424f7639f106ce9d5e80cf9fcdca7e0d02cc958492ce4cab974734d46dfce7329161a1b4e3165895dd3137bb8d7ce21bce5901557e6a4d19ca838c79f9cf7bac12ea5a937e7f52554dbaf508efb1263cfb0b233a7350c076299f00e2ad9c2058707883c81a64bc5368ca2f64a7e44db24d98100c18c226c535e11ecbc0438ac6a0bf6184dea429e39214485905696fa76df29d8a0f102f0c1a319880e91f86cd50d1c6576b1b6b0510ef6ed84d5f7b49d759818270a12a8e44da17ba8fdf587680f39e243c4b130a4a82586569464e4fa625c39771395f034356bfa9f106598d90e70376482a2c6d114457f36d1e10ff0afdd9adeab3d0c222a96c13cda7a257521ef28f409669760e262f6dfbd727a74b831a12335ebe3c408add5136aab309a02e3cf3fbb362c9f566a539452b21724c2b909a827959f507fed7ee5d8dc3e53030a373d9e806e7a2ac9fb2bca656d5f4d84f30a550c46708ce506c22ba282200367823d58ce295925350915529d0e5f61848b0afd1fec77fe37568b201f391812b8cac270e06283ec97ccc078d20f0bd80101567c700a667a299af45bb332dd2dd7c7c6a5f456ddebb79e41f805192aaff2faa7e693b0dae73532238199459b04d692b52837c3f70f4912fa65e43e865da3ce123fff5d75d06a9490bf841afd0a13dc2ee06d800403d431f7dc574137f9627eee323908ff18e75df8f0e17a2a21341c8b3d228cc85c756e5008a8a650be402489039994dd3d69edbb9fd236f9043494e54bb5721952d8ec0bef09ff996b2cbb25cd4a35925ba11e6d275d9b4216a4aff940c8feb891de4cee98457e39d6c9c83a107f8e8ded131c1c5cb04d7504f31e7a9346407d84af9e579a9fabfd79766365f835d4480bbca9ea513f5df22dacf078f24430adebe4551698090f4336bf9aa3a95a1d9d15cc96fc1da0846c186793bc464cb53b83e31aa4f14612e2598aa4564ff7033247f6c3312e7bc0b5288a708dadffe1128446cb6c3442eb2086e75a0f21d16ea7b6248326b601e61318872bc2e02f9c6e45d24443d0b17bd7771b2556b39f985b70e9740e5ee63dd50e36dff036e604d055822ddecb7fb4f3722575f0a631e0add358da7d9675a2dd1d5f6bca28a211ad9bf97d42a012781b8a285c7138c5a234e88e1429a303e53e01f8d2c40bd85d0eb2b86c9ca26c20fd96846e17ea56c698f1bd9d6e43e1b4610cedd35e4ceca27a1e846776083290143c64e8f75e35f095fd1dca2f818b60652ec6d0804bdd0fe74ba56fbf2dd9c5a56602bf59482df4925f82318d2d4fede02f7a21860c14ab0a88f4a75a4d9107bd9e80ae050d8f0ad16ced682f261687b30a9417de6b1be04dc76391a9bf3a96c2543feda257cd8f8c42d4e093e1bed0380f0f63205dbc777a93098a42d1f02f5d2c50f4e9ab2327b08f1ac668d92cde2024ddf8a714ab6597ff34f6af94688b22977cd2c985e267fef21dcea041fe75ac1467af307aa6d853daeac22fe3c034b4bec288b72eea8f86399b771c5407d30217913bac43fd3824ab03a3fc8f7ec4b61483524d22e1ac23da98c54216be116b287f15eae4cfdec799c131ca2cc6e0299435045c773629fefc781caad9c052bd0c320d719771984f0f4d38a87f42bcee6336838db163c4f3b2b25a8f4617ed0c2f34b94c4183bfffa99f0ad67c4c46786870a7345ec223ba214a176716c381af198e486fb4b9becd805b8d43cc4706a33cc8453ce78fecbe924df95973499a432a9bc33f8e44330dc66db844b406d142f7d52611dd4f1e82dc99a522a982d4f92ac5776d9ed398eaef4d657393fc7869736a9ecf2276b7c94ec3e42d30375edc0ad76ac7d9e2a359474c55d46581e088d18d8428cabd1d1a096f7b26b191b93e143b1f0b7c7451037fbb1f5ad68dbb8056217d28a57fd42a1322ce7794c439961cecc6dd81097a2609cd4c7d0a30a27c38a099381a26adc42cb32b2d42008d6125779281b7f84ecb37bb6cea4027cff83f3aecb3cb76f8f230fdd884109b51742759873d94fcdcb4816aba0da294b568edab5d845ec17d01821bfb8b1a4c8c3603fe700181d6e5a87585766eebea662aebe97917196ec375fefd37dad95736fc2caff8eb84263d07ad19efc312ba46c042c6c3950bbd912a1a34aa2e62c97d97274686c34058378bf8f4aa45af9b6ce04678b21fa9b1ac4c782712abb1098eb101095122be10ff24c28dcd1e13ee0ea82aaaeb47f96827849a3a05f256904ceb2eaf049863bc0e49ba6fed03d0a36b03292b66591a2cf0dbce5cea86ac87b0bf01981b862a3ea8962ec92185cbc223bfc99adc4898e56f3db6fb56192a67e7f803f79e34c5b84fedbebd805e6f74f145126d43459877a3c1736dda40fa49116a0c8d117dd640bf37b374ed31b36ffa7efa18de64de8601163c4b2a87ba88acbc270dbfb81ca1b1993b0e4da9db2892fcf941819bba14dbeed41ebb2b3340fa310a44e8f1953b8a110d6e9fdea1c7cbb7894c6b8a9f6e4dd9000d5d057114cff5075d4425d471909bfc5b28c51440a0cc9e87376003504471617c1892a66c58040fbfcd0e4c3550b3f75f8acf37179073204e69342e77310362128367d519007c2ef42b20ff9cd13ce768c3bc474ccdb6eb3053aab7a635f1b3165178f515cc6a26cf9c7bbbdd777d7dba6f3134dd9604ae4717d9e8bd429cb153c848e67a3d0014b72cf48549f11aee178fffea2a9bdf515ad96e37a0cab7a19123b5412f0a051947e4e74eda847e3bc25a9e61533283692c7f19341de9e03d5f10b1e972345026374ce4651715c9c60906a2ed0fbe1690a3a08b7f34bd6d676bd7fe50a09b1c04f85ae240a691c7a16fb08268738f18ece452d1ae1a127e58e6fb3f2d21e82c062f50497296f510a35a710e75d9325136a5b6bdb1a7fe9a49d081c0a1a77bdd00000077","publicInputs":"0x24c73b726f6de9946fc77ee612a1e477439bb81cb8b2c6de62020d690a57de6e181ae5996cd0a8f7d1320121acdf5fa0ce0ded260334259e4579dc12da0cbcd300c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af09300b2670115a9834079b6ecf908fe5d3fd0668954a583e95fe4ac21fd5fc1c5950000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000279957fa7f30a5180d14fa065ce2bfbed38e94b985f10b5d1fce4a95a36e59f914e8f9c951ad8f46a095c4f22714f5a2736cff40a950b3437e234331a756dccd000000000000000000000000000000000000000000000000000000000000000000e941ac2af91d7ea3e7b789a78258b8053812398befd8a0733610c3cc2c1c682df8aa820bd774c75ddc4b1e29f3b456f7848bba10a44773ec2745205bdf30a873e7124a260c41ccf0b34d81c5ecff279b638f6bfae659e3b180dde13f7d41d41352d50cf0ddebdd509f7e1542f13e39e5ba43f10b037e09a0c4a33df430b4a4a605cd1e2402ae9e1c1be817815e7675128508202fc4d93cc3bceb9ad073766efe80196dc0d29d2bed1413f5a8226cb788c86ffa17dccd213f6bc054bdafbc1c"} \ No newline at end of file +{"proof":"0x000037401d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb00000000000000000000000000000000000d82c97ccbb9dfb5a09d0a47efd9de0000000000000000000000000000000000bd18f88e1691544daea4ab46e1cfac0000000000000000000000000000000000000000000000000000000000004e300096c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc000000000000000000000000000000967b0d22683d31e5b17e35426a3d6734a70000000000000000000000000000001797d858818a84517997674b91cf6da916000000000000000000000000000000000017e8cfebd977560f74ed3fcd1e655200000000000000000000000000000083a2c6ba1092d375f451f817de298aef9900000000000000000000000000000000000011fc0aef0d868157395cf29aaefd000000000000000000000000000000cdf2a5bbc97ab3319ba5717f486f38591c0000000000000000000000000000000000004a9e6300ba93fb4797ae4cfd65860000000000000000000000000000004f0c5299514617d45b830b641601c3caa5000000000000000000000000000000000017130234fdff841fb0801f525e4a8403a0445876db16ef698e022d8fa26e65f36030f9d2a8bcb5b1b24a7684c4d7d42796e3e4ff389d43517a186e22e5c5cc777ede4f3c3e92dbfb9327806eac1f4e09f8b519e34d2c97794a0328ce85296c00d1a26fed1127033158000142e8ffdc0d5b9bee8669076abb6e057baeaa1c3a225cae41db3252b703c5ceb0fab581f1167dcd66fc90fd1bc3767b74688147261785874c194456644891ca45feb5ba5a11515d269c8d7a8f669bfb8686706b99819e72c1b8b41dbd9d9e5a2e9a905f14193782db7b347fe2cd790ec1909d637cd360611d4ac4098134b48c576ba9d68115282242fa373432e29e5434049fcf9a19e6f6d19713297e90ac2ea20c3248852274438d5e01f4cc60bfcfd214d48dc18f59bdb6a7ed3f5f4ad6ef326dfd1db51e997e94591c00c715af82249a35d5420f1aaa2bb1372e6eba18c7a6224d8b5b184836bb1f64c65e9d932130b7e49dddd346c11ede0f3d853661e553df0c1a8e0d58e5a7e720e0507e9ef224355d37644634a6767ca627b5a6c3ff318a10b61d071385327199315907de6e66ad5a3af3fa88445468d6b0415976c70400fd5d901941900d441d9d49fb9c107daf9cc61dd62ecf95908583bd5414bfff78fbb5d52411363e53285346c29d3bc32506953e47bc7dd7bee5db2e70ef1dcf77e210272994a19c7c2e4e5103c92b0f099bb8dc9c45df575572d83452c6c4d7a33b6c4227605bb8987bc38041e7a2754af3aebb29bfd6e7c06c1cfa43acd3bae2c709a30903f2ba48b5dca97668a341368da9a1fe741160b94d5397003521d90d38f65e301b7fdbdee0228ea36a332300e207e7a808b441757562add38fb38fc65d9caf0abc3dfc9e560074905bc668d2943a828458177ef33788c41d8cd52cfaba66310b1a866bdc3da494dd2d2c4afe81db9700f0e241c29ab598eb7439e69619db3a27ebb5a661228586d7e153b1df60aea33367a52093af489525d37b76f204993e04bcaa9c877078b94c662dd30a352fee96b97498321db9572e239871d71f200c1875c56d60921d22258e4f9a00b4e063177be47c8d329651f59fdab7356909490b2062ceab7f2fbfc87f5a6af45a78c419a6a07434e26f6dc6e2395253e27c4d0c45dbbb562718ea7dfdf83dc22fda46f643096c67fa8d83c73f9088aa0f944a303c7b9a89d925fdd1a130a46bea3f11488ea4db9890379dd274a8feb884f3b92d8138d137769aee469d37ee82c91f18a0624666c1a3a5d8c4591b980167205702f29e32456e87f9f09f21ed6c94d90a812860172ce123f68f76e63cf5ad0791249aab46881503a34eec2abbf366e5f20b8460300611bf73d73a96c9fd66302b1143562570cc041ed83ba0533a107c2212b5649b5cefa3a75a05e51d24ec36660e3bb2d6ead0283f93c923edb26a5e789735b66549cefe38b827b33816106efa22f3374938aeaf8c9e46d776454001317ca92d9b12d47440aef79c5f308be4c2198f9334f91e7f7a23975332fe93d7a7070317ac7b1b4deda80ffcab64c625e7004a4decf43ca34dcfc9175602e025cda5a55b1e62047464b6a436b6cde05d8e1cd51e44884a35372ec1fd4f88648cc1518669b31f93a5a91671b294ca1ea011273b897ae150b1b56157f4791f34f016ac582a5ee2ec43328c11d19de3806a60054276d5ba98742b074d2b267b43c74c2e05863865e16ecdfdbe8048c9f95721188b085cbaa6e5b48547fd6d1ae0421286eb72801d7bd78aacd599c5dc9fc44012d39d8d63104dce0da8b0ea7e2c4321f3f19b3700a161a3f5988583537637161b1559bf6f847cd8c0b29ddacd54a623bfc3130a3e7820abd840b78d6f6082b31b65cf2f1d09c42694a55b539964f06a2f5a36470ebddc07f4013b29f76084390fa143a705fbccc8906edc93da949e660f69542656400f47781308cfbffff09d07797ef2746224759e0a8a8169cd5d2af524234f96cbab777bc44229c4a0534928c2eb68ced24b7787ff1ff232497332e6f6993e0e58201f227d44e1aa28a4d42d38e2945a05591b58be33d7a10bc61eae7ee5677e3077e92d63afb4403c83281e8adc9c31cb77e20a72ff6457c4dd539738c5a7b788cacfd9c836adc326984911726b20a8ceacca6413896e69c856487222de3f47a18faed973fa1cbe2a49af0db69f160a30619f4d083033d390fbeab2f137b5829909e8b8b8686c2b1f778301315915d41e0c4d51ca95caaef1a86f1488ef17926a0ddad8645aa785d7cb2b21c61f4eb4b088bf1ece7675c62df43bf1a9bc1ad59a6b5f2d8826b91002824822c3e2c919317f31f2bcf00da1dd570a16d15866c8f5fe6cc2b23afdc0e8aba40535bb13fdaebc95ddc7bb1d42df897920a5f83af9b38a642c405eab0a8c9da71e4cec6f0d5c28a7423c897cb04e1d9df0833c73ee819786610b3208986a9d9d2a96e4fa92abc298dd495cb827a40307ffed021d8a07aec35e534535fa06fb462a61f6aff4f4885fcfaa95f94412a03d6708d18046ef3e039d208eb02c55227314cd82a8d85c7de966521f25b53e20f59a4d0e2c2b0e21fc9eed3274c2d6b9fd14b00bdde2b0e02da17907b7e700af85dc37cd1e10dedb14febf1438b50390f020a920f8957eb5e68167e135cbe3f8a154153167d3fa356e9ad137f8b1d6fa6a0d8339b6d0b3666540b8260342bd23321db27dba75d834df733f4d34b6721e3b26331e9d584f43c61bf5ece9b8bc27898bd851f0f878fd2e9b2b47c6a472918a2b39fcf2d2a34cb3d53bd9e2d67d81da197291378cf2557dfd3c41964ff842fb0bf6259efd9fcb9750ce01f95154c97541ac4a92f843a052c6cbf8b106c0e68c10458d84788b2d27475bc2f478321349230a1a2e841876a9a82d9756647819fa1f72bbcc00955958620a3c7d7d7a77011ef2becf6c21e8887fe620e57ce4b6d11ac9795ffeff18271e4505e7f85a15a2a430efaa4e5eb5fa1ff7130bc49ed9ad2ea71c80425d6fa1ea1ddf90eb8f16146e428ec3ae286d3e89000e3fd7b97131150ade0d9d3b01edb34b502036a2e69c9d8f96ecfed668d2a357669fefabeb2619bd30bfeef703d615264f7323cb4e21e18724878b5bc9f657d70bd3b6a4027e13008717655efdfefab884c6394aa52e7cfad74a5c2616b4a67da0f2b79e5e8a11f62cd86eaee4a10105963ec1d78eb07373a117d851e6d9ac06bb8668ef48240eddf698252ec4b635533eab81218d60e01d839254a4f824a45e136755be42da27e769885b9b9d788de1ceb523ab680e5dfb6dffb1e90ea0ff6afada128c299f0508d1c510bdf856baf56bd7a7f4077377a37c4d4dd477a26b4ff8e3a80d77d4241502630f0ee7f6c0f7f6523ead368aff10bf6d496dc017c5fd23d899d4fc892a160600c6c9dba35394f45925a6d668af17d6bcd48dc4c997c20c3dedc5b1200b6dc1f41612152cf50dbdb7b963f28e134f0a1930f67a83e3fba165a197a182057b3456b008562d214a796927ff650cbf5ae0175a02aeaec5934593508a8c03151e297f5e14f4a80857cd6c0ffc14ef77ca5939df3930d0d4d1799378ec09ca17492fbf4ad150b4381ce81a6efe837e609318224ac60a17da3757dadfe575f62c1a42936e0dea1182d6ae6c4b3e4d1f6d85635b9da9f33d2ac17f9d18d880c328e97fdcd5cac5990dd9e754a3fa879ed1afc729b7021914aee6618def546a6c036f4abf9394219910cc02fd96f25b9c26f9ba6c2ccf9c0fd9b6e5cdfc2da29f274b98bd1225e97379e75897f6eca05d537b81c2cedda904810aa3d10e7b28cb1895f3b13e6705626dece82d79f63325f69771b99103d80a8cd2692db01344cc16cd975eab218a93cee6f6f5bfc0ad10665cca707c228ca574bb7fc489e4469e2d5cd6d99ff34f80883a337ac4ada8fb496caac7fe5f05f202b2a533771dbcb204fd5cefe9994e2c778e077dac5ab1c35ffad3da5de8fba4ba90451b3fc3326507327adb065fc4230f5e7a4b5564915c8840790a4d123bcbc7229cf6ecc9e97024b755391f20f2683b90896c8eb1a340e1e2250bec32d5a8fd1e906a506b433027d6f500d18a86b322b7fc2d9d68b71f6b5eccfaa481fbcc8701f439e4fc72a01ae3eb3d430840640514d50136fd2820fc02b4e82608022e9fb6af4294d6088724c543dcf28e7f5b9fe07730e4f53ccfb2970b4f0523121076f89486ccc42a711a669b82283c5b2a0cc1a142e36d48a1623fd5ebb2976453176c89441b7065ec271aa52ca8bf007deea1cd4a2c676d9a5d8161ad99fdb937f65e9c396798f0f61641db83866b14e7b7f2762990e495b658a1602bbd86ff699ab33956a1744ce21c7a682c7436845c8435f2b85582cb53f80b773d6817002d63210ecd885cd4bb250d283a0e3234197854d156ce0e2a642735f8401822b2db3311fb9d5a26739c23664862e1c45ab7ed0d22f488294e92a607aed4495acfc4af7481727eb0cf142fc4f07b3744ea47f4f679b8e13961b04ca06e2b02e6c8c131664f09239cb9311715e1f1fb30b9572403837324d557bd11f1b9ad70088de966eb93ea78962e90283c6c120d18111260c75f1bd491b18c8ae2415ed388687cc9fc98ada7be647a1c064e69b3a48f5cee88eaccee5106a07cfc875bf32a16a87549d7e7b2e947eb0fbbc2803ca8c833be22f20d23ffa5c91c94124a2174f94802013092fee38df2277e6b8a06db9e94af3ed1c2b0090ef023c5dbc02207cd45348d3a691fd072c618b472aa76a1679d17c09d2dca2994f0f0694c5345f8fad995418bb0982ffbf30bbd8efd74df94544593f65a8703c436b454f71f3aad41864d23bab68fe6d60e0940331c92e410e9163e9278c91485ed395eabbea30f29133a193953b58694af232a4ef9a6008736e1f5c8481cd0d614129263aad34f2eb4b1ec8440392ad6122ccbe60044466f5edf636ed9ff4b34a33262b72b7b0ab0ff9db792653ba300472aaff60df34bdb5c4698feb2180159732614a74877065f655a1d466b82df79ed11b47acdcf39c0fda30dfffd637c78cf609ae90617c8fdcd55a161603bf4bd9125378d2dc2ce69ad9d190290f0e749b3b80b47536bb1177492a045e84cd678241fbb2cc238adfa867903f686857e2816b6b9377d448cb627d569052e3e1f11540736e75c4224c40a17e035220758192b993092fe3ab0b93a255882793b11e8b3048cb86944cb30d4e8dab21e9f8fffae17bbca27a9b0d54b780ea3a89927fb660584683d6287572cb584da54b75acf2d54873a501ca5ed880017fea72aaa73fc0e64e022d1bd2a1706051ae4fe1e02dae1a5e8048dabd8519860f7044738992909a411bc4c3dcf4fd2f25fc2f2dcb9d12fb507d3e5c968bc417b72f50fca53861b606f6f2167d10c609e31a5cf6e5caf4314a952e4b7548db661355896a1748627316be2e0307c460b9f90e77b4c64086d26ab410b70cafb770c07e3d5e2b30e1433de10481b32d3ab8f5fb74dffd528832e2c774bc821f0a921a91e15c432032aff6d31f9f930fa27338aca9e82b18d9a2095dd15ee375ee55b9877f71b73bf08cffec3ba08b53eb8e4cd01c0bcec82dc9322a6ac3b31bdd6d4c3acab8a3fff233a30b5aacb7cdfba7b0db8ff51806b2b18cebf193cc48e072dc05db118247c0b591305f89d38e659977c17b337b850cb1443dcdff8faded33ce9a93381c05f04f58eec01dbe4c1b3ee3ebc1ce5e4d55d68a4b5abec8c2f3e6ce3683b88fdca031ef79f351770d272c753808bd2eb589e4dafbc9bd45da783e8da27f7562270276de770cca4c5b8fa93a5801931d5f767b534e8f1bc498df003bf8b4d667d9d22373190114df79f841d3f383eb3d6fcbac54f613221c36bd6b03023aeffee161667cd3489bd428779d0f9ce6551f233243b13af46384b8ce1b9c7cdc330dd9501217e85e0828b6ae457ac91577b38e2cbb74898f82fbde18b125c837e1de84f285f20876d9a23656d0c758b0f797d205191e7a239c5de72405c723b32b43279172c642f511d72d7bcff50e85a078fef38749e19468941bbc6a9b35076545102142de6612730338785f01ebc75f66e6b7c190b1e4280bde3d681169730ce57490920584e61058eb4f2083878624dab99dd00fbcc2dd8a35885325aee91149a0b0c12adaf64ee94c96408fcfe41704a54fd0590a73de5b15b881755b7bcfdb84718b0c82f5cea901354a1166d07003553b9cf8d99e93de5d036b7873c906c485d11e4e60c5408fe76ae1beb06f1ccfbf68c9515317b266869878fd6ae99ec00ad03323984772d17ea788e1a6564584e438e611d0cef8d9156f71c3df9130524e712050e384b1bdf935dc7a424f647589364ba944a0ec4712b056f003ed8054cbd036578e615c5fea9609e9a0693f11baad586f6226d28113a58c1ac4260b9fcd62874f3b4509346d436e5257ecb83f279e51cd9fd76bca2844900985d06154513174e00e3c307dc23ef91949bcffd646d1204a022886ec0e59cf1e063686e1acb27ff7d2c62a3526d1295828034f9b62e4add8de76f7baac7b2aa327e7a490be106301e528475de37b655147852871a2109eb5b4d3c7f8373061fb5802944a3a71df79dd1d0cf6358902b629715cbc90d0133839a0fd43af4b40e223e040c23a12ed1b514de97cf7a9c2d0f8a2aba6b2c3c536d2f5c85bdd3eafdfe24bb667ce20c8852f949f32c149f2e65b97611efbf57a5ebcd6c530843874fbc5359ea86002a2dfc51c87ff65a3237ec2c2f9e668c9af89c4d2316a793b1b6570769861d8314df2c48bf2159010a4a4f33abf0c82b48cb233b39ce81fb8e8436a4acb004921d7ee7bb48858ec8e7d9ce7e459a1e0ac5b66bfacdbd24dd9876ba41c821a5e529e4c95181c3a6251228a400e4e4fadbb071dcd66086a1600b5b9a09db262c8122aa2560d3db7d01002f0dcf36e1cf1a9cacc7b205408a6534288b702543f6932ab1abd61ab5646c2d238f3d86f796f42e42afda89998b4ea2e197c24a588fad23b2492d6c12317f80fd2bd9abaa661eae1300b5fba63facdbed21b8c249a13000bb435ce2453b28a67bef5db6965da240d121e1de076c11ed7c2ddbe85132ee245f57adcdbe83d6265e7a2904357c9099888796a39d93bc0638a87ef8af1134117ae4f029b444e02c83ce83cec95bdd7edbccba1be000d81c0d77357947fdc5187fa7f67c8685bcff3979385f930bf587d113837b128702469fb61d48cc36851ca6bb33f6b4dbbbcbd2486b830f6b29f68f916ef0bff67fa5020ed2257a9c2b1e47e5b421781d8fbe6bbba1bc350285287498eb0f062b499a9d5326fdc971511a2a5fe6993c3192918abada27e2fddb4942f0d4499573c30b540aff8bff3d6d1b4b75432151bdfff5e80d281e9bd71609cb7e559d636896dc0a26e9f2d5f3c819978ad723cd5e17ed512e012383ad056a59b51e3015c1d25cf5279fc4bf7b4f2374e45b37a606022bab423a22ecc51bbdc39b275038ecbceaa6a7de26d9400e27ee26b521a7b74e7a5f9bd7dd7103723aa1d0e8cbfba9ec2d0ebefb56cf8614082e04ffb56d57f8d1feff17ac38744372ff720e0030200d0919402bada6de51069384ef66b2cb79fcce9860799f7b980e120424b63fa6e1a5df8608849314dc27bcd3b16176626910c9130f1a25c15bb4f85fb4494207b28230e6dda0286f8e240ae87e759546cb7e8699164ec05c3e619dfb83931e236b8940fc7a44955d481c205d81c270c7e9428524cb94fd5a99e43e02d8cca90681cb0d6bbbdf19a820097a170215bf8726d0b473823737d29318a7f96aa15bf7ccdeb31b4e82d673332638055b90194833aafe427a15208fdce14075b967dbee8b8858a1aa0fc8c14828116d6d2134815402342482a30a6a3a37f8862da659e02f020eb58f0002c85521f73bfd38db27c6a6fe729b32af86cf89d6e3717f8031725b1522557c7082cb14ed7f48a060e12bca01333e1de93b2b8f79cba00702728b306e4ca0c80d20692280d488f8d624fda58ae9fbde4f1c02daca46ea8ec060fb872e9b2fc8d0988e2ee85162007d8d37d8b7101200ef69e6d533e43730df304eb6b869115b0ddceb07b1bd584468249358a49bea667c4072e78d2243b44ca9e282ad61bbef2ccced290295d128a19e6a8c59077c0e6526a56d7270fd447e07074275ba1adc4fb4f5188e85607799267a221e4366d90a9b6735a0d962953e36bcb0f7af7a982431f71c16985ca3986e9bf5f511547befec6f03f3a8dbfb8982ffc5818db4b7e3d59f15d259b6dd66543ba0a71eacb6e3a03f2ef373bac5dbb3299284c188e7a8fa1c19c9f5db3cfa537e2e2215d88df9d5d191ec1918a3cc4b915a8f58cd03dd1a7c274cf6e3bb11ab6e6fde217d2a0d614f03113778886e5c5755d070126a98b9dc067e43b2e2bffbc9758f28e334fa84b8e6ff3e244074460730ed98723dd111c816406e6d5faff4a271ed793626444a02ff86f21e779af3a95f94096b2352ff8b13fd281c5879919fd3fbe98693df9d879c6cce127b41ef8cb28b8dd95105e9ec2bced726296dbcfea3f053f074eab5ee9b69a43a15f963d2ac791c13bd5f282c23e25c2ef45a44fc670828042e67a872e3368fe3d78281e7c77d2989391604dc193be57bc06853b666c4b2a458e7474a301ef8f45e99b61bd33d548549cd68350baf6f771f3f2f2e4051394861334b3cc57d7310a0f0f9c4feee715a34746c002251931332c277cdb25bcba703a0bfd80203d08412346ec10c0ec5af5820628d01155f91975383109bbae67834314f3f010b8eebb7007ac5a899b3a84e421e1406d9663fb0f071bbc54880d6ff2c4d072c4dc32e134369fa7d7fd76a7e4ba1b72917889a503991a0928fd0dadf8db83c4c0880d968464512119d594a42cda312247c2af1bfcbd2e49f3806061b98bf598a3c7bb9176e023521d9837ac5663cf5010e9cc61b2cf5d1b032670659bbb120d14a825891f2c987e70e985bfbaa52951063dc3b58459618a6c0ecef480b4151efd054bd9a8a1bb37614bb5090a15c54254bad8ce3e1e5aeaddc5843393e468c7f71e36b128fd75299eee3cbeffab28d13d3af6f7de9a0ea032a77a73350e08fc33d1027af37d7a437cafcbe25f8e2240d47a9a8eff797c21b1a97e2077c16c3d3451b366cfda2e98d061df242d5bf3e10d65607575668d8352a04f48851168474a9b6f354cc59e987dcd61ffc3efe7019eed6db364a02a68911a39e0748371f824f10180bbaf2bc737bf82d682b33611f15e8630bdb619bbbcb9dff58341012fe63628c4b7ddc7c33cdd11dec9172bb057ffc13c6a772ba044bdeffdcfd2dff48d3577d1d7489b0218c8c97967a63c60500c0f2fa5a22714ec268b3ec9b616c25fdbf9fe6933b5e36ef4cd8b0b9304b23535d4213862b841e25983271b21b7ebf146eab7e5f5745c6dd6af7268bf4650bd6d0baae15171f637abf493f65880a3a2e2c18913c07835f143363ca61ce9705a3b21d615f79a32c960550dddcb480bf4468c83a9a629d5985437c1bc5653c23ebd93db60dcd032e9e6ff85a9a0bd62490a4de0775df2a522e180d6f2240c72618ac63e87eed701492dbbec8c6075f4e99c6709f85cc0214097c1671c9140b2a60281bd492c1520a0d063c780bdedf3b25e86305c1d5a0088cb5f661e500780b615fb4eb58cf635ea5a6d6f7e870aa02ece849e44664a00a14689b6c2aa735086950a8054060be1290b2212abcf43eedf2adb146ec9a8676be3dfe082022641c351b5f7088bf448ddc2837439cd114c3369bfdd8d967993385c2ece90786191a6d932f30b30f3b287e3a4bb19ab227f9caf27d1ce1bb926031885f4eb95bc71da531b2ed55573be1faa132267c9a50601f314c61c306d9105b3c591814e51512be2bdce13f6890aab545dfd428867d7334fec54e3f318bf870438b72d18695221e00d93b7a6ffd3c36e4dfe0c00581178ffbf9921ac90bcff8e378828c532e0df612ddf66f828c7cd7efa50a45a59969af85aebba5ba14781182edd2ff788f0373a180b6541f7384519531cf0cb44f4dcb45a8f61c2544743c01bada279482192a0e4a5a9fd699506497b76d1a40874bb2ef3d4b57c9532392fe1159986dc80bbb62b5b4cee5f8dd1621f4d7673f5a9239361cc0e9f0ef60083703b03f111f0f27f93d001a5a05b791df37432d3efec5e3911c47168d4cc8182ad447de1c7e20b5f639c35d30e1dbceff8d09001e9689d9a1966c0f1c8fe2f67c1aebac51ae1e9f496eba8546a72d06b594543c7e6141d241d141fe1f0195a037363102a759187051e95eb455b48e2103b60608c1dc4a34038a301d80a4b82e62d5d9ded8c62b296680e847898f489baa7af03ed4a9d2c53336968d54b97292a8fe203b7d8b03a7ec5f659b2ad474b9f93999f545ec622896395f67a79644e345615026b5ed056f9e3fc672864f23f35752e69ac30052a5835f68e3a02f8e703f3b8a70a2780faa5e487517ff91d63aa2c37261053591fad4e5a048bd1accb3766031ee92cf0afe83cb432307a4abc39c8b35a34cc011ec09b2a7ad32eee5cd73007825d4f503c124c999e620527614decb6f4798fc997b4b243a3e9f4742a3d62069b6c06d11d7cd5f2813df84f748427485af79f38e27045b2873cc54246e6ffb571331fd1347981540301455b6885f370fd9ca9cad13253e1d3dcaa0e55465aa89cf2ae8284aa0daedf0aa36038c7ac181177e2469cee137f3ad02072bc046edd1b4b09b2b247454892b6504a0de707d9a6b6f4b6dc1535344054839fe8f96432f3cb4ab1b81132c9509766e5786e2a3b2353912f99a8de6ab274e219b4d0d62a421c3752665f2a0157dd8e6b7c453416dd37634e8fb40f6b2127fe6c4ea78cdbdd52de321ec75d2d4df0368a70e002a7d161c8034226426f70ab7ade6b8b66e8b0f6b0d15442d8c642f58e981572460c79c480dddd354e179b1012e62707d0326c73685063f9a65fc96d79fa903a9330a7de41b77e6285090b6841157e124817fec34d1304b57c806c0d1dc5978c9a2d6e325db0352227d6a13377f25b7b391d9179f9a29c1ac217e37bf4058df033cee6d06fed21cf5f73cf62b106c6ab57dbd22f80413b881cfba645faba4465fd3d327058fac45d9aebbd8969851e17a6e15b699591160e4906650a59ecbb0ff696efe8f48044060f75c5114ab74e1385ddf2b17191c417c2be3614fc485c36f70153a3c6058037ab4e591aa7537f71729892d0987020c215c2f8c59eb16335d50c2fce1add43c8386347a71bad77ee2dbfcb90bee180af974480bf4a1efb529f6850175bb0364cc5fbd0663e45fd60d568d5e40a21ba2bdd49a20727c7bca13c4648a89718ca34a78e460d683e597928f8f9b225e242c9c71de273c3c224afc193408baab242023969907e53ef556fab9703fb2ad26afd0864ad49409db7f97c5c089973af6fd8f88906cf876826871310ad5520805b40c6f01f0219017d151e6a6ee4f8b20bb78b97db6ebef0ebbf27e21be0cd41eb2d0c3c81f1fdba3d3b5230e6d57347ad1bd44852ce9567ec9c68cacdc054c1c9eccf0138d96b94ea305aace4c7d968e3224f8817c1d5bf4c92a0191d322991d48eb0c76847ae4234a1237f6b41458f32c9dc659c41312a4a6042785ced735109f86d9fa125c8e29e3d551876b68b2bd4ca1bc8f958965c7342707cf95e5282f33c0b1f034fdce935d16c3b90cde68284681caab305d9efd0d52353bfacb1e01b8ea6cdc559244790abb68688edd434a6c3c41953e7dcc52da4ee6c806179d29805cd73ee8c3e590a2c308923fe7a5bfa56ed602cbccd6e8e77e732ab1ffeb17e42851a4b94d1dc154c140c131ca79cf42040edd545285b5bfb6f2ec5b1e831dec149ce196ca5272895f46d2fa25620bcbc8a504eb3740554e986b1b97c28f1868c8d0a72cbb19eb941d709fa5db4450c8e30eedcd0e8079fd530419882b060ece53c9ff7ba246b3ca439207303df0f21cc16bfe8a2b06e58626a4c65d2fe521efd48fdca05b8b554ebb925ccab085d4276c6f925fa4e9c2ee0dda379f02be080b86531be2483b3637854dbcc08327b55a60762c6b986f45e6124a017845c5017fb9044e2e7987e2f6a6836dcff70ff0c0197cf3dca97a257008db2cc623a525a91b00958e2ddca88f9500ce2a82eb2852027365f6f12bfb14bcb6dd26aca220b5c67f76527dc9d58dd7ea99e4107644bbc9b0150b51889243210d5af2ba781a6d4a7414d35b3239713300dd184a554bb4d734326792edd2d70fd10a2efc622bcd2bd433590d272479f6ff94b68dfc07cbb898111f5012c4a83df88e4e11fc0f040b80a37c6673e9d51fac64764100ff8a5aa4c297653519612dd68c2a180816003889ad56b281dc5de4deafa9e0baa7adf90e62996140524f3c3dc6e6176125690284f28d8332f6789de1d6f6f543a389e6129b14437ef18dd83b21fe81a82e0752078a7e31c195b43230ffe4e13dc153df69ac499bdef64d8d008a2de28600f4347ee01f43681a4d3bcd44b0965eef5455c563bd0bd8f2b662dc71cd1c2e2377a13fbb12bd0ef700cfb3afabd97bfef43e430322184f4e788dcde1c8aa3b01ed5dcac790c9e18cf598ff45af8e7f2757b60da92f3421237d89a818e79d7a159f4020caeeefc8d9281e26e23a499f0ffac22fac78ee9f96ef628e57256bac28d2d46579fd1939ffc1dbec83ef400923cffbef76422fcad9da10694137a48c1bdcc6cc62b7d62a4911fd463a9f74e4f3472c8b686b0b22156d29ec8f92962e2ba0ec5add9fa140f2f2ced6b00070867c00a7f1c0828dd4bdd8904bdebcd7b705eb6f4890226a8ce7fbba4599c3981c098511b860add2e78a7850423c2e382f0a163d7b3ffab188be0c8fb1d3e57e0d723be939477ca1be0fea6b83d9c0fd540d6fc7097261bf2da0ac186992120e9478c8dfb6857d11d5d0e24609134a585f1bfd4d731de570144f2e088c47293b03e10724a67559216d418d04b85ba24b030cf6ee475cedb81de36674cd3982986062341e7a0396699f17fff41b0919dc4e1f1a9a09215d6714ac1b76980748896f2e8beb4e3bb41501946442b789175b5e2a18bac1eea86865266d86dc365aab78d8f6f4e8d56596fa2b874da7b70184601eae790947e598e586d12d48b9d19c39e7a801abe3f5b89135cf012406ed575c0419f3c824ba11e88224adcf805c982442cde52e1b364b1547534e2a98b6cbdc2b9b38fc86b6f8d4ce0234ffc5f0d533d570d00023d9c7e1dc663bfd03672f0118e0f860c6876426eabdc9b724e375dbf6f0899e432f67d1f51a59c0270cd3f50b82dd92a86eb6c2f6f99f26d48d06fa3be09a46f1db629315611079fdee6728087e8934d826cb52b76f1e2dee90da34810da2017427805b00da4d3d0c7d93731509ce9dcc8b8b9d491d6f01fcbc36d633c5357a70f5cc202f9320f032d86b570db1c0d08bf020082e84e6414ae0a03b71b42e9a1a35d2f7709462f6268c7c73196296419d701c4e7cc84abdc9e9df811ee1e7dd3afa5c4a0227a33dd4408ace0be9f63cf610dec29d6c47ebec97961a8cc82afe9644e0de61a72eea368c79a71220f693a65a205bce65e8e23e56b502ade49ee663404b59d9575841646171520b044c91ed1a42bc00fe040e0149f0946c41ad5f30898f0aabb301d18834f3190569ed4038ac9f0c08564b0ac4a93e3649e6f64d65657cd3aae84afc6e437d8f29c285dbd98dc38a2fab27a5c693fa08f136472be06fee0b8e2e031b47d4ec231f680858c5f095886a824ad1a68b57a84c07121b2afe741781d833466fe9ee9920c4896cffcd89ea4270aab83592907129de181ce591b822ec45ede56c5b38070feccc520c560fea4f093374d16be3c08d6f6b0c9499cde1b7a941d26081fa350760aa13989e9ea8ad9273a77335ec4ec18bcaa3e8b776988c6eb888594f0d460806d5fdce646483d60b5d89fff89f738b5ae472fa66300c340b15a6eaae26152577a6228cfa4591ab6c1ee99dc02e67d6cc2416670249a35396c92a797138f10ceda072c38b13033ba00caa339273fd60bc0986746b538adef59b78a98cb79c0afa9e939336a7d2f6c5fecd7b28c37e7d244d1d1ea003195e1ed5dae8d5aee30ddfaaac24767ce1fb1c9e541dce75fef13554ed1597e8d2789dfd6eb200fa0e2f4a78766ceb092382759f85f7041c21d1d399c00b198bda9afc7f6b04e806fb10284e53398a6f9d8fda7a504b14078e5c036e77597d29ef70137c6998c6057f11139bc6a00d7dad45470cbc8e00cffceaa1a18b355587f83f75f05209e1914d0a559b7fcb45f05951079de38d7c520cb3133238bd34da88799fe0169717dddd1836bf45d2fde87fd8ae91e846f3f548e926c58845966d2f5a8e3ae889774fbd148a5f727f5f2656291e847c84461568603db4a91fd1db617bc3077101ddb87c1c9b27b075b6fe98af8f61e8591b58fa4dfa7b8133ca0403014e39d52c0a7114006439e66454bd236ef58895c8ba415538cb25a439672e876793462dde2e6b3912a1ed31f1ec837d97c58da25d8eccc0020f355e75e9d0ddb9d8b8f20c5dbae300000077","publicInputs":"0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb4e30bd18f88e1691544daea4ab46e1cfac0d82c97ccbb9dfb5a09d0a47efd9de16c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc967b0d22683d31e5b17e35426a3d6734a706df32e687ab5239d9f94c6f781ec93788f5335299e7824d699b722d99f94c8ed3a09014fba85c2a284d5019e3bc749d"} \ No newline at end of file From 1926d685a12ea3b6c006cd44601f31ff29a855c0 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Wed, 18 Feb 2026 16:28:00 +0000 Subject: [PATCH 21/24] upd comments in sumcheck --- barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp b/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp index 2c7f864b3057..d49daebaf265 100644 --- a/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp +++ b/barretenberg/cpp/src/barretenberg/sumcheck/sumcheck.hpp @@ -583,9 +583,10 @@ template class SumcheckProver { // Prepare sumcheck book-keeping table for the next round. partially_evaluate_in_place(partially_evaluated_polynomials, round_challenge); - // For Translator: send 154 minicircuit wire evaluations mid-sumcheck (after the last mini-circuit round) if constexpr (IsTranslatorFlavor) { if (round_idx == Flavor::LOG_MINI_CIRCUIT_SIZE - 1) { + // Send mini-circuit evaluations mid-sumcheck so that they get hashed into the transcript, + // ensuring the remaining LOG_N - LOG_MINI_CIRCUIT_SIZE round challenges depend on them. transcript->send_to_verifier("Sumcheck:minicircuit_evaluations", Flavor::get_minicircuit_evaluations(partially_evaluated_polynomials)); } @@ -825,10 +826,10 @@ template class SumcheckVerifier { transcript, multivariate_challenge, gate_separators, padding_indicator_array[round_idx], round_idx); verified = verified && !round.round_failed; - // For Translator: receive minicircuit wire evaluations after the last mini-circuit round - // and place them directly into purported_evaluations if constexpr (IsTranslatorFlavor) { if (round_idx == Flavor::LOG_MINI_CIRCUIT_SIZE - 1) { + // Receive mini-circuit evaluations mid-sumcheck so that they get hashed into the transcript, + // ensuring the remaining LOG_N - LOG_MINI_CIRCUIT_SIZE round challenges depend on them. Flavor::set_minicircuit_evaluations( purported_evaluations, transcript->template receive_from_prover>( From e7db432c00be70ea41514571045e02d22aa0dfe5 Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Wed, 18 Feb 2026 17:50:16 +0000 Subject: [PATCH 22/24] love updating these huge files --- .../crates/private-kernel-init/Prover.toml | 108 +- .../crates/private-kernel-inner/Prover.toml | 420 ++- .../crates/private-kernel-reset/Prover.toml | 248 +- .../private-kernel-tail-to-public/Prover.toml | 64 +- .../crates/private-kernel-tail/Prover.toml | 168 +- .../crates/rollup-block-merge/Prover.toml | 34 +- .../Prover.toml | 252 +- .../rollup-block-root-first/Prover.toml | 324 +- .../rollup-block-root-single-tx/Prover.toml | 20 +- .../crates/rollup-block-root/Prover.toml | 24 +- .../rollup-checkpoint-merge/Prover.toml | 170 +- .../Prover.toml | 584 ++-- .../crates/rollup-checkpoint-root/Prover.toml | 70 +- .../crates/rollup-root/Prover.toml | 176 +- .../crates/rollup-tx-base-private/Prover.toml | 3052 ++++++++--------- .../crates/rollup-tx-base-public/Prover.toml | 578 +--- .../crates/rollup-tx-merge/Prover.toml | 24 +- .../fixtures/dumps/epoch_proof_result.json | 2 +- 18 files changed, 2961 insertions(+), 3357 deletions(-) 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 fdba7a8c592f..c89ea984f2cc 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 = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" +vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" is_private_only = false -first_nullifier_hint = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" +first_nullifier_hint = "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909" revertible_counter_hint = "0x0000000000000000000000000000000000000000000000000000000000000005" [tx_request] -args_hash = "0x04766a8cbf1a68801a3b28365f555fd1d4b4dffcd8ced14a68b38ae48f8e4cf0" -salt = "0x14dc0de75c4acb1f2b629081b4027afdc91c09b6e02287c34c8f105952ae99f1" +args_hash = "0x2e794a28b0b5d0dced5ce24b856f82fec2ff6f6fea1eb35480c0917ca8d50b82" +salt = "0x2a6397bf74f251a64424d758153d80d986c541ad2f3516ece4cd75640aacb393" [tx_request.origin] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [tx_request.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [tx_request.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [tx_request.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [tx_request.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [tx_request.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -37,7 +37,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" [[protocol_contracts.derived_addresses]] -inner = "0x139f8eb6d6e7e7a7c0322c3b7558687a7e24201f11bf2c4cb2fe56c18d363695" +inner = "0x2c2d673b54713aeb2dcdaca8bbd78b14f7c3adcdf4916900658374dfec4c423b" [[protocol_contracts.derived_addresses]] inner = "0x1254246c88aca5a66fa66f3aa78c408a698ebca3b713120497c7555dfc718592" @@ -223,39 +223,39 @@ updated_class_id_delayed_public_mutable_values = [ ] [private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x0b902b7fa8bded2d2a3664e5fcecef9fc809f345a31fd0e2b54d08a420bca10f" -y = "0x04aba52630cda5684c942c56f7679eaf603d8d6f6096f3d6b6186bb666af9fb1" +x = "0x11be5cd7f43f5d54e032f57c544480430b519d361bba26df2a69ac8debc448cd" +y = "0x1dabf825588b3d5fad4eb593203dd3366d5e8f37665a6874b7e2f3f951b51089" is_infinite = false [private_call.verification_key_hints.public_keys.ivpk_m.inner] -x = "0x1d45dab28a2a785ddb932042294d5d892f8f74b308df01b0193f1e0a949d3c6a" -y = "0x29fa39825ccc1b1a9f0f781e5c2897c0665d6da7503d745fe01a2a7ae69e8395" +x = "0x01672171accabd7d336fa968a0ed5ad4b31882cd253194ac5d83ba368242f442" +y = "0x2dc5d85411f3c7245b3bd016a289dcc23b77006b310e98f5bddc147fc362cfff" is_infinite = false [private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x2b0f5c7183114b8b7d23bf88ad91c7d066061cacebc20c889910075092fc1917" -y = "0x14649ae7aef91c76da862838f29980c8688d73d865b9795fa997dc3b59b20fc8" +x = "0x1223511ae5669466f6544fc087b2ca622e6befd4030bda8458c9a03f6b9b4edf" +y = "0x23f07e0c8481ebcbdb868048f02c835d43fe35197283b0725ee1c40fbca29ecb" is_infinite = false [private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x1938910de000c5cc0ae97f0127791428616c022786c3583f4f0a1ec00e6abfb2" -y = "0x2ddc0ffa914b7982f589c3c9c2dbeae50087a1b62c9e12d44a25fef7e644f570" +x = "0x1afa8caa66d71ab4a5dbad5d032c01955bfd758293f950c9a427f46debceba24" +y = "0x2a2017d5cbbb91a5ae63b730905696546539e11e236031c7e7be0746f3550f11" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x16986005bc90e61280b296b98c934c51e600993d33a14a33a3fdbfcb1f9d8f77" + inner = "0x11da6749ca5b2e526392b80c1f4301d7fa9ee353c2f1f4f9024769159abef32c" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "118" + leaf_index = "138" sibling_path = [ - "0x17b36b676ed431e9f615ef58cd0f10224fd9c7047d70394bdbec574bf72029f9", - "0x2dbd02096a238623d3d9ebad8e3e8e8f8a1dcc9f43f85dbe7919e0d1c0bf5eb4", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x13c01cf01cd61604ae55d7ca1986fedaa24483a282551eaa41507dde892783d5", - "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", - "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", - "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x1b4d427b4c28d92f5cf1e4141a99332a68acb4d22bcf108e4aadff0b7405efaa", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x1979b3312cd46eeb118628a0b93a31997be310d982ca053f5b30e3c9c44c4775", + "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x29ed60a063400e95a3842c2702b0d6201ac75dadff0e6c8e0fc7900da350cc7b", + "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", + "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", + "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", + "0x16a1c6de7a5a761e1f07328bcb8ebf79b0b10692039713ee17f1529c99443762", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -291,13 +291,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x02dc2c982d64a1b6d290d8b35b4a2d5451bfb52d4f55a5514ff6859149e70cff" - value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c" - next_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + slot = "0x10d5436199eb69fc55baf9faa8deb535d9c18413f1532a8f363c397d2505ca70" + value = "0x00000000000000000000000000000000000000000000000000000000000003e8" + next_slot = "0x11e05ed03be6c70de51e14f2e432312e34c8cfb96c7921369e103db9e8191bf1" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000078" [app_public_inputs] -args_hash = "0x04766a8cbf1a68801a3b28365f555fd1d4b4dffcd8ced14a68b38ae48f8e4cf0" +args_hash = "0x2e794a28b0b5d0dced5ce24b856f82fec2ff6f6fea1eb35480c0917ca8d50b82" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000002" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" @@ -305,7 +305,7 @@ expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000 expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" is_fee_payer = true -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b5" [app_public_inputs.call_context] is_static_call = false @@ -314,7 +314,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 inner = "0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000" [app_public_inputs.call_context.contract_address] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [app_public_inputs.call_context.function_selector] inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" @@ -324,7 +324,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 [[app_public_inputs.note_hash_read_requests.array]] [app_public_inputs.note_hash_read_requests.array.inner] -inner = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" +inner = "0x29d08b1feec73a1359d78035b68268fd7460c473ceba671fd9db9e4898b211c3" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [app_public_inputs.note_hash_read_requests.array.contract_address] @@ -1097,13 +1097,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" + calldata_hash = "0x1b8623eaf6a2619806121217a4b191268af51f45a4fc9d6b4b01b1b2e6768097" [app_public_inputs.public_call_requests.array.inner.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [app_public_inputs.public_call_requests.array.inner.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [[app_public_inputs.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -2039,62 +2039,62 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [app_public_inputs.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [app_public_inputs.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [app_public_inputs.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [app_public_inputs.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [app_public_inputs.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [app_public_inputs.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [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 6f27404449b5..a3bf805f2976 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,13 +1,13 @@ [previous_kernel.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" sibling_path = [ - "0x2def0f0f11588ba2936cd0928e5e46c42e8078b9e8e3ea92e78f092a60c0f04f", - "0x0b1863e87ddf257d402a955d22b6997848454efb8045161e6dcc7dc866a58363", - "0x26d85d16041420be501663383cfc864a7ab8d899a94fd6f835061c43d3be3cd0", - "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x17cbe3fbba9466b179df0d95580926d2ea40cbb724e8b830b682e6eb1798224c", + "0x2bd9677f41506875034880acc5d0b7073c05ad8b4fda289654d56f146aae95c9", + "0x0bfe58578ccf6165fb9a8e071b4a6656457aa7af9ab8323aed5901a4a880bd6a", + "0x257350c2abb392ee71be3df45bcdbb0d8f15b4982e2a68ed8137392126337634", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [previous_kernel.vk_data.vk] @@ -15,30 +15,30 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000021", "0x0000000000000000000000000000000000000000000000000000000000000c3c", - "0x000000000000000000000000000000cd6f73307dfd57526273746e6ea4db4b79", - "0x000000000000000000000000000000000016d8772725d61d8d2ee53ad115c11f", - "0x000000000000000000000000000000f0103da68a8e701a1c60738ed38a13dd74", - "0x0000000000000000000000000000000000291dcdd8ea78b351f2490229617810", - "0x000000000000000000000000000000d957f1d317741a4d84e9fbf814977dc7c7", - "0x00000000000000000000000000000000000c800f155b9b286b5d07333d3ca159", - "0x000000000000000000000000000000c2ac04c1f93325c86a89342fec1e035cc4", - "0x0000000000000000000000000000000000155e72d431cd250303707b28c25e7a", - "0x0000000000000000000000000000003c675d5a460032518080a7be7092d4a4a9", - "0x000000000000000000000000000000000003a0291493a091b0eda33fa94ab042", - "0x00000000000000000000000000000053585e3424e3dd5c949b16e744d6f30ce5", - "0x00000000000000000000000000000000000769bc9d54f7bd1a5c2f0d48b88fc2", - "0x0000000000000000000000000000008d39a3e0539e4bd24cb37da89e049f6229", - "0x000000000000000000000000000000000002cc995f97094a9d02a5b507c81cfa", - "0x0000000000000000000000000000000b2e970ae114cdf6c5dab788990e118835", - "0x00000000000000000000000000000000000823d2056a985f7cc0ef1eebeb28c0", - "0x000000000000000000000000000000198b435e24ff289f5815ef0177adcde2bb", - "0x000000000000000000000000000000000019dba17255b635c6e1770a0a5e38f8", - "0x000000000000000000000000000000168f60845fbd6a7b13674a9ef59870d9f1", - "0x000000000000000000000000000000000021931ac2b0f7b960b340cdc17c95c4", - "0x00000000000000000000000000000020adfec13fe3ed6057e3e92829a3fff4c2", - "0x00000000000000000000000000000000000d6489117bf45bdc6e9d798dd54ec8", - "0x00000000000000000000000000000005f0486bf94a5e8152a306ae5de35871f6", - "0x00000000000000000000000000000000002e806edfbcb959005bce566261c4b2", + "0x0000000000000000000000000000004cdd23c6f30de81e6deee7ba8cebe32c05", + "0x0000000000000000000000000000000000296d9899ebcf0e06c684b61e8b1060", + "0x00000000000000000000000000000098e4ef2735617f6a1c4a3dadd641fb9a46", + "0x000000000000000000000000000000000021eb0c85a5596a69d3aa7e5d70628b", + "0x0000000000000000000000000000005f3b9566bbbf0c09948fc9d9e7ffe20e9a", + "0x00000000000000000000000000000000002e2997d6f63ad04b6da794ee3a245f", + "0x0000000000000000000000000000001b6ec43797c836673732e8496603dfe358", + "0x00000000000000000000000000000000000b638ebbc9f7bc93fdb3d249f26240", + "0x00000000000000000000000000000075a3ea9097fc57a7c4544cbd63c34cead1", + "0x00000000000000000000000000000000000ae589d7180c76d414df3a822ac340", + "0x000000000000000000000000000000ba54e37dcb17d37794edae34b7e7fd38b8", + "0x00000000000000000000000000000000002bc9c8db229cbf6274609b06a81a0d", + "0x000000000000000000000000000000496100abdfe4476c92b25cc176ae8128f8", + "0x00000000000000000000000000000000001338feb5a9f61f6bca9fb4b6f978f5", + "0x000000000000000000000000000000b245efc8edfefc97b2bb79af1036b13103", + "0x000000000000000000000000000000000023052db9ddfaf2dd8268ed608204b6", + "0x0000000000000000000000000000006d7575691f52cfec187e897344e78b9873", + "0x00000000000000000000000000000000000bc908b2072335fed438a74aca84d0", + "0x000000000000000000000000000000bd7d5f2a38b77c3fafa04b9b1c3a15cc26", + "0x00000000000000000000000000000000001ff71e62191b321157e3f1cd65c186", + "0x000000000000000000000000000000e075347d4805b9ece82ae2757f266afeaa", + "0x00000000000000000000000000000000002e681e3be7aa1cda65f2a58b3d1663", + "0x000000000000000000000000000000575fe2b2dde5e39961eb15ff99efac3470", + "0x00000000000000000000000000000000002a27006fb03035d83d859b1a69de12", "0x000000000000000000000000000000e90f95f63c2ea0811a6179d2067963ee2a", "0x000000000000000000000000000000000026906572d22b1686e9110d22bb134b", "0x000000000000000000000000000000d363f9aa66af0e0f8a9767a5207311d782", @@ -47,66 +47,66 @@ sibling_path = [ "0x0000000000000000000000000000000000248fd555f916c8daef37da4996dde9", "0x000000000000000000000000000000504b12d512be8bcc40b0059d970358d8cc", "0x00000000000000000000000000000000001bb0ee83aa8d32bd0709019494e278", - "0x000000000000000000000000000000232865b230fde217ad6678a244f252e5dc", - "0x000000000000000000000000000000000000fcf0fa9bd75d81ffa539ef0d52f6", - "0x00000000000000000000000000000022ac89f1ffa0a580e66433edb506c2c53b", - "0x000000000000000000000000000000000021b6eb4381878d1d2837271a900771", - "0x000000000000000000000000000000405e4197e5d05f70047d6555d51685722a", - "0x00000000000000000000000000000000001dc2c959671e6225c067ae91826383", - "0x000000000000000000000000000000f5646f9f55b2342f266d695156fd726963", - "0x0000000000000000000000000000000000076d0a773414d2d45ef101d8d87ae5", - "0x000000000000000000000000000000e456468d8bdaada49d01a6a59f2a388a82", - "0x00000000000000000000000000000000002b52078588eadafc8c12ef0581debe", - "0x0000000000000000000000000000009d873ffe657dfac44e5ef937e466b5d005", - "0x00000000000000000000000000000000000e77ce53df5d554633096112a7c424", - "0x000000000000000000000000000000063f4ec9dbbcbedb81ab1fc791a7772e74", - "0x00000000000000000000000000000000000d65eb157eaad3dbfb01b196bb32d0", - "0x0000000000000000000000000000004a5aaabac47cd028c5d5b725d65f2afddd", - "0x00000000000000000000000000000000002bd54238a66f2747c9ba55368a5e12", - "0x00000000000000000000000000000081977161cb45d26857773616756c125082", - "0x0000000000000000000000000000000000092804e71c5516481bcd48044228fa", - "0x000000000000000000000000000000d5e9559038a37c982add18940ab9a0dd3c", - "0x000000000000000000000000000000000029a5d693ae78a6777c7e0769678a23", - "0x000000000000000000000000000000d2f89b1d8a806a525e099d384d90e95734", - "0x00000000000000000000000000000000001abd803802ea1dd69e3a351e7afa0d", - "0x000000000000000000000000000000a4ceda6e7217a4b6db0d0a7802ef38fff5", - "0x00000000000000000000000000000000001fc0d7e2146ef1f29becddfe7be7b8", - "0x0000000000000000000000000000003fc4a4ac145dbe062ffa88c50366f2433c", - "0x00000000000000000000000000000000001a5b6c4e3985cc703ff585ad755545", - "0x000000000000000000000000000000d483817c514c461ff5cd09e96b04cc5d1f", - "0x00000000000000000000000000000000000e76ff7f725fbfa4432aeb8d21d04e", - "0x000000000000000000000000000000684f00a490b92f03abb77917980c346c58", - "0x0000000000000000000000000000000000146235df4a0f2e98b525c6704b37f1", - "0x000000000000000000000000000000f050172de285dad998979d9e362a5622d2", - "0x00000000000000000000000000000000000f7b6bf1bcc5c4820e55d2076b52cd", - "0x000000000000000000000000000000534bf8af32543e1bfbf90125220053c474", - "0x0000000000000000000000000000000000088d80a1d3e1a32ce29e6febfbeb1d", - "0x0000000000000000000000000000004e86c55d9cb4aced14409dd736b76d7e6c", - "0x00000000000000000000000000000000001f03bdeb002e9c1ea1797dd375ed8e", - "0x00000000000000000000000000000067dd380c3284b2c4c44aa50ab7c921488a", - "0x00000000000000000000000000000000000644b3e6b9a26394d056283869f1f6", - "0x0000000000000000000000000000009f6232d66addbf72888715a5f7ad09516a", - "0x00000000000000000000000000000000001610caf302c8d8af77ba1aa0f4b2fe", - "0x0000000000000000000000000000002b9b2fa9adfea511f589c5d164b8078b70", - "0x000000000000000000000000000000000001603722a29a23e66d73383c8c93c0", - "0x000000000000000000000000000000f5c10370c68d82f87dc28f8dc1c79e7929", - "0x00000000000000000000000000000000002c67d1f1a8491680558a44ee09f427", - "0x00000000000000000000000000000077203025078f78ebca6e857292ace12d06", - "0x000000000000000000000000000000000002017c53f377709f6c0ef207a78291", - "0x00000000000000000000000000000029f1ff0d2aa848180d2b32e9ebe5e13690", - "0x00000000000000000000000000000000001113554049c41d71bb9e0f647e71dd", - "0x000000000000000000000000000000fa6f89cbbb860822044777ced691dbc0c0", - "0x000000000000000000000000000000000028bb43ef2fea3d73b5c93840299af0", - "0x00000000000000000000000000000051e86027f67aef5baa7966727451446959", - "0x00000000000000000000000000000000002208e62bcd4c2cd280af379dcdb5ad", - "0x000000000000000000000000000000f669127a30264031b2415b15e3a35fb5e5", - "0x00000000000000000000000000000000000cfd8d7f05e2f1aae0b79676467393", - "0x0000000000000000000000000000003519f0fb4bdc5b56f7bc63cb178eade948", - "0x00000000000000000000000000000000000f8c2e7c436e04d3d0bf88cebac23c", - "0x000000000000000000000000000000ced94ad87ea90172c76c93e8314b5d89ee", - "0x00000000000000000000000000000000002caf91eb367f9c81d8480eec9ddc72", - "0x000000000000000000000000000000963994093a3bef1097f7076c58d9410a71", - "0x00000000000000000000000000000000001474d079b0195b42820e254bc694c1", + "0x0000000000000000000000000000002ac04a8e675a3687ceef6f30a2829f0202", + "0x00000000000000000000000000000000002072dc8842d32c2ea2862d634a92fa", + "0x0000000000000000000000000000003e1321520df05b7943adef9d54e8b75140", + "0x00000000000000000000000000000000002e8541b5064b8d8457649075d0dee5", + "0x000000000000000000000000000000994c3c7348dab130ad04a92fa996671ca6", + "0x00000000000000000000000000000000000b56c539acb5c0a423535711c7bf13", + "0x000000000000000000000000000000b1cf2596df92d29196c3ac68cbb5316a36", + "0x000000000000000000000000000000000014263638c054562dd5aeadc8e1e1aa", + "0x0000000000000000000000000000001503cb749b4abfe14746f28ff9d721d6a7", + "0x00000000000000000000000000000000000168998696d564912446f9eef04d82", + "0x000000000000000000000000000000596db73a6bea0df13ff88938505bb44fbb", + "0x00000000000000000000000000000000000b9bce288fa9210786044200ae83c5", + "0x000000000000000000000000000000df6c2941802c3378aafb983632ef7a1e02", + "0x00000000000000000000000000000000002b1291f7cf09b5d7ad7920e38e148e", + "0x000000000000000000000000000000cee775c879c6c743e3cc15e4187c13c329", + "0x000000000000000000000000000000000026d32661c3920884671546999325bb", + "0x000000000000000000000000000000eb95b7465e7bbc958712954d021281c45c", + "0x0000000000000000000000000000000000277fc70efcdf1a5085c047025e8f0a", + "0x0000000000000000000000000000000ff18dd24c2c3978fce89922bdf4883f5b", + "0x00000000000000000000000000000000000080854e668404d088c946592c42be", + "0x00000000000000000000000000000066d36d1a680f14994e95ef3575643e9762", + "0x0000000000000000000000000000000000301ce8e354ca0c2ea90348d7a1c275", + "0x00000000000000000000000000000021b55b7703f2f5b6b5e6a7b897e039e01a", + "0x0000000000000000000000000000000000236552dd77120ce3caea20bf99fa2c", + "0x000000000000000000000000000000a6bca55e9489178b9f157604d8f81f35e7", + "0x000000000000000000000000000000000018959b2cdcf25725f9f4eb01d1ded4", + "0x000000000000000000000000000000dd00ec063c3a97e2d86e1910a626081ee2", + "0x00000000000000000000000000000000001ced6170baf180f13427c2a6033031", + "0x000000000000000000000000000000c18c6d5c6d4728e59e137975944340e2b6", + "0x0000000000000000000000000000000000207d10b38a372e66f6e43b68389048", + "0x000000000000000000000000000000daf40bcdef3ffcca8da573be62c7a44ac1", + "0x00000000000000000000000000000000000d6c630df49c24a7c10e7ea7bf21c4", + "0x0000000000000000000000000000005e0efbdaf3727cc30823831c41b40919e5", + "0x000000000000000000000000000000000023096022b0d6492c0be5c79dafd7b0", + "0x0000000000000000000000000000005f2ef6e5b8b59375971aead2c7aacfdaf7", + "0x000000000000000000000000000000000000a49bf4b96b04f54ecf4b69eeb024", + "0x000000000000000000000000000000259b5537cdee7098dceca450d00d292cc2", + "0x00000000000000000000000000000000000e282a7169c80f95a653e1522af806", + "0x00000000000000000000000000000038ff023b9b0a551afe253705d24d9acece", + "0x00000000000000000000000000000000001f63851bedb6438674c38761ee1ccc", + "0x000000000000000000000000000000b6c4efaea7fccdadbb484fc5199246dd35", + "0x0000000000000000000000000000000000258829dfc3fd1f42aeb5f00800f021", + "0x0000000000000000000000000000002019b9b76df76fa495df8386065d6e9b7d", + "0x00000000000000000000000000000000000d6bc539df2f003bcec19680c6d871", + "0x000000000000000000000000000000e357dfd836c4b514d597aacb5f194d8b61", + "0x00000000000000000000000000000000002a36a7e93fde59183bcd45b4e1bbe7", + "0x0000000000000000000000000000003359fc31bc73383a21c7782f5b7494ffa4", + "0x0000000000000000000000000000000000098321b8d606daa381f3b56cb36ae2", + "0x000000000000000000000000000000cfd87774a31924e5d57589bda9ad8cb791", + "0x0000000000000000000000000000000000268d5da8aa2dba80bfb858e7349996", + "0x000000000000000000000000000000b03157be99f743bf85e5577726f7a33ba1", + "0x000000000000000000000000000000000020a88536dfa5b8cf54a603784860d0", + "0x000000000000000000000000000000211d9a4e23d51362380443bd0f0f2e45a4", + "0x0000000000000000000000000000000000060a88d60741283df9b55c149acfa5", + "0x000000000000000000000000000000bb45ce34e188575beeda25c6765aef9ea7", + "0x00000000000000000000000000000000002859b8749c19d80bba4cb847ebd3fc", + "0x00000000000000000000000000000068fdb2bd0fc399d93fbfb833f236215515", + "0x000000000000000000000000000000000020924197f619d4f87af11d7695cd50", + "0x000000000000000000000000000000568846beade7346bb6c626e54e77d68214", + "0x000000000000000000000000000000000002898cfe02ec9a01cdf9390eefd72b", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -127,10 +127,10 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c9a6456134db9158211be33b2cdbe2f52f", - "0x00000000000000000000000000000000000a5a23d17c2c5f659e424139e7c6eb", - "0x00000000000000000000000000000049e1e3f11ca144dc64ec7510b8c01012b2", - "0x00000000000000000000000000000000000ff3ad4ce9598b6ef8ef0021c8c5d9", + "0x000000000000000000000000000000fb476dd063a3337dc217ef9ddba73d0267", + "0x00000000000000000000000000000000001a02bfe780751a8a27484f59f5d800", + "0x0000000000000000000000000000001551ff38aa774b674a437a7f9e4fab3e13", + "0x00000000000000000000000000000000000d1df58881b0f6ed54c4b117b3edf1", "0x000000000000000000000000000000001dbb619e6e929e76a6efd1e4385c88f3", "0x000000000000000000000000000000000005f8a1641d13b243a02a3f02b2ee28", "0x0000000000000000000000000000002d82538a2445a88d2075c85f73a52fa00d", @@ -140,82 +140,82 @@ sibling_path = [ "0x000000000000000000000000000000ffda1f6b46c23f296036b683b84c761a4b", "0x00000000000000000000000000000000000fae9f9a690b4e18091eaef9fe2bdb" ] - hash = "0x0b67adc3fd57ecde05f4a6b243883fe6fc0f40c6d46162f1748060d4399553cd" + hash = "0x129e2cfc0c3d61cc1b28009cf987cf36c4d050c1f5a60b7af94ec2f179553cd3" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b4" is_private_only = true -claimed_first_nullifier = "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839" +claimed_first_nullifier = "0x16e3b4ac297d42f45d4ea49fab19031631ee79440162ea8139a7f5a6f630a559" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" 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 = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x139f8eb6d6e7e7a7c0322c3b7558687a7e24201f11bf2c4cb2fe56c18d363695" +inner = "0x2c2d673b54713aeb2dcdaca8bbd78b14f7c3adcdf4916900658374dfec4c423b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x1254246c88aca5a66fa66f3aa78c408a698ebca3b713120497c7555dfc718592" @@ -252,7 +252,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] -inner = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" +inner = "0x29d08b1feec73a1359d78035b68268fd7460c473ceba671fd9db9e4898b211c3" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -2763,7 +2763,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x2f1c68c62929cab50273d7c420f5281dbde0590e903e7baefbf0b4745e35fd49" + value = "0x02d4ac77cd44283d403da6d14e1f6f366b49fba9f132394c34b78c333e8dfcc2" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -5993,7 +5993,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.end.private_call_stack.array]] - args_hash = "0x0b59feb08867bf2e03cf637886697a3b3a7f4698d81b7896924e0ea868cc8fe6" + args_hash = "0x24f44cec2cd1e57a9e3e0175684105a7fe5ea9ec6d694e5a0c0070001b9dce65" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -6002,10 +6002,10 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" is_static_call = false [previous_kernel_public_inputs.end.private_call_stack.array.call_context.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -6291,7 +6291,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [private_call.vk] key = [ @@ -6467,19 +6467,19 @@ y = "0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x0833e914fffd878b44978e72a329e78eed7c46559847458abc292974959b8eea" + inner = "0x1b4d1ca344fbe9a53f4d9d41e48f6643d7b0573d8af0cb4047f09a14f1755c88" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "118" + leaf_index = "121" sibling_path = [ - "0x17b36b676ed431e9f615ef58cd0f10224fd9c7047d70394bdbec574bf72029f9", - "0x2dbd02096a238623d3d9ebad8e3e8e8f8a1dcc9f43f85dbe7919e0d1c0bf5eb4", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x13c01cf01cd61604ae55d7ca1986fedaa24483a282551eaa41507dde892783d5", + "0x1edb72d05cf7bfb2e750ad0d74df267efddd8e85bbfd30579753aac42c4ace1c", + "0x17f6424ee551ed4ac81364156e6ffb2c47e51671bae58df729f44c8e56b0241f", + "0x1af1fe5820c0e03f50d5ded17e5d0c8a7f1206e74e4bfcc3c00fafebdd4fe870", + "0x166aeb763d5bacffe119a36bc30ce327f676fbb69a256f5a99aa1e5fefca9ec9", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x1b4d427b4c28d92f5cf1e4141a99332a68acb4d22bcf108e4aadff0b7405efaa", + "0x20da4f06bd05b92dcea185633837a912854fbc16d102f18437abc9a6b8c9839e", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -6515,13 +6515,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x02dc2c982d64a1b6d290d8b35b4a2d5451bfb52d4f55a5514ff6859149e70cff" + slot = "0x128bde3ca4374960c5524cd6a5c1deec52fc80c10a4387a576266389545604a0" value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c" - next_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + next_slot = "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e" + next_index = "0x000000000000000000000000000000000000000000000000000000000000007a" [app_public_inputs] -args_hash = "0x0b59feb08867bf2e03cf637886697a3b3a7f4698d81b7896924e0ea868cc8fe6" +args_hash = "0x24f44cec2cd1e57a9e3e0175684105a7fe5ea9ec6d694e5a0c0070001b9dce65" returns_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" start_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000006" end_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -6529,16 +6529,16 @@ expected_non_revertible_side_effect_counter = "0x0000000000000000000000000000000 expected_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000007" min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000000" is_fee_payer = false -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b5" [app_public_inputs.call_context] is_static_call = false [app_public_inputs.call_context.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [app_public_inputs.call_context.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [app_public_inputs.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -6548,7 +6548,7 @@ expiration_timestamp = "0x000000000000000000000000000000000000000000000000000000 [[app_public_inputs.note_hash_read_requests.array]] [app_public_inputs.note_hash_read_requests.array.inner] -inner = "0x16e1312f41ea1dfab7974773561cbaf164d52f3726bb35a5d9e3ecf8dc2c6270" +inner = "0x06f14f3f6c8ee5796d45330bf8dce0fe239477fce75fe0e677709a39455e7d1b" counter = "0x0000000000000000000000000000000000000000000000000000000000000008" [app_public_inputs.note_hash_read_requests.array.contract_address] @@ -6679,7 +6679,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifier_read_requests.array]] [app_public_inputs.nullifier_read_requests.array.inner] -inner = "0x0a583966efca4c7cc2a132a1b3b8cffa76547cba4e96e4b578764fd1a3ab8c68" +inner = "0x20d2b931db7341f08d16de1eec0c1a121729fb5c800c7ef74fcd4ee1f37dc8c5" counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [app_public_inputs.nullifier_read_requests.array.contract_address] @@ -6812,11 +6812,11 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" key_type_domain_separator = "0x000000000000000000000000000000000000000000000000000000000e6ebabc" [app_public_inputs.key_validation_requests_and_separators.array.request] - sk_app = "0x1af06fee18d0a1cb6cfcc03cab5ba1cc74f5dbd440d37ce899776c92fd89dce1" + sk_app = "0x06ca4caed96c9e9ba2053bc6722791416824cfc58df6a65d58ef2ee65b378f9f" [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] - x = "0x0b902b7fa8bded2d2a3664e5fcecef9fc809f345a31fd0e2b54d08a420bca10f" - y = "0x04aba52630cda5684c942c56f7679eaf603d8d6f6096f3d6b6186bb666af9fb1" + x = "0x11be5cd7f43f5d54e032f57c544480430b519d361bba26df2a69ac8debc448cd" + y = "0x1dabf825588b3d5fad4eb593203dd3366d5e8f37665a6874b7e2f3f951b51089" is_infinite = false [[app_public_inputs.key_validation_requests_and_separators.array]] @@ -6988,11 +6988,11 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.note_hashes.array]] - inner = "0x0bd46b664f23cf511c4596dbc71006999bdf8533e3bb5e484928edee4ed131fe" + inner = "0x060a3dbbe41ed8016ea7f71172e264178b7c82b452f029e81b4f04b67704bcde" counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [[app_public_inputs.note_hashes.array]] - inner = "0x179729c7abcbd6fba46cac4a02e13d615fc4a74d16d26653f8e791ef4a6ac13d" + inner = "0x291ca1bec67836b7c71c8c46dc86a01bd66d912eced16c08901aafebe39957c3" counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [[app_public_inputs.note_hashes.array]] @@ -7058,14 +7058,14 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [app_public_inputs.nullifiers.array.inner] - value = "0x23099321500a613b8f3f24d1e8041a16581e2550f7b1e39db5fa51a6ea950f66" + value = "0x011dced1544bab91b1f9fe0d452034536f093f98c9525dad25727cef36889317" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] counter = "0x000000000000000000000000000000000000000000000000000000000000000e" [app_public_inputs.nullifiers.array.inner] - value = "0x2248865e1a1a336b14d292216fae40372c4b41dd43b672737c0199b041e05ffc" + value = "0x1980755000c35b08dd748009f78a3566bc239346ff9f86ff0d7fe687abdbff99" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] @@ -7828,24 +7828,22 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x18ba5d495bf5a79e70ffbf5342193a29f6b2ea6b4ad27c16ceed11c248ffd5a7", - "0x116aac75f4b8e8b90b81d0f82109d903204df904352d042f7c404d5b42acd4b0", - "0x00017bd19718cb958d8edd663ab918f60c69359a6e9a54de48c0f3260c946f71", - "0x00f9829b69cd7bc544e76f4de708317f6cc01b46ab41e9fb60037f1c4b009727", - "0x00a2bec0410c3aa10805414e3a3dd0344d548a0dfe534036bebd603fc2d956c8", - "0x003e118036c2450f4148dfcc5f9d0dbd37783a247b7bfc58ff57b7bfd4c059f6", - "0x00789d9e49418162ca1f7bb54810fc8a7ca4dccc8f4daa01337acba1262bec81", - "0x0023cf2aecccfd2dddebeff531c119ecd07199800d7d4f0b6db76a59d15faf91", - "0x005e2c54ad12a12f4243996ca50c2de42e958d6a1cc8336f8529a5a6dbdbc073", - "0x003f59ab2667211008022878da88e83f49c60170d481f6bd53ecc3278fa22c4e", - "0x00eca5c8c65ef048de6dea538f0390e16d9589e2b230eb1e6806fc1b6fa99b2a", - "0x0078ac491453935eb9805823f48fc075227ce6751ebe3110ff30b2062741c811", - "0x00b2fa3c400d52d7ab452be468709a33e545d4ec3370f9945361e3e1529031d6", - "0x00d4b279a4b8fc15777417ab4b43bc53046b5ec96bf99d74b3fc2f220dea6e77", - "0x00ee3912375df86cab709595e4136053362d61b2c9edbeba986da29712b16606", - "0x009f80dddc4458df4ad00a2aa610e437f7b7218e0dfc2dcd4c66443a247f605c", - "0x0075d26f2759920009ec447695bbc59aef372a64ddf2cbe1adeea8322737eca3", - "0x00f61a05fb3530454a1d0d902c47a0c40dc2f94e54d52ea501b5ff6c070f9d2a" + "0x25604710f33ecc1dbe310be175fbdfe70e18e6a8864c6c92eca66331a2eca80a", + "0x112d0e91ee26cad776302989faf1308680884cdbe85f08f289d05b008e92debc", + "0x0001d46e8330ea77b0187b0b5cb9f60bc27cabdb8fdea9232b3cafa00ab2c7e4", + "0x0059f76f17e17079b0418db94a9c12391e52b6cf1d558756c66f6836cc74180c", + "0x00e1b42f03269c4b12523bdef921635ac203d4b910e967ac80cc3706eadb7d68", + "0x009f688b0c2455f4ca1c71654ba691c381214aee25c05fede6c8def607f27671", + "0x00f41b368f3c5820625227f68022e0e338f74cb05d4c88861f2729bb81548391", + "0x006687d4d1ac8e886923bb5d396ac5a639edcc059e04868b5089fdc8a13f2205", + "0x009be3ab9117a2d8b1d937fdf2416a37ea9d8af97943576c267b1609c9125b5f", + "0x009e75e75472de06ab9920fed74f87890f8fa9ed1ee58bd6dc6db21e9dbd61f0", + "0x0027f86df979a81345fd4a32c78ed6377242d5ecf52a2172af0abf21f0ff81f6", + "0x00aa4d7162f4f1e36c259e1e287166dee48a4e03d1f50fead09e7a013f053610", + "0x008a18f4f48214de05fad59e5f1db1b6b6558e4a797eb51284443c161fa764db", + "0x008287386de00c1ecbcd80d9bc4d9830c32e1f0ba4993d955efa328c2393455b", + "0x00af3da66e253f85093e0ed1850fabb2e85d37b00b58d1d1677aec7c5a495f4b", + "0x00103adfb37be0a694572660ed86b4c28d48ab89dea180908fc8d48c2088d603" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -7857,24 +7855,22 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x212d707847669454910731680339e9f5f0e21a3879850cdcaa51a954f82f6376", - "0x1975096cc1e778a12e43aede0001f296b9b63725207253474749099b17302d85", - "0x00015665b4b8aa054b84354774caf9c5b69d797a8b66a168254a1abefd3fcb74", - "0x00b2eb5db25ded5fbeb259ffd87b5fc2d16bcc1fd1e21580faa3499134a6467e", - "0x002b1f9562d27906bad98dd7dd847c4f8031327edb4e88db548cb121608e9919", - "0x00d5e7bbeba54abe3b0a0592b196740af7146235ac8d6526cc567419c76f6739", - "0x008ce9208c2416a97d4f3b03e365e3d4ae12542be86f238dbac531766e3eeaa8", - "0x00017091ec81654ce95742989c028823981a8b7bfadd6a0c482b809eb6f45d2f", - "0x00d2abff55b8fd24bb01e00810cff25781c1b9f6b3f7e0b15327dccfa6445505", - "0x00378d0a222083ab650ebc2e43f9e1e7802aad54e2114ebb0e1a39c2ebe8d35d", - "0x0082e70c859b80dc33c974b7ee5df4ab9c6dced1d8e28dfc0039e535d49075b4", - "0x0098a6096ad54e7795ffca4ad9c3bc7f01f2e1f27cd14e61897a44a7fe592565", - "0x0084d3f0aeb25c332429ce25ec94c4ea27dd37758ad892ce90b9526f43cf8e34", - "0x00cd01e80f0a6a92605dfb237782fe6cf4a45f23db7155de5f4c2181a5e79a62", - "0x0027791a51fe462acbf264abf25d40c15bd28d81dbeb36ef1896ca7019107e9a", - "0x00b3284e61f26bdc7e14c57576875245b699109c3b09fe24f47619da133107a2", - "0x00722bbcd09b123c4f34f92ce55a1587853fa4869b65f3361b58c6573387fbec", - "0x00790c3b0f8c5f4fd59f35f07a2adb8023bd9eb18bfa85dffcdc0cf54953d8e0" + "0x062a7448d6334c2f7aa634fae6bf6c196d6699205a4eddde477811e510c87ddb", + "0x1451af3419f8b1e90ee4f6b7b90d1b308dd8eae6d6f1d9c1ece7abc757009013", + "0x0001b00b26ff638fa714f600d792bd9988485e5e2b3b1d9bddf72d8fd45263bf", + "0x00902af344d66876ed44f27411cd99ebaffe5f477792b74f5551c142420b129f", + "0x0083328395208fc24701545ff1d93020ec65871eb6f050e7c030865fc5efad35", + "0x00837edfd89ff23a65f2610317e86568a287fe1bed234e1307903caeeb47a5f2", + "0x00b4f3c72553b406eb8d8923acde2018a74ef0726174c935dcbbcc41821d7ef5", + "0x00fb82f3980e1bc92722fda208659d9fc43c620c71dad94d7638f02fb979ab60", + "0x0067ae24828a8054cb8028c9790f8199aa00517cce399902e339491c95d50384", + "0x000fc6861b4005e20dc4817572efab6261e8373f096c1de909fdfb5f5dc8f958", + "0x00ae91808284996e87c2e27649af8a53656873085547d2844e6cb3179b077cb5", + "0x00bcbca199a5f84e6d963583561390ad393c2732a27a8510814915956fa7e977", + "0x0085383a4f09fcf4b55807d103eb685d2b0dbb93beff94dba9a85de83d345e1b", + "0x000170b6c252e7c97c133d08567b880062375a965c7b45ff7fbda9b5980ea0d0", + "0x00e2256eab6e253f95737a9d629a7d6a44b8da5eb4d9de7939543df440062c0b", + "0x006d43009933f2197eaae6ed7ec982fb76a110b52719179bc97ab934bed9600c" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -7886,24 +7882,22 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x156ab8435d1903bef7674ca1288f0f5c50f5ddbfb62b0a3ba130b332fd5ac4c2", - "0x2b66af78fec9e2cba6e19de9fbfb3b73229879c24284e7c9afe96d60805d0c04", - "0x0000f43f253dc3359a544d3a358ccc991e99fb19448bc5ce1d9ebefb39886dde", - "0x00dc76f6ba9e031e90dd77ab49f2cdd95a802967afbe52200e5a8773bc97c385", - "0x0019f480e660881b0d0a5ac66616b545e3266e6d453e2a2414d4818b77994aaa", - "0x0062e332ba94ee88624cae4b46da20107af0e0e5766102433a451a323ff479f6", - "0x00c1c2806e82ff2bae55fd351034ea42087ddfccd30b4cf0dd4f92cc2a049669", - "0x009af71b2358f5a0497eb6a38dd0cd7a572085e7f4483b4d1096ec13d9d61756", - "0x0082c9ec2dd3d8dca70f4aefe0847c65f530aea37a13384258b99908b0b4b24b", - "0x0003632b0f34b452b2897587992423f34a78ff510e74641d5843eb83d31ad357", - "0x007754bb64b87ef09e13462d9d45d22b554744e4101b562399d82e05bf1e1eaf", - "0x008b2032793710728305e5a550c9909c4c92926d45cbe50f0957889de6a99146", - "0x00622048bbb198c7f6ddbb6beea8186ad2d52a64abde773146dcbee5f7791a06", - "0x0028448a68dfdd8f6edff16d35d9b2484d1746bd6248a61297681fa7f63755cb", - "0x002936f87a8f54e1029f5b351158c106812f9f700307fd9701ad4f333cf01e57", - "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", - "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7", - "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25" + "0x1b9c36825550ba99fb499c4974f74fa546fb5ec85abcbc965aa155c9ab2c9f86", + "0x09a1f023d9ed788ee83c16ce4eeaa19417e518faf23b4d70070944e7a3493ce4", + "0x000134f7cfda0c00e5e647a0a532a1a3070d6603631b30ab26210344b186b84b", + "0x007998db2701e4bfb6f84509f5f8ba0401168a83cfa1be7364e7dd40023fef12", + "0x00b712baf203bff07cef650b2e56399c7e484ceda6eb9e1a1419223a21d83ae5", + "0x00bd0762aa524b8f7c4556efac08614e6d18bcdae24df4c911f525edd5835e5a", + "0x0069bc90933dc1cbc4e80f2e0019aae8ac1850067595e2fbaf06295f06f6e00f", + "0x009ab3a8c4597d51832e529dfa5411ea733ff3e25d8383ab497f766c4923ad13", + "0x00f6ae47d1c0b48e4e217735294b15b6cb7391d00cf2d00766cdd90c8977b0ff", + "0x0085a10c431a0a98a69613d03c7866590afc38a15d92c46c6beebb4cf2e824a6", + "0x006f91863e047458d5348dfe85071e1e6ef97dc7ad9789163d95615c2402b158", + "0x00708a6f8bfc9055da29e6ee1b5f8160794dcc74f98171e8109aab97a9ffe739", + "0x0092d9997162f3d5ade8900eb30a806e7dcb0269f9bc23bfc0e98629ef110b0c", + "0x00d9373a9d6d3d720cb78a2e5ffb819921d10669d0cdb6dee483300ddd860772", + "0x0085ac61f9fd992d86b2f0752bf08a3e8ca8561889344108f7ad1ee10156303f", + "0x004f49b78aec71ad77c55b357033d1df034ab54e3c36f8d2fe1b2a9c2fb2802e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -8269,62 +8263,62 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [app_public_inputs.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [app_public_inputs.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [app_public_inputs.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [app_public_inputs.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [app_public_inputs.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [app_public_inputs.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [app_public_inputs.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [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 36f9da442ab0..49724cf60115 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,13 +1,13 @@ [previous_kernel.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" sibling_path = [ - "0x2def0f0f11588ba2936cd0928e5e46c42e8078b9e8e3ea92e78f092a60c0f04f", - "0x0b1863e87ddf257d402a955d22b6997848454efb8045161e6dcc7dc866a58363", - "0x26d85d16041420be501663383cfc864a7ab8d899a94fd6f835061c43d3be3cd0", - "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x17cbe3fbba9466b179df0d95580926d2ea40cbb724e8b830b682e6eb1798224c", + "0x2bd9677f41506875034880acc5d0b7073c05ad8b4fda289654d56f146aae95c9", + "0x0bfe58578ccf6165fb9a8e071b4a6656457aa7af9ab8323aed5901a4a880bd6a", + "0x257350c2abb392ee71be3df45bcdbb0d8f15b4982e2a68ed8137392126337634", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [previous_kernel.vk_data.vk] @@ -15,30 +15,30 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000010", "0x0000000000000000000000000000000000000000000000000000000000000021", "0x0000000000000000000000000000000000000000000000000000000000000c3c", - "0x000000000000000000000000000000cd6f73307dfd57526273746e6ea4db4b79", - "0x000000000000000000000000000000000016d8772725d61d8d2ee53ad115c11f", - "0x000000000000000000000000000000f0103da68a8e701a1c60738ed38a13dd74", - "0x0000000000000000000000000000000000291dcdd8ea78b351f2490229617810", - "0x000000000000000000000000000000d957f1d317741a4d84e9fbf814977dc7c7", - "0x00000000000000000000000000000000000c800f155b9b286b5d07333d3ca159", - "0x000000000000000000000000000000c2ac04c1f93325c86a89342fec1e035cc4", - "0x0000000000000000000000000000000000155e72d431cd250303707b28c25e7a", - "0x0000000000000000000000000000003c675d5a460032518080a7be7092d4a4a9", - "0x000000000000000000000000000000000003a0291493a091b0eda33fa94ab042", - "0x00000000000000000000000000000053585e3424e3dd5c949b16e744d6f30ce5", - "0x00000000000000000000000000000000000769bc9d54f7bd1a5c2f0d48b88fc2", - "0x0000000000000000000000000000008d39a3e0539e4bd24cb37da89e049f6229", - "0x000000000000000000000000000000000002cc995f97094a9d02a5b507c81cfa", - "0x0000000000000000000000000000000b2e970ae114cdf6c5dab788990e118835", - "0x00000000000000000000000000000000000823d2056a985f7cc0ef1eebeb28c0", - "0x000000000000000000000000000000198b435e24ff289f5815ef0177adcde2bb", - "0x000000000000000000000000000000000019dba17255b635c6e1770a0a5e38f8", - "0x000000000000000000000000000000168f60845fbd6a7b13674a9ef59870d9f1", - "0x000000000000000000000000000000000021931ac2b0f7b960b340cdc17c95c4", - "0x00000000000000000000000000000020adfec13fe3ed6057e3e92829a3fff4c2", - "0x00000000000000000000000000000000000d6489117bf45bdc6e9d798dd54ec8", - "0x00000000000000000000000000000005f0486bf94a5e8152a306ae5de35871f6", - "0x00000000000000000000000000000000002e806edfbcb959005bce566261c4b2", + "0x0000000000000000000000000000004cdd23c6f30de81e6deee7ba8cebe32c05", + "0x0000000000000000000000000000000000296d9899ebcf0e06c684b61e8b1060", + "0x00000000000000000000000000000098e4ef2735617f6a1c4a3dadd641fb9a46", + "0x000000000000000000000000000000000021eb0c85a5596a69d3aa7e5d70628b", + "0x0000000000000000000000000000005f3b9566bbbf0c09948fc9d9e7ffe20e9a", + "0x00000000000000000000000000000000002e2997d6f63ad04b6da794ee3a245f", + "0x0000000000000000000000000000001b6ec43797c836673732e8496603dfe358", + "0x00000000000000000000000000000000000b638ebbc9f7bc93fdb3d249f26240", + "0x00000000000000000000000000000075a3ea9097fc57a7c4544cbd63c34cead1", + "0x00000000000000000000000000000000000ae589d7180c76d414df3a822ac340", + "0x000000000000000000000000000000ba54e37dcb17d37794edae34b7e7fd38b8", + "0x00000000000000000000000000000000002bc9c8db229cbf6274609b06a81a0d", + "0x000000000000000000000000000000496100abdfe4476c92b25cc176ae8128f8", + "0x00000000000000000000000000000000001338feb5a9f61f6bca9fb4b6f978f5", + "0x000000000000000000000000000000b245efc8edfefc97b2bb79af1036b13103", + "0x000000000000000000000000000000000023052db9ddfaf2dd8268ed608204b6", + "0x0000000000000000000000000000006d7575691f52cfec187e897344e78b9873", + "0x00000000000000000000000000000000000bc908b2072335fed438a74aca84d0", + "0x000000000000000000000000000000bd7d5f2a38b77c3fafa04b9b1c3a15cc26", + "0x00000000000000000000000000000000001ff71e62191b321157e3f1cd65c186", + "0x000000000000000000000000000000e075347d4805b9ece82ae2757f266afeaa", + "0x00000000000000000000000000000000002e681e3be7aa1cda65f2a58b3d1663", + "0x000000000000000000000000000000575fe2b2dde5e39961eb15ff99efac3470", + "0x00000000000000000000000000000000002a27006fb03035d83d859b1a69de12", "0x000000000000000000000000000000e90f95f63c2ea0811a6179d2067963ee2a", "0x000000000000000000000000000000000026906572d22b1686e9110d22bb134b", "0x000000000000000000000000000000d363f9aa66af0e0f8a9767a5207311d782", @@ -47,66 +47,66 @@ sibling_path = [ "0x0000000000000000000000000000000000248fd555f916c8daef37da4996dde9", "0x000000000000000000000000000000504b12d512be8bcc40b0059d970358d8cc", "0x00000000000000000000000000000000001bb0ee83aa8d32bd0709019494e278", - "0x000000000000000000000000000000232865b230fde217ad6678a244f252e5dc", - "0x000000000000000000000000000000000000fcf0fa9bd75d81ffa539ef0d52f6", - "0x00000000000000000000000000000022ac89f1ffa0a580e66433edb506c2c53b", - "0x000000000000000000000000000000000021b6eb4381878d1d2837271a900771", - "0x000000000000000000000000000000405e4197e5d05f70047d6555d51685722a", - "0x00000000000000000000000000000000001dc2c959671e6225c067ae91826383", - "0x000000000000000000000000000000f5646f9f55b2342f266d695156fd726963", - "0x0000000000000000000000000000000000076d0a773414d2d45ef101d8d87ae5", - "0x000000000000000000000000000000e456468d8bdaada49d01a6a59f2a388a82", - "0x00000000000000000000000000000000002b52078588eadafc8c12ef0581debe", - "0x0000000000000000000000000000009d873ffe657dfac44e5ef937e466b5d005", - "0x00000000000000000000000000000000000e77ce53df5d554633096112a7c424", - "0x000000000000000000000000000000063f4ec9dbbcbedb81ab1fc791a7772e74", - "0x00000000000000000000000000000000000d65eb157eaad3dbfb01b196bb32d0", - "0x0000000000000000000000000000004a5aaabac47cd028c5d5b725d65f2afddd", - "0x00000000000000000000000000000000002bd54238a66f2747c9ba55368a5e12", - "0x00000000000000000000000000000081977161cb45d26857773616756c125082", - "0x0000000000000000000000000000000000092804e71c5516481bcd48044228fa", - "0x000000000000000000000000000000d5e9559038a37c982add18940ab9a0dd3c", - "0x000000000000000000000000000000000029a5d693ae78a6777c7e0769678a23", - "0x000000000000000000000000000000d2f89b1d8a806a525e099d384d90e95734", - "0x00000000000000000000000000000000001abd803802ea1dd69e3a351e7afa0d", - "0x000000000000000000000000000000a4ceda6e7217a4b6db0d0a7802ef38fff5", - "0x00000000000000000000000000000000001fc0d7e2146ef1f29becddfe7be7b8", - "0x0000000000000000000000000000003fc4a4ac145dbe062ffa88c50366f2433c", - "0x00000000000000000000000000000000001a5b6c4e3985cc703ff585ad755545", - "0x000000000000000000000000000000d483817c514c461ff5cd09e96b04cc5d1f", - "0x00000000000000000000000000000000000e76ff7f725fbfa4432aeb8d21d04e", - "0x000000000000000000000000000000684f00a490b92f03abb77917980c346c58", - "0x0000000000000000000000000000000000146235df4a0f2e98b525c6704b37f1", - "0x000000000000000000000000000000f050172de285dad998979d9e362a5622d2", - "0x00000000000000000000000000000000000f7b6bf1bcc5c4820e55d2076b52cd", - "0x000000000000000000000000000000534bf8af32543e1bfbf90125220053c474", - "0x0000000000000000000000000000000000088d80a1d3e1a32ce29e6febfbeb1d", - "0x0000000000000000000000000000004e86c55d9cb4aced14409dd736b76d7e6c", - "0x00000000000000000000000000000000001f03bdeb002e9c1ea1797dd375ed8e", - "0x00000000000000000000000000000067dd380c3284b2c4c44aa50ab7c921488a", - "0x00000000000000000000000000000000000644b3e6b9a26394d056283869f1f6", - "0x0000000000000000000000000000009f6232d66addbf72888715a5f7ad09516a", - "0x00000000000000000000000000000000001610caf302c8d8af77ba1aa0f4b2fe", - "0x0000000000000000000000000000002b9b2fa9adfea511f589c5d164b8078b70", - "0x000000000000000000000000000000000001603722a29a23e66d73383c8c93c0", - "0x000000000000000000000000000000f5c10370c68d82f87dc28f8dc1c79e7929", - "0x00000000000000000000000000000000002c67d1f1a8491680558a44ee09f427", - "0x00000000000000000000000000000077203025078f78ebca6e857292ace12d06", - "0x000000000000000000000000000000000002017c53f377709f6c0ef207a78291", - "0x00000000000000000000000000000029f1ff0d2aa848180d2b32e9ebe5e13690", - "0x00000000000000000000000000000000001113554049c41d71bb9e0f647e71dd", - "0x000000000000000000000000000000fa6f89cbbb860822044777ced691dbc0c0", - "0x000000000000000000000000000000000028bb43ef2fea3d73b5c93840299af0", - "0x00000000000000000000000000000051e86027f67aef5baa7966727451446959", - "0x00000000000000000000000000000000002208e62bcd4c2cd280af379dcdb5ad", - "0x000000000000000000000000000000f669127a30264031b2415b15e3a35fb5e5", - "0x00000000000000000000000000000000000cfd8d7f05e2f1aae0b79676467393", - "0x0000000000000000000000000000003519f0fb4bdc5b56f7bc63cb178eade948", - "0x00000000000000000000000000000000000f8c2e7c436e04d3d0bf88cebac23c", - "0x000000000000000000000000000000ced94ad87ea90172c76c93e8314b5d89ee", - "0x00000000000000000000000000000000002caf91eb367f9c81d8480eec9ddc72", - "0x000000000000000000000000000000963994093a3bef1097f7076c58d9410a71", - "0x00000000000000000000000000000000001474d079b0195b42820e254bc694c1", + "0x0000000000000000000000000000002ac04a8e675a3687ceef6f30a2829f0202", + "0x00000000000000000000000000000000002072dc8842d32c2ea2862d634a92fa", + "0x0000000000000000000000000000003e1321520df05b7943adef9d54e8b75140", + "0x00000000000000000000000000000000002e8541b5064b8d8457649075d0dee5", + "0x000000000000000000000000000000994c3c7348dab130ad04a92fa996671ca6", + "0x00000000000000000000000000000000000b56c539acb5c0a423535711c7bf13", + "0x000000000000000000000000000000b1cf2596df92d29196c3ac68cbb5316a36", + "0x000000000000000000000000000000000014263638c054562dd5aeadc8e1e1aa", + "0x0000000000000000000000000000001503cb749b4abfe14746f28ff9d721d6a7", + "0x00000000000000000000000000000000000168998696d564912446f9eef04d82", + "0x000000000000000000000000000000596db73a6bea0df13ff88938505bb44fbb", + "0x00000000000000000000000000000000000b9bce288fa9210786044200ae83c5", + "0x000000000000000000000000000000df6c2941802c3378aafb983632ef7a1e02", + "0x00000000000000000000000000000000002b1291f7cf09b5d7ad7920e38e148e", + "0x000000000000000000000000000000cee775c879c6c743e3cc15e4187c13c329", + "0x000000000000000000000000000000000026d32661c3920884671546999325bb", + "0x000000000000000000000000000000eb95b7465e7bbc958712954d021281c45c", + "0x0000000000000000000000000000000000277fc70efcdf1a5085c047025e8f0a", + "0x0000000000000000000000000000000ff18dd24c2c3978fce89922bdf4883f5b", + "0x00000000000000000000000000000000000080854e668404d088c946592c42be", + "0x00000000000000000000000000000066d36d1a680f14994e95ef3575643e9762", + "0x0000000000000000000000000000000000301ce8e354ca0c2ea90348d7a1c275", + "0x00000000000000000000000000000021b55b7703f2f5b6b5e6a7b897e039e01a", + "0x0000000000000000000000000000000000236552dd77120ce3caea20bf99fa2c", + "0x000000000000000000000000000000a6bca55e9489178b9f157604d8f81f35e7", + "0x000000000000000000000000000000000018959b2cdcf25725f9f4eb01d1ded4", + "0x000000000000000000000000000000dd00ec063c3a97e2d86e1910a626081ee2", + "0x00000000000000000000000000000000001ced6170baf180f13427c2a6033031", + "0x000000000000000000000000000000c18c6d5c6d4728e59e137975944340e2b6", + "0x0000000000000000000000000000000000207d10b38a372e66f6e43b68389048", + "0x000000000000000000000000000000daf40bcdef3ffcca8da573be62c7a44ac1", + "0x00000000000000000000000000000000000d6c630df49c24a7c10e7ea7bf21c4", + "0x0000000000000000000000000000005e0efbdaf3727cc30823831c41b40919e5", + "0x000000000000000000000000000000000023096022b0d6492c0be5c79dafd7b0", + "0x0000000000000000000000000000005f2ef6e5b8b59375971aead2c7aacfdaf7", + "0x000000000000000000000000000000000000a49bf4b96b04f54ecf4b69eeb024", + "0x000000000000000000000000000000259b5537cdee7098dceca450d00d292cc2", + "0x00000000000000000000000000000000000e282a7169c80f95a653e1522af806", + "0x00000000000000000000000000000038ff023b9b0a551afe253705d24d9acece", + "0x00000000000000000000000000000000001f63851bedb6438674c38761ee1ccc", + "0x000000000000000000000000000000b6c4efaea7fccdadbb484fc5199246dd35", + "0x0000000000000000000000000000000000258829dfc3fd1f42aeb5f00800f021", + "0x0000000000000000000000000000002019b9b76df76fa495df8386065d6e9b7d", + "0x00000000000000000000000000000000000d6bc539df2f003bcec19680c6d871", + "0x000000000000000000000000000000e357dfd836c4b514d597aacb5f194d8b61", + "0x00000000000000000000000000000000002a36a7e93fde59183bcd45b4e1bbe7", + "0x0000000000000000000000000000003359fc31bc73383a21c7782f5b7494ffa4", + "0x0000000000000000000000000000000000098321b8d606daa381f3b56cb36ae2", + "0x000000000000000000000000000000cfd87774a31924e5d57589bda9ad8cb791", + "0x0000000000000000000000000000000000268d5da8aa2dba80bfb858e7349996", + "0x000000000000000000000000000000b03157be99f743bf85e5577726f7a33ba1", + "0x000000000000000000000000000000000020a88536dfa5b8cf54a603784860d0", + "0x000000000000000000000000000000211d9a4e23d51362380443bd0f0f2e45a4", + "0x0000000000000000000000000000000000060a88d60741283df9b55c149acfa5", + "0x000000000000000000000000000000bb45ce34e188575beeda25c6765aef9ea7", + "0x00000000000000000000000000000000002859b8749c19d80bba4cb847ebd3fc", + "0x00000000000000000000000000000068fdb2bd0fc399d93fbfb833f236215515", + "0x000000000000000000000000000000000020924197f619d4f87af11d7695cd50", + "0x000000000000000000000000000000568846beade7346bb6c626e54e77d68214", + "0x000000000000000000000000000000000002898cfe02ec9a01cdf9390eefd72b", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -127,10 +127,10 @@ sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c9a6456134db9158211be33b2cdbe2f52f", - "0x00000000000000000000000000000000000a5a23d17c2c5f659e424139e7c6eb", - "0x00000000000000000000000000000049e1e3f11ca144dc64ec7510b8c01012b2", - "0x00000000000000000000000000000000000ff3ad4ce9598b6ef8ef0021c8c5d9", + "0x000000000000000000000000000000fb476dd063a3337dc217ef9ddba73d0267", + "0x00000000000000000000000000000000001a02bfe780751a8a27484f59f5d800", + "0x0000000000000000000000000000001551ff38aa774b674a437a7f9e4fab3e13", + "0x00000000000000000000000000000000000d1df58881b0f6ed54c4b117b3edf1", "0x000000000000000000000000000000001dbb619e6e929e76a6efd1e4385c88f3", "0x000000000000000000000000000000000005f8a1641d13b243a02a3f02b2ee28", "0x0000000000000000000000000000002d82538a2445a88d2075c85f73a52fa00d", @@ -140,82 +140,82 @@ sibling_path = [ "0x000000000000000000000000000000ffda1f6b46c23f296036b683b84c761a4b", "0x00000000000000000000000000000000000fae9f9a690b4e18091eaef9fe2bdb" ] - hash = "0x0b67adc3fd57ecde05f4a6b243883fe6fc0f40c6d46162f1748060d4399553cd" + hash = "0x129e2cfc0c3d61cc1b28009cf987cf36c4d050c1f5a60b7af94ec2f179553cd3" [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b4" is_private_only = false -claimed_first_nullifier = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" +claimed_first_nullifier = "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" 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 = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x139f8eb6d6e7e7a7c0322c3b7558687a7e24201f11bf2c4cb2fe56c18d363695" +inner = "0x2c2d673b54713aeb2dcdaca8bbd78b14f7c3adcdf4916900658374dfec4c423b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x1254246c88aca5a66fa66f3aa78c408a698ebca3b713120497c7555dfc718592" @@ -252,7 +252,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [[previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array]] [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.inner] -inner = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" +inner = "0x29d08b1feec73a1359d78035b68268fd7460c473ceba671fd9db9e4898b211c3" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -2763,7 +2763,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x13f775493e9165a85b71fb02522b619ecbc8dc1a3e591527353a9649c8a48c9a" + value = "0x038c191956348789b617c7ad779e04d3c56514ab5b2597d3d42c61fcc82db0ff" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -5578,13 +5578,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" + calldata_hash = "0x1b8623eaf6a2619806121217a4b191268af51f45a4fc9d6b4b01b1b2e6768097" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6291,7 +6291,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [padded_side_effects] note_hashes = [ @@ -8295,9 +8295,9 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x20fdbd70f372082ad976fbdc67a16b999ffa5ced3b6c2d5e119258c48b7bce2f", + "0x2513c8a4acd9434944e1beee32fe17452d97e7475b949f32a13955153b2b1126", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x13e0ed84a9f773e3cb5a00738e786e1824853a7e4ef4a3ed397292bc46b84006", + "0x034b14287003e828ef0b7e9592b84658c2ef0797a53a0084dfa9d3f0509f9cee", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", @@ -8334,7 +8334,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 ] [hints.note_hash_read_request_hints.settled_read_hints.leaf_preimage] - value = "0x2d251a386ca8d65495417b8098af6e9f26594222522b11f1dbdd0d057da2e043" + value = "0x29d08b1feec73a1359d78035b68268fd7460c473ceba671fd9db9e4898b211c3" [[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 e41447ce3989..56f40354dd79 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,15 +1,15 @@ -expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp_upper_bound = "0x00000000000000000000000000000000000000000000000000000000699750b4" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" sibling_path = [ - "0x169c4bb7d1de838c17c1d4406c9778fd1da41ddd05d3511e42625c5d4132a4db", - "0x1972f83ada8fdf67ce5fe70613ef67aa7bf7ebb22d16c01f9ec9a9d1cd945e77", - "0x05d81ec10254ee759410ecc5dc322943a82c0e2da8906ecac9c1a6270e41d8f8", - "0x0dcd097e79e3057b1c9804260e77457f0a20082513449c93e95dcaca6b44f4af", - "0x0e0e13c4e24e6a6c99263d0f23d13413e1e9b3d8f6863d1a9dada4353d6d4abe", - "0x0f2a2d771b519d3e36f92088449c525e0233096515a691c247b9aee007a5cfa5", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x12fc9f0a67bfc2edd8abdb9c9330cb1527ce8d77bbb334b5ffbfea87e98b186f", + "0x1e7c97138c8681bd34d3c07d45d4c850bc046b6d2b24585469a3ee210a35db61", + "0x054e6b7ef0619544f2ee094c1e5d1cb8acbb6e9c487b59f571b165c379261ac2", + "0x0d5094acf5cdd82fbf52142da972840bf23d97446d994ed7278dc9f67528de7a", + "0x24cf99ce96808b92033c951c23cbaf2ea99ef41befc770514360e4db22044e6f", + "0x040d366f27a1f4467abc75e64924f6ec4e6e95db06e7ab36a65a76690861c498", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [previous_kernel.vk_data.vk] @@ -146,78 +146,78 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b4" is_private_only = false -claimed_first_nullifier = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" +claimed_first_nullifier = "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" 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 = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x139f8eb6d6e7e7a7c0322c3b7558687a7e24201f11bf2c4cb2fe56c18d363695" +inner = "0x2c2d673b54713aeb2dcdaca8bbd78b14f7c3adcdf4916900658374dfec4c423b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x1254246c88aca5a66fa66f3aa78c408a698ebca3b713120497c7555dfc718592" @@ -2765,7 +2765,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e" + value = "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -5580,13 +5580,13 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" + calldata_hash = "0x1b8623eaf6a2619806121217a4b191268af51f45a4fc9d6b4b01b1b2e6768097" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [[previous_kernel_public_inputs.end.public_call_requests.array]] counter = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6293,7 +6293,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [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 bc5029d75005..708693210b53 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,15 +1,15 @@ -expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp_upper_bound = "0x00000000000000000000000000000000000000000000000000000000699750b4" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" sibling_path = [ - "0x169c4bb7d1de838c17c1d4406c9778fd1da41ddd05d3511e42625c5d4132a4db", - "0x1972f83ada8fdf67ce5fe70613ef67aa7bf7ebb22d16c01f9ec9a9d1cd945e77", - "0x05d81ec10254ee759410ecc5dc322943a82c0e2da8906ecac9c1a6270e41d8f8", - "0x0dcd097e79e3057b1c9804260e77457f0a20082513449c93e95dcaca6b44f4af", - "0x0e0e13c4e24e6a6c99263d0f23d13413e1e9b3d8f6863d1a9dada4353d6d4abe", - "0x0f2a2d771b519d3e36f92088449c525e0233096515a691c247b9aee007a5cfa5", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x12fc9f0a67bfc2edd8abdb9c9330cb1527ce8d77bbb334b5ffbfea87e98b186f", + "0x1e7c97138c8681bd34d3c07d45d4c850bc046b6d2b24585469a3ee210a35db61", + "0x054e6b7ef0619544f2ee094c1e5d1cb8acbb6e9c487b59f571b165c379261ac2", + "0x0d5094acf5cdd82fbf52142da972840bf23d97446d994ed7278dc9f67528de7a", + "0x24cf99ce96808b92033c951c23cbaf2ea99ef41befc770514360e4db22044e6f", + "0x040d366f27a1f4467abc75e64924f6ec4e6e95db06e7ab36a65a76690861c498", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [previous_kernel.vk_data.vk] @@ -146,78 +146,78 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" +expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b4" is_private_only = true -claimed_first_nullifier = "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839" +claimed_first_nullifier = "0x16e3b4ac297d42f45d4ea49fab19031631ee79440162ea8139a7f5a6f630a559" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [previous_kernel_public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000001800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [previous_kernel_public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" 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 = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [previous_kernel_public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x139f8eb6d6e7e7a7c0322c3b7558687a7e24201f11bf2c4cb2fe56c18d363695" +inner = "0x2c2d673b54713aeb2dcdaca8bbd78b14f7c3adcdf4916900658374dfec4c423b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x1254246c88aca5a66fa66f3aa78c408a698ebca3b713120497c7555dfc718592" @@ -2247,7 +2247,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x033dc1541749dec457c70f605bae3521247f613b20f817749b8cea68429c3da9" +inner = "0x27e18bb7ff0b81d2736f7fde614633af8d22b059607f27f11e577802e6ad10a9" counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] @@ -2255,7 +2255,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x1d2f748cf0eec20668b68167d346baf08b997160289c6a6b036a3be0b33c2443" +inner = "0x213aa18622aeaa36c0880cc5206b84b60d00aa1455a01ce7fe89f74c3c2e88d2" counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [previous_kernel_public_inputs.end.note_hashes.array.contract_address] @@ -2765,7 +2765,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000003" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839" + value = "0x16e3b4ac297d42f45d4ea49fab19031631ee79440162ea8139a7f5a6f630a559" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2776,7 +2776,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x0081a9817b8551bf1bf1bd909a1740eef55a137811cc47aba5c70c806d164cb1" + value = "0x16b78277ce55bb1712a608d6143df578e0b1f74d08afbb28f5649ee88f8b7b8c" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -2787,7 +2787,7 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x000000000000000000000000000000000000000000000000000000000000000e" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x0f334870e25e1802dd1536468ac03c51af59574b018f60bb91fa231134d324d0" + value = "0x26a42c426ed66f79fdc90142ecd525a4a127f84670e8dcda356c9d7a792ffc1f" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.nullifiers.array.contract_address] @@ -3583,24 +3583,22 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000b" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x135ea36e9543b0b3759a246394bf505649ba4ef7572152baae922c0dbf06090f", - "0x116aac75f4b8e8b90b81d0f82109d903204df904352d042f7c404d5b42acd4b0", - "0x00017bd19718cb958d8edd663ab918f60c69359a6e9a54de48c0f3260c946f71", - "0x00f9829b69cd7bc544e76f4de708317f6cc01b46ab41e9fb60037f1c4b009727", - "0x00a2bec0410c3aa10805414e3a3dd0344d548a0dfe534036bebd603fc2d956c8", - "0x003e118036c2450f4148dfcc5f9d0dbd37783a247b7bfc58ff57b7bfd4c059f6", - "0x00789d9e49418162ca1f7bb54810fc8a7ca4dccc8f4daa01337acba1262bec81", - "0x0023cf2aecccfd2dddebeff531c119ecd07199800d7d4f0b6db76a59d15faf91", - "0x005e2c54ad12a12f4243996ca50c2de42e958d6a1cc8336f8529a5a6dbdbc073", - "0x003f59ab2667211008022878da88e83f49c60170d481f6bd53ecc3278fa22c4e", - "0x00eca5c8c65ef048de6dea538f0390e16d9589e2b230eb1e6806fc1b6fa99b2a", - "0x0078ac491453935eb9805823f48fc075227ce6751ebe3110ff30b2062741c811", - "0x00b2fa3c400d52d7ab452be468709a33e545d4ec3370f9945361e3e1529031d6", - "0x00d4b279a4b8fc15777417ab4b43bc53046b5ec96bf99d74b3fc2f220dea6e77", - "0x00ee3912375df86cab709595e4136053362d61b2c9edbeba986da29712b16606", - "0x009f80dddc4458df4ad00a2aa610e437f7b7218e0dfc2dcd4c66443a247f605c", - "0x0075d26f2759920009ec447695bbc59aef372a64ddf2cbe1adeea8322737eca3", - "0x00f61a05fb3530454a1d0d902c47a0c40dc2f94e54d52ea501b5ff6c070f9d2a" + "0x12ea3371bfe8697852abd139e4e08cede1c49dcc324891b9b9dd2db3d9008978", + "0x112d0e91ee26cad776302989faf1308680884cdbe85f08f289d05b008e92debc", + "0x0001d46e8330ea77b0187b0b5cb9f60bc27cabdb8fdea9232b3cafa00ab2c7e4", + "0x0059f76f17e17079b0418db94a9c12391e52b6cf1d558756c66f6836cc74180c", + "0x00e1b42f03269c4b12523bdef921635ac203d4b910e967ac80cc3706eadb7d68", + "0x009f688b0c2455f4ca1c71654ba691c381214aee25c05fede6c8def607f27671", + "0x00f41b368f3c5820625227f68022e0e338f74cb05d4c88861f2729bb81548391", + "0x006687d4d1ac8e886923bb5d396ac5a639edcc059e04868b5089fdc8a13f2205", + "0x009be3ab9117a2d8b1d937fdf2416a37ea9d8af97943576c267b1609c9125b5f", + "0x009e75e75472de06ab9920fed74f87890f8fa9ed1ee58bd6dc6db21e9dbd61f0", + "0x0027f86df979a81345fd4a32c78ed6377242d5ecf52a2172af0abf21f0ff81f6", + "0x00aa4d7162f4f1e36c259e1e287166dee48a4e03d1f50fead09e7a013f053610", + "0x008a18f4f48214de05fad59e5f1db1b6b6558e4a797eb51284443c161fa764db", + "0x008287386de00c1ecbcd80d9bc4d9830c32e1f0ba4993d955efa328c2393455b", + "0x00af3da66e253f85093e0ed1850fabb2e85d37b00b58d1d1677aec7c5a495f4b", + "0x00103adfb37be0a694572660ed86b4c28d48ab89dea180908fc8d48c2088d603" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -3616,24 +3614,22 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x197db1dfdc221892ca187cc8223138810fd7da2bd942268dbc48cbb40d570f43", - "0x1975096cc1e778a12e43aede0001f296b9b63725207253474749099b17302d85", - "0x00015665b4b8aa054b84354774caf9c5b69d797a8b66a168254a1abefd3fcb74", - "0x00b2eb5db25ded5fbeb259ffd87b5fc2d16bcc1fd1e21580faa3499134a6467e", - "0x002b1f9562d27906bad98dd7dd847c4f8031327edb4e88db548cb121608e9919", - "0x00d5e7bbeba54abe3b0a0592b196740af7146235ac8d6526cc567419c76f6739", - "0x008ce9208c2416a97d4f3b03e365e3d4ae12542be86f238dbac531766e3eeaa8", - "0x00017091ec81654ce95742989c028823981a8b7bfadd6a0c482b809eb6f45d2f", - "0x00d2abff55b8fd24bb01e00810cff25781c1b9f6b3f7e0b15327dccfa6445505", - "0x00378d0a222083ab650ebc2e43f9e1e7802aad54e2114ebb0e1a39c2ebe8d35d", - "0x0082e70c859b80dc33c974b7ee5df4ab9c6dced1d8e28dfc0039e535d49075b4", - "0x0098a6096ad54e7795ffca4ad9c3bc7f01f2e1f27cd14e61897a44a7fe592565", - "0x0084d3f0aeb25c332429ce25ec94c4ea27dd37758ad892ce90b9526f43cf8e34", - "0x00cd01e80f0a6a92605dfb237782fe6cf4a45f23db7155de5f4c2181a5e79a62", - "0x0027791a51fe462acbf264abf25d40c15bd28d81dbeb36ef1896ca7019107e9a", - "0x00b3284e61f26bdc7e14c57576875245b699109c3b09fe24f47619da133107a2", - "0x00722bbcd09b123c4f34f92ce55a1587853fa4869b65f3361b58c6573387fbec", - "0x00790c3b0f8c5f4fd59f35f07a2adb8023bd9eb18bfa85dffcdc0cf54953d8e0" + "0x0d0a1eb8f0d7e9931b65232203904b08dc96f264cbdc0fb3974e4ccf40dfd340", + "0x1451af3419f8b1e90ee4f6b7b90d1b308dd8eae6d6f1d9c1ece7abc757009013", + "0x0001b00b26ff638fa714f600d792bd9988485e5e2b3b1d9bddf72d8fd45263bf", + "0x00902af344d66876ed44f27411cd99ebaffe5f477792b74f5551c142420b129f", + "0x0083328395208fc24701545ff1d93020ec65871eb6f050e7c030865fc5efad35", + "0x00837edfd89ff23a65f2610317e86568a287fe1bed234e1307903caeeb47a5f2", + "0x00b4f3c72553b406eb8d8923acde2018a74ef0726174c935dcbbcc41821d7ef5", + "0x00fb82f3980e1bc92722fda208659d9fc43c620c71dad94d7638f02fb979ab60", + "0x0067ae24828a8054cb8028c9790f8199aa00517cce399902e339491c95d50384", + "0x000fc6861b4005e20dc4817572efab6261e8373f096c1de909fdfb5f5dc8f958", + "0x00ae91808284996e87c2e27649af8a53656873085547d2844e6cb3179b077cb5", + "0x00bcbca199a5f84e6d963583561390ad393c2732a27a8510814915956fa7e977", + "0x0085383a4f09fcf4b55807d103eb685d2b0dbb93beff94dba9a85de83d345e1b", + "0x000170b6c252e7c97c133d08567b880062375a965c7b45ff7fbda9b5980ea0d0", + "0x00e2256eab6e253f95737a9d629a7d6a44b8da5eb4d9de7939543df440062c0b", + "0x006d43009933f2197eaae6ed7ec982fb76a110b52719179bc97ab934bed9600c" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -3649,24 +3645,22 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000f" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x02a7800d59d95fc63fb930589c56215238833d99d41a8e60b18fcacb76a7f2e6", - "0x2b66af78fec9e2cba6e19de9fbfb3b73229879c24284e7c9afe96d60805d0c04", - "0x0000f43f253dc3359a544d3a358ccc991e99fb19448bc5ce1d9ebefb39886dde", - "0x00dc76f6ba9e031e90dd77ab49f2cdd95a802967afbe52200e5a8773bc97c385", - "0x0019f480e660881b0d0a5ac66616b545e3266e6d453e2a2414d4818b77994aaa", - "0x0062e332ba94ee88624cae4b46da20107af0e0e5766102433a451a323ff479f6", - "0x00c1c2806e82ff2bae55fd351034ea42087ddfccd30b4cf0dd4f92cc2a049669", - "0x009af71b2358f5a0497eb6a38dd0cd7a572085e7f4483b4d1096ec13d9d61756", - "0x0082c9ec2dd3d8dca70f4aefe0847c65f530aea37a13384258b99908b0b4b24b", - "0x0003632b0f34b452b2897587992423f34a78ff510e74641d5843eb83d31ad357", - "0x007754bb64b87ef09e13462d9d45d22b554744e4101b562399d82e05bf1e1eaf", - "0x008b2032793710728305e5a550c9909c4c92926d45cbe50f0957889de6a99146", - "0x00622048bbb198c7f6ddbb6beea8186ad2d52a64abde773146dcbee5f7791a06", - "0x0028448a68dfdd8f6edff16d35d9b2484d1746bd6248a61297681fa7f63755cb", - "0x002936f87a8f54e1029f5b351158c106812f9f700307fd9701ad4f333cf01e57", - "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", - "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7", - "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25" + "0x0ac321a8b7fc12e26a0c61cc95e878698b554592e064919c4c1d33577b8ad78e", + "0x09a1f023d9ed788ee83c16ce4eeaa19417e518faf23b4d70070944e7a3493ce4", + "0x000134f7cfda0c00e5e647a0a532a1a3070d6603631b30ab26210344b186b84b", + "0x007998db2701e4bfb6f84509f5f8ba0401168a83cfa1be7364e7dd40023fef12", + "0x00b712baf203bff07cef650b2e56399c7e484ceda6eb9e1a1419223a21d83ae5", + "0x00bd0762aa524b8f7c4556efac08614e6d18bcdae24df4c911f525edd5835e5a", + "0x0069bc90933dc1cbc4e80f2e0019aae8ac1850067595e2fbaf06295f06f6e00f", + "0x009ab3a8c4597d51832e529dfa5411ea733ff3e25d8383ab497f766c4923ad13", + "0x00f6ae47d1c0b48e4e217735294b15b6cb7391d00cf2d00766cdd90c8977b0ff", + "0x0085a10c431a0a98a69613d03c7866590afc38a15d92c46c6beebb4cf2e824a6", + "0x006f91863e047458d5348dfe85071e1e6ef97dc7ad9789163d95615c2402b158", + "0x00708a6f8bfc9055da29e6ee1b5f8160794dcc74f98171e8109aab97a9ffe739", + "0x0092d9997162f3d5ade8900eb30a806e7dcb0269f9bc23bfc0e98629ef110b0c", + "0x00d9373a9d6d3d720cb78a2e5ffb819921d10669d0cdb6dee483300ddd860772", + "0x0085ac61f9fd992d86b2f0752bf08a3e8ca8561889344108f7ad1ee10156303f", + "0x004f49b78aec71ad77c55b357033d1df034ab54e3c36f8d2fe1b2a9c2fb2802e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000010" @@ -6299,4 +6293,4 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" 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 d48b28a75639..e8ddae7822f9 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 @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x15830b3d7d2b65ffffff9050bbbfe1765c70caed5ad754b73f139479178dc300" + block_headers_hash = "0x08b36f215c7e962c86dbabc3bafb75fe03990a9f2ec61f1360bce74963d2e31b" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x0018febbd74d861e38064a4ff9d3b5ed7a39b398576ef75e104848700819a700" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -552,7 +552,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d" + root = "0x19a97233380a84091bde03bf6e165dbda89d43ed22da93af636ceb07fea77466" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -615,10 +615,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0" ] state = [ - "0x1f20d9e3c44b95f3f4a5e57925864336d78e7fdc8ce02909626dd8cd10ebfe2c", - "0x2bae6200e024bbf79cad03fc9c469ae03f648a7151897c4fcc6c9064cd3717ba", - "0x10ad2f5a765a1bfb8baf99ec23e42984dd5b128bc20237e74e6159ca55dcf458", - "0x23e1c707b0acd40063cc3c3d9b5bbb559982644b1c597e461eafccc33e18f895" + "0x24e2cf4a54557a7e0f6f32a952bb20cbc2fe5e58c4d72bdae23b556edfbd1ce2", + "0x2d4e00234bc03bf84b85219e5060ff3460f93c6a4ff5931b398565b7ec2791e6", + "0x1b480a11f4b98abf9c6b333b8efcedae3e5aa4d792bb8d3e11e84c6e419c58de", + "0x0f68e57cc345033ca49b6ed3ade7c3230f6ac053962c59c004afbdc94c9db892" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x29acd4af08bbe29df3e44312d029ba94685e07bea6d48a879451dd2701cd456a" + block_headers_hash = "0x11d9e41a89723a15a1d60c842443238809db7cef69496fccf072e282bcb44ff8" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x00abb50b8989a7f19fd4526d43e15a1ab5d2a43af413cc8ca91e82a3c8828625" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1305,11 +1305,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d" + root = "0x19a97233380a84091bde03bf6e165dbda89d43ed22da93af636ceb07fea77466" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0" + root = "0x2b3c01dc8c691c57eb4bb98b12a8c52bb2e40952550b21c991b3d6a07c57a6e9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1354,10 +1354,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0" ] state = [ - "0x1f20d9e3c44b95f3f4a5e57925864336d78e7fdc8ce02909626dd8cd10ebfe2c", - "0x2bae6200e024bbf79cad03fc9c469ae03f648a7151897c4fcc6c9064cd3717ba", - "0x10ad2f5a765a1bfb8baf99ec23e42984dd5b128bc20237e74e6159ca55dcf458", - "0x23e1c707b0acd40063cc3c3d9b5bbb559982644b1c597e461eafccc33e18f895" + "0x24e2cf4a54557a7e0f6f32a952bb20cbc2fe5e58c4d72bdae23b556edfbd1ce2", + "0x2d4e00234bc03bf84b85219e5060ff3460f93c6a4ff5931b398565b7ec2791e6", + "0x1b480a11f4b98abf9c6b333b8efcedae3e5aa4d792bb8d3e11e84c6e419c58de", + "0x0f68e57cc345033ca49b6ed3ade7c3230f6ac053962c59c004afbdc94c9db892" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670" ] state = [ - "0x0bed4544d8144454c6901241626d581d39d8e1687fc751572c630c1fe5d149d7", - "0x04e1eed045dd8feff549590a1cac15bddded1039171ba040b5aa77e4aa776a86", - "0x16d546c58a062d5ba539bc23ae56ed7647ccd34491b08212de12cbfe3040a075", - "0x08e18983382143a83e320f692bba78b3e84196dca0311188e333da77a69eb592" + "0x0e83fd6fc89b345d1dd3afefaa9a68cdc4271f0cc796744d723997baf7983fb1", + "0x2939e7308340a8bca5845d67449a69a3d89a0d9ec8e85a8d038ad502a2706a8c", + "0x1806411a9991af94a4574bf458e2597e9e37d2e08752397eda9411871f21e98c", + "0x03341edac6e3d06ac54828b2890319fc39736dfc3003b0e53b014d1e4b2fae85" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml index acbc509a445d..3ab4be819ba6 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first-single-tx/Prover.toml @@ -28,10 +28,10 @@ new_l1_to_l2_message_subtree_root_sibling_path = [ "0x2042c32c823a7440ceb6c342f9125f1fe426b02c527cd8fb28c85d02b705e759" ] new_archive_sibling_path = [ - "0x18ab2dcff398a19d86415c407221c2f7c63c30d5ab6465fbc5887aacaf347308", + "0x133905e44b2ca4a0cb51d2b1001ff8afafef718739ed1079906dc2cfae108411", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", + "0x2e2e36722b1ec84e2d5d16c3bc952077215df4ea0b608b28cd036481aa2aa9e9", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -516,18 +516,18 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" converted_root = "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ - "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", + "0x08f5d18bc7027660940b5823aece2984562d128337d8e729b25e6b9d338b2817", "0x016ec951c4d9d145b83f63e58bb7714d980a6b7566ee460bf82da44e647d668b", "0x2aa0d57df3762b031a31219260febd79570fdec2aa53ff3dbd61c3fe460d31cf", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.parity_root.vk_data.vk] @@ -1176,16 +1176,16 @@ new_archive_sibling_path = [ [inputs.previous_rollup.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x000000000000000000000000000000000000000000000000000001b0ca114000" + accumulated_fees = "0x000000000000000000000000000000000000000000000000000001b0d3390000" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" + root = "0x1d20aea0bcec7d0b24d2146cc43af55e869a31644afedaf4e38615a0eaf232ac" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -1194,43 +1194,43 @@ new_archive_sibling_path = [ [inputs.previous_rollup.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c4ec" + timestamp = "0x0000000000000000000000000000000000000000000000000000000069960391" [inputs.previous_rollup.public_inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.previous_rollup.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8699c80" [inputs.previous_rollup.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" +root = "0x08b1afa3501215770a2c677ceba3b8798d9c03d796a609b6404b328af5dbf672" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" +root = "0x236976693e4978f32be409153c88f0ecd48876d29dcc66fd578012d06def637c" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" +root = "0x177859328a58ef72800b2ae59990221dd728cea218ead4f0a252df22ea532d57" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.start_sponge_blob] @@ -1252,19 +1252,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollup.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000043" + num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000003d" [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25", - "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", - "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7" + "0x004f49b78aec71ad77c55b357033d1df034ab54e3c36f8d2fe1b2a9c2fb2802e", + "0x00d9373a9d6d3d720cb78a2e5ffb819921d10669d0cdb6dee483300ddd860772", + "0x0085ac61f9fd992d86b2f0752bf08a3e8ca8561889344108f7ad1ee10156303f" ] state = [ - "0x21e41c56c2a4ff047a8fe922259e5b66cae176502feaceb1c6a3e06e7f9e2de8", - "0x1849487ca414bbb639cc76f5c257d1ca49432fccc090137b64b190ae6efa02b9", - "0x29535e7008c9e4ab453a64d5117f25c9dd6e88b31457d8ea8f6be64a39dcdcb0", - "0x23a530a73510a3d6c8d2327423079d4f2a3ca10844acaa5122af9367019f7ee8" + "0x1d98a1a0a4712820d592fd11a3842715779b8a1b657b3c2bedd0104e7abc6564", + "0x19a7ed2695c742666f706f410be9ec48b2924de0a19de8598f39c85e65dbf88a", + "0x2689b19c90a70203d97c73b6640c74d340ff1ed9bd518c1de46645c9170d7039", + "0x1ed88e3752a1edc7cec84cb781056436c4c45875d6f6d17cab9fcec433e43128" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1272,13 +1272,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollup.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000007" sibling_path = [ - "0x227dfc617923261f352c5b1e72bcbf5d824ac9eaa8861f3d0e7091df5d75cdba", - "0x2b9ac395b5f9f9a4bd37361a03b907e5014c30ef6c6a8553f0834e296ba4a7ae", - "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", - "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x0510c7e9e15b519c6044928b3f1c1c36189643bf0ae6682e583e640c1263b3f0", + "0x1ba4a6baab60518e1d42c3792fcff96bf01a69ab9bcd8a5313b5aaa2ffaeda14", + "0x21bb840f48113a8e786c9cfff87bbc9b7aabf4fceda1e3a7a36948248f918960", + "0x257350c2abb392ee71be3df45bcdbb0d8f15b4982e2a68ed8137392126337634", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollup.vk_data.vk] @@ -1286,94 +1286,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000004d7c4764fb289e62da5fbc6548a5b82682", - "0x00000000000000000000000000000000000c175f3867299af3fad440337f92be", - "0x000000000000000000000000000000c929dea348f4ff7d040b45d43118d74a87", - "0x00000000000000000000000000000000002b992a1a81373623e78761a673293a", - "0x0000000000000000000000000000002a95a92dc99f3e3f5ef3f07b252358e930", - "0x000000000000000000000000000000000011f2c6980ec25fd3d48e83090c0f22", - "0x000000000000000000000000000000bfae84f718e8e1bd26112601b75cf8ad84", - "0x000000000000000000000000000000000005f6d7e18303bf00bb000e950a8e3d", - "0x000000000000000000000000000000b5273cca07204a20cb3eeeff8a022bb9b7", - "0x0000000000000000000000000000000000301e6e6527150250b62b022233bfdb", - "0x000000000000000000000000000000d2b4db9d15c3c33fd38eea363417348b55", - "0x0000000000000000000000000000000000032c70a6a2d7a4affce64aedbf14ac", - "0x000000000000000000000000000000400dcdfc8a4dbcbf0e0f9a9b1a37f8d530", - "0x00000000000000000000000000000000001843f7dbd5b709690aa08b953ba273", - "0x000000000000000000000000000000f6421e160fe49b039a27d0054ce1acd796", - "0x00000000000000000000000000000000000fd79f191afb5daf6030b79c458181", - "0x0000000000000000000000000000006d8dae53856f3ba88c06ab71c69c19f749", - "0x000000000000000000000000000000000016c35bad7876aa21b29a4adde4142a", - "0x0000000000000000000000000000009107c835f9d267208a1530a086fdacfcce", - "0x000000000000000000000000000000000013610e229f312381b652187c29e47f", - "0x00000000000000000000000000000088691ec89a302cda6825b4e9f436f97180", - "0x00000000000000000000000000000000000f9d6785d6e8e3fd1753f7e87dff8f", - "0x00000000000000000000000000000045ad3e2c58d1098828d8563ad019ee5933", - "0x00000000000000000000000000000000001fdaf92c3de16bcd4e6fb07e360058", + "0x00000000000000000000000000000064a05b3d8312ea17865f75cd8a8565f3c3", + "0x0000000000000000000000000000000000272f00e2b4979e7b1a8b804e66d45f", + "0x0000000000000000000000000000005f60c69b768231cc3787f2c1b10d4530aa", + "0x00000000000000000000000000000000001a3a9db6a69e4a6c5680dfb340b548", + "0x00000000000000000000000000000083a680fb9041b35c957bcd70c068dea161", + "0x000000000000000000000000000000000006d30fd00c3d10a3a91aa2627ffa5e", + "0x0000000000000000000000000000001785076c45b4f617eb14afaaac634d872e", + "0x000000000000000000000000000000000001940a414d43bb0706a06add4a686a", + "0x0000000000000000000000000000002937f84cd8eab4ffee7a4fca099c145ce2", + "0x00000000000000000000000000000000000fd6019ce509abe04aae646c03f8dd", + "0x0000000000000000000000000000006db1433a8071c92c87d86229466c3ebdb3", + "0x00000000000000000000000000000000002646ec6d4db4167cd942e4b0c9fbb6", + "0x000000000000000000000000000000630520cd4e98fa98fabadc4d96de047e69", + "0x000000000000000000000000000000000024b154713902e03c36063b4e4114f6", + "0x00000000000000000000000000000078e22aa8d82c0f44eeeb9fabb149bc15f7", + "0x0000000000000000000000000000000000282c3f11b169bde7fa3da873f0617e", + "0x0000000000000000000000000000009947cb7160b107f707a6c4539eef57b9da", + "0x0000000000000000000000000000000000207fab401751967d29bd27f41ddfc5", + "0x000000000000000000000000000000e952c4185773433d7f569c246c0d538f18", + "0x00000000000000000000000000000000001fe54b0d8844a9f92e76770417302a", + "0x000000000000000000000000000000987b02123f78c72227f72e9548c78e24fc", + "0x00000000000000000000000000000000002d405cadd92640f24ef9e34a187f84", + "0x000000000000000000000000000000c99bdb0b196041655a795f2d1394ae2113", + "0x00000000000000000000000000000000003000d8aec8559c7e454e5722848bc7", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000bf4bd72774835057122c9a2daf2b92b267", - "0x000000000000000000000000000000000010d41e1f5634fa49dd85aa7e0c225d", - "0x0000000000000000000000000000000c9ecf1f9ff2b6d3f9dfc16105a70db445", - "0x00000000000000000000000000000000000ce9dca6ab69f832933f597ac857bb", - "0x0000000000000000000000000000003dc7b907a1289d757d2bc79acd5001f750", - "0x000000000000000000000000000000000019a414c9d080610d7fad792a2acf57", - "0x000000000000000000000000000000d33d6f05f3861467418a9cc3a70e2d33a9", - "0x0000000000000000000000000000000000262ba72cb67ca91019d399be25f750", - "0x0000000000000000000000000000000298cfcd651c6443b8576e4534b656d3ee", - "0x00000000000000000000000000000000000e1c1c81ef5166ce6bb34d08900fc8", - "0x0000000000000000000000000000007e415e1789966b8e64092f8d525f21b9be", - "0x00000000000000000000000000000000002ae0c480c3a5ef38cfa3c5993133fb", - "0x000000000000000000000000000000c391717b8f9a463a07a686d8abe68e9af6", - "0x00000000000000000000000000000000002af0b1c7344f535389bfb2346a7f6a", - "0x00000000000000000000000000000016419628f3996508fdfcbf1e9c6ff31d24", - "0x00000000000000000000000000000000000270aa5f2bf9623704177bbfb4143b", - "0x000000000000000000000000000000bdf3e664dd45c97c7edb6e5f68dcb25275", - "0x000000000000000000000000000000000000a3b5f5e13ca887f2428b2524342b", - "0x0000000000000000000000000000007e7bd14bdaa91ab0242cc5370cad1aaba1", - "0x000000000000000000000000000000000026323c0ce3f098e3a9f0c1a37c972e", - "0x000000000000000000000000000000932bdf33d976ee1a22a9e74d2e915bb0d1", - "0x00000000000000000000000000000000000d5c5b37eeecffe4aaf9d0acdc11a4", - "0x00000000000000000000000000000043e2539540930f23a7617b0bf30635f5c2", - "0x00000000000000000000000000000000000ea98a0f4efead36aaca4de5b9f7db", - "0x0000000000000000000000000000009677e5f3727d22d605bf937e1a466fecf5", - "0x000000000000000000000000000000000027c391e80fc81d7e39655df9e22203", - "0x0000000000000000000000000000008a4c265d78d6bdd5d410d0521069b72cef", - "0x00000000000000000000000000000000000c6afded520b69892ed938d685ec06", - "0x00000000000000000000000000000047ce57c8557872d2cd079e7281948e3943", - "0x00000000000000000000000000000000002803c2fa9deb7b23005b72fe1afc58", - "0x000000000000000000000000000000d8e61bf4c552f67ed802c585ed64983ece", - "0x00000000000000000000000000000000002447b13b6be440d86836b2fd4247a7", - "0x0000000000000000000000000000004524bc488828b2c5372bfa880636da6ae8", - "0x00000000000000000000000000000000002789e962820a470db77af7939d952e", - "0x0000000000000000000000000000001f6a6d6c01a0c8ee2269832698bd2f20d1", - "0x000000000000000000000000000000000008acfff7f4aa559dc99edfe5662570", - "0x00000000000000000000000000000004f2ad0a3b8603ad4c48086a60697adbf1", - "0x000000000000000000000000000000000015c6e7cba051da60f20e5f47315231", - "0x000000000000000000000000000000ecc5b648e565aad998b75c0da2a8dcdac2", - "0x00000000000000000000000000000000000ed287742dc2d2ab7813b546b9e5cf", - "0x000000000000000000000000000000803fc9a987587ceaee1f9ec50a2f9ba37d", - "0x000000000000000000000000000000000000bd69f64cf27e55e505478bcdd9c3", - "0x000000000000000000000000000000767a98d1bbf9b8639c08b13190f06b32e4", - "0x000000000000000000000000000000000022586d7fbaf4469a4e2f3294e0a390", - "0x0000000000000000000000000000007e6f11e1aa49b189d705a4b56ff5188672", - "0x0000000000000000000000000000000000242e6eff3bddcf155669b8e9e99c98", - "0x000000000000000000000000000000532ff1f7e2a4ccea05848a6ad9ea8ab300", - "0x00000000000000000000000000000000001840bc2c92ea57c247576601b64c21", - "0x0000000000000000000000000000009219d69c7ee479d8303aae9588a3034e7f", - "0x000000000000000000000000000000000008478aea422d117facd5bde7664bff", - "0x000000000000000000000000000000094ab02c6bfe07198f67e3ae0fe8964ff6", - "0x00000000000000000000000000000000000270689441f30e6916ca1603baaa68", - "0x000000000000000000000000000000ec508ee2f68cafc8123c297cadd2bfc951", - "0x0000000000000000000000000000000000071b87ee438682e9c272528615ef38", - "0x000000000000000000000000000000c3c6c5ca0c745c7f7547384c765de94b0a", - "0x00000000000000000000000000000000002791cb675dd550f8077f18b5b118d0", - "0x000000000000000000000000000000c6773a99c311ca9c33504bafb19efe6a4b", - "0x00000000000000000000000000000000002081e2c0e5fdc6ecff4b4497eaceaf", - "0x000000000000000000000000000000b71d5cb054e8153336c04d9ba84778b802", - "0x00000000000000000000000000000000001519edbfff5731860e24744a6b2255", + "0x0000000000000000000000000000003ed193224abaec1d2498e39a71e7598a89", + "0x000000000000000000000000000000000023be0996565e99572b01ce5783faca", + "0x000000000000000000000000000000034508ba93eb5f359785cc061ac281cff7", + "0x0000000000000000000000000000000000272f39575170922fbd34af7fc8c606", + "0x0000000000000000000000000000009eec72e59af735cf54b4379b72d14711ef", + "0x00000000000000000000000000000000000710ff7c9edf614fd32abfb002d4bc", + "0x000000000000000000000000000000e7aae21c27acfc8faec1880a180bd12b70", + "0x0000000000000000000000000000000000199742c1a796eb6ba0f26ff7cd5978", + "0x000000000000000000000000000000afb80b8b93c3f8a9a8b58d4821dd0765ee", + "0x0000000000000000000000000000000000174a2790a52b8d48e0f67011e8895e", + "0x0000000000000000000000000000005ba62e5e38781f92b1f79ea1bdedc0725c", + "0x000000000000000000000000000000000016c6c6cf4968e67912911500e524a3", + "0x000000000000000000000000000000259fd8b7046ebda300a0a26e72b4c8cf7e", + "0x00000000000000000000000000000000001cef5aab7058a34e4f8359af8d2783", + "0x0000000000000000000000000000002b53a67b685d101c720911f25a617e6fc7", + "0x00000000000000000000000000000000002f3ecbfe3a30e74e8035123e75fbf9", + "0x000000000000000000000000000000586c261447f2a4a30614c808bb0995cd07", + "0x0000000000000000000000000000000000108e0beec00e3dacb69913b67c659c", + "0x00000000000000000000000000000039cdc0cb10288fe2a5c86634e0aa60705d", + "0x00000000000000000000000000000000001be32edbeb2f2b9b52b21cb75d7891", + "0x000000000000000000000000000000a12e6ed8fc921992878ed89973ad9ac237", + "0x000000000000000000000000000000000004f1655436fc1a44a3f0e836339a73", + "0x000000000000000000000000000000a9b875caa1ac036227b9b84e1029ba2cb6", + "0x00000000000000000000000000000000001f0ebda96fa7f4366996f5cc842053", + "0x000000000000000000000000000000f5b20fdda96df5ec4b97e0ef4f33d39ed4", + "0x00000000000000000000000000000000002ea89b86af3e73ecd8e5b60a5c805d", + "0x0000000000000000000000000000006e768d66d98c1cf1fc2ad7c15c2fde974b", + "0x00000000000000000000000000000000002ca1a71bb3eef5defcc5e73777184c", + "0x0000000000000000000000000000002b2e1e4d634d3a0f505e7bd900c82d9060", + "0x000000000000000000000000000000000000bb2ffc9dc66cf7b422f7241a43eb", + "0x00000000000000000000000000000080f4dfec6be4190ede6b76282820f9b678", + "0x00000000000000000000000000000000000eee8f3f8a4e64c22fc684ae946462", + "0x0000000000000000000000000000002f086987342cd68c0f1bf00253a01995b2", + "0x00000000000000000000000000000000000cfa47c9436359480155b19ff8812c", + "0x000000000000000000000000000000e342ce4ea9bcf52fd5b6cec110ce4cc27d", + "0x000000000000000000000000000000000012c0445ec1b9540626b8668760eab0", + "0x0000000000000000000000000000006229521b2a0c8394084b534ce0c70f2aab", + "0x000000000000000000000000000000000025a868580843aa34994e85e4a04f6e", + "0x0000000000000000000000000000002ff1709b05460f72d3cefefc58468fd93f", + "0x00000000000000000000000000000000002b6ab869147092be90abc79c68d877", + "0x00000000000000000000000000000081d3ceb5d345b8fb5bd9a04624cfc063bd", + "0x0000000000000000000000000000000000227ce95e24e62e5f081fe83cade90c", + "0x000000000000000000000000000000b73f9b0a717f5c44d746eb99c403fce8d8", + "0x00000000000000000000000000000000000e2579a60c3a9c3d3515202a6e902e", + "0x000000000000000000000000000000b202d7f982f1db31e8ffe155db97930c9a", + "0x00000000000000000000000000000000002cebebfaf451befad430bbaec42237", + "0x0000000000000000000000000000004d134c5d02c08af932f825166540aa7dc0", + "0x0000000000000000000000000000000000146188e203a0cd61017d5f91de79e2", + "0x0000000000000000000000000000007a57270d6c06d8c95cac865bb146243b6e", + "0x000000000000000000000000000000000027db1e4ade904b66dd1e9b5f4b0bd9", + "0x00000000000000000000000000000078af0eed350b0845519d35a9259fe26dce", + "0x00000000000000000000000000000000000ea341324b19345cf3aa2ed19178c6", + "0x000000000000000000000000000000ecffa99d0449c245baae475c6bb8f166a4", + "0x00000000000000000000000000000000001647e133c7e55f4b2a3607a356f540", + "0x00000000000000000000000000000018a3a9fd2c0c1ea1a7d0c630b09945d522", + "0x00000000000000000000000000000000000a148c9b945eac275150d532b8e22f", + "0x000000000000000000000000000000965866e8debfc954c36f81378276dc49a9", + "0x00000000000000000000000000000000001c680e160639c969954339bdf61f50", + "0x0000000000000000000000000000003572d1c2668f13ff971a70d185b7dcdd2c", + "0x0000000000000000000000000000000000092f39aa3a733a02afb4938d6cd21c", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1394,12 +1394,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ae5d28044a82350819479aa1b47d508985", - "0x00000000000000000000000000000000001fc7dff70486da85594d5d5916a2bb", - "0x00000000000000000000000000000061a5258e2e55aed75b98cbe882f1dc22d0", - "0x0000000000000000000000000000000000164148c1d2c4d0a88568cde8a2cc45" + "0x00000000000000000000000000000063a78e436d80b6ced3cf80979b723a2775", + "0x000000000000000000000000000000000014918678ba3bbd94616c46a47258ca", + "0x00000000000000000000000000000075db428bfb63ab9fcc734d18541c43429b", + "0x00000000000000000000000000000000000c97c1d60a9fd3863d5090659229e6" ] - hash = "0x08a5b0120724e14d99912ce5c3ce1371bced2d0dd440ef60634edbddcc247c65" + hash = "0x2e4294dd240f6f76d80cc9c898d4f1e6e71f034414d53427af3be8f83c50c224" [inputs.previous_l1_to_l2] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml index 84660d3c27a8..ec788a91b8e4 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-first/Prover.toml @@ -29,9 +29,9 @@ new_l1_to_l2_message_subtree_root_sibling_path = [ ] new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x14bc42835f991a99e838a11c13f5628d70884019d170a602da9e60eee2fa5f80", + "0x151291de5da36573ec2eee544aac11ff0fac7188a0994c4297648d37a9c9e1c2", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", + "0x2e2e36722b1ec84e2d5d16c3bc952077215df4ea0b608b28cd036481aa2aa9e9", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -516,18 +516,18 @@ new_archive_sibling_path = [ [inputs.parity_root.public_inputs] sha_root = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" converted_root = "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ - "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", + "0x08f5d18bc7027660940b5823aece2984562d128337d8e729b25e6b9d338b2817", "0x016ec951c4d9d145b83f63e58bb7714d980a6b7566ee460bf82da44e647d668b", "0x2aa0d57df3762b031a31219260febd79570fdec2aa53ff3dbd61c3fe460d31cf", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.parity_root.vk_data.vk] @@ -1176,16 +1176,16 @@ new_archive_sibling_path = [ [inputs.previous_rollups.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000002" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x000000000000000000000000000000000000000000000000000135968b96e800" - accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000016e40" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000001c6fac0c26680" + accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021a35" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" + root = "0x0cc3f2929b47296b3b7206f73689e3fddcbaf9b01a62362f3fc01bff2196ab4e" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -1194,43 +1194,43 @@ new_archive_sibling_path = [ [inputs.previous_rollups.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c510" + timestamp = "0x00000000000000000000000000000000000000000000000000000000699603b5" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.previous_rollups.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8699c80" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" +root = "0x08b1afa3501215770a2c677ceba3b8798d9c03d796a609b6404b328af5dbf672" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" +root = "0x236976693e4978f32be409153c88f0ecd48876d29dcc66fd578012d06def637c" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" +root = "0x177859328a58ef72800b2ae59990221dd728cea218ead4f0a252df22ea532d57" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x1aebad760bcf9d98e0986a8a3229d4054c12e87229c9c45f98dbf7cf328e007d" +root = "0x10ae4fc414960709e17f6a8b47c49b8a6a067805e7a3aba0ad0488060205f6e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x05714de03bd649c1f0dc87c76703ec746d8dcb389ee6c61bcadce36cbe6bb3f5" +root = "0x0f373a8f9d5d10645764d56ed058f438a4398656d7fdeac946753b4b7a7b9c72" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.start_sponge_blob] @@ -1252,33 +1252,33 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000004b" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000047" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87", - "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", - "0x00000000000000000000000000000000000000000000021e18f64d7f6a705600" + "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e", + "0x00000000000000000000000000000000000000000000021e18f5e453cd84ad80", + "0x000000000000000000000000000000000000000000000000000000000000076c" ] state = [ - "0x0df8b69dca04ec24c18e1739a35164e584a68ad15b9099fdc7ae67d171a18d60", - "0x26d1daafb555147b4905fa53742042f5550d67ff60837839d4c45c8042fe46d7", - "0x094b10f586f069be0954a0aa4418c746b732ce34023077858eb9096c0b32f259", - "0x2fe1c32b1348aafcfb2196efcf3cfda3071eac524a38df38b19ad12f5f5baaa7" + "0x1623a46c73a4c5b35974ddfc3b56a2df8b1eb098997d4e3fa1ce4b9572dd1575", + "0x1de283da506fe35bb28f25f215626d22cb0bc6df85596f89e8dea06a4e32d48f", + "0x2e0d4d5b05ec14e45aed7e142f605faf391deab327da3423a55ee14f252b4a8e", + "0x0dedb88c7944e60de45fa4269f531fa6e2e352fdff5c1118ac54f2a3b65a4d26" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" sibling_path = [ - "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095", + "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1927,16 +1927,16 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs] num_txs = "0x0000000000000000000000000000000000000000000000000000000000000001" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x0000000000000000000000000000000000000000000000000001c54056f9c920" - accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" + accumulated_fees = "0x000000000000000000000000000000000000000000000000000133ec44ed2000" + accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000016c40" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" + root = "0x0cc3f2929b47296b3b7206f73689e3fddcbaf9b01a62362f3fc01bff2196ab4e" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -1945,77 +1945,77 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.previous_rollups.public_inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c510" + timestamp = "0x00000000000000000000000000000000000000000000000000000000699603b5" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.previous_rollups.public_inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8699c80" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x1aebad760bcf9d98e0986a8a3229d4054c12e87229c9c45f98dbf7cf328e007d" +root = "0x10ae4fc414960709e17f6a8b47c49b8a6a067805e7a3aba0ad0488060205f6e3" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x05714de03bd649c1f0dc87c76703ec746d8dcb389ee6c61bcadce36cbe6bb3f5" +root = "0x0f373a8f9d5d10645764d56ed058f438a4398656d7fdeac946753b4b7a7b9c72" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" +root = "0x2568334c9fb00f48349dd5159b8ccfed2f4b2649395b99ed06e3ccdb5e595e83" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4" +root = "0x1d4b7e120298a5183de0cb41019e9762e38d2de68fb94bd6970e183448e6c47d" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.start_sponge_blob] - num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000004b" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000047" [inputs.previous_rollups.public_inputs.start_sponge_blob.sponge] cache = [ - "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87", - "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", - "0x00000000000000000000000000000000000000000000021e18f64d7f6a705600" + "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e", + "0x00000000000000000000000000000000000000000000021e18f5e453cd84ad80", + "0x000000000000000000000000000000000000000000000000000000000000076c" ] state = [ - "0x0df8b69dca04ec24c18e1739a35164e584a68ad15b9099fdc7ae67d171a18d60", - "0x26d1daafb555147b4905fa53742042f5550d67ff60837839d4c45c8042fe46d7", - "0x094b10f586f069be0954a0aa4418c746b732ce34023077858eb9096c0b32f259", - "0x2fe1c32b1348aafcfb2196efcf3cfda3071eac524a38df38b19ad12f5f5baaa7" + "0x1623a46c73a4c5b35974ddfc3b56a2df8b1eb098997d4e3fa1ce4b9572dd1575", + "0x1de283da506fe35bb28f25f215626d22cb0bc6df85596f89e8dea06a4e32d48f", + "0x2e0d4d5b05ec14e45aed7e142f605faf391deab327da3423a55ee14f252b4a8e", + "0x0dedb88c7944e60de45fa4269f531fa6e2e352fdff5c1118ac54f2a3b65a4d26" ] - cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" + cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollups.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000055" + num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000004f" [inputs.previous_rollups.public_inputs.end_sponge_blob.sponge] cache = [ - "0x00000000000000000000000000000000000000000000021e18f4883f13768ce0", - "0x000000000000000000000000000000000000000000000000000000000000076c", - "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3" + "0x00000000000000000000000000000000000000000000021e18f4b06788978d80", + "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56", + "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e" ] state = [ - "0x1c5571e9fa8905d9515e19f030e512045b2fdf1a979af43e5d0272907210d7ea", - "0x20609ea1d2db68adcc8c1727b39e6eae9dde1be0c592f3be825af53b465b6b99", - "0x1ae1804f21f11beee6f4a94b38ac8fccd2cb3727dc979d08e152a18bbbb0b462", - "0x14523f4bc975fd0700c26a2aafc3e7f0d3eeb8e14d22d81b87b23f272fff5a64" + "0x11c7f52b2995f4517ab1988d643e3d712acdcf08e63ff7270cdd5ba34234cd74", + "0x22100c9006bc2fff68ce0c5919b75f261f239f3771c16d45835b4f2e512eca94", + "0x1de326268962ce7965804ec9ec360edf23b542606fbf9c49a133a37acd77a017", + "0x09fa2dc623754cfe967c5c98534b297c9648b0ae8fad15128cd65be3cdb0e894" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -2026,10 +2026,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x06aac6f4643c4c00d10054129df066de9adbf33ecd9922aa22b0ca12ba2cc8f5", "0x1842013e5c0c6291befb4ea5cb265babc5c8a5fd79e4ef9c39d05151036fd96f", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -2037,94 +2037,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000001e4ae8c92043580c783a58953412c77a2f", - "0x0000000000000000000000000000000000276f692d1ce4fdf44783bc5ab6d816", - "0x000000000000000000000000000000151686f086bc0321dd8fc3cfc1595eb1d2", - "0x000000000000000000000000000000000026c5fc150fda41117c087ed8f4b5ba", - "0x000000000000000000000000000000bd361535cc0fd2f97ee66558a099cac903", - "0x000000000000000000000000000000000011843cf766339a357d3601bd09b7c2", - "0x00000000000000000000000000000046618a5c58b8c27a1d4eed286252caeac8", - "0x000000000000000000000000000000000024cbd2d392793a799785662cff6328", - "0x00000000000000000000000000000098cc1341dd3f4a5ffbe1536708851a92ba", - "0x0000000000000000000000000000000000039bb9d357beedf9ae595552dadf39", - "0x000000000000000000000000000000c5f9f18ab0fbc11d752b73fc77b3d759c5", - "0x000000000000000000000000000000000029307356f9fb7bcb9018bc13220fbe", - "0x00000000000000000000000000000082a9cb4e1b7c9d91e26a8b53c73be3d862", - "0x0000000000000000000000000000000000053fb075b2cac619ca3453983f104c", - "0x000000000000000000000000000000e7c6c7f9ec9eb25fb6d19edc9d31cc1395", - "0x00000000000000000000000000000000002ceff186655362f4c8d9dc66b2f02c", - "0x0000000000000000000000000000007e34b851523b720d6cfcff6acb8e553d3d", - "0x00000000000000000000000000000000002b19c3db4dfddd9695383f62b3f378", - "0x000000000000000000000000000000a68bd54c2ec240727a539f473276b9dfdf", - "0x000000000000000000000000000000000011e578df5fa03e66c4f6ed5c2af9d5", - "0x000000000000000000000000000000abe875ea7196116ffa2c93167a2c51d49e", - "0x000000000000000000000000000000000003059f5bb094aed83ca4918dc8636b", - "0x000000000000000000000000000000a504145e524d0217096a014ce12a6946c3", - "0x000000000000000000000000000000000010da2c2992a1726000818196d6bc27", + "0x000000000000000000000000000000de198fb1732a4facd18fcd6011f7179d3f", + "0x000000000000000000000000000000000004d78d08f997bc1ef1f62f40b4df92", + "0x0000000000000000000000000000001b07a7edfe73494d1e79da81185f83fc66", + "0x0000000000000000000000000000000000188d1b2565ef75d7422f6d6eeee2ff", + "0x00000000000000000000000000000030439813835d384f1e23aea4645e9dd93f", + "0x0000000000000000000000000000000000094c2068af4736a24e7eb5d055bdd3", + "0x00000000000000000000000000000071703719b23c6e80014047b4c14a36a550", + "0x00000000000000000000000000000000000e1727e41c5a5349439bee0184ab4e", + "0x000000000000000000000000000000285a9ec01e74115c1c36f068ae63fa3185", + "0x00000000000000000000000000000000002e766006110406d054e0c74e32e90a", + "0x00000000000000000000000000000095495e645c88586e13c15490ca724c1c18", + "0x00000000000000000000000000000000000383e2b0a5892840eec6fba4e78abb", + "0x00000000000000000000000000000086d1759cce624defad8b9cc4e14db8d3b2", + "0x00000000000000000000000000000000002bfb300f6d12898bc3070cb76f35a2", + "0x000000000000000000000000000000c60d6b05e00da48facd455bb99c7682ebb", + "0x00000000000000000000000000000000000d8dcd611e6c6ec135ab6781b3526c", + "0x000000000000000000000000000000d91cc7a7e4101206e5303afbcca22d7421", + "0x00000000000000000000000000000000002a18677f97c8179867ada48377d5b5", + "0x00000000000000000000000000000022ae2ce83d581b550f3bd32d1f33c47896", + "0x00000000000000000000000000000000001d95d0459f0cf17d1d87ad17d7971c", + "0x0000000000000000000000000000001ea65bc363ee6884a839a4f8caf8dedd23", + "0x000000000000000000000000000000000021411ad4210d8c68d94e68c9d855c1", + "0x0000000000000000000000000000006508af13d41a41de95ed4e6254b0c3ae40", + "0x00000000000000000000000000000000000543ce2a65c1324a4227dd9847ce5b", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000c6834b1371e1b1284ff94b7fe07553a2d2", - "0x00000000000000000000000000000000000b54cfc866dcf74b6ec4f3fc5a8820", - "0x0000000000000000000000000000009aefe9ec331c33a61ab3d8e1ae17f78bc5", - "0x00000000000000000000000000000000001b15d30bd2158b63f8b54e9c1683fa", - "0x0000000000000000000000000000004c351be6d932295759820519e16530e41f", - "0x0000000000000000000000000000000000269cb7e71d55106ce999bb1d325b48", - "0x0000000000000000000000000000001ea8e6b43a398443a4151fa59d6f7ceaa3", - "0x00000000000000000000000000000000001e61d55bf34abc963d3b5d6004d969", - "0x000000000000000000000000000000a23f9890e099867e84996c27f743945674", - "0x000000000000000000000000000000000026e59abc968eb71a578831198594fe", - "0x000000000000000000000000000000cc07262c57ea9a00118fd2c2b4541337ce", - "0x00000000000000000000000000000000002936be5393583516653ac36b62b814", - "0x0000000000000000000000000000005b8ced99d9b3a2737225a6fbb0442c8410", - "0x000000000000000000000000000000000012a131db08fd56cd8d479c46f12ed3", - "0x0000000000000000000000000000008809b08c04a42e2d20815de20abf86837f", - "0x000000000000000000000000000000000002f1d403d397d79c37b12f5e48b992", - "0x000000000000000000000000000000764a6afd7171bc892a37a129d75af1c148", - "0x00000000000000000000000000000000002f267438acc11811355d69e084050e", - "0x0000000000000000000000000000004592400e17f33fbe093c9443aa3d313c38", - "0x0000000000000000000000000000000000131c44b6946ff82bc9951d2d3dbdca", - "0x000000000000000000000000000000c7c0d435089022b361324eb99043672bf6", - "0x000000000000000000000000000000000013fd254d4564c7ede1141f91d80928", - "0x00000000000000000000000000000023e689e27e13bd5c7ab505278cae550a48", - "0x000000000000000000000000000000000000998ba1d6a345ba5ff37007b73d30", - "0x000000000000000000000000000000744d3c3b3072ed9c3deea653de234ce7a4", - "0x00000000000000000000000000000000000c4e876d33c07cbd5b5e0ede0fa424", - "0x0000000000000000000000000000007c11db0a6f9175116c13b54fb891908c91", - "0x00000000000000000000000000000000000df81dc77c4cccac24be4297432426", - "0x000000000000000000000000000000688423fcc6d035d4749c7c4fd12a93f4cb", - "0x00000000000000000000000000000000001869332a18be2b3e5784ffe78465ba", - "0x00000000000000000000000000000009e3bdee0a2e9bfe8f73018d339c18041f", - "0x0000000000000000000000000000000000060f09cc5e11e81f770c68ae449b1e", - "0x0000000000000000000000000000004ef078bb6735e807eaceb17b6ac9c1d2ea", - "0x00000000000000000000000000000000001f6a745fd7b602b96508c104805ea4", - "0x000000000000000000000000000000ebed2d933460e55107c1c84bd370341cf2", - "0x00000000000000000000000000000000002bea0aa1908cf1fd99a7acbdff9318", - "0x000000000000000000000000000000da7ea7b719c54865b4a19de376794a8711", - "0x00000000000000000000000000000000001adb693a21001b6b0f8a8fd8557820", - "0x000000000000000000000000000000521fb83d119a82b03849a26405acf27105", - "0x00000000000000000000000000000000000d6cb452cd13ff1127d5a7164581c1", - "0x000000000000000000000000000000f63787aad06165e738ce48749d04ae0abf", - "0x0000000000000000000000000000000000025906c6d9913452d2bc4a414899f4", - "0x0000000000000000000000000000003caf63b6c3e5d1b8e09d9147230dc42f50", - "0x000000000000000000000000000000000007a7518fdd37ec7e666c0d7337585a", - "0x0000000000000000000000000000000bf9b4d9952e869d0c3c824796d2e6f5e0", - "0x000000000000000000000000000000000029383215ee9fc15ba1ce59dbe013a9", - "0x000000000000000000000000000000747473a67251a142e7a4e36bdefd4aa696", - "0x00000000000000000000000000000000001e2fc6e7a06bbd8a9bea8c3ab70132", - "0x0000000000000000000000000000009130b953b443cca410a4b3cd19c89754fb", - "0x0000000000000000000000000000000000200a4b9852bb8e8db3d9ae43f294bd", - "0x000000000000000000000000000000507d98e32269486cc8fc15eea4ef56252a", - "0x00000000000000000000000000000000000e7f3cddccd35776f7695d5177552a", - "0x00000000000000000000000000000054b4ba41a1b463011231577c357fdcb275", - "0x00000000000000000000000000000000000af128480bfc88555ac99c4c785035", - "0x0000000000000000000000000000005b6a50b2cc8fe072cb33787b712141058b", - "0x00000000000000000000000000000000001eb5f0a1524277d2d4922db4b6dfbd", - "0x0000000000000000000000000000004d7f92a627a61563faa9fdc2fccd36f9c6", - "0x0000000000000000000000000000000000078bef3a0192e9fc51338932a9a88d", - "0x0000000000000000000000000000001a109f159ad047982cb6e4cf11cecc9381", - "0x0000000000000000000000000000000000122dc15c262b1abea47df63f488344", + "0x000000000000000000000000000000355c2998f398e804e730189461fb00139f", + "0x00000000000000000000000000000000000a3443a110b2522a23a03d939eeeb3", + "0x0000000000000000000000000000001f3fb12db9680f48fb1d29bbbdd4b7bc12", + "0x000000000000000000000000000000000000dcc813db2cd2e14df24a5c181e5f", + "0x000000000000000000000000000000b672d5bc0f288b4cfa0ca4dc59d3ae4bb3", + "0x0000000000000000000000000000000000267dc67679d7d2201058fc61fb5ccb", + "0x0000000000000000000000000000000786bad7d579c9f505c141a00ca7ebd8cc", + "0x00000000000000000000000000000000003003f7a872f87cf1756201ed7cb62a", + "0x0000000000000000000000000000006b168d7ac649c47a8951251e8779c0fbec", + "0x000000000000000000000000000000000003b1fab24cadb2ec2ac81021702e0c", + "0x0000000000000000000000000000003f1cb3ddf1a489eecf0e96938023de8aba", + "0x00000000000000000000000000000000001fc9d2dea0c2fb407283bba83ae068", + "0x0000000000000000000000000000000f38a8ebbfa7c2a5ebb9e387001d1cbaee", + "0x0000000000000000000000000000000000077ecfeed1399ec91b3dae718ffec1", + "0x0000000000000000000000000000005d36d493a66dab44c42b8e38cde2779b1f", + "0x000000000000000000000000000000000020e25855b65dd0d452c31500e245cd", + "0x00000000000000000000000000000042b42f7761c5d68575d3461b9f0b324d7b", + "0x000000000000000000000000000000000017d40c407912418d5f325572621c62", + "0x000000000000000000000000000000a15a56e2c293001e8d134acb4871ce1d0e", + "0x0000000000000000000000000000000000099bb554bde1b473e90684295bb635", + "0x0000000000000000000000000000008481507563e835f85ea03b451cbc8dd3f4", + "0x000000000000000000000000000000000030223f876f12d368532937c35079f4", + "0x0000000000000000000000000000004f45546300f84611dcd78027473ea0940d", + "0x00000000000000000000000000000000000c399e146a6cc96b84b7ed75ef44b5", + "0x0000000000000000000000000000007d50c24c592683a7f75c1424a2fe53fa3d", + "0x00000000000000000000000000000000002e617547a3211c1d7115433666c4e8", + "0x0000000000000000000000000000007e7ab2b0728357af4107b9d6fa5cba78e4", + "0x00000000000000000000000000000000001b1dc990733070ea702d0205caa743", + "0x00000000000000000000000000000015ef85caf42454b9559a05f35d52926f0f", + "0x0000000000000000000000000000000000215cf24eebc713dcdbfca83b81bc3f", + "0x000000000000000000000000000000b12709253feebb678acd68ab5b095161f5", + "0x000000000000000000000000000000000018525c9bf65b01a45ff2b3bb146da8", + "0x0000000000000000000000000000005759e13774c9c1a6ca8dc59e9d90dfb300", + "0x000000000000000000000000000000000028866f6c4f3a992d71fa598cf43961", + "0x0000000000000000000000000000007a239a8295775f7b5180902e6de5e26c12", + "0x000000000000000000000000000000000019acffdb9f035e7caa6bce17b6e270", + "0x0000000000000000000000000000007665dabae3fedda930fe4681cf534cb87b", + "0x0000000000000000000000000000000000177a9a590d5d85846ddea455f621e4", + "0x000000000000000000000000000000ce91975f55d6a99abfd359725b6d4ee499", + "0x000000000000000000000000000000000002e0581d0391b869169f661e24f300", + "0x000000000000000000000000000000119045390688c4a639f3d36bd4952ee441", + "0x000000000000000000000000000000000011bdb2dfeaebbd7cecda1721f49cf1", + "0x00000000000000000000000000000079bf6f47850cd633233987b14f03b55046", + "0x0000000000000000000000000000000000107ab29175f69ed7555d480ae8f152", + "0x000000000000000000000000000000acf2610fb29016ddba2880a84059508626", + "0x00000000000000000000000000000000000338875b0947ca7a610a53ab951f8c", + "0x000000000000000000000000000000a23f636f7bfd3fd354929980eb13e41723", + "0x00000000000000000000000000000000000edee532d0fb1628d4c5c8669c8867", + "0x000000000000000000000000000000bc61de8b292d6e5edbfb44729f9b1308d6", + "0x00000000000000000000000000000000000c4c8823b6becfaf42f67d77844074", + "0x000000000000000000000000000000af30263e9cf766fa25f60188eb550dcc03", + "0x0000000000000000000000000000000000272886ef3ce068ea3a692629037755", + "0x0000000000000000000000000000001a91f47e8827cae4b55ac9cdbf32fd12d3", + "0x00000000000000000000000000000000001bb1e5678f70336ffa213ed44e3d14", + "0x000000000000000000000000000000d75a994bbd189310cae9f871dac212def4", + "0x00000000000000000000000000000000001c9f5ead3e78072f82ecc21c100cc4", + "0x0000000000000000000000000000001a2a0c93ef6ea4930b07aab84809b297f5", + "0x00000000000000000000000000000000000266003e338ef6b23aa108bed42d97", + "0x000000000000000000000000000000e31442210b4ab02e40d1198f4d65d0e502", + "0x00000000000000000000000000000000000cef6cd374810b58f3bcb5c1678c6b", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -2145,12 +2145,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000adabe6d02a21c4c54bb97292eeffdceba0", - "0x00000000000000000000000000000000000041cc38d91b7f3e17b49ae0783e3b", - "0x00000000000000000000000000000095c812d0726d982c50e731ed0e8a9a8d28", - "0x00000000000000000000000000000000002b1be321ebb12a6b21d9a9a6ae0779" + "0x000000000000000000000000000000db27c1b01dd18c17d277d25d9bd917782d", + "0x0000000000000000000000000000000000036a9893a89572bb3ee3ae0a968019", + "0x00000000000000000000000000000087900e14657967934e41087b942b9c33d1", + "0x0000000000000000000000000000000000061f0c485f839e86b27481692b6ad8" ] - hash = "0x18aa8d2e7ca198548ad1580f92d3b896692f56e9c7f493d6e558e5fa1ab80095" + hash = "0x2fc56ba7445123d4c3e720695725a940c72b84b4525fc50ead72f8d152c1504f" [inputs.previous_l1_to_l2] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml index 297dd3e79045..1396e542c56b 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-block-root-single-tx/Prover.toml @@ -1,7 +1,7 @@ [inputs] new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x10842aaafb07165d36f2b0226a3861596b8ae01a2e4a325cbd333ec11ca058ad", + "0x17666bde95f5d64bb896b729ff6af7b62ea770bb636492fde928b191485ddb2b", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", @@ -567,7 +567,7 @@ new_archive_sibling_path = [ prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d" + root = "0x19a97233380a84091bde03bf6e165dbda89d43ed22da93af636ceb07fea77466" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollup.public_inputs.constants.l1_to_l2_tree_snapshot] @@ -625,10 +625,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0" ] state = [ - "0x1f20d9e3c44b95f3f4a5e57925864336d78e7fdc8ce02909626dd8cd10ebfe2c", - "0x2bae6200e024bbf79cad03fc9c469ae03f648a7151897c4fcc6c9064cd3717ba", - "0x10ad2f5a765a1bfb8baf99ec23e42984dd5b128bc20237e74e6159ca55dcf458", - "0x23e1c707b0acd40063cc3c3d9b5bbb559982644b1c597e461eafccc33e18f895" + "0x24e2cf4a54557a7e0f6f32a952bb20cbc2fe5e58c4d72bdae23b556edfbd1ce2", + "0x2d4e00234bc03bf84b85219e5060ff3460f93c6a4ff5931b398565b7ec2791e6", + "0x1b480a11f4b98abf9c6b333b8efcedae3e5aa4d792bb8d3e11e84c6e419c58de", + "0x0f68e57cc345033ca49b6ed3ade7c3230f6ac053962c59c004afbdc94c9db892" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -643,10 +643,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x0f9f0825410d888d7166a92306e47bd51a943adc642c42cd95e22e46db008991", - "0x1bed0176666320ba7942be82d218215630a49f9e7a6f68b1757951491a50bd0e", - "0x21d1abe6b327793c01523344e68c77bcece17e979a160b3ac7bd960b258edfc5", - "0x0dba55e8b3f028bdc867aa880a27ffa4d35cd6c4e19a62a1621e10892878b08a" + "0x299ccb894ef87f21847975d219d14d182a38c4ef44a9aa704341d6e424cf79b8", + "0x1d5cb763bb94819e67f07d48fd60ce9b3eb8b2f7061f8bfe99f81705ba31715b", + "0x189bd0208719094cbd16640c71b07dd1f1dda7c6bb12611f2fe79c8661d0dcb8", + "0x15faa0c9ef3b6ad15cdad0013857c051725c31673fc16f5b3027d491cf620f66" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false 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 4da265d91b9b..879ea8ce8c12 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 @@ -643,10 +643,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x170fb818ec00d69d99e62f173238ce1f514dd58abb39a0918136cc862539d7d7", - "0x086faf9a612b4fe1187b73753d59df1a71cc5a283e1832a7c0c5c8d12bd01a73", - "0x0e8d0c8859d84cae5d58752cfe7b881e2d09a63ec57394844c6586cc1fbec1ff", - "0x0d7851ccfb3fd02bd3bbff8dc86dc83662fda5bb634a2ceb2fd79a247781a4e2" + "0x2e6bad3e787bce99c414076dc28376ab4c10f7a83f4b59c2a40668ef823201a0", + "0x2e84b08420fc9fcc8897600f3a7cc5c66648f136d86ac9a381ea7035d8900270", + "0x201479434dbe46e254fec107f719acf10084eddeacb55250a594359746a96920", + "0x0ff86745d9519ca1b09e964176435ae61c4198c145216cab0975fd7b80794ebc" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1376,10 +1376,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x170fb818ec00d69d99e62f173238ce1f514dd58abb39a0918136cc862539d7d7", - "0x086faf9a612b4fe1187b73753d59df1a71cc5a283e1832a7c0c5c8d12bd01a73", - "0x0e8d0c8859d84cae5d58752cfe7b881e2d09a63ec57394844c6586cc1fbec1ff", - "0x0d7851ccfb3fd02bd3bbff8dc86dc83662fda5bb634a2ceb2fd79a247781a4e2" + "0x2e6bad3e787bce99c414076dc28376ab4c10f7a83f4b59c2a40668ef823201a0", + "0x2e84b08420fc9fcc8897600f3a7cc5c66648f136d86ac9a381ea7035d8900270", + "0x201479434dbe46e254fec107f719acf10084eddeacb55250a594359746a96920", + "0x0ff86745d9519ca1b09e964176435ae61c4198c145216cab0975fd7b80794ebc" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1394,10 +1394,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7f9d34d" ] state = [ - "0x2801e4a4f644ba4d22f43c30b398c827cbc05818031ad8621a480d58c6c994a4", - "0x189ffb65986aa2059a36acee2493de15b8d1918c92d6804eeed2228a01fdcf16", - "0x1bd38f9004958df026865e2fd9bedc27f04fd8b75bcad749f3d3e6c1d7f43678", - "0x293ef43fc9a88255a3e8a4b3e602121370ee453b5616eeed14a2afa55560ba55" + "0x2ddfa7a92838e72b43cb478f516fd27e7ac94096a00d14a4851c2b07bd7b9b00", + "0x1080b92e1bbcb6c426deab394320c70c05138a28e6afbe6ba3b41d7e935de64c", + "0x2c190e02a6e306a735364900b835b2679820ae65e1f0b857d40a858d34fb46c1", + "0x187c805e740dd8e63703c8ab203949d9673948fec6d9c294579189352cacd3a1" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml index 1c905b7c63df..3dd6c149803c 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-merge/Prover.toml @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00cd518fbceb51a8d33645c3ea3d7d2e0146d599ec605f0c76766e4cf736b7d3", + "0x00a50492eb222715e27acc59d3fca6fcc34e9b204444515d97046b0e8d3a4558", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -559,17 +559,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" + root = "0x1d20aea0bcec7d0b24d2146cc43af55e869a31644afedaf4e38615a0eaf232ac" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" + root = "0x0cc3f2929b47296b3b7206f73689e3fddcbaf9b01a62362f3fc01bff2196ab4e" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -581,10 +581,10 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000001b0ca114000" + value = "0x000000000000000000000000000000000000000000000000000001b0d3390000" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -811,15 +811,15 @@ proof = [ ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x0067a9ca7771c78abc575c419c2efcec83aadd0e3c1496ed7095479012ff7e85" - z_acc = "0x2f187030c6aed7047155b294e56b3f2e742d9c5e8fa6bdf047e45a0f8e8d154f" - gamma_acc = "0x23f60bad48292ef03491551c7543c478ec87d92627aac6214c356755e96d053d" + blob_commitments_hash_acc = "0x004f2cc09c008751b19ab47c2b65f321d83aefad88bcaffacb78b31357d78387" + z_acc = "0x29507eddf80322bd9e2be86a888bd40a37a3115659fce502338be42522d930d4" + gamma_acc = "0x075975933f4c18deea03180efa6132afaeb473367983ab7f240271d5fe1c9fa1" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x7705cf67fd23e1569d3145352936c5", - "0x5bc8dee2ef4f217f07393fb722b419", - "0x22fe" + "0x3f82a677bce688ed056663e2077532", + "0x96db99743086f4433152c8caf1852a", + "0x24d4" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -827,35 +827,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0xb076426ac8071757dd92439f0dea62", - "0xb1673c8120d4ff268d438e87dfa602", - "0x61ea33dc5a6d1e6c67408f64c362c7", - "0x0cddcd" + "0xc434493dc31f8bce2d6ead309c70ae", + "0x47d6be01c2eee1278b4b21fcb6e170", + "0x58c38d4d7082b5d67e20c5b15b18e0", + "0x0780d3" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x3465205198756de2596ac88fbc871e", - "0x884b35db1e7656b4cb1360b5e4b6eb", - "0x464508ad609a63706ec044ac660dfb", - "0x0f00e5" + "0xee437ec84686928f0b55794b4decb4", + "0x219875e16f2dc314c5b9c834de0826", + "0x848fec932cabde7888a67ee5bbe685", + "0x117da2" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" + z = "0x2dae18f40c679e5373324b71b57731eb873064012fe5c339dd5905dd7ab53959" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [inputs.previous_rollups.vk_data] @@ -863,11 +863,11 @@ proof = [ sibling_path = [ "0x10f9143b2a141f3826fd2f24783a4ee36c04efd9216f2c4931a78f15e9c365ab", "0x152474d9b911866e539377e5d6185f9c35be76bde6972cba8f9c3152640c4085", - "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x2c55415cd4570f6496d7035c66ecc3f9f65d44bc0406df5c9e7e84941c055826", + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1515,7 +1515,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x006966c867c005f23c5d3aefbe9a0cb1e73bf0f1cb7e999fec7a0d929b348a9d", + "0x00a24098a404768337bc4ba72c47627c9e2f38db98c4786168da5cbfa4fe72d1", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1551,17 +1551,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" + root = "0x0cc3f2929b47296b3b7206f73689e3fddcbaf9b01a62362f3fc01bff2196ab4e" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" + root = "0x08eb11f8ecb0e8c389cb929eb0bbb3d74b4e3a823bbfd0d5caa9ee40dfd931a9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -1573,10 +1573,10 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000002fad6e290b120" + value = "0x0000000000000000000000000000000000000000000000000002fae705af8680" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1765,15 +1765,15 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x0067a9ca7771c78abc575c419c2efcec83aadd0e3c1496ed7095479012ff7e85" - z_acc = "0x2f187030c6aed7047155b294e56b3f2e742d9c5e8fa6bdf047e45a0f8e8d154f" - gamma_acc = "0x23f60bad48292ef03491551c7543c478ec87d92627aac6214c356755e96d053d" + blob_commitments_hash_acc = "0x004f2cc09c008751b19ab47c2b65f321d83aefad88bcaffacb78b31357d78387" + z_acc = "0x29507eddf80322bd9e2be86a888bd40a37a3115659fce502338be42522d930d4" + gamma_acc = "0x075975933f4c18deea03180efa6132afaeb473367983ab7f240271d5fe1c9fa1" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x7705cf67fd23e1569d3145352936c5", - "0x5bc8dee2ef4f217f07393fb722b419", - "0x22fe" + "0x3f82a677bce688ed056663e2077532", + "0x96db99743086f4433152c8caf1852a", + "0x24d4" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] @@ -1781,37 +1781,37 @@ proof = [ [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0xb076426ac8071757dd92439f0dea62", - "0xb1673c8120d4ff268d438e87dfa602", - "0x61ea33dc5a6d1e6c67408f64c362c7", - "0x0cddcd" + "0xc434493dc31f8bce2d6ead309c70ae", + "0x47d6be01c2eee1278b4b21fcb6e170", + "0x58c38d4d7082b5d67e20c5b15b18e0", + "0x0780d3" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0x3465205198756de2596ac88fbc871e", - "0x884b35db1e7656b4cb1360b5e4b6eb", - "0x464508ad609a63706ec044ac660dfb", - "0x0f00e5" + "0xee437ec84686928f0b55794b4decb4", + "0x219875e16f2dc314c5b9c834de0826", + "0x848fec932cabde7888a67ee5bbe685", + "0x117da2" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00d153a805cddca8fbb433f02798c65a20ae3d46461741c97249ccfe05c6c28c" - z_acc = "0x1b1123b2c54e9b3cbf639f3280dd944d30236850ebcc9bf71d329abaccf735ec" - gamma_acc = "0x2f1ade5ea24f0de235673ccc37dc8b539d13019f343054c583490a4326c916c5" + blob_commitments_hash_acc = "0x002ac9c8d23af41e3d3bd207d66265f70d263339ab1aaab525868f1f7e3ea42a" + z_acc = "0x0389888417d0884fd001f5545ce3e046708304dfba97cca568f871609c962b36" + gamma_acc = "0x0f3a87a05073b55e168e7f1c9065e3594c53229e6711df58411d25753e3dd12d" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x2368a0222bf5f3b58d317f109e4f01", - "0x6f9138731701806d38bcf4157f0372", - "0x4eaf" + "0xdcb6de0610520ed5c5bcfa5ef1a440", + "0xb1e2b270f373300698875eaa9c06e9", + "0x18d2" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -1819,35 +1819,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x63ae7db5a1d972f3e00dd822ddd7aa", - "0x8cbb087b3c5a3759c6b10bde568fc8", - "0x0c4a7b72216f8095bccaff72f011b5", - "0x1024bc" + "0x8d7ed5dbaab9e40f7707e8764ac4a2", + "0xdd06d3ad55bc00f3b3e8a3adac6065", + "0x26bbeda9f1432d3d7d122ed2a86633", + "0x0520fc" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xd73f7ae6866b038ac6c1d90d8f43ff", - "0xe9bf0deec826064d91f8e8a3caa4f9", - "0x74ca4cccc72ae831d69949396f91f4", - "0x164bf8" + "0x58d4406c7a4b8976d74d1443c054d7", + "0x45beea7ab0b648addf92d1d43ad58f", + "0x691a42836a8dc59d0be4bb646a67a9", + "0x0dba52" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x5ba6edddcbcfb55de31821f8c5b7f5", - "0x877c2a4d12f40237143bf797ef92d4", - "0x3ed7" + "0x58680420f8b80446dc6f7e8a29d8d1", + "0x4f5c1dbfdb15d1ebfc50a0a8da2e02", + "0x5fb9" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" + z = "0x2dae18f40c679e5373324b71b57731eb873064012fe5c339dd5905dd7ab53959" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [inputs.previous_rollups.vk_data] @@ -1855,11 +1855,11 @@ proof = [ sibling_path = [ "0x10f9143b2a141f3826fd2f24783a4ee36c04efd9216f2c4931a78f15e9c365ab", "0x152474d9b911866e539377e5d6185f9c35be76bde6972cba8f9c3152640c4085", - "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x2c55415cd4570f6496d7035c66ecc3f9f65d44bc0406df5c9e7e84941c055826", + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml index 74375826cb59..fbf826d32dfc 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root-single-block/Prover.toml @@ -522,69 +522,69 @@ proof = [ ] [inputs.previous_rollup.public_inputs] - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c510" - block_headers_hash = "0x146d650356b4a9ef53cb5302888fdc7ea44170e840876ca303cf810f68cdcfab" + timestamp = "0x00000000000000000000000000000000000000000000000000000000699603d9" + block_headers_hash = "0x19e6d7439895daf0c7867932d95acceaaa0f72f3407c69112921f478057158d5" in_hash = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x0000000000000000000000000000000000000000000000000002fad6e290b120" - accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000038675" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000000cd8ed8ed9920" + accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.previous_rollup.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" [inputs.previous_rollup.public_inputs.constants.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.previous_rollup.public_inputs.constants.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000622398a0" [inputs.previous_rollup.public_inputs.previous_archive] - root = "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" + root = "0x08eb11f8ecb0e8c389cb929eb0bbb3d74b4e3a823bbfd0d5caa9ee40dfd931a9" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollup.public_inputs.new_archive] - root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" + root = "0x0ba28d47867bb6b7c3a9577799db49971c685b4f2527ede0afdabc898fb9a2b2" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" [inputs.previous_rollup.public_inputs.start_state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" [inputs.previous_rollup.public_inputs.start_state.partial.note_hash_tree] -root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollup.public_inputs.start_state.partial.nullifier_tree] -root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" +root = "0x2568334c9fb00f48349dd5159b8ccfed2f4b2649395b99ed06e3ccdb5e595e83" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollup.public_inputs.start_state.partial.public_data_tree] -root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" +root = "0x1d4b7e120298a5183de0cb41019e9762e38d2de68fb94bd6970e183448e6c47d" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.end_state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.previous_rollup.public_inputs.end_state.partial.note_hash_tree] -root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollup.public_inputs.end_state.partial.nullifier_tree] -root = "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" +root = "0x146fc78f9cbbfa5af12e19f39a0236dfb9f0c7d589a79af49ebe4ec7a4477cb0" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" [inputs.previous_rollup.public_inputs.end_state.partial.public_data_tree] -root = "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4" +root = "0x02234f3e4b9432937ff33064a822b9506943e5bba1461ad21364a5d07afe61b9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.start_sponge_blob] @@ -606,161 +606,161 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 squeeze_mode = false [inputs.previous_rollup.public_inputs.end_sponge_blob] - num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000005c" + num_absorbed_fields = "0x0000000000000000000000000000000000000000000000000000000000000011" [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4", + "0x02234f3e4b9432937ff33064a822b9506943e5bba1461ad21364a5d07afe61b9", "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" + "0x146fc78f9cbbfa5af12e19f39a0236dfb9f0c7d589a79af49ebe4ec7a4477cb0" ] state = [ - "0x1528eaf72f4d31d68eca859d5982e3774111166b2e19294052e7eda0cd3bb92a", - "0x2d818eb540f5d397eec3aa76feff85a0bead57ff66351696491ab17743f789b9", - "0x21c8f7fdb36f5fb292369ddf764993bf026f5b3d9dc6d41fe94f8b1ad5e5614a", - "0x1e3851b172a7a67ef049c8e488763f6957d6399b02811643186f66cadfc801fc" + "0x103777a00ec98d4098325da43f7ef209c341eb8c06927f242b9a3b0aa9a7facd", + "0x12eef47f79d296a5bc36bcaea5e417338116940370f186555867fdda83b83c71", + "0x118125d34598d14923085cad9c1807c34e872cf89cdf4c8ed480886e25ff3a6c", + "0x1a0c613df47c67a0f0df9089af6d26a91012d6fa75547b5b3850894df0224291" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollup.vk_data] - leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" + leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" sibling_path = [ - "0x14463aae3aa875ac90e34035cca8ff7e275875bd0e4d8e99297f459cfff219cb", - "0x24e00346a2d8c7c80519d0cbe6eeb175911bc53ddbb0abba7a5c5284304b0cea", + "0x0fccb8554fb0dbd61a736fd23f981b093660c9bda608b413a22c642467d2f8aa", + "0x0e7ee5d843c7d2dcdfdedc0510cad58e1b287e0d710c7081253fdcf8b835d0f0", "0x1467ecad5e1100490b46fc05ae80a576a0840acff9970bd90272b036875ef4cf", - "0x20216cd42e20cb043de8f67e583aedffe78756fa14d0ef13440aae962d991b64", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x1579f6b3da7756728a9ad000e862a0568b12d84074a3cef644ef0e4f7b2c051a", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollup.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000052c44da759c4579ce3ed77a45bd7b94688", - "0x000000000000000000000000000000000001ee354cefb04dfe943d0d8a35db5d", - "0x000000000000000000000000000000008e97b812631dee5cd371cf91aafe18bc", - "0x000000000000000000000000000000000021c704ffab2146bfc55c42e80df30e", - "0x000000000000000000000000000000da04e2997bcd2b45b0202de49d735f4430", - "0x00000000000000000000000000000000001ecbfabf4e945d9c69b837af2169a3", - "0x000000000000000000000000000000df493933f55b4dd6aaa0cde28898f5ed73", - "0x0000000000000000000000000000000000054ad74797594780121b93f268bdb8", - "0x0000000000000000000000000000006949b6cc2b4ab9b8559b39ec0a00ff7aac", - "0x000000000000000000000000000000000019bf2f0d1c8322eac3df6ed98c433e", - "0x000000000000000000000000000000a9d614213dc2ce230c0a39e08e2a0871c2", - "0x0000000000000000000000000000000000293a7d02df2e4ce6e5b41e94b16be9", - "0x0000000000000000000000000000006447de6e653d1df759b7a4104220211aca", - "0x00000000000000000000000000000000000651020e5f96a4d7d5d47795b5d4dc", - "0x0000000000000000000000000000000effe688f33ab2072bde2aea87ad56cf80", - "0x0000000000000000000000000000000000205ea80a35eb1f462bb5e5053cc23e", - "0x0000000000000000000000000000004e4344bb0becb076de1226945f22de3053", - "0x000000000000000000000000000000000026c769a1de9fa4ad1fde3c96d0c929", - "0x0000000000000000000000000000002764dc87a370dd86a112183f33e3d52ef1", - "0x000000000000000000000000000000000024a0f82058409e507e0e44b9115f25", - "0x000000000000000000000000000000c1016a58e8e20cc7785ba83c804c2a7b7e", - "0x00000000000000000000000000000000000402620542d561b70e292069acf29c", - "0x000000000000000000000000000000a92b3e60b016423ddcf472659645d4615c", - "0x000000000000000000000000000000000024a4b53cc5671d9f5dabe2d7b2c78c", - "0x000000000000000000000000000000de739fa0af1b1abc39f66b36bf6babfc93", - "0x00000000000000000000000000000000002ec2db775d5362c26b1211d0c67b33", - "0x00000000000000000000000000000092bff11ad703ff9e37f33e0254b1cae0b3", - "0x00000000000000000000000000000000001f2e9c9949c5722f9c0f27d4c01426", - "0x0000000000000000000000000000004e7599ccd635bef372e1df21e1f69d3a3b", - "0x00000000000000000000000000000000000a3a0fbea6b313563513450208492c", - "0x000000000000000000000000000000637199e8eccbbff24f6225edcc55c7a2c3", - "0x00000000000000000000000000000000002e4938233bfc569c0bf2d053501076", - "0x000000000000000000000000000000f5310f2007189fc376fe08f6c5526d13e9", - "0x00000000000000000000000000000000001a52179944c48e82e8b086cd91e05c", - "0x0000000000000000000000000000005a2a4864bddc0aa7d252984dc058928fdf", - "0x000000000000000000000000000000000000e28a677633820d84933630601d43", - "0x000000000000000000000000000000b6975ae135f0ce1c3ae3cceb6999b48dbe", - "0x00000000000000000000000000000000002725698ef32e1caaf0b6dce5d44d5d", - "0x00000000000000000000000000000067ccfcbd90287c9454d4383295d9abe841", - "0x00000000000000000000000000000000002486d0c948fa1aea3a6eb03a7b7dd1", - "0x000000000000000000000000000000de7ae96a03710ea9dcda8b32d2a66897f5", - "0x00000000000000000000000000000000001085c11e6e43ed1e1eb8e0f55d9751", - "0x0000000000000000000000000000008097e9e93e4d2cca1d566ffdb2acf0609f", - "0x00000000000000000000000000000000002d1bcd71e8fa36ce0468222093d88a", - "0x00000000000000000000000000000027aa9983e985aa62a7defde7b7f01cf534", - "0x000000000000000000000000000000000004dbb075ff191d6115388cfbfd8001", - "0x0000000000000000000000000000004cea81f688439410b866f84c96672958f8", - "0x00000000000000000000000000000000000225c6386debb7d6b3d44d872aabf3", - "0x0000000000000000000000000000000060a5848f00cad7d28b474928a5f73cb3", - "0x00000000000000000000000000000000000685b2b752c72b410fd58605e73294", - "0x000000000000000000000000000000a50a855404b55138e711be4d398b28b000", - "0x00000000000000000000000000000000001f3fe258d31adfd1ed2474e3308707", - "0x0000000000000000000000000000003f5b5f01c35d68fb41ac57a797641acbdf", - "0x000000000000000000000000000000000023f543ff09e0bc6b3c87ec820bb28d", - "0x000000000000000000000000000000468e26e5b268d78043557a707cf00cbbdd", - "0x00000000000000000000000000000000001d2fdbd27ddc3a3a75aabb95d3d3c7", - "0x000000000000000000000000000000117a4f45706c8b19fa6d58424cbd2301c7", - "0x000000000000000000000000000000000010f8c16b92209fc5347a32fcc3c286", - "0x000000000000000000000000000000cf5cd1fb047b16db3555291ec3a5d80356", - "0x00000000000000000000000000000000000b730df4ccac3cb7e236c52054047f", - "0x0000000000000000000000000000000cbac6dca22ffb90bee3af861b1104de00", - "0x00000000000000000000000000000000000a0e507302dce9d3dc105cf1d416a1", - "0x000000000000000000000000000000d0424061371910386da3751823eb1ac5bf", - "0x00000000000000000000000000000000000f98e3c1a184c061279032bd0b842d", - "0x0000000000000000000000000000008fa927e077f760467d3a97a5bf3c34ae15", - "0x0000000000000000000000000000000000174a1bfb61af3c2a3497ae5000a9d0", - "0x000000000000000000000000000000f3785f75a3edc675778348cce4bc0fa9c7", - "0x00000000000000000000000000000000002d04afd9a9e61d811a14141a3aefb7", - "0x000000000000000000000000000000b3a911e67461016912d1ee8e149471c994", - "0x00000000000000000000000000000000000c6da7a0d2643590526c5cdcc1c224", - "0x000000000000000000000000000000902c64f67dc63eeeb4c57190a82b6a32fe", - "0x00000000000000000000000000000000001f05f49fad19dead2ca5747b243218", - "0x000000000000000000000000000000f9be06d2871b579f4580f3da19684ee886", - "0x000000000000000000000000000000000010d6fadb20798c3311582ca6620585", - "0x000000000000000000000000000000e789995ed03495c1beffabd0bec2156231", - "0x000000000000000000000000000000000019733bbd0bb1529d6b2c8617d4469a", - "0x0000000000000000000000000000008faa50fb44bf0356f832d524a85485077b", - "0x00000000000000000000000000000000000a98eeb1935e78c325b47f1530d26b", - "0x00000000000000000000000000000046039bf6a4b49ec93da5edac5dda7df3b1", - "0x00000000000000000000000000000000002fbae8f557c6010b4ea5512a49a4e2", - "0x000000000000000000000000000000dcf069ead154a1304e476bef22a8b3cf60", - "0x000000000000000000000000000000000014147119e75b395ca5df36e59de909", - "0x00000000000000000000000000000045df762f9989d5f709428b4ca2817e6bdb", - "0x000000000000000000000000000000000002e6b038418b42e2648864c6e96781", - "0x0000000000000000000000000000003b49c7d69b5c31ccd367207f64fe066ffd", - "0x00000000000000000000000000000000001e12f87ba79f0864c11e939c6edf71", - "0x000000000000000000000000000000d97b2401703ba53c9b1b02b51ade7176a3", - "0x000000000000000000000000000000000000075a9e1e17a3563a611e835f416a", - "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", - "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", - "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", - "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", - "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", - "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", - "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", - "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", - "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", - "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", - "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", - "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", - "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", - "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", - "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", - "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", + "0x000000000000000000000000000000625d5b9b2334e640a24862208ed0ef244a", + "0x00000000000000000000000000000000000f2f1ede627017c3b799258b1c2d2e", + "0x000000000000000000000000000000b37ae8160465b1539541bd80c85e01f369", + "0x00000000000000000000000000000000002526554a1ad61072f6d4bd61341690", + "0x000000000000000000000000000000df9cc650148ba6d9bf571b54cdc65fb68e", + "0x00000000000000000000000000000000002b54c96951ed068a0ceb7068329d52", + "0x000000000000000000000000000000901f38739b7ba3583f1953c122cdba01c6", + "0x00000000000000000000000000000000000e8d7e407e0feb92a2267e6e06af33", + "0x00000000000000000000000000000037c3fa7d8a1be93865547b568ae83edd01", + "0x000000000000000000000000000000000003f9b2a36bd0c8ccdfc340ef18df59", + "0x000000000000000000000000000000ae0c0e1252bf09d197cb67c383f88f75f2", + "0x000000000000000000000000000000000003fc9cead6dfefe022ae53d6800f2f", + "0x000000000000000000000000000000f6a419689f56ce372066662aa446f43f26", + "0x00000000000000000000000000000000001571002450e3492f540c2a983f8f6f", + "0x000000000000000000000000000000a9abc8a5ecc543d1684028889775b880bf", + "0x0000000000000000000000000000000000246651145583026f6b0934d01b2260", + "0x000000000000000000000000000000096a949039e6eb29f20b57324d395292a0", + "0x0000000000000000000000000000000000286fc3d1f8bbd2ab67f6bf6e47dcf4", + "0x0000000000000000000000000000008cbf2e64c5de296eb1801b99eef097357f", + "0x00000000000000000000000000000000000d43eef4ad70363f76a896a9bcdc73", + "0x000000000000000000000000000000c79eea94f09ba7c1a13d8bf8f7ac7a03df", + "0x000000000000000000000000000000000007e0d79335a6bc424e7aae45e29ba3", + "0x00000000000000000000000000000015d348b96e055c3f6e612046f079b68a5a", + "0x0000000000000000000000000000000000060a973f62bb57c1573326f79ddd5a", + "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", + "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", + "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", + "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", + "0x000000000000000000000000000000c4cf4b8d00735b31a7bc67452a6e664723", + "0x00000000000000000000000000000000002f696af73e41ce202843daec1e4c68", + "0x00000000000000000000000000000022ea7e55b1a7c3f38b6565bb33c00f06c9", + "0x00000000000000000000000000000000001b74fbc710ec7b004bab9d77bde8a7", + "0x000000000000000000000000000000480b3b8a9664338e6542751cae478bf1eb", + "0x000000000000000000000000000000000019bdf9af5ccfc09d44ce276f458075", + "0x000000000000000000000000000000dcd45cfead5023e207791466524a387cd9", + "0x0000000000000000000000000000000000131a540f86e11f36db6e9b43aed465", + "0x0000000000000000000000000000003c1918ec1dcf39db1ab3dcb4df2d4336cb", + "0x0000000000000000000000000000000000077cfaaf55787836ef722aebc31f63", + "0x000000000000000000000000000000bea46fff01f9512b19c5c632e82c859885", + "0x0000000000000000000000000000000000026a94ee556aeb1d359fcae61b3a8d", + "0x000000000000000000000000000000b4a2ea5c8f85e2c57d717a1570489ecec2", + "0x00000000000000000000000000000000001dd8517a959a32304eb52041ec4cf9", + "0x000000000000000000000000000000f7c2eed47800bcea6357ffbe2c2054a1f5", + "0x00000000000000000000000000000000000972360b580707ab91214694db27cb", + "0x000000000000000000000000000000acae13f192c0f0a25862b823669868b435", + "0x000000000000000000000000000000000028c2354e0487f75e792fa171f59d13", + "0x0000000000000000000000000000009b74bb3879a8cf9eae3aa94ead20f59aa1", + "0x00000000000000000000000000000000001084658469c5e77beee8a0fc9d874a", + "0x000000000000000000000000000000f423876d97a9c93feb8cfe951dbffa76d2", + "0x00000000000000000000000000000000001faa76e30e87d701a6a1d2b5dac27a", + "0x000000000000000000000000000000bb85e4a9b90d2368696e2d1abcb6e444f5", + "0x00000000000000000000000000000000000e67f817e8fc86144634ea3d9b64d2", + "0x00000000000000000000000000000067b74df5e680a5e5e3caf1c194191d7d0d", + "0x000000000000000000000000000000000024081e17402ed20be372651b86417d", + "0x0000000000000000000000000000005165cfa39291f1c49515ef5ea53bb3a356", + "0x00000000000000000000000000000000001dcad70dbbff1229f0cf1c816abd37", + "0x0000000000000000000000000000002cb8e6a77dcf60f86b076c25c0f574bc3e", + "0x000000000000000000000000000000000021eaf2f6914766e634cda05cac0568", + "0x00000000000000000000000000000094ab3147bdc3e2b9a3f95a1db080273983", + "0x00000000000000000000000000000000000f6867a01e793a96f84bbae8083337", + "0x000000000000000000000000000000abc2ec5ef2f681b6ba1f60071242b737d7", + "0x00000000000000000000000000000000001835500e969b03f286d6341f0586d2", + "0x000000000000000000000000000000a7fec9db2d6b5b44ad820a3bd1faf7145b", + "0x0000000000000000000000000000000000065b3a7c55339e94fc12cb1ce35754", + "0x0000000000000000000000000000004d168c89e3c2f5a524d1113187ddd64331", + "0x00000000000000000000000000000000000e6d021289f34c34f8d9e4a3979066", + "0x0000000000000000000000000000009ef44091f658a9884147ce70e52f832b91", + "0x000000000000000000000000000000000014ccb35a3e663da5537918c5523ccd", + "0x0000000000000000000000000000001bb2a9b923172d37a4ba6877e2c47a153b", + "0x0000000000000000000000000000000000021453372d7a9e16f0108a6bda4d76", + "0x00000000000000000000000000000041d8d38cf5a688092f529dff33aae9fee3", + "0x00000000000000000000000000000000001f26e9af75c8c20500cd89a575c32d", + "0x0000000000000000000000000000000a1c69746a59dc89df880fc19a9ffe5078", + "0x00000000000000000000000000000000000dae653b9f8949b1ba7940d0b70a5c", + "0x00000000000000000000000000000000a53f459f25887994aec6b1e2fd9d5212", + "0x00000000000000000000000000000000000220e2643b4b73f6e5463cd95c3ca5", + "0x000000000000000000000000000000b3436549da05a30b635cf603f25ef4e834", + "0x000000000000000000000000000000000023ef8c6316840f044b432a27ae74f4", + "0x000000000000000000000000000000bc3366d6cc786d452b90231ba4742b6364", + "0x00000000000000000000000000000000002377d506caecb1ba921858ce589ae6", + "0x000000000000000000000000000000050f577eb762841f02a14e15d44cd8cb6a", + "0x000000000000000000000000000000000024e3acedb6e615e3f4245cf428ea88", + "0x0000000000000000000000000000000daef67741df629c4c9b0684aeb0d914ab", + "0x00000000000000000000000000000000001a6e5747ac50e9b4b9b0de7bb3ff0a", + "0x000000000000000000000000000000160b5be3a4fd1909efdf318caad7c8cb01", + "0x00000000000000000000000000000000002d3f4fff3b3bf8f797b8feb598fba7", + "0x000000000000000000000000000000081cc1c1c3d7dfb0ebeb3e8e21c79d3346", + "0x0000000000000000000000000000000000004337dbffa347b5863fc6d9fad402", + "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", + "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", + "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", + "0x00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459", + "0x000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e", + "0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a", + "0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19", + "0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84", + "0x0000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3", + "0x000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4", + "0x000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b7", + "0x00000000000000000000000000000000002e24d420fbf9508ed31de692db477b", + "0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce", + "0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a", + "0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854", + "0x0000000000000000000000000000000000261522c4089330646aff9673619494", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000004d3c388351ee2bf5180a2fec87f3a3ad7f", - "0x000000000000000000000000000000000005ee2b0072b9c5465aa6f5b64b387b", - "0x000000000000000000000000000000953f8094bc7f30da7c03694b535bdceeed", - "0x000000000000000000000000000000000021f395aced34ff0277379aea0dda45" + "0x000000000000000000000000000000cb12dd4f0e6f84c20bfa8f5ee3b4946a42", + "0x00000000000000000000000000000000000a65f6ef82b959d9076e7257d38b9b", + "0x0000000000000000000000000000003f6b06afbedfdb741fa56dc48b7b03ce20", + "0x000000000000000000000000000000000019c6675db93e0397ed333c35e79edc" ] - hash = "0x0fccb8554fb0dbd61a736fd23f981b093660c9bda608b413a22c642467d2f8aa" + hash = "0x14463aae3aa875ac90e34035cca8ff7e275875bd0e4d8e99297f459cfff219cb" [inputs.hints] previous_archive_sibling_path = [ - "0x18ab2dcff398a19d86415c407221c2f7c63c30d5ab6465fbc5887aacaf347308", - "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x151291de5da36573ec2eee544aac11ff0fac7188a0994c4297648d37a9c9e1c2", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", + "0x2e2e36722b1ec84e2d5d16c3bc952077215df4ea0b608b28cd036481aa2aa9e9", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -796,99 +796,99 @@ new_out_hash_sibling_path = [ "0x00089a9d421a82c4a25f7acbebe69e638d5b064fa8a60e018793dcb0be53752c" ] blobs_fields = [ - "0x00000000009c7075180002000300000001000300360000000000000000000043", - "0x30245b787b419ebb915fbcd22d8861b380883fd68f20d64f07a6fe7906496819", - "0x000000000000000000000000000000000000000000000000000001b0ca114000", - "0x10b30a99e0eef8b6091958f1cc2ea8a91eff151ecc41911b4bec61e5b417ff5b", - "0x0e496a8ad4cc6da2298a48b2acfc788241e0e16f4c88c52ce0065d61f45c898c", - "0x149451e9d6d5c22e05f2473162347355b8beecc0f32010106cb8ff29dde8b95c", - "0x0c5a0cae9c4e2199640cd0bcdd529812e0e2259bad5b31a1a3964db22e043b23", - "0x1a11c47d27f34b1838729192fc85b4abde20d491167fc5933f8256e70e48b9b7", - "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", - "0x00000000000000000000000000000000000000000000021e18f781652bf5fe00", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x16133850f55e490e4dbeded0edf971dfab12af59c60170ee561ed7585aa6f812", - "0x25f27abc0b173363236e086a010655c969ac35d869a593fe6bd7edb79b2caf77", - "0x00019ec2f115bfb696b100adabd0da18f1785c78ce5df80bae11f62dc47436f0", - "0x00ec7d73fa160c4a33a6d74dcbea1b6f108a281fc018f45dbdbb268c5bc7ffd3", - "0x00b0c81c058f7c9818e58a8a074f51c8e0c3566b427232e4d4ad3e03730595f6", - "0x00c8a1eb80cc7fea96b6394018ae945fb8bcbc935e1251f7968ebded5987b174", - "0x00934c75b53620650d5d0054d6b1e1d1d45950935f3ba1ad62e4784b253e043b", - "0x003d8a7872e88cf1af2ff34d60899cedac6117eea6a3a80528d51017dc92ebcb", - "0x00cdc746a591cf6a2e9c5a8ed600aca9c54d1dd2c295cda787691137f5335b76", - "0x008fc922a8184226ed23a16ac531f43389031e82e7bca6691a90d6d04d967856", - "0x001d6f9ad49006de8e17c4135102a4abe27f00dfbaea7fc4c68707d731d4144b", - "0x00adffc1b1df0316844abcd7b7c2d9fdae46ebaf7db00aefc4d06520e49d948e", - "0x0044d9b8ca2813ab6d1505d0717ded764da84f5b599cbe7be8a5a118b8a22886", - "0x00b6db9411f7964b2e359e634f754568f1776564f8b9e6667037c01741c462b7", - "0x0085d791d0dea7d4ade8fa69e9b96be658d4ed5c150fe397fcde6a908338948d", - "0x00f11c9cc747d9afaf5fb354b7406072ac2b8f1e3fa73fbaf13bb1470dd159c9", - "0x00abcff42485d8ece043bfcc8b3f4b249484fe1a2c3c7a6f6a19c507df2b851a", - "0x008467d072b998dd5b83296d849e963d7e783892cd6b88468c868cd0a64d77b1", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x20a8593ad001cc22aad1bac3e1d0123226301f56793444f154e90b96b81835a7", - "0x1fb8497643d8a406a26845200b9652a22af99a258f99a244172d041bbb16f993", - "0x00011034970c0dd3c806e1fd0c8ffc5109462ca7dfb3622c8c70a30ef3e95126", - "0x00f9b94ec102f20788d1c3f2b8fe42212452bc5d81e98eb4c25b0527affd7322", - "0x00d13e97b3d2ea8ac3ef8fad039d16c1a1ad44234200e1d3eea8811e5cd9ed26", - "0x00797f0a75f0aa84044b23831bc18b0a21fe1abd1e3c3e7f19c7e523f4edbb7f", - "0x007cc37aa1ebb76495630daadad901844310cbfbcbc9ec9f228d45e78b112a4b", - "0x00c8264d8ef075054836a86eed74972d27cf18dea4b3d01774cde6a3d3a6daa5", - "0x001061e2ea23eb0911e6a5d21ddd390e5f65386d9a2e50a36f47a918cbec7949", - "0x00890b1c980395873a62549749e9b9a4425089d015aa547a58febe2b103270c4", - "0x001070f162c7e5d18a6e784fc0d6b4c760ef77e6241a3fdf82e6f628a62c3c79", - "0x00d542d00657dc51ea48e03af4635c32458d8fa86873f9294a4364ec0f05067f", - "0x0009159e0c99bc6e078d32cab52258f76cbe13ad0a4522241a0cd01dbaeeb1f9", - "0x00e1e505ede8f133cd6045b70fedb0e5be8612f35f8eee3ebed6182b5ba685de", - "0x00f90f1c55166c2ca72a46b3257c7f78611e58e1aa84647fb5d76f948e782763", - "0x00f44a22e0c58651f5e33e85425b88afb4708188bb214b9701a371c73513dced", - "0x00bc6716a5c366c23f13e9526cb228e78647c243f0234b61fc685b86a83cdbc3", - "0x0021646ecf207ece4dee1539ca82c2d84d11cdb31077ad3e4ac1ef7ffc4f6641", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x18e48f656bbecf95b0606da5f10fcdca8578d17065e4e339ac995336a391dcbd", - "0x1855fcaf22b885c9b0bb4e17f42bf82d49ab8b9a746c754f5080c141eacc9a93", - "0x000149a07d1a8853051d7992a1038b803d49ee5737000448a7c42e4bfeaad405", - "0x008c671cf0d8999663db7937226999867601cef8e081cefc263c87a404c0edd5", - "0x009c68b57e1a61fec542359c57fdcb4321c81e189399749796170a9230233ebc", - "0x001fbdd85ca333efba6a7ede2fe81128b89cca721fb777f3e3e33bab2527da9c", - "0x0005ca9a8f0cd9e0062627c3d61f11463cd0292eb5efae2db15198a39cc5982e", - "0x00f06be76619922ca678fad22f3f1cd04e8d5c559bc0255330ce664fb48e8ed6", - "0x003d24ccb3737aa1982c2271b7251ef139e8a516416955e2ad459d37a67f6d89", - "0x004da73e037b118f7fa7b039a2f7a6a3bd99cd7da567d1b9eb291389f95c6afa", - "0x00110a29b5eb3111a46b0e66418ee6df7b16493ce7699a10712b55657c564bef", - "0x00f8fc7c50f971003ed78c08dcb1c514513989d321d9487901c352607c4f13be", - "0x00b350f8a6e8218e811cf3fee8b41cc15d5014cabe6e7b39ac3608ac86c81418", - "0x00ffc9b7dedaa084c2568c7ac30178a977415e45d1fdba23d1a564f9a2391477", - "0x00cc699f85e743bab9653e120414cbffb699728df57c157554c923daff1138a9", - "0x00f1d95759cdf84f636365528e166c37d5129cfb1b03a6db6e4366e627420235", - "0x00b091a758582df3ce2e365ae42f136ca7ed2471911e8596f01f91f778feedd8", - "0x000aedf77cd7cde418680b539ad9e2fb4c7fd71f2358e8b6096e45e94cc92ed7", - "0x00000000009c7075180000000100000002000000000000000000000000000008", - "0x1fb1aca174b6826a91b6e49ddf30611ac4aca9aea5e2b3c9a94165dc7a0f91f5", - "0x000000000000000000000000000000000000000000000000000133e5c185a800", - "0x26c3e7db95e68ee7a953941e55a374a39b567742a1f9d4b792fd735ba1f234ea", - "0x0f5095527ce0508bdaf8aaf6ff5d340277830a8973afd7171077797c8f10c1da", - "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87", - "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", - "0x00000000000000000000000000000000000000000000021e18f64d7f6a705600", "0x00000000009c707518000000010000000300000000000000000000000000000a", - "0x1184151c8b0cdb8a5d700f8befaab6035900f84fed1dd2d130fb1e25a6b53dfa", - "0x0000000000000000000000000000000000000000000000000001c54056f9c920", - "0x123a227d853db4dbcfcf65aed4254b2e502084204e1513a0e401e6f39148f81f", - "0x1115fe5874ebe4d5d9a3428012e3958edbb448dabd1c7da26af23133c7b8855a", - "0x0000000000000000000000000000000000000000000000000000000000001fa4", - "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c", - "0x000000000000000000000000000000000000000000000000000000000000076c", - "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3", - "0x00000000000000000000000000000000000000000000021e18f4883f13768ce0", - "0x0000000000000000000000000000eb8dcdbf000000006994c5100000000a0003", - "0x00000000000000000280000000000c000000000380000000008b000000038675", - "0x12022fb7615cafc0a110878abb3fb02178ce827e7b81621d01b2d509bd8713e3", - "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471", - "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d", - "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4", + "0x294e0245f383a41cfca1c2b5ba4d64cbbc4475f3347c2219565373c0aebd3b6b", + "0x0000000000000000000000000000000000000000000000000000cd8ed8ed9920", + "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909", + "0x282001fde89c1e765e70e3a09b1cef335970959e86e5647af12795df4d5d4e3e", + "0x0000000000000000000000000000000000000000000000000000000000001c20", + "0x10d5436199eb69fc55baf9faa8deb535d9c18413f1532a8f363c397d2505ca70", + "0x0000000000000000000000000000000000000000000000000000000000000af0", + "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e", + "0x00000000000000000000000000000000000000000000021e18f3e2d8afa9f460", + "0x0000000000000000000000000000eb8dcdbf00000000699603d90000000b0001", + "0x000000000000000002c0000000000d0000000003c0000000008b000000021835", + "0x08eb11f8ecb0e8c389cb929eb0bbb3d74b4e3a823bbfd0d5caa9ee40dfd931a9", + "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593", + "0x146fc78f9cbbfa5af12e19f39a0236dfb9f0c7d589a79af49ebe4ec7a4477cb0", + "0x02234f3e4b9432937ff33064a822b9506943e5bba1461ad21364a5d07afe61b9", "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0000000000000000000000000000000000000000000000008c6374430000005d", + "0x0000000000000000000000000000000000000000000000008c63744300000012", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25373,64 +25373,64 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x001feda4ba2e9065424ef8d4bb61dfb179b8404c78b2f58bb0a823f297f5090e" +blobs_hash = "0x003086c37b995fb851ab2e4d98b24d6b0d8b65a66dd91bda238e125198f62d42" [inputs.hints.previous_block_header] - sponge_blob_hash = "0x1c9e596b33fcf3ab6582d41d8778784b576fd54a83a357f63a3f055ca9001a4f" - total_fees = "0x000000000000000000000000000000000000000000000000000001b0ca114000" - total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" + sponge_blob_hash = "0x032f6e1eb74d3a2b02e3f23c7b04a305d0ba164d51e586a4ffa089830f34d786" + total_fees = "0x0000000000000000000000000000000000000000000000000002fae705af8680" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000038675" [inputs.hints.previous_block_header.last_archive] - root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + root = "0x0cc3f2929b47296b3b7206f73689e3fddcbaf9b01a62362f3fc01bff2196ab4e" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.hints.previous_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" [inputs.hints.previous_block_header.state.partial.note_hash_tree] -root = "0x25986d9b625e3020ebfdc9c1bfb2b089ebf3191b293c5dfd246f554f0f0254e1" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.hints.previous_block_header.state.partial.nullifier_tree] -root = "0x16d10494983361044a0a02e222de5911a96cfd8a2c6d31dc6c5ac33ed552cb38" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" +root = "0x2568334c9fb00f48349dd5159b8ccfed2f4b2649395b99ed06e3ccdb5e595e83" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.hints.previous_block_header.state.partial.public_data_tree] -root = "0x230aab2ba6964f6c4fadf01ae1f5d235beef21ed6f9dc285836b4590c3bf33e8" +root = "0x1d4b7e120298a5183de0cb41019e9762e38d2de68fb94bd6970e183448e6c47d" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.hints.previous_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c4ec" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" + block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" + timestamp = "0x00000000000000000000000000000000000000000000000000000000699603b5" [inputs.hints.previous_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.hints.previous_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hints.previous_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8699c80" [inputs.hints.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.hints.start_blob_accumulator] - blob_commitments_hash_acc = "0x0067a9ca7771c78abc575c419c2efcec83aadd0e3c1496ed7095479012ff7e85" - z_acc = "0x2f187030c6aed7047155b294e56b3f2e742d9c5e8fa6bdf047e45a0f8e8d154f" - gamma_acc = "0x23f60bad48292ef03491551c7543c478ec87d92627aac6214c356755e96d053d" + blob_commitments_hash_acc = "0x002ac9c8d23af41e3d3bd207d66265f70d263339ab1aaab525868f1f7e3ea42a" + z_acc = "0x0389888417d0884fd001f5545ce3e046708304dfba97cca568f871609c962b36" + gamma_acc = "0x0f3a87a05073b55e168e7f1c9065e3594c53229e6711df58411d25753e3dd12d" [inputs.hints.start_blob_accumulator.y_acc] limbs = [ - "0x7705cf67fd23e1569d3145352936c5", - "0x5bc8dee2ef4f217f07393fb722b419", - "0x22fe" + "0xdcb6de0610520ed5c5bcfa5ef1a440", + "0xb1e2b270f373300698875eaa9c06e9", + "0x18d2" ] [inputs.hints.start_blob_accumulator.c_acc] @@ -25438,35 +25438,35 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.start_blob_accumulator.c_acc.x] limbs = [ - "0xb076426ac8071757dd92439f0dea62", - "0xb1673c8120d4ff268d438e87dfa602", - "0x61ea33dc5a6d1e6c67408f64c362c7", - "0x0cddcd" + "0x8d7ed5dbaab9e40f7707e8764ac4a2", + "0xdd06d3ad55bc00f3b3e8a3adac6065", + "0x26bbeda9f1432d3d7d122ed2a86633", + "0x0520fc" ] [inputs.hints.start_blob_accumulator.c_acc.y] limbs = [ - "0x3465205198756de2596ac88fbc871e", - "0x884b35db1e7656b4cb1360b5e4b6eb", - "0x464508ad609a63706ec044ac660dfb", - "0x0f00e5" + "0x58d4406c7a4b8976d74d1443c054d7", + "0x45beea7ab0b648addf92d1d43ad58f", + "0x691a42836a8dc59d0be4bb646a67a9", + "0x0dba52" ] [inputs.hints.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x58680420f8b80446dc6f7e8a29d8d1", + "0x4f5c1dbfdb15d1ebfc50a0a8da2e02", + "0x5fb9" ] [inputs.hints.final_blob_challenges] - z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" + z = "0x2dae18f40c679e5373324b71b57731eb873064012fe5c339dd5905dd7ab53959" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [[inputs.hints.blob_commitments]] @@ -25474,18 +25474,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xee05c02f464c2619d2a1ab07cc9290", - "0x921eedcfacd31cb3fe198fdb53ca95", - "0x7b87762aba896868213780334300df", - "0x082c37" + "0x1f8ad46b833b0de00dcc07f6b84857", + "0x4b2c15f13e404e093bea6936121da2", + "0xf924ba71e154845191a5965dbbbab4", + "0x165284" ] [inputs.hints.blob_commitments.y] limbs = [ - "0xb8243dd0ba4a5dce68e17adbae977b", - "0x1c1771a5cc00dfd7d771c40408632a", - "0xdc53c7fdf28ef4f1037f6d654b4cd2", - "0x071b8f" + "0xda04b68c7e79de64138e1efe4c03c7", + "0x44c72eaa44545be3ea964fdfa2893e", + "0xc0e9db5f6b6f387e393a87d0bd7095", + "0x1793f0" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml index 88b51ab60015..11f600e1e3ec 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-checkpoint-root/Prover.toml @@ -523,7 +523,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x2075ebe5d8dc3f29b8657475f73b701ada58d6eb2c27500036dc8a4e423fe77e" + block_headers_hash = "0x0d47cb2cdcd5b99e89237f8a78e172eb6b375a57eb0ee1d5e5d43a8115d9d14c" in_hash = "0x00b0e02949c7c042e780651385688dcec114af3dbb3892bab1a9cd8e2bbafdc5" out_hash = "0x00bd3da907cbb210cd100bd369f8dd7eb04b938c69dce277dc1efea8403ed88e" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -552,7 +552,7 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0" + root = "0x2b3c01dc8c691c57eb4bb98b12a8c52bb2e40952550b21c991b3d6a07c57a6e9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -615,10 +615,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670" ] state = [ - "0x0bed4544d8144454c6901241626d581d39d8e1687fc751572c630c1fe5d149d7", - "0x04e1eed045dd8feff549590a1cac15bddded1039171ba040b5aa77e4aa776a86", - "0x16d546c58a062d5ba539bc23ae56ed7647ccd34491b08212de12cbfe3040a075", - "0x08e18983382143a83e320f692bba78b3e84196dca0311188e333da77a69eb592" + "0x0e83fd6fc89b345d1dd3afefaa9a68cdc4271f0cc796744d723997baf7983fb1", + "0x2939e7308340a8bca5845d67449a69a3d89a0d9ec8e85a8d038ad502a2706a8c", + "0x1806411a9991af94a4574bf458e2597e9e37d2e08752397eda9411871f21e98c", + "0x03341edac6e3d06ac54828b2890319fc39736dfc3003b0e53b014d1e4b2fae85" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x1cdaca91c59be957eb7952d96d5ba6d75abece801d94fb96959c0622afd5d894" + block_headers_hash = "0x075f455fc6bae8b3d815e4d172293a74aeeae8665707af3f885adf1645b02d14" in_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" out_hash = "0x009be21298b4428b38b9b314446eef3243121c400edd3780e34da475ea5f17c3" accumulated_fees = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1305,11 +1305,11 @@ proof = [ fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0" + root = "0x2b3c01dc8c691c57eb4bb98b12a8c52bb2e40952550b21c991b3d6a07c57a6e9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x1ee7b4ebadeaa08f4c5152a930f0d2f81203b58999f4efea51c832ef6d75bef8" + root = "0x21e02fb36d450f72e15872595e1b3a79e53c5e8cb4a798ec679236249c0efbd9" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" [inputs.previous_rollups.public_inputs.start_state.l1_to_l2_message_tree] @@ -1354,10 +1354,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670" ] state = [ - "0x0bed4544d8144454c6901241626d581d39d8e1687fc751572c630c1fe5d149d7", - "0x04e1eed045dd8feff549590a1cac15bddded1039171ba040b5aa77e4aa776a86", - "0x16d546c58a062d5ba539bc23ae56ed7647ccd34491b08212de12cbfe3040a075", - "0x08e18983382143a83e320f692bba78b3e84196dca0311188e333da77a69eb592" + "0x0e83fd6fc89b345d1dd3afefaa9a68cdc4271f0cc796744d723997baf7983fb1", + "0x2939e7308340a8bca5845d67449a69a3d89a0d9ec8e85a8d038ad502a2706a8c", + "0x1806411a9991af94a4574bf458e2597e9e37d2e08752397eda9411871f21e98c", + "0x03341edac6e3d06ac54828b2890319fc39736dfc3003b0e53b014d1e4b2fae85" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847" ] state = [ - "0x064555509950ad1d6cabd93755bb7301e721ed1000a39eb1630c75244b858d56", - "0x0cb75f9a72f324918ceff3609d3d818625a35e378f4cda63fbf7cc22c8f1c0a1", - "0x1bd2d1d37143769ea117fdcafca6b2c1b0dbd1c2633dd1620f92948cf3ed8517", - "0x2f4ce6bf09a6f4bdaac239c17f73b198a88f71cb5c35f58c71a4c81fbdaf4b17" + "0x047151d045687631c416d71b8288c0da0c8333ecd528df186bd9a45da72fa598", + "0x1b5b9d1f879caca041471abfde1e5cf55cb08d4135538553ff5f433341578639", + "0x16ada21537236ef74f6dbee1ac479d5a078fa0019984075e5b92f1009aec99dc", + "0x1eb12bca693ee64fbb7c70d9d7843d4e4cbda99278e298b31ab5a8af899dafa6" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000001" squeeze_mode = false @@ -1554,7 +1554,7 @@ new_out_hash_sibling_path = [ ] blobs_fields = [ "0x00000000009c707518004000400008004000400400000000000000000000054b", - "0x2bd6b40a981a63a1cefd5648bce27f4eabffdcc2f6b4d09a53facc1702eb3c08", + "0x1bae1f32a5cff6cc670e07451af4569cd162db84bd398b90c9300d636e915346", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7d1b000", "0x00000000000000000000000000000000000000000000000000000000b7d1b001", @@ -2916,7 +2916,7 @@ blobs_fields = [ "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", "0x00000000009c707518004000400008004000400400000000000000000000054b", - "0x24529a4b58ece9986bdad3d4f8e30bc57ba90c620a3c1040ceaa25bd84273818", + "0x1c9550e810e50d4c8d99cdb8a708dc86c43cc3191d0626d7c97a89b15678fe42", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7e5c000", "0x00000000000000000000000000000000000000000000000000000000b7e5c001", @@ -4272,12 +4272,12 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c34e", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000020001", "0x00000000000000000040000000000200000000010000000000fe000000000000", - "0x269c50eaec37130076fdae00f91e8cfbc728a208445574c5162e4d6d143a1e8d", + "0x19a97233380a84091bde03bf6e165dbda89d43ed22da93af636ceb07fea77466", "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", "0x00000000009c707518004000400008004000400400000000000000000000054b", - "0x1e59a5d1f94434217b27307eee30fe038167eb5242042580efa1cf0dcdb33fb5", + "0x0c92f69e88a4c37c22cb23f10a2d1d7e609e491f6d9e96fdedd73fe115d2739c", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7f9d000", "0x00000000000000000000000000000000000000000000000000000000b7f9d001", @@ -5633,7 +5633,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d34e", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000030001", "0x000000000000000000400000000003000000000140000000013d000000000000", - "0x14b9d606b7aa7f826cf269c4c2353e3b58d4291038eff85b8111a822d2ab4ca0", + "0x2b3c01dc8c691c57eb4bb98b12a8c52bb2e40952550b21c991b3d6a07c57a6e9", "0x0f910fe92fa0690e32693038d26864110490cc71307fd28bcd4b5f86cf0054d1", "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847", "0x19dde349ddf1b27d03e840caf5acf851e9dc57f3051381aa97ade96d736b8b6d", @@ -26130,7 +26130,7 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x0026d11c132b61b6ec8c0262536cbf0cb71d90c043d97839651283409ff47052" +blobs_hash = "0x00ee9f1789e4b4edb301e7690559f69815299ea9cfdb1416acda05899bfdcb1c" [inputs.hints.previous_block_header] sponge_blob_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -26217,13 +26217,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.hints.final_blob_challenges] - z = "0x0d827c4802b5ff54e045e265e5786c720713d297aab3e1acf5049465612c77b5" + z = "0x19040f948788572c4e0e828a770c02f573afcfb807657684785e49edcc279056" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0xbf043ea8ab414b5c8986e37d1897e7", - "0xef28649a3763c4f04ee58451a2654c", - "0x06df" + "0xf16741fcb301c7e273dcc91a16d365", + "0xd47845879baa1a79edf0736fb073a9", + "0x03bd" ] [[inputs.hints.blob_commitments]] @@ -26231,18 +26231,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xa55a42201a7854447828c16fca0dda", - "0x5d575d46ff73012261932d1be971ec", - "0x97f8286c3e9ec1cbf527484c7721aa", - "0x0a6b77" + "0x9d0fdced8d19d623128d82b49397e4", + "0x40bcb1478e836dc6f3a7412e731afc", + "0x2371afec93407cbd13eaa5d7493c36", + "0x16fd55" ] [inputs.hints.blob_commitments.y] limbs = [ - "0xbc9f0408cc1bf6b15006b1afd15ac6", - "0xe1d6d4263d02e5e3684af363511766", - "0xbf99124c8a0e2928a5b3ebbce5b2eb", - "0x185e37" + "0x471d97170339e2ff6d20651ae6ba23", + "0xd526f218b8221718b68ee013b6622e", + "0x80a02727ec3735a135df763d3b5fdc", + "0x083a6d" ] [[inputs.hints.blob_commitments]] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml index 9613884b3545..236b48f1e8c3 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-root/Prover.toml @@ -523,8 +523,8 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00cd518fbceb51a8d33645c3ea3d7d2e0146d599ec605f0c76766e4cf736b7d3", - "0x006966c867c005f23c5d3aefbe9a0cb1e73bf0f1cb7e999fec7a0d929b348a9d", + "0x00a50492eb222715e27acc59d3fca6fcc34e9b204444515d97046b0e8d3a4558", + "0x00a24098a404768337bc4ba72c47627c9e2f38db98c4786168da5cbfa4fe72d1", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -559,17 +559,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" + root = "0x1d20aea0bcec7d0b24d2146cc43af55e869a31644afedaf4e38615a0eaf232ac" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" + root = "0x08eb11f8ecb0e8c389cb929eb0bbb3d74b4e3a823bbfd0d5caa9ee40dfd931a9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -581,16 +581,16 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x000000000000000000000000000000000000000000000000000001b0ca114000" + value = "0x000000000000000000000000000000000000000000000000000001b0d3390000" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000002fad6e290b120" + value = "0x0000000000000000000000000000000000000000000000000002fae705af8680" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -811,15 +811,15 @@ proof = [ ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00d153a805cddca8fbb433f02798c65a20ae3d46461741c97249ccfe05c6c28c" - z_acc = "0x1b1123b2c54e9b3cbf639f3280dd944d30236850ebcc9bf71d329abaccf735ec" - gamma_acc = "0x2f1ade5ea24f0de235673ccc37dc8b539d13019f343054c583490a4326c916c5" + blob_commitments_hash_acc = "0x002ac9c8d23af41e3d3bd207d66265f70d263339ab1aaab525868f1f7e3ea42a" + z_acc = "0x0389888417d0884fd001f5545ce3e046708304dfba97cca568f871609c962b36" + gamma_acc = "0x0f3a87a05073b55e168e7f1c9065e3594c53229e6711df58411d25753e3dd12d" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x2368a0222bf5f3b58d317f109e4f01", - "0x6f9138731701806d38bcf4157f0372", - "0x4eaf" + "0xdcb6de0610520ed5c5bcfa5ef1a440", + "0xb1e2b270f373300698875eaa9c06e9", + "0x18d2" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -827,35 +827,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x63ae7db5a1d972f3e00dd822ddd7aa", - "0x8cbb087b3c5a3759c6b10bde568fc8", - "0x0c4a7b72216f8095bccaff72f011b5", - "0x1024bc" + "0x8d7ed5dbaab9e40f7707e8764ac4a2", + "0xdd06d3ad55bc00f3b3e8a3adac6065", + "0x26bbeda9f1432d3d7d122ed2a86633", + "0x0520fc" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xd73f7ae6866b038ac6c1d90d8f43ff", - "0xe9bf0deec826064d91f8e8a3caa4f9", - "0x74ca4cccc72ae831d69949396f91f4", - "0x164bf8" + "0x58d4406c7a4b8976d74d1443c054d7", + "0x45beea7ab0b648addf92d1d43ad58f", + "0x691a42836a8dc59d0be4bb646a67a9", + "0x0dba52" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x5ba6edddcbcfb55de31821f8c5b7f5", - "0x877c2a4d12f40237143bf797ef92d4", - "0x3ed7" + "0x58680420f8b80446dc6f7e8a29d8d1", + "0x4f5c1dbfdb15d1ebfc50a0a8da2e02", + "0x5fb9" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" + z = "0x2dae18f40c679e5373324b71b57731eb873064012fe5c339dd5905dd7ab53959" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [inputs.previous_rollups.vk_data] @@ -863,11 +863,11 @@ proof = [ sibling_path = [ "0x2de375bdb8d749f73ccdda86c68b51af4052afa74effa13cfb0cf02912af3eff", "0x0ab1cda34d31d07f8e6fcbe7f206975f32307237e99352786ec59d75bf0119da", - "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x2c55415cd4570f6496d7035c66ecc3f9f65d44bc0406df5c9e7e84941c055826", + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] @@ -1515,7 +1515,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00de76b6bff58d82547d670a64d2f159ed5fa7e740b1ffcf2c578be1766e10dc", + "0x00fba1e62c48b12cdabe26ac0a803c33552dcba40d833c0bfe07511dbdedfc34", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1551,17 +1551,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" + root = "0x08eb11f8ecb0e8c389cb929eb0bbb3d74b4e3a823bbfd0d5caa9ee40dfd931a9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x29bff21d72dca50b4a017ebbb61cb14c0245bb00368ff1cbd54ced2243cf84d7" + root = "0x0ba28d47867bb6b7c3a9577799db49971c685b4f2527ede0afdabc898fb9a2b2" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000c" [inputs.previous_rollups.public_inputs.previous_out_hash] @@ -1573,10 +1573,10 @@ proof = [ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x0000000000000000000000000000000000000000000000000000cd8ba6bdba00" + value = "0x0000000000000000000000000000000000000000000000000000cd8ed8ed9920" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [[inputs.previous_rollups.public_inputs.fees]] value = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -1765,15 +1765,15 @@ proof = [ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.start_blob_accumulator] - blob_commitments_hash_acc = "0x00d153a805cddca8fbb433f02798c65a20ae3d46461741c97249ccfe05c6c28c" - z_acc = "0x1b1123b2c54e9b3cbf639f3280dd944d30236850ebcc9bf71d329abaccf735ec" - gamma_acc = "0x2f1ade5ea24f0de235673ccc37dc8b539d13019f343054c583490a4326c916c5" + blob_commitments_hash_acc = "0x002ac9c8d23af41e3d3bd207d66265f70d263339ab1aaab525868f1f7e3ea42a" + z_acc = "0x0389888417d0884fd001f5545ce3e046708304dfba97cca568f871609c962b36" + gamma_acc = "0x0f3a87a05073b55e168e7f1c9065e3594c53229e6711df58411d25753e3dd12d" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x2368a0222bf5f3b58d317f109e4f01", - "0x6f9138731701806d38bcf4157f0372", - "0x4eaf" + "0xdcb6de0610520ed5c5bcfa5ef1a440", + "0xb1e2b270f373300698875eaa9c06e9", + "0x18d2" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc] @@ -1781,37 +1781,37 @@ proof = [ [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.x] limbs = [ - "0x63ae7db5a1d972f3e00dd822ddd7aa", - "0x8cbb087b3c5a3759c6b10bde568fc8", - "0x0c4a7b72216f8095bccaff72f011b5", - "0x1024bc" + "0x8d7ed5dbaab9e40f7707e8764ac4a2", + "0xdd06d3ad55bc00f3b3e8a3adac6065", + "0x26bbeda9f1432d3d7d122ed2a86633", + "0x0520fc" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0xd73f7ae6866b038ac6c1d90d8f43ff", - "0xe9bf0deec826064d91f8e8a3caa4f9", - "0x74ca4cccc72ae831d69949396f91f4", - "0x164bf8" + "0x58d4406c7a4b8976d74d1443c054d7", + "0x45beea7ab0b648addf92d1d43ad58f", + "0x691a42836a8dc59d0be4bb646a67a9", + "0x0dba52" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x5ba6edddcbcfb55de31821f8c5b7f5", - "0x877c2a4d12f40237143bf797ef92d4", - "0x3ed7" + "0x58680420f8b80446dc6f7e8a29d8d1", + "0x4f5c1dbfdb15d1ebfc50a0a8da2e02", + "0x5fb9" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00b4f266fb9c69625603bb20f66370bea3d12654840f8a71b3b57a7961598908" - z_acc = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" - gamma_acc = "0x0a91cc06349e98d5e92024d4ab2774c12167cd03e9540ed8580234d2c2988c36" + blob_commitments_hash_acc = "0x00ff4a310ea56cdfadb2e5fa35c00a068bdab53c6e7aeb484a8bfe543c9018c4" + z_acc = "0x2dae18f40c679e5373324b71b57731eb873064012fe5c339dd5905dd7ab53959" + gamma_acc = "0x16546752e28299a1f81df6dd41d488938668402dd994c4e9021f9c57d2136a05" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0xfcffce5fb5b8362cd4e9c1d964ede7", - "0x86e7cec6b07db2382940b576c248c8", - "0x36b0" + "0x785810db1e372f2ce9fbd29211ee3b", + "0x25dbd518ae9d1dc28a5c0ae44d8c31", + "0x3804" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc] @@ -1819,35 +1819,35 @@ proof = [ [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.x] limbs = [ - "0x6be0054fe847e1cf299674278d60a4", - "0xe29711ff470f4a64a81e7cced5cb2c", - "0x1325d753621449970a6fe045205c7c", - "0x0c1bd9" + "0x4c337a88268a978b104d187dd5e91e", + "0x701c0efa879087c98d968ffe51a000", + "0x25b6039f171fa6331ab43d948fb997", + "0x15870f" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xc39fb95320dc6fc9e0be0a28d66139", - "0x11e54501c4bbbee7069dc96e39eafa", - "0xdd976da785dfe72a2dd69c877ffff7", - "0x124409" + "0xfca0433eb452e6f33a1846b8de3b0b", + "0x42e41b29608f8d8d7c367f1297499e", + "0x9f0372ebde39c8963aac75d49d1e00", + "0x04facc" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xc8b280c927e329cf05551c70ee1ad4", - "0x566647f7c6145a89982109b314c821", - "0x0ad7" + "0xbe4bd42419472082d1af4eb2bd5b26", + "0x51832f578b3e6865662eb9ecae557f", + "0x4b99" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x0ba1fc5f2149747eeac22583f9e97ced6aa2dbdceba978b62b0b93a7d60171a6" + z = "0x2dae18f40c679e5373324b71b57731eb873064012fe5c339dd5905dd7ab53959" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x1f2420781655ea33516107d908bb58", - "0xe25ba2816cdeaa8c8e5605e29de519", - "0x1d5a" + "0x4c6ec413dbebe03b3a8cb0fcd6fe69", + "0x9cfedc5543b45a20965554995f61b0", + "0x2527" ] [inputs.previous_rollups.vk_data] @@ -1855,11 +1855,11 @@ proof = [ sibling_path = [ "0x10f9143b2a141f3826fd2f24783a4ee36c04efd9216f2c4931a78f15e9c365ab", "0x152474d9b911866e539377e5d6185f9c35be76bde6972cba8f9c3152640c4085", - "0x18de67fc3ebed8c43645b5022f43ffa465f4dde3a8db75f9c56344a152cbff18", - "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x2805021d20c7021e1f6d423fb3116b4f1a451882481fbca06817057123169fc8", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x2c55415cd4570f6496d7035c66ecc3f9f65d44bc0406df5c9e7e84941c055826", + "0x15ce529f7aae3150806fb78f868d26b41882d38a9db2d02b318d8b2697b0ad7b", + "0x1d6170e061e1110ddd5c5d45e300389363886ef1fb5849840f0657aa4388f20a", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.previous_rollups.vk_data.vk] diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml index ae2bd2d8cdf3..221cbcfff9f3 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-private/Prover.toml @@ -3,7 +3,7 @@ anchor_block_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", + "0x2e2e36722b1ec84e2d5d16c3bc952077215df4ea0b608b28cd036481aa2aa9e9", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -3061,1230 +3061,1230 @@ contract_class_log_fields = [ [inputs.hiding_kernel_proof_data] proof = [ - "0x00530afc8b0b5b26db65b2cc8d4035c4c86e3ab38c1d1d9511306997c710ad8b", - "0x000b14353c25094daed23db653e7f432f1cf11771309cccdde66eb3caf3e126b", - "0x001cc32b4ed56bc38d9762700293c6de300844baeea0518974bc9d212094e65c", - "0x00891737bf41ecf1dd6b3770810cb3803e93fc0b0253c6c43c8373ce06936813", - "0x001ba72afa42ebd9026b252564456a6a9a62246a0e98237c74ece2cdc93cb867", - "0x00d6bbbf5c4fc598e233102d73c21c1b51958c036c24af0a55fc5b8f3581741e", - "0x00e957b42cddcd40550620b5f69e74770c68708620e07e9ee10fc270d6b2c82f", - "0x00d82079c4180e3991f220794d318062822624626824b93924e96bc91e889262", - "0x00d33092b3f62d5515251bab970c55391b10aeb3cab94af17d2612fa9a65c7d5", - "0x0094d5f48077af67b09ec064033e52dae68aa988a95da4ad35866e7e991e5b99", - "0x001b51be38128ca6d8568fdc03536aeebec0487077b7905e5a6a91559080ab16", - "0x00b5d0be04930eb3ed4c7ce71a1fffc00dc71e121f6ca12fa85336e99d71489e", - "0x004b2383f1f80742ef74bb3a3a07f190cb9cc1ee32dc29a0be61c81ba28675c1", - "0x004f03cb45d9f9461f4d413d4fbb270dcef68ec151ceeed3ccf815760ddaca93", - "0x004aff5a6b44aeecf762905bc95c25981d97e4121b8898596053e8359b82facf", - "0x00ce848c3bcaaa553843d5c9e55d8fd6eb4c5ea0ae2af675e7d723d81e7891ba", - "0x00aa24801f2f4d5b0b0d0d1ff78ed4d7a6d8725f5e4c4670695bb6ff05dc00af", - "0x003491ce0a1061f42df5faed4b01af30abf5de1ac4de1863a270a5e831c9bfd6", - "0x00be04094e895ac35a53859d03ef8ba25757c3236a1bb45d0177feea87bb84b0", - "0x00c6d9907de250438e42a7e1cb418567e9987a16f25e78b3563c6088f9b943a8", - "0x00fc3df19a5d85ef691efdd1a7d5f062701acdb680e97cb88fd9c8c95e30ae2c", - "0x00f1d511b4df24b3674d62378040cf76d38a1c3cfafdcf6b51801b8cdbd09ba0", - "0x00ba37f5b87e7c92854adfdc5c263ea52b54224d856a4b356a94c42b821735c2", - "0x0061ac51a4bc5cda9115d5493fc9797ff3703b75642b7e18b4ecf266d63f1048", - "0x00a02da8fa6dfc8173b813e034784c74cf1933535eafc2d7dc138a4535087ba1", - "0x00bf2ecbd468187151e049d684e182147c9a97021cc8455b06ed701b71702680", - "0x008975818165581392791f08da7c4cd6c87dbe8f7a3ac90bf80f94851b02542a", - "0x003d3a389e5c3a491fa8dc1490f95c4b12cf116474cd8495d885b501a4aceaa7", - "0x002c9f26d0edb6abf69a910dddc92af9f4f410b4ed0153eb1b98fbc519059a70", - "0x00b047acc9e0986a5e7472553348a0064176975151140d8cae3bda9ddb3addb2", - "0x002c0ae0bf4a9480ed72e848eaccaa5a21e7ddcd44ef0138ae25c41d6477352b", - "0x00ffcbc65f807ef5d9ffe44049b6ea094e4d52adf55ca0c17bf3290a055a34b6", - "0x001a890e811bf7fe5b89fec371a3ef1e492fd00366099a37a305d0a96aa39753", - "0x00e7661fd329da59fd34fc9f8e854097ac6a9a821da93560082816bd748fef2c", - "0x0022f5a701f9754d155dfef63a553d2c0155840e9c79f20c6f6551bdb97a1b61", - "0x00df24c5afa7a578f64a83a5ae0e9177eee119c53c2b5dc23e5235b6f17ea1bc", - "0x00efb9d383cb351204cff5243288e1945be73d46212c4974763b55c3e739b3fa", - "0x0013e451f2a9e2799afa0e2d34d82d63fe677fca76a56a9b01f13d9c0cb4b682", - "0x004abd3a1693fce1e9c5a2888787acc09e669d4e0e32ae2ad8c75c5510f4f6eb", - "0x005ffebe7a22ca5828f16b8d2684ebf5ee01ac8380e14e0102539f3ba00b8a07", - "0x007f264bcec22e21a46523b0d1deca636594860134b465d879f5aa66e02d7353", - "0x006b6d11bc7acad82a8d4aad1a2fe5a90309c947873c36ad6908bf75ebe26ea3", - "0x00a7de9b6d66b0b0fe7398e0c4cf0cc86259c5e7ca45f97a38aeecd87c86f592", - "0x005b4ef2d327dd8276c27afd229288b7d3acf9d0fef88e1a9d1021003b2f3b16", - "0x00cfe80e67962eef60c49bada4ab041f3780351fc02d0d8eb08e0e637d76eff1", - "0x00cf91b48fd6225365068a388fb9cbae508565fd8e405bbdfe4eababad0498c2", - "0x0046f29c6036597bf745a3e678e42fb35dc4aaa9526881f4b0289d0b1a4bf98f", - "0x0041094e195a94f865b4b35c42d5bd8c32d56de56d34e556c4e03400494d0334", - "0x00383eccf1f2eead90ffe953df2bf8cf22f5fc6cdaa2a52c4e5fcf9ea2e85dd0", - "0x002a2770353c95a8bb124dd9666a36b6eade35e46d57584aefcd6365edcad7ad", - "0x00cbf294699dc0c98a5c3113403e572009adff1a8a9ad037e59645da853affb7", - "0x002b7cd440a443c707623f1999655d89af29fa7c1fb73ef35a6ac28dfdad0a5b", - "0x001721be22ae4f92763aadbc49bbb8bc31bf8801c60775c02c99f0d607ae76dd", - "0x0035b7d7bff67d887d5fa57e020744d771ceb6cb4e53b2bd3e2f908b188156f3", - "0x0080541d9ab20becb16b3261e84cad2f7c59385b404c2c3955ab182311c599e6", - "0x0011d826755d7c3728e9845f237310a0863048d638369ffe3162f8733b2c9f69", - "0x00904cba27cad0d732ee068362545ae90f0cccb1cf130ea4150efa7825dda634", - "0x00f7b5102dadeca96ca5752b9fad8cd1e2b6ab63e9693e5194dd28182afc9388", - "0x00485fef3b673459593ce4ac1743e55629188f0eb91415882f7253c0d10923dc", - "0x00b939452824f3b4895b9eea45d9efecf2b3838497807f1558387d90c9a55b6d", - "0x00c58c62567637591ba9edad9d2b1f4dccb22621dfed3ffd359a0a984b5a7df9", - "0x00ba07744cd25fb88431eda19ee0bd090138217b458f23a9a5e8eaa57710be78", - "0x00db339233228ed35d03643fbb85fffe418329988c71a702d5c27a7c5115c805", - "0x003c7fb65d71013cc120ae4ec3585c86882d7f7a254c9fe6685f3a0b7c9767e8", - "0x00b02364b2a33b8b12d53971dd00a55120e81bcdb18c1f7cf942dc08f80ed308", - "0x0027219120b7a61a4014aa7b6230a2873e957a78e64d24159fd6c06be4486c06", - "0x00b4299ad52755bd380c0449f63c7d9c47781e1ae77f50538c99108705e6824a", - "0x00666ba034993f1ef85c7a77155bd4a29b790ff896bd3954ecacebc5b8fe50cf", - "0x00ea9d7c700df3c8f0092eb9da11091eaedf16c8856d3323259c8b5d8e9738a1", - "0x00b23515b40a4278d1046913624d59f29d51456dba2cdb08c9f0ea7baff4af3f", - "0x002a888acd87090187657ef40013ded429bf9a158c19bf149a0752e064dac618", - "0x00701617d968cb8a3a29e738c4a4333b210a35d27210e7103f5a675b2b380d82", - "0x004349d5b4aa4a7d19c3fa07c2fc5e761ffd4257c8d0c4584674a30b4bd934a7", - "0x00e7aaabf92a8ff89fd737192ab02cfa0c9b8af79fa0002186494c9f78f110a0", - "0x0087d744b0e22f1ee6f26ca1cfd8b72b2839f4f841a2706d955d742a156f8971", - "0x003febf73faac6a431cf317c004b2e9409a1b9584421ead48defce945012046a", - "0x00dd7705854befe90ee2bfc2a8966ed036997e2a61fb137b538730e84dde0861", - "0x00f83e9df2510b28e254574900e5e2ea883acc6b6c8005104ae2501f930cb63b", - "0x0065c9a72dd301062d06d87b786894c200a69f0b729d69b8cc8cd3fade88e76c", - "0x00e5ee315ccd2092e8aedbc3753119e1c6a973731b761b14d7793296b1aae999", - "0x009ddcb5438578951df1d3e266b970f6a8e2cca80b67c4764d4d41aec0f3ea1e", - "0x00331f043189cb646d66ac70a34518a078eccbdb1eadc38256fdde2f917f9ef8", - "0x00d5a98bc8a1f4548b6cb2fa11cb7f91edce11bc5a50e1aa9d9d49977cbbab8f", - "0x0016aaf92c49e5212f109d832b1d58d52347ae2b29e377017fd515015b74a486", - "0x00aebc85ca8d5db854686b681ffa2efc1b79ab5dfc84ec484eff5bac4b27e156", - "0x00097535f4b9b59769a5aae5e15470ce74ffe5d12d85214062a2369959d5a94a", - "0x00a4bc0839575892dc58ce33a0b8f4fe4aae3bec36f5371687a7ea95848686a2", - "0x00875d327ea94e6acaafdf4fe5fcfe9427f4e0d04197f82fe2a8a746bb481a51", - "0x00359fd902dc03291a42e5e2e08e0aeebe1c3e8fe616790f869aa6b207f6e31d", - "0x00a9cec27b2f5b6c59ac3af4a6fed2ad991464274ea4a9050900e5b39d2d3b5e", - "0x009851a9c85ec8b09cca9beb9bc9a88ecc924ed993c5362b5cc5d4b4bae381b8", - "0x00395c1dd4063bebdfeeee49615bb22830047aad94f0a60d034c4a79fe553a8f", - "0x009663a65ad7892ec0876f8656640608a9625a08212ec6da0c4b3a8cd45444b5", - "0x00c8306271e41415b3476d33acd062e904aa8c44b72ecdcb72957cc9607ee9d4", - "0x007c51e6b5dc54bfd4d9ec569f2812cb1f98004e43027350b8327f3bcccccf43", - "0x00db85eae516c878dbf027821dfb446ff89897d85fede60a1cfc7430536753af", - "0x0053dfec2dd44915c0302be9edf4025d834330720b710b360300a2ddb58e55e9", - "0x002981029a7f7bc9314a30fa826eae99e186805acee2613ce5978a691fb6faf6", - "0x00624fd5b0ba2417f6641dfce4556bb0b69cf7f822cc4a4be05d48d3e674c2a2", - "0x0073bab823891e7bddfb284b6a6f1c0894953429874225728f01151796f44170", - "0x004b8ebad35098c257f1fabf5f8d94a0eeddf71f35ab6f7374c21c558e1dcea6", - "0x00d1608b1a397fa852cf9dfe005314edc9995e480427c9add0b2776ab5be4e71", - "0x00aff9289f0c32d71eb10a16891089256ca5b5563fcf0d74d2fda357c4e830ba", - "0x0068fa8f7c256c4830b467b5a357c48542fb5c76a50488d690565e9584eb67f5", - "0x00f9b28226bd75a9e612147c9b50066e7237a18ff16d583357d93b1b36a3f583", - "0x006cf8cdcd79ac407c35f856a488fa72f1d41d00d65716c1ad473f9352ca3d41", - "0x004d452066f5726591debcfd41e8ce096399aa6f8e214c331a0174a8667c0ff7", - "0x002a74c0c9c4883d492e338b8fc8af0037af1722d821687907915f8638265918", - "0x00288515b8e62e8a0993536c3be10adf0fdc085659253d40c38f73bc1b003ed8", - "0x008627f1e4ca97121b276eada030a3de67c259333792ab00d32122accb7a2992", - "0x00d22992374c3c9d7ac7ab583768f5f50255a6e0fd43f3dafd6b07635aec1732", - "0x00ba81a3920f1eb68d83fca36948635358ca82dd556e6817de52148df57ab25b", - "0x00940cc18164d73bfcfe598e71a68315f7cec8a2bba7d698e690d7dfb7e23783", - "0x001152600bc1f83ded7b16e3baf4d05d41a867f59544bf107933b76cf6723d48", - "0x003e901d0a7f00ae178c1fd3da3937b05aebdb3b499958c0140f911ff7621a4a", - "0x001313d8798a6f641914e8452490c7a658683ceea471ad008dc5ff294008a40b", - "0x00691e4d2ad4873a3f2b0367e270ea652d0241e6ad826c674eeb1b84c7628c19", - "0x00192a41de29f1528350c682b7a12a89dfd05b17014b841d61bd49a8387313da", - "0x00136ff4f92a011504d8bfa23379909399a00b145dd79b725ce8f2fc82d34194", - "0x005eca91328e0e40187a0dbc5bc7e6b075b6ef991a4bbd236a1fd73dd0e216ab", - "0x000efcf85150cc3387f65b2726dd02a79229eaf5390cc702799f8c5941c570c3", - "0x00dce110d9449f58d0aae8db15541e111fe146b956207c079af586ddf51241a7", - "0x00c2ec3156415d3a03d590889dd4bbd46b6956b4a710697d3b419357acdd0048", - "0x0086d0a4c9678ec1eb414393bce466b7fa16457e03221f7913c8993519e3e8c7", - "0x009c13d259e06cb72a49a73d3656f0d0a21ee5649be9cc40e5b437e44cebf7bd", - "0x007020ed31a1d868cb52df1b042ed1cdec25da635ee7e0c453863dbb932ff553", - "0x00a62950b9592650fa00f6b7d5fcacea0398f76e81c72d964722f99e6965d863", - "0x00406381777174d148e5b481823158a1c474d44fe4c1cd65ead8519cea03d6df", - "0x00fb430d26d903b54f30570a329879541bf695854e5be0d0dec63ba95603d6ef", - "0x0077bb928852db9ba9f0aec4271fee470244224e1f72528fa0a1bbb2c1643a07", - "0x00b860cc09195a25c6543dd37eb702f1ea3a66703b38aa4152166303f1889770", - "0x003480f13c3b851f5edb85365fdd81dd5854e1f54ef515184bd25295dca7b079", - "0x007bcc698a1bc2956811f1cba7e3d21a96c4aa01c72a89227db2a62ce1591600", - "0x0055958016db4073ca0ed802a96da309b9fbfa9eaa9645ef9768e69c09271040", - "0x0056df696eacfe203ae443237762062f5bb36d4ace3f0ecf407652f11923401a", - "0x0097d7e7ea5742afc36bc7a585dff6f2b849476185d8ce0df90f1a306cac4892", - "0x000e1a0997d1d1dd326b192c410eee267051cf752f60deef268e3e8b7d85ade0", - "0x0096e02c477491b5603f663f64b7345985b7a9f872ba2a8be42bcf546d6d64c8", - "0x004203c9c2529b2d7fcc9ec60b5bd4af86e7603a6ee6206aab567d3167ffb944", - "0x00cfeb703552fea0678de173c7eb75b43cc6f972ff56c31124b3c26adf14eca6", - "0x00c35f0591dcc83165082ca04d3cff8925ce313fc0374f401da223df44fc0ce9", - "0x00d315ba31c3761df98acabecc34a6c463038874fd5db397ffae0aaecb95aeec", - "0x00886012132d09ada0e69432e839dfc2f88c5743f373be4fef2246abd1feccb9", - "0x00dfd511df770587113249a8ccc19b02c5e7d00104ff79787f09be7e14e02abe", - "0x000e60ca40cc51e94c04be07aeefb5c668115ef4b483e06f44ae3bc6e24e0b4e", - "0x0050081ca3f5eb0b122ba96b852171c5dd0d044d04dfd219175307e60ba70a26", - "0x00fdaa767c8a35b260db03a7d2bd44f1af4ab5ec9ba036511c0563b5bc1f8950", - "0x005dfa7c71132841edd4565b6ff49cd3c1c8e5bd37ec5e0965790fccf51ac40a", - "0x00ab9e025456b0ee47cc51966c5ac56bd3b39d7ed4aa8e0ef30389b993653f79", - "0x00eb6c74a52018efe5691631ff2d9fa783751afb3e0b89ef96b31d694031e5ca", - "0x00c215d5ab45e322524a1ae3ad1854caf678d9fd654a978d46ccbc3015aaf699", - "0x00a7412c6ad642753e4dd9e3cb392c314f773936723d6c86087753d9ed81f4b9", - "0x000b39f0324fc5f9c345a5eedb43cf606d5891519c2a6e0945e4059082ab0706", - "0x0037cc9567a23b0cea33d9844737b279bd3fcf0a5d9db95e324f026101ce34f2", - "0x0090e0e257c24f52e5bed5639a79d2e231606b850837a6c9b196be0a24f5ece5", - "0x0012b52972691aac0660bdd872c4a8b19abf9aeb7dbeceed4ddb72bc0bf55682", - "0x00d3e5afef9daf0a62249e1da905aeae37019c59ac3c61b69064adbc3e3da94c", - "0x00e6d04c52f3307e02c279c1cd0c35c515f0ae15a338e48bb904488b8bcb8874", - "0x009850f0280ce72add49c9381f60807ea31dfae7f063cd080c9db1c318be115d", - "0x0019fbf2f03b1e12b4bb7a527922c3b350a2a06bacb9f127df241da1d3ea3b73", - "0x00126e1c3d06742a0bd93484f9492520e55c6961f900f06a250b3b4a671102de", - "0x001fb3757561e44c24d9803935024b5e3a3bc65efaadb48cc69373717c38d5e1", - "0x00809f1f4021146acbb1f0412f1df411fc40c99e3df2c41f68abba9d339b12d0", - "0x00bbe43566587edfaff4cb33e16fd1ff88bf60abd5d54da92b5e956ff8b4476f", - "0x009479805137985d4c630b3a4dd1088afb0b904ec0861cd9568b22258421256a", - "0x00cf205b8fae69f0fb14cb2a46986c56a7c8ad20a23352456e99057beb079b63", - "0x00891f494d9891c7e5ac66f60169fbea75cdfd735746cb63b1b4c3e2eaca7670", - "0x006786ca1573b673ad6b4cd17632faf6583d047775a1c1b262a6cf8d915255f4", - "0x0041f9153767d27616bec7e6b7f55fbb0662224f2f030341df2db07c6c54b989", - "0x0013aa6f8fe798dc21b64cbf6056ef184678a597d2ed63d455bed185259ea229", - "0x0038d121b905839de916188a51d329829c862736412c0c505b813a354220116b", - "0x001621676da107c351c2e2bd6c85ae0c09454948d541fa9544460b917bf7bc90", - "0x00ff82240442a2a1760335d1035aa884abc8bc787a63321c65f814b17d502999", - "0x0084352db51b90862b139e04bb5025c05cccfba750e4bc2554d71cb42eb495d4", - "0x0090b4eb01b02fed157ae4f730f6ee267a301cff0c9aa67de23531b3c4ef164f", - "0x00e7206333ccdcba1d56ea3168f0e8fd521e26f2bcbc781380acb82b7e76527b", - "0x002b1d677fbcf99755d3536b1c77f1cb937b2c1ab336232efef992f348a6baed", - "0x0057cab8c91be3a986862c54067b0a6dee2f250746b78cdc549472dd468f8d7e", - "0x00df5d08c3dd458e6eee2008f8100d4c8a276445e1e593be5e9c42ffe31787fb", - "0x0038ff972bd660925b4a9c0e73664c731a13c7969c7cf5ea32be9a65bc9a05b4", - "0x0010da98727b2652b71b744d0246b3d483360658df5163a142c90b8238076840", - "0x00310cfb2ffc9707cb98c176b8c7bf9baba42700ff6cc816115cea3cbe95f5f2", - "0x00043718befe5a4510c9a3c6d9dda63276f85d38848e80d3205a132a2822ce70", - "0x005604551d478dd33944cc8873f4c7ee721966f8990f5949894b2627c9da72fb", - "0x000a60ad60ceec2cdf1b0302cf338496522bc0c74f88a367b8cfbddaa2797977", - "0x00aea91fa6d89acc4294d7086705d34e00b7ad5dc18c2bf044ad253a00968aec", - "0x006a14f505effe65b0879f2a16b718738923ed4ec1b331f89cb7f1c74bb2b2ec", - "0x000cb4fa02f1c2437d0dd8889d1c2ace6018dca7f86974f8233a213313ea98b7", - "0x00192d72c5bbfd42ddb723b636fef804690ca26c02e6e4f23295c46f78b8cac6", - "0x00e751a166a5843cc427acef2e62a3633276ec0054ba9d5e7af82ccbf8275388", - "0x009d3ba6704ba76fb46837f93057fba7bd21a9114ad21c192592884c36536e15", - "0x00aa8de955b688c1b73a1373ef602359f758f62c5ecac24ad6e904add14d649c", - "0x0020b526d0af4034f0ca6ec4356055ae0cd56f84ee900f6711b9d417da7f4ac4", - "0x008b64f86bd45c23a60a500870c05f5db706b8cec0aa7066447a7bb0fb162d53", - "0x00c181bc4edf61707a46d483d27e69235939312315b7fccda01c76fc41d17ee4", - "0x0090be20a25c2195f6d8010977db021188c575acee2a28ed8c0e4cc0b1977946", - "0x00e110e40077eb9a9f94857c0bf95ba6a86baa119f08836b00969deabb9145ef", - "0x00546a27a0a6cd768b0675a3b1c32d3243d079e548cd8a9fce5fbb922300fcd7", - "0x00903c4d62d8dea5d92f21ace6b6637b2bbff3baff046a05d1829f0b55d15dce", - "0x005ab27fee64d7df2c3f574604fa6af16ddb436e72b130cb8fd19e4d79428622", - "0x000da3c6a9b2c72688e862dd03aa2ae255484b5f101c38d8c8dd4232f3e2bd99", - "0x008d72d901d4275f86ce7d2c990cfab7890ec09f625019ce3b237d2d634d830c", - "0x00c50d0e78485cbd21b21fa8374fed47ef16d90ef7b339c6813ecf583fe9e80f", - "0x001236381e8546c982c217bce542a3203715cee4e9a0df7d0952394f7008ea2d", - "0x00c0eccf5e637a306452d8662d990c51abd3e164bd7eaaa8476c1a94f1d5b8a5", - "0x00859be24670686d4020d7a3d1595a7f0fded2090a5f8f7ca8b5607b72197119", - "0x0010fa061d09ee6c3780435d31758447308a107ae54f20a7df23581485cc152a", - "0x001fc1854b61b9f237f602dce3e7345069164bbb2803ddd1e7463d513cb15fa7", - "0x007b383cc77a9a306d43677932f82d9c726d079358c8c97a6a73ca0409c7fb5d", - "0x002aa25225f7e880081d0aa65073e739c95e831b927fa22cdc6836972f177d48", - "0x005426b466599b5f3c042b604a5e2b97cb47f8f95da06dc67749efcfa928b5f2", - "0x001007327e65f3c71d6c8bc2bba3ad4f0499ed71889ed2b3204ea62b2bab675d", - "0x0058eb448d42f3f15324607f9fa65433c47bce9732c4c3f440d5e2e88067cb1b", - "0x0057b1354f1e1a9d011134fc68debd20c213e21c7952d1df13fe23a9861b49dd", - "0x00c4f9426f8c2995e17b70e92392ff65a55d38df5442f565434466da66846ccd", - "0x007a62ddd41b2ad2727001ddfabb0bb7e67c4d3fa912922b7f0ffefa8a1f2f6d", - "0x00afbc2756dd8b9ff0661315c2142e71ee4515d203c63a9f140164657c02ccc0", - "0x0098ac789ccd1b6db5d6b51a0ef8921f2c9b0df983266bd5312c4706514770b2", - "0x00b3b5925e767135cf2874ee00fd82aa170c948ba58926caf10761a594ed87c9", - "0x004acaf3ae2139cd795aed246a916b48e1c897c50b52e1e6db9184ce06322c5e", - "0x00f25a9da659e60fd102609ccab4a8885cb990fdfa0af4f427f93beb84e52ffb", - "0x00f5813c5f512f39532a18c8efaa943ad7cca0acb5d12fea9918f7c53a029ec2", - "0x00fc68942d998e5726751526f1bf4b77a8182a32e20ac2fb293811cc3e338256", - "0x004ea852ced5a5303e2850ecea29eeda8ca3046e95e7d66f42b956ddec47cc26", - "0x00c5a5c8fde6fd5774efa71470b99d7b8bf6aadd811eb78677093168e231ae36", - "0x00e3532cfa15a0ce6ed1ec08c3323c5bb6a4802f3acff2e77a7848135f24df41", - "0x00afb4726b784bfb997cf679a3bee79659f4fc8fc605c4714d68194b06f1ac1e", - "0x0054caff26f7b588e1dbdfe6582104a075d380072bd718206134ea357bdb9110", - "0x007a48e19b68fa11833d6a2cbb501ea37119825b3362b624c80c1ae26e24157d", - "0x007b9fd9f6f8f86c37975dad5f8791371ba94763f206230bd321d6a10aac8305", - "0x00fcd5feb16d58ce0b50775db891207fe5a9b9b9bfb405b0c9683ecaad8e209c", - "0x00711079130f74a5f23a2cbae0eb298757e6c85978aa4603b5691b0e070f361b", - "0x0072a8ce460fdbcba16c677ab3d3e97824013532c01404bf06e91a6f5db4eb59", - "0x00ad938606554e5348f9fc00c3593eac84aa73c824346b4125cc1c3094cb2ab2", - "0x000b301ed5b2d9553a98baeaff2ad0b1de1c346ed239d3cb84dd116c50e5e64e", - "0x00f72fa368e9138bcaf74b27001118fffca970d2e185e5eed80d717d5d8a753c", - "0x00014daaebaf1413bf39c9d32a61e3c1396a9e8f9ddc64494bb204895b5e6eec", - "0x004c508a709b0faa7bc69a0af02403604b7230471c994ce892a527b71a29e8d3", - "0x004f354d735262914ca10ae8a50603e59ab230815e85cb1544159e761aef91ad", - "0x00715cb76f115c077d1365c35536cfcbc460b923d82f634086b4770bc07fd4f2", - "0x00b164bc7f60a75d0d1443f1afe3705befb9eb63847a84ff70489df2e343d164", - "0x0030ff41590e88aa1dd86bfd4b3f17f0a6492369aee19eca58215e0a7258a4ff", - "0x0074ba2acf20422ec966ba868360a788aa356681a395c11c2028c378ec8185f7", - "0x00abb87c78aabf1e0dfa69c55f21e884cd9810d8e821192aa8e0d90e2595c166", - "0x000c7876a8ac2a57cbaf7f6865a9f600491ec0224e91ed11c2b6903665ac2af6", - "0x0096d5f99cea7e8cbec4a37163d16034e330bbed73acae88ae9681598929640f", - "0x001fd50573068fa76e331ff1007199ea58a8de00f9eb5da17c2b6f3e78e09e81", - "0x003d2e165839cc3459a9428540f0d78c596fa541798851b8d226435711971475", - "0x0029c28bad8e2243e6c5b7eeec078e27f92b1a6c2fe035e784b9085ed8e21f5a", - "0x0069ebef045b99646fb7922ddbe8a2f867da674579b9e65a19f12d8dfe54b9e9", - "0x005925011698a226f8649d96158ad6dc1b8323f5290b852ecce2cc6cc75d760a", - "0x00045ef572c33c691c80ca5e484013ece4ac073a6b461a2be5bee0fc816a1914", - "0x00dd484dd9ef6aeb2da779ff52a0201d3bfa625b75efbf6fd786e18e86d22ef2", - "0x00c44f9b94ab404614f41cc812b3c94bd2b788235240bc8d68745e2cc7ec6a2a", - "0x001da00bebc6ba14233613c46f20e4084a4615707ac498aa482546aef4c194e3", - "0x00e4bab8f495801352053d42d5018ad81c8adf069f9d6b4f7ab150c39c4f4775", - "0x00cb7e5c93df084f33cdd056b4bd3ae337f3289f4836d9e3e5b7053e62cc26f7", - "0x00ce1f3bcab57298671dddf9c8cf8f9ea2664b79aa23203e620fc579e92bb29d", - "0x00bdd02856c02e15926fd5a193681c8a799ddfebf2bf90f20e7b82e1c639f0c7", - "0x008352d37a58f0da22f78933ec032dcad5fad500ddcaa983d6c51082cbd00057", - "0x00c5bf92534b58b5a55472fd2f19157a40bc5efd5d162e6480254ce6a1dee90b", - "0x0046ca3aedbf8b6f62d427ce2bd396760efe8b73a711dfb6e91082a02d9c3f9a", - "0x00d06207ff4a365447949e2a81aa102315f81e9f6868f2e3315c17764912b6f1", - "0x000ef0f49d7398a8e0866e55d1c111844f38fe21537526f9751f284cb2fb7ecd", - "0x0010d1773fe06d5421f5ba4ed1b871055f1b5e7921442e23fcee0a6625a11246", - "0x003f13381a83e6f1291ce2cf28a3c53af755454e6441978a6c1500dae51426c4", - "0x0051268561f65e0138d1f01434d75adc5eeb225b52f119d5697cca7f04e1a11b", - "0x0074e4a00e1903a84a33884f69c6244796d49b60b3cecb761c41a5e7675bca4c", - "0x00c20d186475a282680fe672fe68c35f0c1de0d534a814d78feec7053cffbb34", - "0x00f01c45c6662bc1c5475729e6a22b06cbe15d114ecc25244c46f6655dc9a4b3", - "0x004a1304cd55d03802c938bef06096acc327679cd908eb69382ffb6d9dc0d48b", - "0x0003dfbd56803cc44081564b5e527ef8e3c373ac950db434273ca37ce32d8822", - "0x00cb9d1e81e429609f5277ac3d18af4c89a522fb6c519bbcc42396cf44e6379e", - "0x00953628cd8ef1838d9b36485c49cf576c8532a21a1ab987efa947f9f14b8e01", - "0x0005717d441c492f994ddb74bbc889c2ac9602c764b67ed388b70a7192da062c", - "0x0085946a069dd6aaf26d87cbe58232dee783a9c8261df068f1c2cf73cdcf6b35", - "0x00d4a07f67788a7f85432de37c89b68598809616298813ca3ceb2aafc1f4b27c", - "0x00404ad70b81f7ddb3e53204fc5a175768f3975dee68fa596f77b54de214c947", - "0x00098c01532d722edce9ea78b9bd0803cf0a5e2190dbcbafc89d0de483302f25", - "0x001f3a230954171add3ca3c183a9c3be1fcb0b0e172d370fa0778ad59d0fce5d", - "0x0063b89bbac9b94c321c4939c24dfa09fdd9299e8b3afc43d9d4e04e63c160e8", - "0x00040eb54efb2f6f51b348d6c3f31aa1c0c9edd6f711bdf4b91cab5121419af5", - "0x00763e36140c740b30087d0df3c6f9ae519bd224e9e468a30116b561164d1297", - "0x00bd6c7f310cd8cb5daeab64c5563146110622c6a9d986a4f447cddda9f6972f", - "0x006d3fd50e8f0827c2e6486c9585650a2b279a863c57104eada51981a4986d9d", - "0x001359d136203da52339b19f95b87606d47a10f39606cae9fb2d4157d4eae71d", - "0x008f795128210f9e3368bda2c6289992be640cfc247642600349b79b71c63978", - "0x0060640bb351d7a2cec518efdcd45abd27085542aa4c3225390068dd7f0ab1f0", - "0x0047910926f5d692f6b3638c93143e1d6d6bd8b735053880aee4aebc893a88dc", - "0x00b7873cf8f0d72ef484ea2b3cd5e07c40fb52da16a9492ec29f415dd29331f8", - "0x002cb79a8b9584b464127fbf28ea07d743f10db2f8ec15ecf009b62fab956b41", - "0x00fba344490ba0f0017f7906efc6c0a6858ec06d82e38bc40da0faae0482cc77", - "0x008d8cacf75e89046dc5de9a35d6c6ce0eae78fc9ede0de7e2251cb510e841d8", - "0x00a76281a5cc2bf204b6f8971fcbb59a6ed03f2baf1f05db4bfacc4c36c96f19", - "0x0074009b5da595313acb562e266663a61952421d3c6e0b6dfe063d03b0f75b24", - "0x0008f2d03e46232a291b4439e236aab0c15eb3756f104a211f3c5abebf089465", - "0x00760212d138e25d0d27d8f99fce1b75aba66261b4d12716ed6c5054b6f2c4ae", - "0x0063174c5d122cd09f6d2c4b172fc0871d1895f46b6ff8cafcd7dc63865748cd", - "0x008cadf3697a4c009c495014f1e48f1a48f3651a31687b925e494e0259ad3c55", - "0x0070f476289e1b095056f4c1205fc4fd6047da4f2b5527b2f5824fa1a9d8d2a2", - "0x0031e380580190280b7af51edd26651b1c2d2f6273e33607139862722ccc99eb", - "0x00ae9c21cb98ec869e50479adff0e5dada0e897190886b4b67a99871af2c4f9e", - "0x0039bb96fee229419885867972188aafce78e837282aeb61574af61525e8838a", - "0x0079e89b9d652220a22aca3e75b12a2481ecbf8a5d9688be8499b22c2327ba6d", - "0x002cbc0747182e77f365cdf151a9abfe5b30e11335d3a3198e3ff12d66502b33", - "0x004679c4b3dc73b0ab34fb56276d04ffb0053d52208f75abf2ad07d0b8e6bf26", - "0x0033fdc7c34223e2d2bea867329ffa8cbb3ce8acdcc0ada0628b93de468f30a8", - "0x0076e8e6a0662c01241a5856b43678abcf71ff9673049d0ee967b1bdb899d137", - "0x009e373e6339c535086cf3cd97a4bc2a72c033fe0f080ea106729c363e1357f1", - "0x0071326616e154dc6a0863e81c6c511ef42325d95b4d0704173869e5a1c8da5e", - "0x00e4f161019bde7671a585826482eb0da38f4a6f650fc95e21ee883f9f910711", - "0x005e905afbd6b3c00d2a85ae47121656dd883fd389863203bab5bc9fa4c49a04", - "0x00924ee341d061021e06c4fad5e00210654aeb043c5b1c1b75ec1c64b166978c", - "0x000b8cbf6367faa43824b9125026f28f229beb56bf69205d3d9934a8b72d981e", - "0x0035e769c355b0a6bfd6cb73b353062adb9eca80336fd05e5c6aeb57d2e913ad", - "0x001634cdf586fd7c10367dc21ebf90f5c8f43429e7b30edb86edc1f7fff2d0ea", - "0x0070743cba70d8fd6071c487e8acd8750942d11e5d7e24fdacb0691176510afb", - "0x00018fc7e26291b217d91868b02f53831e2f3a05db0a31408c26e29e5a3566e4", - "0x0061a67c2af34be6025af4b36dca409a3312f15a6f219176cd20f4a8598f1b77", - "0x002d83f0f4d1d06def909536db4bc7aea0608ef4775697dfbb9537e1e8742bf2", - "0x00cf9d64f151da41c52d6fc3b4d514781d720f83f1410b0a535210377945f245", - "0x009e08d21985e370e804c7bc79a20ce1f0497d94c48ad04afe40df699fd2ebd1", - "0x00f2fb4018aca8bb481b3d8ec41537542f79e568d4f2467dfe71055535ef0efc", - "0x007cdaf4c9e2f4218f59e9c894cbc2663225ffb4ac5caf8c3468c2330f40eef8", - "0x00e05fce7286fdc526eacd77e4979f217cc90261f9e68dce1dd589b1de56974b", - "0x00955131044eb52388f89d1929d8c2262fbdd29298ba1a01a08e6bda827595a0", - "0x0026e798dd2ea91b2a56c0755abf703f932ed664675bc2cf1ae18db99151d961", - "0x00d6c42b9ccbdf777ba383096c4810c001d73340efce01ef9f93bb39df8b2200", - "0x004df62c3014f076376cad43824a2f6792069185c9ca99ff834ba8915872b04e", - "0x002f35ed26cb5fe54f3c70ff5a64a6e361e8cca7b38f6e15f1da28d9ebd180ca", - "0x005432e9d9d2ccff775cf1de975e644e7e72cf087e630d1a5e89cee8ff042744", - "0x000e98fb6ab4ba43a6d01d27a0e9172058da11b779faef366cee4ccdd3a12fb9", - "0x0024889e1ef4b654c16dc29e65c8e98da6f4970a5fe580e457bc2ae2c6e67366", - "0x00381e02386e8f26b00ba6fb89dc00d67bcb6cd956c9dcf907e89f12df73fba6", - "0x00c85c8737178dcf07a57a95621912551ced1364f0dae5e11186749901a0630b", - "0x00a94406a9b799c776350c1eb31892a0c777769f59c3126e5815e4aa8cfa3aae", - "0x00a7aef17886dd0ae9b63673e1ff83620b864a8a722dba9cb8f86a16bbce7441", - "0x001ffb6219754e77e14dd6033176cbd7e231851b5cece4f57b437fdc5616898c", - "0x00049b5aa27d5d716726262f4947961781be5c19bc4f68f4993b5d3b232abce9", - "0x00e1ee64fdc6064d8d1cd29aba48f9dcb9686bb51fb1166c1c3f748dc40b8c29", - "0x0088ea490000d0cdf5e0c2b0f501783a5cc8dfb79fa53351e5dc18466390776e", - "0x00e09923512007bfd546120b5704d31c9624aa66cabb7f3684bba114ff3a3db4", - "0x0059d0ca3db5d12f226e0f8454ecaab8d23a21a226df69ce71ba9913c85fb5e7", - "0x00a264da6d4c91b8e4bdae96a2a01861244dddff24c388074cfc5bc3a815e59c", - "0x0054c825897e51e65c1cbac3997c57f1f7417e5c359cb05469efed0610a6938e", - "0x00a9002ae895159b295aad78555b77bbf15424a83da081e6bc9c3cf7c6c4fdda", - "0x0042d3a29312e6f22a2f4f79e744044fd5f67381c99f79f584d782704786493a", - "0x00e195d362801f232915e5aa6e25ca95f620413eed935480ea3ab9990c8dd56e", - "0x009304af1ab0a56639334746e427b084ad57ccf3ae6c2b620f853815ed1ece06", - "0x0011cf398b03b8e37eb46f025b352572d193727cf562f2501b4dbbdd776c8e81", - "0x00d4c2e97437c4ae53bfede0eea11c74becd75eb5b2c09cbed864dad7e5bbae2", - "0x000b7192c0e1cde756fb8c950c25d930427bbb4e5657df87cfa6b92c0e836aff", - "0x000051b66a9e03e7dffd3fd2ef382b239c1fbdfe1b0a0b591d6c000ad17a2a9e", - "0x00cbf5b1a32888fd8fe79cd6b7f8d5acd41fcc32f34841a176579e2b4e191e39", - "0x00f500dd8ca2d1bf1abb659670ab96559bd00b7c4dd4b1f03fed08923d6cbb96", - "0x00d5a20b1e0cacff3ceaf382c2d2d25b2b0acd16363cffabab5bddfe9af402af", - "0x00b3c3e40e4a90e536114c27f502694ac9b3d8ac7d5114d79ad0fcca69b0f8de", - "0x00ed780df4b480c4789044113a2def73981e4d8862296b2c0a8fdebbd43a06df", - "0x00a2ce51a8a204574a0912adbff0c0aabca554079099f5bd59390a6452d90b50", - "0x002de00865eb8e8cc0a513b08274402e38b3c44871d2358bc573bdffe6b339de", - "0x008b5fc891818ec24241202ad420fe00353cb75dcc06d1465a22a8f4ed985354", - "0x00c6198b880ea757c43ac15bb0c5ed28a125eb61028dfc41d99822fef0f2c220", - "0x0054636d84e071313aca03dc41a41f15faf4994f58272fdfb39c4d58ce0992f8", - "0x0063dcfbf18aad42319b6073c39352da48fe832b0b79a008a04211bdb258aa65", - "0x00bd1bb44d700f461895810b866bd09ef0700552ea0a2563d370ffef3d0310ba", - "0x00aaece7bb1852106ac9f191af717b4f1352ee832c7ac29e94dc9c18b3bf29c2", - "0x003ff0e27d5d6eb6a0c1c009cdf297484c4a346557ee21fc898b0fbf7f22950a", - "0x00a96cea9b19b176072011c502fd2ee4846c7ba585391dd97ee1729cc9dfdf91", - "0x00e68472665889bde45aeaaf44531ed89b38df448cc3d0f6a21af1f1fec83527", - "0x001f921647c38420dbc71abe803a3d2817aa7358d6b11850a6bef41fbf073c60", - "0x00f682974a90e2a62cd615c475f18ba131a3fca6fb441c9cd25d93a5f5d515c7", - "0x0089f5f69f0e68ff8cfd1ac9333f8d52da6e0347931b06104de653ab3e716f0c", - "0x00a990903212fc4936c23d4eba11a8d39bed2238710532fbe36d251579bdcf3a", - "0x0050741d462c5dd2f6e04bfc5cdd7228f5efce2d92887c0834c99ae9ef691f6a", - "0x00663bf610ced0202f69193fb50e888f3cf1e8e43c7e5b46b65ea7ed2b97124a", - "0x00eeb67e2ab222c4a99150540f3137b14d9b1076d82505877d63e4c3a37944af", - "0x00191c2fd8780eeac16410d8f6a77e3e73d63454b1daca1a2bd89793d05971be", - "0x004a7ebd72c91fe3e7682ef9e1f526a837b69a0af09481418d6793aee0f4f31a", - "0x0079220b5cc40ab594cef22eb6e8f2e81b311beb59f52466b186333835657892", - "0x00b0418b52e53021215295ac287a941b240f6f740735d019dc1b3970336a24a7", - "0x00db72dcd3b67d1cf29cdce307d3a1e56aef8b8df14b219d1fa4c9141d2ec68e", - "0x0058b4dc52195a79ed3caf411a0e3c3824313b925fa7ad0248fc9fe0833c280f", - "0x00c0520ddb748b7b54af92b15f9a63de2be68859d086c122e6fbf0bc715d1034", - "0x00704d0084688e84f20f1a10dcea05dbaa2ea89bab53b6d8a08da638231932a4", - "0x007a1362de72f3c6e89ff5236951d8ef74791739a8915eea989d16ecf250fbcd", - "0x00d44dd5ef1bb8f62b076bbdff7d2b2dde4db5913c9a91ff9340fe56ea9f0a35", - "0x00720efa192e620815ac9957cc987d40cd82d71d1376d6fd9b8a1a7eb1ad6a89", - "0x00794d82129231717a06f693786a52b2773482644950c19be8bb89833def5eb2", - "0x0011a1e93d993ce33db704819e826455932aacaf9a1aa6ac2d7fa9442cb5ff7a", - "0x001c7b0fc302b084becdd3aa11755d8d09b44e9aeed6daafa0b82a2716b03b98", - "0x0023a40e1986c6e4cec34c2102424c08bf2ac3a3a3c10a33be9b130dab9b0a96", - "0x00309290f528ef3c8c70e0d1942e41a04df07d36ee276f201c1d8d674bde1a06", - "0x0045cb2c313e13f3b9fb37da1ed10ba871b198e1a7feed2082b5adc3b4d15917", - "0x00e935c7bf88df6333cd2b92da79aded8b623120a3d3ad3fdfd0cd0739d75ee7", - "0x0025056de6ca7a2401fc666a891d3d9a73d970a0dcc84c611fcf67e97412b9f0", - "0x00fb5d8348ed1fc6b6f26c91e2953aebb6ab072028400268d3deaf0a762a340f", - "0x00c90391a43297774463c0151c818e7b4b5d0a9c4855b1c160bf170095456a2a", - "0x00778077119bc4091a707928611d94b3fba4fa314b6ed4918ccf1ac29dc23af6", - "0x00b34c78097532351a4dceb60343253ae0af510cec04c4bdb274733f4a7e1ed9", - "0x0008e1fdb055042f0fe487e20cc46effd29a3eb4cdb65346ab6d4c3bbf400ca8", - "0x0012a71b0154238e470168ffa1cb459252d1a3a7bc34f5ab9d0a2a89b0ab9e74", - "0x005a37f901cce21d4d40eb4efc9ccdfb3877aa883859d80b75a53a35147e917a", - "0x00c86642caba6d3614597e7b33f2f9d619d0c27ebe331282986285015a789af3", - "0x0049a49f5a0eba6371bae46c1235c87748384a30317a10c1123223c0ad307a51", - "0x008a5ae7bc68b66366c6b2ae9d97c3b0ef22c39c18c0b1eaf22f5ce3517a442e", - "0x007eba6064ac257f6aa5f1e8b7d76d4f7cbc5b7ee008b5e0df66de11cf5f2892", - "0x00ec5894662d73e472e95a10c01c82c06a7b370cccaa0bb411a65926a9e7787e", - "0x00ae553ee2fa756c3eba639129de9366f92b47a24bc3c686c88e7b11073e6a08", - "0x00c6eaa5c3389212f46054157e7f888ea2703940224e97ed5222585838439d5c", - "0x0053f840916cbe9c80934a920fa41e532c694c6cb597a0944933a9e2f8b75c57", - "0x000401cfd7cdfbcb5142c55694046b6d5b6448e0617454ebbf97dc21c4b4db55", - "0x00e08258d7ea7f1c86e69900f224698ac22661f03d810fb5e581f61e32e9d0cf", - "0x002d807093f1c1b3694100aa1a60c9c7cb53b0f054be123d59bce28ebd788983", - "0x005d40bc378654540bcea5a087526cbea6393f321d9c6dcbcd210e22f8fef4b1", - "0x00d8d9118a71186d1f1a0736050a80bc31ef3959fe83f1c25d23f61c08292c7f", - "0x0006f218ff94094c14d15fd27b11c059ecc8f6ae084086ccb94327418ad0d19c", - "0x00918f6b2a7a03f9befec5ae5751cdf40a33a21a4b0fa8ad68b95a1f4724ead9", - "0x00afc2a8e2042fb11ee32b35aba4d7c3e651b9b28cc93bb8aee7ad9255578081", - "0x009acb2fa1c91cdd8d8139525199a6d98bf72dd5ecfac8a6c3f5aaf7937c16df", - "0x00da692e54392e814389a6d360fbff87a93eb51e982997099366adcff7c52239", - "0x00b84215a8bc51ae5c1999f5f65786b23f0bcf16fa6aec2f7ceedf066509e6fe", - "0x003fb203cba55e6642aa0f85e9cd91b47f3c8281871dae026416a018be33d8a8", - "0x0078bc87f6034746ad907cb02fe6cfffc5ccf95ab216880eca1a0612b9a685d6", - "0x00f3eb0e71884acf4b9caeae7aeefa9beeb6ac4ab89a778a24429e16d5868e85", - "0x00f3c4d03e24077d72574d2aa38aaa1b8729e8ac801919c40f16e7c355f42ea4", - "0x00774851ec5b3653d476940b70d92f01312c31da17cda82db6154e75e12ca920", - "0x0076ed1b8dfd7a5c5544e6ef4afbe67b0c128d737a588eaa1c3bbe72dcec9695", - "0x008669b50ccc17229b4148c6746f3f6539de7a42ec8e982e9948b1c60072d812", - "0x00216b97071e949264293c62318c4ea7fc43ff27a7757ffad04aef56d2d7d6c9", - "0x00488a20abb8e2f3fc9dd3a622a7c4c5faafb993250ece021bc2297295d16821", - "0x007b53bb903bc645dc47f6d5bb789734d66eae1209cde32203eae7e35c798479", - "0x001fd9c578908055de3f054e92db3b49cbb11481ebfd4cb64ac364ba538bb0ab", - "0x0062319e38bfd7c079e7a0daf754f95561f8e827ebff9e66be62b005103ac989", - "0x00c411dbead7f523849fa5e529e8f231443a53f5b8cffdf45fedbd5c49b4bfdb", - "0x00b4c5035f5264a640a2085e2700b414ebda70bc44c21ea6fd67e40791451c41", - "0x001d5d8b3f7b1492ec9edb84fecd31815c474540b2778f339013781796c44ed6", - "0x0061152ab34f6d280ec70e3c86c448f5580d2a166cbc738808dcbbb43c41ec91", - "0x008484a4b309cb79e68e09c90f360933aa2e6d1d458924e931cdb40c440595c4", - "0x005cfaa58bd1140544e85792e9e6be5652ee571719753a63a63914f45d5016cc", - "0x00876dbcce0b99c4148c604d752e33dda3f3fab8815864727458c1488d73a4ec", - "0x009533879b281b4d70d124a3c9fc26b75f39398f851518a8657415436c5e95fe", - "0x0091956b5eaf559615b04ae16aec9f4c0219532e78055d1d58d450422e3480a4", - "0x0097faa082fee60b16a6b4c27abf0e6b20fe3ab213856063ef648501031f15c4", - "0x001e37e090a400f1cf365080890fccc75de03bb432d639e41d057a7f093cbb5e", - "0x009fa289bc073988eb286a228dd6381a2a5473bb2974e47c9307dac4c9602509", - "0x0084715f2f31ff62e87666d17d581719095490ab1abeb9217f38303ea9cfb755", - "0x00cdb2ae197006c23ead33d0748589b04726305b76fbdb8cd3833e036002ed10", - "0x00d47eef62edef7b293256787e1af16b1269f4e16465eac635042f4f7b81a860", - "0x001bd6b40c3c006a7450722976129ca110cd42af4cc657ffe2a75b0903bfa6b0", - "0x006eba120a55afcf11bc421fe3f488a85d862707e984eeaeecbf4b4675cf4851", - "0x00e5ca6a9b989d973b60732e8fdd881d536e4cc6dd7904d9a8274a20843cde94", - "0x00e1a126e4d7dbba98db77b384f57006e1c0d7ee682ee23ac99ff47903440f4b", - "0x002f26ce08c6ca9ace7709f7ced6f8b460d468afd3bc0489e810b4df7d498afc", - "0x00406741c5a968497f7d763974be369dde4decede693f3c8f5b976d6ce7df39b", - "0x0057c04eb3d28483de29afa026627d089962bc83194f5e03e4e20aeca0440f1b", - "0x00f07dc0d894e3321b68b8934cd01e9d3b15979534701f0082d279a88a610ade", - "0x00dd9a99e4305b2a907b15289e00a8e1eeaa17825b6eb8790e28e8ea1f2d4133", - "0x008c0d4c47d1f294f4b3de580721262a7812b13b8a382bfa10f5b1f4705fc8c9", - "0x007ab8a50f71ec4d81b0e9643af8d3720fc0005753deb1bdabd2e1d597244395", - "0x00cc29eb6dcdd5da68dc4d21b287939b9163e043ef74797276dee4320d37641c", - "0x003a2f70c12d933a91d6e895ff759267e6d306fcf0a9e3e3f3ac19697c556f44", - "0x003e166d7e722d8418975c2ce8c587d378b6306243df797088ed58031d0aeef3", - "0x0022174cfbb0c79eb7a1d3409279857f9c0500f315137b1d7eeb44f6d0092970", - "0x000adc29f15905bdad869d9ee2fc6f3fbc7f7782779b2ee55333098430574df5", - "0x00d99f43777e25a1e51cf808d4763a71ed8ad04c8557193829ec79ed5220245d", - "0x002b96774776008476bd5d282041c22e6a1a07ba80b4652ea30d35d4092baec6", - "0x001f1fca73c161ca65e358623a49a4cfd31a9848e55eb0e8bfb7c2e9f3f6187f", - "0x004a54e3526048f8ad8395f44e7f208d44e9542d6f9125c6bc0cf8c4976f93c1", - "0x004255d39e4a0049a77c1a398b94a9069858432eaa37996dfddb5a001fcd20bc", - "0x009d322699660a0940174d8073cfe89a8300717cb2b1fa3a93fbb94027ba9031", - "0x00d77cc11b18a5e17ccf38c163f96926a97112f11f3b217708c23f1a31dafe64", - "0x0077050e86b5727d1b62288c2261baceae1ac8c096d96194865ab5c7ee0125e3", - "0x00de3a5436a6700bf48a30508339e0be1a4e1e5a9c096f9954b9aaa92b90d35e", - "0x002265215e261695864c3336f3719b90f2823c43cbbaee9b610fac2c5ecbecc5", - "0x0078af3e072dd829d7fcfc508eb82b1f4cd48db63f8290f34ff84d6ff12e764d", - "0x005329325b044b857d884bc060a3f78da0abd184f00e24da66093d20935c88cc", - "0x00cbcfb21c30c63e1bc3aa2233ddebf415418c8a7cea030ac92918b2af853a71", - "0x006deab9fc70444b5d2571631afd888fd0f52cf7cda71c0f6f878ce405ceacce", - "0x001a9f941b608b6254881f79f365eea0df36917cfb82f9c1888f4c05ab48df9f", - "0x0076729ce6e3012dba8419bf8898918f6d54e876afaf702d1cfc1d40865940c7", - "0x00c8f82dd11684a66f76a6cd96e7e443cb83f4963a7c73f66df162bc764c035c", - "0x000fd42b36ae8668148e2964986f4ade0822a8f1a85b4697dea00d7c221e38bd", - "0x00be7f10ca65452108892486786c949c5fc41e41d914c0888af4dd9acc8acfef", - "0x004b50b464c31c04656c32d61185ebdcfdeb60e316844d88341f0658fb272bd8", - "0x0073258abdd0ac80582e44c368d8d111c047438dbf14384a1ace73af33a3aeb4", - "0x00696acf4555d294472db6a2cba01189617664fce63080ec166841a95eaffdd4", - "0x0031b06b8eb82ac1ebb040284ec93d425bbc8a20c487e6446c27238f0f81ef9a", - "0x00a44aad0a9cbb4b0d5271724e56ddd5b0bbcea6a6909c45fc6f4ef90aca6cae", - "0x00833e6f74fdea02626dd7f2cba2213f851addfece71a6ef5181665293dbdf10", - "0x00174d53d1e470c1f829f120daeb3b6ee18061a099e0ba4b4ccf51cf19582c04", - "0x007d5351aabc86e1531c9d7dca9255047a37170577c757604ceb404a1848ee90", - "0x006ef79be8d2792a8ad3b32c1876ef0943b41df1f3a995d31dcca97f44d84479", - "0x0028ed44ed14a34039c9c5c55a4b1130466b59bba85963d298779fec4892c73a", - "0x0057f88b5064dafd5b2208dbe70f6de86382dff65cdb8b60b7a63b8c75f04220", - "0x002283d7722b8a8008416c18c0f3297cdd29a747ce75b67a614240fba9216ef8", - "0x001684e61d84b83899a6d79568e7a56689e3215aa592a3e3616fffe5585bd48d", - "0x001c6741bbf4b71828761a67ec9a44f1572f3dff26e9d3068611157efcc5b08c", - "0x00f7f4d0ef8ffdb2734c9dce4a80fddb7865732786fd6bc6a0cb062ee2d6c2fd", - "0x0087ae291757aa63e5983f6857787f0d4145ada4ab8460391adca64b6b4524f9", - "0x005a5ab2c57b17ced8855f72da1e7de6833509afdb3a229c5a9b7b7936be9a9b", - "0x00487fcc9e046f19c8dee39d45792552026f40ffe97cf44f42c960a8c27cc762", - "0x00a4dd545751d2ee420a14f3dfda69479008423fdc4efcfb1a3d99f49afc5bbb", - "0x005910775176cba8e1ccec18174edc3df3faf844d13f619f8a7079f96d1efc2b", - "0x00de4ff8e6e5ef707b5a21175ce29b9e4ffbd671b9d2aa378273ac22722a9e6c", - "0x005bd5dace59aa72c97625b06266d25f78a29c3093623ceb666be8830bed1475", - "0x00b119a746b4079cbaad18a60dbe355991546d1c1b57744736f35fe9a902e4ed", - "0x005b3560b7e22070e2d0862f07ed1d63ab1d503ada031fcd976f1ff23d1ee342", - "0x008aab56cac6ccaa5c5a89a0147f12787f54b6767e76c42d9c80f5c43313db90", - "0x008edc02a1cc7f8c75d38f642ce44f82da15729d29c964e6097eb509e2471627", - "0x00eeec9808c505f16cd047af88d0b667b25e4ed6b1ac28a1458efe2a98e55044", - "0x00257c33d875ad602ca764f48fb7efe725d8b4b5a8b292dfa2e1641a940c461c", - "0x005dd694b2b6d79e0758f0a8b39d839573077bd541536be34d879b7235ec97d2", - "0x008aa2a80f501335e52db4705a43d8908251aa0607a1fc9d8a5178abb56d74f7", - "0x0079fb13757a1ae675d1d14bbda094aee3b3f0a90b38f0690040c15e176bedb8", - "0x0004dfa68aa8fb6d560b19bea503e553600262650a5f1fa1d14c8c2373769cd1", - "0x00fc874a40c1a6152712806b2c70d5af4e7db9edcc4c799883eae59279ce5ca6", - "0x006ad062d18ecf24f902a5dccf3c3d632d134b44f53168c6d1dc3d16d8e4bfe9", - "0x006cbfb39eb968a1a7098dad9f053dcc29663b4f8228e0ff295b66569765362e", - "0x002a906e4b64bcedd9dfcc2e0a43990347d85f790a02e38ed6c7dcc575da5f52", - "0x00342fc15da08f5ce909b74da4499a42a276e3ad5bf6a1ba5147d6a1a8e26ec7", - "0x00388d3b435f57cab15c988b65ee56a10ae98766a451932a91729652a44e9bf4", - "0x00c02dcb5ebc5dac37bfb3c81772a4bb8b322d07a95f5d55966709779bfbb8ea", - "0x009babde64dccbe35be265ee57fcf61a2d332e8353ab781c802a551788dda8b9", - "0x0073dc015b1a81040c94c89aa5c6ad1962f50493fdc589df5fabeba05bd172c9", - "0x0057510d23141cf25063af5de1fc81f6f5170dfef4ae3b3614cfc4da846af08c", - "0x00a85a649ce8b18dc8ee63262237880b3ec3f2ca20cdc11251ea064323ab1fe9", - "0x00bd96c13ef8aeb35deb3d063f0231f92ec4dadc87288216e5eeef7516a58432", - "0x000d9f7e4ad0653c35ffe9b225ae1aef1a95d7f6978a7df6f357c6026068a3b7", - "0x00da3b97cf67274d586981892a14c1ec8e84e58543179beeaba9777c6343d2f3", - "0x000216a045a226a9a7013a21508ddff121f0a1a49d0075e66ca18f36ce2df67c", - "0x00d15b4379a9eb0af635ff42e3555658e43c01eff54a5365fda47eb3fbab678a", - "0x00751d1fa7cbf84dc23996b96cb49beafd82e6419026c4daafa13fc09f1d161e", - "0x00c00d80c58d33c2ceb9c95bd150c4c17396c082f39d165a1b8fed7ef41bbf9f", - "0x003b9a9228623665b16a3e9f0fca03c762329b19e56b83e0d1c1d325756608e7", - "0x006b5114200b9233d3c7796fb8fd1a0548a15ee3af63061c0a65ec4f10a06c5a", - "0x00d7b546f6108c7f75febb0440129ea88554c8083009387f204b9bba5ad7a44f", - "0x00eb3ad7ca0b380ec8b4438d3b22d43ef49d9357eca7a85336b91d663bcf16ed", - "0x003519903a190fbd947bbb49699c4ad77fed9a0d8fa50a3d6d4b8222f230fddb", - "0x0038f743062ca305703f0221c878201623fb2b3d33cee912f042251e2a057a2c", - "0x00f0e1b7f12d0e8002cbf6fa23a6bdda9929ff3be8f12219a8cc52253ffd8998", - "0x006a85115c8cfda21015ef705ed0fa530a350a7389d8f092903214cea19a5096", - "0x001815c89eaa1cce30f79e7250c04979c7b8e6801bfce052ac749b2297be3246", - "0x00a387085c326a2c0112a074c41a1d0b29097b52d3535cc9c7a75666c966914b", - "0x0098a6c8a86dc3c2afc62b64863a5ea18d659b674c5f1b070affb59a5b59771d", - "0x006460d5b2d6f4dfd8cb2d71d5ff573f1a57f8e4fb025bf2a048cd79cc8285c7", - "0x00b4451463f01e9787f0b43d1124c47701ec461c5364788e4718097f4b6327b3", - "0x0023322f241d816c7649f2f374629cb279b36e11796ffc6d9baa7f571ee4be0a", - "0x003938d73892bfd7c09463e1f3c12d579f141e51117423b5e79bbd928c975b64", - "0x00ceba341a9eec4ebca8108f71f76910b7eddb9b09e8843cfce2e996c20537cc", - "0x00720e1d53a8794df92f1eb9480afbf0988ac8371c458ef7f049c69d66d5eefe", - "0x003121d50514782a958963b8e41ece113d57de8b050ff4e03e2b85222225ab98", - "0x001495bf37d99f5badb453a7f18e14a1e6a07b635f432f520e4e11f26cb16af8", - "0x0020520ca4b3f1629d62eae689b42e4a2b223352c7bb24d5e758a58fbfdc771c", - "0x00fb5763d8401c449badde26ba05456ab9429c7942fb2e80adfe31e10e875561", - "0x00044b8f2e51c98a85d4eb2d97e2eb0d8d1e6e57edb1c09e71ee261ce868919e", - "0x0016ddac68fd4b45e6c0ff2006155a9ce07eff7395f8728101ac209053084325", - "0x007b1304c197012fbe265942f77fbd0bf74600fa1ac038b1761c95aad65348f0", - "0x0097ca97b5563d7282ff1cb979fe67823e617f7c61d99dc45c42e23e3598387d", - "0x00f70594539bf8de828a0ff1fcd8cc54acf571177a81ac8b94bdaeb5bc4201a5", - "0x007cdf193cd51904ce85c59afab32285839182f30b4d05201005e73c15d67d26", - "0x009f8e452a2a049b8126e1f82c23f97a84b16ae308acb86b3fe62ab939106060", - "0x0089a1043124d55c0b568d1ef1edc1ce8f6e5d2273a130a6e297d008396beb87", - "0x003800d5933ce1102cb9e13ed1b0dc236cd4b1c29cae0cd114609df0b7d01d58", - "0x003978fe52ccd3392d7e840cfd226d5105292ea38ba166bd07af1c74dd799054", - "0x00f8889b9fa40f80e4d34691b0f6288b8b72e96307f43d9b7a96aa1e6b35a265", - "0x00e14dbc15b9758c9cd8fb115bef8237915edb729a3946774635fde5a8cc177a", - "0x00c65933a6205be15dcaf7fb86439ccc39406521c568a3fd62ae236e3721c821", - "0x006a9a60c41836811cdd13342b1d7095e6d7f7c005f670f7c53cb20c606022d0", - "0x00373ef745939d7501779a49a17fbcaba491e27218ccba467b60848ddfe4c636", - "0x004247d4842580a8daf8b979e63d39454b6a2074bde50ff30ef4ec6ce8eeabd3", - "0x005f53506a6e99664d8fe44193e34bc04360c5a692adb7cbf13d163aa72981a8", - "0x00ff31f244385fcf348cebd0da093fc76febd9792828afd1ce2f377f14118794", - "0x003ec964adbc2dfc4808f8d7a6954254cac3fcac96344959f1f44be1460ea022", - "0x00c2156428254d116c94f5dce8c2fca71173734f0797113a79f064435da4bd1e", - "0x0000012c6690bbd0c0b400a4e1a7108f9fb503805a7f5c6c8d6a9b83cfea47c5", - "0x00c8808a9164ed4d85a4ab383e8dd31777b1a4bf50664b5acd12e813390da746", - "0x002760565f7c1a510e13a0f213c756a4a3549c845f549c9958315018fa94c1d4", - "0x00ff364875e1c5c58246614283403f909c36bba8e4ec447f2058f248afd3addd", - "0x0037eff9f66d4993c98a22267786673de47fb4d79958635af9a1f03b0d03705a", - "0x00dc06da1d2fafc608039e9eea7f6c209f504a0a413ea0b3ca9eb841e9859b67", - "0x00c1e43cbe6fb601746f8cf2df049376ce61fb6807531d06b311e1be8eaf4244", - "0x0049b503df10dba5e7e24c68569e7cdc694556d95417517f3d615c250e914b7b", - "0x00c137fdd298f76e4497d582eb8bd926da986a520a5bdb0a6cb0d1b32f13cead", - "0x002d1047ee1edf90c33cc947292d58b4b105f4fea78431742faeace73d029bd8", - "0x00b0c6b703574da825c243e0cb7ecfdc3c87d2d7e4a8ff7bc4f8b86c9bfa2e60", - "0x00a60d5c9b4062f472cdc495eb7e4cc0842b0753406e7928e2d7c2abbd42f265", - "0x006055ff25a061b4079c1736af89a07a882c9e1f98d58526e295ffc87eec0f43", - "0x00959497440aa8bf2944f432cb93730f9b0e6eb89b7dc480c2fddd1973f1dfcd", - "0x003a5b495e06bb2b336a5f2425e1cc91547e771817ef3fe8cc5585ae3aa40a40", - "0x007620ccbfb711196ee34c215ed72e5679f002a1c15ba3ef4a3cea9634b66961", - "0x005c957123cb8de3acc9ea01e1af65d983974145807e34f7d7cec9986d5ef36f", - "0x00599f73b81195e21c16ea6a622089d6455e9f2613560f28f70b78e75a80c4c0", - "0x0083ac57c476c83c760975def37205dac3a034ad5e1107b68ee383d97fb17343", - "0x00879a2e45d928fe2573068f55c4d0c16d449298c09f5f95407e2b9cfcf8cc75", - "0x00ce659b8fac66489e032d66be77f635b2dc0df8cb25143d3daaf50148baede1", - "0x006c070713a300cb2e8adaebfa145150ed6c57959988d4694fd688bc780a561e", - "0x00edc9bc820ed5461c532aed1ad0729f71191be9f1769e019ac113387f036f85", - "0x00af2f969bf19e69993358300a61c6fdfd500eb3f2191ec204314f647177eb24", - "0x00e4b5ce9e4c411261e668ae99964601b2fd6d8aa62050d80a1fce715bce3977", - "0x0004e1666d88ee32b7c3ab6742a1a36f8397e271bbc081f33d312523cb74c46d", - "0x0096b0473eaf1cd1eb0e699496dd2cd102b95e66ac27a330132c1dd5da03c94b", - "0x007a8a922733a684cd7765143340b59ccf639e0db1d58e0dcaceb379e58052d5", - "0x008d02fcf62ec16ef5a55aa668ddeedbe4c07271612c49b214dc89ce94e0fd29", - "0x00c4ba668910ff9e9c9080082163deb48165828aafbf9d6750c6029d8af5bfdf", - "0x00c91b064db5fe8a3950e38e8c33f3afd342c64b943782428d49f8e5ebcf44e5", - "0x008f568294e4c71c4b4de1eb70df14c4818c6cff5ae49bb4d25fe9964a7709bc", - "0x001cea5a490075de761c3b1d293423ad54c9e4a0711b16d427a4b02187082d00", - "0x0001ae6d2fb65e408173f0bbb4c16b4d909584a64184643f89755799957d1b06", - "0x00c7761f9de35a5ca7b2f1c403fd97bfc40c60c76f3f3d65cefe54f9851fff39", - "0x00a27fe5c7eb7856baf11032e2503906c6cda68acf6d0a0b93884850bcceaad8", - "0x0029a20076a5ac1195d91d06a52755f89650334e6e196e3fcca0ac7be99a0868", - "0x0051cc6b1e88d4745c18a8042a3c8a3c5bc6692b8aece250917aca2b63db2b00", - "0x00e33d89b047dcc4843d0c8493070f70663bc0f76fb6a82fd8e32f92ca0b43aa", - "0x005127222c18278bc638db88667313a758010e8c2fb389b9255f4aa2a8e66912", - "0x0052bf25c2c9f967576eb78b208385c59553d95714935413b3fdc0cd55aee012", - "0x0069a325357216fced86a925dd2f4601378a89dc0137be38e12f6812457d5158", - "0x0065a1cfdf40ffb6b34334655c2ba2b3d70a580a1eed071ae62f5e53e9cc4c0c", - "0x0007341837c138f100dc29d8b02ff1613c6d9c572e52c83e2f1f0a05557b6479", - "0x00355116f7a365fa129cfd55026e39a92cc47cc49e7fcb249168ca85fe342307", - "0x00009cc8aef87a6bb7dbb525ae08c6e108713d49534e6c48c2b92b2f65024136", - "0x008ca545643446a8f648a3bd1c3ea8a035c9470cfc589949116f127036ed7a43", - "0x002237fa5b34dfe158fca9a01d7c2cb99538c5d4603babd0d62af1dcc6ad512d", - "0x006e1639e559d10f4c8f9c101e2468aac484f93fbeed509a2e356937e9589602", - "0x00f75f0b7a22df417b70657e191aea4c10704849ca332397ff3d7d9f255a8495", - "0x0049d7293a9c157c2f87da0e5d7d97655c2f611eef8a250e21d54229a5946133", - "0x00ca96094ea61ca9e2f21dd0b9aa7f56c3e49dda8be47fb517601d11855f890c", - "0x00e7b70f327def643016f04ce7fa17b9e32741cdd29b8175b2a5f8c0ac7bde4a", - "0x006c6f729d96c2eda2e3e84be5bc8d740c2eb751c5d748fe6a7099bf9d14776d", - "0x0010310091cc328d63010ad7c99e30ce021646788a8dc9562293c003c34b4589", - "0x002ada1cd4046fc761c76bb75b37bb9c902a86943046a2e15d4232d147bed697", - "0x002a05d1b0688cb7c23e895fa3a2f5c1bcdee9133bbcbea64ea399be2621c19f", - "0x004ac2d06bd7b3dd346579ea0ab905524aa3a64b3da872b0788d681fdabac9a0", - "0x00c2f97720ddc98ef14a14623cccf59d962655fbdc10613145534299b3c7bd86", - "0x009427f7381a09d2c87b6b48df6e23f6cc1807d133ad9d4c712852b6fe0bc4c6", - "0x0018a552fa4d79994cb7a015914f76d30d074ef1eb93aa37a555287be54adcbf", - "0x00751e7637abece726001d0e1e2107467cd631b4aa99e1261fbed47c09e82a9f", - "0x001b60363991e4e1d3b25a4878b143559ddcadb971767bb6d8c8b6caca79df63", - "0x005e6dcfd6a353d763ca149ccf8f72638adb0c7badfb9dc61f5e41e29d88dfd9", - "0x007122d42eaa3791792dcf784bc71398a0eb7696e109b6ae0957f55ae68b8e63", - "0x002124e4c7ac3bd495358a2c7ae59d84d1543917e5e982ceec8d98837bb0ff9a", - "0x001c5feea35dc84fb35431a8dec4e9554772c8967b51266515b07f6d0852669b", - "0x005ee4cd89b782ef416dfa56151f7c7b2933bb52e34ec780030d9bf348f34f2c", - "0x005d914e0728a731eabfd56fe94e3aa9d8d9c98e4f1789093019318241027099", - "0x00635c44c8dd5378a25ece3bd2c0b1e156afcdcc913c007f566daf40d7622576", - "0x00854ba32e1264ff4a15ed02d132b4e996c1268af3f540113c022d9015aa2334", - "0x002acbeae2bc55dd804bbacce2111c43c9e1865ab6a231c228165310b00dbdbd", - "0x0044de4964f00dfa8d8c03193c02a50f47730e58c7fc6bb578998b43370531a4", - "0x002e717646666e72e90244b0ccf92481ee705cda4beea1e322c0bd044680c048", - "0x00cf3246a46e3642f6b127bccd61b9bbc69957fa8031d34999913d3c39382766", - "0x004c6a6eb63d75fcd8d9245cdd20e4f74d6063f59858117de345e725eb554f05", - "0x0082487730cdbfa048d560b0e20d70509fe47845a914dcfb124d09593baa44ca", - "0x0082179243770660fd2d75a2617b25c41a1a561f8a9b878e6fd6c8fb40a48cb6", - "0x0020b0c24941d1fa426e359d40ffefc6bcb8eed70c4eeaf62e21fd8f2684541d", - "0x003b8b56fe8b836195f0426c9e146082523144070fa495f80609d29df3982df4", - "0x00170350801e1d35d499506ed8d6a5a0956e43ede4a62f84f68729622bcf6e9b", - "0x00b5f8764f25ea582a43d573cfbd42398aaba12c402e939762ae6e8ac04b56b9", - "0x003b89c1b653d198bed6efb33a9be22e1c9474846a1ea74289efced5a993ce0c", - "0x00fd61f652e01961faf66411167bc4fc3a8dd4e2bec2c3c09ad347a7b73032c8", - "0x008b3c37c169b122005bf78c179311d30d4f9030e5fb7483f06d16b9f09d3721", - "0x00c68657eb45c2f657bf148724c0c6deddd2bb41000f6265efb5eca897bd607a", - "0x0042e9011ad06d4bd4176bbacf53fe563fef6720f272d02c54beeab0cbcb9f74", - "0x0041b0a470aef674541df88c72397ed7d6defe4ae7ebdd4ed2fe5ad33af5df5a", - "0x0018d747f883b9fe82cd7ee2d6596a009ea9dd121985fff44d9c03304a040218", - "0x00c86c98dda5a588709d729a9e9d9b8c17a7a18f71bc4aa3c270834c69d6df1f", - "0x00c5b1779189baf60a58848590f4080589ce37c9c8901791cf7b1f0637e92c9a", - "0x00464d57187e6f8b927d584fda050822d0e853c4c27feeb9d6ffb7890689c0fc", - "0x0096f8196d2de3821ddc954666e97a70a32c41145ee62fa076f148864b7e94e5", - "0x00836462b6e8ca17fa213ac46a89b3f7154f8feafc83f115c62f0c350c8b7c28", - "0x00a3044595c0f2d6e9631a715e59efa75a0786a45911813684f11688445a133e", - "0x00326facfb8d8c782761297299e9d077d2383c4b832024174387bd4ff1d502b8", - "0x002448eade808bee6339f539e024ff8c2bedc0badce96959dd68e1b8447e918a", - "0x00d22b07ed19679f0e9d41beaad49ef8d341c8cd3910f62adf8cde201d5fd3f2", - "0x005b711b4ca19d66015e946dd72955bb58b6629ac0a1521cf601886817dcab12", - "0x00595664a40daab9062cc3f73ec6d8dbc710e7161db6007231dcbbf3a61e61a6", - "0x004663e2e6e37151bd01175afe5b7d53a8034b262d014b9f93174f6b5badd38e", - "0x008d36ea12946e5ed869c5c25e97776b040e7ff4b0eb5d67023e562b9085b4c9", - "0x00b9180dbbf315f48d398b1313a06d9cbe958841e256ad5c68c06bc5f3db64d7", - "0x002119d9427e385fcb33e846efa13d2e90c2c64135d981b022faa07927d72a35", - "0x006629d81d756913678f3131bb6eb9339f4d735130b60f57d893a098cee9213a", - "0x0070d4cceeccaabf01b0b5607591ab3c4a6b90187f3803c20665c69098b8170c", - "0x0031b74aaa03a100d85ab48789f94f59ec06b42a6cefc73e9fa0beaa3def7714", - "0x00098ac31ea23852bc2aca32c99be24b18b0de596f604b048ec9bf2efc036663", - "0x001917ff8034e9414a4ac34bcadc994c048b86f8b7ffd5d01ac53d6b0cd5344f", - "0x00554f6b2fb541563060ca2da5564ecd0b8d2b5cb59fa3ccfd79edca10040bf2", - "0x008df7f8c0bdf30d014305c8b15375d6f737519fd6deb9eb7fc4123badc14261", - "0x000b31ede459d5e22213f8e5162e0c15ef6786d504b8a514ca42f33de4a539ea", - "0x006bf187cc0e72aa68dfa0747b5c3385f5505d17aa80a20a95572286880e0bae", - "0x001f4cfc7810407215bfdd1410bb0c569c06f6cd34a68bf95e8f8097aa029b5d", - "0x00d44ad39c7cdd7c71753b91b5131fc71cbf29070b59a63dd9a15c37ffef2cbd", - "0x008937c85728467e5dfc39c2f9992aeee4975e476cd1dbac1c56eaaf76668475", - "0x002b1609fec510fd435245324eb8d753e176075ef17faff17727430d3f261ee2", - "0x00d883e61908f982bdd8cd7e573f568d4695438a13ddaa0d1943073022400b1b", - "0x00fdc789439e88e15b86afa56e94a825f391f425712a19b1dfb16f10aae4615c", - "0x00602d33a88985be958700606237623285f33768e66776fe70d88a6692d64017", - "0x0019c990c3706135eaafbd85c3e87f7f8a63e9a5c713ba34ebe9d714b763156d", - "0x00ece92f453ffda7d5d091ab85c4b966c0f26df7eafb6992bdc93b9f7dfd6f3b", - "0x00e39fb517f1e4abb9f7aa0a80426d2c439a38c5d9dcfd5a6236cfa8063734c9", - "0x00264a7eebe70668d9cf1ec3a43542f7a534192e3f21b120386e6f02024941a8", - "0x006f98bed2a7d008b66301073a2ad6be95d8bb2434ab52c3d14bf67b55fb5816", - "0x00394c83ae939f9bebc8df019f77dfab0c69377870ba1e4689792897b6f1a1b9", - "0x00f9b4add965cb9a963df570609c42cf3517b8117b1f82558bdeef88f8979798", - "0x00acdedce6d2017c3f41c1eea0612c62816c7f017efa7d8ac3c2674da0add640", - "0x00f53ca3d5f33e01775f21878e658a21b32ebb7734fb5d5f4629a28d55943e80", - "0x00b1ffd396141295a917801b88a5ce2cebf945e3ff4289d0cdc9ff618e8d7795", - "0x00ae804d99c4ea921a32f552cb73991ff431de6459e3d69783b22b28e0663cf0", - "0x00368fffa46452cf87771fd7c399cd91eca2ec3c24ca8ec21c8e2b5c14a4a558", - "0x000e0a3c98f1e42d08961281566673bf7befee968cee4efd42341b61d3f92089", - "0x0098eef42a8aeca6220eaff221258a8dd681f58e0c49bb213101c8a5c5fab181", - "0x00419b7fab9c95cc726fa27a09600487f6b6780e0893b406a88a2fa7b8a545c0", - "0x00bb24407c747fb487867018abececf4d9e554e075295c18b9f194f0678434ae", - "0x009a4f6c39419a016ba1c4f882e3fa6713bfe2cad1eef9e981870fda9501e2a0", - "0x003291dd3c25de95629cacaf409e49e61e9ac259eb36bb16d780752fe93661dd", - "0x0001189937fdc6a8bfb8a59860aef956fae9d31dd0df84adbdb8038b21753001", - "0x000ee6aa4d1ac8f501dc94c0c5647403f332ecfb2d48e4323c8fd3d85f1d251f", - "0x00b7045220688d03086b5c8f5c4612077cb33de736618a1b50fe36c2d80f736c", - "0x00b8fb76237ad5a446011d1536e1c06a946bf81e5af56901c5ac9eb628c8f5df", - "0x0060c7aebb660a59e752fd03712c1a25cce7e07e9b531f1ca16f068d88c20b63", - "0x00356199b91a60f6d50b2ac93d9a4810cd0c9ad81bf901ee4d590513d7fb29ad", - "0x0079cfae5d6061bf33b0973b914b6784d81981915b299a88edb136823154086b", - "0x00d9ce5bee8012c276796de9cc5245bb895465a9c68a8a26943a87e29c15bb9a", - "0x00acb5321ac1e96a48ca9bb28a0c6157cc817f88364cc2d24805b73e787ce0f0", - "0x003154454fd6047e36fc77ffbfdc0a2b941e16501f828f2f842218dc209b7344", - "0x0000bbac74eb14fa28ddc239a0bd699b9f90c6749cfe43a9d401af58b737fcac", - "0x00db94c3598ed41262fd8b8fda57813b99f06c4d4acee9f51ef43458470be433", - "0x001ff4321497fb75940ad649cdfa7c70e33d422a8a03223a28f5251ab8e7be46", - "0x00fe2d4e98d719da3f30b75880fb83334fa113eaeb7ff5ae10ad7b1a0e4852ee", - "0x00221f2841766a8aecdceae13e512dab64a03da67e682ad28c7dbdee5c618d87", - "0x003c0121682261b5094dd14d4375df229b0335eb0283188ac17418297a0968bf", - "0x00d208f502d89404a38cf637b6bcad2d1c23888514c26d5a592f6315286c19fa", - "0x00b60182f5b671d89215ab3157838dc3e52ecd01ceb8774977be295aca88a1c8", - "0x006e4913cfc0a21719b6d5c734ca6aea254c3db0644350583e7db433f499405e", - "0x0001d872d234d43beb362c729676af21057a01d296990497c698526672f83bdc", - "0x00470e32377d9c01ff3b770105f04d270d1409e69eb6f7524060bff9951c141d", - "0x007ad6d15ee50012af7cafd87694eb159c0bb9d3d220860341b023fe09b57a40", - "0x00150dc536a0621a2140645ca1af5c8dd62ebe22286414976fbc6307d5c07b50", - "0x00bbf0e9864bb204c1428fdbfd09babcaa471a3e1190a529af537b88f3e9faf7", - "0x004d2fcc2d1c6f75477c2904e51f50ec3c1068e81a538e6b4a8171697fb871a6", - "0x004f2bb5e6ad57107d331f0ee9b3e01735adea86534ae02de5af6c91807d9c21", - "0x00f9761e1c7bab71b29cb72d53fbc705a25fee63d7994549f9c89cc739c27659", - "0x0031a32d5a385951f216829aa9711bc316df7f5e235d88f98e295b136f7330bf", - "0x0023b5cf0a80a77d9153f8815fd249c94f503005cf07a436b5704fd93a760b38", - "0x00f285b12ef1128494fe1212651a5dfd5f4b4974dc253107e8ff087551d3dedb", - "0x00ad4d137ed9cab7e9dc0df6b4b2f26ab56364ab5d6b6c0828c0ba1c0cae5591", - "0x00dd92ea431e3d04e6be26f7b1bc9971f8533367339f4bfd24d8546e8b72863d", - "0x00fe8017871f71d7db9b364032d2d29a6eb2aabb3f324998563d7f4d76f4b382", - "0x00656dbe83dd5ba5c4119ba89119716b755eaad9bc955e29ea03658b0a84453f", - "0x00196523cbaaf442d513b50ee1d02a7e7e5b137a0399ee971e14e145fa59db99", - "0x0098df82882c9e7904f23d0b192c27a831f0d03d4ae80100dcebca6dd640e4d4", - "0x000ef29737c5191a18eb7a4b5987acf5cae35eab2643b41e77ce91d61ef928d1", - "0x00a25ace67e070950b58014e32c7a7c6517777da1ebc3644b7bcb1a60b2744d0", - "0x00e356f0218baf5f5fb9823984a06940ebb247a7dbbfcd83115befdf7f14fecb", - "0x00531a25ef6413eb87e64fc36bc5b312384e439087f0964ecd994f7b5d101d13", - "0x0038dcc7a986cf6f8a2ee793f75cdee9a9cde2a267ab5bfe50be10ba61154ec4", - "0x00623540d1858a0cb067965996c22ad73eb79604bbec98b3737e263d2649ad2a", - "0x0096e75a9d5a1973d4a4b07b3294935f2dd391671ac685503c778a8f70646984", - "0x00f77941ebe57876c3905567a6be456757485b6193bbcdee0fb921b7b524a73c", - "0x002f057bbd3fbb30e0a5b19dad97fb22374d1060d01a7c0d3334aa8ea1ba8a52", - "0x002afe24f48682b1b4465ec6bb71d694d544eab24b7058e4270de7f51694ca56", - "0x0008ec5c6e85a5bf866092b0b3bdfd2fcc408105558e73d77ed29cdfddacc2ce", - "0x00e207bbfe815b6e2645a6c871cd03ebd2af1ff7228e45f735c909e38c846497", - "0x002652bc63bf73f8917b2fcf5a68269aa5d8ce868b068fc4530d54daf87f26e5", - "0x0078193b083c4aeee95c5e079982bf85dc51cbb84616d37becc48a61ec678944", - "0x0014b2db49f70399b851a4dc3b6d35f1c58b43dc1fb12369db2e7d9c023585fa", - "0x00586d1bf1f8444fa662ab5beda7cbf916b861a922740550aec63d558a05eb06", - "0x002849d98f9764a01c042f58d5160ebd450f8170fe0211d485e70532b416ff6d", - "0x003e2fd59b4b9ae716e168c82e14a21cdfd79edc15c9768e0739094ebef42068", - "0x00a0b5daba6a2008ecd4ea79a5030483fde2a0be50ccd1df81516e29283ba231", - "0x0095ce9b594fec7a94f9dfe8ac32d2d738377d569b5ad2e9a6fe73d3536bc157", - "0x0070bf0f20080c90f788fac8d917d57bf6a3f0865008694d95fd5d3a2c74c718", - "0x00a311fbec4a717db30b33fb8c3533d7627c670700d8a188aaa23db8b916cae5", - "0x0021a1677c3918d37b6fb984a44811100f0c5c05579252cc65c98bde3e73a98c", - "0x0072fcd4cbd36b7c497cb1b6a4393c49faf3ea2d520060f14f6faebb829c7a76", - "0x00b1d98553baeef4e275a21ad78675f5ff86f45820f9d08f0ec4be38fba42f61", - "0x00d98a561f8105f2396eefd4e58b595f2302efc5fc3ab19d8fe03ad6777d087b", - "0x0021e0cb9fcfd473fff483cd45e362b9aeeafca055f0b3edda052cbf99c43b0a", - "0x001955fc0d21e67d20e9b55bbea515155f4dc7c861cf62707f5b0ed39c090c27", - "0x00624a48d9411d40abe5682ba540d6f5f3f58b20152a168ace56413b4e7dc9fc", - "0x00081542ee9554e6e4d5eed726dafd6f2a20f4ac7a2549c879738807209017bd", - "0x00cfa9a92c04fc40f5dcb2b6fa97d59df068545c3622be74fc539979f6f5ae33", - "0x00c944176e6cf524ac6cb117894be2ac6e3313221be4b816b36dcaca34106caa", - "0x00742ccb63fb281842dde25abbbfa3a7c5ae3501aa8e52475e49253dfc7e67b6", - "0x00e9ca0fa16780ddd0a5c9f46a2824fd5d396471271a627489937c1678e8c9a9", - "0x006a8ffeab2f7853526c8e7825bf65d17a54ba24ea8190794fe2191380df5814", - "0x00604756bd9674290b0be31afa39fb3242870f60c24aa90710e21e6e63172542", - "0x0045042907b8720546c94f6bfb019e67caca4553d300f00bab1cdf74a4737d6a", - "0x007d7ed2791755634e2318ad057c7cbf4b700d47aa04f4348237ba1eb5b1ab0f", - "0x00b9a6234a49f13bb8c669c3b28bad7ebabdc990d67f5da131c3b2d0a6224580", - "0x0070f456a8e35524104431bc43a895d0a66dd5c8771b808f73b18fc1248f8d2a", - "0x0035440edc9c45416b91f560a328aa099c2f1625a106cc5d8af21ca981a10d91", - "0x0089d32f48e74f0317449b9f787b93bd526fa03beda873589ec33f9ea5c011df", - "0x00b4c7848715d53506843fb9f9ac8378301f791f0217de6b0aeea8df54eeb4cd", - "0x00c7ba267eb2b3e4c9aec659158dd5973c05548a979337e9ddaabaafba6ca008", - "0x00b696e8e35feea8fcb405289c62270238f1cfbd114c514fe544f14a3f1288d2", - "0x0008cfefc01f845bdcd5c1014dfaf03831c7353ea23971fcbc1705577b8f01f5", - "0x00959bb93cd7a689f0a4e2b82ca8ffbdd34f5969ac6a802835d425756c505f2a", - "0x000e25e303795d0a88a2683d735f3a55babf8ef38c876e067007011dc51ced04", - "0x0029f26a4d93e3487ccaa4923970365a69e30cc21647c69bd4f376d6956dc599", - "0x00a6878a387d1d156d09e4e946b92994d6addcac35c557cb03eb940db0730045", - "0x001da8ab91756d4de4edc904c7be39d8b60369cadb8b01f475d10be7f0dd3170", - "0x00368568981860c413564cae5cfa8d800d2d25202289b10315fc7b36ed6bd557", - "0x00c77c395cd84da5a2487dcf83023b6d7f1ac5b4c1b7e0d50df7bae60b456133", - "0x002b99abb9e4d8dd8769a6d0861ca0b3fc16678b04ff0e9361ccbfa6d4586632", - "0x006a1d26625c65978452c9a3f03f82ed0206fca16e78d2b46da552f06c53e58f", - "0x00e4f7398b07b4ea8698b170d0e0e4ee7f763f72bf31de6dad7fee39b238bfa6", - "0x00e83fef9d5533304a494e06471923f9820f4ef0fa8c133b3d4008b7329eae2b", - "0x00fe562bd3de09f5920a14d09a7b4e1aa1721fb40b729318242f278847fabee3", - "0x0042d475db625a2a1f899dfd11284c26fd2cf2f424d7568b57d03e0b0061c5c3", - "0x00eb1c092660c6e83f04a79974010c0a19a78f5dd1c6b6da302f81031cef20ce", - "0x00b3008daf2e0515f34fc639a485f468e893c543dcfec55395f18eff8276a697", - "0x00406c1181df1d5f0db61b087dc5b257c4cd1d6849f98e975c305306a04312fc", - "0x0016b5a7f7bd7fd4ce6b436aa3412c27a41ada82ddfcc34c1d36261a5c3ccd1e", - "0x001f6722279f820ee7a0ca585ddfdaa0f574cbb72edbd96cbf826937413e2174", - "0x00ce27f750f3d519aa4b1c72a46986c05859dc1f4149358283b563714a1e5b38", - "0x007e14dbb87437770ed0f7a46b44d7f9d556bb9ff685dfde2ff3efde9de97f64", - "0x00f3f2425544d29ca2af430ef5e34201fefd659b062078ca68dfe4670ce8054f", - "0x00246fc546468ed0908fad79f33285ffdecd78968b6594efe16a183a13f35f73", - "0x00da9bfb7614b1200ba1dd101d447e1ab2df05b27c1c9d541465cd6389896c8b", - "0x00cc00c08640ad868a80849112ac59ccfe70b8025c5e8bcea84441d884143030", - "0x0078b6b6049578abb4c9b31ee23daecbc223d2130e5403615df1e084c089ea3f", - "0x007711ef62fa902783ea851cf5811692eca5c02192c7bcde8c3b0b6efb56a79f", - "0x00a14e456439e9010044596cc4f72096ad8c42057fd409ec511416eda5e6d7ce", - "0x0078f6f30c7d0fc9ae1798df453b46d95690cd5df72ae1395930c32615833b1c", - "0x00aa70b4670c1968dc7b3a1a1eccd8fdd7ddca2ae36a25f01f7cc23c57be8a68", - "0x009aeff2c70c85c17953d09d71ec45bbc5fe21bf53a3bf87c27bbd32bd651e6b", - "0x00cd27391c8f9beb202c02a56583112c284aa538fe1ad3490cd562d1bd631ee6", - "0x0075d059f6e6be0896182922391ce76ca17dd21b7f5b8a57f8e607c9a7d0e173", - "0x00430f493f96d93afe95f2cf4925b4ab7c302c5a87bdadf32d3d3d86029630cb", - "0x004e9166090ff4619484aa716e246985e0f65e2292cb38f3d9e13853c58ebadd", - "0x009b52d166b7226d6924e216dcd7a46be1e9221d09fdf8c93501a55b75f40d15", - "0x00254672bc4d9bc54d60007d3e006e6335c35ac9b5a544e5357668a693067fe4", - "0x00889a4748e18605674865d4f21de4b6ec3ef93b65298a7ff0225a09a6abf6f2", - "0x0068e9e70d302aac242da1c44bf4fe5ac6d525b06e11dc7abc8d818a7c075ce0", - "0x004ec0504e931de050b57ffabcb677759aae221044c2771495460d151b9087ab", - "0x006e519ed1e25663a7c8d71b64e25a3499c4a0905e4969b3a69e76a6c381a94e", - "0x005992ac0e2e1595af62df5ea452ef8d597fd990b71678051cea958ea993b9a6", - "0x000d15349abcd2f27ddd2edc998e8a1a43bfc5642bc5e3363f161bf4765e179f", - "0x00d0ba6da6631653078ccf02a515c400f71673713dff15c2b73ffd1fa57a4887", - "0x009233dad2992e8c1b2e4011cd6b0ced992559d58a3ad96111c5f5069c6b1e4d", - "0x008ca19b1650574181b3b07d9e58e7d8e38d80cfe76cc4368e48d5037acfdb4f", - "0x008fe2ec54491cc89d358fb8628c170b22a55dcfac6bd6e457ee0c2ea43aa3b0", - "0x0018d6abad1546c03cac16d5134bbddb9f97bfa56f978b88ad82acb72a62b457", - "0x00c5224b1ff931661897c7e626a745f044378585851efc068a4ea25420cad061", - "0x005d0736023b01dae77a0bfd06353f9cee28c6f6ed7023da39abe501255a7590", - "0x00be7100318ae5410033843761daa3423e9c0fca7ca3483b374b9fee2f7c406e", - "0x00f4595a33d368fd550bb8db34f230e45a70a0f68836295bb7ec311b8fd677f2", - "0x009a60ac0fa283d8c8fb439fdc2e197b4729e72ccc0075fa194d3b949ce0ad20", - "0x00dccae8e55fd67cc55df0ec2a0911ed91290e74cb875b615873effdd1237339", - "0x0097df65829dcfe972a39d6cb0dd3633bcba5d00a4a8ea6954d2c2691dc2e573", - "0x004c90c7230c0b3d12f0b32faf366d8c60fd9aafc737c7b18efa45051de54a36", - "0x004bc6f99f8659565a916e55f2e4a9595234871e393b25bcc9fccc58e9853a80", - "0x007a213eab26484dc13fe8c396822f87b22fef610c970ba8bb504ed933cb4dbd", - "0x002816a17d49e471f3178c111be12ee331f11fb59750734dc07894b8af1b4917", - "0x00d4b29f35389ae98e0426027e7e3ccdb3fa54926c0f5d14833de4f943c3d61b", - "0x00df2f00eaac93c9eb7b4e81e7cb5f3cc66515001f01f3a18b268dbcfb8b534c", - "0x00b182bb9b10965c163dd828754b535cc61345765600c278b21a6a6536991ab0", - "0x00a299af247b3d1700c8cbf54eacc6e6ceade5100e7ef55bfc1fa4aa772a18a4", - "0x00e538fab400b9e284a6398f24316cca1cea06d8bf56369b517679203c65e1a0", - "0x007da7ef6d163e59e48ed859955b61bce5fb5ea7e6a68a13d926018064e14adb", - "0x00bc3f37b8dac91d4fd6e3d4c1c3780be796c45a2fed651a8a5fc8570b841bfb", - "0x00d22b4a40025c0f914518b0e56fa55aeca39979cf0005e3bd7a4991b726a372", - "0x0025b0a8a88210a8b524b55668df0e657def565f74689417ba934d7cebe3cb11", - "0x00e3fd886bbc3a396dc907e603edd8e7a538c95f4f551b344fca37f9bf1f0157", - "0x006faaf663d511414df73d247bf4884116e20b3e54c18f2823b0452141b53514", - "0x00a19583ece73494fe304f1287c2e6db893d9445d768d86656ae3a73b9a9ee9f", - "0x00966ace23f307788d073f33fe971f04370a20d7f2130a5b695591733d999dd0", - "0x002428675c778d69c9ceb3f05a36d62022cf7229f1a72d82b0d87a9275cb458a", - "0x0094c49b2d0f62f1a07d05eca71a8008da3a29083e334ae66fa985f46f763366", - "0x0007fa8bf4c8c8099dd21ca7f8ba7f327950ff694d80582109aa2b239862b7d4", - "0x00b809767f8ddeea23467b54973716f8d67c692c411a5330764a848a90397f6e", - "0x00271856b37481b8b51f09932e7211fe011db875140eec3657b487c595577658", - "0x00de9bbbb215a9a41275a9f8bdcf8a0516e2ec156aaaf0811b6d453abe343d89", - "0x006e04df3b292f7d332c9c87499e67bfcdd85b5ad2d9e747a81e8423046ed4ac", - "0x00b1c3d76a724c379de2ce4fc0e60f9f36561eb2f30705f9e9dee7a7e221ee23", - "0x009a88eebe598689b3744571b78adedbd4df722ed7f9b9da766f67ee125d032f", - "0x00de2bf6de091641ad10b6a57dda651f74c8911565164a20f190e2deec6e57f2", - "0x006730266299f6e0736f38e5df5455062eb958ed3a627a6ebe1d49ceb2c0a283", - "0x00dbfaeb6875d1fb18ef9c627f75afaf05b98a496e509a0898c4a0f8c64dcbbe", - "0x00345bfa2f776eab4c4829e291f0c27427d166570a721b58177aa73772e01957", - "0x002ca100be7a6f754de9cf081bd5e2e0969dbfc633987865f260d8ca4c5496ac", - "0x00e00139ac66ffedf1593daebc601ef0bb7ac2e3d45b8194569aa35898eff6a9", - "0x00b9cb2b85344799336cb9fa4892c5b245d5576d40b0baaf0d703c9b5de91b9d", - "0x00d9c8e1be138001e877323aa22b0ea4ed70a39f81b895c85981195aca2703e9", - "0x00a79db61093e9b1eca6e5fe450149993fb2e936145664797bb49f3a17bd3942", - "0x00851ee3ecf9143b2c3dd1322e7d6df4c9671a2351fa86f554ced58eada4bbf9", - "0x000e2dced85952a06a96601527efa26982e95ebcdb49abf809554e4f58b91ed4", - "0x00c8ec6ea0c6e7f39d41adcce0939a3304be0c42ea7a0fb5934fa60f2a28bfa7", - "0x003687667ce812f4b2e12e74a5d119254f3f9ca281214502b35ec922a1f9aad4", - "0x00a00da3a8fd3aeb7cae5a1711c04219335276690fa130d8d30cf5693fa46380", - "0x002e1bffc7e97bbb9cb27968090d566fd1ed7a22cf9c40ab88c470aec2c6082e", - "0x00aadc00e8d60d36d385b669eb305d50c9a626998709cd6fe1140e5bfd863e68", - "0x008d6a530f44a95e5b863f0dc759aa7ac5f12c4ca792345896d417ecb2d6ae0f", - "0x00d04471ec0958779d52972708f3d628a77fcf1e68bcc492b9b11d598d30dec7", - "0x002b61d4eb66b1ce5f22195d1baa02df40a79e2bffd13144610f7ab88820c799", - "0x006454301dd04ac25c39aa9246bbb7e94b094d2e93cdbddffc68e7224f60ad99", - "0x00c13ae6dbd7106ee9d596811a09195d3979ce3b7c3bc7ff326d465463b9e6de", - "0x00d009526606c816ccf4d88e4895a9ffe60e9c0a95495d8c2a6ffe31aa85cef8", - "0x00151342e499dd5848c6108e3361c7f81eee9bcfc3dd0550cd1733c34d79f7a4", - "0x00321e8327c907da944938ee08bb7e01b29114eaa3ca2cddd3d3f4e53e5412c6", - "0x0063e757c4389e6b78847d731f3e0e01858d5384d6ddf3a1494385815bc1b446", - "0x00413b320a4fce04a7d2c7c7b94ddfa8535d157a42f41f5186b50752b2eb36ab", - "0x00d4cd99f5fd909e6c1cc3c398736df7d572707b17c95fe7f9f83b0cb6a6b669", - "0x00656bf794b24f84bdffd6fb8dcc122b4fd26d5581956655d99a20d8dbe3692c", - "0x00304d4bd5620daedd8ffa43c31b2dfd1a431cfd1902b2cdaf03a5c093e2760f", - "0x0070064818f8ce14a6469d1dc5488e212e900dfb08f8515468b75a720e11192a", - "0x005c5e2d98b98001077a0ac04f8717681dbcc165c87d212395d472cac4b9db6c", - "0x007ac9fb2557869380bdf2fbf50fd2d7a4022caf1674c32e7fb40148d9501a6c", - "0x0011a27b2a4bfc7349c2cfe4605f3edcd5cc3c121a22272a4fa5a756166bc756", - "0x007f4570ead0c0939d7703cb25b66bcf76a1bec15af236e6af75379b39a74606", - "0x006942975b09d5ec847d9a7a76f3b8240a860e7550eff0eaa3ae5010535aaa89", - "0x004d12de9396d6ddeb80575f29a5ffee08fdc6357d72b14f91d44373f48e37c9", - "0x00ec4300cf1515b4ac086b2f444079e73b7327e4ac1b0c05e16883ab4102823c", - "0x0035fc5c302d5eefda2cd4943cfcdde125a145db8287172a64de51667856232d", - "0x00ab41677f28a0c8dacfa39a83071d1cfef8c77984515726a4e4e9afd52ebace", - "0x0023112a58d59250ac182436f1544fd2ed63fedc6bc6707a15afabb6fb15a098", - "0x00dafa0589ffe112816d0aa1ed028bec35833d04efe3b8a50b4d2979c6528b65", - "0x00fd0d3993caef990ed04e2d5b3a599a8309713027b4418f9bea6d9c643a0fc1", - "0x00c3235d73875cc21e3004c54dd05ea74c00578f47bfae279c6fc62bb1da14d7", - "0x00435b69fd794752a85036da8387f7f0bfe34ea21b9555a83cd0014cfcd77194", - "0x006754229537fade634e4dbf7056314ce207bac48275db72bfac9c85b8d89625", - "0x00374c5acdf3ee598a1b178953bf234dc23322e051c366efedcbe5f7f7869207", - "0x000ba78566ec272bbb89bffa5b6e3f96edd4af826a2efd6239bff32e034a3e6d", - "0x004a7a712f106b6f86595c56e20a3d020647575ff2c0268c25a2862dcc650194", - "0x002241972bce9ba39e5384b1747d400f317547b1f4fa478f7096586d7c009757", - "0x005bea7605f8f92cc93577f483103c361bb9d5556ed5775eac9d679314f47168", - "0x00e34b22f176f808c299e81b7d5f1a2f5cd3a2e0753a1f9bdffcfaf86ad90d06", - "0x00db66147c1b0147e06e293f9967392077c35a15ab9c81e2a9e5cfeac8a81780", - "0x007ce3f068fbec31888ab841015ec1491cb81e053b42cdd1fce7d17094de3a7f", - "0x003b96df68e0023d74c0d8c43a25e2f9e7fd0e79cee2b4ebe8748c4adc8e92c7", - "0x00bf465bdc2405aed806c28ee07daca1357060a89a64bd05cd32af3ae4d466d1", - "0x00b755380ef6c797b040cc3853cb8f915c53368335add077d664464e84dcbb6b", - "0x000c64504d77eefd808a054cdb5c88fd23babe185a9c7241897bb6a1a025798b", - "0x00e945d5a0196a2ecd1cd5185c4ba02f39f039282e260c27d2850658f5384701", - "0x0095aa079ef9db03b1f8a2ce31236c6f7f2c638580a56c8185547ab19cc23134", - "0x006dca24ff4e21963b9962f683b25ecae1df57d054c5f581ef0d75284f337d2d", - "0x00d15db8a57690bb9b6a10cd7e91a79b27b7873ce30335ac2a9a3b32298c7b9b", - "0x008fb55388c81ca51b5ee7d33f6d8be89a013d995c2c7faf6508dafb21cf20c3", - "0x007d93e6626bc3ebc965648c2cd5321c6a58227b692b2c34ed97ae8ec8813291", - "0x00630b5a820c5399306723a290b7f8bd511329ef55932865eb9641f9a6eed6f6", - "0x0012c4ffbc451158d7871d92349f082d20eff1f83a4af64e50a6f0026b902edb", - "0x003e748c4dd2e4b88cba4b57da468127c9b6871dd66283c469834148a3a1073b", - "0x009faff0c81047299f52c77c80efa37710f4959521b755f74764bcf33824d3a9", - "0x003ecc4c7a9808bf53c87ddb7af85732786ad7615e0e278f79f21723de08cd00", - "0x00bf72d9f836ea1f9ebd93265902d0a6ee445c1a6b5c2d82b136a3fd42a176fb", - "0x0078dddff48a25d25ea67e8d79fdbaed5e0396c6a8b02d2d9bc49380a8b03259", - "0x00e0daa72c9d901b6ef7efbd5a92cd48f03250502fed07e1996bb2b4d17c41a6", - "0x00718099a9ebf05422c0213f08c9aba34a2d3576fc2750b28601a89f2464ce5e", - "0x00a39576b48e65b7739b39536f54b26edc4b02867b7d17a6998727b6d5fee1dc", - "0x0098482380476711f391e4ebd97fed62edebb2b08d18f76cfcd078d479c702b8", - "0x00bc78fdf557b5e6058d747cd0f47850e7a6e61fbcd1e55edbd5f01e821fd830", - "0x00b54c184aa0bcff25fc53e1f3e7aca8bb09b1740cdf03a31ef91d9fe6f873e7", - "0x00a4865d5b29c8f7ac24fbe7dce29ef16f584d576f315666797caa50e3cd580f", - "0x0082866250a6279208357facfb0c740150163d7038524729c7060a2afefa2787", - "0x000209f9257cd896ccaf3c37a161b9ee317d40b74f108ad4118cf32908a87260", - "0x00448d46129343684eb5c0504dd6ee7e7812312589be6ec27708799bbea7f743", - "0x00c54dab4bae3fa843da86264a52f359019baf2416e301f614844e903bb3181f", - "0x0050626b07f0f91dca35ae433838b2a50b42e07acfebfecc6cd1ed06f9a56367", - "0x00e3d242b79e2a4875527bea5509240790e0b7a0d90d76d74d220cde43253d07", - "0x0016a462719b31d4a5c45d70a179ce1a4820a098039589c155868577d80ecd96", - "0x00a0e9016959416136c49f1789ac07c6dd379cda1b23921f3dac259af0128b98", - "0x006ab3e0986b0273caf40e76687c04956c927d4461ad94efda11ce6444af7b1e", - "0x000455ab75c7f5b84a84871ed851ff35ceadc271cf47aa49421f949c6865c9b4", - "0x0036189ac254fd80ac26481102b0451117697d86cefd35fe3a89b2e3a90494eb", - "0x00c84a9451ed6f034531a46f28139b4344cde8a8205f6c88d5b9aca745ad59f3", - "0x0051298bfa70071a5f292dcd20c6a5d4d25861985c5d9eaae3add6b36d8b8df6", - "0x0062f541a62599931fc633f31f3f9dc8cf578df0e399f1c9388318f69a7e2945", - "0x009a52cef19a5361add27f8b260f1287328695eae91a5b2ed8985383108f8b28", - "0x001226e7b8c0040526e4513135e70dd2eb8cdb8883bb980dc64af266c72641d6", - "0x00bc0369c7be6e6165dc627fe57ec954b04c9ade4c6bbf7644940a0ed7f7dd84", - "0x0098f8aaf0c6b4552ad46b28d128e85f942d327d1ae32ad44099c289e439bef7", - "0x00824a74b4a50963ddd194e592d7ecbd436b7a4e41dab31fe305fe6c0b7d795a", - "0x0092876292085b277b3b9bccd9b31ac806f9101958c988764a9fc8aa95d12be9", - "0x00abf043d1489aececfa180a1ef4183acba2529f6f525a77bf7fa8401e0d8414", - "0x007811c199421da44004d65fce15ee9bb424c6609b9f332c9c52f70679237798", - "0x00a43f9f784950972fb1167755b2f7e1f06dc01df6d094f72349fe914efd9bfa", - "0x002b996569d8e73f8ef78e9369558ebc29f64c204adc8547252b789c8100c4d9", - "0x002848e583e05f537b06d8ba8172e11b08597e08bae7a9fdcd68527e9a369086", - "0x00ac70dd78c828a4102983275fa57610b47362d57187b3f41ae76b231fd1a0ee", - "0x0001ca371cddbd3d61986db4d1ef8ff41f4bea359e68081ba045798505118831", - "0x002ffb70d2e6b3f7293ffa8107ac771267e5354e987482ecfa8e83769f128024", - "0x00525dc979ca177e29741c1713d1a16b5dcf06b72bb93ab3f5cb6356f4935499", - "0x006adf8a0593b00509e887e67f6a8da2b68398641ef9f944da042633dcf87f54", - "0x009a91561cda27dd228082d24973c47b44cd1e1c472d87a808d28fb30c41de99", - "0x006b2c501d2347889bcc152aaf85facfeaf4d05297e7bbf1db2600c52799a72d", - "0x00c7e85f73a0b34dd26cf8eaab87aec14c6278c6696e00553029fdb48c56af24", - "0x0005e455633198664727e9e2a3ece0174580a568cfa9d45ebeb947c157f4983a", - "0x00ad8d301686b9c13c18785ca9a06729212a4e6fc3d55aca5173c8dce54c9832", - "0x00fa591b158fd19fc9f2fbddc743975c24728cb497efbfa8438f16d60e00645a", - "0x001a0d06d342c8995f962d11d19964406c3d8dcf6f80fa6ef05efea76b32aebb", - "0x00eee8940ae527edaacb27503f3e8e0b1e2bbee06b87ad2a7967516eb6b6f481", - "0x000d4f9b30e182efae89ed307334f5dff7b4f5d80612bd07f70953e8ecf32125", - "0x00c1826393e5771c014cd62995d9a5389d3ed9bd0bebc01a18b65b516249d9e7", - "0x0032b60bf71f94380877d58c3b28eb02b71f85e0520c090c24fae8e33e223830", - "0x0017f10780ebfac26f02cd8f3f9a1c1ecab67de39b850d4c4b8a23db6690ffb4", - "0x00ff88a9d2e9d2a81371e1f7c199c4102edbe57dd08cc9e056b745ef9fde808c", - "0x0091d899421884f4d4be19142493025af0df1c3c66c12cae53d2fc127bbed783", - "0x009d5c0ea20c93f815f14edfcb461c87af79e8fccb814f055f620e043c0b5a3c", - "0x0012d042857981e6661bb9161a1854318582fe6288b7c80a15f2b138ad4f51ab", - "0x0065d0ee2a4dc58dc77fb60f572dc777f303e14457d49b35347d9c6f24205e0e", - "0x000749269f405653c85e2cc6f8286adcd4629a1d5fd03120184cab858f14fa62", - "0x0043e9a2d4b5591e3d8b7c6506408bf3780b4d3e5119649b92a35272a90d6756", - "0x0014b7cb2cdf466a9011daf4948aba5d174ef3d2b4f3fc90587eec576100e572", - "0x0093e0271484bb513d9574184303fae788dfbcf472f0f36a5103cd01bb14e8f4", - "0x002d7c9b57d5d8e29053bb8f37f3ea10178d5e9d2e715f6228cc3a0bb0aa7c4f", - "0x00acff0877e69fceb23cfaa20a8f42aa7d3f261d9d3a3a7cb27ebe22c7900c65", - "0x001584f17898a30905bbbb8880e6ed29133ba57457c1d9bfb4ac9e92a6c64681", - "0x008842f5c1d31fbff544384788e71b253f46ee39d3140ff49f04814cc076e9b3", - "0x00b8442b586adb1209cd28173625019b71e776c4e25e8fa279ca129b9cd05014", - "0x00cafd078592e7b148cb9c2e2f958fdcddf4e3b6d160a86d51b53dcac3900d6a", - "0x0012c4e209f9641e3e7a36ec293be6093c70eb0fdfd09e90daaa006832a3b4ac", - "0x0015dfcf188ae3b036ad11a23060bea9a65ceaad00ff0c9a526c8c4172feb0e4", - "0x00ce25622b81a5991afc89e9d258be4c713b305bcfe0ca2c909cd3ae949f738d", - "0x0074507081f5db7a2c6c672bd3713b5ca6d2696a61b294a167b4ac9e962d1c84", - "0x001cfbc647e2112148dab858e812f47bcf70b78d3bc74052fc94d1360df84f2a", - "0x00ffe76aaf66c17497f91deaaf48025cc4cb44815c868ac12123fc9081a66fdc", - "0x0001cad6aaae64b4973f75426e32f2c304e2102377336b8b9298bc541402f0cc", - "0x00b8d84e2cf0471212d82f3f753df455cd68c669469c23562128ef505ff4b3fe", - "0x00f77eb908e4a1c3ea09a4c2dc507ab74a0abce70812dd2babd0bcc52da48fad", - "0x008281b267c1a882bd9d431286afedb99a628fdfccb255873ec4188fdc06e46e", - "0x00932e9fee34abfa507ea9e40fd3c47f0b2ca001e68fd2ad3b68a6e0bac30e3d", - "0x00c13fea3ddce3bdb4ab9fda96894bc0852b5248de10635cbb111490006978b5", - "0x0003b008282a25ea745c0befeefef5610024a25913db8b7990405b5c0e3caa20", - "0x00406febf2e73549c9a503cc95d6e44542589d7367a380b29f99692fcb3bf852", - "0x006f62c84db1b158eed501ac55d026a237e9519df63d3db7bab52611c66590db", - "0x00ba2f4ecb174388acb3060e5edca50547f42bd6be5e4fdeedfe8c4568f20dce", - "0x004e5d385ff34311b208148241386adbf4cf15809b21627b0350c9818588d8a6", - "0x00fbc17d4222639c7bc7b16ca80ee9b82c745a53d3f888536fc91ba8b811adaa", - "0x00c77020002586f7b7af29d51b6b7e7499ae9a339a89ce13da49036746f031fc", - "0x007ea16f8f58789f1eee14f283f63f6d876c2a82f9968235dc4ec65dcb020003", - "0x00827834c9ab4355e31a544d11713b8370c4510cd9a8b54240bc50b3cbd78fb0", - "0x005f57e54a733fb66d3f3801dcec6a98c140dd935bb8c26e81576db761c3d3ab", - "0x003001251db65779d3be7303496c1bb54a50c5cd439e02467b335a50f3dbe2b3", - "0x003ac9fceabceb2ca8c5dee1e81c69033243c5314bc3ec1f443a15a3ec16677f", - "0x003503560115aa0ebf86805614b3af0dfc3d01be8bbe6005fd678c783a10d436", - "0x00a7497d5edcd1d3c07b31f174d39ca466bb96dc8a047be46d471204671ef673", - "0x0081a94b5bb64b8c84c080d4d6fa5af7520d7c802f2eb218398e23c5178ca5fa", - "0x004675bbe7575d5b26d2d26e9632e1a15e05564d2584938ef9a91fe2e74a824b", - "0x00caa9d6a1437ce9ecb5ce76fd4acf273f5bbf42183caf0f686947ede55ccb0c", - "0x00ebc78d2fa3736cb6706ad841606df367cb0ae93380e19c622ce4c8db1b161e", - "0x005ad952b0dab78f2306f3ffde6c86331e44bdb54d5f23df23e85b65e237a436", - "0x00889538a1d430b7f7984830e3c6c4a30c9078ba6044c7c81798fa213b0c2d57", - "0x0038cde64fc6f7d507e5aec6022d0692316c781858712e1791ed29c8e54d839d", - "0x00e96a31b9d9363be4aa3e4fba211afd2e1f84d0d5f313d9b37bc5f1bd821442", - "0x00927cb8969d31f655b24a552471bcfa9445d544dd5cd431ca56d315f80cab9b", - "0x003a8ccc37dcbdde6d9da42023df0cc8d0ff8fe9b9150d0a7617a34b60f77bd0", - "0x0063b9f1e1f80be1f33cc60457994a77da513bb7427e7d7b4b85be2d7b74972e", - "0x00ba37cab05c5f1c0d58355db9978053beb8a9c7a4289b2b4f02a3dd184a24e3", - "0x009f00e128f5041f4328fde08a0fc7742d2229c3988a44387d7d146bd4452e63", - "0x00f4bd6e356046b402a16b7b63562f59e43d2a27bb5e425d4a4dba66675f2008", - "0x00697549fd8f6df0678211cc4f6c65f2e0f458ff53bf2efcd46a61915c1fd538", - "0x00c838e8701cd8e45369cd10a7dafff4ff5af00c1b17c4654765f11ea961d5c4", - "0x0033a3c3e6c8eddd7ca9d6a7ee385bdb43b82f6977f230bf22e3c81ad5e42953", - "0x00e5d00d9e4c52be2911950efd7121ad34d6ccffe066ed806fb11e14e7d671cd", - "0x004b63d94c4b784066575cfa11ccdb4a94bcb908e928e90798057df0b340c2fb", - "0x001dbb5facb7e4a01498a9d4b3e3bcaf668163f53e8c8d1f51b1bee4e8edca78", - "0x00b6fbe4f96774846e57fe23016ed33842073691b4546f5b2fa37978557a6843", - "0x001b8c80b49358ddc99bc1861662edce97cbf568b64de602b41e2b579ea25cf5", - "0x0063baa03dd1e100ba9dcd69a5fdd57b792e8b57695040d56d7844210d7d3951", - "0x008a27c6187d7c7ec3f6ceeeeca6f4fd1d8a5be1534a42210a15677c1ef14356", - "0x0030edcc09811e047dd137e1561895b359d6016abaae1c7e3ebb41e35afeb5ed", - "0x0033b463747457cef141ef2744dd28959469154cdc33684a05fd9254ec724b66", - "0x00a9252480d15d5dad71c388766e526fea65a547cf391af3f056040be0aefc63", - "0x0055fb9005964d90c47e1b91d334f40bf47072ee084b20eba826e8f01a35f454", - "0x00940f0e26c6d9f661dfb4eda633496768a931152d74bdc2156b127cb847350c", - "0x00a9033eaab6f5d7c2fa90ad003e162862790fb22641f30b502cd84f3a455e2a", - "0x00e49e42d3b40177ecc0f17af3d5681fa78992372865fb2f254b544d3ff18b22", - "0x008b4afab572be40b2ac6d9947371ff865555a4487d951dda4b39169fdf38b6c", - "0x0032524fdee951f1b926ad65c39b5ccf0d9cebeebb8a0ac450ff1556a5bd3879", - "0x0078335edbfe10906de79c2ac3a60f099f897e11e4300f0beddf5d58e94658f4", - "0x0001bdb290122978e2ba7ef4d6cc8acca0499ecaf95dfa085c32db34aaf5ef33", - "0x00ea9984108645faa168d1f900f2d51f26a12b7592a89ebc2504d76f1a9a0c1d", - "0x0076ecaff3aec625dfc70a12eb3c2b7efcdcc42bcabd0d809cb42c8e6fad77bf", - "0x008b391890e264c2f16e153cdc9ed3c6d9b95b61d438154bd56a159268e22cb7", - "0x001af70a0dbf069f2cf203924c0114c1d40174c7bdf805bec7b7cfae59700cee", - "0x00a362cbbabbb1dfed29a9b5dd8185e6b03b8d9eaa5136c4043a71984d30238c", - "0x00f0177cd72304e74289ad4682f02d4d85d6bc61eefda047512951f566161552", - "0x00915547bf8e4d780b4a9cb80ef0b151b25692e3c3e0380ed7e3c823713ae31c", - "0x00d9b62172c1b5088d27feb0d22cc480ba02c0a034fe1ae1f2053c272718aea2", - "0x00b51b9b04a423c2011ed796ba8b5b5c0612b52fbb1df449295e2ccd95c9ae0a", - "0x00d197e0a3da883f714f571405e476dcd30dbc00c57f70a5a43dba167e0ba0c2", - "0x002702bb51c0a190f228d460aade77e51188bb430a2626488edc1f12de20d370", - "0x00fe1ce5c30d31b9980aed68e8426e130f8acff55cea5e9eb5d0d5dd230c0620", - "0x00a22ef47af066ecc30a8ce7d2997a67fa1d11f72a9da34501ca7bffd232a4f3", - "0x008e9f4aee9bd19d731db02ad226c2a918f6d04128a46de803ec14d1874d2410", - "0x008e5bbdba2eb2f489702a47877148233ef4bd1ef644d28c880796dc1d068d25", - "0x00ba66c76a01788a10696cb325ab2c214ce65f1c7e6d49d218925ce88d325a54", - "0x00a59f6b37baa58cebcb019e7bc42dcd7becef919ccc112749c852d7d8b1436d", - "0x00a4df6b5831b5654b9a750a75a8085467c19b212aedb793eb681a66561ec093", - "0x00142776ca2f1e6a97ec4bd3942d800785f128f82c49a39915038ffcccfc3015", - "0x00f662043a1f0ef3fe6324547cad0ea8b57b905d4b784170da512fe288618e69", - "0x00d0d3ef3df8c6b2bb221eb1f94dad885f448a4539de31a89f4b9385bd86163c", - "0x000384a53e35df941ecd269579a8db45da7f918085fcc81e3ab26ac32d163818", - "0x003b16dbfcf1a9956d5d6919909cc1c732bc2438dbbaba5f7ec287065bea5399", - "0x001cf0930830fb59f5d091473555098e5a36d78486f251d65a441186ea92d96b", - "0x0089c8da2db125dea609422c0de5e49c72eb580c96c269b8a933ef95fc72e005", - "0x005220c3c38f74fade5d47cac43d1873cacb5fe47317ad71b2ee510da4975687", - "0x00cafc2129a583591cb3b06c06a600fabf4a4a897785cc799698b28aa9c3746b", - "0x00d4afeb128a1925ca74cf411095092c7bced60de56cf44787e3e3077321161a", - "0x00db3b14cf4ebab71f35bf770e6a367b24e61c483e984e263d3fa986bb7daeed", - "0x00ca3c3021a478f0e58d57a2c6a64f899ecd43e722f12bef95eba4fb28e22349", - "0x008997227dad9ebe4798fa2add473edab5fe52ecc02ce4e37a1ba4421c227be4", - "0x003d9ee7ddb80917fad0e67dea807e5894215e323372e8fd308c45831e6c3d46", - "0x00a0bf72b93a95914a4ac2f851c8a201dc0a1a4e23bbbfed2f67c922799c75a9", - "0x00ed8556659e9fa7543ceeee07d3443c19eba2cd9a552162d96559cffabf9f4a", - "0x001d21b804eb7252764984d3f70f339a916655ad1fa463ed7b3ade3feea1f8fb", - "0x00589cafb472b73ea7b79b19bdd8e3a7fd371d4e7e85d868a8b0a2414d2af285", - "0x00dc4e0c52155401d1ed91ba508a34ad084ca28af184b09499fc71abe5053faa", - "0x00f093d27e1366c6a6740cfff34b9bf4cbecdbbb4628a2586eae48be7b5edb6c", - "0x001f2e55b7f734792c14e38b1fc798d9e9569d02fddce720eb8d4864d50b2f88", - "0x00ab7905f2b6e35b73091bcb654c841f6d3056a00d973f5df83904e303f7bbf8", - "0x0067f35b9a5b916cc93f4c3b04fbe8cc0c1162369d7bdcb858149997d31bce2b", - "0x00a2064c1d4dde81d44677e1c39a490cf05dab4dc8c382349ef34e1242b81c6a", - "0x001f25a5abdd431b5334d7cf855d87d236203b2a149a8e3a69aa2bb03cb9c746", - "0x00d3e05c6e6a2f222b8655d6ae5d825ee6a5c2794c69d9461360a7d5836d174e", - "0x00e6599374397ce1050157be92be57e59a0722279341b80ff0e56f4c855eb381", - "0x00c1b97bfa71ce1a0a4102662e296932a3b6d1b7f9a25e3919db00b94f0cee12", - "0x003b14965e77ac6e9a4b0801e8c9bf24379531b8cbc12c7690e0c6fad6fbf45e", - "0x00164d1292c59898a4183b52ebe764b59ac3b5e2fe4cf29648125fbb1d2d63c0", - "0x00b409114821ad671ba3656fae4cf44819cd5e05ae6321bb6c41eb1a496fd6b4", - "0x009e0262bc7c41c1cfe0b3aab2a60d2edab76b6d2858a5311cfc469c87556655", - "0x00d3d6344b76319b5e5b884fb7ad9fe36193852109bdfb04c62e1b4935e875bc", - "0x005cd9442a3b95012edab5ccfce37550b2a0f96bc02dd3bde108e660515f54a7", - "0x00e11f41399323d0021864696e1e2ef0f5a2291d194971cb6f50ffa8ce0891c1", - "0x00b41e4c1ff8c7b9599a21a6cba64b25f1275160f53a954eba373426611e2260", - "0x003ae15c4a2de2594daf2f8bd16f14928466f23a6569bda3f89223a47bfb2fcb", - "0x002a2b6d2786ddf2867f821b1c97a6917606a1782d802c18a829a504fac4633f", - "0x00bcfe278779ae01818b9eb6cbbbbf67d13594c211bf2b24d7c3c00374c71697", - "0x00484ea67b144d56cf42a805111cbb6cb62875e0d98c15df27b962b11aae1b88", - "0x00b7063b6b3a5b6a3418e4e52537c1ebc22fa5bccf945084ee7576b97d0b4da8", - "0x007a12a174d61a3e65633b78b9fd1ef36e255711655132551ffa35e612c2f7c2", - "0x00e2f5d4d0f51d469043298934f426c7484615d5cc79be2b1fd92e545b4e3345", - "0x00546bdf3d5c2918999c0d4511ec027cf4d7b177fb2dc979e362510d5564a437", - "0x009bfb7357c52ea566f279c8c8df3b687cbaa1cb0064d6f7c0278a14e0b3762a", - "0x00f525fc5e7f2eacd3e1a49601238c5ecdd3336817d73e7596eeefe94a029688", - "0x005eda7eba49252ced2e91acb7dd1367918a523e424d307e7c567e3216864da0", - "0x0043f536c76157ceb1fcdf0ca969b5c4a1ce0c07f4b62edef47daae32283310d", - "0x009e3d8e145763603125bedef5eef8b314ce07a6a3958418f94057964540e2e3", - "0x0037a128c9053e7aacf9eee27d4857135a16814eba398aa6401e759db0c14d92", - "0x008e8538fbe763b4e83b024d85b46ddb9434ff8468e209fa98d9b18c8f535c41", - "0x00c19c385f94b72aa2a93594dab54d34a69a9c16e76edcaf10ac7f9b3233db9f", - "0x00b10a0fcf0d63b03f5e0caa17cbe711d2e7ee04e3b9c38cbacf0ca60302e2ee", - "0x00b3775b7a7f36e2ed95d8515581b699f549a6ac25c2daa5d6719ff9fca26e5a", - "0x00ff35113b69eb13430587f1df7535152fdb5651e97b9539f6f07376fd050dd4", - "0x00f7342a8b940148434df6ced2f4af0c36830ef904576fcf26cc35e9fff60e0c", - "0x00b72bc6c03fd55dce0cee82e7afe3c3cbc7b3aa1ad0ae4771c3efa618a95788", - "0x0086ab1a2dd6daf541b6c016ae077f5c19a871cf7e56641e2b4d26e5ebfaf2a1", - "0x0028a2745d5a8b29920a0ba32f7c40919a3cd607724e0dddb254ace3319527eb", - "0x00a389776990acc61327c072d008baa27ea0804dbeb8b09c6adf59e69e3a3b9e", - "0x00077f03e97aa7772d99fd5b7139da41d0b6782dd6fb8bd53fb3e923fbe4b6c9", - "0x0012f12b6ef6de4972da1d25157c9235b9ef06cfffdc3c7fa8f6ecaacb76e0f2", - "0x001e477a5578fe60e45c4c2f5b80d01e7e44b390fcffeb0941e53f1f50a06212", - "0x00025d8b94085634da156101da14bdd02e28d4f8508141fa26d6bb3fb75f9225", - "0x004c0324060f8a663521d7b7b27d68535c7f3d1c876f7eb0b13fa58bcf835ef7", - "0x00f99260bbf5a9a8802782f807ed0f327fe907cd5cc0fa5c0d7de15b7063059c", - "0x00ca17aac2704f9ab350dcfa60fd05bfc97b11354a05954eb41e2ca47bafae2b", - "0x00dbc2727a11806cdcca239d37e3e4e7b0acdb59d9c4fce62a0e62736145b863", - "0x00cab620a9e027f2a87f77c7b69449b4c7c720c80f5a97a4ae04020f5695a2a1", - "0x0071e0188da05c2e1979644ce258041c61c4cf28c0dad788f46ac684b126e600", - "0x007920a257a3d1e1c65dd99096ce91d276face27b653552f4ce97bd1aaf0ef6a", - "0x009d2ff66ab6ee54cf86ccd18f61be6c049b5f54dba6e513e63e48a7de35eb1b", - "0x0082a88c264edd7a9dddcc9b04ef92fb2e5828aaee62d120a658d25f913fbb6d", - "0x00d1c7a5fd6bbac72789efdbabba04ba7646be50e9d609c3aac6af06fe45f872", - "0x000b602a901366e6d1fc58f39a1d3880f42ffb02b911142eadf3ba23700bc025", - "0x00371207cdf6cbe5fda8793b36c16153c2d81232d3605b5adee22ec167fab104", - "0x00bb1d882f609f1f7aa332e62434bd6bb659943d2d910d0028efa56fb62e1fdc", - "0x00cc0f59207bd504addf4cd080160d27c280e53e01ce152ed4f4eb274bdb2434", - "0x00f01eff9e3128bca6f8b5ed274009a5fea7204450f0289c9eb2b31740ccf6ca", - "0x004ec97056a10374a597f97b2923a6a4770f3f69fdb58770c20f301db4602d5e", - "0x0036388c4b9fcb02429dcbc7d3ce6405eb56c236abcf1040251a059da45fbd85", - "0x001766d144c4b82de93c73da24485e1aaef081039461e8856af24a42a99b623a", - "0x00d1c846702b03aaf5ee60c833bd394ab97be1fd6f6cac01ff153f98c2ab8e2b", - "0x0044f3a8c4d9ea6bc6b34e486cbeb4016ad61a9cb3240450ca6d86de41364446", - "0x00f94debac0e1c5460ff13c2757225062fe2eccce2bb42d18120cddf64761e9f", - "0x00338d5f1628fff3822942d696307fd42e4d55976ed61255931147d9cbc07cdf", - "0x0069f8f09e75c22f1b0e1ac2aec04ea22dcab2bda1ffef4412e93407fd505330", - "0x007e69c9345e43c6cb501ba4085f01f97ffdfff52f28bc11460495fd1fed917e", - "0x00930240fb4c05fc8db389af21d6a82eb203753001775f506318a69d2481b78d", - "0x0091e1e85fcc88bfe887f6c788538e84df126ac206eb1a7aa9c52516a7053b7f", - "0x0034e6b007954851f4fe440eb9173072d62219c472924609bbdd335cb65da932", - "0x000aa84e6b9364169b6b9aca7b309feb79b14641bd1ed26e84c81e9ff17fc6c4", - "0x0075b1ba0cb6188a22d6ce2f6f1dba4fe1b715f501eaa4efd521777d052d3773", - "0x000e917042deac980ed6cacf5cb7b2a49fe1359cd309506cfdfff32a1fcf8e87", - "0x00236fbf5a58c9d30ad8dc8463424c47250c6c592115c3d51ba4b0c9781adb68", - "0x00aed5bb0a368efa68e58abedb86e0e353d4f146e39ae5903e65ec84b9f93644", - "0x00ad1a8b6336599fe9d902aee8a90b8601d6ac05d4ab78a42a66cb6b946305e5", - "0x009a4bfb24c9988cf2f0789fda73c5ea41e4522b02008e9f6b7ef01eb3dc0dae", - "0x006e4da5c5f493e52b5a30e872056387897ef433d9226fe4970a620cc4e735f1", - "0x00000b041a3bcde3a4e5ab937c5e3ddb43c2d534552129046181dd109b41949c", - "0x005725ed4f84c39c3527cd0a68a968fa521721765428271ea10aab3ec8822e75", - "0x006782186d7cf86ec994d317dd2044fac55a8a57a957b162579bf12ef8a29e31", - "0x00375e10e1d255c23c6319cb985a193d58d8ec06a9422db3b5eea1e6edd6fb95", - "0x00892db74e7cf2912ebffdda6fc9ed6084c76a1c2f8cfb98db63a83540207770", - "0x00190192f175bd68c5b258950c29ce20fcbed3d351d6739615d7b237b69bc1d8", - "0x006adbdc261f47d8edb703865635a6e6438d1aa9c79cdc7cb925b8bda8d3bc88", - "0x00403d96b7f13c24123e5243b2bf63bad9405607aa21679efbfe18a65ecbc1bc", - "0x00a43991b530161e8773bd181b5e9d49c3c250e9248cde6b55494bc3950f6918", - "0x002f82f295e6cf98778b38435c34d2b526d8d3bcd406390a9f11262512a438a2", - "0x00c7aa1a111644546462de73b929b618340c6753c65239dabdca904244b509eb", - "0x003ac71dd7c001909c92bd5b126dbebc021fe68c348c8dbc6cd33aacfb059409", - "0x007ac86c6fc912e30f40b802f0f55d80ecab7224eb7dc64bdb5e615a1406a809", - "0x00bab1b06a111f241085a13c48548fce4b53e8e372c1ed2b04babf04d5312e3c", - "0x00554a4582f5594949b2a2394c6ae45c8328646e18a3ec19474dc3cb3e4473c3", - "0x0036e802f986eb59e845e6b9c6526feaa7fc2bf163891ca81e6cccbd02f46a3c", - "0x00e739b0c98301471b667393bcca53eb1befc8e1cd270c48094312d45806368b", - "0x00e71807a79dacebd44b70d03ca84d1fb432dcd1933c345517434a131416408f", - "0x00c8da773ca11d909667951170d4da492c2fdbd12e1bb7949492295158cb7b73", - "0x00f2af1ccb52b53c0f89a794138506a70a46f58005c7e8703750ebcfe3eacb59", - "0x00e6265f3dfe38a63566da9920caf1b9ea366c52cc485c580569baf8de260aba", - "0x00e0e0d8f1c14e0e62174157d80df164ef9e9b801a3a201133f5166f94150da8", - "0x0002d314e96501d9c1f22cc643c629c0bc8b4b8d8025b74e5f0ddede98c95dcd", - "0x00a25d853ac65ef2b1863c353a4600c6177d58ae3ff97f5d850c3f8fd56fb7e4", - "0x0035b37a162a6b3b6697df95422ef84e1b816d5ed9bf8bece0932689aa1543ca", - "0x003e75499020fd3743f91377f2a81a8db6113b10bdd7af3ef1019633ce71525f", - "0x006072474a962deac61577b9b1d67257a6b0cb07ea2d3b7ad19e8cbce102cd54", - "0x00610e6b322fe624d0d9c443753257f5ae88dbec23068556c2292699c7bf529a", - "0x00bcdbdef282eda9ea337d292708d35b3681a369b9b07dedfccd0aaf5012fc7b", - "0x00a6379b9cbe504af9e95a92d7427723ac195d05a7bb96fccb5eb654fff67ded", - "0x001cc014006200eb94f449793fccb106a04200f6e9eec9e38ff3b1ed67e6b086", - "0x00fc3e05baf1ce7b2fadf0dd769a7d3c8578ea21ef84fe90c3edcebbe332073f", - "0x00479c84285c758775ee755926307acc26fbc317f881c7c3cfd0c1c99aff5977", - "0x0010ac3303938ec4c76cd1e8e8a55c860db21285d4707de40f48109fc3f87b5a", - "0x002a8d853ac1fe4128f0f4218a06f807e0ad771485fbe32e61332cf9fb40863d", - "0x0019aa756ab8cb4448123c072cbcde3b2e365e8c898d5174251916e451e1c16b", - "0x001c914795bd445f5c0e2adf26c4052844085b82681c28ec69772ff5f1bf0b29", - "0x008cb36925e7ad17e53f8bdfe9ef801de84c0917a20fb5ee9ab19776db8ceac7", + "0x00fbc091bf4ff0c157728b1be756ddf029bc8d2f894ab64417a01e75a8fe833d", + "0x00c53f38bb34acdcf45f73a799c4f6bda30fbf64f5fd824332dc2f1504b1e1b6", + "0x00c806f307f380e684913d6f43170d5f9ff32584f139c1420594096e296e5156", + "0x009d9c537c88269162f35d3fe434481710767c1b3751fcfc4da01790c061262d", + "0x00a193bc36fe6f95b24c5f06d931ebb7d84cd9c829979a20f893b3ab2df2b2a6", + "0x00b5ee586e6daef74c627690401e51dcfcc294f25454509546f1981d585b307d", + "0x008250ca750c2f27a02497d7c1c5d5aa6eb4da71cddbde6fba76b034e233c55e", + "0x00fde2d47bbdd13dbffd708ebfea5129bef488f253fe5675244a2490a67360b1", + "0x0097eae43b17ddc308c5b9a7fa4ac3ce841570cec6ae8587d741c7773f7fc8a2", + "0x009894ff2fbc06282bc142737249cd99e58c9f079ce1adbd7c0c0287d5794375", + "0x002bb67844b4514fbdd0db9450fa96b5f88bf9a8282d0fdc232744d74b96fc21", + "0x00d566798b9abcf32ddfe2dc6a5809b85fe40d9b70b5b9e0affcb9762c361b9d", + "0x00fddae577e2a2ca439e87d53fc022d987a5f9facbb2962ea9aafb1060a6fa27", + "0x00a5d8755ff8795b13efb472e40514d20b3812dd2efa437c061e77d1e15d539d", + "0x006161d2b2ff7c0ba591bcf9885141c1908775769696aff4fa4f7595dd804298", + "0x00da3f39196b81be67ba95c187bc55f6b9772fbd9e6a9bcef52a93dd06dd644b", + "0x007085da0068295bd723be4fec8ce39d78e2c1ad356845fb90636de5dc717cd8", + "0x00e4ec92e3751047d90dbb9e0d9736e473f234686a660e0f4a6c5d5b7f8c2dea", + "0x0017f0a69c3585524f7bae38535a580efe4cc827c1126df07393acaf76821ffe", + "0x0032c0393dce7c1fc03eda6984f9b03ba5fccc9be2ecaff3436143c7d2fa709b", + "0x00d62404148dbeef0157cfa2778ec57b4c394257b39443ebdd1dce5c6bf18cba", + "0x00c6077e2b0a5a46a5ddc57733431989796012a19a031108e19303656d6c0508", + "0x003d3679f83f58dc91a817b14bac32bd3b126ef6eaaec4f4524be31cc8198e6b", + "0x004705e79eddfb20fec357da5d1d85d669f325ce4dfa4663b319166069ca3ddb", + "0x00eea869120a7efac4cc2856b2aadb213f55c5a84b31e3a2fa43e0cf2b433e79", + "0x007caf99626ea73ad984c7eafeb900ece7b21c8dd3db26f57a43db1cfd223b70", + "0x00164b50e9b3ac158f5cdb81e8ff252c59c8169a1292126b6514dbeee81c8dd5", + "0x00fb1fd354e51a83b7084886cc1f70882a63c862a967175e0b2b7b258dbebc55", + "0x0043b76efc1021068a529164e3b356afcb4ea98c88911dc274634652e614798f", + "0x005b3a39a05789d8ac40a821279169546cd1ab6e164c8039f37530217f9632e3", + "0x00190175a263b0fb1370cd55beeeacd52402f7d57eb7abd62a7398e3e36ca9ec", + "0x0013a7adc3f6ff1a101e1d505613832f1aabaf62d7183997cdd4032deade5bad", + "0x0003abb3178eee6e7d933ab1ff55cbf1610a8f6c9793291cf62a126c5de0c676", + "0x00c8837e38d609a5bdf8307278ccb73825076025369aeca3c39387e33adfc8e8", + "0x00f0ce5453c67e471a94c0a26474575113f5f6a452943cc9b00782c427c32b5c", + "0x001b651baca1de90e5638f1c4ac8a7e78d1ae8cf2417b510072a2af65ecf8552", + "0x005a4f1172771d0baf3e9a2c6b916b834000b653d0914fc17bf30cbb293c769c", + "0x00a1cd2cc8bda6126a2fbea2556964ba0df9f32903105fc5042457948d0c4b07", + "0x00cb7a8c7c0e51e96ad6e754127881cfc74e13593c7c1dd566208673a5656376", + "0x0053cb34946acc76dfbf292769374f478bfab514a09a93de544f9d36761bd228", + "0x00d3ef4d244cbca9eeba6fe397a279ce95dbfdc49affb2e604947c5100d4d56c", + "0x00c6203e19113d15ec8215d203260d59e173e4a0768a0df22d95c01c7030cbd1", + "0x003ba8e56b648a1cb6794101f1b4a0c1b85abb136b86c1bd5b3e481f31e44ee2", + "0x00b40021061c278bca20a740d7240e02b31927e9c15aee7398995a2d8c0a3cc4", + "0x00ba21250f3c6d609fb9f4a076ed10403c38848f5ee11e16e92377eb973c10c2", + "0x008ed2f546c76351da0340f764a74dae949ecbf76efe04fdcf0e3c8e8a8a207c", + "0x00087646c7086effbcfe0bcae9ac209fb09157d32dd0c1dfed9cf29f095c50f3", + "0x009825b83f4cf1a4817e372e7a0283ce429bef7953c844f5e39a2a8018cbd640", + "0x00b4e81b8155e1139fcf6dff3b63fbd3d0c8b4744266666d2fb3e4b4a2169240", + "0x0098bf3ff2e2dd4222d84433e4b1f9ca4d18cb2c9787144b6657df4cdbf9bf8a", + "0x005f9a08f60dca09251bfcfabdf375e3f099f566242e3ce0a322bfd8c5203f20", + "0x0098a0d8b7fd6852dfbf6b46ae8cec83854b0a221cc36ffce3038c256b6a5e83", + "0x009a2f9e24d3dfcd433a8645851331844b76cd515edc66cf43f993b4a450ccf7", + "0x009a9912f41065cc60f04d5a0600b12f5341611287237752f3b2ef4ce75d65a0", + "0x006a60b9052a8d68d6820cf1a76ff39644428c80cbb99a320bce8e07d6247482", + "0x00d51484c2e663985166b2067db87a3506fc93704dc005fab2f7d6d824851f15", + "0x0012934ccdcd2953e2fdc7f71db117606cf55faf70a1215e5a1db5d5abc12498", + "0x00a6ba6cd01d6b4ca5326f9c51ff9699c35d5b051b32f35544e87d2db482e3a6", + "0x0021454b18c81b4a5ffa156bcba712e7547f11c3bb866e15d4b80e1c7e9c75bf", + "0x002fa4d7c535f465cc1c6b0879f4bcc347ea48838cf28c708e158f216fda92a7", + "0x00ee0ac2f882241336d184ed204715b944ca2d36d01a93150215aff70b483e55", + "0x00fd7109014ea8400dac981a22a3c8c0ab4bc7af7df2ae22a432ea50abb5ad85", + "0x00f2a4124cdbcf2551ca1817f75dd993f1c7d9c5459e23bc829433e1f6d89329", + "0x002cb015f9542293491491f40bed423b0c715b4185ff5aa4191fd3f3397819ba", + "0x008ee8bb6359db2ed53b4f49773aff3b43f30c73796196860bbb240967ccb479", + "0x004b42da2ed0149a2bb6a2fa28203c6c2f45f9f512db95ec878fa595d59b1168", + "0x0075ac2871f3f704ebfc2c607bbbecf1131aa423e96b6d7744647975bc6f3907", + "0x00f615d339d3d0d504cad6f12be9368818ddaaa39887b6106d88e6daef94f790", + "0x0098187ca86302946103bc4672117624194b7a6a6bdb75300d99b0f92e241bec", + "0x002e7878a38e6ecce67322324f5b17580e0dc00427679775d7607375de7164d1", + "0x008eb6b9b66237c559d338a8e1d3409b55d2c492ea153cdc957592c5535d5279", + "0x002c2a89c6c1d828162d2cafcd447ea60fa5e0f8a05865589736be908c0b2cdf", + "0x006cf6b47c0ce8d4e3356b40d35c56e1396f4882c0f94600568910224e93daa1", + "0x00b7594ba8386bd9239f5d359260be8cf0db20d222dc92b8ab0f6bda82e21e29", + "0x0032e83d101cccf8ec2980371ef9f83a17b9761f7b02d7078d61961d30ee11e8", + "0x0017900e4f85d9993a9f67eaba5791d8633132b74cfc9e52e6fb27483b92bd43", + "0x00261467072608156fde9124d8fd6a7474b90b43820c360900a270d126907028", + "0x00855c708e0b255c51701f0a1e466e7b0d08384b36a23644d8308baae136cea1", + "0x008296c7bd48420c07a90c4f7774eb93b1a7450386c8c8eae021759f92b7c078", + "0x00f604a47f6d4ae828ba2fa0ac098801ac98fe2cb543deeab467f1ea0ac8672f", + "0x00e189b789c453e699176be5719d027553c87d189101ef064f7f3063b991f1ba", + "0x00f338363f488bce03264c0b15f70bfb77bfe40fdf4e47b38b9c26f67088811e", + "0x0085fc73be348943fd293c701674772bbe6a2ced9b0c46e075afaac600b8666b", + "0x0086e37c7759ffaebbd418f8cf625538085232a4945fde199f8183c98a350933", + "0x002363da23797a22ec7f4d64c672a96298f5aa67857112e22283476f393bd4b7", + "0x00839de9b1d0bd2cf95038b2af32dc19c22b154ba4347072ff7e458fe9a3005d", + "0x00540d275630c9dd9a2053733cd94df0e37c38dc6355a4d2eae8bebe924c1fdf", + "0x0036a6840d7e0efc2ee74771646077f65e11a4c681431583b58a9f1eb6d6d3d1", + "0x00685afb40de06e94e9caec33a15298b69cfcf091e30b8a66b99e2207de2e337", + "0x00da2533924ee457d049fb2e1338df5d5f3f0618ce8d0f884fab53dbc4e091f7", + "0x00280322c39093ed31239465997a76dad1b08b2883df40982a7bde7f650e4ce7", + "0x009208929918270173acbc09627656d9200fe39e607bf728174e76eed9a838e9", + "0x00cd09e8c4b127d99bc5e3b112360e4dc3bada33c92defb7211e1c4860bab42c", + "0x0013af9cbd61e60641f72cb6cb74eec7f6def1290f7de7f5f07ed82e6b20823f", + "0x003b052f5b8803b96c8c6906af4488162c162d891493ed58f711e32dafd9fa9d", + "0x008620f34d4120c82b115384df31d53c7f770f436a619c2cc12ae466b43eaf69", + "0x00c23d2145a95f753f4cc186b450f0bd7567c4a9a0d50ea9f7260f79feab730e", + "0x00f543ab49c0b14ae16a03efc0e3c28b49b2743678e14ed1f29bb3c714f4f6de", + "0x00d132d205f5685d45f64ffb6bb508fd351d62c0614a1d5044eab6a21a698799", + "0x000faf00ec90048186e354e5cf911e17701456b447a2bbad657eec7388b94e48", + "0x0020fa968795c96a70f35ce6e5c8dc16ddf7e9c17ee36461eb0c75a9023754c9", + "0x0085193b35237684c353f70868017d902ddd6b5a2aad8ae2c8e512213afcb5e9", + "0x0084e17b4ec112b70fa4f4af0aab526d6e5c49721835df81ccdaa3fd054ec654", + "0x009bbe12f82a6f8ca7d9cae4d660564416af321bda047c9f2a7bbafcf7c5a875", + "0x00c09e62845fbabce90ae51d21796f7db95263c8cd925cc6b2aed6301ae93d40", + "0x0022368c2f86004b1550da704336cff8ef887cf116e7d1b5913f8ca4b0aaccf5", + "0x00f230dfced22518134df2b4f5a11e4a9a4ce6ca326bf14c33636d2bc98c7a71", + "0x006e2fcbc12e55369440bffe83ddacf20942e97df0b70f9fa947c4fb86fb5a43", + "0x004c14818555135297057effca6c73b7fd62b46c8edda89e593e1a679c485775", + "0x00f82eac11ed902446277a670b33130055ece77ed17a31ca504aedd6cb54870f", + "0x002778c7770f9d68a8ef2c2f67a688de21f5cfe66616819bf8c87485746ebd45", + "0x0093244a6b36b5b94eb674773ebdc9b95eeab13db9a76cc629ae29d48fe7d3e3", + "0x009ce81c536cdf627e98353b3f8cea42cf7955cdb64c66f74264bcc720f0d36d", + "0x004a0f1db52b7cab5c2c03ce97c3c63d249d6d3711d76d114bc3f24931d981e3", + "0x00a86184e253fe21b02884f24fce7db289dfaeb4554c8bbf5a6b017cd95327a1", + "0x00171d6c8c4e715a2160bde7a4aee03c78e8f464b2a402ff47292a012ea87f4d", + "0x00ba89694227ffc32b8dc051352e93478a99b852b6c020709f6624c5d004bf23", + "0x00d17372ac50e6bd9859bd1e8a1f154d1caa546dafb2245e3048f10229171217", + "0x00d85a23e0f2e3bd644108c89c417a05698d02b461e26707c4c778f43bb03564", + "0x00068a94718f5772ed1700b90c032d619b87d6f3599fb2d0d0a89231630146ad", + "0x001ca3957356a7a588e79fed4d4af157f7c4fe221c139a59291c7ecd9e9499e5", + "0x00d25a810fd19822a4923e5194260e236d2e32cb760728878ceccbe7290fde5b", + "0x0019179f9454d69f2ed02d3c61841c1e6686b3eb00eec2d035deb81a02c96589", + "0x0077b5fe3f9a5e0a69ba4533f11d16b56c0cb6f6fe039a6ed90789a35ff1e213", + "0x00cf7a56275100878c3ff87f8d31af028a93b3b643822f29f0f905c6dfed3f8f", + "0x0067b4592eccdba075eaeffd9338daddb250b93f434d090c3c000ee1df937682", + "0x00091295e99bf0d3c7b7bb44a6e9fb01bebb4c2fe0047f56b5e953cef4b8669e", + "0x00a72ff8e283e7e124e094347cc77e6fba8611b6fd281de2c8ed5d43a8fc9ec0", + "0x0036bb1113350d2a1b86304ad49585e3ad2ac16fd24e0e903ff9559be5f16090", + "0x006279500902410b75baef1583a58ea0da812474a3f8e12f4609608cb72ae678", + "0x00d7cfe48315e88776dd551f9a564533923e6bac43e4c9b0b2337ab8c4897fe3", + "0x00f3b9bac97280fc1037ad1638de1652d27996ac95af636d48eca22414b2a855", + "0x008e6ae281c7d81fde0095eff1aec08cefafc4af3391a96facac695a832ceb55", + "0x004d24cefd4f58dd42a76bba3bcd700eb438253fbafcfe18a9a9eeb383035964", + "0x005481bd4ce868d5586e3f9ab24f2e79d6002af9a626036b78fa1ffa7b36a759", + "0x002f1783dee6ae962f5145ca4b4384476a7bdab6842364eeb95c41eaad224068", + "0x003777b809be2e43cfab1873ca4584564bc42f984b13f8096c08af8335f36bf4", + "0x00c10f36ff08c44b3b0610d29adca40ef43b8f29350b17c60e286befd5aaf259", + "0x0029b9863a12e21a0fee90b15b75d6436ef73e5511faa8cd6872e6e2864f64a9", + "0x0056c39038674dade6d51387c91cdd06fdeb3a335a299f0689e789d6f0cf859f", + "0x00dce03ca3bf16b8d238f091f282433782c74731aecc39f9130b7b9d3f8d083e", + "0x001130bb6cf679054c07a05cf6d06cef0b40338b040dff9124803b98aafff078", + "0x003a89a21b0519af5a2ce1945a6a2dba6430a33fcde19ce05de95c0509abddb6", + "0x00c81e9b14ff64f0be3a7c6c880d9113e35cd8091a4191cd52086a0be8967c5e", + "0x00ece04886b92d8821d80846df071bf9615be0444e0c2fe5eb411e3183c169a9", + "0x00de34117986e21bea2a6ed0efaeb735fc5a97cf7f64bda3d98880c8f626491a", + "0x009824cd7a533c5ab7d637d9607f4a8a541d2b5504e596c9822cd646a5bc60ca", + "0x000197894a63ab93ab3329c6e3d9f8a4be326168ae7f357f9ea3f98c031927f4", + "0x00839950df0384eab719d0f922f831b04ec6234aea98b5cb3a26aef14062326c", + "0x00a1c2e0b720520ff7d8596453a37fad67ab8076079df8f784e89a22d0fdef31", + "0x00902e3b8d10bacfbe0522ab316966f4911d48680144e3959fe2fb4850fd3528", + "0x000713060e6820257fc2183bd76d68d4748c4fba1016123a3d82cb65906fc58a", + "0x00fe2c17052aa2e0a83cf3f1054122b56d0116ec10494f54da1476b738a025ba", + "0x00d500608b3fe8e652fbda347f71e43380b7a3adfb7b56b6cab86ccf79266959", + "0x007055238b788c586a97ff64bdb5ff293716b14aac206d0fade1c982209a052d", + "0x007f015dbe5f0b7a5c14129ea421bd8ddb8dfb9a6c1fb7e8f60324b1f678903e", + "0x0098b76b4f7f962a51028ede09d0f7b70f07c1baf440dbd396d2c9bc5eac92ac", + "0x0043e763030988aa382d7644824f263481c4a1a6f64288ab0d69477bac368aaf", + "0x004520e1cdc1647d2bfdb44da21d1cb9747967e5f793392f9df3a7825392cb45", + "0x008d865793832ce6af12f29db52e4a24a7b645faab13c11c008e7dcc60c2e885", + "0x00ba2f56d9c9fa00f27670bde8b85fb133d68c4ce3ec75e89c33739efd5daa2e", + "0x00ddf0cd6e6ff03a63f82e6f58003e2fd24689949080819fef15688aee733313", + "0x005910503ea816c56c9147cf920feff2cd8d27ff1bb828cf0b25ea01d06f9010", + "0x00776ac3a2a4b4339c085d5ffce7c7c34e0441d89fd23980474be5293fe11a1c", + "0x00b15a4bcd76d81bdb5ef27c36a98fc1570436d7e7e02b25b050afd2fe27dea4", + "0x00948ed342f0b6dde03929e92154349564de56759a4acc335874bf3c770bc97b", + "0x007be844af4e0c8b639c820cee0fa1fb278f756567c7d65dfdd2b0ad71c7f2a2", + "0x00a5a03719e1003f720a757acf151ff59e7c7fe7740bd9ee4781b58ebbf307ff", + "0x00d2eb23f9e47814529828f99191921d37e9617de4f1668d97963c67dc88118b", + "0x0042badffb6c23444c57b6269a54ebdb473bcc3e060cbc60702e3f629c02c45b", + "0x000656a40de510ee83fd82cd88132241f33f64bb2cbead3d33f562764818fd4d", + "0x00fd311ec8720c469e49b92ee5e48b311137523d2215ffe52bce338652f69097", + "0x005b56798aae5f49acc5179f61fd628ec95535aec5fc14d0d4c69e410cd48e53", + "0x00e12feeba5be466fc62c72e6ec01f47757b1d3c002e685cd88d7f4b69433bc3", + "0x00ac0f8c6fabd2f2fce2628e31020364ab3a58147e91429e83dc426fdfb349b1", + "0x00b4dfb6ba69511de40c7b1aa8a0273c197dc05473b928693d8f0c68f7b6243e", + "0x00c8257b403072cea27381101ba173448ece3683d4628857cb87e9222d3154a5", + "0x001792f2c355b90316a21314a22e879c133ddd936adf82f4f55a720669ff017e", + "0x0065615314faf910eb9478e244e28bfd4666d4c3eb79e8390d951be5399b3c46", + "0x00d7108e04ad9447921a074243c7658498f8825c495c36aeda5973cf7bec100b", + "0x008d245399ff019408336cc385f7fd35481db1a3064b7f18caa3032b82ec7411", + "0x0019b1bfc3aa624eea6bfe8baac245a917e50e6401aedb5c20520b1143f1e784", + "0x00482af2f171a52beb0f2256758c91d632bd08396ee96dccd4621c617cadb155", + "0x00c1c947693af7abaac50fbfcc5e0451e194d2cf64ba8a26b1392bd0e1808e09", + "0x00f31891789f4e5304523caaa9295b0f0622ba42f288eb51940bbedcee0fdd1a", + "0x003392c7895807c95d357089f4038354d9785b0f0f331eb30f5b44d82ceabd08", + "0x006c5a109bde9d7c00cbb4726fdcae6ad3b664362913ab42727b07b54096c7bb", + "0x00944c4d6b17540b40366f8b030d7114e8a9fd32d20d5c89d84e8d3b00746b17", + "0x00f5f6846a2cdcea12a5a359d6e8e3f41190908cb7c62930cb74f63d9cc6a565", + "0x006f8dc3587c91e5f075a3bcc1af3a12c338dd148ea30033e671c522a61b97bf", + "0x00c917a90250772626a618e5c1fb0190b5ca5a58ef6ac839643c30e688d49297", + "0x0037d4323e26c84c114442611ed3f5a1ed273e8297235ab7b1f5d5217c75336e", + "0x00dcf65d439a5635c9c5ad426384b0441d296890bd47c1c673c9f945388e6a40", + "0x00e07db1e05a6c9636adcf0ba707a48d14aa164b801ae97f19a404f4a462d5cb", + "0x00883e9805f24316144be9d4b7fc5a2daab900431744ac309de795a94c75ecda", + "0x00b5726f9d3e2c218946c180d46b98d854dd7982fef16f78c9c4947becdfe2a5", + "0x001214a80cb2aad13bce1752f82545bcc6ba1e9771e6936c31057333ab6655c7", + "0x003d49d3a554a999a91d4aa59de84614cdff8c2b503191157253deaa1da2c49b", + "0x003762ebb080e2780cce150f2b9abbf9e7cf1d52888a07a00e5fda87ec1f6458", + "0x00479d0393e41fbcc4e9bb0586daa1950fce849c8c59291bc7893e424b4bf7c9", + "0x00916883c358343d279138bec8cb0c80fd2cd0eb81b85c39671a8d48f82eef97", + "0x000878110f77aa3962f62ce056c179bb73636798a8092295baafa375cbfa5402", + "0x00ca50c8fc7f08d8ce34537b4a2af2b805b188f4e036ca7f68b578c8f5bec598", + "0x001617344c121637e178687919c40fa5255462366fdd0b4f86adc89db01c0380", + "0x002c7bbd449da50913356f6bb1e17d36a7cb6c85c603a5b789bc701fcd927dc2", + "0x009d2b80c51affaa6e38fec247fcadf3042115dfd3333bb13c148368e9c53bde", + "0x000d7c75c3e7881380e1853b5952e4684e0abe36bd6e02cc0200ee87d192ef9e", + "0x00b76f45a0628bc669945c3e6b823312a3bdb1818646e1d9f01cfbe419e1d614", + "0x008f8d1f65ae84062d243cc67f65a21d3e9f82f0387225556fbf727d0a3df47f", + "0x00bed2562cc6f723c6d19f1da48481fcdc069aba55347a5df18cf7bfacaf21c4", + "0x00eac9105398f4e69220b951869c28e1b4478839200a60c816b115688b762261", + "0x000064aa8ab0edbf6101e2ab651168a3e736e2acefa80f98fa508a8195708e00", + "0x0073ec531ddf451c0b2c8addb3dd0dbd98dda026fa017b8e87a67336e9b8461b", + "0x00ed04005480c7fc6f0fb3098bca31934ec94857b041eb506fbb8cef569f04a1", + "0x00b36cd565a9790e93dc456b15442ebf7502beef2b6e74bd7f9faca3b6dd0844", + "0x0084b0c5c75eb57004345d986c38d877d14ca172d1218500536a24ab9ae47c5a", + "0x00229f431b3e5a03bc692543f05af93a5396901905ee0e0b9bc66727d58c43e7", + "0x00d1bd379595af73233b43a8c9776567b232b4b55f229103f02b36bcbe1e5f06", + "0x00e138455f4fcb6e658f85cc7a8f62e956940135ef4513b66dc8b6041954c5bf", + "0x002f4d3164e7669b515d1e4239b282368c58bed082694f620791a6903262d4f2", + "0x007c90be246874a543fa0260c1ad1c8089fe27f97803d2bfaf4d70f2ba7914a9", + "0x00d7a590e03a01d44a04a2b882d0642849739e52d482301ed05f20cf72cf6ad6", + "0x00ad9e2599b7f2babced9170bd67429f7c5d7f973d2e3d852a30dac2a2a6c008", + "0x00e9501d6dc97794ed8225fee9f5d77664837482f4e42f9f3032a58447b27a69", + "0x00587cc2c6cd0220db390792018ce15afcbcc044092f8c77557b6bab97c3de72", + "0x000e9752f62c68ec9c3904da35e57eba28fcea801982dfdcc05bf6475a3f681d", + "0x000080a490a442a7fc883d856356598a13ff8965bf48f1337ee50ebe74caf88b", + "0x005e222e359d3aaa99f1372cc55c5f4deed950fcb4866d02cd54ceb5cafa5489", + "0x00698cc9a00b0a335729dd5cbd19478d0242414d3f9ac23deaa6f8028b6cf52a", + "0x00b9c1cb4ecc349a9cb3862b514d637015ab4ed77808877d65c0441b9fc65523", + "0x00290e03a469f42f96a7f701f021ac3cbacc45549e65c595e8a0f8e90741c674", + "0x00bcf84969a023880fff1f13ccccf8a1acb6fce2b7b3cbdac950ba8b574a1ef2", + "0x00414bd6dbe269eee6385d1d26811609f5f54db79368b9b94a0bb9f686f63b12", + "0x00576d5f21c21ce8a1c3143bd5ca523c1601956cd0ecaa0b20bc825601a98b61", + "0x00c3432d2d0ac3646e82c2ad6ab3bf43d73699e1380acb9c7f04128bed930e44", + "0x00d9e5cce2a5f8b3e1da539d89746949bc444e3c49f80be5e9453b3a84704585", + "0x00bda11e8b69c4e1bc5836e753535307ee6d910af0d61af8e61edf96312a32f9", + "0x00d6346f8a9742bd0b4310cf7aa712b6db78ec27cba0caa213fb893023eba7a9", + "0x00eede331e10f14d8900a623fd4db6e03245f36f5e6b32a5688c463a7d4a2ec4", + "0x00198f06ed3f4467829981dabef532604c9c078dd89d4655b5e7e76b49973315", + "0x0093bdbd3c538559b9accefd8b2b670db1e415eed138e92862d4ec1de7a366ba", + "0x00cbfae8844a2128e87a370575662b4ff6a448184af6c49516269416dfe5edf7", + "0x00188ec30557550bdd1fff128ce4749da023f43a573c2bf537cb031a27e38dff", + "0x00798c89eb15740fc8d7bd61092dcbc5ba7009b72ca8a1609ce63a04be21df42", + "0x004deeb7fb5cce3150604d3fec9c02e566e871e7c0bc47c92a86b85e007d012f", + "0x00afdec26016efdf1b5453fd5f7ac19968a985a8a696b600758576b08e709b28", + "0x000f7f2b4eebf4e1cd68cc20fb414bedec026d979ab0e3d1179e675841378b9e", + "0x00c7035aa6ce6574304de5736623e53dc2bbfe29d86e808f19ae41e2d4aeb9b6", + "0x00ceef4b0e8f957daa284566247f1139a67cce2907596144df5d47b4fceca433", + "0x001cc47e8bec8a453f762cb909056bfb90a94caaf321816f6c163b4566d13798", + "0x0008a281b5679a276fbe32a4926c2c67128de142d7cf26d60cb40c13266fcb7f", + "0x00dbf9bbe32b757f30881324d6dd0a5ca7a73bd5850e31ecc4529de7210375be", + "0x001f7ad177286eb5aabe99eee0f9c0284d50485b71533840c15a576abc3ff619", + "0x0023b5df43012f6663a051e2fda83d20725a42b54a5e5d334c43e6a8f6938e01", + "0x00b780b716e190f3390c411ddde3094aa8a5e83eef6b475673651fa277f4b3d0", + "0x00f0b606ba4c7094b196ea3091e102710a0c387c81ce05e675e951ce6b0d068f", + "0x00f3ad46ef1bf27ef5b1e1e6fc64532f21d17183e02726628dabaed34262a694", + "0x002591e8e70c28e8aada420cdd499bafa22d6d4e6c64d92d4d2db580e766511c", + "0x0091c2ab6c489db6c2ea6f8e9de9f87d5bd68fb09df1645520b1e7e5405db0c2", + "0x00dcddde5cda5ce68f264ab0b5bfbe10064040c2f7b8db569e1e1614249468ac", + "0x00daaf54b5e580a016bedca5e994ce5d550df0e8ca271c6d6a97bf8fbfc1817f", + "0x004472755ddbd9af6b1fa1db2989730d0211e6a588f270bc4071035a650a4722", + "0x006f1807f894124d5e261dd3f8c352301b2cdf92ab2f54bcb6ebfc377805bca6", + "0x009dd8545b31dcb800e03b11e704b2e1474c100bafaa78987b0f367eb00101a8", + "0x0030bf517c352193e148955141da86848e64b65571ca6eab9ae81fb46a681425", + "0x00edf5b70ea8bb51036408e28fb4ae4ce9156a9875e1e5f6567592b19f578c3b", + "0x009bfd09a62652e57241dfa7b9b787e54862e4fa1a03bd2813901d55a5918385", + "0x009fe6f4ed1febeb850f336d2537835c81e95b175af8f0a8f1fd7d95337fe7fb", + "0x0068c759c44a1252b3c084c715522cde88275051b319845c5a45f834d82fb3f8", + "0x00192d192db876ff048c5aaa9ba453cb61d983ca10061aa703aa500d7a97675e", + "0x007beaf17152e02effd1db50ae2890e8f8dc02e4aaafd7bf5955b2fd1c4764f6", + "0x00a5ae98380cff34920e074d98ea1f4ac2bba4d5ab695ca60608b57cb8060fc9", + "0x00af99fa42ab97887d1f5cc8bc4f3d77f41d2896bc8bf31b2953ccee3dfa3f7c", + "0x007954f97f4353d18a319695bd3cb19d1c06d657ffa0b38878cb7238b782593d", + "0x00d97ceabcf2e1a59f97ae06254533db518756dde3d6673de836395ec31d4c71", + "0x00f0f321d000b12643e9baa9b5f9196ed76eb3df4b89cffcc7dc38c809538b1b", + "0x001808063f1a02959a0884103041e6e0beb0ea8dbfb566c587fcb5f87094ea0d", + "0x00588b515bde779f700b4be52dffc1d9ffe927c3a6e916ffd44582d9904c28f1", + "0x00cdf2a1abb0201e9839c5034124aa0a5e814c13b235dbbef8125dd9591ef0f7", + "0x008d48190164e9c2440afa48819a96f8368a063e679434fd25d76b365ec768fc", + "0x000e8cb05ff750edd7e4fb7e650b5b18740e272f2a87010eb2ddb97bd8bcdc46", + "0x0028111bd3fd52f892ba3a997d86d377cb29ead0a75b130a825ad61c4f840812", + "0x00089dd73d99f14b5a59c3052e5b7e094f7c679e7d7898bf258a3c951a0473ba", + "0x0082c67de4f16933e3088cbd750153a59886e16a1c6e9a9faca3628c117cc840", + "0x0036e0459559f8575e8954f657a164c5d56c335ee636c606e8e5a5dbeb866956", + "0x00b7524d95e0c1c6ccca5ef72e03d936d2ba03698d73e1ba2b0b2aa5428f5f6e", + "0x00a698ca45f5f7b8ea29c97035229a5c0d63992e580f141e9f9b6cffbf366a43", + "0x00432a0c542249a85b38d5028273c158ac918cf8cc96aaa77fe2a4231b1d8d8c", + "0x00741f45dbd4956295eefc92bb9c6903f3a7b5fa808ee9c66ea8d43046f648c2", + "0x0043a5c30df6770baca48c632b9de4cf636abd3131c2bbce42babdcc50461e43", + "0x005b0e3f82ea382dbde7b7283206779a9a0309af2c78910a67503a2e0292f853", + "0x0090594bea52d0ded028ee4587c54dfde336a3a539d046776582d9f96e64069d", + "0x00f34ddd35c213ecf32f79dd36126c9b80d7ec7eb483b28f26fd58cccc98a9b6", + "0x007e097e6a3c9f04deec2b0e25d5da5155f21f5cf662dbaab5c79e872b1abb77", + "0x002d87cd882aad117b48e799a2eb4eca3c380a13f2ec4f7175494968a8a7085c", + "0x0012b6985cde06df214923a2c5030e442b0efa992f80d812ecbbb559a90db821", + "0x00243b9e5db656a207e85f254a4db21271d7e09948f4c6a595d0a222711f99f3", + "0x0022d5c5dbd28fbfab3fa04db49701103639a19dda68c923818200b8fae82fbc", + "0x0086d4fe3f9c776f5ddb146e34e1601250d85e6b02b075c86e60c01ca64867b9", + "0x0058c83f804a672016d2c1f0205ea859895712dedc81bdc05407236f466d9566", + "0x00ffd8e5d49557795c9c443198f24426db92b8e5bae4b528d05107bfc58e2d14", + "0x005e0dfac2ae58373495909a12380387c5a771655923f6ffb83486062ed803c3", + "0x006f7d6a786a559e39f7570c2905aa3e6978aaca10d88a62982824895eaec62a", + "0x00ac27bc163a7bcec4db7658637b75fe7f68bee2ac8a42fa7c8899e76cb1f7c9", + "0x0023d4eecd3b7d06fc804283b699ca701fd8f229d97d4dea49ac54bf0843afb2", + "0x0039df28a500a4928e07848bf2777b3c9cd01ca45429d5074285573ec68b73d9", + "0x00e54158ae341be7280efc5bbe0a30ddc42e2c3e55e2d57a010e7b7ed310c493", + "0x00f009f07ea71a099b735f4ce28bc5c2cffec25ef7fb18dddd8453926cf9b465", + "0x00b2f86bdeb20b1018315d79a8a62c4331c65158c31e65b3e8a0fab986b8dc57", + "0x00418469716e226db09da8637956470a518754388b42dd59f41ff786d0ec7197", + "0x0084260f9bd944dfca1783150aa019faf16fccf978e6c8b64f83b2e586237399", + "0x00fc698df0011f50d8df5cb9202599bd55c01d4a91fee136eee23a988b410627", + "0x00650fe1cb1f79815d45463df2d62ad7be318cc1470b5f319c9fc14e2110761a", + "0x00ba58e301a6c0f141df6003e87de042cc89cae520e75e8f3a56c67eb6004952", + "0x001d383040ac9621b43584ad107a08cd4bcbfea1706e219bdc64160336627e93", + "0x0067ba299833cfdf3ae7483f624ac574a7d0c0fcae5df83ea76aad9bfca5f8bd", + "0x00dab8f6af3886301b7693d24083ce2e56a73d4d5423355b45e9f4e7182d8b83", + "0x000ac161f0635887604d074ff1620f7dcd0b4deb3816b01cd108f9459e3bff6d", + "0x0024c89d0efe85f9231979a0b0be88483a1d85b71021afcd8cac73d91f700c56", + "0x00a1ad5d9adbbd3c60e8542a9c14493d9ae9ecefc13f5b534ccb50bf46862bcc", + "0x0073bd944bcd9adb7e94f87692d512b9f3938d3f5effdf795a118858d76b21f0", + "0x002305ee0d246af9ed73fe8fc64fef151fc971cf93019e008d969ce05eb9ec47", + "0x00b43cdeff2bccdd6604c748d9aab46e0fac2fbd138f0083d15ef288290dd514", + "0x0061f7ec0f89fcc48f89ac08fcb5f6560b165818ecdf1f6a4e5847dcd19b4a0d", + "0x00aa423f31c4b9ea647c6af1d0db551b310e42b1675ab426320a5500be165a89", + "0x0085aafeb5441e585f621e15f5f88b03ab3f9dc1c45c70b47cb215957feadcb7", + "0x006d59c7398a53bf53f1d21a4b378cace5b1a370422c36a1c590ae2bf1239acd", + "0x00b4257c31ab97c6acf933f3119925b8b827892f003640622cfde076f39693e2", + "0x001b0d314f4c2d8d568eba8c9245ab89637d6ac2df9dcb3c47720806c7cd7638", + "0x0057cf86efa3c1858075757c2fe0675ffe4d38df33c8ed823cabcf21f0e3ad1b", + "0x00064775364b06496bafc887abb469fb9ee882709c7dd9630f7f3f0972b6dcc5", + "0x0063842d5faa6c89ccc9c2bdba1f2ea010fe1bf9b44f6dcac2b8eeede0c11bfe", + "0x005b875f53e6b9f9227edd1257f07c55fec4b9ccf685b536bd0226f07d37ca1b", + "0x004f8fa560520b9cb606cf33954476661a876b36b6901b1534cc66f4d8ade3c3", + "0x0073419b9a456140de82b79780cf4987be8f0ead6573be738a57af7fa782986f", + "0x0084a59380b1bafa48cda9aa2773a767337d3e5d798ead11de147c9a151f89c0", + "0x0079ca3dbe7ad4c0cbe16996e27623d0ef2a558105d177de55d2cf091dbdc700", + "0x00c9312cd3b1a006876e1d36347478c817d5ddbab3edf4de78d691361c8455e2", + "0x006795899d358c7a160e3928d71313dc8709cc1970a3c1c7f105b9622e17b73c", + "0x009c11fa88d5cfe85fc764fa7367d23c9e1e00ab1976f93ddff6b6a2f6d99c87", + "0x008d848675c409362675e8f8cb466333102f874efbd923d271050af381f61291", + "0x0013c54ec2fac258719e8561a300a23653b538b6091a1a06c2e4d8ca295d7a45", + "0x00be7eecfbb6a3812c85d4bb0ab8ac622d00f92715ec850ed4a605ca9e7bbe21", + "0x0023eba90f95b8c5ba335780cd8e4ff0aae1aa16b860ad18b8287bd0967238d7", + "0x00a95efd9e304fef465102380a80616b8dd4cc5e79315a7bd5cb304c69d1a984", + "0x00ddc7ac330b8cad3c553a0570389460a1c55015a8bc1c7b783dbbbab121d7dc", + "0x009ca5351ad689565b49e8af3f1cbb7f316838b763684f677aa0baebcb988d4a", + "0x0004e808b60ffb1ce82396b5cc7de7f16dc46e6a55021bf5ee895ab68ff2e53b", + "0x004089c6c1b36c88c33abbfc04be7ed9b72ad749f6e1fbc17d20e341600e967e", + "0x00ed2556de0f5f29c3720031af8e74a2c28caa8703221069b823c068e75a24d8", + "0x0064bf478ccb3b61f1a3d843454eca45b967cda2fe81a119637c638754aaa0ee", + "0x0015d146784a729fe49486f52f5a65d429d1e677b9a43613f6d7f047c1d8d238", + "0x0022a5274f1d5a4c02b708cde38715cd551361b960b12cdb03a96420414d99ed", + "0x00be17de553b4062cb83007ae96dee6519e520371cc0d0789de79e27c8210e47", + "0x006f5908c717068e73a8c48e7682d7d426b4af9aec7b76177f0d29f17a07fc2c", + "0x00e4f9b653e9365087b0214ae0b62d47a6119472633824b7cc8203bc889e303c", + "0x002e7cbad3e0096809fc2297ee3d02f7f0812ebc5a3aa76076bc71ce07c59b79", + "0x0068943aafe7bea156a086dd9566f65c2b9dd81ca6b2fb08d024ba8e255af889", + "0x00511e0f419a0eb4a16c424dcb8ffbaa4fa07f90abe30e04923029c9611be2e4", + "0x005cfd0659f3caafade4e9764a8c2dd1b2608baed225029f95b4c81643c29c67", + "0x00ac194ca8ecc8090c9d6fc209b67e5ca59cb31ab0f0ed7d6400caa911bd7032", + "0x00aacb004b555dcdb030a346a10db480526f1fa0f33e0191df9028ba4645c79d", + "0x008c924f8c081ef102658b5aa7e8eda294c05ad7491f1eecf472f39f1e6902b9", + "0x00e609e96309a151ec06df0a5b3bd8d0d839dea69ef6d3c52c8233894b51a828", + "0x004386dfd6a2106b59734ab674e1d865001a79a51105516e61e5e8c4cac06ef9", + "0x00d2c0352a69d0884b5886989e3e3d1abf222695e92785bf5e646e2479ed1f92", + "0x0035221690387d201614d3066bd37458598ead584f329a6b997541d973f87f8c", + "0x008c2dcb86cc6fa99c5b78a39b51c6f5da2506d8d9e2148fbb641153b4bae065", + "0x0005ef28a4b220cd86efcf0fdb46783729700d1496849c56d37dde5626b06d69", + "0x004edc1172e2005f344cc30a1da6dd43d8d2e9c4425d8529ab8d10ec36017fc3", + "0x0047a9b5a6eced94e2df1203535d9be67c83a88c59a2e042ed136e0d5fa68d38", + "0x00995c2c1a18b888ea3b6bb7a3f1e172c34a23d2d2c16dd4158f663b8270ca8d", + "0x0030522d7a795f798a8b0abdf7ec86c5947a1c5ad6e58d9d850c7f0139cd93c7", + "0x00808dbfd6060626a245f7c911beffc62660b3d5835037a4319ea5580af3e4e6", + "0x0042bb8ecccab9fd6277b2b46708cd638e36ec7b59c9b54bcab343074e3b8fc2", + "0x00f195eba4641ac5cab714510bef399660c9c1ec36b207390008bbd213b827c0", + "0x007168c0428d990955663688023462e215c56a231bbf2a22c262ea9a0fedf66d", + "0x00cc5d7d9980d2e8ff7a457276240e65722efd25ca50f40e0674d8799b3b1d09", + "0x00ea9fdeb9d11914d3bcfdcc46aa92139e87942b034f9a77c0ef9c92311309dd", + "0x00bc990187288224ada7d820b0eb4ad75fe1f7762d6348308b271a1bb57d6520", + "0x008a6c0f76c9cc7152ddfa83bef59fef2249494828331a2dd82f45c1031015df", + "0x00228b4169b209bc8ff05b2c81c3fa963bce1f6d425981f07a112114c479056c", + "0x00745ea59dded34a97fadeb0e79af6ffd51ec97a700b40c94be95659193fa41b", + "0x003435f72f2fd732350501f8800bd21b7e944dc034cc1ccd8d52be1820d53814", + "0x00d8f0171a9f88579b9a9d832aa570fe4b7b8448b2bd0d741db0b832b07526b3", + "0x005ff4fe9c0039b16b8a294c8948a59fd7162f2f61243ab0af86737467711121", + "0x00bf5af98c9f08c658c5b2852bdafb52609994d36f580c64a989be4152d9e1e3", + "0x00900ddaedc91c4b2430cafc5204d50ca3fe1092500ef394374d3c12865c2d35", + "0x00966c4fa9942d8e2f1360f8f5b2a9b1e3f42f2222b24f04697a2295c91674c7", + "0x004c30a7fb632b1b48110574c7e130a97abdec96d960f746cc04b5476cee65b6", + "0x005fd080fd8a90cc075f3a9f04a40e62e895d057c6b0d4552220e9476980726d", + "0x0088594ec2e6f57a146e70aa9ecb1d3a1eb29b791de09fb7872773846a8d448a", + "0x009580f88ff4983768429633f4bd5d29a9faa81216acaa863e68aafb6db7a4ae", + "0x00ff1fdf649c2f1f8228ee1bca44dd89db2708c23f67bbf711f6188720f14e1e", + "0x001156e395b68d09878b849a1e4d8e925729d005f3527eac68b9eb2159dd0fff", + "0x009b4eb425a1bdede2a3ad922cf06c937de64f73f29b8a9e827dffae9f079a43", + "0x00481f628497e867b1acef6c83ea84d90dfef18ba9940af04f1a0abd589dc6c4", + "0x00dbf2947972979d39e196be8f59677080acf4b356e4cae6fd3a8e80a9a52af3", + "0x007d0e22af7f6d88200bcca7b41ca79ea547dfe4617437ef07690e93c10705ec", + "0x00f003f33cb97a531438255aeb7fcb33bd6a1d4c82319557d92e17591b03dccf", + "0x00c939bc236f315ef00d930fb07673e12d43981a2826f6d414d25640d4165b50", + "0x0064aa3ddf3a28211b81ba2a6a90dbddd6a1d793b118f3bc4545ef55bc6b0196", + "0x00bc2a697e64d46d5f88ffe75acae9c9d6875adc885d48f748720ec6b15ef985", + "0x007b7f571d4dba08a6416ecfd276921d8800174b44292fd1d676aef6d5d70438", + "0x0031bc682b35dfb87106f4c5aa40e9f74c5f8d285a8a8a6971c7e49be9828fee", + "0x00525757d2043c89e44a9ad071771c092c69db85ff6789422e5940f5c54782d9", + "0x0032e6e56336ad215b4970675161be3ecd1b9ee3a74dac8b14a008241f5d0aa3", + "0x001ff305f699156ded52508fb85c9277b27a5685e509cf8eabb1b4975ab54c9b", + "0x009333fb8e16fac77a4a62c395d07f84d2ddb66ec33edd995592292f6c11f872", + "0x001071272311093238cde94f2f212e28a274dc067b12e201d8f10b16ea8f687f", + "0x007611474f84fb586b5fd3ecb22f75b15e67942df1710f80214f89e8be108453", + "0x00926b43ea8ccc7614502d326408c9b2e691e6444716330b40fb0dcbb7c291df", + "0x007cb49f5a1e3aa87f847f9b9c9b3443313d47287b2c77c26647c330fb8ac026", + "0x00c5c13cf529d5cfe69582a10fc85c9e9b7b5c5ffd51eebbdfbd1b6dcf6c5098", + "0x00f4a9532b703f2944bc8109acf95480b0c88d65cc0450b1a003db2af7ebe8db", + "0x00afe606c9bd35f9e93c258eacc95e942e506e89686b83f0a9f2f6dc5665581e", + "0x00d05608765f91484d307cfaacc00aa080547ba34824ff5ba070ff65af52fc55", + "0x00b6f7998f3cd0329832f0620f96e94bcf6172562eab14a1656ae533365a0a63", + "0x0024cb77b40caaf735053fb5386056b48e3b978f56cd866efd0a9318365bd3cf", + "0x00f53a49507a5158653157348b011d6c6aed77b6c864540ed740004b6c4db6f6", + "0x00043f6ef1f157aaa0cb05a2196fba0497d002e1468ff64f94515951722f374a", + "0x008bfffab3d721c4dd75e6c626ec9748d9e1d003109cb58c101e77885129b020", + "0x00ae812ef73e4213e87dd564d904f720639fa0886c2f9ebddc921ee86630aa43", + "0x00415f3f14b2cf564b4c11e9d83d123da38224bb9014537af80beadc563ba606", + "0x00098619d69f2c03756878a01f11ca625b4693620f1a72f841b6ba5214c915b0", + "0x00c5a667c7e1a347049dfa39b64df6e66c13e788b39964becb69a39630f753a5", + "0x0051748c88632921f3e5773557e7595346d7127bc5c315bff17f4e235666ba35", + "0x0069b893800cc58f1cb3373488925c2d676e96a048f30309ae5502529aaf1783", + "0x0033467d56d6491632bf1f4aeb66849553f9376d039fc87dfa24fff02604e115", + "0x006292f5dcca09203a3fd25b62956e873f4538be191395974f78d9cba2970c0e", + "0x00e4506c9e2a5813e355376d448f3f43d9c9773996c576f4ae2053916d2744fe", + "0x008c148c31f865154156d6726e196fadf927ef50e5adb2ee6d22c34d7fb37d0f", + "0x0063252959204b56f2a0c78984ee73d60b102ced2cfc70ddbaf0cf5ef22f6ca4", + "0x00da4e890cbce21e1e06b60bc0018f035ffb7faa9f369ceb252fdf79857bfab6", + "0x00e5c292bffcab3d2a2543a79a287836f15ce0367953c4414d0b6c64f6467096", + "0x0043786466aa92c7990b3dfe4f7990a03d23f97eff8ca0adad6e72ae0c825f2b", + "0x00c4f9daab7e5813420f88acb04bcfdf38482fb8a1fcf2969b9c36aafc594771", + "0x000e163e935b4944e7cbfdc4a20959814a5f82a2ba39a4d4ae27f5d2c37c72c1", + "0x001e75ffbc7dab9da02af713c529259af4dbfa6d7ab93e74cbea53debf85aac9", + "0x00bb27081e3057129f2cac0434bed3309cff74ee1f70776ef53b93ef83c05184", + "0x00f289f9a7b0061becde597753e44c78fd6726ef3b5768c9b33bfbe985ac712e", + "0x00f51362e1ec78cb2a1abbcd772ce7936d46df580b5b253ed94cfea5a3d1cd24", + "0x005d4d67f9eaee29a632f8479ad1db1432491358178124b1a9cc92c338de36ce", + "0x003b2e3fbdcd7a1f1b26518bdf5e10183d3c7a262fd14a010e792ee003a418ea", + "0x0047ad380d205613066569bf6eecf3a535f5d38bd86f86e2d903851efb0801b0", + "0x00b038f3a66b8604df4e3d00ced60f625bdbccc4be24a9f5e8d74ac43ae223b1", + "0x00b4e704c33a4cb3aafeb0f9f3d3cbbb04d7f521156081c1da0b06545ffe6b46", + "0x008effa9270d315538a7fccfb4e5ea88a1eb8f0d3b24acfe8110aba8ff49dc8d", + "0x008a7b52574f89a7c897786a7d1236e616bb5c94ddfb0503d2c2878c87c8a731", + "0x00714860a2d5482b4c82452651ad1532ab00dab9e8dc0fec999850b5cf5e7875", + "0x00a25bd8e98d716fd7e477e52fa4078927ad48ebdd3a365d5acc1e0029c7e91a", + "0x00f433433ae712adea4cebed87745f3f151b565361c901a852bee4ae6df230f9", + "0x009580535e05de7e76551c4a372beb32c7ae11960beaf42e098ca8f38b20a848", + "0x000900df936c4ad24acd2c61b2e1007b88781212f9e3ad5c3410355dc650de89", + "0x007541c64195b57df8972d9d75d60da8aa79b905f8f98233211850727ac765a3", + "0x002145a2b3f6af1faf646941eb3d20ade5eedf96f4baccce817b60e7d290d664", + "0x0014296f4d846199bb93d27544561c1b67f8e1afaa101c063ecad5e1f5a0bb7c", + "0x006e778ed65b8611a532130a0cc5e6b9ed4dafca0aaa19455a72c9d66fd75914", + "0x00fe98e5bdd114165b911634bebc3eff3c6b53e88d982ec233db7594c75c1f2f", + "0x005e4fa5baf48364b2423ef86a7ac8a055d20578913b80cd8c5ff3c97ef6170c", + "0x00beb1f870d70ca61ceafba24b29b1a25af2fe61811cf4bbc358ca8e9e0e595b", + "0x003b93d328e6b4cad0da555c8b36bffa3ce406d468077612c528383596ff79d9", + "0x0056ee75e0cb460be168b9b27bc8936a89b6c5518197e9e47e6b99d8cdc572fa", + "0x00ca497e84895e1e920f518a44dce2c7a954115f7fb19e7b68dee1630e2f8002", + "0x001c3f9557cf7c026361880d073be92cc7f84dd653c85f7a2afb3b740fad7531", + "0x0070f280827240dc0097508ad50ebe8b16c89f6f085a00bc94da1bb18dc687f3", + "0x0014c848088a0e1c5c4fc120dd1224ec6df25232d5f0fc8b6e9cb1af0719dca4", + "0x006e251d1f0aa46a30eb0dc32a0d0e1b548c6b01fe0cd06c815d234cdb42a44a", + "0x00923156f4254727e6be058855a32bc6ac905cd0c650a75e3ae817b0fbe4bd69", + "0x0016d8a3205a30d20f61f0719b09bc327fc997fdbdb53c4f04c0143842f2376c", + "0x00babc16a1e8e90b290a79b288c2dbc3fd6798d74cc568ec2f3f093dc84ee5be", + "0x002e3b0695d47bb7c5a62819af9eeb24fb585cc3e17fe317b0f80d21d2ca3823", + "0x00d116a59d151822f250f313c3659c215840467871a545f05d60bc728621f7ff", + "0x008507105c629958e2129c805701ac3c9bf69c098ba27fb688498a62851a8c20", + "0x00d7be4db51870c55dcc73a05b3c34ad07aa4db8c2d0d3742e750461fbedb465", + "0x00b2e9ce764df5d6e4a5109dba8a8a9a9c4cb31916033a5d5b69c6e4e1e865a5", + "0x00aad98465d9d4303caec5d59636368fe4c2962f18c6d66e79e877eb6faed019", + "0x00215191201ce467281e8e34f940449fa75d3b3d3ac1ab3c7bca61c323aa349c", + "0x0021da081957a7929161a9cdaa24b1ac723cbf646e3896e59686bfc115d227fe", + "0x00822dbca286e3f6be897a14fbd33853866abcdebf5f5236242d714b18c9574d", + "0x005e8f4124d2fb4b2204fd34c88b2b79e6963101f9fa62464481c49eb777054d", + "0x00f6ab52ee33e4598d7bbe73c31f5659913414860d70c2568fbfa96a93588a78", + "0x00e01b7c04b741afc17d6bc0da64e47b78ae13957e6bb398c147a31f5e94c59a", + "0x002e5e047a878fd85b9609018aa86e3e6297d8f1f3e18cd9563e939d210ddce3", + "0x00721a6bb9d05358eee9faaa0dec750033f287d90b91698e8e70f8773bd221e6", + "0x00b4a466c286e69b868cc155f016a28610f2bb0c4b232482ad6e25329bd54db4", + "0x0069d72c672dcacd0eab14601043ffefb70c2372caa383a57123919f7fa4f94b", + "0x006d2d5759d1ceda86fe6aadf407de89af0e7a7eb760598f8bc76ad8fcea7d32", + "0x00d6e430eb1ff27005d2aa719b60ae327ec4ede109e946fb498631cfa7f406a1", + "0x00df8928f096322458e912619fe1505f4599e5f871f5a06c1959a9c81b04f888", + "0x00c375c666fd86b292c181dd7547ee4953678afd358d38f8d347918939c58b68", + "0x008e5dba105dfd7451c6375e9b315c39970aa8d7bf130fef725b32b35460b369", + "0x00971ec12e3e3845828a159dd9334108359bdf1b62be9eb0488263b9af0a110f", + "0x007bf3fb663bab1445a92201790f198cd3b208b232b49372df1fc5ab914c98b9", + "0x00785895eb92fa71d301b17404fa8576f969756713e63f99953e46c6d3abf514", + "0x002fcb11db62f88493e7ccfe3e3b4d26d7db5e9e8eac1f879d3fcebaaf29a2f1", + "0x00a66bf7782c3cd2c405c9e5608fc919bc29898b6a35bb5f64dda8f59aa94180", + "0x0003fefb85cdea2b65e64cfb755129f6fff04cb7b1bb5f2c6ac183eaf50b6381", + "0x00636ad07d45058e237f69b9283a08f45ab18fc4e058b181fc5a47f13a704692", + "0x007d7d6a0e307452ef788bc4c3b404c5ef4af81958716b0e10df603edc616353", + "0x001470d6e04ca91f0c4f026eab47ce66a3f5fb64ffef54291ca72dd7f73f1fe6", + "0x0096a063693882da0f3614d64b85bca59cb18e3f353f9d1b6b31007a9c9ddf4b", + "0x009eef7da71774cf3c7e8194fbc060972fe3f35d7f1051192a3bccdc7f127cb6", + "0x0007941814ca2f59695f777d7e9264292ad48d0171d6649f3454d1748a097ba1", + "0x0006369df13898609526a773716a06dbf7a338001600164346bf9e28eca7598b", + "0x006f9e1bef47fa3e7b7cec55c16e17032f74afd7ec262cad6dad544bcef7d9f5", + "0x00a1f986d1cda0812ded07493b9f1e40732167c18d0c14d26214cad196ed7660", + "0x009c748fd0ac61d977c476ab9cad73de72bd675949a0da4943a02ae292cc40a6", + "0x00f96152bbbb997106eb484a4c1536a8cdf9af348b0bc1a11075c0b74c3a9617", + "0x0026adc20366a0abf95055de535f29c497b9cab49dc2083a96a3e2753eecccf2", + "0x00970e2ca1261a05c4d2ff72fd49929e5f45d185cad7c0ad92ceed386df7f7b7", + "0x008df1b3e4c8677f0eab0b09b264a47de10189e684d9eb7b82fdb7ccfd0bbf84", + "0x0068bebb69a086129001ef3788cf0444249f90253b2f725d1fae17f9d313d084", + "0x0001dba33722b2a4e648122a8b55528c1212c331707470ab00f48e6451eac3db", + "0x0090afb176046045c71fded8d01afd7c9bdbc51e8851c78a3b81c4ac91def8c5", + "0x00ab0fbfd74eb12e923b506a3c1694efb0cd941e7fc241fd37f44ded423c4ff4", + "0x0014744f440cdefdb1ff90b5c313456a40730958ea1e796191fd3b6e07e18bf9", + "0x0058c646a1e71a8d4c00a6ede51f63390149c4cfca994d0b36692b15d4e969b8", + "0x000f488a867a178f681425e9161a8d48c401c67abd4cfc002abedec7af48ea66", + "0x002f0c526bdb091410ccdbcf7f402d96c87e65c972022abd75e9e7df095c0639", + "0x004e577d83a177a9b3ddea96c53b8907b585cf4293b7c662090bba443b4f8503", + "0x007eab26e06a4e4cd2c588deee623ed80af772391ef7b8d1adc8730d458deea2", + "0x00b0769686f7adb9d6fe4919c751d9c297a37f8b9dd64bea05c9e7deb5806c77", + "0x00bf3a79543cb87871d681ea944ee51ffbb5f0aa09f4a196fe8c5eb5e20f882f", + "0x0091b284e66324a735b13811adc6d13c7b11d14508e86437f073310732939be8", + "0x003bac2958056c49ab37e6ae38fb0f7f38c1e647ae4b55eb4a9a270446aff5b5", + "0x00152693c5508e77b58a90d662c47f671cedf4ab6828fae0a69d1ad9fda5ed5e", + "0x0013d1af2a78578afa7e9c6861453f9ec4b12a5da47a3f267f06587d3e27b8d7", + "0x00655679658d8e4a5fec76b5df6ea2aa4c9d128fdd7419bbf6e1519269acbc8e", + "0x0056f8a31bdf4a5e7fb2f40efacd14e8e16500cb21e86857eacbe5b1b0ed2b73", + "0x00cb850b0a4aa89637fd10ee430d9b42aae9f85c711cd55037911940a8c1eeb0", + "0x007de8d4ec68036464258fc4e7b9e88cb6fe075bb6a1cf4e4db15e344553a293", + "0x00f8b4ed9886f82363f6295fe82c6c1b9ec7f35fbe23ba8be0c228b6ba9953fb", + "0x00df1b06ff4d9c12ef4e33ebfe34c01e117a3c4d3d6bc9857c4de2adf198c46c", + "0x00ed14245e6bb811ab2be96d3cac93e99ef3858691e4ff1651ca34312a615832", + "0x00a4b29640b2c07b847fd9bfc7be3bc978ded8c3a76cfa7426bccd2f7c8f87e2", + "0x000accf8d2cfc81ba2821d8c7f526f9d5b4d80850748b897e0e0cf3a37b413c7", + "0x00ab69767e75cc2b920aeb142fd0423ded1324fd1d9d13cfdaeeac8945d8c620", + "0x00c03090cf5457610ccf8f799fe6b558a0d903489a94e9f2d5241da8e11aa06c", + "0x0026c02859535679aac8beb72b65b76cc453794fbfe735d053756fd8797f48e9", + "0x00d255bf966e977d15565d839bbca1e9ea4087cbbb25e1ac9495526bffd9987f", + "0x0001ba706adc486e4454df3871ad1032b3689ec808f20691532f49485e50a4f8", + "0x008ef4ed3d99be1c1c2e5f3adbddf0b2384d212c78755e1a57096d4efc579b36", + "0x002645f8736bfa2deacc5c542a669ad7a19908a922e323044001a723d56fbb89", + "0x00574a2ba62073998d9d3b58ee26139a57a49cf70b4c71fb4ae365b517d549ff", + "0x006d2eb24b47a3f8ddf42c2048c3b572e204d358e5fbee1715fd556331559c8e", + "0x001985d16da1e426015bf2062594fb0c86373a4e3a5400da0169c815efd56bd0", + "0x00e61ae911c573490651593f4d87245a79a4de3aeaacecd200a53ebed3feabda", + "0x00d2e899ea3461b70bee6caf900d69b961891106075847ba74a83122c64ef670", + "0x003b5f7c4e7ffaa485bfd10d7991bef89dd1453f854b1e20dac68eef9e31e486", + "0x00bfd68ac7b54ede9fc6924b1eb74a74a9d4a4f5d41d46f2ca954b48234ff62d", + "0x006a424297ca72a193e332643d29803c66ffcb7f9577ca736e80a2c7b0193163", + "0x00986bb48252e0dc5ea865c548c63067600a2a0a89f24fac55a34c926ac6efe2", + "0x007d79f3628f32b408cb4c423c316b125aa777f4bd2c8d6664fb2fc4f15b3e7f", + "0x004ce2a50cfd18ea001c5a1624ee19e521bf7b1cb7186d046a416099fec129f7", + "0x005e8600919570a1abd4399b956c7f7ccd7e65499c6a7e56b9ea39ff1b266e2f", + "0x001c8d8981291591b9823c3a3c26931ca94af05ccc3e72df23e79c7fcc1903e5", + "0x0014b735e256e72f90ba896a38c0053f6a72563c30ad96236e9fe9c806da87e2", + "0x00815ff507f675f19608fba679dceb654d78179a76fb0702bab5a209965716c9", + "0x00759a7b7f9492ab70fdf99c643abbe18f627b565053b6e71847c43b62696f96", + "0x002ba31e11b1ef4277490be6753551d62db0405be1fdd3b4e2a6807a4f779f8d", + "0x00c9ba607365691e559494ea1ad421c6619c22c1570194d87e21afd43316e936", + "0x001fa5736c27caacb1f528fd0f5af55d33585277b3ac93492a9ee7ca52e16b48", + "0x001e3c69d9a23768c1173d4861f0d3c697f09c11805686d05c12b287629f6756", + "0x003caac21a467c096a99a4cb8d61979b06205e786194ef0f2af10fae5b357921", + "0x00cbc7a64b8c015f1c2d2bdcb27a3334b130bf3882fd373c1154833a3f91a4ce", + "0x0094916e4b884af2d1140ef3a35fb941da08065f29480755d5ab45cb7353e40d", + "0x0003ac783cbc3004320ed01f9d46af200d24df47ce57a9f0ea96cc011e3135ae", + "0x00f2194450d2e9f2c5eb398e9852446b852f3038bc078b56b9dd978cfe8db4ab", + "0x00e1a6b5786287fdd983debeb14f84c2b1aeb82393fd54f6d3b4741fb3da36b0", + "0x005ba2ce6c18b6eaab93d558f45af6dfb734aea30dadde6f6aa15a37bf410c7f", + "0x0010eeef89d6af04c2c03223a525f458311f6302d1727e952b5f2821fba4ab40", + "0x00caaef134b3412d86cb761c0b80df94e5fe3449da2519237a8a69f4287107e9", + "0x0026ea377b9c5611239865d29d233207f898fb305bc3d8db88b79dfe5f218955", + "0x007b22dd317123b8576f245730ede21ef14d7b2c9ee30711ecc719c6a8530d2d", + "0x007070a85d5af4c64106aea1b84aee41d00a9fd469adc5f0475808fe016f56ee", + "0x0064fc5085f3ec34a7693796cf09c9d101a86d4f2b65b537f718a248b2b187cd", + "0x00084170afd933de469842693d17cde2d434bc7654fc01e950ab3ef502507483", + "0x00c4e4de2ffdd8aacc661b30a3b2ab14e27f443d6d820f37fb9b6b2651175c98", + "0x00144fe5a49d34e2cd37f0c6496c7ae2bd8dc1026ac8d12ce04c8bd727a69b26", + "0x009c68c711e1733d2c61c6ad8436791641d5726e144f319cb21297adcc337d4a", + "0x00815c53cd7f0841cb50aad1c86897215c23c9dcbf79b6be97739adc73f67f06", + "0x006ba52f8bca3ed5456b49bac9ef21485a4f4a06e65035a46caa519893938510", + "0x000290f6ac837e4db7b7c2559b8b6fac0513b7f800a40a5fb35cab6d5100c0d0", + "0x0091596afff6837a41aebaea66c2a507f8e2c744bc211d673161982424a9c1fc", + "0x006cfa714ff82fc8441574e887713b401abd0b9bf756a6e97b3a365c97538f6b", + "0x00549dc117e1e1a449ee8066a4842ea7dbfb63e0b3641f389502216a516aac7c", + "0x001c8834fa3262ee300b1014053024ab807ba4b53ccbfca9b96b1c0b5a6cc7e4", + "0x00e56c086f34e7769c742d946b9fcf02a2e7c02b419e1d2dc722435a2dadb52b", + "0x00db2cdda65002d804a6064852eb3920086f77c66b9af879b92e91f2ec29edc3", + "0x0038e1f9a8d68c91976374ec98866f6a834b6b1174b29bc519c4705c1b9fcac6", + "0x00cbfa152e3e2de192ef63e3e6dea41eb820efba81ee01ed45d5482120843ffc", + "0x00b239c3dc8ae3b0c8b698af408dd6973b9b7a22804086efdb77414ec2cbff4b", + "0x00c313ac62119f93adc3b04ca3d31838dda549bfe83bcb1284272939770c579d", + "0x00fcc76715b52a8b02c8ccabfc51d93d63e0a5db8f19fbd13486a94af56ed942", + "0x009357c888aac5a2c890ef46d33c32183fa1af7b805a0d22b5ca14c177188f3e", + "0x005e51f93f2721a8ed43cbcef9b45f7e32e24490c7b5ef324c20e81a9c25955f", + "0x004c0f4707a634f7650e029630c562d1fdd084ce83bb6860f03422dafdf340e5", + "0x00f082944e12ec021172e3f028c387bb27ef8f5ebca2ddf95753bbd0b1cb4bbd", + "0x00a1e617f08e75141d9763c4aac450bff5e9e8f269f7ae7d5fd002ac99118c54", + "0x00e6f432f3f8585cc9d42eb4eb88f8a912e70b44b94e08cce8c71efeb69398c9", + "0x003f1e362b23f9cb53a11c7a0cb8b0496ba5bcc9d2c7111d8b7e2f412f6aaf31", + "0x009082048c286a7bc8c9ee2a47c684c05cfe73efd57722a948a2fc036daa8182", + "0x000f4a7744206efcbaa25cb7fb3966066b1ed9b7fdd3006002724c4922f4a412", + "0x0073dd3fff38e0a27c230b6205763adeb0edf6f1f03951b1817550e90dd73322", + "0x00118ea403a34a97ddd3dab58da1969c4a30ba9bc50138071ae044a3ce55cd03", + "0x0046cc3bfb3a590464f07d4604f5943b31bd96bb7e6b3860cbb8209749c7dd61", + "0x0006244a4a63cb040d1eba04a1ba2f6f76df68dc2d11bdc5d1cdc1dd3fa99cd4", + "0x008ea3e726df4a33342f685f964be87c433578a90c56c00c5ffb9b11c81cae23", + "0x00484ccd11047e8e2ddb40f5c07ebc4d255d154eb6081dc693a900e48b21e557", + "0x004e150a0608cfbfd744fd165ba279ff22664099fbd13093a50ecc3a46e0f2ed", + "0x00163b07492bfd10b132e6aabf8d06398193dc73bdfd6f2027474d2e66263b55", + "0x00b4c7c94d31dcbd47bbb0f62807db69bf2f2423650c208b534e9b90c1aa4fb1", + "0x00e9759a2fdcb386dc92a2ab37397574366735c7e36ffd702f5ed5eb119e4c57", + "0x00e92eb8dcc52b59bdfc4cd8a0527ce458eedb6c367264332fcf4edcffbd8583", + "0x00a5781d3a6f71e63d79678a02ab1cf0295f0d2b7e09eaacdce8b0201d4afcc9", + "0x0025727100fb631ba0d7a1691064816660b9ed25485920f3d7aa885801301b35", + "0x00866f10b4889c5c9d0b7039cc266e66b867e3433a8f03aa8d3d934e6d887c1f", + "0x0045d0e69c53cd7b31d5af1c70cbb9bccad8f62f3af76cf08a935bb27c7404f1", + "0x00e2ec32f0928f1ea7eaea0d0f0e976f9041054a3a2dbfaa5207586a8969a296", + "0x00533c9ada46bf689851f3011e73c7ce61bd86e7e8708e8bc3a065114ddeaf88", + "0x00d8da0a8736b84c5ee9b4a239398f85808904a3ee8e740578ab46183f8a49aa", + "0x00325133b832f50c2d3fa257ad31afa74b56c01d4a831452364f5a281c365145", + "0x000064e7bba4b06cd2b6f46f450fe20852514bdaeae613788660b574550c51c4", + "0x00d17e13b8e379eacf9e580e6a4d29566e1a7838340475c3e2eefcaf0db79171", + "0x00daa5b0a29a6014d13b7f5f815836d4fcf1fc4ac0740d58dc22c543cd5f91ea", + "0x0007d076f7aef3019c505ea7a359463e0aeb3fded1cf18bc35c880f5c2448a8e", + "0x009a2bad57d36ebff00a415b110a8d290d21cb4ec1c19698e7a0c619d3a26741", + "0x00acb5456e190d791b34c0e37d265da1677b135adc0041e065926f2ddbb540f6", + "0x00b6a235f66321a0002a5ba618b77831597abae2fc218a4af720ba5830739fc8", + "0x0014d40aafbc9119c258c475d1acc4cfeb57d32f1837790db60bef8051bf75a3", + "0x002ad351c4b2c680ce7ef992addb30b4c00129ed9b7ebf665b0b45d7de6f3fa5", + "0x0062ad9f734daca6d2b9fc11ce5fd35adde2fc2b49e8bc80890a9fd63143fb9b", + "0x008625de869dbed06b451b0f470f72cd8b5dfd9aa4d7df39697555cd23e15823", + "0x00ebdceaf0d77f97a020cbe9eb3138722bdf3b29ce0f62384d49fd63b4696c7e", + "0x006323fbd884f89c3b9967acfcd68534111ac05df0ca647b9c3a2f260f80efe9", + "0x003bf2e43166f918c528667adf5853e5997eb1f20042dcd38d13a2ecef963596", + "0x00819bcb02ae9c4f86ee021052c57bd00f892bef7413af1af5658217a950fbdc", + "0x00deeebeef74b5a30021dbc84ddd71a90ff9cbe7161640d1bb384095fc0482e2", + "0x004fb3bd17af6a7cd2f73588a18af9458c0d06ef8b4abca07389edf16206085f", + "0x001ca47afd51a278b699d6dfbed05484c7f63e8ec3e14f8141e661feb9cf4a3d", + "0x0045545caa4cb0a1078081e4f620c694e25b7f0da89c5a3fcb49bd50728754f0", + "0x00d36fcb8352552011ebbc165c6b66d8a27d543e4c8030d7e07fe9324be20d0f", + "0x0014f57a838a15df3a650bd35e46e415d32daebbb778a4711a05a25f00239084", + "0x00b9953d0851bb2de9240dcae4c4059467b91baa5db9252c2c01a73eae7616db", + "0x005e3b411e51aa5132e08cf9a132868ed6bc1af230bea5c6491c01c20f6d1e13", + "0x00f407c3e58e51c2a9a79221b6f5acc7b675cd65f525bc3ac8f309b934ff2ba2", + "0x00aaf23cc2528c0ea0c4dd3cb7911c6aafe57aed055aa80a55e970ae34799852", + "0x00a6c8b6980d01183d52c9c5e4903c358d21a0735bf2bc208417c9b0fec543a3", + "0x0026990c74606cf150283365852a249301fd504fc5086add0682d3954b8a5674", + "0x00ff08b6b2bc4b14a5cd5f3602ee1d8fc6246b3ebfc95d913d14a3bd642f1f68", + "0x0018a9e5d95ae2d3c37a959565bc3202d48570ec9ce751d5e6e6882e89acb811", + "0x00f2e942dd9e7d0d7e5ea1e25c913b1c09d7d9180244b456da20864695f6895a", + "0x000ef08171ffcd88b0612c717c31dd73007cd8b605e3f4da384f975838748f04", + "0x008b25ca23d9f7af7279679dc07b65dbea16c0c57f43a1f7e270d0db4a7c8156", + "0x004c30ba70f06787cfc7af057411e5a55b8bf15c673e69e9f1f3d55c25215159", + "0x00cbeff8b400b0259f4d97eb72dc85d5d94e0b80108195263da7fc4fbc89ddf3", + "0x005432b0808568593f798fc4df5addeae1e0cad73f7642288942ba14db5c1413", + "0x00ab974fdd81c6bd8c1ea36e5273b9101ebeb25e2fd06aa89eed9d31fb7dc885", + "0x00a219ca43dbf4fe9fb46d0797b6f3bfcc3ead16b03f5aae39117e82b63ebb79", + "0x00a77d94d8cba0c97d27fc88d99825132c65af9b2b0a257145edec9b374d7c1b", + "0x00e0fbc5a722861d92bbff28a87a5eba163ba57e6cac48301ad971f1af47b066", + "0x00a5c082bc284e1266446c013db28d4be026a8ffaa2a199dd3f64926a4c5349e", + "0x000f2de4e841c677702d9a78789853a66bb32d3be69a077250918c1acdbe680a", + "0x009228d40df6398f068d1f9d95ace7296ea71baa10b2808c5ca691381b5022bf", + "0x0011ea9d59341168ac73e75f5a1b96a4fffbb2acb8b06caab3e023cb284cac92", + "0x00c00eea982f1bdf73e3dc5783ac2de2a617d3c3def0b5c2d5587be1371b877b", + "0x00a2eb92cd6df82b30c2b540cf42faabfcd824f28cb608bdb0cea6c5ac2a218c", + "0x00e47f11c2041e2a3733cdf44625b2f947f2ae0f38b79f8d44fcbe638969bc2a", + "0x0016d6fb9027e45b5240a5b032d2e42826989e97c3987520107230e7111d2c8a", + "0x002d2f72187aaddd4ca9ac5ab0e7c393357865092b467b04e1e7cf374ac17da7", + "0x00d138acfdf36ea77e71f1ff7de7c03188a91432afb704a250cae002a80a1d83", + "0x00a041d9804a6a4fb7309478c37129fb323ed2155d36e8cbf42afb478fa92991", + "0x00d3cb6bb95df13a52f79fe4e8eee2ba2750d4cefaeec3c63484c8a25ea92967", + "0x00f3830e08c8b8bbd9483b63cac6cae9189856a8d20e275faf247ff2f4bb7b1e", + "0x0011112351d216c0592a52587bd44a51062b691a9fbf09c29631856e0af1613a", + "0x00b7cf677e7a25f7f6248f235bce7faf568b9b842a38d7c5f519d4681d4323f7", + "0x00fd97c4190608b763ef8e63b58e04f76b78d99ef14a2cea19a0e4c1b6022abd", + "0x00af7061d7f410860c2a4a69bfc0444d20fba69fbefb7541fcad6ce635723da6", + "0x00b12986a32a2866d6fdabaf7c223864b303ad8cbeedeba08b6e436ff20ba70c", + "0x00eaf17ce895f3c4ee9d3bcd0e4cd13e6d4f302dd8f86af48aff8222b1049570", + "0x00b112376f1787ec2a8b0c0d4e313b86d8492c3595fc438772b9b81b5c3eb82e", + "0x00ff5413e82784f7dcbdb1bee23fb6128d7b3ae040650d4678c8dcd2796d91c9", + "0x00a9dd93b15440deeb7242e6ae33d7c5998a4dfd6a554826ee1f19962a883ae0", + "0x00d54b02e27a801298972e67dcb51338debd756417a5da2dbf4f9fa77f5d2b0c", + "0x00e46be228c71d6521ee77d45ac81936b1b99dbd1323902e56639bac232fd6c4", + "0x008ab022a29b324f030da77853d9079a9b86dad5e4f0630d1ae38c13def4a199", + "0x00b783f21d118c8b0e5587ccf047a99be0ba7a662555235a5fd9a6dcf2450a4f", + "0x0037dbfbb9cdb1c9192fe4f9a5ff7126187beab8d4cd911102f3be9001163313", + "0x0084b859134dbdfcdfddea85fbbb2c88644e28ed33fc6dbaa4862342f91438d3", + "0x00c2bb5d141de61b845325a6910819e6d92141b21f1d942ef645471b222ded3a", + "0x009712b44683092aac0c76ca8be5c0e2bcb04723014d15b0765c66ade0e8b95c", + "0x009ebe9108895d069d50b90004a153b0041a6b5b7b09319b29f517581cdd6205", + "0x00df870ca01dc58bceca2bcd57a1f53bfc5f0d70a0fb2810b231090e02158816", + "0x009cdeaa37f1eaf29cbbfdd0b9b2ee35f20117d3a73af4464f6a9704839fe6ec", + "0x0001ab084210d344f4024250c78b76177c917c91875c6309f9a1e8d89716e1c7", + "0x0025d33e336d8c6ee909535c30eb1615508a3cc8e7aa037aeb85b6a85ba8c9e1", + "0x00905244f7fc33b1b184c606e9615b546c5bdb1037ebea13ae48b95492872630", + "0x00f64f8a8009505ad10247fbaacc4c7663b8facf5c95ae1182886b9986bbac97", + "0x009af1e38eecb445a40fe60eeee0271eff65c647599edf2f0a3b0b284673a1eb", + "0x0014cc4bd057f780a2a6a337a29bb733fd102b57e7abbb514fbd8d499430ebad", + "0x0018e47d4362b309bfb52397c5425a9e9962a2895b74b21045240a2523577fbd", + "0x006f55ff73f5e0627656d8dbf152d49e5d7f99eb1ac445d5320d2a860c88a9bd", + "0x00aec4ee4834c544c28e9e3dfb1e5d0fccf836972594c98563993b8b8e5fbac6", + "0x00fd656d698c46573f4143ba0742671cda5b48b27813bf1a6eb5161c2b4ab5f2", + "0x00f8f920fcc1f9cef0275dbc0b2a87cfe2ddbfab045575cf8b5a1d1cec22f97a", + "0x0091021ed1d2eb57833028d982795b92d17ff4fadb809103aa35b381056c4cf6", + "0x000611671219deb1cdd7318f8e1db54db5220d10d7de3a71cf6c9ed6bb73c267", + "0x00c9efca25b41643037feec6b890d6c7b5f6f942ce8d93d0192659de603ae7cf", + "0x006c60a0e41ed1f954ae2b4602452709791f773d6a79eb3192ac54a56c849a0a", + "0x000fa72ababd3b772e47cc683b52de173305791ca8060d6b80051fb4784d2c55", + "0x0030f17d56537a310f1ea70d07cc5c3c0473ff3a01f735a8f94f0a0bbec6b0fa", + "0x00c5d639acf633ff924aa21977c12e05ff8a7a9a00dc30c7d6ed71ab1a26264b", + "0x00417e41bbcbaea3ae9137e51dc4bb65fb310632e64efd694b1ea6cf442e02ff", + "0x0072b7c2cedadd5b054a35bbcd5cd663bde39c80855ccd6a331e89eb6111337a", + "0x003cd4731d59daef0b4af7e8ed64a9a1e5a504d5b167596658df60d46c17cbbc", + "0x00fc32d8d833555d0cdf0f93f5264c0faaa76e153d774282dd274f6c005a904a", + "0x00562347de03756983369a49ae4328e8a480a1d5d5fce309bf9be03abf9b801e", + "0x00353e0d60e219a6b3edb196ccad8fe649ca3e869c00ed53690028a7f2e1ce99", + "0x0057ed5a59b2e6cd3218f485df800bdb19a89986a157c44eb1c28cd1a0200b2d", + "0x006c4e57d80d59552e08127e4e790962ef56c4034c8fc19b092de295de0e601c", + "0x00e1d0533cb3975b2c8e0ed622c5f712b86de902827d2ca05403047329b1bc4e", + "0x009076679d9ca32f8aa53879b8994918549b7abc3618675a583d1969f1d2f823", + "0x00b052eef2b2591f07a0b66a09963ca77a6de1a72c929e24d33b8854c07954a0", + "0x00c278382de95871f6e0afc2046972b36e65236ac2e0a286c69bab752bb8e5f4", + "0x001c423937bd9c727b905c2e241f9d01bd4d5a34e14345e2f6643651259f9acf", + "0x004019c55f694b50b39f37716b325785a6b5e5cccfc76b65c4c63ed8da202d9e", + "0x007ec4520d49c9645c9946ba42192317c30f0389f8de282db472d09114b9edce", + "0x00cc3f46e615ce3be28ba2fec00a361f897ddfe42139bb0487833b8e5d713fc6", + "0x00a5bd2f4cd180c97114b9d41efcd566cdb835dcb858a59392ae77b2c50bf9b0", + "0x00d5af4d8a2e56a71224e32db565421769958c2638fb7554d0440770954e4d35", + "0x00bbb0568d1e695db9f6c7049b0a6bda5419e3b964910aedcd1788f2276c2057", + "0x00e7007b268f253fd2077a6b236704eb6432482d5aeb7c60b417bd3da1d5e692", + "0x00b3b84363eb3976c05f6572d582b7db331445039db5b0c71ffdc9b4636050d2", + "0x004b10598d1c880d3a6a74f8c195d4cc26469b83a1cc425e18741410aca01505", + "0x003a14baa3a46787429c30ac396021b619849ee42f97efe0ce2ff87dcad030c2", + "0x003f460c754c1509c4cc0d3f96514ca056bfb4f6926770188295eb15b27ddac3", + "0x001a442ae154d7216a3747c8d2464f5d78f5536c9fbf6a0d94927be089d2baab", + "0x0093504251bea15f55dd76372a736a9840690262723ba9d81eb6f487efc4395f", + "0x002e9f1315135e08a61360222362c0cc08987227df047182c627cb8fb02e4383", + "0x00a29e2058caeed4c477a28abbd0827cfa71da7a1be1920a4091bed97fa11129", + "0x003f549898b42eccd8ebc25ae907e8b546462cde1c7b4a8fbd538eb2335a3289", + "0x002d4a5426926e542602d6cf176621b04e28a93d87c43bc3b5dedbcdc2a5acdb", + "0x0098d02f0fdb9ce27e0b45f89424412474f459cfb0bb94e99926a51a3eb0092b", + "0x00302c329aaf2adc1c8b746b4826658d6128fbd03cc619132927738a4a059ca9", + "0x008b46a904558ee26302a80b4c8b171719111f8e147147c5334f3a3e6b395774", + "0x00bbddb7cd6c179da53d2a1008d0c10988efd4e1c0567156c6e49cab71ffdaa0", + "0x009ec93baa57324655c388e84f95cc91c97bfe944da6c9a475de9afb2dec19e9", + "0x00b4cb70ca8d6d6231e335de815cd6795e4bc957c0a33ed8d1d5697a9bcf396c", + "0x005104778aec180ebafefcd01ce0d651b83d49e92d3aff60d4ba8386999e0ef0", + "0x00a874f8710c4da41743a2c7f770fe697b1ee00ca6292925f5ac6382cb8ba177", + "0x004661d56138d9d1754c425146a8c97d1813da513e0e45f197cd6e0b20311d68", + "0x0079077e98770520b6d38e854e7d071c712e4b9ad7403c065f953063a7c0ea9f", + "0x00da80fc69aee8b9fb673c501c2d96df0f196f6e812a30ab0032e76c46a6147e", + "0x006ba396e9a3377a131b64db2af86d690761ef0a44ab1abd7b892aa838e26843", + "0x00dd2678770015596081545584a07bfff77f61473bd92d8dc64d131449ade5ed", + "0x00f97c6b3d78d2ddf32e61229aa020873fa92bdcb8d983f2350d59edce0c707b", + "0x009416b9a154687e7aefba285c3bd53010894012a08a66e7bbb1ac64d981abc4", + "0x000f20b1c509f1d120dfbddd83d13363dfd05e24f307d1c349f5adcdeec2a009", + "0x0047fa1aa37cec67b0b59eb104de3a67b16edf4d6de67f57aaf950ffc5a5ba2a", + "0x007b908546626834b90d2f720cb672d0893557ca8b9d21ccd14688c6f42155a5", + "0x008929ab7d2e83b68fdbbc7b1f525a98ac3f2d69bcc0d78b8c254906cae37693", + "0x0085a851da706c4e87fc2e55f0b3f1c4a2e5fc21fc542791477b6738e573142c", + "0x002f7a6147dc2dc87ea32204cb71eb343a3a103c05cc6eb927a8b5bddf2bbef0", + "0x0065786a2caaa603f2f437867b5a505a2ae4d4c8140edb97c27ac257f9a78b95", + "0x00c853b083c223581efd9990c4af50d589a9f65264ab2f9afa734d5a0d70e9f0", + "0x0029862f3379246544ad5d64528713e484118fc79323ad2fdf9cc4541b1933a9", + "0x006dfc526b01dac779fab64b7978de908cefa9da3ecb9cfe21d020c4bdafd79c", + "0x00e1e0e16df8aecfc49a85fa74cd8f5de43629306582059e9989a3b0ed0ce108", + "0x00e7b71855e99aae65facab4a2e6432b5dd02e50fbaae3a7b9f3cf85fc4f3cfa", + "0x00e659bb7aedceab8059f6017413eabb7dedbf938861411e0cc7edfa3b7adfb2", + "0x00828ba20f54ea5b43e1b6396f373b5cd03d0be7d912787df1aeaf5f13c9ed03", + "0x00ae83d7da06767962f97dc5c0158ac7bb5f65605bb0831853ca49646e85b7ab", + "0x004c4542256720a8094064d1d207f4e2c89e43602c05924ccf82831c4d186535", + "0x00f1b2ac3e6a1f3686c759a82ebe3cc69d9586d1682c9ad6f867a2172b7baf76", + "0x0036896c76a70de4aabe9c719378ad9627c29676dfd4f39120857f4897d5a875", + "0x00913caf3139514bf543e8a3386444bb60d9085ff78928158752600e660fcbeb", + "0x0029d1e15c8856b6a04223450a5d97cec4b7bb292b8d5ac5d2f8b7b0758ccfcc", + "0x00e340c9585e8c51c01ee2db0cd104075cd4bd9ce7fe0e110ae82f563f4f4c4e", + "0x0051367e58649611c2ea222a7866d49074591ee8cd5258f23846a53d0df532c0", + "0x00064501bb3659e25aee460e6cc76e4fac72ea7f9db3cc4053d12e40e0683b3d", + "0x008243715d06c14c9340c2b50ee6609f579bb69b17340e06af94851e823c9227", + "0x00b1ac515635b613ca352ed21c30cf016ea41c31c35772cdf27a545ca4c07de2", + "0x00a7d7427295bf656905c2cdc13a3848b4ac3ef372b7364ef94ac97003b12128", + "0x0069e850ab8b63657a9ac7f21b234b77408f6004b51b4b5d2de4745b46727686", + "0x005c56a7751f6750e7d2c153b8459cf837aeb7b5d7d332ccebe673f70db17d53", + "0x00d2be272cdee47a14f542fb0f80fd391853ed52cdd7708202b8a0a55a209805", + "0x00153cd12afe30e81d35880b7564a684fe3f1dc8918267712003b112691b6bbf", + "0x0009a46ce016d6f2f607204cf4c4df2a54b659cb3c7c116dac78faf25ea648f7", + "0x000c10d52cf6f5c3127500b08a5c80df8cf8bec9f9a4b13ca7fdd85649cb440c", + "0x0019a5a4c435f9472a032e02c19ca6d8811b8a0091bf0151d111efd2a96be555", + "0x00abaf106ce8bb7730fa7993e1958691c7589177f3d7fbec19c587127ed6b4fb", + "0x00f4c4521aeced3259a8aaf4971e6b2c5bff75672c700050ae97fb58bfa1a74c", + "0x00915f8a58ae83e6acca283db1cc9117178f9c15b58c5758c8ee1a8089c1a832", + "0x0074e733bc4dfe0fe093d96ddf1f5f37b54988284d705e3cca7bf1525fd107e3", + "0x0070570c91ee37f4a2fd0f864884ceceb394c9f671d986cc898aa7751623342b", + "0x00e5aad5adabd5ccc600b9cb485bfe5e5ba64d9f23c650d4ff1c468439e4fd62", + "0x00cfa68a77bb343e51d22f3dba5f283013508f5785a65ace412632d915a609b8", + "0x00de8bcc08cc0217992d7a0a69cc24255a4b87b72d40db777ed2566935725a23", + "0x0016f58ed21b089087091bdae9994adbbd895caf985599e25dd735acf9c45a0c", + "0x00c68f2bdf2a7e1d21b75b18cf24926e24ef25fbf6294059ebd70108efbd050d", + "0x0011ca533dd022702d368eff2a43e2ce671017e96ca4bea5bbed80ef1a780405", + "0x0015b01467c0e4893007da3aadc1b2971477ae623fa62e7dcc7422864e1480bc", + "0x0015799001d0c3a2a02fd818f3fd3bf38b24cad1d88fac0bcddacc7931d6ac41", + "0x001f8364ca51af5e990883e617c8b7a1aea2077b3b3e7546f70007542efcc68f", + "0x00121c6dec74689d9551e2a0a3d90fc9af55e93cd3e6c35d81b29827dcc07c9b", + "0x00a4b5c2b081cef97c09901dddd4efaa4771e2fa0cce179d279d2c8fcdd96507", + "0x00607a390a8df49a958a911184bf83f8fb879eb4829a4775d9bffc867ab23282", + "0x007bda1a48da06c120a811dcffa1de82eb1c0c85d36db2d1af0d67f568ec014b", + "0x0018e62f2d6a25c9d3f1a75cc1e1ccec5701d116a1b83be0c9440700635b6198", + "0x008846251b52addff03ffa33181650f8d61f896901e3b88601cf3991bd1d3fed", + "0x0029f50b68c26a155d8a900ea3e7e57fe96aa77cad12b9b92981dccac1123865", + "0x003e75e406f0a020f75d5579850d190a78ba3c23338102f1d81e0e5069943457", + "0x00be5e288c439a3013619d9b975d7ff0a28e849c3ada95794ae663f4f27bd4bb", + "0x00fdb2d2e45977ab740aef53798b55c0c9365473aab43c9c098caf0ab07c6441", + "0x00cae9702d36977ffdb3cb91c808a2351823be070d9ff7140b1af3d756c582fb", + "0x00ef068c88acd4f0d0d4bd4739dc6bcb99bad03442dad04ed89337e08fcc3078", + "0x00c0f65b7b7c6a279b0a637d56e88acb0a1b85de1ad6474a6ec4b1e031921a07", + "0x0085695284c278bd55a0729154bd058ddcb7a1850cdb292f13cdea05f6182aeb", + "0x00f4bfcade0f39d8a4ff153822a461d295e52a84048b7230750534a07b1934a6", + "0x00d5ac8d99a0b6ba9d320abb6056dd22d2619241ca613404caef1f23376d5747", + "0x00a0f2bcf2d66404ad3dc63bd1c743a6c124219f35b74f12b496b65c74cb1991", + "0x00a49682bb0003983159a9a0b4aa5be416cd768a6171df68c795b2e75bb52237", + "0x00b4b6cd07782d430d1f8cb61056030f6296c85b92e7ce274ce31042483de551", + "0x000ea476dc417f75cf9a25a2200c49e3f5b4e77d4d720ef77647f5dbeac419c8", + "0x00cd09e1f77cc374ba339b650150177347da74356dedfdddac3dce46a9656e05", + "0x0058741ed0bd6b075b9235a15cb501c81bd9a6d1d9aefcb6a5b3ea91b79a9d76", + "0x004e6eca5f3fa4dfe6de0a18860c373e3ab5317d8f6fbb628214735179541e1c", + "0x00ec5aa0c05e99fa34bbfc9a732b80acc7946b0d836c7bb0a2854fc942d72819", + "0x00523dba662c97bbba31cd9b8180462b821f7346cc66a9750331ff312a006396", + "0x00b50c586008268572db69a2dcf08dd5d05c7e01de95af5e31f0dbeeeea9add3", + "0x00fe8f2dd531afbecdefde65c4522e0dcc043e2e1bee6d2f09dbd2043ae40254", + "0x00021c4d2ee4778a9884bfe447b869aa84473f6453ac91e20569c43d2ec0347b", + "0x00d65619133c445226150d2b91c4f2043eff786c556b227851e3e3d1826b75c0", + "0x007a47c8e0b171b3b76cf0b198081ca0cbc95c83783c0797bcdac4aa69d1a017", + "0x0068a1669ae250a20b5ff51bb4931f43e67271d9482d9874642ac71225269e0a", + "0x0052cd37d4bbcb5ed2b1c9d5548877097866f822c62a5bc0174d9ad8f68e3945", + "0x000ca9529bd78b14c3c78714a75529a70e888c7838b0a2b9dd07fee3dccad9d5", + "0x00c8b72ee7ef587db89bb8d0b2a731a8070de32cee7ff8d2abfacee5caf50aae", + "0x00c99d7967bc5e2311329857b8e8d1cf95cc9487bb75e6a7f1143d948f90d181", + "0x00f1d1596a51c7c676ece8b252fcb8e1b0dd951a24df48015f6bda2190ba9140", + "0x003e06489300c3abc7f2413b49b7844b2df928a824b77abb386ac81e902a98eb", + "0x0046dd71c795c158bf3e55fb741ccb1c6ba8869f750f76ce0b75947ea58eef93", + "0x00faae14db3b9a905e03067ce3f43da68978131144d5a48faf358255b1526279", + "0x00b3a6ef27df52d5ee720792160a146d6cafd71db42dd752aef295e1f7f4ee9f", + "0x00c665e80d139a156cc1bbfea0f800829327564b4386392a8100fb14be3b1640", + "0x00c3c20e8e9035c980ecb1b33732a20779d26d238f3639adebb64925eb9af785", + "0x00b9dfb97f4c58baa6d083ab01665785343cb270000e15246d79e894a5e385ef", + "0x00f38cf72ef5165f6fa8d2e1982c7d36dae54eae13402460946a5ee013423cce", + "0x00ced4b997a5bcda6d6f00700e662a392b3d0ab103c96c68a612e0fe653475ad", + "0x00dd25a88861c124c52486b5a4b87f348e2f0e157c5a77542faab7f8a6236889", + "0x00d6f050e3189a731c47ed857f43d294f4726d7908203685f7d8ae7804afa00e", + "0x00d21549af95d1cc44f3b9584dccda53c19df8a957b579fc6a66b80c17dd4775", + "0x0032c585a2f380766f25bd56587aec34cedc5ed0c7ae09090a88be74e9dcb033", + "0x00e70926ef6eb01e35f08bb51edc97f177c8fc1f82d80a1833a802164a021811", + "0x00e79521e001b6dfe6a325959335094c09aaedb0c0d99cae20d285bce6f54d38", + "0x00f831ea19c28f5eefac539e9650da66318900a713898b51ab13465a800a1966", + "0x00c418cad080c0efa5031ade9e4327a25ebcad0c5f7dc2b25ad35c2ad81a01aa", + "0x00e67dbab5fc07986e902605f432b473c6cc7081710d8249c0ae268d0c4695ce", + "0x00fccc2214351056aae131747cb474e840aa5b855cf3c60344d9ea093de8ed64", + "0x00ef5d3c8135b074fc4c56f9a83a6e9b4fda9ccda65e72ef29ad5c7b0c70f7e0", + "0x00923f09092145f98976f2bab1b5c8d55d0b5fe1d2c807dc6e21a27d5b0e915a", + "0x0076610ab76a41e95620c97fb698fa0f52ad9c99a57b1e3108c3cfb90b671a3c", + "0x00101db9e40b8e58bd77abaf5ad533e0f14035d0be4a705f6abd34a9299c514a", + "0x000912c698df9222fb27eb987b09c7097999d7101db018cd9d2f4f60a88c1b10", + "0x0043af38607d0da7e832349c2e6c669343042f5589de71077b7885884715554e", + "0x00e2d5937e0a5f02a3848403f8ae4687ab341ca59414c03b3f44de0e78e779d9", + "0x00f922d91c3a0a780a21eb0e5dd400aa33c9c86e0f3a27b36dbb0cca0d6620b3", + "0x00e41cc76e3ecfe8ee8ae348d5e5b46069eeb4b2cd1464218fe17923cf1da7ce", + "0x002864efaff3246c2fe829dbc9e112d7335143f7978bd41eefd9cf4886c014f6", + "0x003bf030761eff021df52ab33fe5aa0d70b11173e1ccfa16d42ccf958e520555", + "0x00e308dea94899f00ac9afac879f10d948c257c66a65c0c6185356b5e71600d5", + "0x00066b3849276161037a295152d7a3ffc589997add158cebd07af957a2414613", + "0x00f328f7187c40531b75fd90d0c6d4c0e393e1aa41e2a50ad00eab4d7d89301a", + "0x006c9d84104862252ee352cabae1e6486ddbf403b2571783c5ffca5c4c30fabc", + "0x005ef134381cfad0fc0265156c2996db0adab2180d1b4999b2c7df68476525c2", + "0x007158714b9ea6e784b91596ed9ceccce0d5f59f913e69bf0c4cf1f5eaa21501", + "0x002df5f75df92695b949098368e2bfdcadeb47a3eda9b1fe6ba41142061ce1e8", + "0x00b6d269dca820a791801494d1b0327a7a48c837e35b11e32bf49cba00a1b9f3", + "0x00422d75c349adb1f6d6e3f21128fa2408449655b6c0e8ace652efe783a92e4b", + "0x002e0fee76a4e2643b34ae9262031554646a7fead41df6ff6da38427aaa2367b", + "0x00249385b02cdbc719a003a1222f0f107bc028dd42bdbe500dc1f93f60946635", + "0x00630452b29cdfe5a015cb24fa759b8f15acdc8e8f717769cead2e5dfe65917d", + "0x008c97c16c9768b30efd92a08d9b04115b67b7c67ac0791b2ec1d34a77d152d8", + "0x00ffe36273bb5e666f64a0d7ed43317082600a7bf0a20e5337526457e48a3357", + "0x0035b6364c9f6c4676aa5e145e7ceaccfbfaf90b7e86356f441c191b4dcf60f2", + "0x0062a01dbedc7559bb085435125aa65fdec6fd24d9b76c88de48eef3ffb051da", + "0x0028ce3b8aa8ab356ebaf1bab0ed271093b88c3988959fb489842983fb4ff3fa", + "0x00cf9e4312902eaae597e8e3e7ead47d9dfdecc7994cb6315102bcff22a79e03", + "0x0023b24cdc1f6cfa8dc84223624fa2f2337ef2750eb5c8ea2e109f4db6b921f7", + "0x001315a0ffa3400fff053ed81c12a4aeec7f77733192193f33eccfdef576a5b2", + "0x00e9b040280c1ccca70fab87b76e6d463d6eee1796630b9b1b8a9275f399a01d", + "0x004d9741551b4d7090972ba893f20a46c70e66bbf6be5ee7b8ff60fdc3ed7667", + "0x00f08cf8fd18e146436a362dfa9a3fee6d44b0dbd6d007629f91ac0ecffec58f", + "0x000c156b6266169c138930eb63c2e301f7019056b32bb6e3b99cdcf8ddcf8dd3", + "0x0071d0597c401bafafd79351d5c4e4def8556f89306a52f06b440cf3dc4e1ac7", + "0x00b1201353473248b4302311fb4607662a737cb5244df3087230f1b94748ae9f", + "0x003143a6b47e4fbac57ced99ba3d8fb7cf41c02359eb547ac9feffa52914fcfc", + "0x009acc99d3529c1ed3a54b22756d1b10da07c98baf05fc6a253460d2540da014", + "0x00c02473ae073ea2b07a56198e35c6e4b679f2d2182b3aefb42172d48f7c0fc3", + "0x0019b7117a20d56e481fd56c4b3cc0f9b422c0c99845c5bb615e50d05d519c92", + "0x00b010e56fea8c0983ce3bae85fdcae7981ec3d7c71f5a84a7353232d8976305", + "0x0068cab3e7e79ec39f55e14a75a78e29c4d6294b37e71364693ee2566e3da2af", + "0x00dbcba88176e4bde1295f94a25f6409902465cdba216f139c289cbf8a1c1890", + "0x00019bb97ab79214b1d99f5ae8ce09e947b85a212939f6cde3677672767f9cb5", + "0x0098c3c786126da2bd4aefd3538a37125c72f3118a2886e1601312d59b637902", + "0x004f5ffd993535d04db6c52a3e8665de08e274db3f72a6670c31689d4e71d956", + "0x0053ddc8a3c1440a9561ddd517d917e163a6f861708f708c1b2950e80f9e7d62", + "0x005ff6d1f58153fd4b96afc594f0551c074517b05fb4f8c4764518ff54947a31", + "0x00f5d141479e6dec56ca7c65758657f5ad6de8097094609a6900b0004a02a4fc", + "0x00a011b415b8d15a3af21c63ff4f5c28ea11ab9b76c8b0574c9e557c219c5ca9", + "0x00d0b315748166c4a342dfe52ce8440f730ea4a7f2cb56ddf1a7c3de20655709", + "0x00541b5ca7775f3da9ee5d0ed99505033d502f4c192b11add2afce7f6e68ce44", + "0x00f090dc12486f554b8d00ad643947c6c705de97e3bf369f0bfee9c04624afde", + "0x001ca1085b0c1dc9174174786bc65ce756975b65c61cb1d411a2c9b4bf904df2", + "0x001b6e9df3985969061137025146c7175fcfdf5a04fc557760692bf3964da728", + "0x0084e5eb6511130e1f06d1992793c8fdee5bd7d2a304977b203c49ade0c48d2c", + "0x001aa85071a921be13f22df769abb8ddc6c9a31285f960d4a6f947d3134170bd", + "0x0046da0236757709f65a295df00d5b448228981eec9cbcbe8a92156d0e3ff99a", + "0x0050b649627e7693f357a5d7878d9578f9b8ba5cf205b291f547edc4993107ab", + "0x005cdcef876991fe9aad49df8ba501033eb9bb8193d6993c648c2a75fed655a7", + "0x0015a9c42097c4d8409d47796e89a42e78a92a93e25a00d2c6698269f1687101", + "0x0002f05a3d0dd5adcce84cebfe7deb59b5fad6fd6a5998c5840217adaea19d5f", + "0x00cb233a4368d9e4e4d487fe29d28ded0ed640e1314cb1bc1f931747715c9ed5", + "0x00db73641f7b57e7e202ec4afe25c0378fe12bbce43b86bb6f2042d12bae0327", + "0x007f16d7ed99b3237d2495bdb2228e0c5a2749b8b85831928c365463237f7066", + "0x00dbd3d0da695d04299da044cd335660c9a67839fcccef2780bee823ef0faa8b", + "0x00012ab6175a845f65fa7720c617a2e0d56eb2f397d927fbb0c86bfacc6f81f7", + "0x002d9b381611814be65ebf4969922b91975f4464158711ca367cc8943e96ab19", + "0x00d94c4f542a646143c47576d192fb986ca19fda79aadce97a3c80b27fd69c31", + "0x004aaf544413f52b7c961f26b0137a26c29265a794cfca6c6e3a23b27389e96e", + "0x009706537be3e94eb4c5e46fc81b2444a5572f9642cb0d6d410e05d97e882e8a", + "0x004307e2a34c58e88401241e3185e49363c1c175962f085f86af045124dc7532", + "0x00732b06a1a427e8d708778e1f31d4a6d9514928829d505c4c8d516f9b7adffb", + "0x0052cef388f73b06237caf48de54e560a8f6d565db3cbd03bbf56a6de071f785", + "0x006c1db6957ed3a7395b385fb2c8e6c9699b5e99b17ecee6f9bd9895f8e7f765", + "0x001f78798395a8a2f365b2528a67a2b77efd6cdab69b92670d2d48cb4610fb62", + "0x00fb2ecc8bb73b78f2d8fa005d57186d8b7c17c3638106c53faa1bc6221401e3", + "0x001c1bebda52363556f53f87f226068d9e5e224a8bfd990c59d6e0a09b2d6fc2", + "0x00d4c22b1a3730e1cff4b308d5f6e37b1e724645a4140f15968b5450500d7fda", + "0x00cd40e0f66f5bfcd71ced9218980b076ca1a9372f93b9bf9db0517556fc4958", + "0x003645af1173371ba479a8eccb0f9aabd052dc78f89192cb238845c82470e3da", + "0x00d08865ad080f590a97b7df57846c4b251e87f141e21beab9386f59c6b9cb0e", + "0x00de6f724df29208e3a88d62470faf0d9e4bd495061e3e47a14e4e1f679d4bcf", + "0x00d0b10bfd304984e36dd2c52ccfc33617978605cc87509d87a7e6fd3da877aa", + "0x00b02d633608dbd7fad44b8f8954f32684d33ffdb9de11776262d4bda5f55d25", + "0x004ea31ff4e640a59d366be19f0d0c1551b7fc2f7ed603e45bff8fdb599afe1f", + "0x00df723415bf1338337700381f67d43a0f3a71fc9aac96869a08ea59392fa68d", + "0x004693856a86c5ea0721e4f54d4eb5dc5fd5c4d2e6540ddbed063a77466b32a8", + "0x00705fb32c9218dc71d9f2ca9efe319927b23709b2fc1734d3523c88d62a237e", + "0x00957433e16457694c8225103101491a2f9e2bb164407403a3f20eb6699db19d", + "0x0024b68981c7653a5df40cfa271dbfdacbe6d21da25f05210a2ca76130d51d6c", + "0x0088d765816e3bdd257873aaa584d404382b9f32339c21c64334562e9e68f226", + "0x00815911607c17bc2ca3b1965329f162857b149e739808b572fe7887a4bb2c7f", + "0x00162a7b70e0982b74b9f8180db50a8f3d171f27044a9e20f538992acf5e16c6", + "0x00a68c44e74107ae5d6ac5a61b5c3c6d347bde97f32503b6331478061a3b9973", + "0x00ea55f345ab60755b815077050b5e52b2431e3a0f63c3729d5fcac9272868b3", + "0x00dd4d4e6d05f7d0db0b7523fdcb6c724b1706bb9f8a1e295a690888216ec55e", + "0x0054021b60ba7f3ce0c3032196ca3b9baada32f8d1fc886ea60a868347bed1ff", + "0x0082cef68899655354183f62b88fd137a98b31cf185165559060fc01a4c0bafe", + "0x00d3a83cc8a4bd36d53e67d3170d9c0a7a51e8d7082d2b9b7710722bc192d39a", + "0x00fdfd7cb3a0195f198c50b19f64b0ec3781b9636dd01e50d46f60c97a895387", + "0x005344f9b882681ed61768047bbfeb08c4b85991399ebb463718e13da23b3977", + "0x00c0775d4164d3884e12128c6f305795716a4b424efdf6d4e0db66838cdddc48", + "0x00b6aa1875819ba12ad3f7c3688e010e0cd98db2ffa8976f5c5ae4a2fdd0efc4", + "0x001d29c5f60953c477519675c5891e7a02d7f4ebc4d212f9ef838a751227623f", + "0x0012fb6e0cfa82072ff3a414f9a074d1c326c3bf5500e297172c5e69622b96fc", + "0x00ae2ca316b4a5c5e38394a03dae120d98839a516ebc743058a8c50b4c8fc77d", + "0x00bbca65c7395db4674461d30b7258c846c113f1ffa7042707b540ba13109880", + "0x000bd03895e5bc4d4c15fcc554d5206d8c4e01b83835f0dfd6bc4f62a7635b93", + "0x003266af7971d61dbdb7c56930b75833a88a361e09e55451ac158061b335b161", + "0x005f5a87180eb5c03693074bbb1701d767d9aa8c3596592bb340717f4dca294c", + "0x006d05ba69caa3916fb44130ef42946744d9854c06c97877cabc7b5c89f7c808", + "0x00a716a4626598ef43165f09888b33ad9882dcd6b2531885c07f053cc9a13ec8", + "0x001e1ef3c88a7c72c786eefc7072fb0234fc62eb7cc2bf7afa6dc192c9668744", + "0x00cc17e14e07a55c060f8b93eda0f4356c82e137fa49c22d3511a91aa12b8ac6", + "0x00ae0731fdd56e3983a21675f1ed09690bd32c1959a9117d80311a60e3204b80", + "0x0019bd032079a0049d947ad521fa199079b783631365ea162ee1a54141f1abe8", + "0x00f7a2121c9363cdd6f4862fafda77b72c4d3862bd88714abc21efce6ec77390", + "0x004ebbffa54643f60e74e6de229783630617c5a300bc3a4e968bb9b469f39d2d", + "0x0089960a2cc1122ae46442b769f48db97e4f9f7e49d925d72b14910a1ce3a4fd", + "0x0062f1b0056fd52e03dbd96dcabccce87ad3ac0c40a861480bc6d704b8f47cd3", + "0x00bca6f95270d341111eba39b442127f45235fd39bac49b3e075c8097586e6b5", + "0x00e82f184fbf1dc3fb5c55e985cdb0c32cf4a984238821bfc545ec0ec6a7bcc8", + "0x0091ffdd997585dfc36525622f93dd412a1097537b760717e18e640c3b43dbbb", + "0x00969d31998da820059849ddbf27167aebf43a2bcf4594cafc1177e43598b8fd", + "0x00fb249bd5e518d7baff4571b8e80c7bae2de4b5f381d136972e804a60c7b438", + "0x00f112c86901f5c42ab754c4086d94201f7ccf48275c7f017224ba4d0c44eadb", + "0x00d6d949792caf006e268ccb20db424f95756fad1105e0e1206ae9257930e86e", + "0x0087c650f96e5de628c507c1693b73ddf35e1988d37e91586fab608d7bb85f4c", + "0x003cba9862ceb30f8caaf16c95c076a8a5f0f94fd4dc4572e5e00c15f558d1f3", + "0x002c5d172f8350c8de03a8cbb7b7ea55d5d1582135693e24dd6bdf1605ae6c62", + "0x007784c573297b4e6d743ea9aadb6d0a7aaf5989df9c9d4073c5dee5e93b219a", + "0x003cecf9524c5c6cc2b740abe6703c948fd4dfeb9f6b4d5dff3d1238c19c98f0", + "0x00dadd9cd8663b87eb57be81a301964691365123b47e21d4fbc97492bef137eb", + "0x0057c88c3cdf8609733a9a9ce902439669294c0dfc9b6f5f94a9545df563ba06", + "0x00dccc8a06d5e1a081b1b1b69ef59f83e0777fa535ffc99ac4cc921c236ea4a8", + "0x009acbc17be0d41035d319418a222bec9fac2d569b996088137b5dd2c2e7e690", + "0x00826442b032f3750a045727b79b4bedf4f05a52e05f08314970e15d7bf7c9c7", + "0x00fe65172a0b76d5d6ead98b4532f12d6b79aa24731659c18c241e4cfba155a1", + "0x00b0efdb615659bdd94dcafc16b77b7e1b9f0f4476600de8f1b9653b17ed5372", + "0x001b3e10997fe25e90302d6a7c548da90beaea046ab97bb6684cbc6837caa4ee", + "0x003172feabaf299b455b881a77c22dd3be498b0e9110595ba28a1de7b1d6bd73", + "0x00f780169cecea2ddb1394053ab59bdbb0d9ec8b8cf9cc5f280976658f4397ef", + "0x00e17dfe79bfc3210486c05df6ed7dbfd9bfc4bd5bd4d574f9c8613282cebf50", + "0x005b133894284ca101169b7b179e82cfe451541537feabd9213ccaefe74da4fa", + "0x0012e7c029dc36e3593261886544511607bd5bd449d353a2727c0e55dcd0ecb3", + "0x00efcb45bc2186c2a9927c663d703b3d2d07126fe60a1b334d6f57189f538f66", + "0x00efb301dc9ff8a08c35355fa4967313f1fb6bb34488c7fff96b574a5dda7ee5", + "0x00b7fe6c9e26fb407e1c3df9205c3f4ed59110cda1cbc482a692e21efd2c6461", + "0x00ae7559752f3a6c18690a8de8879ab10cba24cfaccd537a7bd6cdc7f9daeacf", + "0x0021eb3bf42460d38fbf5ae000b25d11fedd6e4cbb3a9148c4e6fab3e4243bc1", + "0x00f8afac51f635153f5ac06ce77ab3dc85bb0810505f102e47d2cc407f6d2cdf", + "0x000e2c70e6c802854feb93cf83289f95c59fcd64ae5b99192e96cff1c554ced9", + "0x003573bbb2f5922ae1187b7d816c76467937c6ed02317da8d299eec9775c497a", + "0x00ee198015f4cc71e51c6a12f19342156fefda07d36c71315d53b9a750882b18", + "0x00e8500557cff1994397957ec261c6ff4c3a017fdbae28e8b2430cd99d74b7f6", + "0x000ede11fdfe6f1ac68051d92db32a7b7f2076574a79b241080319707b829aa1", + "0x00c60f3755a964e027128609224055d405f9fa1fb182a1eed3e26cba3b806f27", + "0x00514b5e6d2a9fad43ceef00611e1cd8202e492d57307e6bc78c75f033386a2d", + "0x00a4fe3c877b3c3ba832acc45764728dbe17ee5b92b17e551f7e9c515e686dde", + "0x00939f4275a8772031d9ca80eeb54faf2463ec72defa45ecde8bfdd7f27b0873", + "0x00c08ce0623f79aa48b988105470baf7d6385069c3e2d24fb2e24e12dea06255", + "0x00684d55aea13cba79dbda3de09069b5324a64974cb5a4a1bd024abf527002ed", + "0x00ee9339a7a362f0fce3c131ef531e0eb225b702d268fe9ce9ccf19dbeafe2ed", + "0x00e005e3bfc51da482f533ea424ca7910c2c09d21c920a0f2d3abc2e6fb5d560", + "0x00faa37538c754e5c72d0f76db6389e3d6a7ea2f4f74bde99d72ae017302efdd", + "0x00e84656bb5f4903aa201344cb87f072eddfcbb516c5ea5c89a8c1953aa066e2", + "0x008f71c5e5920d9babf24c7312697fef98e6ec7135f8412b9b3cfe3b0760125e", + "0x00c02dcf68af37fb3070a3dcccb8553442ee9c32a6f7bee75a21be247087b600", + "0x000b778062a45f61b70d608f6c277d86c0b5910056095e59a4072d73002c11b1", + "0x006609ec9c4a9953486053b9dd11635fb000bfc4285267c67d132bb4a3bbdfef", + "0x00770bd65731a687b3eb6cea2c34693ded47f9b0bfed7e8b93f3bc334a0a2782", + "0x00303e472595b2b8bc744e55c5f75d5768fe899c9b237cf9352c20764f373956", + "0x00db27e9758bed83d8c072df8250dd4c26084676db2e829af4e2968201b37b22", + "0x00cac8aa6c4f442c01a0adcdcb78ce58ccfb7b4eedcfa56e76aeca9574770dab", + "0x0057bbb2cc4a79efd7782b25433b450b030cf24083b49537551ce49bfb7bd7ce", + "0x00699262ed15c653ef53e78bb181c06504b5a71d84802c473d63bcb4fced420c", + "0x00aa808ce80754f3c1cbbda4a06166ffb3e9699b0f5b3957b4ececee8412ae89", + "0x00ecf11f502c0a45df80cfdbc7090f2cdf12893cdd672218bda94b4a9937f347", + "0x0070c5f4bf90fc36ba008225e8c9204285b261819fff335cf79af6a6fd370718", + "0x00391955a7c44e43368f3cc8e2d5b3f2d15dd515d6e58f0d656b5587ec9e95ce", + "0x002b80e6fadcac8c323490f8a7ac31ea17fb6ed22aef744f1bbebc5837014327", + "0x00de3032de6a4e19ae34f34f22c576b386317149918744fddf078346ac5a90ac", + "0x00f2070616761676f40bb09e6283da4ccd9a739e81ecc18f034f6ef83656fc67", + "0x005908fae8921aa85b73f7002ae4f433551b45becec97e15ee4ebcfc8bf524a9", + "0x000a622608f0eab1e92dfec974ad74adefb935f0dd608255defc9645a097c5f0", + "0x00b9c7b897f9c40d2dad5ac64385284e8e64d7e386f7aa21cac5ff7a40b3ab5c", + "0x002c0f62189365dc390bf39784c4ee603aa81cc2ea785c582b6930f1ef70b36f", + "0x00bf2bd92490ab85ee3429ee2d6c48593142e8f3dea67a4c3ca163637e9f989e", + "0x00c5a482347a699ef7f227977190a5f2c67df3311c4d68c1e9e4be17fd93df10", + "0x00b4af2cdf2cacec90ee1222160309070b80854b714832a450654462e2db0291", + "0x00c696b712d9acdb24adfd4e3b4fb5a2c6524a2f28327c3a751604fcca05579e", + "0x00a65d10f75e306f53508adbe8bb66b80ddb8d9c920c55f6e52e2f39e60718ea", + "0x00dffc91b948cf10d770e21da7d56bcba14ec501cc4324cf0354dca213b226c1", + "0x00f1afc7004dd0beb71a6e1cac749f711b0cf9437bf3f671de8e6d594cc45267", + "0x00fc05a0e479067c9d77a26d57202304711032198b09c703c3b1cc06639c174a", + "0x00f752d76649ec9a11a521e92dc44c185ec30095dc1875a634ee6a9d05672533", + "0x0076d2f5298a49c7f7cb5bddba3e2b0aab81255a835dbd03c794b369c697d6a8", + "0x009d645bba09cffa81c8d71a2bda8c7f25dab9765987b95c5e13783fd0798ea6", + "0x0004bca72e4ceb7af6645a6dfba8084daa18eaa92e01e47dc7f76cd2d53891c4", + "0x008426667218a93b2ef5b7e935cb2371083898008ba07e32e275d0d18faf825f", + "0x0022a47a90b2c4a6f43e032eabde32754848666346b2bb28236cbcf6db0f0b5e", + "0x00f94f89d05e16bd68e3e34577524eac5bcacf522ad79161212bca7f4e90e89a", + "0x00a9aff888731d69642926861026bc028fb82866c327c4aa5ed54840b7e09fa2", + "0x00f9dfb0e8f185a77de4438a5e5e947f839120e33141c2e7e9313200f6a1fbc5", + "0x003857ee33dc7425b573dea2857b78886800a42784f5b898655590739057f472", + "0x005e083aaa5a83c483795926108f121b3f42f7a86266ca5487e0605098e35a8e", + "0x00151971c8c00755604427fcb20349088c81acd307d010de94672eb20bf8af2d", + "0x00a12ff9bfdd0c9798a1ad144ff3e70d6d0a4030d6d257853246ff05d00dca13", + "0x0020f5bcd79cc2f69a363bae58ee8e04cf7121fccd40e38fc63e4faeb536b9f1", + "0x008051c857f8130d7c7ce4afc43c399687770fab5d7d3bc3050361ead42c07f3", + "0x0009b622ce0fcac2ca8e68e7c432f73be34951b27248a0ae2ac4f0fe43e7d210", + "0x001fed6e3dda0aabf3c8ba0382366c2615d3ac209895876c4abc2c56b691032f", + "0x00d3569c6954006ef3b6e7f670982585dd4e54070bfcecd9bb0f50a710532a3e", + "0x00fa9258e052ae485eb0cf03868bd51c82c9694b6e8d1b2000b1966c886ad291", + "0x00370c95d0bcb1d4bd7f89977264386d2eec586bfc2ddde8c7930f5dd6ea2006", + "0x0094a9ce178b3274f00627341e38461b0f1a5fe0f00a4e3b88232effed73acc7", + "0x00cf8648f0427ba3bff1c20be528a69f71ff932741e877899f880c11eb1f9c68", + "0x00b3a53dea85228ec77b1f71799e0a4e715b7b256b2753ed92bd49311c81733b", + "0x00884509b0ea75c181655cfa1e21ec3ffbc7e8d55512ec4894b589a63b185bff", + "0x00034c98b8d5f931f66a667aacfe4c5a48b6a82c36bfd6292dc93c81d9bbfa92", + "0x00820ee8a1870896090c76bca665da351fa380a59fdf8fad66bb27fc057ce0ba", + "0x00a092d1112ac9d88b06750bb14a6e93737203d68913f7c9b44af4a3bcaa5146", + "0x00dc8b3866189334bafd5ec01bdbd72e0e00a9444ee7caef6a70dc1978857683", + "0x00f88b25b337cb6dd3eb5348adc2992d3a115957753231bbf4a2f35df0849937", + "0x00684e9fe2667b07fd5daba159bc0d88685776adcd18520357b0124638140c34", + "0x00c44581eb2874eb1c4b182548ccd92d92c7afd39e39fc622bee7de22a5001ee", + "0x002dbe6f35669e8239e10fb204a8d2b41ab37cbeca48ec1e471e595c53d9f455", + "0x0004c577c5f4484e9ffb64c4a7ffc6d50b6ea45a9f4321bb2bff45f5cea7e5c3", + "0x002428fe364a649ab1c31f91ed41fc4fa4432b9d7ea015beede15f44441fe18f", + "0x00bfa98b207fda8ea93d9732329330800f9a34579c3c16b11d93ef0a50220b3c", + "0x00dbe6841624bcb63b728eb095b5253823bccc792a4363d387c508c5b35c416b", + "0x00826131b4dfbcb77e75e59ce978fcbd16901c2c9ec49709d21dd5904412bca6", + "0x007d80ed1f79391bf5fe39d9d7345106b193759d298267cdd0b14f45b6d4a7a0", + "0x00335ae9f11947b8fb707fe3da159b259080ddb57afd0450c64de0ab76b3df05", + "0x00eec0c44fcb22ae8d3729e2747b1c104810b850cce4e7ab9d54ae96ea69a37d", + "0x003f0cff37f21d8b13c7fc2ff7d07829720932de31e8aa143cf9f5bd3a7d3e13", + "0x00610ada2ba3ff8b7164491ae48f04cb79df54818eb8e16ca0b676353d384b3a", + "0x00bf115e40c1f15dd490d6ee57f5ba02b999936c7103d9004b0f94b6d5a1b27e", + "0x00124e2f47dcafe40e1d63b62442edc46bef2eb1238f6d9ed9d0785463af257c", + "0x00b6e82c07ed517e67e1e5cd3635b27db8893bb8d6c646d23cbad7bbcd41aaae", + "0x00c6543db88e4093a0935ad16e2d45fbdd7588f382ba7b254657f2b683a58d72", + "0x004643ed3789ee2fa558f1f0887d078f67cb8eb754d6b19de3b584ae8df8e791", + "0x001f1c630ce27d6964ceb2d606887ec46624c31663e797224cc8b213cd05371e", + "0x008d0c2c6c36aae422a7e1b9b544802a355cc9d62493fc8c1ce33f5bf245ac28", + "0x003a6703ae2ac05e525f1fdfea6d1f2dc97b8fd891ffd1d6783c59b6a69dc1a3", + "0x005bfcda340d0e6041e3ad97d2bb250cd9672f21d9ee4adc1202c9425468fa82", + "0x000a1c1d52cc6aed357e60d2d7bdc52ae27cbcb368b116d869174f7dc3e48d88", + "0x0028377f5f2423f7dc384cd2c95cc6fd5549f2a4faaf36ce2d16125ae1154d03", + "0x002892009bae4480f8fe44f26f724bb687e20cff47d5ac57395899d4ae7113ea", + "0x00d6cc44162b1ee2b6db9648f884e2654ad018262bb024fcedd7266c1fb9e774", + "0x009dc7b32a2d7fd5c980a217eabe859696655bdf382b9817fd2359d42ee00fcc", + "0x0038a116bcd6b50ab5e855ab81818518c797ac148961b83456c9b8fdfbb54b65", + "0x00ac327590cea165db7cb9d61272836f20f71f57fad0757ab4d7fda818eeed67", + "0x0025c64ae02cdf741e693cec855c5b85abf611cbabce68b302591a12cec20a3e", + "0x001ab39d8e3afda4fdd2460eeb56d2b5aaa8f2e93ead8bb2c168413550ff0a57", + "0x001b35d6de9162d26f80b0a4c4bfcd50bf93b1fdf8f7585cb4750eae65e6cf18", + "0x00e9197bfb665cb4f4f4039cc7a6b3859a179f5de939b937232daf59ae41ac08", + "0x00cd61a55ceb99df1c15014520df4cfb6f7b690d69b0324b31061a2e5d086815", + "0x00d915f35bd208ca15494a48012e6db3a1b12bd9c86fa284a9b61b70538dad46", + "0x007096d6d38cdd1e5bf8400409024299a8fc01eeceb55c3408e636c1aacc122f", + "0x00ec0f2b2b6c5920a18847d4c8e8bb84b140c14d65b26413a38687fcd673d72a", + "0x00ef7e29e986124d29b5c9680232cac0f6a0eee71ccfc6f3fb61512abfdf9730", + "0x00a1a6e7359caba7b4842913a73168c5235e77d5991d0d0ffb454fb3020fc59c", + "0x00b5bbc6ddfecdf4d1f757f9c899c0df0b194b37ed217d5fec10121039019350", + "0x00ac338cd220bcb9d3c1b722874ccd63bcaf2d4093a682cef46d73890cc41dde", + "0x00f82a4aeda1451212785422739a8b187c11ee8093fc392498a5775d6fce7207", + "0x005b17915ac3e5d16ca5cf71e45d32581d52c40e31314bef8ace3daba2e2d5e6", + "0x009911be162d72248624cdf5c73293613185b8e6caca15d734952b267f0f5655", + "0x003918379f913396150c6fbb72002f2c8e2041d9d7f1b37d6f3237ce5585597a", + "0x00afd2f1f726e6792e74678780b516195267c9b3ec975d23b1af69f2fa2efa4f", + "0x001a2322444ecca8cbb07fd2a5b657f5d93deccfe69172988aa6180c2905605a", + "0x00411706dc33b6dfe5c343f78f674370f61e9fc37d71ea93fba96157f19db6a0", + "0x005f7a157862610da41b561e16c4bb80206c6238764ab0f010ead8729e2689eb", + "0x000c1cd517abc473d624371b27e9b8832ffeed9e5e78e95c11f9492ba6170071", + "0x004755ce06599894357e0697202f85b750489ce588f4bba242d5e9d65234f6f7", + "0x00c988a60751d735e6f19a1e5aaf7eb437709401dd70a3f77b6869a5d854d78a", + "0x004b9b92923f38bfbee7ac16326438602d03aa97fb7982eafa99f5a2cc8f1408", + "0x00c98e9334a6bed80d3fe6c2cd025720a93546f043dd2f050b1e92ab5edf74cd", + "0x0010e68f2ef85ddb4b46f134b1f3a60f8cea078b96152eae8d90de200f7028f0", + "0x00d7c0876497efe02ce165b39f857b1e4ac891176f1018087100ab8ac69eca03", + "0x00fa388ec707cf7dcb8209e23411f84b86763a74004bee97318b6f203373bd3e", + "0x0067992ba30250bf1222f5ce6e67398275fa502815f0cb8454f9bd6b826eb08e", + "0x00355301ea09c24a7a952ea7d4f015bfcb24df5ff000f7a2599493726e722094", + "0x00c924c16130ee4c4e760505efe715229e1172891365cf9217fea7066add6a5c", + "0x00772ceb07d7a54462bdd85ed32a91e23004652bdeb02cf21d8f597affe8c81e", + "0x00ccf5c954f16241e5046619aaf2bd6c0c90c71c36c09ce055ee267c28ba2e32", + "0x002834e792ab4bb029fb8dc6c78f650be699e6bdffc04c3fe7f09eca53fd9c76", + "0x001035fa30bf6fa63618b2a852cd996ffa4296b42f8e2a5aa02792df5ced4031", + "0x0086a946fdf17c2baaf78a2a30db2bf69e03628441b0649dba00db9f7a94d741", + "0x0098ebfbe4624aed6737f7e0ed4efa8ed265074db52c25add1e5667017512e64", + "0x0038de835d1c669ac5adcc16cce6d7d159e27ac1be34c740d98cbe08b01c7744", + "0x00cd8cc161367e085ff7687d916a43f523b0558dcb4d969a7fa4c8a0940216bc", + "0x00031ddf04016ca3b9eef31801d751e26508e3089529c63de60fd0ce34dee25a", + "0x00fc0ef84305215eb546d706ee1e4589ff883f88bdfac8f369db56f3f6a89eb7", + "0x007d76f498c13a166e08cd862df90a38aa973e7951c6bd2b71c6b8708d21cb23", + "0x00284f0e3422a960e2a933efddd5d6888d71696afe9f942046660d691faad44e", + "0x006c17bd42b8194d78263cec2281905f5cced86d72bf59b65b8bfaf87aacb6f6", + "0x006aa9954d27a4ac246e0eea96c497d5f667a20405dc01b91a12808b517c6e5c", + "0x0095883483e76a6594507d0ac2618ab6a424b1325c2ea558b287d6244faf102e", + "0x0089fdceab0e66eabfab2da39ad938fd51f5e27782b561435b04f0d5b399dfea", + "0x008029d2f084d8586f3e68c8ee123ddd79d5edd32b4f2bb2bed13098f2f9e6ef", + "0x0089206165c01b861c99f3cf5cdad7538495362b3848cb8602a7b8f8e7d7e464", + "0x0047d26df26510f109ff697d05d1b0c757d772dd30b3ae16f6d87af5011d3405", + "0x007da6457f4ec27a5f39b5cb5b7c9d49f67c92fae64c79f0629c88b83c68e42b", + "0x00de5fb8cc020f4311a71f0ce717db30d2ab84b5f38e024591fd4130cc2b589a", + "0x00c7c0ff88c8008ebefc3f796270b92054b6b5de4d9207c23b214773ae4bf873", + "0x006543f82ce9a582b687552ae53486b7e0eaa4e67094cbfea987f6f07fdeab98", + "0x00dad9e66ccf8cb1b3064fde313beb98e7a74388d5a36d4280842f8c15d8b889", + "0x0046b21095348cd516d9bad8ccc4862f6a970d447120b66bbf55892d76b67d5f", + "0x00011fc438712819bb3771c1a57de50e0e8ffab593055cdeef129b37df620890", + "0x00be60a68e601fe1a9bf6ac8505dd8c6d97db929e49208de509d223a91ed9223", + "0x006dd8f8b37df47033bfef979b137387f287704ffd1cdc2e8eb7dff7d370732b", + "0x00a2851c7d3fa10190e035320796a08d1112e33e9bfebe6e265b09cd690ae68f", + "0x0073b8dd270f5b5503dc5b49d970bd7f5301edbe33af9ee370ff31a3cc5e0089", + "0x00b5beb0f5ad039a384fd8e728512942b61be184dd5c5739e6bb0b87876d741d", + "0x002723b90a578bd3b40725068282aa118a6e5d59b71452c6888a7de5bf41e796", + "0x00f6541be2349f27e3a01ff3f231af6213568d71d13dac1eae30afceaf10165f", + "0x001bf70f7e24180144e215fad932e6f3dd5b4bad064e6ba5647c8b5ec0bf2088", + "0x001e8e3b9a0b38e1be32197cecaa54bcb3f99d1f016f73430c4cb0baee293f5a", + "0x00cc78f89e905a62204c8301273f3e53ffa2e2320d4e11d5af175545925f8d97", + "0x0083f99d093c39a93908cd7cc7ab4cdf49949a1f78519de3c956481b8fec4a29", + "0x001c8f6b8ba8f7565d09b963bd7aa6ae4585acd302c5173c630653f1590ecaa2", + "0x005f991dc165c157d4c96ff7006df580c9e2590e2283e14e1d67ea932c09f0da", + "0x008f595817de0883090acb8c7d0ce3add047158b74c9bc3543e56ad157afb6f1", + "0x003ad10ad22098a44e4cd89d62e6d8c997f843ba982d3a74de57ef5f70fbcb69", + "0x009ba87ab51b33f504fad79781b9c637dc15b2607e34846361042b022965fcd7", + "0x00afa3efcd2478eb562bba5684dec10a95fcb65e979007ae4b0cbf6a4c2899ac", + "0x00b07d7470197db61cec02c92aa1e0af4f1d11b823387f76b7d31cd4fb665242", + "0x00c2f7e05376bbd593fe1625d395cc38a46fa99757add4f1ca01cbd313594456", + "0x00f795c58aa962eb0e92fa546760b2b2769f0893455a876479ac435cf6212f80", + "0x00030cae41f074bdc1e4b0c1806d104a5c7cf4f72906bcaa432478a6af57f31c", + "0x0017c176fed555dd2240526d228e78ba29fbff14430d743da92b51babc6983ee", + "0x0009ae284a8266c006121f2787e506e0fd683e3ccbc46960c5b7f33b7c0e4bea", + "0x005d46ff700396b1a0374c1250a4d8d23eca48b191f65fbf3bd91527e511b4d7", + "0x001ef16554c7c84e9303bc7e7d0abe8155b83cd70bf4962c4598ff3a660c86e2", + "0x00e08cc18e5b86fc6ff81c3ce26c7a935d14616be85f234602dddbc7964df25a", + "0x0053abf50e982b6057333c896ce57afb6f9c9f0daadefd413159ceca883fcab9", + "0x00eb78acbea2f1913d037b989e1548d8b474777868e04aadddf6c311db63a45e", + "0x00a8d517da889c86e907326ea03b1f450e0951d126750ea8e4f67c7c072c8e73", + "0x00404a48334400dc046bce1d5667216d733d3905c570b499d9617728ac8c8aeb", + "0x0009ffc26112abe2ecbd8ee658b18923df31dd0b384f832f253e5c4b70c23e1f", + "0x00d50cb2c972137a9e518b8351c14426713e588d166075468da70e856c559def", + "0x0013474bf2ef1b9c21b89116e02c27a20738ffaba66bf9a85584dd74c4182cde", + "0x0016dbd6f0e8b8da1b75569e944e674226604285c5ddda246734bb904645bb73", + "0x0015d582f16f2b8cf74df067d15690d2ad6c62a131771e57aa7444e6716612ad", + "0x00d46a5cadc09222f07788a502f8c0fed53d65d8326498be69b9b6587dd2640b", + "0x00178840cf8cac46c422477f95a6a04fef1a9262feccc5a5d0fad40c01a4795e", + "0x007cc4d4933a669d1bfc70b3e01d52e88774edd51af0eee78ff9ae6e3476dca5", + "0x004c5faecc4507fa8ab5f8e661a541476e8d564dcb9f85ac2da91e89eecda16f", + "0x00bcf270b8b0df4c6f730b4268d1f531ad5e2d645e01df92dcf94ac760ebffe9", + "0x00910cd1923cd7817f5399f793ddcfabafc5845e2424d1165903e080833bcfef", + "0x00553c0104ae5248a98f8e05c0ea81689ecb8a5339fbaf4af39927f9ee256275", + "0x0006dccf7da27ce2f564bf857212174520ea6126feca48a1b6eae9138d37fc1f", + "0x0042b444a572eecb80ebdbad89ed4573e364bfc2202f9bf000624a778670e781", + "0x00a24a8aa8b510c7748cadcc6e52a93815f1ad7f3625f52dab6ee572b46a6c16", + "0x002c12796bf52d9e0d32e12ab73ddb4ce31be4847d181f2416e510e3e89b71c6", + "0x00f102febdbf2705938ed0dbc58d64f3607e70f881a4392eb2811248a347ca9c", + "0x00f975608b735433ca105964882dc354faf684bf440d407f60651c14c2cc082e", + "0x00ddc3a2454f697f4df74922816a0733e396c0ff105694588812b29e67ba3765", + "0x00f4c36273645062bf69d90a59b423abbab94e7dcdccfc20f300f25cd709a4a6", + "0x0098c0a24fe4c46000c6ce739396a135f89b3f75f8dfcdd47f162a47733086db", + "0x00469ef68bd63abd6a9b772c551ef50424851d0f7f9cca636a535f2908e1b688", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4696,19 +4696,19 @@ contract_class_log_fields = [ ] [inputs.hiding_kernel_proof_data.public_inputs] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" + expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b4" [inputs.hiding_kernel_proof_data.public_inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -4716,49 +4716,49 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [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 = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4766,8 +4766,8 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.hiding_kernel_proof_data.public_inputs.end] note_hashes = [ - "0x033dc1541749dec457c70f605bae3521247f613b20f817749b8cea68429c3da9", - "0x1d2f748cf0eec20668b68167d346baf08b997160289c6a6b036a3be0b33c2443", + "0x27e18bb7ff0b81d2736f7fde614633af8d22b059607f27f11e577802e6ad10a9", + "0x213aa18622aeaa36c0880cc5206b84b60d00aa1455a01ce7fe89f74c3c2e88d2", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4832,9 +4832,9 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839", - "0x0081a9817b8551bf1bf1bd909a1740eef55a137811cc47aba5c70c806d164cb1", - "0x0f334870e25e1802dd1536468ac03c51af59574b018f60bb91fa231134d324d0", + "0x16e3b4ac297d42f45d4ea49fab19031631ee79440162ea8139a7f5a6f630a559", + "0x16b78277ce55bb1712a608d6143df578e0b1f74d08afbb28f5649ee88f8b7b8c", + "0x26a42c426ed66f79fdc90142ecd525a4a127f84670e8dcda356c9d7a792ffc1f", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -4980,72 +4980,66 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x135ea36e9543b0b3759a246394bf505649ba4ef7572152baae922c0dbf06090f", - "0x116aac75f4b8e8b90b81d0f82109d903204df904352d042f7c404d5b42acd4b0", - "0x00017bd19718cb958d8edd663ab918f60c69359a6e9a54de48c0f3260c946f71", - "0x00f9829b69cd7bc544e76f4de708317f6cc01b46ab41e9fb60037f1c4b009727", - "0x00a2bec0410c3aa10805414e3a3dd0344d548a0dfe534036bebd603fc2d956c8", - "0x003e118036c2450f4148dfcc5f9d0dbd37783a247b7bfc58ff57b7bfd4c059f6", - "0x00789d9e49418162ca1f7bb54810fc8a7ca4dccc8f4daa01337acba1262bec81", - "0x0023cf2aecccfd2dddebeff531c119ecd07199800d7d4f0b6db76a59d15faf91", - "0x005e2c54ad12a12f4243996ca50c2de42e958d6a1cc8336f8529a5a6dbdbc073", - "0x003f59ab2667211008022878da88e83f49c60170d481f6bd53ecc3278fa22c4e", - "0x00eca5c8c65ef048de6dea538f0390e16d9589e2b230eb1e6806fc1b6fa99b2a", - "0x0078ac491453935eb9805823f48fc075227ce6751ebe3110ff30b2062741c811", - "0x00b2fa3c400d52d7ab452be468709a33e545d4ec3370f9945361e3e1529031d6", - "0x00d4b279a4b8fc15777417ab4b43bc53046b5ec96bf99d74b3fc2f220dea6e77", - "0x00ee3912375df86cab709595e4136053362d61b2c9edbeba986da29712b16606", - "0x009f80dddc4458df4ad00a2aa610e437f7b7218e0dfc2dcd4c66443a247f605c", - "0x0075d26f2759920009ec447695bbc59aef372a64ddf2cbe1adeea8322737eca3", - "0x00f61a05fb3530454a1d0d902c47a0c40dc2f94e54d52ea501b5ff6c070f9d2a" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000012" + "0x12ea3371bfe8697852abd139e4e08cede1c49dcc324891b9b9dd2db3d9008978", + "0x112d0e91ee26cad776302989faf1308680884cdbe85f08f289d05b008e92debc", + "0x0001d46e8330ea77b0187b0b5cb9f60bc27cabdb8fdea9232b3cafa00ab2c7e4", + "0x0059f76f17e17079b0418db94a9c12391e52b6cf1d558756c66f6836cc74180c", + "0x00e1b42f03269c4b12523bdef921635ac203d4b910e967ac80cc3706eadb7d68", + "0x009f688b0c2455f4ca1c71654ba691c381214aee25c05fede6c8def607f27671", + "0x00f41b368f3c5820625227f68022e0e338f74cb05d4c88861f2729bb81548391", + "0x006687d4d1ac8e886923bb5d396ac5a639edcc059e04868b5089fdc8a13f2205", + "0x009be3ab9117a2d8b1d937fdf2416a37ea9d8af97943576c267b1609c9125b5f", + "0x009e75e75472de06ab9920fed74f87890f8fa9ed1ee58bd6dc6db21e9dbd61f0", + "0x0027f86df979a81345fd4a32c78ed6377242d5ecf52a2172af0abf21f0ff81f6", + "0x00aa4d7162f4f1e36c259e1e287166dee48a4e03d1f50fead09e7a013f053610", + "0x008a18f4f48214de05fad59e5f1db1b6b6558e4a797eb51284443c161fa764db", + "0x008287386de00c1ecbcd80d9bc4d9830c32e1f0ba4993d955efa328c2393455b", + "0x00af3da66e253f85093e0ed1850fabb2e85d37b00b58d1d1677aec7c5a495f4b", + "0x00103adfb37be0a694572660ed86b4c28d48ab89dea180908fc8d48c2088d603" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000010" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x197db1dfdc221892ca187cc8223138810fd7da2bd942268dbc48cbb40d570f43", - "0x1975096cc1e778a12e43aede0001f296b9b63725207253474749099b17302d85", - "0x00015665b4b8aa054b84354774caf9c5b69d797a8b66a168254a1abefd3fcb74", - "0x00b2eb5db25ded5fbeb259ffd87b5fc2d16bcc1fd1e21580faa3499134a6467e", - "0x002b1f9562d27906bad98dd7dd847c4f8031327edb4e88db548cb121608e9919", - "0x00d5e7bbeba54abe3b0a0592b196740af7146235ac8d6526cc567419c76f6739", - "0x008ce9208c2416a97d4f3b03e365e3d4ae12542be86f238dbac531766e3eeaa8", - "0x00017091ec81654ce95742989c028823981a8b7bfadd6a0c482b809eb6f45d2f", - "0x00d2abff55b8fd24bb01e00810cff25781c1b9f6b3f7e0b15327dccfa6445505", - "0x00378d0a222083ab650ebc2e43f9e1e7802aad54e2114ebb0e1a39c2ebe8d35d", - "0x0082e70c859b80dc33c974b7ee5df4ab9c6dced1d8e28dfc0039e535d49075b4", - "0x0098a6096ad54e7795ffca4ad9c3bc7f01f2e1f27cd14e61897a44a7fe592565", - "0x0084d3f0aeb25c332429ce25ec94c4ea27dd37758ad892ce90b9526f43cf8e34", - "0x00cd01e80f0a6a92605dfb237782fe6cf4a45f23db7155de5f4c2181a5e79a62", - "0x0027791a51fe462acbf264abf25d40c15bd28d81dbeb36ef1896ca7019107e9a", - "0x00b3284e61f26bdc7e14c57576875245b699109c3b09fe24f47619da133107a2", - "0x00722bbcd09b123c4f34f92ce55a1587853fa4869b65f3361b58c6573387fbec", - "0x00790c3b0f8c5f4fd59f35f07a2adb8023bd9eb18bfa85dffcdc0cf54953d8e0" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000012" + "0x0d0a1eb8f0d7e9931b65232203904b08dc96f264cbdc0fb3974e4ccf40dfd340", + "0x1451af3419f8b1e90ee4f6b7b90d1b308dd8eae6d6f1d9c1ece7abc757009013", + "0x0001b00b26ff638fa714f600d792bd9988485e5e2b3b1d9bddf72d8fd45263bf", + "0x00902af344d66876ed44f27411cd99ebaffe5f477792b74f5551c142420b129f", + "0x0083328395208fc24701545ff1d93020ec65871eb6f050e7c030865fc5efad35", + "0x00837edfd89ff23a65f2610317e86568a287fe1bed234e1307903caeeb47a5f2", + "0x00b4f3c72553b406eb8d8923acde2018a74ef0726174c935dcbbcc41821d7ef5", + "0x00fb82f3980e1bc92722fda208659d9fc43c620c71dad94d7638f02fb979ab60", + "0x0067ae24828a8054cb8028c9790f8199aa00517cce399902e339491c95d50384", + "0x000fc6861b4005e20dc4817572efab6261e8373f096c1de909fdfb5f5dc8f958", + "0x00ae91808284996e87c2e27649af8a53656873085547d2844e6cb3179b077cb5", + "0x00bcbca199a5f84e6d963583561390ad393c2732a27a8510814915956fa7e977", + "0x0085383a4f09fcf4b55807d103eb685d2b0dbb93beff94dba9a85de83d345e1b", + "0x000170b6c252e7c97c133d08567b880062375a965c7b45ff7fbda9b5980ea0d0", + "0x00e2256eab6e253f95737a9d629a7d6a44b8da5eb4d9de7939543df440062c0b", + "0x006d43009933f2197eaae6ed7ec982fb76a110b52719179bc97ab934bed9600c" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000010" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x02a7800d59d95fc63fb930589c56215238833d99d41a8e60b18fcacb76a7f2e6", - "0x2b66af78fec9e2cba6e19de9fbfb3b73229879c24284e7c9afe96d60805d0c04", - "0x0000f43f253dc3359a544d3a358ccc991e99fb19448bc5ce1d9ebefb39886dde", - "0x00dc76f6ba9e031e90dd77ab49f2cdd95a802967afbe52200e5a8773bc97c385", - "0x0019f480e660881b0d0a5ac66616b545e3266e6d453e2a2414d4818b77994aaa", - "0x0062e332ba94ee88624cae4b46da20107af0e0e5766102433a451a323ff479f6", - "0x00c1c2806e82ff2bae55fd351034ea42087ddfccd30b4cf0dd4f92cc2a049669", - "0x009af71b2358f5a0497eb6a38dd0cd7a572085e7f4483b4d1096ec13d9d61756", - "0x0082c9ec2dd3d8dca70f4aefe0847c65f530aea37a13384258b99908b0b4b24b", - "0x0003632b0f34b452b2897587992423f34a78ff510e74641d5843eb83d31ad357", - "0x007754bb64b87ef09e13462d9d45d22b554744e4101b562399d82e05bf1e1eaf", - "0x008b2032793710728305e5a550c9909c4c92926d45cbe50f0957889de6a99146", - "0x00622048bbb198c7f6ddbb6beea8186ad2d52a64abde773146dcbee5f7791a06", - "0x0028448a68dfdd8f6edff16d35d9b2484d1746bd6248a61297681fa7f63755cb", - "0x002936f87a8f54e1029f5b351158c106812f9f700307fd9701ad4f333cf01e57", - "0x00d44e34d03888d06017127d487e77278e88b1ebd7ae1ff47d47d1dc6b10a9ea", - "0x0084d29999ba815caa3b4db4946801308580c996d6efc93cf3d14a7812364eb7", - "0x00a9b88cb29ed8eb5486a45cd1ca9336d2d69480aece36c8edd487d148b39b25" -] - length = "0x0000000000000000000000000000000000000000000000000000000000000012" + "0x0ac321a8b7fc12e26a0c61cc95e878698b554592e064919c4c1d33577b8ad78e", + "0x09a1f023d9ed788ee83c16ce4eeaa19417e518faf23b4d70070944e7a3493ce4", + "0x000134f7cfda0c00e5e647a0a532a1a3070d6603631b30ab26210344b186b84b", + "0x007998db2701e4bfb6f84509f5f8ba0401168a83cfa1be7364e7dd40023fef12", + "0x00b712baf203bff07cef650b2e56399c7e484ceda6eb9e1a1419223a21d83ae5", + "0x00bd0762aa524b8f7c4556efac08614e6d18bcdae24df4c911f525edd5835e5a", + "0x0069bc90933dc1cbc4e80f2e0019aae8ac1850067595e2fbaf06295f06f6e00f", + "0x009ab3a8c4597d51832e529dfa5411ea733ff3e25d8383ab497f766c4923ad13", + "0x00f6ae47d1c0b48e4e217735294b15b6cb7391d00cf2d00766cdd90c8977b0ff", + "0x0085a10c431a0a98a69613d03c7866590afc38a15d92c46c6beebb4cf2e824a6", + "0x006f91863e047458d5348dfe85071e1e6ef97dc7ad9789163d95615c2402b158", + "0x00708a6f8bfc9055da29e6ee1b5f8160794dcc74f98171e8109aab97a9ffe739", + "0x0092d9997162f3d5ade8900eb30a806e7dcb0269f9bc23bfc0e98629ef110b0c", + "0x00d9373a9d6d3d720cb78a2e5ffb819921d10669d0cdb6dee483300ddd860772", + "0x0085ac61f9fd992d86b2f0752bf08a3e8ca8561889344108f7ad1ee10156303f", + "0x004f49b78aec71ad77c55b357033d1df034ab54e3c36f8d2fe1b2a9c2fb2802e" +] + length = "0x0000000000000000000000000000000000000000000000000000000000000010" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ @@ -5064,8 +5058,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5087,8 +5079,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5110,8 +5100,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5133,8 +5121,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5156,8 +5142,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5179,8 +5163,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5202,8 +5184,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5225,8 +5205,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5248,8 +5226,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5271,8 +5247,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5294,8 +5268,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5317,8 +5289,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5340,8 +5310,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5363,8 +5331,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5386,8 +5352,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5409,8 +5373,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5432,8 +5394,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5455,8 +5415,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5478,8 +5436,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5501,8 +5457,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5524,8 +5478,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5547,8 +5499,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5570,8 +5520,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5593,8 +5541,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5616,8 +5562,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5639,8 +5583,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5662,8 +5604,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5685,8 +5625,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5708,8 +5646,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5731,8 +5667,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5754,8 +5688,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5777,8 +5709,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5800,8 +5730,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5823,8 +5751,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5846,8 +5772,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5869,8 +5793,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5892,8 +5814,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5915,8 +5835,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5938,8 +5856,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5961,8 +5877,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5984,8 +5898,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6007,8 +5919,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6030,8 +5940,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6053,8 +5961,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6076,8 +5982,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6099,8 +6003,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6122,8 +6024,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6145,8 +6045,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6168,8 +6066,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6191,8 +6087,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6214,8 +6108,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6237,8 +6129,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6260,8 +6150,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6283,8 +6171,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6306,8 +6192,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6329,8 +6213,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6352,8 +6234,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6375,8 +6255,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6398,8 +6276,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6421,8 +6297,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6444,8 +6318,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6459,53 +6331,53 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.hiding_kernel_proof_data.public_inputs.gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000007e00" + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000760" l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [inputs.hiding_kernel_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" sibling_path = [ - "0x2e60e13877e440296a10e63ede641d4839dbc2e33566b7f2f8bda097b1e3afef", - "0x01bdaf0cd09c2e35da60603aec2c39c4cd837345066ed798c1a83776605fcf06", - "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", - "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x0d77bba15cb571f383046dfc93762d7aa1132cf837c6f2b9ec1a56f3575352c7", + "0x181bbc652bfb232d8fb459d090c757babfca2a00073fab78eb72ecceebafcc03", + "0x21bb840f48113a8e786c9cfff87bbc9b7aabf4fceda1e3a7a36948248f918960", + "0x257350c2abb392ee71be3df45bcdbb0d8f15b4982e2a68ed8137392126337634", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.hiding_kernel_proof_data.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x000000000000000000000000000000000000000000000000000000000000059d", + "0x000000000000000000000000000000000000000000000000000000000000051d", "0x00000000000000000000000000000000000000000000000000000000000000fe", - "0x000000000000000000000000000000b9bb135f6edfd3d82ff99df60f9371d481", - "0x000000000000000000000000000000000028c4d0f9e8ac0ce78582aff3aa471e", - "0x00000000000000000000000000000076b9ff2fa4235650a5ede757b4c3615bb6", - "0x000000000000000000000000000000000019b7d10a0e93792352f1332c2852e4", - "0x0000000000000000000000000000008b1879e916f7a2359032bfba76dbca0d1c", - "0x00000000000000000000000000000000001aa164f1e3f4c1a13d64f2d3e4ec8b", - "0x0000000000000000000000000000000056b6b3ec3c3d005a3322d85310ba3227", - "0x0000000000000000000000000000000000115d7f81720113f27d38771e23a830", - "0x000000000000000000000000000000125928cb94df7c38f1b7a0b11380585ed1", - "0x000000000000000000000000000000000014a107e4dc351240a8853f19fb0cae", - "0x0000000000000000000000000000001edd5db1bd0fa074d66a0a7c89ac2d6503", - "0x000000000000000000000000000000000027e73a039567bbf779eb2bdc144bf5", - "0x0000000000000000000000000000008b9005fb70da15fad2def06a4e7950fcbf", - "0x0000000000000000000000000000000000257eeb13a7e309e37cf835d30afb50", - "0x00000000000000000000000000000002ac14c082eba19a1370aa1c8f7d708b41", - "0x00000000000000000000000000000000002652ce0975d0f0999940b518fb8ab7", - "0x0000000000000000000000000000002e2028ab67c4bf32576f44e8d71a22ff78", - "0x00000000000000000000000000000000001ff98cfdc223663b4ac8832bbe555b", - "0x000000000000000000000000000000c469f0f888def8021dbcff62389b3e61bb", - "0x00000000000000000000000000000000001b77632d276ee9cdbf248f42425374", - "0x0000000000000000000000000000007f9950eb37bf48c2bd5f76f4cae42c61cc", - "0x000000000000000000000000000000000026b11c2feb5384d548a5770524e1a8", - "0x000000000000000000000000000000975c64cc4ed05f2da2c757a1f8499585b2", - "0x00000000000000000000000000000000000486a7873bf02636e1cbbb113e8f71", + "0x000000000000000000000000000000c04abddd7087d1fdfacc711b678b7ae8ba", + "0x0000000000000000000000000000000000043176d122435a15c1d70fc7fb0a51", + "0x00000000000000000000000000000078359c8e2aa668211535be2bbd58c8529d", + "0x00000000000000000000000000000000001f46cbe68b3a6bb5b80cbc4204d9aa", + "0x00000000000000000000000000000074ad734bfd08d4d15235ec081a93d9cf75", + "0x00000000000000000000000000000000002ac50fa106e9c3f7d49c583c5d0918", + "0x000000000000000000000000000000c355589240182552dd4ac0ea4c5306514a", + "0x00000000000000000000000000000000000c349208fd555de83f2d0afee95902", + "0x00000000000000000000000000000009cc47c0f22ba5b36393c0d09591b2ed8f", + "0x0000000000000000000000000000000000106606961309655dd333b5140016ea", + "0x000000000000000000000000000000b647084276c313a9308e0cd608d6c8cfa0", + "0x00000000000000000000000000000000001df43afa50fe75815f2656be3cd261", + "0x000000000000000000000000000000b1bba2ab9f18c8ac0783a18dcc87c9c562", + "0x00000000000000000000000000000000002f729d9a6b0ce55d3943c27805f8cf", + "0x000000000000000000000000000000bc2573b6e99b205a50276c66ce759bb59c", + "0x0000000000000000000000000000000000131f55a0d5bc0e3015ef14cc523685", + "0x000000000000000000000000000000927969915c6860635d848058dc410f97bc", + "0x00000000000000000000000000000000000d74fcab2f0f282e5e2c752ac8bc48", + "0x0000000000000000000000000000005f866dea9669d4599bafa737d9a8b8c9b1", + "0x00000000000000000000000000000000000c7f083a07a29c37831716f61e12c6", + "0x0000000000000000000000000000003d1801a47e6a5516a7b6faae8f0c23ff1e", + "0x000000000000000000000000000000000030206196d18fb9f17690155f9190b8", + "0x000000000000000000000000000000cadaea56ae5036ca5ffedfc23770cdd555", + "0x00000000000000000000000000000000000749ed8d1898385d182a28777b531b", "0x0000000000000000000000000000008064828eed74045bcbf7a4d19675c12bbf", "0x00000000000000000000000000000000001a64cb5f62da413d7998fd129334ee", "0x000000000000000000000000000000a2fbed9a1ce8ddd427b278e1da1120eaf6", @@ -6514,66 +6386,66 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x00000000000000000000000000000000002b4d1bb5147a4c79e26ebae58411a9", "0x0000000000000000000000000000005122c08613230e6b2af1317d43268e2159", "0x0000000000000000000000000000000000064f7eda97f1983c485039a249a528", - "0x000000000000000000000000000000d1cc0d72507f8c00be2c6c13e72ed9ad3f", - "0x00000000000000000000000000000000001fe75ccac1ac7e3c2710947318e358", - "0x0000000000000000000000000000002c3fab80d4489b45f1180c15a5d89f716c", - "0x0000000000000000000000000000000000164b785009d98a191c1b9348a9fde1", - "0x000000000000000000000000000000dca6ffc8ac3369a6209909efacf1107133", - "0x000000000000000000000000000000000002e76e39fe2c476935ed9f0de5ea98", - "0x0000000000000000000000000000005815a69b17928f84d24d89a7fb89ab4a35", - "0x0000000000000000000000000000000000200ece63c0b0e58f1f894052ba10d4", - "0x0000000000000000000000000000008823b3b380046014ac4d8adc394bb3468f", - "0x000000000000000000000000000000000014e3daa7278e81fef91168af69d793", - "0x000000000000000000000000000000cba5dd37c8e15537583dcf38546a5f4d82", - "0x0000000000000000000000000000000000228d0ca6da0cdbcd2e682deb2db80a", - "0x0000000000000000000000000000004308248316aaa972cf56db76d37a03fecd", - "0x00000000000000000000000000000000001ecce9d6f2d2d5577f9e3fbb8c7292", - "0x000000000000000000000000000000909f172615070824845e4ba2dd088f9c77", - "0x0000000000000000000000000000000000289e609b767808ca07b959146ccef8", - "0x000000000000000000000000000000096c9e5283e7afd4b8a33a798e62bec44d", - "0x000000000000000000000000000000000007c88511d4bf7ada0f1eef02360e41", - "0x0000000000000000000000000000004b8035321f5f4138a7ca07731ab2f9f166", - "0x00000000000000000000000000000000001f152e956e2363cb1c9b714e542405", - "0x0000000000000000000000000000009027e958f937309460c7f59a87b98da54c", - "0x00000000000000000000000000000000002921bd5bb8e260e69e5ee42cab62a3", - "0x00000000000000000000000000000062859de9bbda2e717a5be1ddee2f93a7f0", - "0x00000000000000000000000000000000001b9caf843e6f1219910bca1b10bea9", - "0x000000000000000000000000000000fe3411f8e9353a561bdb792149f1430193", - "0x00000000000000000000000000000000002ef6ff1bf5c59fb6f0fd7aa70111e0", - "0x000000000000000000000000000000709d4b87d5dd90af2a85e39ce2ac5a07e1", - "0x000000000000000000000000000000000012130cf28cf4c56c024c39a3f1c4b9", - "0x0000000000000000000000000000005bc5c06171ff853b327d3c861229c5425c", - "0x00000000000000000000000000000000001135679e754001a92f9d1d11b03803", - "0x000000000000000000000000000000a0a6d5a0a4c0ed7f79436407b0a4e40542", - "0x00000000000000000000000000000000001b9d2715b6f9052e40ff91b2060f14", - "0x000000000000000000000000000000df4352b414476b4acb2a9577eaa9e60c01", - "0x000000000000000000000000000000000015113ecb615e87aad9461a34c9cb85", - "0x000000000000000000000000000000d796ae4035728303d2ae31868e9b5d65cf", - "0x00000000000000000000000000000000000eeabad74f4ce5be4dba8975a39e46", - "0x00000000000000000000000000000007655952e1c6370fb2de5d31b26eefc284", - "0x000000000000000000000000000000000028b86c9b130746cdac95cb746484f1", - "0x000000000000000000000000000000ec695417c0c16fa8222be89cf515e6fba0", - "0x0000000000000000000000000000000000220e3bb8fa5dc8cf39593d4df78af4", - "0x000000000000000000000000000000e1b92a9e8d2627028aec9c017eb7704c38", - "0x000000000000000000000000000000000024daa50e7cc43163f489ddc5e3199d", - "0x000000000000000000000000000000faba611ff0bd4ba4e99ca3e1bb8ec8c042", - "0x00000000000000000000000000000000002b671a5565911efe63cbf6323a386d", - "0x000000000000000000000000000000551cfb45db2c30ce6016fdac2840d6c790", - "0x00000000000000000000000000000000001d80818dde65244398e0b376aa01b9", - "0x000000000000000000000000000000de4a73005e7d4d098744f097f84c5ded75", - "0x0000000000000000000000000000000000163ed53c3678533ec1d2e9001342c2", - "0x00000000000000000000000000000032a2c138fb2ff3ac85b027cf978494ac14", - "0x000000000000000000000000000000000001bb3dc7e027e4cfbd26ea070a6774", - "0x00000000000000000000000000000034fcb08ebbae17551ec72882eadfd4af05", - "0x0000000000000000000000000000000000067a2099911db7dad19374b1e1698a", - "0x00000000000000000000000000000027c4c094ff4e250c95747b84ab1be30376", - "0x000000000000000000000000000000000008be26565940459bd33fa41d4d0c3f", - "0x0000000000000000000000000000005acca4a7f6b06fc95b126dd32f86ba32bb", - "0x000000000000000000000000000000000007f52ab6ba314f5ae9769d31058d3e", - "0x00000000000000000000000000000082cd7a13097813998b8dd69220c95fa06d", - "0x00000000000000000000000000000000001e21b94ed5dccfc7f71d832b9e31e0", - "0x000000000000000000000000000000772285a34e86d1920621b05796b2692c1a", - "0x00000000000000000000000000000000002c8822567f58816c31778fedf40c32", + "0x0000000000000000000000000000009e2679ec3bfa14f078588888f37b898e21", + "0x00000000000000000000000000000000001ddad8533a80c1be9d9305fb4508ff", + "0x0000000000000000000000000000005216ebb74ec331147df6b002c68deaae3a", + "0x0000000000000000000000000000000000008a6f2a7cc4eae1edd7b9c084b6be", + "0x0000000000000000000000000000004a8918518ed52b9a9a81bea120edaf7a27", + "0x00000000000000000000000000000000000ccb32d1034eb9e1c6f6e6b2657a08", + "0x00000000000000000000000000000065175d8ec4b2e9fffc679736b191371359", + "0x000000000000000000000000000000000014c1e0332b22054dbc321ee786982e", + "0x000000000000000000000000000000b190305cb39985b2e2ec9269c75202d616", + "0x00000000000000000000000000000000001a8a927efc0b542d93ebf98fc40565", + "0x000000000000000000000000000000d93bc03cdaae6f0c5a6326070755f7192e", + "0x00000000000000000000000000000000002b0c45efb8b8428916fe8c1f859e90", + "0x0000000000000000000000000000007586e898e0ede7a415a9bca21d23fb1610", + "0x0000000000000000000000000000000000076c08a7af170646be64cb56154ae9", + "0x000000000000000000000000000000a975efc6516f0084c1e43185e42d17148c", + "0x0000000000000000000000000000000000268a4997043f84d690f31cde2762eb", + "0x000000000000000000000000000000220c509adcdb58aa09397d22c412eff6b9", + "0x0000000000000000000000000000000000297acd6f82396add3db8701ff45f85", + "0x000000000000000000000000000000d6e4fdd2d5bf703fdcbb3dee84ac5cacf2", + "0x00000000000000000000000000000000002cf2542f8f7c04e3308d60b9d2b2d1", + "0x000000000000000000000000000000e272c5149d92b0e6bc3807e15e668bc8b8", + "0x00000000000000000000000000000000002a408264955b4d9977ea712bf5fbc4", + "0x000000000000000000000000000000198bddfd73681080db3179551c547a6a58", + "0x00000000000000000000000000000000002283d3a5e813b069c9a7999fbfd73f", + "0x0000000000000000000000000000009f2d395a44eb1a8e9d2b4ac1650c185bc2", + "0x0000000000000000000000000000000000213b0d941675b5fe3456a807137d1b", + "0x00000000000000000000000000000012bae2c36b5575dd2cc9be784329f19638", + "0x000000000000000000000000000000000009cf74f7dbe8f45d3a0c0986c4be37", + "0x0000000000000000000000000000005070ee712bd869d10222f2bf2b071cf440", + "0x00000000000000000000000000000000001536d0b8655e89040bbb54b9372f65", + "0x0000000000000000000000000000005d0b5d7bb137bfab58f549e1a0b3075da8", + "0x0000000000000000000000000000000000108a60729dbf96bbaaed7ee53c4bd7", + "0x000000000000000000000000000000696eb25d740b91fe992214a33ef687704a", + "0x00000000000000000000000000000000000b675ee544689634972c4fe7c98612", + "0x00000000000000000000000000000064f8fbf6a577c9faf60d49568e216dceef", + "0x0000000000000000000000000000000000039e66b4b48dacb557ff5601ece2bd", + "0x00000000000000000000000000000088f17befdb4b0b5ccd5b07c0208d5b0e64", + "0x0000000000000000000000000000000000166b4808eb9ccf6b51bf38df29cbb2", + "0x0000000000000000000000000000008d032a575aa565e4e2a760af39a61ab2fc", + "0x00000000000000000000000000000000002e46aed7926edbe43b55bda79712f2", + "0x000000000000000000000000000000df434daa3fcd000d6ed9435516b9c555c8", + "0x0000000000000000000000000000000000237c5a029a52b32a4a1c51b8d89a46", + "0x0000000000000000000000000000008bf9ca683fe6cdc24f99cc8a19c1580de2", + "0x00000000000000000000000000000000001ef160050db407644b94bd705a29aa", + "0x0000000000000000000000000000005eeaf971a6bfa1d64da3f1e491d529adff", + "0x00000000000000000000000000000000000b3afd5f47faef0a4e0422adf84279", + "0x000000000000000000000000000000b2f55ee2b48ed98ae1e326861029183d48", + "0x00000000000000000000000000000000002571c6e567f3f603bccad5bf04c2dd", + "0x000000000000000000000000000000d685a4f0265055b9702d997ef12ee6c518", + "0x0000000000000000000000000000000000265b6204326d7c6b46ef54fcebd89a", + "0x000000000000000000000000000000904d20336387f4a16daa53ad2a75948c21", + "0x000000000000000000000000000000000014b1eb6fa1236646d3fe2417705a14", + "0x000000000000000000000000000000ab20f9a74cb80817665416fe05762b76e9", + "0x00000000000000000000000000000000001e0b0732edfe0ccb440e8e159a4f6b", + "0x0000000000000000000000000000007eb3b1c624c7863ed28311d3be798295f4", + "0x00000000000000000000000000000000002c066ef3822b85a6d8a4de2fde1631", + "0x000000000000000000000000000000433d8d091a3e29424b96c48f1bb1fdcdee", + "0x00000000000000000000000000000000000571c43138e3eb94f8702e8b9a6203", + "0x0000000000000000000000000000009cc7fc3e24fb955b8d05346658cb304200", + "0x0000000000000000000000000000000000245802ea1ed32273e7064313eb5fbc", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -6594,31 +6466,31 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000fbc41628b5ce30d53de91194d1ad83db5b", - "0x0000000000000000000000000000000000068b407261472eee366c144155f80e", - "0x00000000000000000000000000000004656d5591ad504601a7125e441706a1b6", - "0x0000000000000000000000000000000000129ada35cc07e885217a6a3e7b3059", + "0x0000000000000000000000000000005bae9188c7aa1997f1c852d0fa73c999c8", + "0x0000000000000000000000000000000000227931dcf04fcfc6917f37deac9c1b", + "0x00000000000000000000000000000016a937c62f4d0be7535fbdbe4e2bd07378", + "0x000000000000000000000000000000000027622bec233880d2bc8dd6ca65080a", "0x000000000000000000000000000000e14afaabf7854cf3a2219d3d4d02958049", "0x00000000000000000000000000000000001bd756ccfe84dd1bdfd019955c620a", "0x00000000000000000000000000000007f785d3baf2fc27bf3247521286add3e1", "0x00000000000000000000000000000000000734f0963c07cb3f08a9ac396cf04b", - "0x000000000000000000000000000000fe0526d085ef6f8934b2cdd5b4d5d3f62d", - "0x00000000000000000000000000000000000793ddd194e04b98afbcaf39634cf5", - "0x000000000000000000000000000000e98abf9ea901151f69103aa323108f45b2", - "0x000000000000000000000000000000000011a44461b6ebd760fcbb7eb89dd43d" + "0x0000000000000000000000000000008d8989b2d31e10898b46241c4d9f8bb737", + "0x00000000000000000000000000000000002d411158a9e4a6e01873b22ede2391", + "0x000000000000000000000000000000da8b33109e7346fd73e6ae3d1063063b9f", + "0x00000000000000000000000000000000000ed26cb62953993d14bfc3d21d099b" ] - hash = "0x11f8f47d980557ff5a6f0509504be38bce7d6d1dbf9620c1677c0028eeb25eb6" + hash = "0x00724c740f5518392dfc05d3d83b66298b79ac789efb777b64b447e8bba598d8" [inputs.start_tree_snapshots.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.start_tree_snapshots.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.start_tree_snapshots.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.start_sponge_blob] @@ -6644,7 +6516,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x2a664723e5121eaa72e0ab8f416bd856f73703bd17917db7b681e45599ba1782", + "0x0467295d511f9729efc4673c1b5b0cad577925e40ae517dec41aa551e9299673", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -6679,9 +6551,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x1a180441acbe2e25177de322888800476d75191e3c2c753300dedf84de7d2053" ] sorted_nullifiers = [ - "0x0f334870e25e1802dd1536468ac03c51af59574b018f60bb91fa231134d324d0", - "0x08917e0eb26df031627e09eed247f1e91a449f4afccbe2a5abc355b80d5ce839", - "0x0081a9817b8551bf1bf1bd909a1740eef55a137811cc47aba5c70c806d164cb1", + "0x26a42c426ed66f79fdc90142ecd525a4a127f84670e8dcda356c9d7a792ffc1f", + "0x16e3b4ac297d42f45d4ea49fab19031631ee79440162ea8139a7f5a6f630a559", + "0x16b78277ce55bb1712a608d6143df578e0b1f74d08afbb28f5649ee88f8b7b8c", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6812,9 +6684,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] nullifier_subtree_root_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x1fbdc732ce62d88ab1795dd0138f66dd3317a0f3edb6e547e1c3063a983ca637", + "0x07bce0d014394894bf6d3473dcf6de493df9df89eccfbe53f3e8ea5c6e172abf", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x0e5c6c245a3aab59209d6d15364ad870d5c58c675b6a07db2a75c4b8806ae234", + "0x0858159a1a0dce488186bda5cea5f3f69671e43f0e746f88107a1c8892145554", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -6850,19 +6722,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x0c70a9e9956ce9336e3831d29b1a3e2fa8dd4af376862c75c7ba279033689e73" - next_nullifier = "0x0fee2d4079b7b6f80be090306c84104a15a1713302611b1c9e0a9cb576fd07b0" + nullifier = "0x24066ae6fb098eaf6e07067a37c8103c5ac65ce02e6f2d89c32bfde05eadf6df" + next_nullifier = "0x2709b34eed545ed2a3aaf3ab550b163ef2c4898919ddc44070dff523628eee7f" next_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x07a9faaf56fdc54791686466e0c3e8b1ccf218c2adfbfe685928a1179b5c1137" - next_nullifier = "0x0a583966efca4c7cc2a132a1b3b8cffa76547cba4e96e4b578764fd1a3ab8c68" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000146" + nullifier = "0x1563ccd606939e92d3bf771e78fdc09a14e05899d86f27c5be0a0a4fc1080dea" + next_nullifier = "0x1e5535ea2d2f894436e555ecabbafc300684def027dbc0c206044f25e149baad" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000143" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x000000000000000000000000000000000000000000000000000000000000007f" - next_nullifier = "0x02b3cd093f604afe1477a0a2ebe640a09ba82bdcc2154b5a6527db99854eb321" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000140" + nullifier = "0x1563ccd606939e92d3bf771e78fdc09a14e05899d86f27c5be0a0a4fc1080dea" + next_nullifier = "0x16e3b4ac297d42f45d4ea49fab19031631ee79440162ea8139a7f5a6f630a559" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7170,18 +7042,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "576" + leaf_index = "128" sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x29a58ec73454a49fb56e13b95283c8a17c54793699ee2b4aa10d9dd51b5ab7bd", + "0x1c255a5375977c4b811ca3755bd64574a46dc7ee474a2e801d6069faf2ff0b6d", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0ce1db1798fd5b637ed7fcf0fc4c0dcef59427a5a9bea8dff442b70025864375", - "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x17c52f482dd0c1908cee93769844bd9eafa9fdf62a641af97ecee5c892daa78b", + "0x1405abd75b23e77bb730af8d00f4d61bce5916241073cdd3f02e8260f7f8d27e", + "0x233047caefbeee33154deedb383aa1d5eb19b516c1f2ce61ec1d0488ddf9cfa3", + "0x0b7dcb37d9ded7d43779dfd7ebeccb22e205c74d45bb92a446183b24865f7ebc", + "0x2da6e4e1812b79f017bdca6e48f872911a770366df89848533585c0460df3ed7", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7217,18 +7089,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "193" + leaf_index = "192" sibling_path = [ - "0x2606945644f0f615ada466d9880811700e51c0f89adb0948051a9b3ee0695ceb", + "0x2177d46a7785800d81e8c30801e69f4a2d70b52b39ecfbe018d3a89189b13dfc", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x293fb28fc34dc8626500a4499e78707d995f1df573d90307ad7d411722ba3aac", - "0x0d4ed028188ac249e22a00197d725d3db340d37c54625fd3c1df064885b38429", - "0x21c728716ab2cb83afad1e778404bb797c5b4ea2989140063cfa8cc1a73ec059", - "0x212539b06ebdd7791b2ef5a08698ce302c0048d8af8993190bde9dfd66611a34", + "0x0b80273f896c0023bd531cf4d1fe147b07f1d91134f803bbca0e22b8ada2f8d4", + "0x233047caefbeee33154deedb383aa1d5eb19b516c1f2ce61ec1d0488ddf9cfa3", + "0x0b7dcb37d9ded7d43779dfd7ebeccb22e205c74d45bb92a446183b24865f7ebc", + "0x2da6e4e1812b79f017bdca6e48f872911a770366df89848533585c0460df3ed7", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7264,18 +7136,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "127" + leaf_index = "192" sibling_path = [ - "0x0d2e74b9d21f0f0ca0bb02fe570268b7927737220eb27c2ee03911305b4a39b4", - "0x125f11770899f31d09cd5954bda0a90973b480be7ff9e29a9c02562ab78f0ee6", - "0x07961b7b41a4705f005f5fe2942faae223307b4f3033c46f9cccfdd57791b65f", - "0x29957e7d9a08ebc027115c442d1405703b1c5e530a6b171906a0172627ddc6eb", - "0x135c2d2dc15a5acc7b43b89aaba27718b5f575df9413618552a3a1b3121c8bee", - "0x28b8fd8b9d61fbe4b1c0a05c6313d3ea28b715a5c2ddab3a4f9d127c27dc6b9f", - "0x169afc20aaa33427f6a9f136203922bf52f1107285f5696611645b6b55df8561", - "0x21361193363075a6b4d1d7987b6f27153c77302d2bea8e11a75f5174627ef4bc", - "0x21c728716ab2cb83afad1e778404bb797c5b4ea2989140063cfa8cc1a73ec059", - "0x212539b06ebdd7791b2ef5a08698ce302c0048d8af8993190bde9dfd66611a34", + "0x2177d46a7785800d81e8c30801e69f4a2d70b52b39ecfbe018d3a89189b13dfc", + "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", + "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", + "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", + "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", + "0x0b80273f896c0023bd531cf4d1fe147b07f1d91134f803bbca0e22b8ada2f8d4", + "0x233047caefbeee33154deedb383aa1d5eb19b516c1f2ce61ec1d0488ddf9cfa3", + "0x0b7dcb37d9ded7d43779dfd7ebeccb22e205c74d45bb92a446183b24865f7ebc", + "0x2da6e4e1812b79f017bdca6e48f872911a770366df89848533585c0460df3ed7", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -10178,16 +10050,16 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.tree_snapshot_diff_hints.fee_payer_balance_membership_witness] - leaf_index = "117" + leaf_index = "122" sibling_path = [ - "0x20dc6473688fb86abd64edd1d79ec5bcfdecd71f9dd89202522966fcd4dcb1f4", - "0x0691edb1f537f1f3a9489425db631084899c83531f2df254f04f14e5ee4c62e6", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x13c01cf01cd61604ae55d7ca1986fedaa24483a282551eaa41507dde892783d5", + "0x135a17da7c2f821a588383c95a532aecdd996de1582fab0fbc1ab22b768d2489", + "0x1d3b685b9eb0ba49f29b568116deae7f14079610ff63c5ddef5c60815f5168f9", + "0x1af1fe5820c0e03f50d5ded17e5d0c8a7f1206e74e4bfcc3c00fafebdd4fe870", + "0x166aeb763d5bacffe119a36bc30ce327f676fbb69a256f5a99aa1e5fefca9ec9", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x1b4d427b4c28d92f5cf1e4141a99332a68acb4d22bcf108e4aadff0b7405efaa", + "0x20da4f06bd05b92dcea185633837a912854fbc16d102f18437abc9a6b8c9839e", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -10223,18 +10095,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.fee_payer_balance_leaf_preimage] - slot = "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3" - value = "0x00000000000000000000000000000000000000000000021e18f784c6c0187e00" - next_slot = "0x025f762487f8483abdd808ae2f20d0e14f62a81da5fbb27d77a32e4df838658a" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000087" + slot = "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e" + value = "0x00000000000000000000000000000000000000000000021e18f7acff61801400" + next_slot = "0x1725b27f402e5902848844a72fda3b91d710737eefdf771c0e552d78eb2852bd" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000083" [inputs.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.constants.last_archive] - root = "0x2c678be2ce469acf856fdf4b2504ff0856843d8e87d9be146d6c4b6163f379e7" + root = "0x1d20aea0bcec7d0b24d2146cc43af55e869a31644afedaf4e38615a0eaf232ac" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.constants.l1_to_l2_tree_snapshot] @@ -10243,17 +10115,17 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c4ec" + timestamp = "0x0000000000000000000000000000000000000000000000000000000069960391" [inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d86508a0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8699c80" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml index c00933edbae7..1ec9536ffcdd 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-base-public/Prover.toml @@ -1,9 +1,9 @@ [inputs] anchor_block_archive_sibling_path = [ - "0x11c02a9b2ec0b981589523044fe8f14589d16697921f051ea2b1e42c05f2e642", - "0x24be9724bbb02c597e93e4f08bd1ec1b11f7f23ad613689cf607a634b0eae30e", + "0x18af9582e525e88ceb3621f54cd62b1eed4615fc1f3d98b2b8186338d9739298", + "0x29550c6b72c98a4a7f0c4bac232c8173ae89659ed11efa5f7890765751e16ff6", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0e78738129c4cf34b129d80518434429281f91a5cf089ac1349763d75e13f44c", + "0x2e2e36722b1ec84e2d5d16c3bc952077215df4ea0b608b28cd036481aa2aa9e9", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -3586,19 +3586,19 @@ contract_class_log_fields = [ prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069961210" + expiration_timestamp = "0x00000000000000000000000000000000000000000000000000000000699750b4" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants] - vk_tree_root = "0x09a076b6e5b626581ace87b99b5a319216413e97bd43dbf28ad6943b429e6e19" - protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" + vk_tree_root = "0x08a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f" + protocol_contracts_hash = "0x281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header] - sponge_blob_hash = "0x14fbfa21e895b90ed36edf7587302b1107ecd7ff1552660eff49051927af68a7" - total_fees = "0x000000000000000000000000000000000000000000000000001b1583fce8c500" + sponge_blob_hash = "0x1f28a77bf344e5dca67f1780cc939744cadc0fe6c53d8f507300d88bb94c9c49" + total_fees = "0x000000000000000000000000000000000000000000000000001b10d246990e00" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.last_archive] - root = "0x00b62d6053432b2d49c92b1d58251d035a2319df21d326533d32961faafe562f" + root = "0x2728d0550475c257e86f8dd85756abf43dbce63935774a5047abcdf79d6bd575" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -3606,49 +3606,49 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.note_hash_tree] -root = "0x1790bc08b1a397dc05f91ac65ae11c30078411b35458c8fb695da24186db065d" +root = "0x0dc9b81d0648d147c428dbbb0a5d2f0b007dc09b729fb1704e9698bf5a22a2bc" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x117f390ce1ba5b518161c98c7e9f638709cd5b399fa0015af282d7fa7eaaf152" +root = "0x03481c3a35eb3d69ea298b9ecf2e5dbc90104b058cbc20c4befac725a6f159ff" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x187acce9bc7369e293cb149d6811eb8881afe1dac51487e0dc9f0864e55385da" +root = "0x0ef247ae46aa167d8e3538b875e5c9ad4e904d84e5d7094aafc1a76bed2ac960" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c090" + timestamp = "0x000000000000000000000000000000000000000000000000000000006995ff35" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cee405100" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000cec029600" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3722,7 +3722,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e", + "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -3885,8 +3885,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3908,8 +3906,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3931,8 +3927,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3954,8 +3948,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -3977,8 +3969,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4000,8 +3990,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4023,8 +4011,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4046,8 +4032,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4069,8 +4053,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4092,8 +4074,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4115,8 +4095,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4138,8 +4116,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4161,8 +4137,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4184,8 +4158,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4207,8 +4179,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4230,8 +4200,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4253,8 +4221,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4276,8 +4242,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4299,8 +4263,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4322,8 +4284,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4345,8 +4305,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4368,8 +4326,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4391,8 +4347,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4414,8 +4368,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4437,8 +4389,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4460,8 +4410,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4483,8 +4431,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4506,8 +4452,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4529,8 +4473,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4552,8 +4494,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4575,8 +4515,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4598,8 +4536,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4621,8 +4557,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4644,8 +4578,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4667,8 +4599,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4690,8 +4620,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4713,8 +4641,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4736,8 +4662,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4759,8 +4683,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4782,8 +4704,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4805,8 +4725,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4828,8 +4746,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4851,8 +4767,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4874,8 +4788,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4897,8 +4809,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4920,8 +4830,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4943,8 +4851,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4966,8 +4872,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -4989,8 +4893,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5012,8 +4914,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5035,8 +4935,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5058,8 +4956,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5081,8 +4977,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5104,8 +4998,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5127,8 +5019,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5150,8 +5040,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5173,8 +5061,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5196,8 +5082,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5219,8 +5103,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5242,8 +5124,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5265,8 +5145,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5288,8 +5166,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5311,8 +5187,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5334,8 +5208,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5899,8 +5771,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5922,8 +5792,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5945,8 +5813,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5968,8 +5834,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5991,8 +5855,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6014,8 +5876,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6037,8 +5897,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6060,8 +5918,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6083,8 +5939,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6106,8 +5960,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6129,8 +5981,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6152,8 +6002,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6175,8 +6023,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6198,8 +6044,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6221,8 +6065,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6244,8 +6086,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6267,8 +6107,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6290,8 +6128,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6313,8 +6149,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6336,8 +6170,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6359,8 +6191,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6382,8 +6212,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6405,8 +6233,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6428,8 +6254,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6451,8 +6275,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6474,8 +6296,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6497,8 +6317,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6520,8 +6338,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6543,8 +6359,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6566,8 +6380,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6589,8 +6401,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6612,8 +6422,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6635,8 +6443,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6658,8 +6464,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6681,8 +6485,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6704,8 +6506,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6727,8 +6527,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6750,8 +6548,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6773,8 +6569,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6796,8 +6590,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6819,8 +6611,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6842,8 +6632,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6865,8 +6653,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6888,8 +6674,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6911,8 +6695,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6934,8 +6716,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6957,8 +6737,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -6980,8 +6758,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7003,8 +6779,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7026,8 +6800,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7049,8 +6821,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7072,8 +6842,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7095,8 +6863,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7118,8 +6884,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7141,8 +6905,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7164,8 +6926,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7187,8 +6947,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7210,8 +6968,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7233,8 +6989,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7256,8 +7010,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7279,8 +7031,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7302,8 +7052,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7325,8 +7073,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7348,8 +7094,6 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] length = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7364,13 +7108,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false - calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" + calldata_hash = "0x1b8623eaf6a2619806121217a4b191268af51f45a4fc9d6b4b01b1b2e6768097" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false @@ -7693,117 +7437,117 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000080" l2_gas = "0x000000000000000000000000000000000000000000000000000000000000c870" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [inputs.public_chonk_verifier_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" sibling_path = [ - "0x08a5b0120724e14d99912ce5c3ce1371bced2d0dd440ef60634edbddcc247c65", - "0x2b9ac395b5f9f9a4bd37361a03b907e5014c30ef6c6a8553f0834e296ba4a7ae", - "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", - "0x0a4f4725266ae23ed7b7fa8566af21cabfea01b12765c11b1ec5af22257aad90", - "0x19012d576e94614bdcfbfab40384bfeceba651693e9033cb97f2d05dc36e23df", - "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", - "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" + "0x2e4294dd240f6f76d80cc9c898d4f1e6e71f034414d53427af3be8f83c50c224", + "0x1ba4a6baab60518e1d42c3792fcff96bf01a69ab9bcd8a5313b5aaa2ffaeda14", + "0x21bb840f48113a8e786c9cfff87bbc9b7aabf4fceda1e3a7a36948248f918960", + "0x257350c2abb392ee71be3df45bcdbb0d8f15b4982e2a68ed8137392126337634", + "0x07a8e040a492101c2e1cf08302bafc369232b4fca30a590bca39a0f8e3e2d069", + "0x00808e57bb4bcf49966c3795d82098351c2f62f38a9e4c4cc70f5b1e6d40933a", + "0x0c4c1afe85137976f8ce4b0cbfcd04c300311a7c5d5bcae020e6e92904aa9850" ] [inputs.public_chonk_verifier_proof_data.vk_data.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0000000000000000000000000000000000000000000000000000000000000bef", + "0x0000000000000000000000000000000000000000000000000000000000000aef", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000035fb3a6627685ffc21c38f9d6f94699f9c", - "0x0000000000000000000000000000000000297562175ad4f0fccddad6bd3f7cd5", - "0x000000000000000000000000000000d84a93bcee248f6958cefd6dad00cec132", - "0x0000000000000000000000000000000000108f5889ec519705d36c45f02984cc", - "0x00000000000000000000000000000003bfd7e2f333253600b7ed2b97a9c0411b", - "0x00000000000000000000000000000000001d43506657c1b381f1eb9a3889f160", - "0x00000000000000000000000000000077f812b5d87d76cafe462d9bb69a7fa0b4", - "0x000000000000000000000000000000000017e3144ec884b722ac3be1001e04a6", - "0x0000000000000000000000000000003b10554075b849dcc9a0f28c7b9b438225", - "0x0000000000000000000000000000000000101a3fa6b28ce53aca1a7334114182", - "0x000000000000000000000000000000024f9ef55fd0fd040f1e2503ba97b89e22", - "0x00000000000000000000000000000000002850e33e6b71ded53c1fb341150f09", - "0x00000000000000000000000000000072ce154e8d9f6a9794329aed66e7b7d46c", - "0x000000000000000000000000000000000025ce20a09d98e4696bd8783cfc6852", - "0x000000000000000000000000000000488d4a3895ca6958c7e369dd9cc6cd7677", - "0x0000000000000000000000000000000000263876c94ddb5c855c23558e836572", - "0x0000000000000000000000000000004baf05bc879f7934a341b2f48fa3a35783", - "0x00000000000000000000000000000000001d564084822d9bc6eb9fe6e842e64d", - "0x000000000000000000000000000000cf58bfe96837bdea1405be804639ebba36", - "0x000000000000000000000000000000000000162acfd3e0a01224c506baa4b818", - "0x000000000000000000000000000000e9a7344ffa953107251fa9a874f071150b", - "0x000000000000000000000000000000000009b37a0c0dd8f1ada52955026689c9", - "0x0000000000000000000000000000000c39609aee37c39d5d457edebc68565704", - "0x000000000000000000000000000000000018eaa0924e4d156933a2ec01d66559", - "0x000000000000000000000000000000852341ded04d1619c17c5c1deade5ca245", - "0x000000000000000000000000000000000001296c237942bc015eed98a9a29544", - "0x00000000000000000000000000000048cc52b176f9c3b307be5720ddb436e9ab", - "0x00000000000000000000000000000000000c6e5e6cfb702449f8f4a7487d0249", - "0x000000000000000000000000000000ab6dee1be7c9c71a1b99b4912e93bda8c5", - "0x00000000000000000000000000000000002f17467f9ad8b57b72cebd83070d0c", - "0x0000000000000000000000000000007b0ea1af6ef874f5e4a8f0011a4387d47b", - "0x00000000000000000000000000000000002042095f202a6799ca37af512029ac", - "0x00000000000000000000000000000029fed35736b57bdc3f0cb524b0a11a6a57", - "0x00000000000000000000000000000000002a63428ecbadfaf6a6a0841f2ec324", - "0x000000000000000000000000000000bf3e90af710ac7bf2ebc06f97e98869dfc", - "0x00000000000000000000000000000000002ae97a53b91b3c3a34943877655656", - "0x000000000000000000000000000000f8d5e043bf7055b997df22946acb76628d", - "0x0000000000000000000000000000000000278f620bb8af2ea0b720bc86311242", - "0x00000000000000000000000000000069b9c27f643a119e05a879f015ba8111ae", - "0x0000000000000000000000000000000000137264b248c983bd926962bb689e3a", - "0x000000000000000000000000000000c1e9163ba4242960281b6dac38e71a330d", - "0x00000000000000000000000000000000001b3f76f4f434fe7aa0e4c2134359ba", - "0x00000000000000000000000000000074cdbb42ce54e04c78bcca2689cdb58184", - "0x00000000000000000000000000000000000ddefb6ecdb8065737b727d218ae56", - "0x000000000000000000000000000000ebfc87456038375082f785ae70f44de97f", - "0x0000000000000000000000000000000000280f23b03ca374ecfdd2eaeb4a9dcc", - "0x000000000000000000000000000000d8be9b9e8b5961ef06378ecdbb71084340", - "0x000000000000000000000000000000000006dae403d91e535af7110dbfceffde", - "0x0000000000000000000000000000004f21599c8282e2710abe612709e11e061f", - "0x0000000000000000000000000000000000257d07601f3d53cfc92e8a20538977", - "0x000000000000000000000000000000443d37312c0d57c59fccb3fb962289f74b", - "0x000000000000000000000000000000000008b9171e74f43db3f3b2a52a5e411e", - "0x0000000000000000000000000000004945ab5248a4968700ac2d5949f6f27116", - "0x0000000000000000000000000000000000094fd07f12f2a6c2354d6b00d9ff91", - "0x0000000000000000000000000000001899549514c2ce14c728ce563c9b36cbb1", - "0x00000000000000000000000000000000001b448fdff31beb0d48eac0f87bbc51", - "0x000000000000000000000000000000d4bd6fd3f71b3621613156f7b01a717945", - "0x00000000000000000000000000000000000772dfc77387f59aaf60110fadc872", - "0x0000000000000000000000000000008da3f0a379650949f005639aa6d39a6781", - "0x000000000000000000000000000000000000c2c0e61b53d159c255c92cb74d0c", - "0x000000000000000000000000000000be4f86e3efcec47b44bfcb7a879d527227", - "0x00000000000000000000000000000000002f31a57de31bda6fa669bed7245ec2", - "0x000000000000000000000000000000cbe0d0cab0b2d2af8d122b3bad0da5632c", - "0x000000000000000000000000000000000018ee87aff63de60ac3beca4a0427e1", - "0x00000000000000000000000000000017b25f11830fb4af2398fbf5d279f1aa76", - "0x000000000000000000000000000000000001f1e7bfc7d30455d3282f1cac7d45", - "0x000000000000000000000000000000a873984bcc961290b8b2765a4b6557a0f8", - "0x000000000000000000000000000000000013876c996b2ed7e694b52e10698e3b", - "0x00000000000000000000000000000009d6ca9903bb1074fb2f4a0c7c87cdfdcf", - "0x0000000000000000000000000000000000250d0df4c137f023f9e35a35313caa", - "0x0000000000000000000000000000000955872bf917c724188310b5a088c4733d", - "0x00000000000000000000000000000000000ca072deecaf6de7d5249b6aec0598", - "0x000000000000000000000000000000786e4e9074bec516416a25a5d49fcdb526", - "0x000000000000000000000000000000000004fb668ae7568e9290d3ddf0b5a4b1", - "0x000000000000000000000000000000e273f408cc3bea9017edefc0d952572c32", - "0x0000000000000000000000000000000000149d92a31b01a0750a3451421a2572", - "0x0000000000000000000000000000003fbad843b719d8a1ecacf50486d47ead1b", - "0x00000000000000000000000000000000001b51a84b276cb3955eeaa235305922", - "0x0000000000000000000000000000000c093d1ce4276036437c6272805a103fbd", - "0x00000000000000000000000000000000001f93e9ccb767322735d7c770b6ab03", - "0x000000000000000000000000000000a7d0afc64e7ad1f0da440f2e7e1b94c2b3", - "0x00000000000000000000000000000000001c1c8fca86545654fa494193848b2d", - "0x000000000000000000000000000000c4b0a655bc93953edde57f7e14eae19b1c", - "0x000000000000000000000000000000000013c760cc943669088f68888dcac3ca", - "0x000000000000000000000000000000c5963c0ac145cd633063b72ed2674d1908", - "0x00000000000000000000000000000000002475b6d31b0dc0144330a81fb3a643", - "0x000000000000000000000000000000ee716f50b622c177647d1767b35710439b", - "0x00000000000000000000000000000000001c9815292b567be5e48cc6a2a71047", + "0x0000000000000000000000000000000a8c1860b0fd266ca5e2a6c4ce6b273a75", + "0x00000000000000000000000000000000001fd7cd0fb5c0a4d10445cef352a973", + "0x00000000000000000000000000000089aaae5005b1b2a948f72399049a2c027b", + "0x00000000000000000000000000000000000e9a37190ea9370daa42736e14b712", + "0x000000000000000000000000000000f35279d9f87fafd18b6a920c43ca349ec3", + "0x00000000000000000000000000000000000d3c4c77182b8a162f63af817e17ca", + "0x000000000000000000000000000000852b7556850c366a9ee449e754f28d26b8", + "0x00000000000000000000000000000000001933ef45de789600b864b3d5230c83", + "0x00000000000000000000000000000013da905afb93967c0cc8ab994d5998b38c", + "0x000000000000000000000000000000000009d12f37a7051f8cbbe64df45c9d42", + "0x000000000000000000000000000000b6d3d57cd82642cfe3d3659c7c46dde292", + "0x000000000000000000000000000000000011139875889512c9a0f2dee41a50dd", + "0x00000000000000000000000000000001f26f1f68e47a780f03c5661e93208e4c", + "0x000000000000000000000000000000000017c44078dccccefb6817bfed0851a9", + "0x0000000000000000000000000000008383c1ee6918aa295680cc11c7a424a8b4", + "0x000000000000000000000000000000000028373519482fbb206f5ad5c905920f", + "0x00000000000000000000000000000016d32a1b5560b63484ed91f34850921514", + "0x00000000000000000000000000000000001cedb0711b1dce5b3caa18e9b68fe5", + "0x0000000000000000000000000000005292809f69257d550836a6b74f3c1024bc", + "0x00000000000000000000000000000000002769774cd6cdc5c8500683d931442a", + "0x0000000000000000000000000000003a31dc19d5f914fda638085ee3e737f21a", + "0x000000000000000000000000000000000010563cba78ba43602eaf37a602d70a", + "0x000000000000000000000000000000477b95d9dfb473c55e4f214c8da4b68bcd", + "0x00000000000000000000000000000000000028d5a8268df37d48bdc2c8d9abb2", + "0x00000000000000000000000000000003f09783f7e80c1a8bdafdd2481704539d", + "0x00000000000000000000000000000000000acbc79aaabbbcc6ae033a0abb622a", + "0x0000000000000000000000000000009b5d7339c1b7958f24a2a88e70e54a685a", + "0x0000000000000000000000000000000000043d8690ab7c8c1a5eee8f8f8f0184", + "0x000000000000000000000000000000dc3b9b3b05186b5838f3cec94b3ac5e74f", + "0x000000000000000000000000000000000017c97be5979972e869df1d8846197f", + "0x000000000000000000000000000000fb14dba0887d51482b6be624af37905a97", + "0x00000000000000000000000000000000002d0318677b8df04394c896463eb0e8", + "0x000000000000000000000000000000cb1442531af3069f6cd74b12a7c102a4dc", + "0x00000000000000000000000000000000002a1ef965301219bbc6a0aa5499f9b8", + "0x0000000000000000000000000000001aa8d0dcf15753b7f0a087919ce2c25e1b", + "0x00000000000000000000000000000000000e8a3e37d2e87977df4f86074e9be2", + "0x00000000000000000000000000000001c8fe845ce49221faddaa55f3d5eb7d4f", + "0x000000000000000000000000000000000003b331ae68fcba993f0683a3d41678", + "0x000000000000000000000000000000079dd47f34e47cc11f493ce666e7d9b750", + "0x00000000000000000000000000000000002eb8f1f5a06bfce99e46227f858885", + "0x000000000000000000000000000000ae88b9f3b13c7c0d340360019c73c03cfd", + "0x0000000000000000000000000000000000293a14bd8e84e56144465b001e417d", + "0x0000000000000000000000000000009495aace65fb72196a5dddde7c18a5b13c", + "0x000000000000000000000000000000000016ec71556cf921360ac20c681669aa", + "0x000000000000000000000000000000f44f8d3be5f246fba47b155644d495a270", + "0x0000000000000000000000000000000000039f5d61430b304bf697bbab448841", + "0x000000000000000000000000000000a14dc790b741e1540766596f2f37256d75", + "0x000000000000000000000000000000000014a9a50bb84ee483a5ba147c533363", + "0x000000000000000000000000000000113fd023a7697b29f9a6c4e5be284da3e0", + "0x000000000000000000000000000000000007013a56488979ed3af579cdb1f303", + "0x000000000000000000000000000000fea99b18a4267e7d607077b5857bf2ab4e", + "0x000000000000000000000000000000000001fafbd323bb6350e74a6ae6ea3881", + "0x0000000000000000000000000000000c6c1d0999ee3b1ae7a9eb0346071c492a", + "0x000000000000000000000000000000000027e8e2dacc6b1ddfa0f0bbb94d1be5", + "0x00000000000000000000000000000003a186459f7c6919380a035fdede51d7b3", + "0x00000000000000000000000000000000001863502707c950bf42f386fdcfcd5d", + "0x000000000000000000000000000000147244de8ed78862051abd38e819a954a0", + "0x000000000000000000000000000000000009453f75efa5818a4e54136680f6ae", + "0x000000000000000000000000000000ff7596ddd8baee38b9458a82a2ab69ae1b", + "0x000000000000000000000000000000000012c163e6fe488eb25fbf4056f64076", + "0x000000000000000000000000000000f047e9379bc0c0ba7ab82f16b2e19846d2", + "0x000000000000000000000000000000000010d40eec8dd43e2cdaed1e55af586c", + "0x000000000000000000000000000000b939ab3e49b66e53d9292e41f9cecb3e7b", + "0x00000000000000000000000000000000001cbe7aa4b80ebdd61581930ee900c6", + "0x00000000000000000000000000000039eda993f27d2da7932aa930cad8c067eb", + "0x000000000000000000000000000000000003985acea5796b4dcf8eea34d319b0", + "0x000000000000000000000000000000b2cfb4a076f4b80d4797502df292986e09", + "0x000000000000000000000000000000000012e30a7ebef5eb8654166285011540", + "0x0000000000000000000000000000009492a758a8aeac12615e351f2dd9c25e7c", + "0x00000000000000000000000000000000002cb724368ff37873d88593eb79fd9b", + "0x0000000000000000000000000000001769a36b16b7dd43a4b7a019f98f936d7a", + "0x00000000000000000000000000000000000a2d8a63b46f1b2f0ce4d6c1180999", + "0x000000000000000000000000000000477d97fbcc281da481e1bf003470fcd2ab", + "0x00000000000000000000000000000000002defed273d8546aa17207ddaa19e62", + "0x0000000000000000000000000000004aa992ff36d07f5316384b5622d8cdb4dd", + "0x000000000000000000000000000000000010242c2d4967b3baeab57af3ff99d6", + "0x0000000000000000000000000000009cc9a2caebb442804ab94b06736608f489", + "0x00000000000000000000000000000000002c8573cf58b08b020fa68fb0d5e0b6", + "0x000000000000000000000000000000f0d34fa693d57949ab57c6aa40f4838a79", + "0x00000000000000000000000000000000001013f3c40fc2bb1e6c0b7509e50ac9", + "0x000000000000000000000000000000c5be1d53886a510b1d67090fc56604e443", + "0x000000000000000000000000000000000023065e88e0c1e90af085402813015f", + "0x000000000000000000000000000000740b3de3252a98fe985fc588d1abc9620a", + "0x000000000000000000000000000000000026a5fd7addd44e4a24689a42e492a7", + "0x0000000000000000000000000000002ec38535b216820d4b0a5c2851fdcde7d3", + "0x000000000000000000000000000000000010db11591cafe074b5dff76de55e1a", + "0x000000000000000000000000000000c0c330bb487b588cc424d495c0b58821cb", + "0x00000000000000000000000000000000001067aeaed5da70f7f70e4a5f0c3a59", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -7824,12 +7568,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ccccd68d80c851c5ebba68d6aadd1434a8", - "0x000000000000000000000000000000000000b225f80817e82e96b522ecddbf99", - "0x0000000000000000000000000000000cd91eb6cefb6b2e76d146e96f510f9fa9", - "0x00000000000000000000000000000000002ee755c534e01c6c191f53d291f996" + "0x0000000000000000000000000000008349a95ac98387e75fde06c3da7463b361", + "0x00000000000000000000000000000000000c11602d1a8901f1a36c408c9dac87", + "0x000000000000000000000000000000aac5bdbc96b44cd0ed76e70385bc2e9039", + "0x0000000000000000000000000000000000167968fa489d99c5f27373936956ab" ] - hash = "0x227dfc617923261f352c5b1e72bcbf5d824ac9eaa8861f3d0e7091df5d75cdba" + hash = "0x0510c7e9e15b519c6044928b3f1c1c36189643bf0ae6682e583e640c1263b3f0" [inputs.avm_proof_data] proof = [ @@ -24237,43 +23981,43 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs] prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - transaction_fee = "0x0000000000000000000000000000000000000000000000000000cd8ba6bdba00" + transaction_fee = "0x0000000000000000000000000000000000000000000000000000cd8ed8ed9920" reverted = false [inputs.avm_proof_data.public_inputs.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x0000000000000000000000000000000000000000000000000000000070333a21" + version = "0x00000000000000000000000000000000000000000000000000000000efddccd7" block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" - timestamp = "0x000000000000000000000000000000000000000000000000000000006994c534" + timestamp = "0x00000000000000000000000000000000000000000000000000000000699603d9" [inputs.avm_proof_data.public_inputs.global_variables.coinbase] - inner = "0x00000000000000000000000075d5a78c72060d1730eb62caa2c91daab0000946" + inner = "0x0000000000000000000000009fc952024b44c58fc2fcade2286b12699d929d44" [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 = "0x0000000000000000000000000000000000000000000000000000000062221200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000622398a0" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" +inner = "0x2c2d673b54713aeb2dcdaca8bbd78b14f7c3adcdf4916900658374dfec4c423b" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" +inner = "0x1254246c88aca5a66fa66f3aa78c408a698ebca3b713120497c7555dfc718592" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" +inner = "0x14d670efa326a07b99777b01fb706427ca776095246569150f2a3f17a7d4dc66" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" +inner = "0x230d0b47ba6d5ed99afb89d584f32ff33438b64f51000f252a140cf995781628" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" +inner = "0x204913186c0dd70015d05bf9100a12e31ccb7cc2527aacdfae0c19ad6439fcf4" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" +inner = "0x1198142fd84a58c0ab22d5fde371ce527042db49487e05206a326ad154952ac8" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -24295,32 +24039,32 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x0a1d6b8faf0dc539f4f709e625091f52255e75581eb09b1c4f0f75f49867a32d" +root = "0x2568334c9fb00f48349dd5159b8ccfed2f4b2649395b99ed06e3ccdb5e595e83" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x2147c2a71a2271ccede5e8bcb99c1717dbcc365cf852f5921d0fbebbe58b48d4" +root = "0x1d4b7e120298a5183de0cb41019e9762e38d2de68fb94bd6970e183448e6c47d" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.start_gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000400" + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000080" l2_gas = "0x000000000000000000000000000000000000000000000000000000000000c870" [inputs.avm_proof_data.public_inputs.gas_settings.gas_limits] -da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" +da_gas = "0x00000000000000000000000000000000000000000000000000000000000c0000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000005b8d80" [inputs.avm_proof_data.public_inputs.gas_settings.teardown_gas_limits] -da_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" +da_gas = "0x0000000000000000000000000000000000000000000000000000000000060000" l2_gas = "0x00000000000000000000000000000000000000000000000000000000000f4240" [inputs.avm_proof_data.public_inputs.gas_settings.max_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" -fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144978cf0" +fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000001449e6ac0" [inputs.avm_proof_data.public_inputs.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -24328,10 +24072,10 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.avm_proof_data.public_inputs.effective_gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000062221200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000622398a0" [inputs.avm_proof_data.public_inputs.fee_payer] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [inputs.avm_proof_data.public_inputs.public_call_request_array_lengths] setup_calls = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -24660,13 +24404,13 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false - calldata_hash = "0x05281b3295031a75f6795dedf5ed7e65588831c728d6c21b0a2aa1c5c56ba868" + calldata_hash = "0x1b8623eaf6a2619806121217a4b191268af51f45a4fc9d6b4b01b1b2e6768097" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x2d948ccf1b0e04c1d22e9028d4665d4d9d5cd42c54cdc65a1fefced923825d87" + inner = "0x27fb7af53ea12ecda105ef38a22dc34d552ad80c7fbb844c528ad4b444e8ea56" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0abe66f2a9867a62057fddc4f1db73460641475083940040ecfd60658c1c8f72" + inner = "0x30621b243a86922a1e6858310a80dd8901c4bf6f64ad248c28cbdc6fc8d44a6f" [[inputs.avm_proof_data.public_inputs.public_app_logic_call_requests]] is_static_call = false @@ -25066,7 +24810,7 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e", + "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25431,19 +25175,19 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x134f8dbea2c3e000f072082f2835d660554992c04433fe67c258ef4ba4320471" +root = "0x2689a4beab17ab7cc3a8e33a7422fb5c36033eab1c1e53df5d88dac7aa96c593" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x1ee3eb36b6555280c34d9f31feb9a79ab9a23d70962bb17ced7f29309ede546f" +root = "0x146fc78f9cbbfa5af12e19f39a0236dfb9f0c7d589a79af49ebe4ec7a4477cb0" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x1282b8b4f44d1327fa014599709582e36288b84fa6e746645cf2d2202bb2e34a" +root = "0x02234f3e4b9432937ff33064a822b9506943e5bba1461ad21364a5d07afe61b9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.avm_proof_data.public_inputs.end_gas_used] - da_gas = "0x0000000000000000000000000000000000000000000000000000000000000c00" + da_gas = "0x0000000000000000000000000000000000000000000000000000000000000100" l2_gas = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.avm_proof_data.public_inputs.accumulated_data_array_lengths] @@ -25520,7 +25264,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x1723b21484ab449b3f016a511617f67821937bd5ceb0a60455f6607b8f30143e", + "0x1f3da13e76a7e28015e5c3eb2e75771c5fbf86abc2f27734a4a23cebda9b1909", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -29768,16 +29512,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x1115fe5874ebe4d5d9a3428012e3958edbb448dabd1c7da26af23133c7b8855a" + leaf_slot = "0x282001fde89c1e765e70e3a09b1cef335970959e86e5647af12795df4d5d4e3e" value = "0x0000000000000000000000000000000000000000000000000000000000001c20" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x073aac97292c2a43ea4a9c36cff2635c093bd0a6fe1179d00dc6f13d5697487c" + leaf_slot = "0x10d5436199eb69fc55baf9faa8deb535d9c18413f1532a8f363c397d2505ca70" value = "0x0000000000000000000000000000000000000000000000000000000000000af0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x002510825e02e22cb7f18ca8295dea994cbf5a9cdc610d4aaa6a4e46196a20c3" - value = "0x00000000000000000000000000000000000000000000021e18f3bab36cb8d2e0" + leaf_slot = "0x15649e60578629931927850b8f54bbb3350f5aa48e2ab3f1b6019e927290b96e" + value = "0x00000000000000000000000000000000000000000000021e18f3e2d8afa9f460" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] leaf_slot = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -30042,5 +29786,5 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" squeeze_mode = false [inputs.last_archive] - root = "0x15bb9c13b1c12bcb85ad0e1413fe78eb52095b5a870551b43ca27fd7c98a6368" + root = "0x08eb11f8ecb0e8c389cb929eb0bbb3d74b4e3a823bbfd0d5caa9ee40dfd931a9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml index 708a6d0c93ce..20d6ac1b85b8 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-tx-merge/Prover.toml @@ -609,10 +609,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x28e713a6903ec40bd07158fd1158d4eecf986d0a0b43e552f74d1419a7078b70", - "0x25c405279ab1cff4606afcf00a8e77616b4145811dfb54f3e402c6fd1a2cd4a8", - "0x1a76839ba9f9cb32f42d0ab1b236b17e713a6a91b473e79f149feeda44b6daff", - "0x058186b46ea4a19d7c86c8e5163b2d9b2c1145d304e7e8b61a7d90f804d8f1cf" + "0x21dcb9779b890624b5c350568bc71292ba029e1e808aa2dbf220253f376d8098", + "0x289ef862cde97dcdd82a2b429a78ed5fbe7a2e394cb15a3f98cccebddb8bd2bb", + "0x01ccb95eecc894442bf3bdaef3993f3494ee4418833d36034103b795d18e899f", + "0x2d152f8990849cf47026d9f15e5d3f6bf7eabe6f860e5e6d944c4c36c8f43368" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1342,10 +1342,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x28e713a6903ec40bd07158fd1158d4eecf986d0a0b43e552f74d1419a7078b70", - "0x25c405279ab1cff4606afcf00a8e77616b4145811dfb54f3e402c6fd1a2cd4a8", - "0x1a76839ba9f9cb32f42d0ab1b236b17e713a6a91b473e79f149feeda44b6daff", - "0x058186b46ea4a19d7c86c8e5163b2d9b2c1145d304e7e8b61a7d90f804d8f1cf" + "0x21dcb9779b890624b5c350568bc71292ba029e1e808aa2dbf220253f376d8098", + "0x289ef862cde97dcdd82a2b429a78ed5fbe7a2e394cb15a3f98cccebddb8bd2bb", + "0x01ccb95eecc894442bf3bdaef3993f3494ee4418833d36034103b795d18e899f", + "0x2d152f8990849cf47026d9f15e5d3f6bf7eabe6f860e5e6d944c4c36c8f43368" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1360,10 +1360,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c34c" ] state = [ - "0x170fb818ec00d69d99e62f173238ce1f514dd58abb39a0918136cc862539d7d7", - "0x086faf9a612b4fe1187b73753d59df1a71cc5a283e1832a7c0c5c8d12bd01a73", - "0x0e8d0c8859d84cae5d58752cfe7b881e2d09a63ec57394844c6586cc1fbec1ff", - "0x0d7851ccfb3fd02bd3bbff8dc86dc83662fda5bb634a2ceb2fd79a247781a4e2" + "0x2e6bad3e787bce99c414076dc28376ab4c10f7a83f4b59c2a40668ef823201a0", + "0x2e84b08420fc9fcc8897600f3a7cc5c66648f136d86ac9a381ea7035d8900270", + "0x201479434dbe46e254fec107f719acf10084eddeacb55250a594359746a96920", + "0x0ff86745d9519ca1b09e964176435ae61c4198c145216cab0975fd7b80794ebc" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false diff --git a/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json b/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json index 0cc800e87d34..48b6b9e3e2e3 100644 --- a/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json +++ b/yarn-project/end-to-end/src/fixtures/dumps/epoch_proof_result.json @@ -1 +1 @@ -{"proof":"0x000037401d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb00000000000000000000000000000000000d82c97ccbb9dfb5a09d0a47efd9de0000000000000000000000000000000000bd18f88e1691544daea4ab46e1cfac0000000000000000000000000000000000000000000000000000000000004e300096c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc000000000000000000000000000000967b0d22683d31e5b17e35426a3d6734a70000000000000000000000000000001797d858818a84517997674b91cf6da916000000000000000000000000000000000017e8cfebd977560f74ed3fcd1e655200000000000000000000000000000083a2c6ba1092d375f451f817de298aef9900000000000000000000000000000000000011fc0aef0d868157395cf29aaefd000000000000000000000000000000cdf2a5bbc97ab3319ba5717f486f38591c0000000000000000000000000000000000004a9e6300ba93fb4797ae4cfd65860000000000000000000000000000004f0c5299514617d45b830b641601c3caa5000000000000000000000000000000000017130234fdff841fb0801f525e4a8403a0445876db16ef698e022d8fa26e65f36030f9d2a8bcb5b1b24a7684c4d7d42796e3e4ff389d43517a186e22e5c5cc777ede4f3c3e92dbfb9327806eac1f4e09f8b519e34d2c97794a0328ce85296c00d1a26fed1127033158000142e8ffdc0d5b9bee8669076abb6e057baeaa1c3a225cae41db3252b703c5ceb0fab581f1167dcd66fc90fd1bc3767b74688147261785874c194456644891ca45feb5ba5a11515d269c8d7a8f669bfb8686706b99819e72c1b8b41dbd9d9e5a2e9a905f14193782db7b347fe2cd790ec1909d637cd360611d4ac4098134b48c576ba9d68115282242fa373432e29e5434049fcf9a19e6f6d19713297e90ac2ea20c3248852274438d5e01f4cc60bfcfd214d48dc18f59bdb6a7ed3f5f4ad6ef326dfd1db51e997e94591c00c715af82249a35d5420f1aaa2bb1372e6eba18c7a6224d8b5b184836bb1f64c65e9d932130b7e49dddd346c11ede0f3d853661e553df0c1a8e0d58e5a7e720e0507e9ef224355d37644634a6767ca627b5a6c3ff318a10b61d071385327199315907de6e66ad5a3af3fa88445468d6b0415976c70400fd5d901941900d441d9d49fb9c107daf9cc61dd62ecf95908583bd5414bfff78fbb5d52411363e53285346c29d3bc32506953e47bc7dd7bee5db2e70ef1dcf77e210272994a19c7c2e4e5103c92b0f099bb8dc9c45df575572d83452c6c4d7a33b6c4227605bb8987bc38041e7a2754af3aebb29bfd6e7c06c1cfa43acd3bae2c709a30903f2ba48b5dca97668a341368da9a1fe741160b94d5397003521d90d38f65e301b7fdbdee0228ea36a332300e207e7a808b441757562add38fb38fc65d9caf0abc3dfc9e560074905bc668d2943a828458177ef33788c41d8cd52cfaba66310b1a866bdc3da494dd2d2c4afe81db9700f0e241c29ab598eb7439e69619db3a27ebb5a661228586d7e153b1df60aea33367a52093af489525d37b76f204993e04bcaa9c877078b94c662dd30a352fee96b97498321db9572e239871d71f200c1875c56d60921d22258e4f9a00b4e063177be47c8d329651f59fdab7356909490b2062ceab7f2fbfc87f5a6af45a78c419a6a07434e26f6dc6e2395253e27c4d0c45dbbb562718ea7dfdf83dc22fda46f643096c67fa8d83c73f9088aa0f944a303c7b9a89d925fdd1a130a46bea3f11488ea4db9890379dd274a8feb884f3b92d8138d137769aee469d37ee82c91f18a0624666c1a3a5d8c4591b980167205702f29e32456e87f9f09f21ed6c94d90a812860172ce123f68f76e63cf5ad0791249aab46881503a34eec2abbf366e5f20b8460300611bf73d73a96c9fd66302b1143562570cc041ed83ba0533a107c2212b5649b5cefa3a75a05e51d24ec36660e3bb2d6ead0283f93c923edb26a5e789735b66549cefe38b827b33816106efa22f3374938aeaf8c9e46d776454001317ca92d9b12d47440aef79c5f308be4c2198f9334f91e7f7a23975332fe93d7a7070317ac7b1b4deda80ffcab64c625e7004a4decf43ca34dcfc9175602e025cda5a55b1e62047464b6a436b6cde05d8e1cd51e44884a35372ec1fd4f88648cc1518669b31f93a5a91671b294ca1ea011273b897ae150b1b56157f4791f34f016ac582a5ee2ec43328c11d19de3806a60054276d5ba98742b074d2b267b43c74c2e05863865e16ecdfdbe8048c9f95721188b085cbaa6e5b48547fd6d1ae0421286eb72801d7bd78aacd599c5dc9fc44012d39d8d63104dce0da8b0ea7e2c4321f3f19b3700a161a3f5988583537637161b1559bf6f847cd8c0b29ddacd54a623bfc3130a3e7820abd840b78d6f6082b31b65cf2f1d09c42694a55b539964f06a2f5a36470ebddc07f4013b29f76084390fa143a705fbccc8906edc93da949e660f69542656400f47781308cfbffff09d07797ef2746224759e0a8a8169cd5d2af524234f96cbab777bc44229c4a0534928c2eb68ced24b7787ff1ff232497332e6f6993e0e58201f227d44e1aa28a4d42d38e2945a05591b58be33d7a10bc61eae7ee5677e3077e92d63afb4403c83281e8adc9c31cb77e20a72ff6457c4dd539738c5a7b788cacfd9c836adc326984911726b20a8ceacca6413896e69c856487222de3f47a18faed973fa1cbe2a49af0db69f160a30619f4d083033d390fbeab2f137b5829909e8b8b8686c2b1f778301315915d41e0c4d51ca95caaef1a86f1488ef17926a0ddad8645aa785d7cb2b21c61f4eb4b088bf1ece7675c62df43bf1a9bc1ad59a6b5f2d8826b91002824822c3e2c919317f31f2bcf00da1dd570a16d15866c8f5fe6cc2b23afdc0e8aba40535bb13fdaebc95ddc7bb1d42df897920a5f83af9b38a642c405eab0a8c9da71e4cec6f0d5c28a7423c897cb04e1d9df0833c73ee819786610b3208986a9d9d2a96e4fa92abc298dd495cb827a40307ffed021d8a07aec35e534535fa06fb462a61f6aff4f4885fcfaa95f94412a03d6708d18046ef3e039d208eb02c55227314cd82a8d85c7de966521f25b53e20f59a4d0e2c2b0e21fc9eed3274c2d6b9fd14b00bdde2b0e02da17907b7e700af85dc37cd1e10dedb14febf1438b50390f020a920f8957eb5e68167e135cbe3f8a154153167d3fa356e9ad137f8b1d6fa6a0d8339b6d0b3666540b8260342bd23321db27dba75d834df733f4d34b6721e3b26331e9d584f43c61bf5ece9b8bc27898bd851f0f878fd2e9b2b47c6a472918a2b39fcf2d2a34cb3d53bd9e2d67d81da197291378cf2557dfd3c41964ff842fb0bf6259efd9fcb9750ce01f95154c97541ac4a92f843a052c6cbf8b106c0e68c10458d84788b2d27475bc2f478321349230a1a2e841876a9a82d9756647819fa1f72bbcc00955958620a3c7d7d7a77011ef2becf6c21e8887fe620e57ce4b6d11ac9795ffeff18271e4505e7f85a15a2a430efaa4e5eb5fa1ff7130bc49ed9ad2ea71c80425d6fa1ea1ddf90eb8f16146e428ec3ae286d3e89000e3fd7b97131150ade0d9d3b01edb34b502036a2e69c9d8f96ecfed668d2a357669fefabeb2619bd30bfeef703d615264f7323cb4e21e18724878b5bc9f657d70bd3b6a4027e13008717655efdfefab884c6394aa52e7cfad74a5c2616b4a67da0f2b79e5e8a11f62cd86eaee4a10105963ec1d78eb07373a117d851e6d9ac06bb8668ef48240eddf698252ec4b635533eab81218d60e01d839254a4f824a45e136755be42da27e769885b9b9d788de1ceb523ab680e5dfb6dffb1e90ea0ff6afada128c299f0508d1c510bdf856baf56bd7a7f4077377a37c4d4dd477a26b4ff8e3a80d77d4241502630f0ee7f6c0f7f6523ead368aff10bf6d496dc017c5fd23d899d4fc892a160600c6c9dba35394f45925a6d668af17d6bcd48dc4c997c20c3dedc5b1200b6dc1f41612152cf50dbdb7b963f28e134f0a1930f67a83e3fba165a197a182057b3456b008562d214a796927ff650cbf5ae0175a02aeaec5934593508a8c03151e297f5e14f4a80857cd6c0ffc14ef77ca5939df3930d0d4d1799378ec09ca17492fbf4ad150b4381ce81a6efe837e609318224ac60a17da3757dadfe575f62c1a42936e0dea1182d6ae6c4b3e4d1f6d85635b9da9f33d2ac17f9d18d880c328e97fdcd5cac5990dd9e754a3fa879ed1afc729b7021914aee6618def546a6c036f4abf9394219910cc02fd96f25b9c26f9ba6c2ccf9c0fd9b6e5cdfc2da29f274b98bd1225e97379e75897f6eca05d537b81c2cedda904810aa3d10e7b28cb1895f3b13e6705626dece82d79f63325f69771b99103d80a8cd2692db01344cc16cd975eab218a93cee6f6f5bfc0ad10665cca707c228ca574bb7fc489e4469e2d5cd6d99ff34f80883a337ac4ada8fb496caac7fe5f05f202b2a533771dbcb204fd5cefe9994e2c778e077dac5ab1c35ffad3da5de8fba4ba90451b3fc3326507327adb065fc4230f5e7a4b5564915c8840790a4d123bcbc7229cf6ecc9e97024b755391f20f2683b90896c8eb1a340e1e2250bec32d5a8fd1e906a506b433027d6f500d18a86b322b7fc2d9d68b71f6b5eccfaa481fbcc8701f439e4fc72a01ae3eb3d430840640514d50136fd2820fc02b4e82608022e9fb6af4294d6088724c543dcf28e7f5b9fe07730e4f53ccfb2970b4f0523121076f89486ccc42a711a669b82283c5b2a0cc1a142e36d48a1623fd5ebb2976453176c89441b7065ec271aa52ca8bf007deea1cd4a2c676d9a5d8161ad99fdb937f65e9c396798f0f61641db83866b14e7b7f2762990e495b658a1602bbd86ff699ab33956a1744ce21c7a682c7436845c8435f2b85582cb53f80b773d6817002d63210ecd885cd4bb250d283a0e3234197854d156ce0e2a642735f8401822b2db3311fb9d5a26739c23664862e1c45ab7ed0d22f488294e92a607aed4495acfc4af7481727eb0cf142fc4f07b3744ea47f4f679b8e13961b04ca06e2b02e6c8c131664f09239cb9311715e1f1fb30b9572403837324d557bd11f1b9ad70088de966eb93ea78962e90283c6c120d18111260c75f1bd491b18c8ae2415ed388687cc9fc98ada7be647a1c064e69b3a48f5cee88eaccee5106a07cfc875bf32a16a87549d7e7b2e947eb0fbbc2803ca8c833be22f20d23ffa5c91c94124a2174f94802013092fee38df2277e6b8a06db9e94af3ed1c2b0090ef023c5dbc02207cd45348d3a691fd072c618b472aa76a1679d17c09d2dca2994f0f0694c5345f8fad995418bb0982ffbf30bbd8efd74df94544593f65a8703c436b454f71f3aad41864d23bab68fe6d60e0940331c92e410e9163e9278c91485ed395eabbea30f29133a193953b58694af232a4ef9a6008736e1f5c8481cd0d614129263aad34f2eb4b1ec8440392ad6122ccbe60044466f5edf636ed9ff4b34a33262b72b7b0ab0ff9db792653ba300472aaff60df34bdb5c4698feb2180159732614a74877065f655a1d466b82df79ed11b47acdcf39c0fda30dfffd637c78cf609ae90617c8fdcd55a161603bf4bd9125378d2dc2ce69ad9d190290f0e749b3b80b47536bb1177492a045e84cd678241fbb2cc238adfa867903f686857e2816b6b9377d448cb627d569052e3e1f11540736e75c4224c40a17e035220758192b993092fe3ab0b93a255882793b11e8b3048cb86944cb30d4e8dab21e9f8fffae17bbca27a9b0d54b780ea3a89927fb660584683d6287572cb584da54b75acf2d54873a501ca5ed880017fea72aaa73fc0e64e022d1bd2a1706051ae4fe1e02dae1a5e8048dabd8519860f7044738992909a411bc4c3dcf4fd2f25fc2f2dcb9d12fb507d3e5c968bc417b72f50fca53861b606f6f2167d10c609e31a5cf6e5caf4314a952e4b7548db661355896a1748627316be2e0307c460b9f90e77b4c64086d26ab410b70cafb770c07e3d5e2b30e1433de10481b32d3ab8f5fb74dffd528832e2c774bc821f0a921a91e15c432032aff6d31f9f930fa27338aca9e82b18d9a2095dd15ee375ee55b9877f71b73bf08cffec3ba08b53eb8e4cd01c0bcec82dc9322a6ac3b31bdd6d4c3acab8a3fff233a30b5aacb7cdfba7b0db8ff51806b2b18cebf193cc48e072dc05db118247c0b591305f89d38e659977c17b337b850cb1443dcdff8faded33ce9a93381c05f04f58eec01dbe4c1b3ee3ebc1ce5e4d55d68a4b5abec8c2f3e6ce3683b88fdca031ef79f351770d272c753808bd2eb589e4dafbc9bd45da783e8da27f7562270276de770cca4c5b8fa93a5801931d5f767b534e8f1bc498df003bf8b4d667d9d22373190114df79f841d3f383eb3d6fcbac54f613221c36bd6b03023aeffee161667cd3489bd428779d0f9ce6551f233243b13af46384b8ce1b9c7cdc330dd9501217e85e0828b6ae457ac91577b38e2cbb74898f82fbde18b125c837e1de84f285f20876d9a23656d0c758b0f797d205191e7a239c5de72405c723b32b43279172c642f511d72d7bcff50e85a078fef38749e19468941bbc6a9b35076545102142de6612730338785f01ebc75f66e6b7c190b1e4280bde3d681169730ce57490920584e61058eb4f2083878624dab99dd00fbcc2dd8a35885325aee91149a0b0c12adaf64ee94c96408fcfe41704a54fd0590a73de5b15b881755b7bcfdb84718b0c82f5cea901354a1166d07003553b9cf8d99e93de5d036b7873c906c485d11e4e60c5408fe76ae1beb06f1ccfbf68c9515317b266869878fd6ae99ec00ad03323984772d17ea788e1a6564584e438e611d0cef8d9156f71c3df9130524e712050e384b1bdf935dc7a424f647589364ba944a0ec4712b056f003ed8054cbd036578e615c5fea9609e9a0693f11baad586f6226d28113a58c1ac4260b9fcd62874f3b4509346d436e5257ecb83f279e51cd9fd76bca2844900985d06154513174e00e3c307dc23ef91949bcffd646d1204a022886ec0e59cf1e063686e1acb27ff7d2c62a3526d1295828034f9b62e4add8de76f7baac7b2aa327e7a490be106301e528475de37b655147852871a2109eb5b4d3c7f8373061fb5802944a3a71df79dd1d0cf6358902b629715cbc90d0133839a0fd43af4b40e223e040c23a12ed1b514de97cf7a9c2d0f8a2aba6b2c3c536d2f5c85bdd3eafdfe24bb667ce20c8852f949f32c149f2e65b97611efbf57a5ebcd6c530843874fbc5359ea86002a2dfc51c87ff65a3237ec2c2f9e668c9af89c4d2316a793b1b6570769861d8314df2c48bf2159010a4a4f33abf0c82b48cb233b39ce81fb8e8436a4acb004921d7ee7bb48858ec8e7d9ce7e459a1e0ac5b66bfacdbd24dd9876ba41c821a5e529e4c95181c3a6251228a400e4e4fadbb071dcd66086a1600b5b9a09db262c8122aa2560d3db7d01002f0dcf36e1cf1a9cacc7b205408a6534288b702543f6932ab1abd61ab5646c2d238f3d86f796f42e42afda89998b4ea2e197c24a588fad23b2492d6c12317f80fd2bd9abaa661eae1300b5fba63facdbed21b8c249a13000bb435ce2453b28a67bef5db6965da240d121e1de076c11ed7c2ddbe85132ee245f57adcdbe83d6265e7a2904357c9099888796a39d93bc0638a87ef8af1134117ae4f029b444e02c83ce83cec95bdd7edbccba1be000d81c0d77357947fdc5187fa7f67c8685bcff3979385f930bf587d113837b128702469fb61d48cc36851ca6bb33f6b4dbbbcbd2486b830f6b29f68f916ef0bff67fa5020ed2257a9c2b1e47e5b421781d8fbe6bbba1bc350285287498eb0f062b499a9d5326fdc971511a2a5fe6993c3192918abada27e2fddb4942f0d4499573c30b540aff8bff3d6d1b4b75432151bdfff5e80d281e9bd71609cb7e559d636896dc0a26e9f2d5f3c819978ad723cd5e17ed512e012383ad056a59b51e3015c1d25cf5279fc4bf7b4f2374e45b37a606022bab423a22ecc51bbdc39b275038ecbceaa6a7de26d9400e27ee26b521a7b74e7a5f9bd7dd7103723aa1d0e8cbfba9ec2d0ebefb56cf8614082e04ffb56d57f8d1feff17ac38744372ff720e0030200d0919402bada6de51069384ef66b2cb79fcce9860799f7b980e120424b63fa6e1a5df8608849314dc27bcd3b16176626910c9130f1a25c15bb4f85fb4494207b28230e6dda0286f8e240ae87e759546cb7e8699164ec05c3e619dfb83931e236b8940fc7a44955d481c205d81c270c7e9428524cb94fd5a99e43e02d8cca90681cb0d6bbbdf19a820097a170215bf8726d0b473823737d29318a7f96aa15bf7ccdeb31b4e82d673332638055b90194833aafe427a15208fdce14075b967dbee8b8858a1aa0fc8c14828116d6d2134815402342482a30a6a3a37f8862da659e02f020eb58f0002c85521f73bfd38db27c6a6fe729b32af86cf89d6e3717f8031725b1522557c7082cb14ed7f48a060e12bca01333e1de93b2b8f79cba00702728b306e4ca0c80d20692280d488f8d624fda58ae9fbde4f1c02daca46ea8ec060fb872e9b2fc8d0988e2ee85162007d8d37d8b7101200ef69e6d533e43730df304eb6b869115b0ddceb07b1bd584468249358a49bea667c4072e78d2243b44ca9e282ad61bbef2ccced290295d128a19e6a8c59077c0e6526a56d7270fd447e07074275ba1adc4fb4f5188e85607799267a221e4366d90a9b6735a0d962953e36bcb0f7af7a982431f71c16985ca3986e9bf5f511547befec6f03f3a8dbfb8982ffc5818db4b7e3d59f15d259b6dd66543ba0a71eacb6e3a03f2ef373bac5dbb3299284c188e7a8fa1c19c9f5db3cfa537e2e2215d88df9d5d191ec1918a3cc4b915a8f58cd03dd1a7c274cf6e3bb11ab6e6fde217d2a0d614f03113778886e5c5755d070126a98b9dc067e43b2e2bffbc9758f28e334fa84b8e6ff3e244074460730ed98723dd111c816406e6d5faff4a271ed793626444a02ff86f21e779af3a95f94096b2352ff8b13fd281c5879919fd3fbe98693df9d879c6cce127b41ef8cb28b8dd95105e9ec2bced726296dbcfea3f053f074eab5ee9b69a43a15f963d2ac791c13bd5f282c23e25c2ef45a44fc670828042e67a872e3368fe3d78281e7c77d2989391604dc193be57bc06853b666c4b2a458e7474a301ef8f45e99b61bd33d548549cd68350baf6f771f3f2f2e4051394861334b3cc57d7310a0f0f9c4feee715a34746c002251931332c277cdb25bcba703a0bfd80203d08412346ec10c0ec5af5820628d01155f91975383109bbae67834314f3f010b8eebb7007ac5a899b3a84e421e1406d9663fb0f071bbc54880d6ff2c4d072c4dc32e134369fa7d7fd76a7e4ba1b72917889a503991a0928fd0dadf8db83c4c0880d968464512119d594a42cda312247c2af1bfcbd2e49f3806061b98bf598a3c7bb9176e023521d9837ac5663cf5010e9cc61b2cf5d1b032670659bbb120d14a825891f2c987e70e985bfbaa52951063dc3b58459618a6c0ecef480b4151efd054bd9a8a1bb37614bb5090a15c54254bad8ce3e1e5aeaddc5843393e468c7f71e36b128fd75299eee3cbeffab28d13d3af6f7de9a0ea032a77a73350e08fc33d1027af37d7a437cafcbe25f8e2240d47a9a8eff797c21b1a97e2077c16c3d3451b366cfda2e98d061df242d5bf3e10d65607575668d8352a04f48851168474a9b6f354cc59e987dcd61ffc3efe7019eed6db364a02a68911a39e0748371f824f10180bbaf2bc737bf82d682b33611f15e8630bdb619bbbcb9dff58341012fe63628c4b7ddc7c33cdd11dec9172bb057ffc13c6a772ba044bdeffdcfd2dff48d3577d1d7489b0218c8c97967a63c60500c0f2fa5a22714ec268b3ec9b616c25fdbf9fe6933b5e36ef4cd8b0b9304b23535d4213862b841e25983271b21b7ebf146eab7e5f5745c6dd6af7268bf4650bd6d0baae15171f637abf493f65880a3a2e2c18913c07835f143363ca61ce9705a3b21d615f79a32c960550dddcb480bf4468c83a9a629d5985437c1bc5653c23ebd93db60dcd032e9e6ff85a9a0bd62490a4de0775df2a522e180d6f2240c72618ac63e87eed701492dbbec8c6075f4e99c6709f85cc0214097c1671c9140b2a60281bd492c1520a0d063c780bdedf3b25e86305c1d5a0088cb5f661e500780b615fb4eb58cf635ea5a6d6f7e870aa02ece849e44664a00a14689b6c2aa735086950a8054060be1290b2212abcf43eedf2adb146ec9a8676be3dfe082022641c351b5f7088bf448ddc2837439cd114c3369bfdd8d967993385c2ece90786191a6d932f30b30f3b287e3a4bb19ab227f9caf27d1ce1bb926031885f4eb95bc71da531b2ed55573be1faa132267c9a50601f314c61c306d9105b3c591814e51512be2bdce13f6890aab545dfd428867d7334fec54e3f318bf870438b72d18695221e00d93b7a6ffd3c36e4dfe0c00581178ffbf9921ac90bcff8e378828c532e0df612ddf66f828c7cd7efa50a45a59969af85aebba5ba14781182edd2ff788f0373a180b6541f7384519531cf0cb44f4dcb45a8f61c2544743c01bada279482192a0e4a5a9fd699506497b76d1a40874bb2ef3d4b57c9532392fe1159986dc80bbb62b5b4cee5f8dd1621f4d7673f5a9239361cc0e9f0ef60083703b03f111f0f27f93d001a5a05b791df37432d3efec5e3911c47168d4cc8182ad447de1c7e20b5f639c35d30e1dbceff8d09001e9689d9a1966c0f1c8fe2f67c1aebac51ae1e9f496eba8546a72d06b594543c7e6141d241d141fe1f0195a037363102a759187051e95eb455b48e2103b60608c1dc4a34038a301d80a4b82e62d5d9ded8c62b296680e847898f489baa7af03ed4a9d2c53336968d54b97292a8fe203b7d8b03a7ec5f659b2ad474b9f93999f545ec622896395f67a79644e345615026b5ed056f9e3fc672864f23f35752e69ac30052a5835f68e3a02f8e703f3b8a70a2780faa5e487517ff91d63aa2c37261053591fad4e5a048bd1accb3766031ee92cf0afe83cb432307a4abc39c8b35a34cc011ec09b2a7ad32eee5cd73007825d4f503c124c999e620527614decb6f4798fc997b4b243a3e9f4742a3d62069b6c06d11d7cd5f2813df84f748427485af79f38e27045b2873cc54246e6ffb571331fd1347981540301455b6885f370fd9ca9cad13253e1d3dcaa0e55465aa89cf2ae8284aa0daedf0aa36038c7ac181177e2469cee137f3ad02072bc046edd1b4b09b2b247454892b6504a0de707d9a6b6f4b6dc1535344054839fe8f96432f3cb4ab1b81132c9509766e5786e2a3b2353912f99a8de6ab274e219b4d0d62a421c3752665f2a0157dd8e6b7c453416dd37634e8fb40f6b2127fe6c4ea78cdbdd52de321ec75d2d4df0368a70e002a7d161c8034226426f70ab7ade6b8b66e8b0f6b0d15442d8c642f58e981572460c79c480dddd354e179b1012e62707d0326c73685063f9a65fc96d79fa903a9330a7de41b77e6285090b6841157e124817fec34d1304b57c806c0d1dc5978c9a2d6e325db0352227d6a13377f25b7b391d9179f9a29c1ac217e37bf4058df033cee6d06fed21cf5f73cf62b106c6ab57dbd22f80413b881cfba645faba4465fd3d327058fac45d9aebbd8969851e17a6e15b699591160e4906650a59ecbb0ff696efe8f48044060f75c5114ab74e1385ddf2b17191c417c2be3614fc485c36f70153a3c6058037ab4e591aa7537f71729892d0987020c215c2f8c59eb16335d50c2fce1add43c8386347a71bad77ee2dbfcb90bee180af974480bf4a1efb529f6850175bb0364cc5fbd0663e45fd60d568d5e40a21ba2bdd49a20727c7bca13c4648a89718ca34a78e460d683e597928f8f9b225e242c9c71de273c3c224afc193408baab242023969907e53ef556fab9703fb2ad26afd0864ad49409db7f97c5c089973af6fd8f88906cf876826871310ad5520805b40c6f01f0219017d151e6a6ee4f8b20bb78b97db6ebef0ebbf27e21be0cd41eb2d0c3c81f1fdba3d3b5230e6d57347ad1bd44852ce9567ec9c68cacdc054c1c9eccf0138d96b94ea305aace4c7d968e3224f8817c1d5bf4c92a0191d322991d48eb0c76847ae4234a1237f6b41458f32c9dc659c41312a4a6042785ced735109f86d9fa125c8e29e3d551876b68b2bd4ca1bc8f958965c7342707cf95e5282f33c0b1f034fdce935d16c3b90cde68284681caab305d9efd0d52353bfacb1e01b8ea6cdc559244790abb68688edd434a6c3c41953e7dcc52da4ee6c806179d29805cd73ee8c3e590a2c308923fe7a5bfa56ed602cbccd6e8e77e732ab1ffeb17e42851a4b94d1dc154c140c131ca79cf42040edd545285b5bfb6f2ec5b1e831dec149ce196ca5272895f46d2fa25620bcbc8a504eb3740554e986b1b97c28f1868c8d0a72cbb19eb941d709fa5db4450c8e30eedcd0e8079fd530419882b060ece53c9ff7ba246b3ca439207303df0f21cc16bfe8a2b06e58626a4c65d2fe521efd48fdca05b8b554ebb925ccab085d4276c6f925fa4e9c2ee0dda379f02be080b86531be2483b3637854dbcc08327b55a60762c6b986f45e6124a017845c5017fb9044e2e7987e2f6a6836dcff70ff0c0197cf3dca97a257008db2cc623a525a91b00958e2ddca88f9500ce2a82eb2852027365f6f12bfb14bcb6dd26aca220b5c67f76527dc9d58dd7ea99e4107644bbc9b0150b51889243210d5af2ba781a6d4a7414d35b3239713300dd184a554bb4d734326792edd2d70fd10a2efc622bcd2bd433590d272479f6ff94b68dfc07cbb898111f5012c4a83df88e4e11fc0f040b80a37c6673e9d51fac64764100ff8a5aa4c297653519612dd68c2a180816003889ad56b281dc5de4deafa9e0baa7adf90e62996140524f3c3dc6e6176125690284f28d8332f6789de1d6f6f543a389e6129b14437ef18dd83b21fe81a82e0752078a7e31c195b43230ffe4e13dc153df69ac499bdef64d8d008a2de28600f4347ee01f43681a4d3bcd44b0965eef5455c563bd0bd8f2b662dc71cd1c2e2377a13fbb12bd0ef700cfb3afabd97bfef43e430322184f4e788dcde1c8aa3b01ed5dcac790c9e18cf598ff45af8e7f2757b60da92f3421237d89a818e79d7a159f4020caeeefc8d9281e26e23a499f0ffac22fac78ee9f96ef628e57256bac28d2d46579fd1939ffc1dbec83ef400923cffbef76422fcad9da10694137a48c1bdcc6cc62b7d62a4911fd463a9f74e4f3472c8b686b0b22156d29ec8f92962e2ba0ec5add9fa140f2f2ced6b00070867c00a7f1c0828dd4bdd8904bdebcd7b705eb6f4890226a8ce7fbba4599c3981c098511b860add2e78a7850423c2e382f0a163d7b3ffab188be0c8fb1d3e57e0d723be939477ca1be0fea6b83d9c0fd540d6fc7097261bf2da0ac186992120e9478c8dfb6857d11d5d0e24609134a585f1bfd4d731de570144f2e088c47293b03e10724a67559216d418d04b85ba24b030cf6ee475cedb81de36674cd3982986062341e7a0396699f17fff41b0919dc4e1f1a9a09215d6714ac1b76980748896f2e8beb4e3bb41501946442b789175b5e2a18bac1eea86865266d86dc365aab78d8f6f4e8d56596fa2b874da7b70184601eae790947e598e586d12d48b9d19c39e7a801abe3f5b89135cf012406ed575c0419f3c824ba11e88224adcf805c982442cde52e1b364b1547534e2a98b6cbdc2b9b38fc86b6f8d4ce0234ffc5f0d533d570d00023d9c7e1dc663bfd03672f0118e0f860c6876426eabdc9b724e375dbf6f0899e432f67d1f51a59c0270cd3f50b82dd92a86eb6c2f6f99f26d48d06fa3be09a46f1db629315611079fdee6728087e8934d826cb52b76f1e2dee90da34810da2017427805b00da4d3d0c7d93731509ce9dcc8b8b9d491d6f01fcbc36d633c5357a70f5cc202f9320f032d86b570db1c0d08bf020082e84e6414ae0a03b71b42e9a1a35d2f7709462f6268c7c73196296419d701c4e7cc84abdc9e9df811ee1e7dd3afa5c4a0227a33dd4408ace0be9f63cf610dec29d6c47ebec97961a8cc82afe9644e0de61a72eea368c79a71220f693a65a205bce65e8e23e56b502ade49ee663404b59d9575841646171520b044c91ed1a42bc00fe040e0149f0946c41ad5f30898f0aabb301d18834f3190569ed4038ac9f0c08564b0ac4a93e3649e6f64d65657cd3aae84afc6e437d8f29c285dbd98dc38a2fab27a5c693fa08f136472be06fee0b8e2e031b47d4ec231f680858c5f095886a824ad1a68b57a84c07121b2afe741781d833466fe9ee9920c4896cffcd89ea4270aab83592907129de181ce591b822ec45ede56c5b38070feccc520c560fea4f093374d16be3c08d6f6b0c9499cde1b7a941d26081fa350760aa13989e9ea8ad9273a77335ec4ec18bcaa3e8b776988c6eb888594f0d460806d5fdce646483d60b5d89fff89f738b5ae472fa66300c340b15a6eaae26152577a6228cfa4591ab6c1ee99dc02e67d6cc2416670249a35396c92a797138f10ceda072c38b13033ba00caa339273fd60bc0986746b538adef59b78a98cb79c0afa9e939336a7d2f6c5fecd7b28c37e7d244d1d1ea003195e1ed5dae8d5aee30ddfaaac24767ce1fb1c9e541dce75fef13554ed1597e8d2789dfd6eb200fa0e2f4a78766ceb092382759f85f7041c21d1d399c00b198bda9afc7f6b04e806fb10284e53398a6f9d8fda7a504b14078e5c036e77597d29ef70137c6998c6057f11139bc6a00d7dad45470cbc8e00cffceaa1a18b355587f83f75f05209e1914d0a559b7fcb45f05951079de38d7c520cb3133238bd34da88799fe0169717dddd1836bf45d2fde87fd8ae91e846f3f548e926c58845966d2f5a8e3ae889774fbd148a5f727f5f2656291e847c84461568603db4a91fd1db617bc3077101ddb87c1c9b27b075b6fe98af8f61e8591b58fa4dfa7b8133ca0403014e39d52c0a7114006439e66454bd236ef58895c8ba415538cb25a439672e876793462dde2e6b3912a1ed31f1ec837d97c58da25d8eccc0020f355e75e9d0ddb9d8b8f20c5dbae300000077","publicInputs":"0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb4e30bd18f88e1691544daea4ab46e1cfac0d82c97ccbb9dfb5a09d0a47efd9de16c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc967b0d22683d31e5b17e35426a3d6734a706df32e687ab5239d9f94c6f781ec93788f5335299e7824d699b722d99f94c8ed3a09014fba85c2a284d5019e3bc749d"} \ No newline at end of file +{"proof":"0x000037401d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb00000000000000000000000000000000000d82c97ccbb9dfb5a09d0a47efd9de0000000000000000000000000000000000bd18f88e1691544daea4ab46e1cfac0000000000000000000000000000000000000000000000000000000000004e300096c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc000000000000000000000000000000967b0d22683d31e5b17e35426a3d6734a7000000000000000000000000000000847ef028539261225473627ddd0f8d18cf000000000000000000000000000000000001216ceaa8b5174d1cf9735d7cac060000000000000000000000000000001b55a7b492f10c0956c2b057f45069ab67000000000000000000000000000000000028a596b117f20bf5fe81a3fe27928900000000000000000000000000000021f20a78cb627a4ad3791652f224adff3b0000000000000000000000000000000000166403a92b86cf8b3786c6d6689bc900000000000000000000000000000054aee4df1be0aab6836278b2e07b6253f500000000000000000000000000000000000bc879c8af743bf9fe8cdb9edf641b1230f3240709381e84dcaef98cfbf65d781b584d8ccbfe86c67ade9d01f0d1d62349c9fe3dee70a5deffc982e456f2e08452c9cb24086d2051d6d3a31dcb5feb06a80455cdc287b36e71f3e7cba51872aa6c8956c82691053f96e283cba283101e6b727abb948ffe5dd37332abf949c841a3579018009e22f6843853710e133017603933ba8842f87aed9446150dc346d51ba93b3fec225511b924cbca4122800aff736906500019bd563c31f395a941de6666bd00f954484288f6283f2f6f7f193782db7b347fe2cd790ec1909d637cd360611d4ac4098134b48c576ba9d68115282242fa373432e29e5434049fcf9a19e6f6d19713297e90ac2ea20c3248852274438d5e01f4cc60bfcfd214d48dc18f59bdb6a7ed3f5f4ad6ef326dfd1db51e997e94591c00c715af82249a35d5420f1aaa2bb1372e6eba18c7a6224d8b5b014cb5dfc1ec646156de9d04768fd6a2a5b7e1a020f879c08f173f1ee3a9d1b32fef96cdab484f2f77d87efdd805afec744e88a06892d542f25f940e2039c9a4216d888dec263852e9a12c298ef408f500f571bdd79b46e3a49a4ef7492ffa3b093d108f129bc8fabc56f1bd2f848a51a29a8499cf8151d4e214ece3c00b7a710e80b0a039c8ed59e60e692cf8947b4cb3b67dafc6c7599349e11dea41f953251e4576ab418a0762c51b94b8b726c0191b9a9fe8deaafa19a763172704b9c741197aebb65892636d263b557f12f352eec433d9e52b9f0360ad000c95507f7dd016e962bc889f3cbc9214f0376e8e056e64000e634e1a6d3096e1e8fe9f8082312e21e6d94f1d49a7228756a0b48c87fc8e0a9024a18220db9aa3bf5bcb0883192f5f8fa9c51f62b15af530f829a3ea8438eddb110db79ea7c319bab353a44f532e18769d01b08b50430744dd274abba184186d0bfd3c1b6283144bfae15c1f5330635e714739208da837a09cc6548bf49ef8c062586d248cd1463fd86b0917b00424441ccc83e278ab68e9dfbc2d3b886cfbc42faabf52a2604e9dcd8596bff41636bbec86f259b2bd67479ead9b4aba8a93357a5c8060e949190d49e27adb980b76d2117206f8a5ecd1b102c7b51d63a7b40617228d75fc4823087485568f2a2cdae7da65634e3b4b0fd5dc25bb70823f701c85d2b5e91d640b654a6b06a3ab103648e577a38aa655e57020109e7e58745728bcfccbd21bc9d92332d81af9e706725153301904f2f2f89b51d46d2c41c89d4cc7e2cf4754bdc53b48232ba09f0695bfd151f1f8a0dd25e0bc5166e0a2ea6c7aa9f46ed8fb66a4609b385cbf47189b9a278d4b181ffc40bb8dc3d04b6c27d85480ad74d4f41f3681f992d04bc504fb15ba4f248e0ac1663b5c21e90a0850ebcc6f6890c5241c91860a6d65c2ed080975eefbf10b40ee825a3b1ebea01e4fd3765c41ef376cc517daa33374c13011b483f96780d7b35f09339eea08ce1d1745d4f02c2b307d9a7dd15c22079fff05ea1b17bb0699f34ac1665e73a08fb4102d9f619e889234104501a7dc81fe10270e8eb26dcfe587d05ea86e1bd2cf7f473d16f5c86017d990fd2ea9bc26f4140bd0cfbe16eb960adbb463e4189316cd4b050dc98d8c429b27b6946c3e36b80c0750e4c6c12da827c39aa8629e9a00ebfe52fe8cff2903c900c94894d83801d821ca58e309cdda4c02298081f66f63986c907cdd945ee8e38b36657e629809331fb9b317be60419780a8863930401073817d8bea66f9965a8c1fea2aed5e3a9a2c71d074e1be8cddd55fb3e7c4542bd4cdcebb4bca1a918f08724b8a5d7837c425bda7eefdc26da5e2e276006a0e3bde51244b367b91345d07dcdf075d920eb504f9e3d87b7cf7af3a1fe71704ccd3cd1649fe0225699b5b52139ebeff6c356109f38d1d029cb870c992752805364c021ae170758e1e9095df679aebb8d900aa1e2d347f767481387a099fa34d17b826c2a811e5e8278f10bd6226d8325c04a4182fae94aae2b8a35356b9216fda7a97435704c0d75b2d8de462467e2e56be9305e40a0e57bea2ba7ce90153e456f2b973dd3570c0c3013b49473b7a4642c226273b0974f765ccafec8213c12d5d6fd61c58a3c27540bbf2b9e727ce8cfc1a3114d0561768c28b8130e5e838f1a2f010a00e2e4ffebab8764089ac794c73a0fc0138fe5273e80d6ee57fed97cfcb8b2a6c728aadd1e979a00dffde8b57f7b5fe05f87ced5cdc0e75820cb49b37e2ca1f97dba23c23237f8161234668379d2e511c6546f086f2758e0df88d03f820f1802ecb2da684859b179ecb35fc21054c9605b094220562896abe675b9ff1678e66f2213e202dbc7198471f8c17f984897e2f9c66027cd8a8bfa36246747ce6d0cd5db6a053f79f8157802823e33d4d43ca179d24555a9d788b681f091697992bbd20c1f34fa5f7fef61a5c47bf770379881ef5a4c6a1dc7c15962ffdbe9ed0eae175d472ab0b631baf01b20eb24950fa7a14c7ab41a9d06d3c867997c64a37e29365db762c2e8298cb2f3eb6695205cb512f74e148268134083e82bc60287af30a3e33935523f74c6c3ae553a9448ad66f1249977a6c25eda4a5395d1aac5c7d5d3e9adf60e7fcdfd66aa46a656fed8bc204ec6ad59f9c88f9ef6f8b44fab34cdb5f48ce14a71e355877a265c59e84f70f1577bd08165a24abc5d89ffd9b31eedd510374639003ce5d6bf0179c2a58e7a10a30764f62bc9e9106a7bd2638054e45b2b77c81c205f614ba4334c11420bcab1f96dce8aa24acbb6c5aae9ae7863a52d7e7956b4e22b7003c18fc1afbdf96c02a67f8588cbf1486118b8428310187b584295ecfb280441d7e01fa2b0326930300b4665c2194cb0103f3e46a8c1dcc0d7dd448c47dfc0f5b2e3dc88ffbfcc7ec23bf76b3f5f6bf44bbf311cc41594db63544b93d14bf7f3c65fc6b86cfd4e65013c7c987f174a180ee17209cf420e790612a74f2ac356f674ca54f4ca0b8334324f6bdaac0c9377beb80138d20e17b7a1e2222ad37a0f416cc9b8bbba4f0c9ea2573ff282b6b9b64a4f808ff6aa5317ec987ca06f5c600699bde6ede4608293322a0b8d9d72b49c53a0de6993e301310f7b7ba8b92a7e5b5c07cb00cacb1dc6f034c39b454ba40df58f09545fe26864cf6cf65f8e59ca32456f4cbe9053c950c2c83d5c830d7c636c0d3d5fd0387a6c23bc0b4f22517d1ac35a8df9794d4dd000041dee56b9e0031f77b25ca46a884ae6df09decf0aed625832f97b3ed970e06128b10229a3b7f38aa50792bc52b7fef704a8d0464ceec284d5a5a272963960326eb718dcf1f03c08f271ad563680064f975381ce54dcd60b11b4232a723c77d02c3654c4cf8eb3f5f98dabe1ce91fe51fb585f66400b76ef886ec214d3d4e1e0322681bfd626f3f994153923af9f6aa279bf8b5917ccee77a2091366b8112a20d6408ae20fb63fcb64a1b1f96e749088801384caaa3830bca35d714e917192527667c80833a84ed70b3bff2abcd9b74e1d9e2f420b30f8c400016024faa696e18e740514afb42f9e98877aacec29aadb819ecf70b5c56c8261593c66957faea05b0c746cd36940c78e330d949827586976213306e50ea6b57c7a0f34cfe02b322b5d053ccfdb77b07b61ec65a33cb204c2aa9ec425d936a4ed11f709930db681569f38f6d04e66fb12e579aeba8fa1e4c6d00ba09100818053a7021ce6f81aa11fc375d0800714e30050cbe3ee25939c3949ead3ec9d8642769e0e5811731931e8f39b443e9e34d398a0dcd7871c1b54c1065cd66635702c5c7c3dc334d5d171f84b3c5f7faf0c57b0151193638465707a88e6b54fe235297da592540913f562778c2e80a201d144b27d8da7ca08ae99114c6a342cc93c4d941998106b89d0124aa6c77734f5ff4ab381453d934e7915ad634c5dd113248db818d9506e3136113496a219b7e1b1d92c1e34fc780f4b87e3b8c5e765b6efe6f2832cd304a6757030c05cdb6bf6f0ef20373baefeb765d5778fdbb5e090cfbc48a8d80c123f09d06f9d083a8fa4a99f47c6a2c54ab9372bf9862625c1df946081f9d367f884528305b15dccd93a85fe4ca37b3ae066d21435dcb4af0cdbcc73608f0fa5ad8ab1a05bf5bbb7c9927f31f03fdf729ec3084f162065cef6b225d223dd0807ce45cca1fbd66c2fe4629404099b8d781bd30e747ff602912ac0d2def73c734657c59531e2d7c3a9f9838022a499570fbe7c86adf0dc54d3f2ef1fd2e59e1d7ff70d2d4154fb270fbb70fb71c0a7b077befde6719b3e662505bfc37b424f6e1b8f0633707445b04fca697d2b9e029c8be3e6535967cae209d1957d4f3bf93e44989d1ab04531aa2a2feaa2bc724675123d1dad0fa2411261528f9ef91782c22874359722d54b62174f2cf4fff40a0aaca3ca3ef4e44a77f66d862d739344a921c7de1fc00a2ea2597b2e29a0bee5fdc657683ca7d1b5321979ed7f39c71c9fc1d9735db10895a10746389aa7e8edd78ec20bbb119248babe90986653acfe640f8d1c4920937eb32f6292d3c0b3e7d2817718dfa934f44f7c269d9673b7254e4ce8ef6562a98ac753ae9bcde69d6713862bce21bdad75e7ed259f93872f895994dfaa79a0363c5363d78f373455a8c0f4475157bb5fa469fcaebb22139e76030f75e2487278071ee51810df76484c3e5488185a33ef4fc2bf59836e567380928c02eb32c29dac2bc2f2d13ebe865a01e8689f9da4f0a08c0ab617a1406ae0c5f04999a001390dd0a2751f743eb8bd4d33eaef53131c8fd4fee098d20cdc00695a2396b5322cb1738ae736216f1b114db99e990dd5a2bb76705c6bccd139fc870b61cd610145451f46ce92691259b6892392d3ba0aab9726d396de2c4bea7cf6b1450eda9160955b7649d7036438a4126d5833d623be71374d649edcd468d666f7bf1846b2a161e6b99ac0d07d99b036bfc8d4080c864056fb4e38495bffb08e7a8049c1d28c63ee84b975624c39955ad785b0ce816d90ed66528553652db5e2da27897d822b26bb9c76b3e415e61dd145c2affee307fb4592784e248945b5e0057252ab61b2d4a7e39e47c1816c336df6bb00bd1dbf412fda941a817ca218019c2c449110415d5fd33c28b8c7edd9bc9b2d3b743698d251c79f09c5cc33a628c8ad4d9350d4132dc90c9c9e95b4003c6692c738905383ef21317541ac6964f45dd7a53482b79be7a28ed7eb33ce70cb76810c0b763a8bfb3b8125d33722a8861e977490700dd3a818ddf8822c9531dacfebed6a473a599287a7846fe6154aad3da7592300bad6bb710bc2e6a04fcba27ca9d6a77f565b8403f117bd5a28f9e1b453cb2a51443280aae14725582505c72784ff8a9689a94098869271031b97d84d8b2f45f2e7a8ee41b264085329471deea8da611900eb1f55043c5d5d36a5a8f4e4e40541e7b59a4f5b57e0f7c96241cec698512ff5ecaad61162bec7dbbaa4a0c629745195941175be77f726454231baf6c6d7725951add6fddc080256846033c9556c91a197b65c54f04245aa9356fcec2a69787a79a435bdcc98a29cc00d20624a2d11eb235ae6fdfb2c34d9c8593b0120ff100f9743b27a109fe3bd273bc67dbb7770661ec2c1d931aa1deee676924473a9d369a705944422aeec57db6f3a1ce24e82c60152e5a3308d97151ba03175d333dfd2d9b2eab6e0fef340a07b453b185312facefb814a5e4120e89dea1986c15118389298ec9787570f515a8141635d9660dfbc4f36157c4930c2da472e0193600adfb35d52675d99e3dd3d85bc9257ed7195031479ac64a93edf1f538a263c9a77332cfcb2179740f551cadcfb6061a8d1da6fd89ee8a09c2a1bb07db0a7ed7b927f7c0dfe51af6b0c1dac1d9d3e7bb5c1f58314ff3eddea73c992d2ed7a45ef6117f08a08908b70932b05c72b211b84d19fbec2a4fc61f00a1b509f43347bab0dab36075bdbcb1d6879e5a5e44f2e36c1b6f2df69b90302334b46ee6b4e347defc48efa97e51a0173b13507513cb0d6d1f29f62ae5733e7ea55f71d3e55cf54ff5a82d36cb43d639e4b9143512f018e516b5026876b79528e8f1eb42cbc6b381b50eb74154150a055a1283969878a375173fd1b1c62731daf637535a290b1717d9f58c77b2785beb51e297b4011a5cdc12c6e4e1570f6de5e964d4bedc21bbf440d17ced5b30e4bfe30b17a4ac013a320e87c9ce9358d6846c62f84f620a033b9c5fe48322f0e3de41c6d95350a873490371320681b5d82f7394bcb22113ea3c69b7057b7821b491147f945c7301b4472af1d0661c4ad1713ceaf1543c46e66ab6fcb8a8738b9051567ceb56b2efc0471a74bd19f7c2254cec6a2f10d94853b2bb0d9328f00dca76854f5b1991b851691e50e90b380f8a8842d8939ca5cd5cbb9f1733c533184d206ca54fe766e08427197573d439b29a48e284766d99e59dedd2fd15ad933b22ac10f777d90e081ace08a1132012eff9c7a621f3a509e82c0ba3f33e906cbbc494b83125f9d06650b518ec4edb63b193031084723e98adfaa4cbbb27c93d7b35ea51405317a54b5f481eaac5d4dd11a08e296c86673346757684c5caf3f01fe726d74b7ff532fde7b402e60b0e87d4bcb00bda5813294b5fccd6583104c15b7cef983f5e50510f4ac4134934b05bd150a742244457f7f4315a86cbface176db18cf863931d993bdac31481d871b9ebc4fbf0519e13731e3752238ae7c218cd8a94fd12341609fabe5d2581866e4a7498a33b7ddb54be930050c84c65caee1d7ff803053529f4bbbe732947d73d5abf41824f7bb103d45fc32b34c8c49ccc0958b87074e6c2b7d2b7310dda03396186e4e9694b9b7eb2c07dd6d4a78cf90ec480d5451f6456c2531fb81713d7e73ce5b65e9e9832e13a9f17c9dadca98fcc91c6c98f6ef2f5e480a16d04951ca7bde9bc1aa9ffd13013c4567e2decc5fbb3781af953b4ac1e7934203604e498b26fd15fae48951496307b306fbd413e0fc0999df3c50e41e81e4d16a32fce06e6a58a9a591d7ff2d4b6c12749d61dbf251a56ca0d973d1838f6cc32de226d4b0d20f985cf8983d9360011402eaf888b6ff0ddbea2c9492928b78e35e003e3b54833b8d0d456187c89dbcace080ae7e0b43aa01166b0545d4374ad490318a5d7a39faf93b890e73f3d56f7e1a157ba5bdd1020cf842f33305f40ad3fd420f3d67e4121d7f92f00bb6a2c01087a5560ac2d79489bf1e342d401f8f34dc12f852072b635384e6ac1c76a924f72ffc74a30abb68c79a2c7cbb012d4c6438902539b67d9c93cec8e0bcdf9865d195b7eece823e918814c65213851fc7d1cb42c54f20771c6adebaebe1e10f047fbc64bf0190b5960aaa9c32c32d68221e6c001bc9298f33c51f0a4ae2e1c1ad94f03566aa814ba1d0487c0072a3037381bd907988c3cffa0b252a9e72b677a6b64956e1c3ccdfeb22201ce22f134144ec63519b89e29b8776018eb8d2b7552930505eccc7d7eefd5c015b5e2c925a2bf332c17fa59aad8bb54fb28a03af550d2226f3df5535bc4f1307184b2f3eef1cb9f0c1bcfd9fe92c11f0cead04c3082770666346c66c406f8f924509e8f588789f7e103a0042da54e90d798eee38370fe5e6f32ff8f5863fcc656cf6cbf5d211768880430d1606f1d3c959186790269c8c619cf203ee69271a570d932a75f7dd90ca51506f2dceb63751cdbd75e9b9923deed45fe705aacbc0322ad09065a332f45d5113adaacb5855e823be6851a42fc65a450e3207e7fb8933c043b7acfe8141e22294db301a0bdb309b263e452f45b76ce7e51033232626e7b9bcc781f34a1ad891a7863c5e21470084e2a46695ae3e7211b2c69b717ccebc5ae03d44f6eb48b551a06ec9aac1734b47e22b9b79a55cd50f3326094514e79204b92256e5a33ca520679613333f74b7c147b2af2ccd2093e4d58dddb06129ad1f5a02af3c44b324a1d908d0b1bcaaa5a72c0195a9ef8f98280861bcd1b58e05c3871307b77f92e151248b8ac6063e0f8839a77a7d98606106988ff12870041d5c562dd077fce999b2e764223c913522f4be6986d1853091cd61cb80baaaff0f7c649cbf4f8f079fb1e850a548c9ca1120092178bbc5390a35b6a85cb627b6ac30ca8bef76cf24b6122b85885ba19e48b21b9eb56f70734abae2c7431d995898586bfce75dda17aff250e6968b574b21610b4835b34303b3246541215c71d219fc2e36211e316fbe722e3303b22d73d33ab2f351e8fbb0c2aaf702d53df5f97873128c29cc7d275bd20898a9803b56329bee77ab0d05f9981b4e7e54177ff2999db00b8c9f201834200303ec7d0955b5f395aa53b8cbe126b9b352d50514b34688223f03c17b00b501c8762e1c44344325fc5a1ec11ba7593fd06a3db105c97608c51dd42b2a8cae2074d2c7886df4ef332c5362c07e1c6f8006bf661cca91aab99418668fc5180f91f8d38680952f286b84e1e474e1e638144f385db37c6b6516d69aa8abe09ae6e2f098127f71dc9354f80091c9686f6f03099d409954522684da024d8b14d57270ebae3aa7255a3d3e0b568e0269e41886819fc89bc5002366f36c43a2ca269202378b89d398099553c09c98195a44003919252ec98b922bbfcea7f56d5cea0c90ec41550fa9e57e2a1112480ec41d51d46d16da89809c30044e710c20335cef8304a4c50425b1ff0c04510594222e1f88009b9bd3bd29d50cbcefc76f19bb20b16981bcf821cdc4a5fa276f6735c7d7c19932a757ea7a929849a03da50d7dee81522b3c346f098d9b7a0687000a0b19c9b25215a97d8ffa26c64f9f69bf9dc422c2d13ae924c9830523f113d6f6b74cbf578ebf9387643a98a04705e2c58107913deecac5f62013746f5a7bce6c05e2ee82e2797cc09e494c1f5559c726c7eb324ef72f32baedd84d92f44424609f41a0417f3b82695f65a7f9135ec5ea377a821624a1badea514b298f4b6216cebe76e7e6976e90678041e7a15c823883e2481386a9b070b0a081e5beb3fa2a7fbcac9a0de04c1261528ad8796bdde20891ec20352ad5523b8e808220fa16254a3daf7a72b6db2ab247c8dde97ac3db8d24d71bae4ebfd0a1e3037176913c8be42a1fcb123aa50799d28c421801a14425612d2c2634dde04c6f955e793db42b36767bb438bd35e419194137b9b7c4c261aa1018397c930334511e764f80c51bc6e79f0b4462de39a23b4db71f8e1eb0904b341dbfa71e50f9adea17d8d2a331a66275123faa18af436ca773b936bbb0e63c080ad5059e6b3d284013d1e3c15af021bc94aac1a6e7697abb88edffb6113d82ae18d6ba390dbbd58531c1f099d6c2a91c2ccf4626a140121930eeae06b13a296b2e1a80702d7efd08afb2818e28e2310d2315d9bea60605735321df837577b7081764a3989cc367c1b316c76777f8714759c8d8ae497274d0781312073e600b521d718762bce44836bbea72a38054cc7e75242b6eca88091d8d46fb04e28454430c08fd25f2857a1f3bd2f5677993bbcd470d6763cba2fc6529ca40e1d96752be033796304b5b95e2a75b7080446dd476faa6b3d5dd959b2a76ea04e0eab9a4f11295ef502e9dd29830d129d31d09e6a856587d36694641f7136578192fc573de0e50ffbbc8d4f0f0bf574344165b95f4c1c6f3362e6ff3610a23ee5daf8bacb21014126ffcf166e5a1c9ad60e3a82223f2ad09794818aa7ce26cb347873fe27d0ffcf63fe400ff70dd51e7233cad2a4d41451e258f0165494fb7d61c7bd574330846048901f46b492670fd05b2ad3816ff57cb9d9e1f6ff921ec06c93763e31f2d51687fa9ded4f81462933e455ad73f7c4787847e7e77c3cb8cbe720121ad0a2240cad647b8c1b429c25b22b90d889dd76570b53562bed0f5f530f3e28d62f020515889858729c101eb18b2c3300f8b5dd3d97628b828bac9783dadf7f3657a2029ff686851d8077f3ee87258a65073c3d63120bd355885347768b371dca45618353bdad01c3bde20d5b493271d06da4ca959689c8df11ea1b1c99cf26d90b8066fd2b03540cda23167f7eea76fb631e86ff305192371a0da4fd9fd331d97e307390316a7f296f64d945c1ad30edf4317ad680f2913213707e8ac1ae138c4f91a371a5e43d5848ee4c47681fa0443b6c21b1340b8cf5da35b64c7508b61c69d06a2ad9ac09742306975eb8b7af69f957a9debaf826cd58e28fa1004d7bbd6e60d847ad494dc8e0cd3579bff0e137fb087c143b70823a5fcc7a93f766055acaf1960558271a9f215d584fcd142113cc7dff6d7008fc27ad5005ad70174789bba1674102f8dafb55e53215eb637c6f52fda2bf9079b1e16402e13ff06261f54e71131fe16f0d4cabaa3ab95dfb593c1ac46b009aa7ffeb71fb843d57ff74908db1d64cab3080aca8ac059208f489a3b9c0abc83cf22e0526df38165ac201be12d13f2b581bd680df45a4ab2b69d16b97193ded7b829232174abf2b57b0d0634f306cd52b44e0514365fe138adc09a9797b7f962b7a7d5c4ed2088d4711ab983dc0eb0f10cba67009c1487dd4a178ac2477fc8f06efac26b22486494d53174b5a507ee53b96bacde952282fc7cf40fec74f7b2c8714d003734454eae18193d5b011bfbf713887ac271705dbbf52f60b798aab781e2e0a9fc18d95090da3604142a2ebce2d5f2cd7a57b7d271d6fea3045a5134a7587e79c5533eddffd290347b8c198132af43c7255b2e3c57b50cf087c2517d33ff84e72bfc3c34c3fd0b4a0cc01b1b0ed73d26eb9eb95cf650963371db6a35efb08f1654b464cfa0b9f0cd34581a67939eaa7b9a87b5b502b3ccb836f009eb5da5ff71db980ba9a9db2852071f3031d0007a6721f14fb3c74f535510d77046fa59e8a13a9f333737cfa8cbf0b805443687a8678321e80ba8c4a77a671770af4112ba8e39fdf475ee35d44e708703dda51b5c4c74fcdf54ec9c3b49464f575875a10f36c4e6c13203efecfab1391488a4a88eca9ad20d99405eec8aecd8a0c13c2454ef58a6efd94123780545360945c2ad36da244a07d55f4879edf37a113ab04ce5497c796ce07391a6e0a8a200d866e9083b19625828fd093f17f19966608756af95f330cca23084c49eee3d1feccf20c6c8285d537fde29e6f63ddcfffe7d3771ea8e0f709bc6b5b14198811be0985d0de150b9148d71422a5fd35623ca1cd8f93a20257e9d5779a505a89e01483712fe6f4d547a8b799763f0d3bde623f7484f69d22df5ba1586b955c44328daf70c164ce963f1276c7e24a0350405a9f2d54d60494c57d6959228ca64f3232158736227bcd1d79d18da4c0cacd4bb5c53957b3f1032a56a98ba00ec555507c9438105f9d9ad8b33f42f6fbf22c9ab3a84fd2e7fafe5525fc8e50ec0498a303ef9a74e7a0eb4ae1a53e132705d4bc208be2636689c2998577ce8bb51c3441f671a537fbf9abceaee7e35ccd96ee07ced7d2bc701900638e424227181e69c2bb7dc0a249fee4c9f98f70d6596491652ccea30e160d58096b0afc3e52e3c2616c62bb1714bd91a9c6f067feda66a9b5f908937c49a431aca4c4955c3c0598f2d932c84ea2bca2fd8b61f36ead421675b5ef3a167f49b7abdff33ae0e5bad421d2892726a75557ced30eda4664c666823c80dc865b1a95f83fcaa826f70036e0f2f7d8cf457863c345b08d528e77a9257f83caa6c04149f669254d3db77c67a0720e9a75d57691708f36591d2185d1a1ca61d2c2b3f47ebc5b6cdb78d7b4eb62fedc57fd72deb59150eb40ddc4bf5d29b055f6d268d9fc9c13a65225f44c704108e1fd52cf5d81af773ae9f2a23eb6177446344032da5e60f67aadffe281bce1985a46fb23f587de1d00cc981cf892f8d32a4221a8d8c0749121bd43b6946b81b1380b588db51f32a9d09e7f2189b06ca68d0e69545aac503adfd83a29bea9505fc3afeb9e11d0b9c618151163dd979bf6a32ae403598edcf68dc49ad7061061f63e90dc541625362963b76fc4b3bf9760b5652a4e78668ff02d83fa40461b02ae7728202beafdbeb841703f467e0d83dfd909f3ecd8be5b1b07901b1a062e100a4b405d0f8b75a1dfa0ff99310d4da652cd13131013f7dc765b6a8e9d45ec816bd712d321ddf8b167bb515ae04433acfd143d993b6fdbcd5364668add4b0d51b0c9a9040babcfffdd0add341551392856f335b913218d88b0febd958ee965717fa8876913b46960863ec32ad62cfdc1eae3770c76831fbd6febb4afbbb1424006c806b45c000d89396bf2a4dbb46f22708bc4d65cdc68d28fa7589ea6463bf1c8742d186eaba1d0ce77f8fc6e56cb297bdfd14f476eebbd4d7ff496a90f66508cbcfb0d0e332c591342db760578687090867fa35e58940d02148b31c6521900b01f00dc72389a9a05893c6dc10473e244a2fcb0590fb8fa6dc65bde2bd2e1d1b8c8546c6d65aed1f2cdb0bbc20bdfe2c9f9dcbd469a1fefdf4ebc21b40e62618b8333b7988aff9ebf25802e4192a698c396c091c9dbd4e594f3e852b40230e2d12ddbbdc7bbe0dcc785f0308036aa3b6ef339d346516ca1ec3d8e155f8be6d08a1ca67b2358f2a8b758f47783f4f34f974deea124920b941068340602efed12f7cb373868484322b652a77bc82f8b2ca3ccc67610294dc83aa9a9c04eedb701d7e4a736dc29b687c119b55b14611670921a946fddac0a9ab699de77632aaae07ed5403f182e4e202051fd4ae3481a221319cdc9e6958f0ea147443de3ab25222b405289e0d05addc5ff61ae69b4cbc069b9ef27a9e3ff37db6b9a4a118c7f5109a0ec73359a8bb6deb507b98ac8da6bc7e1f12b48b4d4f5246eed25140c2dc00279899805474826336b1be018b04de37f82bd5a088dafdf7808141749ccdf002b5e4cb9a33758415cfe2d15a5660dfcc18b1aa4e54ca184557bf30aa29e9cc14946eaef239d83fb7bebc340078e94b57cc1648d78853ce51aeed5a8bbc18102fdcccee178f1c8da645b121e778e5c8f1fc8a233daabbf5bea172cbd88df97b1001dc0612a38c7159acd4c8a3b75a383461520772cc716cb4f65234be05d65c1f1becb411fe5519cb8c9b022b6158177bdf24d65aa778ad0893b1628574610301767d14bec7bf8ad62b4e3340733cc005a444a934b65954de178e59a1c1f11d1cb3f177b7611fc98a0e07dd6e121ef2079c123523b70f976ef5c695c2a798440b9d458bc50fd2745afcac4f5a6958c7ae814dbb4587494b7494b98719507cac0bfb54d3c82395746c616e7a25e63005cd5948fcfbbe3fd8aa9b21ada39223b12d40dc8bb25832445122349e3cf9ed7795f942c34c44282f81d40a9bfa1df4991fee2598345f996ef808adf1b0ec72ccbe17ce688b520fdb3e84bea8c57699482b5d90c534d4c0945fae2deb0310b36c721c490c3536ec93d79aba399967addb1bcca91827b54cf3479b14fa93d70995c94006bbe9b0af7601eab7830612c50218eedfd48b3a229ad3d345552f320120c3e24d9659f423bad70a9be3aa3ce5e00b22b2de41404d37c2ac7424f13526e37ad4042d640c31cabc57b24f72d878f800e2321600093ac31a503ca1c6090c767af78e3c26cb3651d9d49d33c7a8008f0a7ea8c1963dbbc53d145130339a98a79d839b35fdf84eca22619e9327006912196203b3e22a91c62e181baaf86a771d1c39f0c3d0a6c4d2014280971ec22845064bfe5d8d67cae71f725ea8c84f87a127d7a1178ce290e2040270bc41f9ffb71473351ea395808ac920200fd04d484b7e502b6616ee0cfd96c3ddfd6c1cfff316f4a75ea09c94a3ac11d378a7598dab2bc76e8ac09c9a82a2ec47df3b0bcb572c25b106bc37cb71ee911bc841d489f2a0b6d4a9a1fde23d8061800447c0306c18c109f10c4fb3dcd9f091426b1756a8ec97e7c1ac79dfd4fc2b3f89b47bd68a13ceabce414bc9bfc357474d300e4a28bbe77566ac14f45cf07bcfcc9c5d6cb01082800db45568f8f11a59e79eee0b6680d35854cf0cfba4a362593396adf2b008260c014f79f3204f63e0a3f479c38c014f3121056f12133c73b662602f497117fc6eebe870a9cfe3f7f2ef654a6eeb473b8cab1c9010ffc2f1b62ecdd779200bff45b80e8575f5dc4e9bd8ad5b90561fbe2613575753ba6d898612895bd5d628ebb7970d821248fe62e1150175ecd0dd008360aa2df3ecd508ce56f4d738a3206867693760649d25b5e8443dd1eb6d805ebd783fc013fe6679f7af5ed6b2f22b7e66648b897aac615564c70cc97dd10c15c5f40864272a5a9468efda9fa89215dd201087439719ca9c03d69e7c8e289e608d099bc7e1b42406a949528854a603fac705ac5ede99fa6695dc1bf6a08205d92b9a8a768dfb3dc95e2bf73bbb16266cb44d88254c241c0a335f5b0c90f49eb6103dfc6184539d67aacad913a9b12d28f5b9a39430fc5a7bf54c8b12fcadf2f639d01d3559090681727d7aaab1600e6de0adf471a573d03b40b9c1b28e3df2dace28324398453527b8ca9c79b5850037087a896d4319291b0dd22eebd0cae462d8669cb4dfaa864a35c9df0f356109645a8a5a633e0da0b88e0686ab470d03b26f95b0dc8bf6987fc721f6fd440500000077","publicInputs":"0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4047fbe8e6ab5633664ebd80615a60c25b32093ef31ccb533d403ce748075fe5b00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af0930053eeeca2750c390a6b05c04c3eaf7148eaa37fc7f4677b1ea5c58207d438d2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a1eb370e7929f0aa3638be832f05670dde96c539c0f377410bba9040bd0b1f281d963227735128f9f3b7d68bdc36e40df56b99c91d4490af4ad84d3cb072ac0000000000000000000000000000000000000000000000000000000000000000009d5ebb50ae6bb050adcc9b3cf872968e1aa337634853aafcce8e9818e94c25011df24633b43c3d7346227c4b84b70d3fb6c9fa5b2cbb698f5d500d60456adb4e30bd18f88e1691544daea4ab46e1cfac0d82c97ccbb9dfb5a09d0a47efd9de16c6f7ce44c2b7c5d983b6d5b05c9ef1be47c4f5e93a2f99c3a04536c503fc967b0d22683d31e5b17e35426a3d6734a706df32e687ab5239d9f94c6f781ec93788f5335299e7824d699b722d99f94c8ed3a09014fba85c2a284d5019e3bc749d"} \ No newline at end of file From bc4e52f58100fdd17be3ebe7732adac82040f9c6 Mon Sep 17 00:00:00 2001 From: suyash67 Date: Wed, 18 Feb 2026 18:31:01 +0000 Subject: [PATCH 23/24] comments. --- .../src/barretenberg/translator_vm/README.md | 48 +++++++++---------- .../translator_vm/translator_flavor.hpp | 9 ++++ 2 files changed, 31 insertions(+), 26 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/README.md b/barretenberg/cpp/src/barretenberg/translator_vm/README.md index ee9dbca3be57..6d5918a91f25 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/README.md +++ b/barretenberg/cpp/src/barretenberg/translator_vm/README.md @@ -430,7 +430,7 @@ The circuit uses Lagrange polynomials to control which constraints are active: ( | `lagrange_first` | First row | $i = 0$ | | `lagrange_real_last` | Last row in full circuit (before masking) | $i = N - \text{MAX\_RANDOM\_VALUES\_PER\_ORDERED} - 1 = 2^{17} - 64 - 1 = 131007$ | | `lagrange_last` | Last row in full circuit | $i = 2^{17} - 1$ | -| `lagrange_masking` | Scattered masking rows in full circuit | $i \in \{j \cdot 2^{13} + k : j \in [0,16), k \in [2^{13} - m, 2^{13})\}$ | +| `lagrange_masking` | Scattered masking rows in full circuit | $i \in \{j \cdot 2^{13} + k : j \in [0,16), k \in [2^{13} - m, 2^{13})\}$ | | `lagrange_mini_masking` | Masking rows in mini circuit | $i \in [z_1, \ z_1 + r_{\textsf{start}}) \cup [n - r_{\textsf{end}}, \ n)$ | | `lagrange_even_in_minicircuit` | Even indices in real mini-circuit | $i \in \{u \ \| \ u \ \% \ 2 = 0, \ (z_1 + r_{\textsf{start}}) \leq u < n - r_{\textsf{end}}\}$ | | `lagrange_odd_in_minicircuit` | Odd indices in real mini-circuit | $i \in \{u \ \| \ u \ \% \ 2 = 1, \ (z_1 + r_{\textsf{start}}) \leq u < n - r_{\textsf{end}}\}$ | @@ -804,30 +804,30 @@ I_1 \quad I_2 \quad I_3 \quad I_4 \\ \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} & n - m -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} & m -\\[-10pt] +\\[5pt] \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} -\\ +\\[10pt] \quad\vdots & \scriptstyle{\times\,16\text{ lanes}} -\\ +\\[10pt] \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} @@ -949,31 +949,29 @@ I_1 \quad I_2 \quad I_3 \quad I_4 \\ \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -& n - m -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} -& m -\\[-10pt] +\\[5pt] \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} -\\ -\quad\vdots & \scriptstyle{\times\,16\text{ lanes}} -\\ +\\[10pt] +\quad\vdots +\\[10pt] \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} @@ -988,31 +986,29 @@ I_1 \quad I_2 \quad I_3 \quad I_4 \\ \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -& n - m -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} -& m -\\[-10pt] +\\[5pt] \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} -\\ -\quad\vdots & \scriptstyle{\times\,16\text{ lanes}} -\\ +\\[10pt] +\quad\vdots +\\[10pt] \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} \ \textcolor{orange}{\boxed{\begin{array}{c}\\ \\\end{array}}} -\\[-10pt] +\\ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} \ \textcolor{gray}{\boxed{\begin{array}{c}\\[-3pt]\end{array}}} @@ -1064,7 +1060,7 @@ I_1 \quad I_2 \quad I_3 \quad I_4 \\ \textcolor{violet}{ \boxed{ \begin{array}{c} - \\ \\ z \\ \\[2pt] + \\ \\ z \\ \\[10pt] \end{array} }} \end{array} diff --git a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp index 373807ba4a4b..9dee6cddcf57 100644 --- a/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/translator_vm/translator_flavor.hpp @@ -928,6 +928,12 @@ class TranslatorFlavor { static constexpr size_t NUM_TOP_BITS = numeric::get_msb(CONCATENATION_GROUP_SIZE); // Compute CONCATENATION_GROUP_SIZE-point Lagrange basis over the top challenges + // a = u[N - 4], b = u[N - 3], c = u[N - 2], d = u[N - 1] + // L(0) = (1 - d) * (1 - c) * (1 - b) * (1 - a) + // L(1) = (1 - d) * (1 - c) * (1 - b) * ( a) + // L(2) = (1 - d) * (1 - c) * ( b) * (1 - a) + // L(3) = (1 - d) * (1 - c) * ( b) * ( a) + // ... std::array lagrange_basis; for (size_t j = 0; j < CONCATENATION_GROUP_SIZE; j++) { lagrange_basis[j] = FFType(1); @@ -936,7 +942,10 @@ class TranslatorFlavor { lagrange_basis[j] *= ((j >> bit) & 1) ? u : (FFType(1) - u); } } + // L_0 is the "padding" factor from wires having support in [1, MINI) + // The reason we need to divide by L_0 is because L_j(u) already accounts for the challenges a, b, c, d: + // L_j(u) = (1 - d) * (1 - c) * (1 - b) * (1 - a) * L_j(0, u_bottom) FFType padding_inv = lagrange_basis[0].invert(); auto reconstruct = [&](const auto& group) -> FFType { From 59dc4bd454f86cb038f761ad31d7d517de8c570d Mon Sep 17 00:00:00 2001 From: iakovenkos Date: Thu, 19 Feb 2026 08:54:52 +0000 Subject: [PATCH 24/24] fix translator transcript tests --- .../flavor/test_utils/proof_structures.hpp | 59 +++++++++++-------- .../translator_recursive_verifier.test.cpp | 3 +- 2 files changed, 36 insertions(+), 26 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/flavor/test_utils/proof_structures.hpp b/barretenberg/cpp/src/barretenberg/flavor/test_utils/proof_structures.hpp index de2eabc8c557..9fee2182068b 100644 --- a/barretenberg/cpp/src/barretenberg/flavor/test_utils/proof_structures.hpp +++ b/barretenberg/cpp/src/barretenberg/flavor/test_utils/proof_structures.hpp @@ -597,9 +597,12 @@ template struct TranslatorStructuredProofBase : StructuredProo using typename Base::FF; using typename Base::ProofData; - // Batch size = total committed witness entities - gemini_masking_poly - z_perm - // Total committed = NUM_WITNESS_ENTITIES - 3 - NUM_OP_QUEUE_WIRES (from PROOF_LENGTH formula) - static constexpr size_t NUM_BATCH_WITNESS_COMMS = Flavor::NUM_WITNESS_ENTITIES - 3 - Flavor::NUM_OP_QUEUE_WIRES - 2; + // Number of wire commitments sent in proof (concatenated + ordered range constraints) + static constexpr size_t NUM_BATCH_WITNESS_COMMS = Flavor::NUM_COMMITMENTS_IN_PROOF; + // Minicircuit evaluations are sent mid-sumcheck after LOG_MINI_CIRCUIT_SIZE rounds + static constexpr size_t LOG_MINI_CIRCUIT_SIZE = Flavor::LOG_MINI_CIRCUIT_SIZE; + static constexpr size_t NUM_MINICIRCUIT_EVALUATIONS = Flavor::NUM_MINICIRCUIT_EVALUATIONS; + static constexpr size_t NUM_FULL_CIRCUIT_EVALUATIONS = Flavor::NUM_FULL_CIRCUIT_EVALUATIONS; // Witness commitments Commitment gemini_masking_poly_comm; @@ -610,10 +613,13 @@ template struct TranslatorStructuredProofBase : StructuredProo Commitment libra_concatenation_commitment; FF libra_sum; - // Sumcheck + // Sumcheck: univariates are split around interleaved minicircuit evaluations std::vector> sumcheck_univariates; + // Minicircuit wire evaluations (sent mid-sumcheck after LOG_MINI_CIRCUIT_SIZE rounds) + std::array minicircuit_evaluations; + // Full-circuit evaluations (sent after all sumcheck rounds) + std::array full_circuit_evaluations; FF libra_claimed_evaluation; - std::array sumcheck_evaluations; // Post-sumcheck Libra commitments Commitment libra_grand_sum_commitment; @@ -623,10 +629,6 @@ template struct TranslatorStructuredProofBase : StructuredProo std::vector gemini_fold_comms; std::vector gemini_fold_evals; - // Translator-specific: Gemini evaluations for interleaved claims - FF gemini_p_pos_eval; - FF gemini_p_neg_eval; - // Libra evaluations FF libra_concatenation_eval; FF libra_shifted_grand_sum_eval; @@ -656,14 +658,24 @@ template struct TranslatorStructuredProofBase : StructuredProo libra_concatenation_commitment = this->template deserialize_from_buffer(proof_data, offset); libra_sum = this->template deserialize_from_buffer(proof_data, offset); - // Sumcheck univariates - for (size_t i = 0; i < log_n; ++i) { + // Sumcheck univariates (first LOG_MINI_CIRCUIT_SIZE rounds) + for (size_t i = 0; i < LOG_MINI_CIRCUIT_SIZE; ++i) { sumcheck_univariates.push_back( this->template deserialize_from_buffer>(proof_data, offset)); } - sumcheck_evaluations = - this->template deserialize_from_buffer>(proof_data, offset); + // Minicircuit evaluations (interleaved mid-sumcheck) + minicircuit_evaluations = + this->template deserialize_from_buffer>(proof_data, offset); + // Sumcheck univariates (remaining rounds) + for (size_t i = LOG_MINI_CIRCUIT_SIZE; i < log_n; ++i) { + sumcheck_univariates.push_back( + this->template deserialize_from_buffer>(proof_data, + offset)); + } + // Full-circuit evaluations (excludes computable precomputed + concatenated + minicircuit) + full_circuit_evaluations = + this->template deserialize_from_buffer>(proof_data, offset); libra_claimed_evaluation = this->template deserialize_from_buffer(proof_data, offset); // Libra post-sumcheck commitments @@ -678,10 +690,6 @@ template struct TranslatorStructuredProofBase : StructuredProo gemini_fold_evals.push_back(this->template deserialize_from_buffer(proof_data, offset)); } - // Translator-specific: Gemini P_pos and P_neg evaluations (for interleaved claims) - gemini_p_pos_eval = this->template deserialize_from_buffer(proof_data, offset); - gemini_p_neg_eval = this->template deserialize_from_buffer(proof_data, offset); - // Libra evaluations libra_concatenation_eval = this->template deserialize_from_buffer(proof_data, offset); libra_shifted_grand_sum_eval = this->template deserialize_from_buffer(proof_data, offset); @@ -709,11 +717,18 @@ template struct TranslatorStructuredProofBase : StructuredProo Base::serialize_to_buffer(libra_concatenation_commitment, proof_data); Base::serialize_to_buffer(libra_sum, proof_data); - // Sumcheck univariates - for (size_t i = 0; i < log_n; ++i) { + // Sumcheck univariates (first LOG_MINI_CIRCUIT_SIZE rounds) + for (size_t i = 0; i < LOG_MINI_CIRCUIT_SIZE; ++i) { Base::serialize_to_buffer(sumcheck_univariates[i], proof_data); } - Base::serialize_to_buffer(sumcheck_evaluations, proof_data); + // Minicircuit evaluations (interleaved mid-sumcheck) + Base::serialize_to_buffer(minicircuit_evaluations, proof_data); + // Sumcheck univariates (remaining rounds) + for (size_t i = LOG_MINI_CIRCUIT_SIZE; i < log_n; ++i) { + Base::serialize_to_buffer(sumcheck_univariates[i], proof_data); + } + // Full-circuit evaluations + Base::serialize_to_buffer(full_circuit_evaluations, proof_data); Base::serialize_to_buffer(libra_claimed_evaluation, proof_data); // Libra post-sumcheck commitments @@ -728,10 +743,6 @@ template struct TranslatorStructuredProofBase : StructuredProo Base::serialize_to_buffer(gemini_fold_evals[i], proof_data); } - // Translator-specific: Gemini P_pos and P_neg evaluations - Base::serialize_to_buffer(gemini_p_pos_eval, proof_data); - Base::serialize_to_buffer(gemini_p_neg_eval, proof_data); - // Libra evaluations Base::serialize_to_buffer(libra_concatenation_eval, proof_data); Base::serialize_to_buffer(libra_shifted_grand_sum_eval, proof_data); diff --git a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp index d68b85055210..7f24ec090f5e 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/translator_vm_verifier/translator_recursive_verifier.test.cpp @@ -280,7 +280,6 @@ class TranslatorRecursiveTests : public ::testing::Test { TamperType tamper_type) { using FF = InnerFF; - static constexpr size_t FIRST_WITNESS_INDEX = InnerFlavor::NUM_PRECOMPUTED_ENTITIES; static constexpr size_t LOG_N = InnerFlavor::CONST_TRANSLATOR_LOG_N; StructuredProof structured_proof; @@ -294,7 +293,7 @@ class TranslatorRecursiveTests : public ::testing::Test { break; } case TamperType::MODIFY_SUMCHECK_EVAL: - structured_proof.sumcheck_evaluations[FIRST_WITNESS_INDEX] = FF::random_element(); + structured_proof.full_circuit_evaluations[0] = FF::random_element(); break; case TamperType::MODIFY_KZG_WITNESS: structured_proof.kzg_w_comm = structured_proof.kzg_w_comm * FF::random_element();