From ad37a3028a77f2a21cc5e59f0709f7e5120da254 Mon Sep 17 00:00:00 2001 From: ledwards2225 <98505400+ledwards2225@users.noreply.github.com> Date: Fri, 13 Feb 2026 16:19:15 -0700 Subject: [PATCH 01/12] chore!: pairing points audit (#20456) Review of the stdlib (and native) `PairingPoints` class. No bug fixes. Changes include: - "Default" pairing points are point at infinity (mimicking native) instead of arbitrary valid points - Add `reconstruct_from_public` for use in codec - More complete testing suite for basic functionality and tagging mechanism - Sanity tests for native `PairingPoints` class VK change is due to change in default pairing point representation from arbitrary valid to inf --- ...est_chonk_standalone_vks_havent_changed.sh | 2 +- .../cpp/src/barretenberg/chonk/chonk.test.cpp | 7 +- .../commitment_schemes/kzg/kzg.test.cpp | 12 +- .../commitment_schemes/pairing_points.hpp | 33 +-- .../pairing_points.test.cpp | 83 ++++++ .../shplonk/shplemini.test.cpp | 10 +- .../shplonk/shplonk.test.cpp | 2 +- .../commitment_schemes/verification_key.hpp | 27 +- .../recursion_constraint_output.cpp | 10 +- .../hypernova/hypernova_decider_verifier.cpp | 4 +- .../stdlib/primitives/pairing_points.hpp | 181 ++++-------- .../stdlib/primitives/pairing_points.test.cpp | 279 ++++++++++++++---- .../vm2/constraining/verifier.cpp | 4 +- 13 files changed, 405 insertions(+), 249 deletions(-) create mode 100644 barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.test.cpp 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 adcbcee6901f..f38dfba08b16 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="be87b42c" +pinned_short_hash="600b85bd" 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/chonk/chonk.test.cpp b/barretenberg/cpp/src/barretenberg/chonk/chonk.test.cpp index 660b1c054dad..d88d5d12a698 100644 --- a/barretenberg/cpp/src/barretenberg/chonk/chonk.test.cpp +++ b/barretenberg/cpp/src/barretenberg/chonk/chonk.test.cpp @@ -160,10 +160,9 @@ class ChonkTests : public ::testing::Test { // Tamper with the specified field switch (field_to_tamper) { case KernelIOField::PAIRING_INPUTS: { - // Replace with valid default pairing points (different from actual accumulated values) - using namespace bb::stdlib::recursion; - kernel_io.pairing_inputs.P0() = Commitment(DEFAULT_PAIRING_POINT_P0_X, DEFAULT_PAIRING_POINT_P0_Y); - kernel_io.pairing_inputs.P1() = Commitment(DEFAULT_PAIRING_POINT_P1_X, DEFAULT_PAIRING_POINT_P1_Y); + // Replace with valid pairing points at infinity (different from actual accumulated values) + kernel_io.pairing_inputs.P0() = Commitment::infinity(); + kernel_io.pairing_inputs.P1() = Commitment::infinity(); EXPECT_TRUE(kernel_io.pairing_inputs.check()); break; } 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..afd00c7a378d 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/kzg/kzg.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/kzg/kzg.test.cpp @@ -48,7 +48,7 @@ class KZGTest : public CommitmentTest { auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); const auto pairing_points = PCS::reduce_verify(opening_claim, verifier_transcript); - EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } }; @@ -91,7 +91,7 @@ TEST_F(KZGTest, WrongEvaluationFails) auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); auto pairing_point = PCS::reduce_verify(opening_claim, verifier_transcript); // Make sure that the pairing check fails - EXPECT_EQ(vk.pairing_check(pairing_point[0], pairing_point[1]), false); + EXPECT_EQ(pairing_point.check(), false); } TEST_F(KZGTest, ZeroPolynomial) @@ -169,7 +169,7 @@ TEST_F(KZGTest, SingleInLagrangeBasis) auto verifier_transcript = NativeTranscript::test_verifier_init_empty(prover_transcript); auto pairing_points = PCS::reduce_verify(opening_claim, verifier_transcript); - EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } TEST_F(KZGTest, ShpleminiKzgWithShift) { @@ -222,7 +222,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShift) PCS::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); // Final pairing check: e([Q] - [Q_z] + z[W], [1]_2) = e([W], [x]_2) - EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } TEST_F(KZGTest, ShpleminiKzgWithShiftAndInterleaving) @@ -281,7 +281,7 @@ TEST_F(KZGTest, ShpleminiKzgWithShiftAndInterleaving) PCS::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); // Final pairing check: e([Q] - [Q_z] + z[W], [1]_2) = e([W], [x]_2) - EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } TEST_F(KZGTest, ShpleminiKzgShiftsRemoval) { @@ -347,7 +347,7 @@ TEST_F(KZGTest, ShpleminiKzgShiftsRemoval) PCS::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); // Final pairing check: e([Q] - [Q_z] + z[W], [1]_2) = e([W], [x]_2) - EXPECT_EQ(vk.pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } } // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.hpp index 06e8b6c47025..9f2e99a904f4 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.hpp @@ -1,12 +1,11 @@ // === AUDIT STATUS === -// internal: { status: Planned, auditors: [Khashayar], commit: } +// internal: { status: complete, auditors: [Luke], commit: } // external_1: { status: not started, auditors: [], commit: } // external_2: { status: not started, auditors: [], commit: } // ===================== #pragma once -#include "barretenberg/commitment_schemes/commitment_key.hpp" #include "barretenberg/commitment_schemes/verification_key.hpp" #include "barretenberg/common/assert.hpp" @@ -22,7 +21,6 @@ namespace bb { template class PairingPoints { public: using Curve = Curve_; - using CK = CommitmentKey; using Point = typename Curve::AffineElement; using Fr = typename Curve::ScalarField; using Fq = typename Curve::BaseField; @@ -34,8 +32,6 @@ template class PairingPoints { using value_type = Point; static constexpr size_t SIZE = 2; - std::array _points = { Point::infinity(), Point::infinity() }; - // Named accessors Point& P0() { return _points[0]; } Point& P1() { return _points[1]; } @@ -47,9 +43,6 @@ template class PairingPoints { : _points{ p0, p1 } {} - auto& operator[](size_t idx) { return _points[idx]; } - const auto& operator[](size_t idx) const { return _points[idx]; } - // Iterator support for range-based for (required by Codec) auto begin() { return _points.begin(); } auto end() { return _points.end(); } @@ -58,14 +51,19 @@ template class PairingPoints { static constexpr size_t size() { return SIZE; } /** - * @brief Aggregate the current pairing points with another set of pairing points using a random scalar + * @brief Aggregate the current pairing points with another set of pairing points using a random scalar. + * @details If this is at infinity (default-constructed), simply copies other. The incoming points must not be at + * infinity since they should always represent the output of actual PCS verification. */ void aggregate(const PairingPoints& other) { - if (P0() == Point::infinity() || P1() == Point::infinity() || other.P0() == Point::infinity() || - other.P1() == Point::infinity()) { - throw_or_abort("WARNING: Shouldn't be aggregating with Point at infinity! The pairing points are probably " - "uninitialized."); + if (other.P0() == Point::infinity() || other.P1() == Point::infinity()) { + throw_or_abort("Cannot aggregate: incoming pairing points are at infinity (probably uninitialized)."); + } + // If this is at infinity (default/uninitialized), just adopt the incoming points + if (P0() == Point::infinity() || P1() == Point::infinity()) { + *this = other; + return; } Fr aggregation_separator = Fr::random_element(); P0() = P0() + other.P0() * aggregation_separator; @@ -73,17 +71,18 @@ template class PairingPoints { } /** - * @brief Perform the pairing check + * @brief Verify the pairing equation e(P0, [1]₂) · e(P1, [x]₂) = 1. */ bool check() const { - VerifierCK pcs_vkey{}; + VerifierCK vck{}; // TODO(https://github.com/AztecProtocol/barretenberg/issues/1423): Rename to verifier_pcs_key or vckey or // something. Issue exists in many places besides just here. - return pcs_vkey.pairing_check(P0(), P1()); + return vck.pairing_check(P0(), P1()); } - bool operator==(const PairingPoints& other) const = default; + private: + std::array _points = { Point::infinity(), Point::infinity() }; }; } // namespace bb diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.test.cpp new file mode 100644 index 000000000000..eb03df43b12b --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/pairing_points.test.cpp @@ -0,0 +1,83 @@ +#include "barretenberg/commitment_schemes/pairing_points.hpp" +#include "barretenberg/commitment_schemes/commitment_key.hpp" +#include "barretenberg/srs/global_crs.hpp" + +#include + +namespace bb { + +class NativePairingPointsTests : public ::testing::Test { + public: + using Curve = curve::BN254; + using PP = PairingPoints; + using Point = Curve::AffineElement; + + static void SetUpTestSuite() { srs::init_file_crs_factory(srs::bb_crs_path()); } + + // P0 = [s]₁, P1 = -[1]₁ satisfies e(P0,[1]₂)·e(P1,[s]₂) = 1 + static PP make_valid_pairing_points() + { + CommitmentKey ck(2); + auto srs = ck.get_monomial_points(); + return PP(srs[1], -srs[0]); + } +}; + +// Default construction produces infinity points +TEST_F(NativePairingPointsTests, DefaultConstructionIsInfinity) +{ + PP pp; + EXPECT_EQ(pp.P0(), Point::infinity()); + EXPECT_EQ(pp.P1(), Point::infinity()); +} + +// Infinity points pass the pairing check: e(∞, Q) = 1 +TEST_F(NativePairingPointsTests, InfinityPassesPairingCheck) +{ + PP pp; + EXPECT_TRUE(pp.check()); +} + +// Valid SRS-derived points pass the pairing check +TEST_F(NativePairingPointsTests, ValidPointsPassPairingCheck) +{ + PP pp = make_valid_pairing_points(); + EXPECT_TRUE(pp.check()); +} + +// Arbitrary non-trivial points fail the pairing check +TEST_F(NativePairingPointsTests, InvalidPointsFailPairingCheck) +{ + Point G = Point::one(); + PP pp(G, G); + EXPECT_FALSE(pp.check()); +} + +// Aggregating into default (infinity) adopts the incoming points +TEST_F(NativePairingPointsTests, AggregateIntoDefaultAdoptsOther) +{ + PP acc; + PP other = make_valid_pairing_points(); + acc.aggregate(other); + EXPECT_EQ(acc.P0(), other.P0()); + EXPECT_EQ(acc.P1(), other.P1()); +} + +// Aggregating two populated sets produces a valid result +TEST_F(NativePairingPointsTests, AggregatePopulatedPoints) +{ + PP acc = make_valid_pairing_points(); + PP other = make_valid_pairing_points(); + acc.aggregate(other); + EXPECT_TRUE(acc.check()); +} + +// Aggregating infinity into a populated accumulator throws +TEST_F(NativePairingPointsTests, AggregateInfinityIntoPopulatedThrows) +{ + PP acc = make_valid_pairing_points(); + PP empty; + EXPECT_THROW(acc.aggregate(empty), std::runtime_error); +} + +} // namespace bb 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..9855ec65bc12 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplemini.test.cpp @@ -364,7 +364,7 @@ TYPED_TEST(ShpleminiTest, ShpleminiZKNoSumcheckOpenings) const auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); // Final pairing check: e([Q] - [Q_z] + z[W], [1]_2) = e([W], [x]_2) - EXPECT_EQ(this->vk().pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } EXPECT_EQ(consistency_checked, true); } @@ -473,7 +473,7 @@ TYPED_TEST(ShpleminiTest, ShpleminiZKWithSumcheckOpenings) const auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); // Final pairing check: e([Q] - [Q_z] + z[W], [1]_2) = e([W], [x]_2) - EXPECT_EQ(this->vk().pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } } @@ -548,7 +548,7 @@ TYPED_TEST(ShpleminiTest, HighDegreeAttackAccept) } else { const auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); - EXPECT_EQ(this->vk().pairing_check(pairing_points[0], pairing_points[1]), true); + EXPECT_EQ(pairing_points.check(), true); } } @@ -615,7 +615,7 @@ TYPED_TEST(ShpleminiTest, HighDegreeAttackReject) } else { const auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); - EXPECT_EQ(this->vk().pairing_check(pairing_points[0], pairing_points[1]), false); + EXPECT_EQ(pairing_points.check(), false); } } @@ -817,7 +817,7 @@ void run_libra_tampering_test(ShpleminiTest* test, } else { const auto pairing_points = KZG::reduce_verify_batch_opening_claim(std::move(batch_opening_claim), verifier_transcript); - EXPECT_FALSE(test->vk().pairing_check(pairing_points[0], pairing_points[1])); + EXPECT_FALSE(pairing_points.check()); } } diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.test.cpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.test.cpp index 11b7c8d58699..86c11ee559a8 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.test.cpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.test.cpp @@ -85,7 +85,7 @@ TYPED_TEST(ShplonkTest, ExportBatchClaimAndVerify) // KZG verifier auto final_proof_points = KZG::reduce_verify_batch_opening_claim( std::move(batched_verifier_claim), verifier_transcript); - ASSERT_TRUE(this->vk().pairing_check(final_proof_points[0], final_proof_points[1])); + ASSERT_TRUE(final_proof_points.check()); } else { // Verify IPA proof auto vk = create_verifier_commitment_key>(); diff --git a/barretenberg/cpp/src/barretenberg/commitment_schemes/verification_key.hpp b/barretenberg/cpp/src/barretenberg/commitment_schemes/verification_key.hpp index 52c8f94897f3..da5185f3e30b 100644 --- a/barretenberg/cpp/src/barretenberg/commitment_schemes/verification_key.hpp +++ b/barretenberg/cpp/src/barretenberg/commitment_schemes/verification_key.hpp @@ -1,5 +1,5 @@ // === AUDIT STATUS === -// internal: { status: Planned, auditors: [Khashayar], commit: } +// internal: { status: Complete, auditors: [Luke], commit: } // external_1: { status: not started, auditors: [], commit: } // external_2: { status: not started, auditors: [], commit: } // ===================== @@ -11,18 +11,12 @@ * */ -#include "barretenberg/commitment_schemes/commitment_key.hpp" #include "barretenberg/ecc/curves/bn254/bn254.hpp" #include "barretenberg/ecc/curves/bn254/pairing.hpp" #include "barretenberg/ecc/curves/grumpkin/grumpkin.hpp" -#include "barretenberg/ecc/scalar_multiplication/scalar_multiplication.hpp" -#include "barretenberg/numeric/bitop/pow.hpp" -#include "barretenberg/polynomials/polynomial_arithmetic.hpp" #include "barretenberg/srs/global_crs.hpp" -#include #include -#include namespace bb { @@ -47,7 +41,6 @@ template <> class VerifierCommitmentKey { srs = srs::get_crs_factory()->get_verifier_crs(); } }; - bool operator==(const VerifierCommitmentKey&) const = default; bool initialized() const { return srs != nullptr; } @@ -58,19 +51,14 @@ template <> class VerifierCommitmentKey { } /** - * @brief verifies a pairing equation over 2 points using the verifier SRS - * - * @param p0 = P₀ - * @param p1 = P₁ - * @return e(P₀,[1]₁)e(P₁,[x]₂) ≡ [1]ₜ + * @brief Verify the pairing equation e(P₀,[1]₂) · e(P₁,[x]₂) = [1]ₜ */ bool pairing_check(const GroupElement& p0, const GroupElement& p1) { initialize(); - Commitment pairing_points[2]{ p0, p1 }; - // The final pairing check of step 12. - Curve::TargetField result = - bb::pairing::reduced_ate_pairing_batch_precomputed(pairing_points, srs->get_precomputed_g2_lines(), 2); + std::array pairing_points{ p0, p1 }; + Curve::TargetField result = bb::pairing::reduced_ate_pairing_batch_precomputed( + pairing_points.data(), srs->get_precomputed_g2_lines(), 2); return (result == Curve::TargetField::one()); } @@ -93,9 +81,8 @@ template <> class VerifierCommitmentKey { /** * @brief Construct a new IPA Verification Key object from existing SRS * - * * @param num_points specifies the length of the SRS - * @param path is the location to the SRS file + * @param crs_factory the CRS factory to use */ VerifierCommitmentKey(size_t num_points, const std::shared_ptr>& crs_factory) : srs(crs_factory->get_crs(num_points)) @@ -105,8 +92,6 @@ template <> class VerifierCommitmentKey { VerifierCommitmentKey() = default; - bool operator==(const VerifierCommitmentKey&) const = default; - bool initialized() const { return srs != nullptr; } Commitment get_g1_identity() const { return srs->get_g1_identity(); } diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint_output.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint_output.cpp index 87699eb5f608..676e7d1f9acf 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint_output.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/recursion_constraint_output.cpp @@ -13,7 +13,7 @@ void HonkRecursionConstraintsOutput::update(const HonkRecursionConstrai bool update_ipa_data) { // Update points accumulator - if (this->points_accumulator.has_data) { + if (this->points_accumulator.is_populated()) { this->points_accumulator.aggregate(other.points_accumulator); } else { this->points_accumulator = other.points_accumulator; @@ -31,7 +31,7 @@ void HonkRecursionConstraintsOutput::update(const HonkRecursionConstrai bool update_ipa_data) { // Update points accumulator - if (this->points_accumulator.has_data) { + if (this->points_accumulator.is_populated()) { this->points_accumulator.aggregate(other.points_accumulator); } else { this->points_accumulator = other.points_accumulator; @@ -133,7 +133,7 @@ void HonkRecursionConstraintsOutput::finalize(UltraCircuitB // Propagate pairing points and ipa claim IO inputs; inputs.pairing_inputs = - points_accumulator.has_data + points_accumulator.is_populated() ? points_accumulator : stdlib::recursion::PairingPoints>::construct_default(); inputs.ipa_claim = ipa_claim; @@ -150,7 +150,7 @@ void HonkRecursionConstraintsOutput::finalize(UltraCircuitB } // Propagate public inputs - if (points_accumulator.has_data) { + if (points_accumulator.is_populated()) { IO inputs; inputs.pairing_inputs = points_accumulator; inputs.set_public(); @@ -173,7 +173,7 @@ void HonkRecursionConstraintsOutput::finalize(MegaCircuitBui // If the recursion constraints from HN, the public inputs have already been set. Otherwise, we need to propagate // the pairing points if (!is_hn_recursion_constraints) { - if (points_accumulator.has_data) { + if (points_accumulator.is_populated()) { IO inputs; inputs.pairing_inputs = points_accumulator; inputs.set_public(); diff --git a/barretenberg/cpp/src/barretenberg/hypernova/hypernova_decider_verifier.cpp b/barretenberg/cpp/src/barretenberg/hypernova/hypernova_decider_verifier.cpp index f6e5cb7cc7a1..6c758d9b5166 100644 --- a/barretenberg/cpp/src/barretenberg/hypernova/hypernova_decider_verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/hypernova/hypernova_decider_verifier.cpp @@ -44,8 +44,8 @@ HypernovaDeciderVerifier::PairingPoints HypernovaDeciderVerifier return pairing_points; } else { auto pairing_points = PCS::reduce_verify_batch_opening_claim(std::move(opening_claim), transcript); - // Native pairing points contain affine elements - return { typename Curve::AffineElement(pairing_points[0]), typename Curve::AffineElement(pairing_points[1]) }; + return { typename Curve::AffineElement(pairing_points.P0()), + typename Curve::AffineElement(pairing_points.P1()) }; } }; diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp index df14690ea7e7..49136460d2da 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp @@ -1,5 +1,5 @@ // === AUDIT STATUS === -// internal: { status: Planned, auditors: [Khashayar], commit: } +// internal: { status: complete, auditors: [Luke], commit: } // external_1: { status: not started, auditors: [], commit: } // external_2: { status: not started, auditors: [], commit: } // ===================== @@ -16,43 +16,11 @@ namespace bb::stdlib::recursion { -// Combined limbs for default pairing points: lo = limb0 + limb1 * 2^68, hi = limb2 + limb3 * 2^68 -// These are the source of truth, used in set_default_to_public() to avoid expensive bigfield operations. -static constexpr bb::fr DEFAULT_PP_P0_X_LO = - bb::fr("0x000000000000000000000000000000b75c020998797da7842ab5d6d1986846cf"); -static constexpr bb::fr DEFAULT_PP_P0_X_HI = - bb::fr("0x0000000000000000000000000000000000031e97a575e9d05a107acb64952eca"); -static constexpr bb::fr DEFAULT_PP_P0_Y_LO = - bb::fr("0x000000000000000000000000000000c410db10a01750aebb5666547acf8bd5a4"); -static constexpr bb::fr DEFAULT_PP_P0_Y_HI = - bb::fr("0x0000000000000000000000000000000000178cbf4206471d722669117f9758a4"); -static constexpr bb::fr DEFAULT_PP_P1_X_LO = - bb::fr("0x0000000000000000000000000000007fd51009034b3357f0e91b8a11e7842c38"); -static constexpr bb::fr DEFAULT_PP_P1_X_HI = - bb::fr("0x00000000000000000000000000000000000f94656a2ca489889939f81e9c7402"); -static constexpr bb::fr DEFAULT_PP_P1_Y_LO = - bb::fr("0x00000000000000000000000000000093fe27776f50224bd6fb128b46c1ddb67f"); -static constexpr bb::fr DEFAULT_PP_P1_Y_HI = - bb::fr("0x00000000000000000000000000000000001b52c2020d7464a0c80c0da527a081"); - -// TODO(https://github.com/AztecProtocol/barretenberg/issues/911): These are pairing points extracted from a -// valid proof. This is a workaround because we can't represent the point at infinity in biggroup yet. -// Derived from the combined limbs above: fq = lo + hi * 2^136 -static constexpr bb::fq DEFAULT_PAIRING_POINT_P0_X = - bb::fq(uint256_t(DEFAULT_PP_P0_X_LO) + (uint256_t(DEFAULT_PP_P0_X_HI) << 136)); -static constexpr bb::fq DEFAULT_PAIRING_POINT_P0_Y = - bb::fq(uint256_t(DEFAULT_PP_P0_Y_LO) + (uint256_t(DEFAULT_PP_P0_Y_HI) << 136)); -static constexpr bb::fq DEFAULT_PAIRING_POINT_P1_X = - bb::fq(uint256_t(DEFAULT_PP_P1_X_LO) + (uint256_t(DEFAULT_PP_P1_X_HI) << 136)); -static constexpr bb::fq DEFAULT_PAIRING_POINT_P1_Y = - bb::fq(uint256_t(DEFAULT_PP_P1_Y_LO) + (uint256_t(DEFAULT_PP_P1_Y_HI) << 136)); - /** * @brief An object storing two EC points that represent the inputs to a pairing check. * @details The points may represent the output of a single partial recursive verification or the linear combination of * multiple sets of pairing points. * - * TODO(https://github.com/AztecProtocol/barretenberg/issues/1421): Proper tests for `PairingPoints` * @tparam Builder_ */ template struct PairingPoints { @@ -64,13 +32,6 @@ template struct PairingPoints { // Number of bb::fr field elements used to represent pairing points in public inputs static constexpr size_t PUBLIC_INPUTS_SIZE = PAIRING_POINTS_SIZE; - // Array-like interface for Codec compatibility - using value_type = Group; - static constexpr size_t SIZE = 2; - - std::array _points; - - bool has_data = false; uint32_t tag_index = 0; // Index of the tag for tracking pairing point aggregation Group& P0() { return _points[0]; } @@ -78,13 +39,15 @@ template struct PairingPoints { const Group& P0() const { return _points[0]; } const Group& P1() const { return _points[1]; } + bool is_populated() const { return has_data_; } + PairingPoints() = default; PairingPoints(const Group& p0, const Group& p1) : _points{ p0, p1 } - , has_data(true) + , has_data_(true) { - Builder* builder = validate_context(_points); + Builder* builder = validate_context(p0.get_context(), p1.get_context()); if (builder != nullptr) { tag_index = builder->pairing_points_tagging.create_pairing_point_tag(); } @@ -95,33 +58,30 @@ template struct PairingPoints { #endif } - // Array access (delegates to _points) - auto& operator[](size_t idx) { return _points[idx]; } - const auto& operator[](size_t idx) const { return _points[idx]; } - - // Iterator support for range-based for (required by Codec deserialization) - // Non-const begin() sets has_data since Codec uses `for (auto& x : val)` pattern - auto begin() + /** + * @brief Reconstruct PairingPoints from public input limbs. + */ + static PairingPoints reconstruct_from_public( + const std::span, PUBLIC_INPUTS_SIZE>& limbs) { - has_data = true; - return _points.begin(); + using Codec = StdlibCodec>; + constexpr size_t GROUP_SIZE = Codec::template calc_num_fields(); + Group p0 = Codec::template deserialize_from_fields(limbs.template subspan<0, GROUP_SIZE>()); + Group p1 = Codec::template deserialize_from_fields(limbs.template subspan()); + return PairingPoints(p0, p1); } + + // Iterator support (used by validate_context to extract Builder* from the contained group elements) + auto begin() { return _points.begin(); } auto end() { return _points.end(); } auto begin() const { return _points.begin(); } auto end() const { return _points.end(); } - static constexpr size_t size() { return SIZE; } - - typename Curve::bool_ct operator==(PairingPoints const& other) const - { - return P0() == other.P0() && P1() == other.P1(); - } /** * @brief Aggregate multiple PairingPoints using random linear combination * - * @details The pairing points are aggregated using challenges generated as the consecutive hashes of the pairing - * points being aggregated. Computes: P_agg = P₀ + r₁·P₁ + r₂·P₂ + ... + rₙ₋₁·Pₙ₋₁ - * where r₁,...,rₙ₋₁ are 128-bit challenges derived from hashing all input points. + * @details Computes: P_agg = P₀ + r₁·P₁ + r₂·P₂ + ... + rₙ₋₁·Pₙ₋₁ where r₁,...,rₙ₋₁ are 128-bit challenges + * depending on all input points. * * @param pairing_points Vector of pairing points to aggregate (requires size > 1) * @param handle_edge_cases If true, batch_mul handles edge cases where points might be zero or challenges might @@ -129,9 +89,8 @@ template struct PairingPoints { * * Safety of handle_edge_cases=false: * - Safe when all points are verifier-computed (deterministic, won't collide) - * - Safe even with untrusted public input points, as the random challenges maintain binding + * - Safe even with untrusted public input points, as the random challenges make collisions negligible * - Provides significant circuit gate savings in recursive verification - * - Should only be disabled when the caller can guarantee point validity */ static PairingPoints aggregate_multiple(std::vector& pairing_points, bool handle_edge_cases = true) { @@ -164,7 +123,8 @@ template struct PairingPoints { std::vector challenges = transcript.template get_challenges(labels); // Aggregate: P_agg = P₀ + r₁·P₁ + r₂·P₂ + ... + rₙ₋₁·Pₙ₋₁ - Group P0, P1; + Group P0; + Group P1; // For MegaCircuitBuilder (Goblin): batch_mul optimizes constant scalar 1 (uses add instead of mul) // so we can include all points in a single batch_mul with scalar [1, r₁, r₂, ..., rₙ₋₁] @@ -176,8 +136,8 @@ template struct PairingPoints { scalars.push_back(Fr(1)); // Optimized by Goblin: add instead of mul scalars.insert(scalars.end(), challenges.begin(), challenges.end()); - P0 = Group::batch_mul(first_components, scalars, 128, handle_edge_cases); - P1 = Group::batch_mul(second_components, scalars, 128, handle_edge_cases); + P0 = Group::batch_mul(first_components, scalars); + P1 = Group::batch_mul(second_components, scalars); } else { // Use first point as base, then batch_mul remaining points std::vector remaining_first(first_components.begin() + 1, first_components.end()); @@ -204,37 +164,37 @@ template struct PairingPoints { } /** - * @brief Compute a linear combination of the present pairing points with an input set of pairing points - * @details The linear combination is done with a recursion separator that is the hash of the two sets of pairing - * points. - * @param other - * @param recursion_separator + * @brief Aggregate another PairingPoints into this one via random linear combination. + * @details Computes: this = this + r · other, where r is a 128-bit Fiat-Shamir challenge depending on + * both sets of points. If this is unpopulated (default-constructed), simply copies other. + * + * @param other The PairingPoints to aggregate (must be populated). */ void aggregate(PairingPoints const& other) { - BB_ASSERT(other.has_data, "Cannot aggregate null pairing points."); + BB_ASSERT(other.has_data_, "Cannot aggregate null pairing points."); // If LHS is empty, simply set it equal to the incoming pairing points - if (!this->has_data && other.has_data) { + if (!this->has_data_ && other.has_data_) { *this = other; return; } - // We use a Transcript because it provides us an easy way to hash to get a "random" separator. + // Use transcript to hash all four points to derive a binding challenge StdlibTranscript transcript{}; - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1375): Sometimes unnecesarily hashing constants transcript.add_to_hash_buffer("Accumulator_P0", P0()); transcript.add_to_hash_buffer("Accumulator_P1", P1()); transcript.add_to_hash_buffer("Aggregated_P0", other.P0()); transcript.add_to_hash_buffer("Aggregated_P1", other.P1()); auto recursion_separator = transcript.template get_challenge("recursion_separator"); - // If Mega Builder is in use, the EC operations are deferred via Goblin + // If Mega Builder is in use, the EC operations are deferred via Goblin. + // batch_mul with constant scalar 1 is optimal here (Goblin uses add instead of mul). if constexpr (std::is_same_v) { - // TODO(https://github.com/AztecProtocol/barretenberg/issues/1385): Can we improve efficiency here? + // Goblin: batch_mul with constant scalar 1 uses add instead of mul P0() = Group::batch_mul({ P0(), other.P0() }, { 1, recursion_separator }); P1() = Group::batch_mul({ P1(), other.P1() }, { 1, recursion_separator }); } else { - // Save gates using short scalars. + // Ultra: 128-bit scalar mul to save gates Group point_to_aggregate = other.P0().scalar_mul(recursion_separator, 128); P0() += point_to_aggregate; point_to_aggregate = other.P1().scalar_mul(recursion_separator, 128); @@ -259,7 +219,7 @@ template struct PairingPoints { */ uint32_t set_public() { - BB_ASSERT(this->has_data, "Calling set_public on empty pairing points."); + BB_ASSERT(this->has_data_, "Calling set_public on empty pairing points."); uint32_t start_idx = P0().set_public(); P1().set_public(); return start_idx; @@ -270,7 +230,7 @@ template struct PairingPoints { */ void fix_witness() { - BB_ASSERT(this->has_data, "Calling fix_witness on empty pairing points."); + BB_ASSERT(this->has_data_, "Calling fix_witness on empty pairing points."); P0().fix_witness(); P1().fix_witness(); } @@ -281,72 +241,55 @@ template struct PairingPoints { */ bool check() const { - BB_ASSERT(this->has_data, "Calling check on empty pairing points."); + BB_ASSERT(this->has_data_, "Calling check on empty pairing points."); bb::PairingPoints native_pp(P0().get_value(), P1().get_value()); return native_pp.check(); } /** - * @brief Set the witness indices for the default limbs of the pairing points to public. - * @details Optimized version that directly sets precomputed Fr limb values as public inputs, - * avoiding expensive bigfield operations. The default pairing points satisfy the - * pairing equation. + * @brief Set the witness indices for the default (infinity) pairing points to public. + * @details Optimized version that directly sets zero Fr limb values as public inputs, avoiding expensive bigfield + * operations. The default pairing points are at infinity, which trivially satisfies the pairing equation * * @return uint32_t The index into the public inputs array at which the representation is stored */ static uint32_t set_default_to_public(Builder* builder) { - // Directly add precomputed combined limbs as public inputs, bypassing bigfield's self_reduce. - // These values encode the default pairing points in the format used by bigfield::set_public(). - // Order: P0.x (lo, hi), P0.y (lo, hi), P1.x (lo, hi), P1.y (lo, hi) - auto add_fixed_public = [&](const bb::fr& value) { - uint32_t idx = builder->add_public_variable(value); - builder->fix_witness(idx, value); - return idx; - }; - - uint32_t start_idx = add_fixed_public(DEFAULT_PP_P0_X_LO); - add_fixed_public(DEFAULT_PP_P0_X_HI); - add_fixed_public(DEFAULT_PP_P0_Y_LO); - add_fixed_public(DEFAULT_PP_P0_Y_HI); - add_fixed_public(DEFAULT_PP_P1_X_LO); - add_fixed_public(DEFAULT_PP_P1_X_HI); - add_fixed_public(DEFAULT_PP_P1_Y_LO); - add_fixed_public(DEFAULT_PP_P1_Y_HI); - + // Infinity is represented as (0,0) in biggroup. Directly add zero limbs as public inputs, bypassing bigfield's + // self_reduce. + uint32_t start_idx = 0; + for (size_t i = 0; i < PUBLIC_INPUTS_SIZE; i++) { + uint32_t idx = builder->add_public_variable(bb::fr(0)); + builder->fix_witness(idx, bb::fr(0)); + if (i == 0) { + start_idx = idx; + } + } return start_idx; } /** - * @brief Construct default pairing points. + * @brief Construct default pairing points (both at infinity). + * @details The point at infinity trivially satisfies the pairing equation: e(∞, Q) = 1. */ static PairingPoints construct_default() { - Fq P0_x(DEFAULT_PAIRING_POINT_P0_X); - Fq P0_y(DEFAULT_PAIRING_POINT_P0_Y); - Fq P1_x(DEFAULT_PAIRING_POINT_P1_X); - Fq P1_y(DEFAULT_PAIRING_POINT_P1_Y); - - // These are known, valid points, so we can skip the curve checks. - Group P0(P0_x, P0_y, /*assert_on_curve=*/false); - Group P1(P1_x, P1_y, /*assert_on_curve=*/false); - + Group P0(Fq(0), Fq(0), /*assert_on_curve=*/false); + Group P1(Fq(0), Fq(0), /*assert_on_curve=*/false); return PairingPoints(P0, P1); } + + private: + std::array _points; + bool has_data_ = false; }; template std::ostream& operator<<(std::ostream& os, PairingPoints const& as) { return os << "P0: " << as.P0() << "\n" << "P1: " << as.P1() << "\n" - << "has_data: " << as.has_data << "\n" + << "is_populated: " << as.is_populated() << "\n" << "tag_index: " << as.tag_index << "\n"; } } // namespace bb::stdlib::recursion - -// Enable std::tuple_size for Codec compatibility (array-like deserialization) -namespace std { -template -struct tuple_size> : std::integral_constant {}; -} // namespace std diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp index 70869d5690b1..3633aee0428a 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp @@ -1,7 +1,9 @@ #include "barretenberg/stdlib/primitives/pairing_points.hpp" #include "barretenberg/circuit_checker/circuit_checker.hpp" +#include "barretenberg/commitment_schemes/commitment_key.hpp" #include "barretenberg/commitment_schemes/pairing_points.hpp" #include "barretenberg/srs/global_crs.hpp" +#include "barretenberg/stdlib/primitives/public_input_component/public_input_component.hpp" #include "barretenberg/stdlib/special_public_inputs/special_public_inputs.hpp" #include "barretenberg/ultra_honk/prover_instance.hpp" #include @@ -11,11 +13,49 @@ namespace bb::stdlib::recursion { template class PairingPointsTests : public testing::Test { public: static void SetUpTestSuite() { bb::srs::init_file_crs_factory(bb::srs::bb_crs_path()); } + + /** + * @brief Create N distinct valid pairing points as circuit witnesses from SRS points. + * @details The pairing check verifies e(P0, [1]_2) * e(P1, [x]_2) == 1. Using SRS points srs[i] = [x^i]_1, + * the pair (srs[i], -srs[i-1]) satisfies this. Each element uses a different SRS index for distinctness. + */ + template + static std::vector> create_valid_pairing_points(typename Curve::Builder* builder, size_t count) + { + using Group = typename Curve::Group; + + bb::CommitmentKey ck(count + 1); + auto srs = ck.get_monomial_points(); + + std::vector> result; + result.reserve(count); + for (size_t i = 1; i <= count; i++) { + result.emplace_back(Group::from_witness(builder, srs[i]), Group::from_witness(builder, -srs[i - 1])); + } + return result; + } }; using Curves = testing::Types, stdlib::bn254>; TYPED_TEST_SUITE(PairingPointsTests, Curves); +// Precondition asserts fire on unpopulated PairingPoints +TYPED_TEST(PairingPointsTests, EmptyPairingPointsProtection) +{ + using Curve = TypeParam; + using Builder = typename Curve::Builder; + using PP = PairingPoints; + + Builder builder; + auto pps = TestFixture::template create_valid_pairing_points(&builder, 1); + + PP empty; + EXPECT_THROW_WITH_MESSAGE(pps[0].aggregate(empty), "Cannot aggregate null pairing points."); + EXPECT_THROW_WITH_MESSAGE(empty.set_public(), "Calling set_public on empty pairing points."); + EXPECT_THROW_WITH_MESSAGE(empty.check(), "Calling check on empty pairing points."); +} + +// Gate count pinning for set_default_to_public TYPED_TEST(PairingPointsTests, ConstructDefault) { using Builder = typename TypeParam::Builder; @@ -31,29 +71,164 @@ TYPED_TEST(PairingPointsTests, ConstructDefault) EXPECT_TRUE(CircuitChecker::check(builder)); } -TYPED_TEST(PairingPointsTests, TestDefault) +// Default pairing points satisfy the pairing equation +TYPED_TEST(PairingPointsTests, DefaultPointsAreValid) { using Builder = TypeParam::Builder; - using Group = PairingPoints::Group; - using CommitmentKey = bb::CommitmentKey; + using PP = PairingPoints; Builder builder; - Group P0(DEFAULT_PAIRING_POINT_P0_X, DEFAULT_PAIRING_POINT_P0_Y, /*assert_on_curve=*/false); - Group P1(DEFAULT_PAIRING_POINT_P1_X, DEFAULT_PAIRING_POINT_P1_Y, /*assert_on_curve=*/false); - P0.convert_constant_to_fixed_witness(&builder); - P1.convert_constant_to_fixed_witness(&builder); - PairingPoints pp(P0, P1); + auto pp = PP::construct_default(); + pp.P0().convert_constant_to_fixed_witness(&builder); + pp.P1().convert_constant_to_fixed_witness(&builder); pp.set_public(); EXPECT_TRUE(CircuitChecker::check(builder)); - // Validate default PairingPoints - CommitmentKey commitment_key; - bb::PairingPoints native_pp(P0.get_value(), P1.get_value()); + // Validate default PairingPoints via native pairing check + bb::PairingPoints native_pp(pp.P0().get_value(), pp.P1().get_value()); EXPECT_TRUE(native_pp.check()) << "Default PairingPoints are not valid pairing points."; } -TYPED_TEST(PairingPointsTests, TaggingMechanismWorks) +// Pairwise aggregate computes this = this + r * other with correct Fiat-Shamir challenge +TYPED_TEST(PairingPointsTests, Aggregate) +{ + using Curve = TypeParam; + using Builder = typename Curve::Builder; + using Group = typename Curve::Group; + using Fr = typename Curve::ScalarField; + + Builder builder; + auto pps = TestFixture::template create_valid_pairing_points(&builder, 2); + + // Save the original values before aggregation mutates pps[0] + auto orig_P0 = pps[0].P0(); + auto orig_P1 = pps[0].P1(); + + pps[0].aggregate(pps[1]); + + // Replicate the transcript to derive the same separator + bb::StdlibTranscript transcript{}; + transcript.add_to_hash_buffer("Accumulator_P0", orig_P0); + transcript.add_to_hash_buffer("Accumulator_P1", orig_P1); + transcript.add_to_hash_buffer("Aggregated_P0", pps[1].P0()); + transcript.add_to_hash_buffer("Aggregated_P1", pps[1].P1()); + auto r = transcript.template get_challenge("recursion_separator"); + + // Expected: orig + r * other + Group expected_P0 = orig_P0 + pps[1].P0() * r; + Group expected_P1 = orig_P1 + pps[1].P1() * r; + + EXPECT_EQ(pps[0].P0().get_value(), expected_P0.get_value()); + EXPECT_EQ(pps[0].P1().get_value(), expected_P1.get_value()); + + EXPECT_TRUE(CircuitChecker::check(builder)); +} + +// Aggregating into an unpopulated LHS simply copies the RHS +TYPED_TEST(PairingPointsTests, AggregateIntoEmpty) +{ + using Curve = TypeParam; + using Builder = typename Curve::Builder; + using PP = PairingPoints; + + Builder builder; + auto pps = TestFixture::template create_valid_pairing_points(&builder, 1); + + // Default-constructed PairingPoints has no data + PP empty; + EXPECT_FALSE(empty.is_populated()); + + // Aggregating into empty should just copy the other + empty.aggregate(pps[0]); + EXPECT_TRUE(empty.is_populated()); + EXPECT_EQ(empty.P0().get_value(), pps[0].P0().get_value()); + EXPECT_EQ(empty.P1().get_value(), pps[0].P1().get_value()); +} + +// N-way aggregate computes P₀ + r₁·P₁ + r₂·P₂ with correct Fiat-Shamir challenges +TYPED_TEST(PairingPointsTests, AggregateMultiple) +{ + using Curve = TypeParam; + using Builder = typename Curve::Builder; + using PP = PairingPoints; + using Group = typename Curve::Group; + using Fr = typename Curve::ScalarField; + + Builder builder; + auto pps = TestFixture::template create_valid_pairing_points(&builder, 3); + + // Replicate the transcript to derive the same challenges + bb::StdlibTranscript transcript{}; + for (size_t idx = 0; idx < 3; ++idx) { + transcript.add_to_hash_buffer("first_component_" + std::to_string(idx), pps[idx].P0()); + transcript.add_to_hash_buffer("second_component_" + std::to_string(idx), pps[idx].P1()); + } + std::vector labels = { "pp_aggregation_challenge_1", "pp_aggregation_challenge_2" }; + auto challenges = transcript.template get_challenges(labels); + + // Expected: P₀ + r₁·P₁ + r₂·P₂ + Group expected_P0 = pps[0].P0() + pps[1].P0() * challenges[0] + pps[2].P0() * challenges[1]; + Group expected_P1 = pps[0].P1() + pps[1].P1() * challenges[0] + pps[2].P1() * challenges[1]; + + std::vector pp_vec = { pps[0], pps[1], pps[2] }; + PP aggregated = PP::aggregate_multiple(pp_vec); + + EXPECT_EQ(aggregated.P0().get_value(), expected_P0.get_value()); + EXPECT_EQ(aggregated.P1().get_value(), expected_P1.get_value()); + EXPECT_TRUE(CircuitChecker::check(builder)); +} + +// set_public then reconstruct_from_public recovers the same point values +TYPED_TEST(PairingPointsTests, PublicInputSerdeRoundTrip) +{ + using Curve = TypeParam; + using Builder = typename Curve::Builder; + using PP = PairingPoints; + using Fr = Curve::ScalarField; + using PublicPP = stdlib::PublicInputComponent; + + Builder builder; + + // Create witness pairing points from known defaults + PP original = PP::construct_default(); + original.P0().convert_constant_to_fixed_witness(&builder); + original.P1().convert_constant_to_fixed_witness(&builder); + EXPECT_TRUE(original.is_populated()); + + // Serialize to public inputs + uint32_t start_idx = original.set_public(); + + // Extract the public inputs as field_t elements + std::vector public_inputs; + for (uint32_t var_idx : builder.public_inputs()) { + public_inputs.emplace_back(Fr::from_witness_index(&builder, var_idx)); + } + + // Reconstruct via PublicInputComponent (exercises reconstruct_from_public) + PP reconstructed = PublicPP::reconstruct(public_inputs, PublicComponentKey{ start_idx }); + EXPECT_TRUE(reconstructed.is_populated()); + + // Verify the round-tripped values match + EXPECT_EQ(reconstructed.P0().get_value(), original.P0().get_value()); + EXPECT_EQ(reconstructed.P1().get_value(), original.P1().get_value()); + + EXPECT_TRUE(CircuitChecker::check(builder)); +} + +// ============================================================================= +// Tagging mechanism tests (tag tracking, merge, ProverInstance enforcement) +// ============================================================================= + +template class PairingPointsTaggingTests : public testing::Test { + public: + static void SetUpTestSuite() { bb::srs::init_file_crs_factory(bb::srs::bb_crs_path()); } +}; + +TYPED_TEST_SUITE(PairingPointsTaggingTests, Curves); + +// Tags are assigned sequentially and unified by aggregate / aggregate_multiple +TYPED_TEST(PairingPointsTaggingTests, TagCreationAndMerge) { using Curve = TypeParam; using Builder = typename Curve::Builder; @@ -113,9 +288,9 @@ TYPED_TEST(PairingPointsTests, TaggingMechanismWorks) EXPECT_TRUE(builder.pairing_points_tagging.has_single_pairing_point_tag()); } -TYPED_TEST(PairingPointsTests, TaggingMechanismFails) +// ProverInstance rejects unaggregated or non-public pairing points +TYPED_TEST(PairingPointsTaggingTests, ProverInstanceRejectsUnmergedTags) { - using Curve = TypeParam; using Builder = typename Curve::Builder; using PairingPoints = PairingPoints; @@ -173,7 +348,8 @@ TYPED_TEST(PairingPointsTests, TaggingMechanismFails) ProverInstance prover_instance(builder); } -TYPED_TEST(PairingPointsTests, CopyConstructorWorks) +// Copying a PairingPoints shares the same tag (no new equivalence class) +TYPED_TEST(PairingPointsTaggingTests, CopyPreservesTag) { using Curve = TypeParam; using Builder = typename Curve::Builder; @@ -201,67 +377,40 @@ TYPED_TEST(PairingPointsTests, CopyConstructorWorks) builder.pairing_points_tagging.get_tag(pp_copy.tag_index)); } -TYPED_TEST(PairingPointsTests, AggregateMultipleWithDuplicatePoints) +// After set_public, no further merges or set_public calls are allowed +TYPED_TEST(PairingPointsTaggingTests, SetPublicIsTerminal) { using Curve = TypeParam; using Builder = typename Curve::Builder; using PairingPoints = PairingPoints; using Group = PairingPoints::Group; + using Fr = PairingPoints::Fr; + using NativeFr = typename Curve::ScalarFieldNative; Builder builder; - // Use default pairing points that are known to satisfy the pairing equation - Group P0(DEFAULT_PAIRING_POINT_P0_X, DEFAULT_PAIRING_POINT_P0_Y, /*assert_on_curve=*/false); - Group P1(DEFAULT_PAIRING_POINT_P1_X, DEFAULT_PAIRING_POINT_P1_Y, /*assert_on_curve=*/false); - P0.convert_constant_to_fixed_witness(&builder); - P1.convert_constant_to_fixed_witness(&builder); - - // Create duplicate pairing points (same P0, P1) - PairingPoints pp_first = { P0, P1 }; - PairingPoints pp_second = { P0, P1 }; // Duplicate - PairingPoints pp_third = { P0, P1 }; // Another duplicate - - // Test aggregate_multiple with all duplicate points - // The n-1 optimization computes: P_agg = P₀ + r₁·P₁ + r₂·P₂ - // With duplicates: P_agg = P + r₁·P + r₂·P = (1 + r₁ + r₂)·P - // This tests that the optimization handles the edge case where first point equals others - std::vector pp_vector = { pp_first, pp_second, pp_third }; - PairingPoints aggregated = PairingPoints::aggregate_multiple(pp_vector); - - // Circuit should be valid - EXPECT_TRUE(CircuitChecker::check(builder)); + Fr scalar_one = Fr::from_witness(&builder, NativeFr::random_element()); + Fr scalar_two = Fr::from_witness(&builder, NativeFr::random_element()); + Group P0 = Group::batch_mul({ Group::one(&builder) }, { scalar_one }); + Group P1 = Group::batch_mul({ Group::one(&builder) }, { scalar_two }); - // Verify tags are properly merged - EXPECT_TRUE(builder.pairing_points_tagging.has_single_pairing_point_tag()); + PairingPoints pp_one = { P0, P1 }; + PairingPoints pp_two = { P0, P1 }; - // Verify the result is exactly what we expect: (1 + r₁ + r₂)·(P0, P1) - // We replicate the challenge generation to compute the expected scalar - using Fr = typename Curve::ScalarField; - bb::StdlibTranscript transcript{}; - for (size_t idx = 0; idx < 3; ++idx) { - transcript.add_to_hash_buffer("first_component_" + std::to_string(idx), pp_vector[idx].P0()); - transcript.add_to_hash_buffer("second_component_" + std::to_string(idx), pp_vector[idx].P1()); - } - std::array challenge_labels = { "pp_aggregation_challenge_1", "pp_aggregation_challenge_2" }; - std::array challenges = transcript.template get_challenges(challenge_labels); + pp_one.aggregate(pp_two); + stdlib::recursion::honk::DefaultIO inputs; + inputs.pairing_inputs = pp_one; + inputs.set_public(); - // Compute expected result: (1 + r₁ + r₂)·P0 - Fr total_scalar = Fr(1); - for (const auto& challenge : challenges) { - total_scalar += challenge; - } - Group expected_P0 = P0 * total_scalar; - Group expected_P1 = P1 * total_scalar; - - // Verify the aggregated result matches the expected result - EXPECT_EQ(aggregated.P0().get_value(), expected_P0.get_value()) << "Aggregated P0 should equal (1 + r₁ + r₂)·P0"; - EXPECT_EQ(aggregated.P1().get_value(), expected_P1.get_value()) << "Aggregated P1 should equal (1 + r₁ + r₂)·P1"; - - // The result should still be a valid pairing point (scalar multiple of the original) - bb::PairingPoints native_aggregated(aggregated.P0().get_value(), - aggregated.P1().get_value()); - EXPECT_TRUE(native_aggregated.check()) - << "Aggregated duplicate pairing points should still satisfy pairing equation"; + // Cannot merge after set_public + PairingPoints pp_three = { P0, P1 }; + EXPECT_THROW_WITH_MESSAGE(pp_one.aggregate(pp_three), + "Cannot merge pairing point tags after pairing points have been set to public."); + + // Cannot set_public twice + EXPECT_THROW_WITH_MESSAGE( + builder.pairing_points_tagging.set_public_pairing_points(), + "Trying to set pairing points to public for a circuit that already has public pairing points."); } } // namespace bb::stdlib::recursion diff --git a/barretenberg/cpp/src/barretenberg/vm2/constraining/verifier.cpp b/barretenberg/cpp/src/barretenberg/vm2/constraining/verifier.cpp index 7743df0e1d97..d9ffb8f95ef9 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/constraining/verifier.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/constraining/verifier.cpp @@ -57,7 +57,6 @@ bool AvmVerifier::verify_proof(const HonkProof& proof, const std::vector; using ClaimBatcher = ClaimBatcher_; using ClaimBatch = ClaimBatcher::Batch; - using VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey; using Challenges = Flavor::AllEntities; RelationParameters relation_parameters; @@ -198,8 +197,7 @@ bool AvmVerifier::verify_proof(const HonkProof& proof, const std::vector Date: Sat, 14 Feb 2026 11:45:35 +0000 Subject: [PATCH 02/12] fix: default pp handling (#20516) simplifying external api and making pp aware of its defaultness, so that set_public() chooses the right path --- .../primitives/biggroup/biggroup.test.cpp | 7 ++++ .../stdlib/primitives/pairing_points.hpp | 25 +++++++++++---- .../stdlib/primitives/pairing_points.test.cpp | 21 ++++++------ .../special_public_inputs.hpp | 32 ++----------------- 4 files changed, 41 insertions(+), 44 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp index 83cf7c062003..facc1710c983 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp @@ -163,6 +163,13 @@ template class stdlib_biggroup : public testing::Test { { Builder builder; STANDARD_TESTING_TAGS; + // Suppress unused warnings for tags not used in this test + (void)first_and_third_merged_tag; + (void)first_second_third_merged_tag; + (void)first_to_fourth_merged_tag; + (void)instant_death_tag; + (void)next_submitted_value_origin_tag; + (void)next_challenge_tag; // Setup: two points with different tags auto [input_a, a] = get_random_point(&builder, InputType::WITNESS); diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp index 49136460d2da..c87964f35620 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.hpp @@ -40,6 +40,7 @@ template struct PairingPoints { const Group& P1() const { return _points[1]; } bool is_populated() const { return has_data_; } + bool is_default() const { return is_default_; } PairingPoints() = default; @@ -187,6 +188,7 @@ template struct PairingPoints { transcript.add_to_hash_buffer("Aggregated_P1", other.P1()); auto recursion_separator = transcript.template get_challenge("recursion_separator"); + is_default_ = false; // After aggregation, points are no longer default // If Mega Builder is in use, the EC operations are deferred via Goblin. // batch_mul with constant scalar 1 is optimal here (Goblin uses add instead of mul). if constexpr (std::is_same_v) { @@ -215,11 +217,21 @@ template struct PairingPoints { /** * @brief Set the witness indices for the pairing points to public + * @details For default (infinity) pairing points, uses set_default_to_public which directly adds zero limbs + * as public inputs, bypassing bigfield::set_public() which cannot handle constant-coordinate infinity points. + * @param ctx Optional builder context; required for default pairing points which have no circuit context. * @return uint32_t The index into the public inputs array at which the representation is stored */ - uint32_t set_public() + uint32_t set_public(Builder* ctx = nullptr) { BB_ASSERT(this->has_data_, "Calling set_public on empty pairing points."); + if (is_default_) { + Builder* builder = validate_context(ctx, P0().get_context(), P1().get_context()); + BB_ASSERT(builder != nullptr, "set_public on default pairing points requires a builder context."); + return set_default_to_public(builder); + } + Builder* builder = validate_context(ctx, P0().get_context(), P1().get_context()); + builder->pairing_points_tagging.set_public_pairing_points(); uint32_t start_idx = P0().set_public(); P1().set_public(); return start_idx; @@ -255,15 +267,13 @@ template struct PairingPoints { */ static uint32_t set_default_to_public(Builder* builder) { + builder->pairing_points_tagging.set_public_pairing_points(); // Infinity is represented as (0,0) in biggroup. Directly add zero limbs as public inputs, bypassing bigfield's // self_reduce. - uint32_t start_idx = 0; + uint32_t start_idx = static_cast(builder->num_public_inputs()); for (size_t i = 0; i < PUBLIC_INPUTS_SIZE; i++) { uint32_t idx = builder->add_public_variable(bb::fr(0)); builder->fix_witness(idx, bb::fr(0)); - if (i == 0) { - start_idx = idx; - } } return start_idx; } @@ -276,12 +286,15 @@ template struct PairingPoints { { Group P0(Fq(0), Fq(0), /*assert_on_curve=*/false); Group P1(Fq(0), Fq(0), /*assert_on_curve=*/false); - return PairingPoints(P0, P1); + PairingPoints pp(P0, P1); + pp.is_default_ = true; + return pp; } private: std::array _points; bool has_data_ = false; + bool is_default_ = false; // True for default (infinity) pairing points from construct_default() }; template std::ostream& operator<<(std::ostream& os, PairingPoints const& as) diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp index 3633aee0428a..cf6d56dc92e1 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/pairing_points.test.cpp @@ -80,9 +80,8 @@ TYPED_TEST(PairingPointsTests, DefaultPointsAreValid) Builder builder; auto pp = PP::construct_default(); - pp.P0().convert_constant_to_fixed_witness(&builder); - pp.P1().convert_constant_to_fixed_witness(&builder); - pp.set_public(); + EXPECT_TRUE(pp.is_default()); + pp.set_public(&builder); EXPECT_TRUE(CircuitChecker::check(builder)); // Validate default PairingPoints via native pairing check @@ -100,12 +99,15 @@ TYPED_TEST(PairingPointsTests, Aggregate) Builder builder; auto pps = TestFixture::template create_valid_pairing_points(&builder, 2); + EXPECT_FALSE(pps[0].is_default()); + EXPECT_FALSE(pps[1].is_default()); // Save the original values before aggregation mutates pps[0] auto orig_P0 = pps[0].P0(); auto orig_P1 = pps[0].P1(); pps[0].aggregate(pps[1]); + EXPECT_FALSE(pps[0].is_default()); // Replicate the transcript to derive the same separator bb::StdlibTranscript transcript{}; @@ -138,10 +140,12 @@ TYPED_TEST(PairingPointsTests, AggregateIntoEmpty) // Default-constructed PairingPoints has no data PP empty; EXPECT_FALSE(empty.is_populated()); + EXPECT_FALSE(empty.is_default()); - // Aggregating into empty should just copy the other + // Aggregating into empty should just copy the other (including is_default flag) empty.aggregate(pps[0]); EXPECT_TRUE(empty.is_populated()); + EXPECT_FALSE(empty.is_default()); EXPECT_EQ(empty.P0().get_value(), pps[0].P0().get_value()); EXPECT_EQ(empty.P1().get_value(), pps[0].P1().get_value()); } @@ -174,6 +178,7 @@ TYPED_TEST(PairingPointsTests, AggregateMultiple) std::vector pp_vec = { pps[0], pps[1], pps[2] }; PP aggregated = PP::aggregate_multiple(pp_vec); + EXPECT_FALSE(aggregated.is_default()); EXPECT_EQ(aggregated.P0().get_value(), expected_P0.get_value()); EXPECT_EQ(aggregated.P1().get_value(), expected_P1.get_value()); EXPECT_TRUE(CircuitChecker::check(builder)); @@ -190,14 +195,12 @@ TYPED_TEST(PairingPointsTests, PublicInputSerdeRoundTrip) Builder builder; - // Create witness pairing points from known defaults + // Create default (infinity) pairing points PP original = PP::construct_default(); - original.P0().convert_constant_to_fixed_witness(&builder); - original.P1().convert_constant_to_fixed_witness(&builder); EXPECT_TRUE(original.is_populated()); - // Serialize to public inputs - uint32_t start_idx = original.set_public(); + // Serialize to public inputs (set_public detects default and uses set_default_to_public) + uint32_t start_idx = original.set_public(&builder); // Extract the public inputs as field_t elements std::vector public_inputs; diff --git a/barretenberg/cpp/src/barretenberg/stdlib/special_public_inputs/special_public_inputs.hpp b/barretenberg/cpp/src/barretenberg/stdlib/special_public_inputs/special_public_inputs.hpp index 748242f94bbe..1fa3ccf812f3 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/special_public_inputs/special_public_inputs.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/special_public_inputs/special_public_inputs.hpp @@ -113,13 +113,7 @@ class KernelIO { { Builder* builder = output_hn_accum_hash.get_context(); - Builder* pairing_ctx = validate_context(pairing_inputs); - if (pairing_ctx == nullptr) { - // Both points are constant - add the default pairing points to public inputs - PairingInputs::set_default_to_public(builder); - } else { - pairing_inputs.set_public(); - } + pairing_inputs.set_public(builder); kernel_return_data.set_public(); app_return_data.set_public(); for (auto& table_commitment : ecc_op_tables) { @@ -127,8 +121,6 @@ class KernelIO { } output_hn_accum_hash.set_public(); - // Record that pairing points have been set to public - builder->pairing_points_tagging.set_public_pairing_points(); // Finalize the public inputs to ensure no more public inputs can be added hereafter. builder->finalize_public_inputs(); } @@ -197,8 +189,6 @@ template class DefaultIO { pairing_inputs.set_public(); - // Record that pairing points have been set to public - builder->pairing_points_tagging.set_public_pairing_points(); // Finalize the public inputs to ensure no more public inputs can be added hereafter. builder->finalize_public_inputs(); } @@ -264,8 +254,6 @@ template class GoblinAvmIO { transcript_hash.set_public(); pairing_inputs.set_public(); - // Record that pairing points have been set to public - builder->pairing_points_tagging.set_public_pairing_points(); // Finalize the public inputs to ensure no more public inputs can be added hereafter. builder->finalize_public_inputs(); } @@ -321,19 +309,12 @@ template class HidingKernelIO { { Builder* builder = ecc_op_tables[0].get_context(); - if (validate_context(pairing_inputs) == nullptr) { - // Both points are constant - add the default pairing points to public inputs - PairingInputs::set_default_to_public(builder); - } else { - pairing_inputs.set_public(); - } + pairing_inputs.set_public(builder); kernel_return_data.set_public(); for (auto& commitment : ecc_op_tables) { commitment.set_public(); } - // Record that pairing points have been set to public - builder->pairing_points_tagging.set_public_pairing_points(); // Finalize the public inputs to ensure no more public inputs can be added hereafter. builder->finalize_public_inputs(); } @@ -402,16 +383,9 @@ class RollupIO { { Builder* builder = ipa_claim.commitment.get_context(); - if (validate_context(pairing_inputs) == nullptr) { - // Both points are constant - add the default pairing points to public inputs - PairingInputs::set_default_to_public(builder); - } else { - pairing_inputs.set_public(); - } + pairing_inputs.set_public(builder); ipa_claim.set_public(); - // Record that pairing points have been set to public - builder->pairing_points_tagging.set_public_pairing_points(); // Finalize the public inputs to ensure no more public inputs can be added hereafter. builder->finalize_public_inputs(); } From c59581e02b88c6c1ee659dd9c8b363c0198b839a Mon Sep 17 00:00:00 2001 From: federicobarbacovi <171914500+federicobarbacovi@users.noreply.github.com> Date: Mon, 16 Feb 2026 07:03:32 +0000 Subject: [PATCH 03/12] chore: Address DSL audit comments (#20074) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 🧾 Audit Context Address DSL audit comments. ### 🛠️ Changes Made - Fix typos in docs - Fix broken links (they now point at a fixed commit) - Simplify deserialisation function - Fix wrong parameter in QuadConstraintTests - Change usage of `std::visit` from `if`/`else` with `constexpr` to `overloads`. This ensures compiler failure if we forget to handle some cases (as it was: we were not handling `Call`) ### ✅ Checklist - [ ] Audited all methods of the relevant module/class - [ ] Audited the interface of the module/class with other (relevant) components - [ ] Documented existing functionality and any changes made (as per Doxygen requirements) - [ ] Resolved and/or closed all issues/TODOs pertaining to the audited files - [ ] Confirmed and documented any security or other issues found (if applicable) - [ ] Verified that tests cover all critical paths (and added tests if necessary) - [ ] Updated audit tracking for the files audited (check the start of each file you audited) ### 📌 Notes for Reviewers (Optional) Call out anything that reviewers should pay close attention to — like logic changes, performance implications, or potential regressions. --- .../barretenberg/dsl/acir_format/README.md | 30 +- .../acir_format/acir_to_constraint_buf.cpp | 753 +++++++++--------- .../acir_format/acir_to_constraint_buf.hpp | 10 +- .../acir_format/arithmetic_constraints.hpp | 6 +- .../arithmetic_constraints.test.cpp | 2 +- 5 files changed, 417 insertions(+), 384 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/README.md b/barretenberg/cpp/src/barretenberg/dsl/acir_format/README.md index fea6cc440d86..ba89e51fccd8 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/README.md +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/README.md @@ -16,15 +16,15 @@ From now on, we focus only on the case in which the backend is barretenberg. ## `Opcode` -The following is the list of opcodes (see [`Opcode`](serde/acir.hpp#L3905)): +The following is the list of opcodes (see [`Opcode`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3224)): -- [`AssertZero`](serde/acir.hpp#L3907) -- [`MemoryInit`](serde/acir.hpp#L3971) -- [`MemoryOp`](serde/acir.hpp#L3947) -- [`BrilligCall`](serde/acir.hpp#L3998) -- [`BlackBoxFuncCall`](serde/acir.hpp#L3927) +- [`AssertZero`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3226) +- [`MemoryInit`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3281) +- [`MemoryOp`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3258) +- [`BrilligCall`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3307) +- [`BlackBoxFuncCall`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3242) -**Note:** There is another opcode: [`Call`](serde/acir.hpp#L4028), which was meant to be used to expose folding to Noir. We are not supporting this functionality, so barretenberg fails the reconstruction of a serialized Noir program if it encounters a `Call` opcode. +**Note:** There is another opcode: [`Call`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3336), which was meant to be used to expose folding to Noir. We are not supporting this functionality, so barretenberg fails the reconstruction of a serialized Noir program if it encounters a `Call` opcode. ### `AssertZero` @@ -48,28 +48,28 @@ A `MemoryInit` opcode contains a list of witness indices representing the indice A `MemoryOp` opcode contains the type of the operation, the index of the element of the table on which to perform the operation, and the value to be read or written. -**Note:** `MemoryOp` use [`Acir::Expression`](serde/acir.hpp#L3565)s to represent the operation type, the index, and the value. Barretenberg enforces that the expressions encode the data type they are supposed to represent. For example, the type of the operation is supposed to be represented by and expression with no multiplication terms, no linear terms, and with a constant term equal to either one or zero. When converting the expression to a memory operation type, barretenberg asserts that these assumptions are satisfied. +**Note:** `MemoryOp` uses [`Acir::Expression`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L2959)s to represent the operation type, the index, and the value. Barretenberg enforces that the expressions encode the data type they are supposed to represent. For example, the type of the operation is supposed to be represented by and expression with no multiplication terms, no linear terms, and with a constant term equal to either one or zero. When converting the expression to a memory operation type, barretenberg asserts that these assumptions are satisfied. ### `BrilligCall` `BrilligCall` opcodes are no-ops in barretenberg. They are unconstrained functions in Noir that add witnesses without adding constraints for them. -### `BlackBoxFunctionCall` +### `BlackBoxFuncCall` -`BlackBoxFunctionCall` opcodes represent calls from Noir to functions that are implemented in barretenberg. An example is recursive verification: to perform recursive verification from Noir, we call `std::verify_with_type`, which adds a `BlackBoxFunctionCall` opcode for recursive verification. Then, when barretenberg parses this opcode, it adds the constraints for recursive verification using the witness indices passed by Noir. +`BlackBoxFuncCall` opcodes represent calls from Noir to functions that are implemented in barretenberg. An example is recursive verification: to perform recursive verification from Noir, we call `std::verify_with_type`, which adds a `BlackBoxFuncCall` opcode for recursive verification. Then, when barretenberg parses this opcode, it adds the constraints for recursive verification using the witness indices passed by Noir. ## Bytes to `Builder` -The conversion from a buffer of bytes to a `Builder` object happens in two steps. The buffer of bytes is first converted into an instance of the [`AcirFormat`](acir_format.hpp#L69) struct. Then, this struct is used to construct a `Builder`. +The conversion from a buffer of bytes to a `Builder` object happens in two steps. The buffer of bytes is first converted into an instance of the [`AcirFormat`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp#L82) struct. Then, this struct is used to construct a `Builder`. ### Bytes to `AcirFormat` -Instances of the [`AcirFormat`](acir_format.hpp#L69) struct contain a record of all the constraints written in Noir. Barretenberg's role is to take this record and construct a builder out of it. The `Builder` object can then be used to generate a Honk proof, a verification key, or accumulated during the generation of a Chonk proof. +Instances of the `AcirFormat` struct contain a record of all the constraints written in Noir. Barretenberg's role is to take this record and construct a builder out of it. The `Builder` object can then be used to generate a Honk proof, a verification key, or accumulated during the generation of a Chonk proof. -The single entrypoint for the conversion from a buffer of bytes into an instance of `AcirFormat` is the function [`circuit_buf_to_acir_format`](acir_to_constraint_buf.cpp#L166). This function deserializes the buffer according to the msgpack serialization format. The result of the deserialization is an instance of the [`Acir::Circuit`](serde/acir.hpp#L4502) struct, which the opcodes representing the Noir program. +The single entrypoint for the conversion from a buffer of bytes into an instance of `AcirFormat` is the function [`circuit_buf_to_acir_format`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp#L109). This function deserializes the buffer according to the msgpack serialization format. The result of the deserialization is an instance of the [`Acir::Circuit`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/serde/acir.hpp#L3705) struct, which the opcodes representing the Noir program. -The `Acir::Circuit` is passed to [`circuit_serde_to_acir_format`](acir_to_constraint_buf.cpp#L115), which processes all of the opcodes and adds them to an instance of `AcirFormat`. This step is simply converting one representation (`Acir::Circuit`) into another (`AcirFormat`). +The `Acir::Circuit` is passed to [`circuit_serde_to_acir_format`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp#L96), which processes all of the opcodes and adds them to an instance of `AcirFormat`. This step is simply converting one representation (`Acir::Circuit`) into another (`AcirFormat`). ### `AcirFormat` to `Builder` -The instance of [`AcirFormat`](acir_format.hpp#L69) is then passed to the function [`create_circuit`](acir_format.cpp#L640), which constructs a `Builder` object with all the required constraints. This step is where barretenberg's handling of opcodes comes into play: the gates added to the builder depend on the internals of barretenberg and they would be different if we used a different backend. +The instance of `AcirFormat` is then passed to the function [`create_circuit`](https://github.com/AztecProtocol/aztec-packages/blob/795cd3ae80ba971a6d018b6d31e563c2fec870d3/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_format.hpp#L156), which constructs a `Builder` object with all the required constraints. This step is where barretenberg's handling of opcodes comes into play: the gates added to the builder depend on the internals of barretenberg and they would be different if we used a different backend. diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp index 562e22016322..ea138c1e4439 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.cpp @@ -29,6 +29,10 @@ using namespace bb; /// ========= HELPERS ========= /// +template struct overloaded : Ts... { + using Ts::operator()...; +}; + bb::fr from_buffer_with_bound_checks(const std::vector& buffer) { BB_ASSERT_EQ(buffer.size(), 32U, "acir_format::from_buffer_with_bound_checks: buffer size must be 32 bytes."); @@ -37,27 +41,21 @@ bb::fr from_buffer_with_bound_checks(const std::vector& buffer) WitnessOrConstant parse_input(const Acir::FunctionInput& input) { - WitnessOrConstant result = std::visit( - [&](auto&& e) { - using T = std::decay_t; - if constexpr (std::is_same_v) { - return WitnessOrConstant{ - .index = e.value.value, - .value = bb::fr::zero(), - .is_constant = false, - }; - } else if constexpr (std::is_same_v) { - return WitnessOrConstant{ - .index = bb::stdlib::IS_CONSTANT, - .value = from_buffer_with_bound_checks(e.value), - .is_constant = true, - }; - } else { - bb::assert_failure("acir_format::parse_input: unrecognized Acir::FunctionInput variant. An error here " - "means there was a serialization error."); - } - }, - input.value); + WitnessOrConstant result = std::visit(overloaded{ [](const Acir::FunctionInput::Witness& e) { + return WitnessOrConstant{ + .index = e.value.value, + .value = bb::fr::zero(), + .is_constant = false, + }; + }, + [](const Acir::FunctionInput::Constant& e) { + return WitnessOrConstant{ + .index = bb::stdlib::IS_CONSTANT, + .value = from_buffer_with_bound_checks(e.value), + .is_constant = true, + }; + } }, + input.value); return result; } @@ -104,166 +102,197 @@ void update_max_witness_index_from_opcode(Acir::Opcode const& opcode, AcirFormat }; std::visit( - [&](auto&& arg) { - using T = std::decay_t; - if constexpr (std::is_same_v) { - update_max_witness_index_from_expression(arg.value, af); - } else if constexpr (std::is_same_v) { - std::visit( - [&](auto&& bb_arg) { - using BBT = std::decay_t; - if constexpr (std::is_same_v || - std::is_same_v) { - update_max_witness_index_from_function_input(bb_arg.lhs); - update_max_witness_index_from_function_input(bb_arg.rhs); - update_max_witness_index_from_witness(bb_arg.output); - } else if constexpr (std::is_same_v) { - update_max_witness_index_from_function_input(bb_arg.input); - } else if constexpr (std::is_same_v) { - for (const auto& input : bb_arg.inputs) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.iv) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.key) { - update_max_witness_index_from_function_input(input); - } - for (const auto& output : bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } else if constexpr (std::is_same_v) { - for (const auto& input : *bb_arg.inputs) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.hash_values) { - update_max_witness_index_from_function_input(input); - } - for (const auto& output : *bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } else if constexpr (std::is_same_v || - std::is_same_v) { - for (const auto& input : bb_arg.inputs) { - update_max_witness_index_from_function_input(input); - } - for (const auto& output : *bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } else if constexpr (std::is_same_v || - std::is_same_v) { - for (const auto& input : *bb_arg.public_key_x) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.public_key_y) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.signature) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.hashed_message) { - update_max_witness_index_from_function_input(input); - } - update_max_witness_index_from_function_input(bb_arg.predicate); - update_max_witness_index_from_witness(bb_arg.output); - } else if constexpr (std::is_same_v) { - for (const auto& input : bb_arg.points) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : bb_arg.scalars) { - update_max_witness_index_from_function_input(input); - } - update_max_witness_index_from_function_input(bb_arg.predicate); - for (const auto& output : *bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } else if constexpr (std::is_same_v) { - for (const auto& input : *bb_arg.input1) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : *bb_arg.input2) { - update_max_witness_index_from_function_input(input); - } - update_max_witness_index_from_function_input(bb_arg.predicate); - for (const auto& output : *bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } else if constexpr (std::is_same_v) { - for (const auto& input : *bb_arg.inputs) { - update_max_witness_index_from_function_input(input); - } - for (const auto& output : *bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } else if constexpr (std::is_same_v) { - for (const auto& input : bb_arg.verification_key) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : bb_arg.proof) { - update_max_witness_index_from_function_input(input); - } - for (const auto& input : bb_arg.public_inputs) { - update_max_witness_index_from_function_input(input); - } - update_max_witness_index_from_function_input(bb_arg.key_hash); - update_max_witness_index_from_function_input(bb_arg.predicate); - } else if constexpr (std::is_same_v) { - for (const auto& input : bb_arg.inputs) { - update_max_witness_index_from_function_input(input); - } - for (const auto& output : bb_arg.outputs) { - update_max_witness_index_from_witness(output); - } - } - }, - arg.value.value); - } else if constexpr (std::is_same_v) { + overloaded{ + [&](const Acir::Opcode::AssertZero& arg) { update_max_witness_index_from_expression(arg.value, af); }, + [&](const Acir::Opcode::BlackBoxFuncCall& arg) { + std::visit(overloaded{ [&](const Acir::BlackBoxFuncCall::AND& bb_arg) { + update_max_witness_index_from_function_input(bb_arg.lhs); + update_max_witness_index_from_function_input(bb_arg.rhs); + update_max_witness_index_from_witness(bb_arg.output); + }, + [&](const Acir::BlackBoxFuncCall::XOR& bb_arg) { + update_max_witness_index_from_function_input(bb_arg.lhs); + update_max_witness_index_from_function_input(bb_arg.rhs); + update_max_witness_index_from_witness(bb_arg.output); + }, + [&](const Acir::BlackBoxFuncCall::RANGE& bb_arg) { + update_max_witness_index_from_function_input(bb_arg.input); + }, + [&](const Acir::BlackBoxFuncCall::AES128Encrypt& bb_arg) { + for (const auto& input : bb_arg.inputs) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.iv) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.key) { + update_max_witness_index_from_function_input(input); + } + for (const auto& output : bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::Sha256Compression& bb_arg) { + for (const auto& input : *bb_arg.inputs) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.hash_values) { + update_max_witness_index_from_function_input(input); + } + for (const auto& output : *bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::Blake2s& bb_arg) { + for (const auto& input : bb_arg.inputs) { + update_max_witness_index_from_function_input(input); + } + for (const auto& output : *bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::Blake3& bb_arg) { + for (const auto& input : bb_arg.inputs) { + update_max_witness_index_from_function_input(input); + } + for (const auto& output : *bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::EcdsaSecp256k1& bb_arg) { + for (const auto& input : *bb_arg.public_key_x) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.public_key_y) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.signature) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.hashed_message) { + update_max_witness_index_from_function_input(input); + } + update_max_witness_index_from_function_input(bb_arg.predicate); + update_max_witness_index_from_witness(bb_arg.output); + }, + [&](const Acir::BlackBoxFuncCall::EcdsaSecp256r1& bb_arg) { + for (const auto& input : *bb_arg.public_key_x) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.public_key_y) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.signature) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.hashed_message) { + update_max_witness_index_from_function_input(input); + } + update_max_witness_index_from_function_input(bb_arg.predicate); + update_max_witness_index_from_witness(bb_arg.output); + }, + [&](const Acir::BlackBoxFuncCall::MultiScalarMul& bb_arg) { + for (const auto& input : bb_arg.points) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : bb_arg.scalars) { + update_max_witness_index_from_function_input(input); + } + update_max_witness_index_from_function_input(bb_arg.predicate); + for (const auto& output : *bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::EmbeddedCurveAdd& bb_arg) { + for (const auto& input : *bb_arg.input1) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : *bb_arg.input2) { + update_max_witness_index_from_function_input(input); + } + update_max_witness_index_from_function_input(bb_arg.predicate); + for (const auto& output : *bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::Keccakf1600& bb_arg) { + for (const auto& input : *bb_arg.inputs) { + update_max_witness_index_from_function_input(input); + } + for (const auto& output : *bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + }, + [&](const Acir::BlackBoxFuncCall::RecursiveAggregation& bb_arg) { + for (const auto& input : bb_arg.verification_key) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : bb_arg.proof) { + update_max_witness_index_from_function_input(input); + } + for (const auto& input : bb_arg.public_inputs) { + update_max_witness_index_from_function_input(input); + } + update_max_witness_index_from_function_input(bb_arg.key_hash); + update_max_witness_index_from_function_input(bb_arg.predicate); + }, + [&](const Acir::BlackBoxFuncCall::Poseidon2Permutation& bb_arg) { + for (const auto& input : bb_arg.inputs) { + update_max_witness_index_from_function_input(input); + } + for (const auto& output : bb_arg.outputs) { + update_max_witness_index_from_witness(output); + } + } }, + arg.value.value); + }, + [&](const Acir::Opcode::MemoryInit& arg) { for (const auto& init : arg.init) { update_max_witness_index_from_witness(init); } - } else if constexpr (std::is_same_v) { + }, + [&](const Acir::Opcode::MemoryOp& arg) { update_max_witness_index_from_expression(arg.op.index, af); update_max_witness_index_from_expression(arg.op.value, af); update_max_witness_index_from_expression(arg.op.operation, af); - } else if constexpr (std::is_same_v) { - // Process inputs + }, + [&](const Acir::Opcode::BrilligCall& arg) { for (const auto& input : arg.inputs) { - std::visit( - [&](auto&& e) { - using IT = std::decay_t; - if constexpr (std::is_same_v) { - update_max_witness_index_from_expression(e.value, af); - } else if constexpr (std::is_same_v) { - for (const auto& expr : e.value) { - update_max_witness_index_from_expression(expr, af); - } - } - // MemoryArray contains a BlockId, no direct witnesses to track - }, - input.value); + std::visit(overloaded{ + [&](const Acir::BrilligInputs::Single& e) { + update_max_witness_index_from_expression(e.value, af); + }, + [&](const Acir::BrilligInputs::Array& e) { + for (const auto& expr : e.value) { + update_max_witness_index_from_expression(expr, af); + } + }, + [&](const Acir::BrilligInputs::MemoryArray&) { + // MemoryArray does not contain witnesses directly, so nothing to do here. + }, + }, + input.value); } - // Process outputs for (const auto& output : arg.outputs) { - std::visit( - [&](auto&& e) { - using OT = std::decay_t; - if constexpr (std::is_same_v) { - update_max_witness_index_from_witness(e.value); - } else if constexpr (std::is_same_v) { - for (const auto& witness : e.value) { - update_max_witness_index_from_witness(witness); - } - } - }, - output.value); + std::visit(overloaded{ + [&](const Acir::BrilligOutputs::Simple& e) { + update_max_witness_index_from_witness(e.value); + }, + [&](const Acir::BrilligOutputs::Array& e) { + for (const auto& witness : e.value) { + update_max_witness_index_from_witness(witness); + } + }, + }, + output.value); } - // Process optional predicate if (arg.predicate.has_value()) { update_max_witness_index_from_expression(arg.predicate.value(), af); } - } else { - bb::assert_failure("acir_format::update_max_witness_index_from_opcode: Unrecognized opcode."); - } + }, + [&](const Acir::Opcode::Call&) { + bb::assert_failure("acir_format::update_max_witness_index_from_opcode: Call opcode is not supported."); + }, }, opcode.value); } @@ -325,29 +354,26 @@ AcirFormat circuit_serde_to_acir_format(Acir::Circuit const& circuit) const auto& gate = circuit.opcodes[i]; update_max_witness_index_from_opcode(gate, af); std::visit( - [&](auto&& arg) { - using T = std::decay_t; - if constexpr (std::is_same_v) { - assert_zero_to_quad_constraints(arg, af, i); - } else if constexpr (std::is_same_v) { - add_blackbox_func_call_to_acir_format(arg, af, i); - } else if constexpr (std::is_same_v) { + overloaded{ + [&](const Acir::Opcode::AssertZero& arg) { assert_zero_to_quad_constraints(arg, af, i); }, + [&](const Acir::Opcode::BlackBoxFuncCall& arg) { add_blackbox_func_call_to_acir_format(arg, af, i); }, + [&](const Acir::Opcode::MemoryInit& arg) { auto block = memory_init_to_block_constraint(arg); uint32_t block_id = arg.block_id.value; block_id_to_block_constraint[block_id] = { block, /*opcode_indices=*/{ i } }; - } else if constexpr (std::is_same_v) { + }, + [&](const Acir::Opcode::MemoryOp& arg) { auto block = block_id_to_block_constraint.find(arg.block_id.value); if (block == block_id_to_block_constraint.end()) { - bb::assert_failure("acir_format::circuit_serder_to_acir_format: unitialized MemoryOp."); + bb::assert_failure("acir_format::circuit_serde_to_acir_format: unitialized MemoryOp."); } add_memory_op_to_block_constraint(arg, block->second.first); block->second.second.push_back(i); - } else if constexpr (std::is_same_v) { - // This is a no-op in barretenberg - } else { - bb::assert_failure("acir_format::circuit_serde_to_acir_format: Unrecognized Acir Opcode. An error " - "here means there was a serialization error."); - } + }, + [&](const Acir::Opcode::BrilligCall&) {}, + [&](const Acir::Opcode::Call&) { + bb::assert_failure("acir_format::circuit_serde_to_acir_format: Call opcode is not supported."); + }, }, gate.value); } @@ -363,20 +389,20 @@ AcirFormat circuit_serde_to_acir_format(Acir::Circuit const& circuit) AcirFormat circuit_buf_to_acir_format(std::vector&& buf) { // We need to deserialize into Acir::Program first because the buffer returned by Noir has this structure - auto program = deserialize_msgpack_compact(std::move(buf), [](auto o) -> Acir::Program { - Acir::Program program; - try { - // Deserialize into a partial structure that ignores the Brillig parts, - // so that new opcodes can be added without breaking Barretenberg. + auto program = deserialize_msgpack_compact( + std::move(buf), [](auto o) -> Acir::ProgramWithoutBrillig { Acir::ProgramWithoutBrillig program_wob; - o.convert(program_wob); - program.functions = program_wob.functions; - } catch (const msgpack::type_error&) { - std::cerr << o << std::endl; - bb::assert_failure("acir_format::circuit_buf_to_acir_format: failed to convert msgpack data to Program"); - } - return program; - }); + try { + // Deserialize into a partial structure that ignores the Brillig parts, + // so that new opcodes can be added without breaking Barretenberg. + o.convert(program_wob); + } catch (const msgpack::type_error&) { + std::cerr << o << std::endl; + bb::assert_failure( + "acir_format::circuit_buf_to_acir_format: failed to convert msgpack data to Program"); + } + return program_wob; + }); BB_ASSERT_EQ(program.functions.size(), 1U, "circuit_buf_to_acir_format: expected single function in ACIR program"); return circuit_serde_to_acir_format(program.functions[0]); @@ -574,170 +600,177 @@ void add_blackbox_func_call_to_acir_format(Acir::Opcode::BlackBoxFuncCall const& AcirFormat& af, size_t opcode_index) { - auto to_witness_or_constant = [&](const Acir::FunctionInput& e) { return parse_input(e); }; - auto to_witness = [&](const Acir::Witness& e) { return e.value; }; - auto to_witness_from_input = [&](const Acir::FunctionInput& e) { return get_witness_from_function_input(e); }; + auto to_witness_or_constant = [](const Acir::FunctionInput& e) { return parse_input(e); }; + auto to_witness = [](const Acir::Witness& e) { return e.value; }; + auto to_witness_from_input = [](const Acir::FunctionInput& e) { return get_witness_from_function_input(e); }; std::visit( - [&](auto&& arg) { - using T = std::decay_t; - if constexpr (std::is_same_v) { - af.logic_constraints.push_back(LogicConstraint{ - .a = parse_input(arg.lhs), - .b = parse_input(arg.rhs), - .result = to_witness(arg.output), - .num_bits = arg.num_bits, - .is_xor_gate = false, - }); - af.original_opcode_indices.logic_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.logic_constraints.push_back(LogicConstraint{ - .a = parse_input(arg.lhs), - .b = parse_input(arg.rhs), - .result = to_witness(arg.output), - .num_bits = arg.num_bits, - .is_xor_gate = true, - }); - af.original_opcode_indices.logic_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.range_constraints.push_back(RangeConstraint{ - .witness = get_witness_from_function_input(arg.input), - .num_bits = arg.num_bits, - }); - af.original_opcode_indices.range_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.aes128_constraints.push_back(AES128Constraint{ - .inputs = transform::map(arg.inputs, to_witness_or_constant), - .iv = transform::map(*arg.iv, to_witness_or_constant), - .key = transform::map(*arg.key, to_witness_or_constant), - .outputs = transform::map(arg.outputs, to_witness), - }); - af.original_opcode_indices.aes128_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.sha256_compression.push_back(Sha256Compression{ - .inputs = transform::map(*arg.inputs, to_witness_or_constant), - .hash_values = transform::map(*arg.hash_values, to_witness_or_constant), - .result = transform::map(*arg.outputs, to_witness), - }); - af.original_opcode_indices.sha256_compression.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.blake2s_constraints.push_back(Blake2sConstraint{ - .inputs = transform::map(arg.inputs, to_witness_or_constant), - .result = transform::map(*arg.outputs, to_witness), - }); - af.original_opcode_indices.blake2s_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.blake3_constraints.push_back(Blake3Constraint{ - .inputs = transform::map(arg.inputs, to_witness_or_constant), - .result = transform::map(*arg.outputs, to_witness), - }); - af.original_opcode_indices.blake3_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.ecdsa_k1_constraints.push_back(EcdsaConstraint{ - .type = bb::CurveType::SECP256K1, - .hashed_message = transform::map(*arg.hashed_message, to_witness_from_input), - .signature = transform::map(*arg.signature, to_witness_from_input), - .pub_x_indices = transform::map(*arg.public_key_x, to_witness_from_input), - .pub_y_indices = transform::map(*arg.public_key_y, to_witness_from_input), - .predicate = parse_input(arg.predicate), - .result = to_witness(arg.output), - }); - af.original_opcode_indices.ecdsa_k1_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.ecdsa_r1_constraints.push_back(EcdsaConstraint{ - .type = bb::CurveType::SECP256R1, - .hashed_message = transform::map(*arg.hashed_message, to_witness_from_input), - .signature = transform::map(*arg.signature, to_witness_from_input), - .pub_x_indices = transform::map(*arg.public_key_x, to_witness_from_input), - .pub_y_indices = transform::map(*arg.public_key_y, to_witness_from_input), - .predicate = parse_input(arg.predicate), - .result = to_witness(arg.output), - }); - af.original_opcode_indices.ecdsa_r1_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.multi_scalar_mul_constraints.push_back(MultiScalarMul{ - .points = transform::map(arg.points, to_witness_or_constant), - .scalars = transform::map(arg.scalars, to_witness_or_constant), - .predicate = parse_input(arg.predicate), - .out_point_x = to_witness((*arg.outputs)[0]), - .out_point_y = to_witness((*arg.outputs)[1]), - .out_point_is_infinite = to_witness((*arg.outputs)[2]), - }); - af.original_opcode_indices.multi_scalar_mul_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.ec_add_constraints.push_back(EcAdd{ - .input1_x = parse_input((*arg.input1)[0]), - .input1_y = parse_input((*arg.input1)[1]), - .input1_infinite = parse_input((*arg.input1)[2]), - .input2_x = parse_input((*arg.input2)[0]), - .input2_y = parse_input((*arg.input2)[1]), - .input2_infinite = parse_input((*arg.input2)[2]), - .predicate = parse_input(arg.predicate), - .result_x = to_witness((*arg.outputs)[0]), - .result_y = to_witness((*arg.outputs)[1]), - .result_infinite = to_witness((*arg.outputs)[2]), - }); - af.original_opcode_indices.ec_add_constraints.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - af.keccak_permutations.push_back(Keccakf1600{ - .state = transform::map(*arg.inputs, to_witness_or_constant), - .result = transform::map(*arg.outputs, to_witness), - }); - af.original_opcode_indices.keccak_permutations.push_back(opcode_index); - } else if constexpr (std::is_same_v) { - auto predicate = parse_input(arg.predicate); - if (predicate.is_constant && predicate.value.is_zero()) { - // No constraint if the recursion is disabled - return; - } - auto c = RecursionConstraint{ - .key = transform::map(arg.verification_key, to_witness_from_input), - .proof = transform::map(arg.proof, to_witness_from_input), - .public_inputs = transform::map(arg.public_inputs, to_witness_from_input), - .key_hash = get_witness_from_function_input(arg.key_hash), - .proof_type = arg.proof_type, - .predicate = predicate, - }; - - // Add the recursion constraint to the appropriate container based on proof type - switch (c.proof_type) { - case HONK_ZK: - case HONK: - case ROLLUP_HONK: - case ROOT_ROLLUP_HONK: - af.honk_recursion_constraints.push_back(c); - af.original_opcode_indices.honk_recursion_constraints.push_back(opcode_index); - break; - case OINK: - case HN: - case HN_TAIL: - case HN_FINAL: - af.hn_recursion_constraints.push_back(c); - af.original_opcode_indices.hn_recursion_constraints.push_back(opcode_index); - break; - case AVM: - af.avm_recursion_constraints.push_back(c); - af.original_opcode_indices.avm_recursion_constraints.push_back(opcode_index); - break; - case CHONK: - af.chonk_recursion_constraints.push_back(c); - af.original_opcode_indices.chonk_recursion_constraints.push_back(opcode_index); - break; - default: - bb::assert_failure( - "acir_format::handle_black_box_fun_call: Invalid PROOF_TYPE in RecursionConstraint."); - } - } else if constexpr (std::is_same_v) { - af.poseidon2_constraints.push_back(Poseidon2Constraint{ - .state = transform::map(arg.inputs, to_witness_or_constant), - .result = transform::map(arg.outputs, to_witness), - }); - af.original_opcode_indices.poseidon2_constraints.push_back(opcode_index); - } else { - bb::assert_failure("acir_format::handle_blackbox_func_call: Unrecognized BlackBoxFuncCall variant. An " - "error here means there was a serialization error."); - } - }, + overloaded{ [&](const Acir::BlackBoxFuncCall::AND& arg) { + af.logic_constraints.push_back(LogicConstraint{ + .a = parse_input(arg.lhs), + .b = parse_input(arg.rhs), + .result = to_witness(arg.output), + .num_bits = arg.num_bits, + .is_xor_gate = false, + }); + af.original_opcode_indices.logic_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::XOR& arg) { + af.logic_constraints.push_back(LogicConstraint{ + .a = parse_input(arg.lhs), + .b = parse_input(arg.rhs), + .result = to_witness(arg.output), + .num_bits = arg.num_bits, + .is_xor_gate = true, + }); + af.original_opcode_indices.logic_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::RANGE& arg) { + af.range_constraints.push_back(RangeConstraint{ + .witness = get_witness_from_function_input(arg.input), + .num_bits = arg.num_bits, + }); + af.original_opcode_indices.range_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::AES128Encrypt& arg) { + af.aes128_constraints.push_back(AES128Constraint{ + .inputs = transform::map(arg.inputs, to_witness_or_constant), + .iv = transform::map(*arg.iv, to_witness_or_constant), + .key = transform::map(*arg.key, to_witness_or_constant), + .outputs = transform::map(arg.outputs, to_witness), + }); + af.original_opcode_indices.aes128_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::Sha256Compression& arg) { + af.sha256_compression.push_back(Sha256Compression{ + .inputs = transform::map(*arg.inputs, to_witness_or_constant), + .hash_values = transform::map(*arg.hash_values, to_witness_or_constant), + .result = transform::map(*arg.outputs, to_witness), + }); + af.original_opcode_indices.sha256_compression.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::Blake2s& arg) { + af.blake2s_constraints.push_back(Blake2sConstraint{ + .inputs = transform::map(arg.inputs, to_witness_or_constant), + .result = transform::map(*arg.outputs, to_witness), + }); + af.original_opcode_indices.blake2s_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::Blake3& arg) { + af.blake3_constraints.push_back(Blake3Constraint{ + .inputs = transform::map(arg.inputs, to_witness_or_constant), + .result = transform::map(*arg.outputs, to_witness), + }); + af.original_opcode_indices.blake3_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::EcdsaSecp256k1& arg) { + af.ecdsa_k1_constraints.push_back(EcdsaConstraint{ + .type = bb::CurveType::SECP256K1, + .hashed_message = transform::map(*arg.hashed_message, to_witness_from_input), + .signature = transform::map(*arg.signature, to_witness_from_input), + .pub_x_indices = transform::map(*arg.public_key_x, to_witness_from_input), + .pub_y_indices = transform::map(*arg.public_key_y, to_witness_from_input), + .predicate = parse_input(arg.predicate), + .result = to_witness(arg.output), + }); + af.original_opcode_indices.ecdsa_k1_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::EcdsaSecp256r1& arg) { + af.ecdsa_r1_constraints.push_back(EcdsaConstraint{ + .type = bb::CurveType::SECP256R1, + .hashed_message = transform::map(*arg.hashed_message, to_witness_from_input), + .signature = transform::map(*arg.signature, to_witness_from_input), + .pub_x_indices = transform::map(*arg.public_key_x, to_witness_from_input), + .pub_y_indices = transform::map(*arg.public_key_y, to_witness_from_input), + .predicate = parse_input(arg.predicate), + .result = to_witness(arg.output), + }); + af.original_opcode_indices.ecdsa_r1_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::MultiScalarMul& arg) { + af.multi_scalar_mul_constraints.push_back(MultiScalarMul{ + .points = transform::map(arg.points, to_witness_or_constant), + .scalars = transform::map(arg.scalars, to_witness_or_constant), + .predicate = parse_input(arg.predicate), + .out_point_x = to_witness((*arg.outputs)[0]), + .out_point_y = to_witness((*arg.outputs)[1]), + .out_point_is_infinite = to_witness((*arg.outputs)[2]), + }); + af.original_opcode_indices.multi_scalar_mul_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::EmbeddedCurveAdd& arg) { + af.ec_add_constraints.push_back(EcAdd{ + .input1_x = parse_input((*arg.input1)[0]), + .input1_y = parse_input((*arg.input1)[1]), + .input1_infinite = parse_input((*arg.input1)[2]), + .input2_x = parse_input((*arg.input2)[0]), + .input2_y = parse_input((*arg.input2)[1]), + .input2_infinite = parse_input((*arg.input2)[2]), + .predicate = parse_input(arg.predicate), + .result_x = to_witness((*arg.outputs)[0]), + .result_y = to_witness((*arg.outputs)[1]), + .result_infinite = to_witness((*arg.outputs)[2]), + }); + af.original_opcode_indices.ec_add_constraints.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::Keccakf1600& arg) { + af.keccak_permutations.push_back(Keccakf1600{ + .state = transform::map(*arg.inputs, to_witness_or_constant), + .result = transform::map(*arg.outputs, to_witness), + }); + af.original_opcode_indices.keccak_permutations.push_back(opcode_index); + }, + [&](const Acir::BlackBoxFuncCall::RecursiveAggregation& arg) { + auto predicate = parse_input(arg.predicate); + if (predicate.is_constant && predicate.value.is_zero()) { + // No constraint if the recursion is disabled + return; + } + auto c = RecursionConstraint{ + .key = transform::map(arg.verification_key, to_witness_from_input), + .proof = transform::map(arg.proof, to_witness_from_input), + .public_inputs = transform::map(arg.public_inputs, to_witness_from_input), + .key_hash = get_witness_from_function_input(arg.key_hash), + .proof_type = arg.proof_type, + .predicate = predicate, + }; + + // Add the recursion constraint to the appropriate container based on proof type + switch (c.proof_type) { + case HONK_ZK: + case HONK: + case ROLLUP_HONK: + case ROOT_ROLLUP_HONK: + af.honk_recursion_constraints.push_back(c); + af.original_opcode_indices.honk_recursion_constraints.push_back(opcode_index); + break; + case OINK: + case HN: + case HN_TAIL: + case HN_FINAL: + af.hn_recursion_constraints.push_back(c); + af.original_opcode_indices.hn_recursion_constraints.push_back(opcode_index); + break; + case AVM: + af.avm_recursion_constraints.push_back(c); + af.original_opcode_indices.avm_recursion_constraints.push_back(opcode_index); + break; + case CHONK: + af.chonk_recursion_constraints.push_back(c); + af.original_opcode_indices.chonk_recursion_constraints.push_back(opcode_index); + break; + default: + bb::assert_failure( + "acir_format::handle_black_box_fun_call: Invalid PROOF_TYPE in RecursionConstraint."); + } + }, + [&](const Acir::BlackBoxFuncCall::Poseidon2Permutation& arg) { + af.poseidon2_constraints.push_back(Poseidon2Constraint{ + .state = transform::map(arg.inputs, to_witness_or_constant), + .result = transform::map(arg.outputs, to_witness), + }); + af.original_opcode_indices.poseidon2_constraints.push_back(opcode_index); + } }, arg.value.value); } @@ -774,7 +807,7 @@ BlockConstraint memory_init_to_block_constraint(Acir::Opcode::MemoryInit const& void add_memory_op_to_block_constraint(Acir::Opcode::MemoryOp const& mem_op, BlockConstraint& block) { // Lambda to convert an Acir::Expression to a witness index - auto acir_expression_to_witness_or_constant = [&](const Acir::Expression& expr) { + auto acir_expression_to_witness_or_constant = [](const Acir::Expression& expr) { // Noir gives us witnesses or constants for read/write operations. We use the following assertions to ensure // that the data coming from Noir is in the correct form. BB_ASSERT(expr.mul_terms.empty(), "MemoryOp should not have multiplication terms"); @@ -797,7 +830,7 @@ void add_memory_op_to_block_constraint(Acir::Opcode::MemoryOp const& mem_op, Blo }; // Lambda to determine whether a memory operation is a read or write operation - auto is_read_operation = [&](const Acir::Expression& expr) { + auto is_read_operation = [](const Acir::Expression& expr) { BB_ASSERT(expr.mul_terms.empty(), "MemoryOp expression should not have multiplication terms"); BB_ASSERT(expr.linear_combinations.empty(), "MemoryOp expression should not have linear terms"); diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp index 7fad1bb7dc1f..fb871c8ce234 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/acir_to_constraint_buf.hpp @@ -98,7 +98,7 @@ AcirFormat circuit_serde_to_acir_format(Acir::Circuit const& circuit); /** * @brief Convert from the ACIR-native `WitnessMap` format to Barretenberg's internal `WitnessVector` format. * - * @note This transformation results in all unassigned witnesses within the `WitnessMap` being assigned the value 0. + * @note This transformation results in all unassigned witnesses within the `WitnessMap` being assigned a random value. * Converting the `WitnessVector` back to a `WitnessMap` is unlikely to return the exact same `WitnessMap`. */ WitnessVector witness_map_to_witness_vector(Witnesses::WitnessMap const& witness_map); @@ -156,9 +156,9 @@ bool is_single_arithmetic_gate(Acir::Expression const& arg, const std::map void create_quad_constraint(Builder& builder, QuadCo * arithmetic gate as it contains 2 multiplications terms (and also because it contains 7 distinct witnesses). We turn this expression into * the following series of gates (where w4_shift is toggled on in all gates but the last one): * - * | a_idx | b_idx | c_idx | d_idx | mul_scaling | a_scaling | b_scaling | c_scaling | d_scaling | const_idx | + * | a_idx | b_idx | c_idx | d_idx | mul_scaling | a_scaling | b_scaling | c_scaling | d_scaling | const | * |-------|-------|-------|------------------------------|-------------|-----------|-----------|-----------|-----------|-------------| - * | w1 | w2 | w5 | w6 | 1 | 1 | 1 | 1 | 1 | const | - * | w3 | w4 | w7 | -(w1 * w2 + w5 + w6 + const) | 1 | 1 | 1 | 1 | -1 | IS_CONSTANT | + * | w1 | w2 | w5 | w6 | 1 | 0 | 0 | 1 | 1 | const | + * | w3 | w4 | w7 | -(w1 * w2 + w5 + w6 + const) | 1 | 1 | 1 | 1 | -1 | 0 | * * If we didn't have the option of using w4_shift, we would have needed a third gate to accomodate the expression. Note that we * don't know the witness index of the witness -(w1 * w2 + w5 + w6 + const) when we split the expression into multiple gates. diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/arithmetic_constraints.test.cpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/arithmetic_constraints.test.cpp index c8374a0894e0..a35451b373ea 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/arithmetic_constraints.test.cpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/arithmetic_constraints.test.cpp @@ -341,7 +341,7 @@ using QuadConstraintConfigs = testing::Types< ArithmeticConstraintParams, // Maximal case in one gate ArithmeticConstraintParams, // Maximal case in one gate ArithmeticConstraintParams, - ArithmeticConstraintParams, // Maximal case in one gate + ArithmeticConstraintParams, // Maximal case in one gate ArithmeticConstraintParams, ArithmeticConstraintParams, ArithmeticConstraintParams, From 310dc658ec45da5605588ae8f3eee8e7c3176891 Mon Sep 17 00:00:00 2001 From: sergei iakovenko <105737703+iakovenkos@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:29:42 +0100 Subject: [PATCH 04/12] fix: skip default pp in sol aggregation (#20521) after switching from default on-curve pp (P_0, P_1) to (0,0) sol would fail at on-curve validation step for these values, skip aggregation step if default value is provided --------- Co-authored-by: ledwards2225 --- .../dsl/acir_proofs/honk_contract.hpp | 550 +++++++++-------- .../acir_proofs/honk_optimized_contract.hpp | 87 +-- .../dsl/acir_proofs/honk_zk_contract.hpp | 571 +++++++++--------- .../primitives/biggroup/biggroup.test.cpp | 9 - .../barretenberg/transcript/origin_tag.hpp | 19 +- barretenberg/sol/CLAUDE.md | 33 + barretenberg/sol/bootstrap.sh | 9 +- .../check_generated_contracts_synced.sh | 51 ++ barretenberg/sol/scripts/copy_to_cpp.sh | 1 + .../sol/src/honk/BaseHonkVerifier.sol | 24 +- .../sol/src/honk/BaseZKHonkVerifier.sol | 24 +- .../optimised/honk-optimized.sol.template | 87 +-- barretenberg/sol/src/honk/utils.sol | 12 + .../test/honk/negative/NegativeTestBase.sol | 6 +- .../test/honk/negative/NegativeTestBaseZK.sol | 8 +- 15 files changed, 826 insertions(+), 665 deletions(-) create mode 100755 barretenberg/sol/scripts/check_generated_contracts_synced.sh diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_contract.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_contract.hpp index b72eabf2d7dd..e0b143c2d1e2 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_contract.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_contract.hpp @@ -18,13 +18,37 @@ interface IVerifier { function verify(bytes calldata _proof, bytes32[] calldata _publicInputs) external view returns (bool); } +/** + * @notice Library of error codes + * @dev You can run `forge inspect Errors errors` to get the selectors for the optimised verifier + */ +library Errors { + error ValueGeLimbMax(); + error ValueGeGroupOrder(); + error ValueGeFieldOrder(); + + error InvertOfZero(); + error NotPowerOfTwo(); + error ModExpFailed(); + + error ProofLengthWrong(); + error ProofLengthWrongWithLogN(uint256 logN, uint256 actualLength, uint256 expectedLength); + error PublicInputsLengthWrong(); + error SumcheckFailed(); + error ShpleminiFailed(); + + error PointAtInfinity(); + + error ConsistencyCheckFailed(); + error GeminiChallengeInSubgroup(); +} + type Fr is uint256; using {add as +} for Fr global; using {sub as -} for Fr global; using {mul as *} for Fr global; -using {exp as ^} for Fr global; using {notEqual as !=} for Fr global; using {equal as ==} for Fr global; @@ -39,26 +63,12 @@ Fr constant ZERO = Fr.wrap(0); // Instantiation library FrLib { - function from(uint256 value) internal pure returns (Fr) { - unchecked { - return Fr.wrap(value % MODULUS); - } - } - - function fromBytes32(bytes32 value) internal pure returns (Fr) { - unchecked { - return Fr.wrap(uint256(value) % MODULUS); - } - } - - function toBytes32(Fr value) internal pure returns (bytes32) { - unchecked { - return bytes32(Fr.unwrap(value)); - } - } + bytes4 internal constant FRLIB_MODEXP_FAILED_SELECTOR = 0xf8d61709; function invert(Fr value) internal view returns (Fr) { uint256 v = Fr.unwrap(value); + require(v != 0, Errors.InvertOfZero()); + uint256 result; // Call the modexp precompile to invert in the field @@ -68,14 +78,15 @@ library FrLib { mstore(add(free, 0x20), 0x20) mstore(add(free, 0x40), 0x20) mstore(add(free, 0x60), v) - mstore(add(free, 0x80), sub(MODULUS, 2)) + mstore(add(free, 0x80), sub(MODULUS, 2)) mstore(add(free, 0xa0), MODULUS) let success := staticcall(gas(), 0x05, free, 0xc0, 0x00, 0x20) if iszero(success) { - revert(0, 0) + mstore(0x00, FRLIB_MODEXP_FAILED_SELECTOR) + revert(0, 0x04) } result := mload(0x00) - mstore(0x40, add(free, 0x80)) + mstore(0x40, add(free, 0xc0)) } return Fr.wrap(result); @@ -83,6 +94,8 @@ library FrLib { function pow(Fr base, uint256 v) internal view returns (Fr) { uint256 b = Fr.unwrap(base); + // Only works for power of 2 + require(v > 0 && (v & (v - 1)) == 0, Errors.NotPowerOfTwo()); uint256 result; // Call the modexp precompile to invert in the field @@ -92,14 +105,15 @@ library FrLib { mstore(add(free, 0x20), 0x20) mstore(add(free, 0x40), 0x20) mstore(add(free, 0x60), b) - mstore(add(free, 0x80), v) + mstore(add(free, 0x80), v) mstore(add(free, 0xa0), MODULUS) let success := staticcall(gas(), 0x05, free, 0xc0, 0x00, 0x20) if iszero(success) { - revert(0, 0) + mstore(0x00, FRLIB_MODEXP_FAILED_SELECTOR) + revert(0, 0x04) } result := mload(0x00) - mstore(0x40, add(free, 0x80)) + mstore(0x40, add(free, 0xc0)) } return Fr.wrap(result); @@ -128,6 +142,27 @@ library FrLib { return Fr.wrap(MODULUS - Fr.unwrap(value)); } } + + function from(uint256 value) internal pure returns (Fr) { + unchecked { + require(value < MODULUS, Errors.ValueGeFieldOrder()); + return Fr.wrap(value); + } + } + + function fromBytes32(bytes32 value) internal pure returns (Fr) { + unchecked { + uint256 v = uint256(value); + require(v < MODULUS, Errors.ValueGeFieldOrder()); + return Fr.wrap(v); + } + } + + function toBytes32(Fr value) internal pure returns (bytes32) { + unchecked { + return bytes32(Fr.unwrap(value)); + } + } } // Free functions @@ -149,15 +184,6 @@ function sub(Fr a, Fr b) pure returns (Fr) { } } -function exp(Fr base, Fr exponent) pure returns (Fr) { - if (Fr.unwrap(exponent) == 0) return Fr.wrap(1); - // Implement exponent with a loop as we will overflow otherwise - for (uint256 i = 1; i < Fr.unwrap(exponent); i += i) { - base = base * base; - } - return base; -} - function notEqual(Fr a, Fr b) pure returns (bool) { unchecked { return Fr.unwrap(a) != Fr.unwrap(b); @@ -369,7 +395,7 @@ library TranscriptLib { uint256 vkHash, uint256 publicInputsSize, uint256 logN - ) internal view returns (Transcript memory t) { + ) internal pure returns (Transcript memory t) { Fr previousChallenge; (t.relationParameters, previousChallenge) = generateRelationParametersChallenges(proof, publicInputs, vkHash, publicInputsSize, previousChallenge); @@ -396,8 +422,8 @@ library TranscriptLib { // Split into two equal 127-bit chunks (254/2) uint256 lo = challengeU256 & 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; // 127 bits uint256 hi = challengeU256 >> 127; - first = FrLib.fromBytes32(bytes32(lo)); - second = FrLib.fromBytes32(bytes32(hi)); + first = FrLib.from(lo); + second = FrLib.from(hi); } function generateRelationParametersChallenges( @@ -422,7 +448,8 @@ library TranscriptLib { round0[0] = bytes32(vkHash); for (uint256 i = 0; i < publicInputsSize - PAIRING_POINTS_SIZE; i++) { - round0[1 + i] = bytes32(publicInputs[i]); + require(uint256(publicInputs[i]) < P, Errors.ValueGeFieldOrder()); + round0[1 + i] = publicInputs[i]; } for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { round0[1 + publicInputsSize - PAIRING_POINTS_SIZE + i] = FrLib.toBytes32(proof.pairingPointObject[i]); @@ -437,7 +464,7 @@ library TranscriptLib { round0[1 + publicInputsSize + 4] = bytes32(proof.w3.x); round0[1 + publicInputsSize + 5] = bytes32(proof.w3.y); - previousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(round0))); + previousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(round0))) % P); (eta,) = splitChallenge(previousChallenge); } @@ -455,7 +482,7 @@ library TranscriptLib { round1[5] = bytes32(proof.w4.x); round1[6] = bytes32(proof.w4.y); - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(round1))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(round1))) % P); (beta, gamma) = splitChallenge(nextPreviousChallenge); } @@ -473,7 +500,7 @@ library TranscriptLib { alpha0[3] = proof.zPerm.x; alpha0[4] = proof.zPerm.y; - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(alpha0))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(alpha0))) % P); Fr alpha; (alpha,) = splitChallenge(nextPreviousChallenge); @@ -489,7 +516,7 @@ library TranscriptLib { pure returns (Fr[CONST_PROOF_SIZE_LOG_N] memory gateChallenges, Fr nextPreviousChallenge) { - previousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(Fr.unwrap(previousChallenge)))); + previousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(Fr.unwrap(previousChallenge)))) % P); (gateChallenges[0],) = splitChallenge(previousChallenge); for (uint256 i = 1; i < logN; i++) { gateChallenges[i] = gateChallenges[i - 1] * gateChallenges[i - 1]; @@ -509,7 +536,7 @@ library TranscriptLib { for (uint256 j = 0; j < BATCHED_RELATION_PARTIAL_LENGTH; j++) { univariateChal[j + 1] = proof.sumcheckUnivariates[i][j]; } - prevChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(univariateChal))); + prevChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(univariateChal))) % P); Fr unused; (sumcheckChallenges[i], unused) = splitChallenge(prevChallenge); } @@ -528,7 +555,7 @@ library TranscriptLib { rhoChallengeElements[i + 1] = proof.sumcheckEvaluations[i]; } - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(rhoChallengeElements))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(rhoChallengeElements))) % P); Fr unused; (rho, unused) = splitChallenge(nextPreviousChallenge); } @@ -546,7 +573,7 @@ library TranscriptLib { gR[2 + i * 2] = proof.geminiFoldComms[i].y; } - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(gR))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(gR))) % P); Fr unused; (geminiR, unused) = splitChallenge(nextPreviousChallenge); } @@ -563,14 +590,14 @@ library TranscriptLib { shplonkNuChallengeElements[i + 1] = Fr.unwrap(proof.geminiAEvaluations[i]); } - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(shplonkNuChallengeElements))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(shplonkNuChallengeElements))) % P); Fr unused; (shplonkNu, unused) = splitChallenge(nextPreviousChallenge); } function generateShplonkZChallenge(Honk.Proof memory proof, Fr prevChallenge) internal - view + pure returns (Fr shplonkZ, Fr nextPreviousChallenge) { uint256[3] memory shplonkZChallengeElements; @@ -579,7 +606,7 @@ library TranscriptLib { shplonkZChallengeElements[1] = proof.shplonkQ.x; shplonkZChallengeElements[2] = proof.shplonkQ.y; - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(shplonkZChallengeElements))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(shplonkZChallengeElements))) % P); Fr unused; (shplonkZ, unused) = splitChallenge(nextPreviousChallenge); } @@ -589,7 +616,10 @@ library TranscriptLib { // Pairing point object for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { - p.pairingPointObject[i] = bytesToFr(proof[boundary:boundary + FIELD_ELEMENT_SIZE]); + uint256 limb = uint256(bytes32(proof[boundary:boundary + FIELD_ELEMENT_SIZE])); + // lo limbs (even index) < 2^136, hi limbs (odd index) < 2^120 + require(limb < 2 ** (i % 2 == 0 ? 136 : 120), Errors.ValueGeLimbMax()); + p.pairingPointObject[i] = FrLib.from(limb); boundary += FIELD_ELEMENT_SIZE; } // Commitments @@ -646,10 +676,91 @@ library TranscriptLib { } } -// Field arithmetic libraries - library RelationsLib { + struct EllipticParams { + // Points + Fr x_1; + Fr y_1; + Fr x_2; + Fr y_2; + Fr y_3; + Fr x_3; + // push accumulators into memory + Fr x_double_identity; + } + + // Parameters used within the Memory Relation + // A struct is used to work around stack too deep. This relation has alot of variables + struct MemParams { + Fr memory_record_check; + Fr partial_record_check; + Fr next_gate_access_type; + Fr record_delta; + Fr index_delta; + Fr adjacent_values_match_if_adjacent_indices_match; + Fr adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation; + Fr access_check; + Fr next_gate_access_type_is_boolean; + Fr ROM_consistency_check_identity; + Fr RAM_consistency_check_identity; + Fr timestamp_delta; + Fr RAM_timestamp_check_identity; + Fr memory_identity; + Fr index_is_monotonically_increasing; + } + + // Parameters used within the Non-Native Field Relation + // A struct is used to work around stack too deep. This relation has alot of variables + struct NnfParams { + Fr limb_subproduct; + Fr non_native_field_gate_1; + Fr non_native_field_gate_2; + Fr non_native_field_gate_3; + Fr limb_accumulator_1; + Fr limb_accumulator_2; + Fr nnf_identity; + } + + struct PoseidonExternalParams { + Fr s1; + Fr s2; + Fr s3; + Fr s4; + Fr u1; + Fr u2; + Fr u3; + Fr u4; + Fr t0; + Fr t1; + Fr t2; + Fr t3; + Fr v1; + Fr v2; + Fr v3; + Fr v4; + Fr q_pos_by_scaling; + } + + struct PoseidonInternalParams { + Fr u1; + Fr u2; + Fr u3; + Fr u4; + Fr u_sum; + Fr v1; + Fr v2; + Fr v3; + Fr v4; + Fr s1; + Fr q_pos_by_scaling; + } + Fr internal constant GRUMPKIN_CURVE_B_PARAMETER_NEGATED = Fr.wrap(17); // -(-17) + uint256 internal constant NEG_HALF_MODULO_P = 0x183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f8000000; + + // Constants for the Non-native Field relation + Fr internal constant LIMB_SIZE = Fr.wrap(uint256(1) << 68); + Fr internal constant SUBLIMB_SHIFT = Fr.wrap(uint256(1) << 14); function accumulateRelationEvaluations( Fr[NUMBER_OF_ENTITIES] memory purportedEvaluations, @@ -683,12 +794,10 @@ library RelationsLib { return p[uint256(_wire)]; } - uint256 internal constant NEG_HALF_MODULO_P = 0x183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f8000000; /** * Ultra Arithmetic Relation * */ - function accumulateArithmeticRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -875,18 +984,6 @@ library RelationsLib { } } - struct EllipticParams { - // Points - Fr x_1; - Fr y_1; - Fr x_2; - Fr y_2; - Fr y_3; - Fr x_3; - // push accumulators into memory - Fr x_double_identity; - } - function accumulateEllipticRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -955,26 +1052,6 @@ library RelationsLib { } } - // Parameters used within the Memory Relation - // A struct is used to work around stack too deep. This relation has alot of variables - struct MemParams { - Fr memory_record_check; - Fr partial_record_check; - Fr next_gate_access_type; - Fr record_delta; - Fr index_delta; - Fr adjacent_values_match_if_adjacent_indices_match; - Fr adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation; - Fr access_check; - Fr next_gate_access_type_is_boolean; - Fr ROM_consistency_check_identity; - Fr RAM_consistency_check_identity; - Fr timestamp_delta; - Fr RAM_timestamp_check_identity; - Fr memory_identity; - Fr index_is_monotonically_increasing; - } - function accumulateMemoryRelation( Fr[NUMBER_OF_ENTITIES] memory p, Honk.RelationParameters memory rp, @@ -1144,22 +1221,6 @@ library RelationsLib { evals[13] = ap.memory_identity; } - // Constants for the Non-native Field relation - Fr constant LIMB_SIZE = Fr.wrap(uint256(1) << 68); - Fr constant SUBLIMB_SHIFT = Fr.wrap(uint256(1) << 14); - - // Parameters used within the Non-Native Field Relation - // A struct is used to work around stack too deep. This relation has alot of variables - struct NnfParams { - Fr limb_subproduct; - Fr non_native_field_gate_1; - Fr non_native_field_gate_2; - Fr non_native_field_gate_3; - Fr limb_accumulator_1; - Fr limb_accumulator_2; - Fr nnf_identity; - } - function accumulateNnfRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1236,26 +1297,6 @@ library RelationsLib { evals[19] = ap.nnf_identity; } - struct PoseidonExternalParams { - Fr s1; - Fr s2; - Fr s3; - Fr s4; - Fr u1; - Fr u2; - Fr u3; - Fr u4; - Fr t0; - Fr t1; - Fr t2; - Fr t3; - Fr v1; - Fr v2; - Fr v3; - Fr v4; - Fr q_pos_by_scaling; - } - function accumulatePoseidonExternalRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1298,20 +1339,6 @@ library RelationsLib { evals[23] = evals[23] + ep.q_pos_by_scaling * (ep.v4 - wire(p, WIRE.W_4_SHIFT)); } - struct PoseidonInternalParams { - Fr u1; - Fr u2; - Fr u3; - Fr u4; - Fr u_sum; - Fr v1; - Fr v2; - Fr v3; - Fr v4; - Fr s1; - Fr q_pos_by_scaling; - } - function accumulatePoseidonInternalRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1367,8 +1394,6 @@ library RelationsLib { } } -// Field arithmetic libraries - prevent littering the code with modmul / addmul - library CommitmentSchemeLib { using FrLib for Fr; @@ -1398,16 +1423,7 @@ library CommitmentSchemeLib { Fr[] foldPosEvaluations; } - function computeSquares(Fr r, uint256 logN) internal pure returns (Fr[] memory) { - Fr[] memory squares = new Fr[](logN); - squares[0] = r; - for (uint256 i = 1; i < logN; ++i) { - squares[i] = squares[i - 1].sqr(); - } - return squares; - } // Compute the evaluations Aₗ(r^{2ˡ}) for l = 0, ..., m-1 - function computeFoldPosEvaluations( Fr[CONST_PROOF_SIZE_LOG_N] memory sumcheckUChallenges, Fr batchedEvalAccumulator, @@ -1430,23 +1446,19 @@ library CommitmentSchemeLib { } return foldPosEvaluations; } -} - -uint256 constant Q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // EC group order. F_q -function bytes32ToString(bytes32 value) pure returns (string memory result) { - bytes memory alphabet = "0123456789abcdef"; - - bytes memory str = new bytes(66); - str[0] = "0"; - str[1] = "x"; - for (uint256 i = 0; i < 32; i++) { - str[2 + i * 2] = alphabet[uint8(value[i] >> 4)]; - str[3 + i * 2] = alphabet[uint8(value[i] & 0x0f)]; + function computeSquares(Fr r, uint256 logN) internal pure returns (Fr[] memory) { + Fr[] memory squares = new Fr[](logN); + squares[0] = r; + for (uint256 i = 1; i < logN; ++i) { + squares[i] = squares[i - 1].sqr(); + } + return squares; } - result = string(str); } +uint256 constant Q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // EC group order. F_q + // Fr utility function bytesToFr(bytes calldata proofSection) pure returns (Fr scalar) { @@ -1455,20 +1467,31 @@ function bytesToFr(bytes calldata proofSection) pure returns (Fr scalar) { // EC Point utilities function bytesToG1Point(bytes calldata proofSection) pure returns (Honk.G1Point memory point) { - point = Honk.G1Point({ - x: uint256(bytes32(proofSection[0x00:0x20])) % Q, y: uint256(bytes32(proofSection[0x20:0x40])) % Q - }); + uint256 x = uint256(bytes32(proofSection[0x00:0x20])); + uint256 y = uint256(bytes32(proofSection[0x20:0x40])); + require(x < Q && y < Q, Errors.ValueGeGroupOrder()); + + // Reject the point at infinity (0,0). EVM precompiles silently treat (0,0) + // as the identity element, which could zero out commitments. + // On-curve validation (y² = x³ + 3) is handled by the ecAdd/ecMul precompiles + // per EIP-196, so we only need to catch this special case here. + require((x | y) != 0, Errors.PointAtInfinity()); + + point = Honk.G1Point({x: x, y: y}); } function negateInplace(Honk.G1Point memory point) pure returns (Honk.G1Point memory) { - point.y = (Q - point.y) % Q; + // When y == 0 (order-2 point), negation is the same point. Q - 0 = Q which is >= Q. + if (point.y != 0) { + point.y = Q - point.y; + } return point; } /** * Convert the pairing points to G1 points. * - * The pairing points are serialised as an array of 136-bit limbs representing two points + * The pairing points are serialised as an array of 2 limbs representing two points * (P0 and P1, used for lhs and rhs of pairing operation). * * There are 2 limbs (lo, hi) for each coordinate, so 4 limbs per point, 8 total. @@ -1482,22 +1505,28 @@ function convertPairingPointsToG1(Fr[PAIRING_POINTS_SIZE] memory pairingPoints) pure returns (Honk.G1Point memory lhs, Honk.G1Point memory rhs) { - // P0 (lhs): x = lo + hi << 136 + // P0 (lhs): x = lo | (hi << 136) uint256 lhsX = Fr.unwrap(pairingPoints[0]); lhsX |= Fr.unwrap(pairingPoints[1]) << 136; - lhs.x = lhsX; uint256 lhsY = Fr.unwrap(pairingPoints[2]); lhsY |= Fr.unwrap(pairingPoints[3]) << 136; - lhs.y = lhsY; - // P1 (rhs): x = lo + hi << 136 + // P1 (rhs): x = lo | (hi << 136) uint256 rhsX = Fr.unwrap(pairingPoints[4]); rhsX |= Fr.unwrap(pairingPoints[5]) << 136; - rhs.x = rhsX; uint256 rhsY = Fr.unwrap(pairingPoints[6]); rhsY |= Fr.unwrap(pairingPoints[7]) << 136; + + // Reconstructed coordinates must be < Q to prevent malleability. + // Without this, two different limb encodings could map to the same curve point + // (via mulmod reduction in on-curve checks) but produce different transcript hashes. + require(lhsX < Q && lhsY < Q && rhsX < Q && rhsY < Q, Errors.ValueGeGroupOrder()); + + lhs.x = lhsX; + lhs.y = lhsY; + rhs.x = rhsX; rhs.y = rhsY; } @@ -1535,7 +1564,7 @@ function generateRecursionSeparator( recursionSeparatorElements[6] = accRhs.x; recursionSeparatorElements[7] = accRhs.y; - recursionSeparator = FrLib.fromBytes32(keccak256(abi.encodePacked(recursionSeparatorElements))); + recursionSeparator = FrLib.from(uint256(keccak256(abi.encodePacked(recursionSeparatorElements))) % P); } /** @@ -1653,17 +1682,20 @@ function ecAdd(Honk.G1Point memory lhs, Honk.G1Point memory rhs) view returns (H return result; } -function validateOnCurve(Honk.G1Point memory point) pure { - uint256 x = point.x; - uint256 y = point.y; +function rejectPointAtInfinity(Honk.G1Point memory point) pure { + require((point.x | point.y) != 0, Errors.PointAtInfinity()); +} - bool success = false; - assembly { - let xx := mulmod(x, x, Q) - success := eq(mulmod(y, y, Q), addmod(mulmod(x, xx, Q), 3, Q)) +/** + * Check if pairing point limbs are all zero (default/infinity). + * Default pairing points indicate no recursive verification occurred. + */ +function arePairingPointsDefault(Fr[PAIRING_POINTS_SIZE] memory pairingPoints) pure returns (bool) { + uint256 acc = 0; + for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { + acc |= Fr.unwrap(pairingPoints[i]); } - - require(success, "point is not on the curve"); + return acc == 0; } function pairing(Honk.G1Point memory rhs, Honk.G1Point memory lhs) view returns (bool decodedResult) { @@ -1688,18 +1720,24 @@ function pairing(Honk.G1Point memory rhs, Honk.G1Point memory lhs) view returns decodedResult = success && abi.decode(result, (bool)); } -// Field arithmetic libraries - prevent littering the code with modmul / addmul - +abstract contract BaseHonkVerifier is IVerifier { + using FrLib for Fr; + // Constants for proof length calculation (matching UltraKeccakFlavor) + uint256 internal constant NUM_WITNESS_ENTITIES = 8; + uint256 internal constant NUM_ELEMENTS_COMM = 2; // uint256 elements for curve points + uint256 internal constant NUM_ELEMENTS_FR = 1; // uint256 elements for field elements + // Number of field elements in a ultra keccak honk proof for log_n = 25, including pairing point object. + uint256 internal constant PROOF_SIZE = 350; // Legacy constant - will be replaced by calculateProofSize($LOG_N) + uint256 internal constant SHIFTED_COMMITMENTS_START = 29; -abstract contract BaseHonkVerifier is IVerifier { - using FrLib for Fr; + uint256 internal constant PERMUTATION_ARGUMENT_VALUE_SEPARATOR = 1 << 28; - uint256 immutable $N; - uint256 immutable $LOG_N; - uint256 immutable $VK_HASH; - uint256 immutable $NUM_PUBLIC_INPUTS; + uint256 internal immutable $N; + uint256 internal immutable $LOG_N; + uint256 internal immutable $VK_HASH; + uint256 internal immutable $NUM_PUBLIC_INPUTS; constructor(uint256 _N, uint256 _logN, uint256 _vkHash, uint256 _numPublicInputs) { $N = _N; @@ -1708,59 +1746,19 @@ abstract contract BaseHonkVerifier is IVerifier { $NUM_PUBLIC_INPUTS = _numPublicInputs; } - // Errors - error ProofLengthWrong(); - error ProofLengthWrongWithLogN(uint256 logN, uint256 actualLength, uint256 expectedLength); - error PublicInputsLengthWrong(); - error SumcheckFailed(); - error ShpleminiFailed(); - - // Constants for proof length calculation (matching UltraKeccakFlavor) - uint256 constant NUM_WITNESS_ENTITIES = 8; - uint256 constant NUM_ELEMENTS_COMM = 2; // uint256 elements for curve points - uint256 constant NUM_ELEMENTS_FR = 1; // uint256 elements for field elements - - // Calculate proof size based on log_n (matching UltraKeccakFlavor formula) - function calculateProofSize(uint256 logN) internal pure returns (uint256) { - // Witness commitments - uint256 proofLength = NUM_WITNESS_ENTITIES * NUM_ELEMENTS_COMM; // witness commitments - - // Sumcheck - proofLength += logN * BATCHED_RELATION_PARTIAL_LENGTH * NUM_ELEMENTS_FR; // sumcheck univariates - proofLength += NUMBER_OF_ENTITIES * NUM_ELEMENTS_FR; // sumcheck evaluations - - // Gemini - proofLength += (logN - 1) * NUM_ELEMENTS_COMM; // Gemini Fold commitments - proofLength += logN * NUM_ELEMENTS_FR; // Gemini evaluations - - // Shplonk and KZG commitments - proofLength += NUM_ELEMENTS_COMM * 2; // Shplonk Q and KZG W commitments - - // Pairing points - proofLength += PAIRING_POINTS_SIZE; // pairing inputs carried on public inputs - - return proofLength; - } - - // Number of field elements in a ultra keccak honk proof for log_n = 25, including pairing point object. - uint256 constant PROOF_SIZE = 350; // Legacy constant - will be replaced by calculateProofSize($LOG_N) - uint256 constant SHIFTED_COMMITMENTS_START = 29; - - function loadVerificationKey() internal pure virtual returns (Honk.VerificationKey memory); - function verify(bytes calldata proof, bytes32[] calldata publicInputs) public view override returns (bool) { // Calculate expected proof size based on $LOG_N uint256 expectedProofSize = calculateProofSize($LOG_N); // Check the received proof is the expected size where each field element is 32 bytes if (proof.length != expectedProofSize * 32) { - revert ProofLengthWrongWithLogN($LOG_N, proof.length, expectedProofSize * 32); + revert Errors.ProofLengthWrongWithLogN($LOG_N, proof.length, expectedProofSize * 32); } Honk.VerificationKey memory vk = loadVerificationKey(); Honk.Proof memory p = TranscriptLib.loadProof(proof, $LOG_N); if (publicInputs.length != vk.publicInputsSize - PAIRING_POINTS_SIZE) { - revert PublicInputsLengthWrong(); + revert Errors.PublicInputsLengthWrong(); } // Generate the fiat shamir challenges for the whole protocol @@ -1777,16 +1775,14 @@ abstract contract BaseHonkVerifier is IVerifier { // Sumcheck bool sumcheckVerified = verifySumcheck(p, t); - if (!sumcheckVerified) revert SumcheckFailed(); + if (!sumcheckVerified) revert Errors.SumcheckFailed(); bool shpleminiVerified = verifyShplemini(p, vk, t); - if (!shpleminiVerified) revert ShpleminiFailed(); + if (!shpleminiVerified) revert Errors.ShpleminiFailed(); return sumcheckVerified && shpleminiVerified; // Boolean condition not required - nice for vanity :) } - uint256 constant PERMUTATION_ARGUMENT_VALUE_SEPARATOR = 1 << 28; - function computePublicInputDelta( bytes32[] memory publicInputs, Fr[PAIRING_POINTS_SIZE] memory pairingPointObject, @@ -1833,7 +1829,7 @@ abstract contract BaseHonkVerifier is IVerifier { for (uint256 round = 0; round < $LOG_N; ++round) { Fr[BATCHED_RELATION_PARTIAL_LENGTH] memory roundUnivariate = proof.sumcheckUnivariates[round]; bool valid = checkSum(roundUnivariate, roundTarget); - if (!valid) revert SumcheckFailed(); + if (!valid) revert Errors.SumcheckFailed(); Fr roundChallenge = tp.sumCheckUChallenges[round]; @@ -1849,15 +1845,6 @@ abstract contract BaseHonkVerifier is IVerifier { verified = (grandHonkRelationSum == roundTarget); } - function checkSum(Fr[BATCHED_RELATION_PARTIAL_LENGTH] memory roundUnivariate, Fr roundTarget) - internal - pure - returns (bool checked) - { - Fr totalSum = roundUnivariate[0] + roundUnivariate[1]; - checked = totalSum == roundTarget; - } - // Return the new target sum for the next sumcheck round function computeNextTargetSum(Fr[BATCHED_RELATION_PARTIAL_LENGTH] memory roundUnivariates, Fr roundChallenge) internal @@ -1901,16 +1888,6 @@ abstract contract BaseHonkVerifier is IVerifier { targetSum = targetSum * numeratorValue; } - // Univariate evaluation of the monomial ((1-X_l) + X_l.B_l) at the challenge point X_l=u_l - function partiallyEvaluatePOW(Fr gateChallenge, Fr currentEvaluation, Fr roundChallenge) - internal - pure - returns (Fr newEvaluation) - { - Fr univariateEval = ONE + (roundChallenge * (gateChallenge - ONE)); - newEvaluation = currentEvaluation * univariateEval; - } - function verifyShplemini(Honk.Proof memory proof, Honk.VerificationKey memory vk, Transcript memory tp) internal view @@ -2103,18 +2080,20 @@ abstract contract BaseHonkVerifier is IVerifier { Honk.G1Point memory P_0_agg = batchMul(commitments, scalars); Honk.G1Point memory P_1_agg = negateInplace(quotient_commitment); - // Aggregate pairing points - Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, P_0_agg, P_1_agg); - (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = - convertPairingPointsToG1(proof.pairingPointObject); + // Aggregate pairing points (skip if default/infinity — no recursive verification occurred) + if (!arePairingPointsDefault(proof.pairingPointObject)) { + Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, P_0_agg, P_1_agg); + (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = + convertPairingPointsToG1(proof.pairingPointObject); - // Validate the points from the proof are on the curve - validateOnCurve(P_0_other); - validateOnCurve(P_1_other); + // Validate the points from the proof are on the curve + rejectPointAtInfinity(P_0_other); + rejectPointAtInfinity(P_1_other); - // accumulate with aggregate points in proof - P_0_agg = mulWithSeperator(P_0_agg, P_0_other, recursionSeparator); - P_1_agg = mulWithSeperator(P_1_agg, P_1_other, recursionSeparator); + // accumulate with aggregate points in proof + P_0_agg = mulWithSeperator(P_0_agg, P_0_other, recursionSeparator); + P_1_agg = mulWithSeperator(P_1_agg, P_1_other, recursionSeparator); + } return pairing(P_0_agg, P_1_agg); } @@ -2128,7 +2107,7 @@ abstract contract BaseHonkVerifier is IVerifier { // Validate all points are on the curve for (uint256 i = 0; i < limit; ++i) { - validateOnCurve(base[i]); + rejectPointAtInfinity(base[i]); } bool success = true; @@ -2156,8 +2135,51 @@ abstract contract BaseHonkVerifier is IVerifier { mstore(add(result, 0x20), mload(add(free, 0x20))) } - require(success, ShpleminiFailed()); + require(success, Errors.ShpleminiFailed()); + } + + // Calculate proof size based on log_n (matching UltraKeccakFlavor formula) + function calculateProofSize(uint256 logN) internal pure returns (uint256) { + // Witness commitments + uint256 proofLength = NUM_WITNESS_ENTITIES * NUM_ELEMENTS_COMM; // witness commitments + + // Sumcheck + proofLength += logN * BATCHED_RELATION_PARTIAL_LENGTH * NUM_ELEMENTS_FR; // sumcheck univariates + proofLength += NUMBER_OF_ENTITIES * NUM_ELEMENTS_FR; // sumcheck evaluations + + // Gemini + proofLength += (logN - 1) * NUM_ELEMENTS_COMM; // Gemini Fold commitments + proofLength += logN * NUM_ELEMENTS_FR; // Gemini evaluations + + // Shplonk and KZG commitments + proofLength += NUM_ELEMENTS_COMM * 2; // Shplonk Q and KZG W commitments + + // Pairing points + proofLength += PAIRING_POINTS_SIZE; // pairing inputs carried on public inputs + + return proofLength; + } + + function checkSum(Fr[BATCHED_RELATION_PARTIAL_LENGTH] memory roundUnivariate, Fr roundTarget) + internal + pure + returns (bool checked) + { + Fr totalSum = roundUnivariate[0] + roundUnivariate[1]; + checked = totalSum == roundTarget; + } + + // Univariate evaluation of the monomial ((1-X_l) + X_l.B_l) at the challenge point X_l=u_l + function partiallyEvaluatePOW(Fr gateChallenge, Fr currentEvaluation, Fr roundChallenge) + internal + pure + returns (Fr newEvaluation) + { + Fr univariateEval = ONE + (roundChallenge * (gateChallenge - ONE)); + newEvaluation = currentEvaluation * univariateEval; } + + function loadVerificationKey() internal pure virtual returns (Honk.VerificationKey memory); } contract HonkVerifier is BaseHonkVerifier(N, LOG_N, VK_HASH, NUMBER_OF_PUBLIC_INPUTS) { diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_optimized_contract.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_optimized_contract.hpp index fa2d06c8f312..e52931c3f47c 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_optimized_contract.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_proofs/honk_optimized_contract.hpp @@ -3516,55 +3516,68 @@ contract HonkVerifier is IVerifier { let p1_other_y := mload(PAIRING_POINT_1_Y_0_LOC) p1_other_y := or(shl(136, mload(PAIRING_POINT_1_Y_1_LOC)), p1_other_y) - // Reconstructed coordinates must be < Q to prevent malleability - if iszero(and( - and(lt(p0_other_x, q), lt(p0_other_y, q)), - and(lt(p1_other_x, q), lt(p1_other_y, q)) - )) { - mstore(0x00, VALUE_GE_GROUP_ORDER_SELECTOR) - revert(0x00, 0x04) - } + // Check if pairing points are default (all zero = infinity = no recursive verification) + let pairing_points_are_default := iszero(or(or(p0_other_x, p0_other_y), or(p1_other_x, p1_other_y))) + + let success := 1 + // Only aggregate if pairing points are non-default + if iszero(pairing_points_are_default) { + // Reconstructed coordinates must be < Q to prevent malleability + if iszero(and( + and(lt(p0_other_x, q), lt(p0_other_y, q)), + and(lt(p1_other_x, q), lt(p1_other_y, q)) + )) { + mstore(0x00, VALUE_GE_GROUP_ORDER_SELECTOR) + revert(0x00, 0x04) + } - // Validate p_0_other not point of infinity - let success := iszero(iszero(or(p0_other_x, p0_other_y))) - // Validate p_1_other not point of infinity - success := and(success, iszero(iszero(or(p1_other_x, p1_other_y)))) + // Validate p_0_other not point of infinity + success := iszero(iszero(or(p0_other_x, p0_other_y))) + // Validate p_1_other not point of infinity + success := and(success, iszero(iszero(or(p1_other_x, p1_other_y)))) - // p_0 - mstore(0x00, p0_other_x) - mstore(0x20, p0_other_y) + // p_0 + mstore(0x00, p0_other_x) + mstore(0x20, p0_other_y) - // p_1 - mstore(0x40, p1_other_x) - mstore(0x60, p1_other_y) + // p_1 + mstore(0x40, p1_other_x) + mstore(0x60, p1_other_y) - // p_1_agg is already in the correct location + // p_1_agg is already in the correct location - let recursion_separator := keccak256(0x00, 0x100) + let recursion_separator := keccak256(0x00, 0x100) - // Write separator back to scratch space - mstore(0x00, p0_other_x) + // Write separator back to scratch space + mstore(0x00, p0_other_x) - mstore(0x40, recursion_separator) - // recursion_separator * p_0_other - success := and(success, staticcall(gas(), 0x07, 0x00, 0x60, 0x00, 0x40)) + mstore(0x40, recursion_separator) + // recursion_separator * p_0_other + success := and(success, staticcall(gas(), 0x07, 0x00, 0x60, 0x00, 0x40)) - // (recursion_separator * p_0_other) + p_0_agg - mcopy(0x40, 0x80, 0x40) - // p_0 = (recursion_separator * p_0_other) + p_0_agg - success := and(success, staticcall(gas(), 6, 0x00, 0x80, 0x00, 0x40)) + // (recursion_separator * p_0_other) + p_0_agg + mcopy(0x40, 0x80, 0x40) + // p_0 = (recursion_separator * p_0_other) + p_0_agg + success := and(success, staticcall(gas(), 6, 0x00, 0x80, 0x00, 0x40)) - mstore(0x40, p1_other_x) - mstore(0x60, p1_other_y) - mstore(0x80, recursion_separator) + mstore(0x40, p1_other_x) + mstore(0x60, p1_other_y) + mstore(0x80, recursion_separator) - success := and(success, staticcall(gas(), 7, 0x40, 0x60, 0x40, 0x40)) + success := and(success, staticcall(gas(), 7, 0x40, 0x60, 0x40, 0x40)) - // Write p_1_agg back to scratch space - mcopy(0x80, 0xc0, 0x40) + // Write p_1_agg back to scratch space + mcopy(0x80, 0xc0, 0x40) - // 0xc0 - (recursion_separator * p_1_other) + p_1_agg - success := and(success, staticcall(gas(), 6, 0x40, 0x80, 0xc0, 0x40)) + // 0xc0 - (recursion_separator * p_1_other) + p_1_agg + success := and(success, staticcall(gas(), 6, 0x40, 0x80, 0xc0, 0x40)) + } + // If default pairing points, use p_0_agg and p_1_agg directly (already at 0x80, 0xc0) + if pairing_points_are_default { + // Copy p_0_agg to 0x00 for pairing input + mcopy(0x00, 0x80, 0x40) + // p_1_agg stays at 0xc0 + } // G2 [1] mstore(0x40, 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2) 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 475d5168ee74..dff1b0f67af6 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 @@ -18,13 +18,37 @@ interface IVerifier { function verify(bytes calldata _proof, bytes32[] calldata _publicInputs) external view returns (bool); } +/** + * @notice Library of error codes + * @dev You can run `forge inspect Errors errors` to get the selectors for the optimised verifier + */ +library Errors { + error ValueGeLimbMax(); + error ValueGeGroupOrder(); + error ValueGeFieldOrder(); + + error InvertOfZero(); + error NotPowerOfTwo(); + error ModExpFailed(); + + error ProofLengthWrong(); + error ProofLengthWrongWithLogN(uint256 logN, uint256 actualLength, uint256 expectedLength); + error PublicInputsLengthWrong(); + error SumcheckFailed(); + error ShpleminiFailed(); + + error PointAtInfinity(); + + error ConsistencyCheckFailed(); + error GeminiChallengeInSubgroup(); +} + type Fr is uint256; using {add as +} for Fr global; using {sub as -} for Fr global; using {mul as *} for Fr global; -using {exp as ^} for Fr global; using {notEqual as !=} for Fr global; using {equal as ==} for Fr global; @@ -39,26 +63,12 @@ Fr constant ZERO = Fr.wrap(0); // Instantiation library FrLib { - function from(uint256 value) internal pure returns (Fr) { - unchecked { - return Fr.wrap(value % MODULUS); - } - } - - function fromBytes32(bytes32 value) internal pure returns (Fr) { - unchecked { - return Fr.wrap(uint256(value) % MODULUS); - } - } - - function toBytes32(Fr value) internal pure returns (bytes32) { - unchecked { - return bytes32(Fr.unwrap(value)); - } - } + bytes4 internal constant FRLIB_MODEXP_FAILED_SELECTOR = 0xf8d61709; function invert(Fr value) internal view returns (Fr) { uint256 v = Fr.unwrap(value); + require(v != 0, Errors.InvertOfZero()); + uint256 result; // Call the modexp precompile to invert in the field @@ -68,14 +78,15 @@ library FrLib { mstore(add(free, 0x20), 0x20) mstore(add(free, 0x40), 0x20) mstore(add(free, 0x60), v) - mstore(add(free, 0x80), sub(MODULUS, 2)) + mstore(add(free, 0x80), sub(MODULUS, 2)) mstore(add(free, 0xa0), MODULUS) let success := staticcall(gas(), 0x05, free, 0xc0, 0x00, 0x20) if iszero(success) { - revert(0, 0) + mstore(0x00, FRLIB_MODEXP_FAILED_SELECTOR) + revert(0, 0x04) } result := mload(0x00) - mstore(0x40, add(free, 0x80)) + mstore(0x40, add(free, 0xc0)) } return Fr.wrap(result); @@ -83,6 +94,8 @@ library FrLib { function pow(Fr base, uint256 v) internal view returns (Fr) { uint256 b = Fr.unwrap(base); + // Only works for power of 2 + require(v > 0 && (v & (v - 1)) == 0, Errors.NotPowerOfTwo()); uint256 result; // Call the modexp precompile to invert in the field @@ -92,14 +105,15 @@ library FrLib { mstore(add(free, 0x20), 0x20) mstore(add(free, 0x40), 0x20) mstore(add(free, 0x60), b) - mstore(add(free, 0x80), v) + mstore(add(free, 0x80), v) mstore(add(free, 0xa0), MODULUS) let success := staticcall(gas(), 0x05, free, 0xc0, 0x00, 0x20) if iszero(success) { - revert(0, 0) + mstore(0x00, FRLIB_MODEXP_FAILED_SELECTOR) + revert(0, 0x04) } result := mload(0x00) - mstore(0x40, add(free, 0x80)) + mstore(0x40, add(free, 0xc0)) } return Fr.wrap(result); @@ -128,6 +142,27 @@ library FrLib { return Fr.wrap(MODULUS - Fr.unwrap(value)); } } + + function from(uint256 value) internal pure returns (Fr) { + unchecked { + require(value < MODULUS, Errors.ValueGeFieldOrder()); + return Fr.wrap(value); + } + } + + function fromBytes32(bytes32 value) internal pure returns (Fr) { + unchecked { + uint256 v = uint256(value); + require(v < MODULUS, Errors.ValueGeFieldOrder()); + return Fr.wrap(v); + } + } + + function toBytes32(Fr value) internal pure returns (bytes32) { + unchecked { + return bytes32(Fr.unwrap(value)); + } + } } // Free functions @@ -149,15 +184,6 @@ function sub(Fr a, Fr b) pure returns (Fr) { } } -function exp(Fr base, Fr exponent) pure returns (Fr) { - if (Fr.unwrap(exponent) == 0) return Fr.wrap(1); - // Implement exponent with a loop as we will overflow otherwise - for (uint256 i = 1; i < Fr.unwrap(exponent); i += i) { - base = base * base; - } - return base; -} - function notEqual(Fr a, Fr b) pure returns (bool) { unchecked { return Fr.unwrap(a) != Fr.unwrap(b); @@ -398,8 +424,8 @@ library ZKTranscriptLib { // Split into two equal 127-bit chunks (254/2) uint256 lo = challengeU256 & 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; // 127 bits uint256 hi = challengeU256 >> 127; - first = FrLib.fromBytes32(bytes32(lo)); - second = FrLib.fromBytes32(bytes32(hi)); + first = FrLib.from(lo); + second = FrLib.from(hi); } function generateRelationParametersChallenges( @@ -425,7 +451,8 @@ library ZKTranscriptLib { round0[0] = bytes32(vkHash); for (uint256 i = 0; i < publicInputsSize - PAIRING_POINTS_SIZE; i++) { - round0[1 + i] = bytes32(publicInputs[i]); + require(uint256(publicInputs[i]) < P, Errors.ValueGeFieldOrder()); + round0[1 + i] = publicInputs[i]; } for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { round0[1 + publicInputsSize - PAIRING_POINTS_SIZE + i] = FrLib.toBytes32(proof.pairingPointObject[i]); @@ -444,7 +471,7 @@ library ZKTranscriptLib { round0[1 + publicInputsSize + 6] = bytes32(proof.w3.x); round0[1 + publicInputsSize + 7] = bytes32(proof.w3.y); - previousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(round0))); + previousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(round0))) % P); (eta,) = splitChallenge(previousChallenge); } @@ -462,7 +489,7 @@ library ZKTranscriptLib { round1[5] = bytes32(proof.w4.x); round1[6] = bytes32(proof.w4.y); - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(round1))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(round1))) % P); (beta, gamma) = splitChallenge(nextPreviousChallenge); } @@ -480,7 +507,7 @@ library ZKTranscriptLib { alpha0[3] = proof.zPerm.x; alpha0[4] = proof.zPerm.y; - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(alpha0))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(alpha0))) % P); Fr alpha; (alpha,) = splitChallenge(nextPreviousChallenge); @@ -496,7 +523,7 @@ library ZKTranscriptLib { pure returns (Fr[CONST_PROOF_SIZE_LOG_N] memory gateChallenges, Fr nextPreviousChallenge) { - previousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(Fr.unwrap(previousChallenge)))); + previousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(Fr.unwrap(previousChallenge)))) % P); (gateChallenges[0],) = splitChallenge(previousChallenge); for (uint256 i = 1; i < logN; i++) { gateChallenges[i] = gateChallenges[i - 1] * gateChallenges[i - 1]; @@ -515,7 +542,7 @@ library ZKTranscriptLib { challengeData[1] = proof.libraCommitments[0].x; challengeData[2] = proof.libraCommitments[0].y; challengeData[3] = Fr.unwrap(proof.libraSum); - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(challengeData))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(challengeData))) % P); (libraChallenge,) = splitChallenge(nextPreviousChallenge); } @@ -531,7 +558,7 @@ library ZKTranscriptLib { for (uint256 j = 0; j < ZK_BATCHED_RELATION_PARTIAL_LENGTH; j++) { univariateChal[j + 1] = proof.sumcheckUnivariates[i][j]; } - prevChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(univariateChal))); + prevChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(univariateChal))) % P); (sumcheckChallenges[i],) = splitChallenge(prevChallenge); } @@ -558,7 +585,7 @@ library ZKTranscriptLib { rhoChallengeElements[i] = proof.libraCommitments[2].x; rhoChallengeElements[i + 1] = proof.libraCommitments[2].y; - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(rhoChallengeElements))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(rhoChallengeElements))) % P); (rho,) = splitChallenge(nextPreviousChallenge); } @@ -575,7 +602,7 @@ library ZKTranscriptLib { gR[2 + i * 2] = proof.geminiFoldComms[i].y; } - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(gR))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(gR))) % P); (geminiR,) = splitChallenge(nextPreviousChallenge); } @@ -598,7 +625,7 @@ library ZKTranscriptLib { libraIdx++; } - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(shplonkNuChallengeElements))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(shplonkNuChallengeElements))) % P); (shplonkNu,) = splitChallenge(nextPreviousChallenge); } @@ -613,7 +640,7 @@ library ZKTranscriptLib { shplonkZChallengeElements[1] = proof.shplonkQ.x; shplonkZChallengeElements[2] = proof.shplonkQ.y; - nextPreviousChallenge = FrLib.fromBytes32(keccak256(abi.encodePacked(shplonkZChallengeElements))); + nextPreviousChallenge = FrLib.from(uint256(keccak256(abi.encodePacked(shplonkZChallengeElements))) % P); (shplonkZ,) = splitChallenge(nextPreviousChallenge); } @@ -622,7 +649,10 @@ library ZKTranscriptLib { // Pairing point object for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { - p.pairingPointObject[i] = bytesToFr(proof[boundary:boundary + FIELD_ELEMENT_SIZE]); + uint256 limb = uint256(bytes32(proof[boundary:boundary + FIELD_ELEMENT_SIZE])); + // lo limbs (even index) < 2^136, hi limbs (odd index) < 2^120 + require(limb < 2 ** (i % 2 == 0 ? 136 : 120), Errors.ValueGeLimbMax()); + p.pairingPointObject[i] = FrLib.from(limb); boundary += FIELD_ELEMENT_SIZE; } @@ -702,10 +732,91 @@ library ZKTranscriptLib { } } -// Field arithmetic libraries - library RelationsLib { + struct EllipticParams { + // Points + Fr x_1; + Fr y_1; + Fr x_2; + Fr y_2; + Fr y_3; + Fr x_3; + // push accumulators into memory + Fr x_double_identity; + } + + // Parameters used within the Memory Relation + // A struct is used to work around stack too deep. This relation has alot of variables + struct MemParams { + Fr memory_record_check; + Fr partial_record_check; + Fr next_gate_access_type; + Fr record_delta; + Fr index_delta; + Fr adjacent_values_match_if_adjacent_indices_match; + Fr adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation; + Fr access_check; + Fr next_gate_access_type_is_boolean; + Fr ROM_consistency_check_identity; + Fr RAM_consistency_check_identity; + Fr timestamp_delta; + Fr RAM_timestamp_check_identity; + Fr memory_identity; + Fr index_is_monotonically_increasing; + } + + // Parameters used within the Non-Native Field Relation + // A struct is used to work around stack too deep. This relation has alot of variables + struct NnfParams { + Fr limb_subproduct; + Fr non_native_field_gate_1; + Fr non_native_field_gate_2; + Fr non_native_field_gate_3; + Fr limb_accumulator_1; + Fr limb_accumulator_2; + Fr nnf_identity; + } + + struct PoseidonExternalParams { + Fr s1; + Fr s2; + Fr s3; + Fr s4; + Fr u1; + Fr u2; + Fr u3; + Fr u4; + Fr t0; + Fr t1; + Fr t2; + Fr t3; + Fr v1; + Fr v2; + Fr v3; + Fr v4; + Fr q_pos_by_scaling; + } + + struct PoseidonInternalParams { + Fr u1; + Fr u2; + Fr u3; + Fr u4; + Fr u_sum; + Fr v1; + Fr v2; + Fr v3; + Fr v4; + Fr s1; + Fr q_pos_by_scaling; + } + Fr internal constant GRUMPKIN_CURVE_B_PARAMETER_NEGATED = Fr.wrap(17); // -(-17) + uint256 internal constant NEG_HALF_MODULO_P = 0x183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f8000000; + + // Constants for the Non-native Field relation + Fr internal constant LIMB_SIZE = Fr.wrap(uint256(1) << 68); + Fr internal constant SUBLIMB_SHIFT = Fr.wrap(uint256(1) << 14); function accumulateRelationEvaluations( Fr[NUMBER_OF_ENTITIES] memory purportedEvaluations, @@ -739,12 +850,10 @@ library RelationsLib { return p[uint256(_wire)]; } - uint256 internal constant NEG_HALF_MODULO_P = 0x183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f8000000; /** * Ultra Arithmetic Relation * */ - function accumulateArithmeticRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -931,18 +1040,6 @@ library RelationsLib { } } - struct EllipticParams { - // Points - Fr x_1; - Fr y_1; - Fr x_2; - Fr y_2; - Fr y_3; - Fr x_3; - // push accumulators into memory - Fr x_double_identity; - } - function accumulateEllipticRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1011,26 +1108,6 @@ library RelationsLib { } } - // Parameters used within the Memory Relation - // A struct is used to work around stack too deep. This relation has alot of variables - struct MemParams { - Fr memory_record_check; - Fr partial_record_check; - Fr next_gate_access_type; - Fr record_delta; - Fr index_delta; - Fr adjacent_values_match_if_adjacent_indices_match; - Fr adjacent_values_match_if_adjacent_indices_match_and_next_access_is_a_read_operation; - Fr access_check; - Fr next_gate_access_type_is_boolean; - Fr ROM_consistency_check_identity; - Fr RAM_consistency_check_identity; - Fr timestamp_delta; - Fr RAM_timestamp_check_identity; - Fr memory_identity; - Fr index_is_monotonically_increasing; - } - function accumulateMemoryRelation( Fr[NUMBER_OF_ENTITIES] memory p, Honk.RelationParameters memory rp, @@ -1200,22 +1277,6 @@ library RelationsLib { evals[13] = ap.memory_identity; } - // Constants for the Non-native Field relation - Fr constant LIMB_SIZE = Fr.wrap(uint256(1) << 68); - Fr constant SUBLIMB_SHIFT = Fr.wrap(uint256(1) << 14); - - // Parameters used within the Non-Native Field Relation - // A struct is used to work around stack too deep. This relation has alot of variables - struct NnfParams { - Fr limb_subproduct; - Fr non_native_field_gate_1; - Fr non_native_field_gate_2; - Fr non_native_field_gate_3; - Fr limb_accumulator_1; - Fr limb_accumulator_2; - Fr nnf_identity; - } - function accumulateNnfRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1292,26 +1353,6 @@ library RelationsLib { evals[19] = ap.nnf_identity; } - struct PoseidonExternalParams { - Fr s1; - Fr s2; - Fr s3; - Fr s4; - Fr u1; - Fr u2; - Fr u3; - Fr u4; - Fr t0; - Fr t1; - Fr t2; - Fr t3; - Fr v1; - Fr v2; - Fr v3; - Fr v4; - Fr q_pos_by_scaling; - } - function accumulatePoseidonExternalRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1354,20 +1395,6 @@ library RelationsLib { evals[23] = evals[23] + ep.q_pos_by_scaling * (ep.v4 - wire(p, WIRE.W_4_SHIFT)); } - struct PoseidonInternalParams { - Fr u1; - Fr u2; - Fr u3; - Fr u4; - Fr u_sum; - Fr v1; - Fr v2; - Fr v3; - Fr v4; - Fr s1; - Fr q_pos_by_scaling; - } - function accumulatePoseidonInternalRelation( Fr[NUMBER_OF_ENTITIES] memory p, Fr[NUMBER_OF_SUBRELATIONS] memory evals, @@ -1423,8 +1450,6 @@ library RelationsLib { } } -// Field arithmetic libraries - prevent littering the code with modmul / addmul - library CommitmentSchemeLib { using FrLib for Fr; @@ -1454,16 +1479,7 @@ library CommitmentSchemeLib { Fr[] foldPosEvaluations; } - function computeSquares(Fr r, uint256 logN) internal pure returns (Fr[] memory) { - Fr[] memory squares = new Fr[](logN); - squares[0] = r; - for (uint256 i = 1; i < logN; ++i) { - squares[i] = squares[i - 1].sqr(); - } - return squares; - } // Compute the evaluations Aₗ(r^{2ˡ}) for l = 0, ..., m-1 - function computeFoldPosEvaluations( Fr[CONST_PROOF_SIZE_LOG_N] memory sumcheckUChallenges, Fr batchedEvalAccumulator, @@ -1486,23 +1502,19 @@ library CommitmentSchemeLib { } return foldPosEvaluations; } -} -uint256 constant Q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // EC group order. F_q - -function bytes32ToString(bytes32 value) pure returns (string memory result) { - bytes memory alphabet = "0123456789abcdef"; - - bytes memory str = new bytes(66); - str[0] = "0"; - str[1] = "x"; - for (uint256 i = 0; i < 32; i++) { - str[2 + i * 2] = alphabet[uint8(value[i] >> 4)]; - str[3 + i * 2] = alphabet[uint8(value[i] & 0x0f)]; + function computeSquares(Fr r, uint256 logN) internal pure returns (Fr[] memory) { + Fr[] memory squares = new Fr[](logN); + squares[0] = r; + for (uint256 i = 1; i < logN; ++i) { + squares[i] = squares[i - 1].sqr(); + } + return squares; } - result = string(str); } +uint256 constant Q = 21888242871839275222246405745257275088696311157297823662689037894645226208583; // EC group order. F_q + // Fr utility function bytesToFr(bytes calldata proofSection) pure returns (Fr scalar) { @@ -1511,20 +1523,31 @@ function bytesToFr(bytes calldata proofSection) pure returns (Fr scalar) { // EC Point utilities function bytesToG1Point(bytes calldata proofSection) pure returns (Honk.G1Point memory point) { - point = Honk.G1Point({ - x: uint256(bytes32(proofSection[0x00:0x20])) % Q, y: uint256(bytes32(proofSection[0x20:0x40])) % Q - }); + uint256 x = uint256(bytes32(proofSection[0x00:0x20])); + uint256 y = uint256(bytes32(proofSection[0x20:0x40])); + require(x < Q && y < Q, Errors.ValueGeGroupOrder()); + + // Reject the point at infinity (0,0). EVM precompiles silently treat (0,0) + // as the identity element, which could zero out commitments. + // On-curve validation (y² = x³ + 3) is handled by the ecAdd/ecMul precompiles + // per EIP-196, so we only need to catch this special case here. + require((x | y) != 0, Errors.PointAtInfinity()); + + point = Honk.G1Point({x: x, y: y}); } function negateInplace(Honk.G1Point memory point) pure returns (Honk.G1Point memory) { - point.y = (Q - point.y) % Q; + // When y == 0 (order-2 point), negation is the same point. Q - 0 = Q which is >= Q. + if (point.y != 0) { + point.y = Q - point.y; + } return point; } /** * Convert the pairing points to G1 points. * - * The pairing points are serialised as an array of 136-bit limbs representing two points + * The pairing points are serialised as an array of 2 limbs representing two points * (P0 and P1, used for lhs and rhs of pairing operation). * * There are 2 limbs (lo, hi) for each coordinate, so 4 limbs per point, 8 total. @@ -1538,22 +1561,28 @@ function convertPairingPointsToG1(Fr[PAIRING_POINTS_SIZE] memory pairingPoints) pure returns (Honk.G1Point memory lhs, Honk.G1Point memory rhs) { - // P0 (lhs): x = lo + hi << 136 + // P0 (lhs): x = lo | (hi << 136) uint256 lhsX = Fr.unwrap(pairingPoints[0]); lhsX |= Fr.unwrap(pairingPoints[1]) << 136; - lhs.x = lhsX; uint256 lhsY = Fr.unwrap(pairingPoints[2]); lhsY |= Fr.unwrap(pairingPoints[3]) << 136; - lhs.y = lhsY; - // P1 (rhs): x = lo + hi << 136 + // P1 (rhs): x = lo | (hi << 136) uint256 rhsX = Fr.unwrap(pairingPoints[4]); rhsX |= Fr.unwrap(pairingPoints[5]) << 136; - rhs.x = rhsX; uint256 rhsY = Fr.unwrap(pairingPoints[6]); rhsY |= Fr.unwrap(pairingPoints[7]) << 136; + + // Reconstructed coordinates must be < Q to prevent malleability. + // Without this, two different limb encodings could map to the same curve point + // (via mulmod reduction in on-curve checks) but produce different transcript hashes. + require(lhsX < Q && lhsY < Q && rhsX < Q && rhsY < Q, Errors.ValueGeGroupOrder()); + + lhs.x = lhsX; + lhs.y = lhsY; + rhs.x = rhsX; rhs.y = rhsY; } @@ -1591,7 +1620,7 @@ function generateRecursionSeparator( recursionSeparatorElements[6] = accRhs.x; recursionSeparatorElements[7] = accRhs.y; - recursionSeparator = FrLib.fromBytes32(keccak256(abi.encodePacked(recursionSeparatorElements))); + recursionSeparator = FrLib.from(uint256(keccak256(abi.encodePacked(recursionSeparatorElements))) % P); } /** @@ -1709,17 +1738,20 @@ function ecAdd(Honk.G1Point memory lhs, Honk.G1Point memory rhs) view returns (H return result; } -function validateOnCurve(Honk.G1Point memory point) pure { - uint256 x = point.x; - uint256 y = point.y; +function rejectPointAtInfinity(Honk.G1Point memory point) pure { + require((point.x | point.y) != 0, Errors.PointAtInfinity()); +} - bool success = false; - assembly { - let xx := mulmod(x, x, Q) - success := eq(mulmod(y, y, Q), addmod(mulmod(x, xx, Q), 3, Q)) +/** + * Check if pairing point limbs are all zero (default/infinity). + * Default pairing points indicate no recursive verification occurred. + */ +function arePairingPointsDefault(Fr[PAIRING_POINTS_SIZE] memory pairingPoints) pure returns (bool) { + uint256 acc = 0; + for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { + acc |= Fr.unwrap(pairingPoints[i]); } - - require(success, "point is not on the curve"); + return acc == 0; } function pairing(Honk.G1Point memory rhs, Honk.G1Point memory lhs) view returns (bool decodedResult) { @@ -1744,19 +1776,42 @@ function pairing(Honk.G1Point memory rhs, Honk.G1Point memory lhs) view returns decodedResult = success && abi.decode(result, (bool)); } -// Field arithmetic libraries - prevent littering the code with modmul / addmul +abstract contract BaseZKHonkVerifier is IVerifier { + using FrLib for Fr; + struct PairingInputs { + Honk.G1Point P_0; + Honk.G1Point P_1; + } + struct SmallSubgroupIpaIntermediates { + Fr[SUBGROUP_SIZE] challengePolyLagrange; + Fr challengePolyEval; + Fr lagrangeFirst; + Fr lagrangeLast; + Fr rootPower; + Fr[SUBGROUP_SIZE] denominators; // this has to disappear + Fr diff; + } + // Constants for proof length calculation (matching UltraKeccakZKFlavor) + uint256 internal constant NUM_WITNESS_ENTITIES = 8 + NUM_MASKING_POLYNOMIALS; + uint256 internal constant NUM_ELEMENTS_COMM = 2; // uint256 elements for curve points + uint256 internal constant NUM_ELEMENTS_FR = 1; // uint256 elements for field elements + uint256 internal constant NUM_LIBRA_EVALUATIONS = 4; // libra evaluations -abstract contract BaseZKHonkVerifier is IVerifier { - using FrLib for Fr; + uint256 internal constant LIBRA_COMMITMENTS = 3; + uint256 internal constant LIBRA_EVALUATIONS = 4; + uint256 internal constant LIBRA_UNIVARIATES_LENGTH = 9; + + uint256 internal constant SHIFTED_COMMITMENTS_START = 30; + uint256 internal constant PERMUTATION_ARGUMENT_VALUE_SEPARATOR = 1 << 28; - uint256 immutable $N; - uint256 immutable $LOG_N; - uint256 immutable $VK_HASH; - uint256 immutable $NUM_PUBLIC_INPUTS; - uint256 immutable $MSMSize; + uint256 internal immutable $N; + uint256 internal immutable $LOG_N; + uint256 internal immutable $VK_HASH; + uint256 internal immutable $NUM_PUBLIC_INPUTS; + uint256 internal immutable $MSMSize; constructor(uint256 _N, uint256 _logN, uint256 _vkHash, uint256 _numPublicInputs) { $N = _N; @@ -1766,50 +1821,6 @@ abstract contract BaseZKHonkVerifier is IVerifier { $MSMSize = NUMBER_UNSHIFTED_ZK + _logN + LIBRA_COMMITMENTS + 2; } - // Errors - error ProofLengthWrong(); - error ProofLengthWrongWithLogN(uint256 logN, uint256 actualLength, uint256 expectedLength); - error PublicInputsLengthWrong(); - error SumcheckFailed(); - error ShpleminiFailed(); - error GeminiChallengeInSubgroup(); - error ConsistencyCheckFailed(); - - // Constants for proof length calculation (matching UltraKeccakZKFlavor) - uint256 constant NUM_WITNESS_ENTITIES = 8 + NUM_MASKING_POLYNOMIALS; - uint256 constant NUM_ELEMENTS_COMM = 2; // uint256 elements for curve points - uint256 constant NUM_ELEMENTS_FR = 1; // uint256 elements for field elements - uint256 constant NUM_LIBRA_EVALUATIONS = 4; // libra evaluations - - // Calculate proof size based on log_n (matching UltraKeccakZKFlavor formula) - function calculateProofSize(uint256 logN) internal pure returns (uint256) { - // Witness and Libra commitments - uint256 proofLength = NUM_WITNESS_ENTITIES * NUM_ELEMENTS_COMM; // witness commitments - proofLength += NUM_ELEMENTS_COMM * 3; // Libra concat, grand sum, quotient comms + Gemini masking - - // Sumcheck - proofLength += logN * ZK_BATCHED_RELATION_PARTIAL_LENGTH * NUM_ELEMENTS_FR; // sumcheck univariates - proofLength += NUMBER_OF_ENTITIES_ZK * NUM_ELEMENTS_FR; // sumcheck evaluations - - // Libra and Gemini - proofLength += NUM_ELEMENTS_FR * 2; // Libra sum, claimed eval - proofLength += logN * NUM_ELEMENTS_FR; // Gemini a evaluations - proofLength += NUM_LIBRA_EVALUATIONS * NUM_ELEMENTS_FR; // libra evaluations - - // PCS commitments - proofLength += (logN - 1) * NUM_ELEMENTS_COMM; // Gemini Fold commitments - proofLength += NUM_ELEMENTS_COMM * 2; // Shplonk Q and KZG W commitments - - // Pairing points - proofLength += PAIRING_POINTS_SIZE; // pairing inputs carried on public inputs - - return proofLength; - } - - uint256 constant SHIFTED_COMMITMENTS_START = 30; - - function loadVerificationKey() internal pure virtual returns (Honk.VerificationKey memory); - function verify(bytes calldata proof, bytes32[] calldata publicInputs) public view @@ -1820,16 +1831,14 @@ abstract contract BaseZKHonkVerifier is IVerifier { uint256 expectedProofSize = calculateProofSize($LOG_N); // Check the received proof is the expected size where each field element is 32 bytes - if (proof.length != expectedProofSize * 32) { - revert ProofLengthWrongWithLogN($LOG_N, proof.length, expectedProofSize * 32); - } + require( + proof.length == expectedProofSize, Errors.ProofLengthWrongWithLogN($LOG_N, proof.length, expectedProofSize) + ); Honk.VerificationKey memory vk = loadVerificationKey(); Honk.ZKProof memory p = ZKTranscriptLib.loadProof(proof, $LOG_N); - if (publicInputs.length != vk.publicInputsSize - PAIRING_POINTS_SIZE) { - revert PublicInputsLengthWrong(); - } + require(publicInputs.length == vk.publicInputsSize - PAIRING_POINTS_SIZE, Errors.PublicInputsLengthWrong()); // Generate the fiat shamir challenges for the whole protocol ZKTranscript memory t = @@ -1845,15 +1854,12 @@ abstract contract BaseZKHonkVerifier is IVerifier { ); // Sumcheck - if (!verifySumcheck(p, t)) revert SumcheckFailed(); - - if (!verifyShplemini(p, vk, t)) revert ShpleminiFailed(); + require(verifySumcheck(p, t), Errors.SumcheckFailed()); + require(verifyShplemini(p, vk, t), Errors.ShpleminiFailed()); verified = true; } - uint256 constant PERMUTATION_ARGUMENT_VALUE_SEPARATOR = 1 << 28; - function computePublicInputDelta( bytes32[] memory publicInputs, Fr[PAIRING_POINTS_SIZE] memory pairingPointObject, @@ -1901,7 +1907,7 @@ abstract contract BaseZKHonkVerifier is IVerifier { for (uint256 round; round < $LOG_N; ++round) { Fr[ZK_BATCHED_RELATION_PARTIAL_LENGTH] memory roundUnivariate = proof.sumcheckUnivariates[round]; Fr totalSum = roundUnivariate[0] + roundUnivariate[1]; - if (totalSum != roundTargetSum) revert SumcheckFailed(); + require(totalSum == roundTargetSum, Errors.SumcheckFailed()); Fr roundChallenge = tp.sumCheckUChallenges[round]; @@ -1972,15 +1978,6 @@ abstract contract BaseZKHonkVerifier is IVerifier { targetSum = targetSum * numeratorValue; } - uint256 constant LIBRA_COMMITMENTS = 3; - uint256 constant LIBRA_EVALUATIONS = 4; - uint256 constant LIBRA_UNIVARIATES_LENGTH = 9; - - struct PairingInputs { - Honk.G1Point P_0; - Honk.G1Point P_1; - } - function verifyShplemini(Honk.ZKProof memory proof, Honk.VerificationKey memory vk, ZKTranscript memory tp) internal view @@ -2196,9 +2193,10 @@ abstract contract BaseZKHonkVerifier is IVerifier { commitments[boundary] = Honk.G1Point({x: 1, y: 2}); scalars[boundary++] = mem.constantTermAccumulator; - if (!checkEvalsConsistency(proof.libraPolyEvals, tp.geminiR, tp.sumCheckUChallenges, proof.libraEvaluation)) { - revert ConsistencyCheckFailed(); - } + require( + checkEvalsConsistency(proof.libraPolyEvals, tp.geminiR, tp.sumCheckUChallenges, proof.libraEvaluation), + Errors.ConsistencyCheckFailed() + ); Honk.G1Point memory quotient_commitment = proof.kzgQuotient; @@ -2209,32 +2207,24 @@ abstract contract BaseZKHonkVerifier is IVerifier { pair.P_0 = batchMul(commitments, scalars); pair.P_1 = negateInplace(quotient_commitment); - // Aggregate pairing points - Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, pair.P_0, pair.P_1); - (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = - convertPairingPointsToG1(proof.pairingPointObject); + // Aggregate pairing points (skip if default/infinity — no recursive verification occurred) + if (!arePairingPointsDefault(proof.pairingPointObject)) { + Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, pair.P_0, pair.P_1); + (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = + convertPairingPointsToG1(proof.pairingPointObject); - // Validate the points from the proof are on the curve - validateOnCurve(P_0_other); - validateOnCurve(P_1_other); + // Validate the points from the proof are on the curve + rejectPointAtInfinity(P_0_other); + rejectPointAtInfinity(P_1_other); - // accumulate with aggregate points in proof - pair.P_0 = mulWithSeperator(pair.P_0, P_0_other, recursionSeparator); - pair.P_1 = mulWithSeperator(pair.P_1, P_1_other, recursionSeparator); + // accumulate with aggregate points in proof + pair.P_0 = mulWithSeperator(pair.P_0, P_0_other, recursionSeparator); + pair.P_1 = mulWithSeperator(pair.P_1, P_1_other, recursionSeparator); + } return pairing(pair.P_0, pair.P_1); } - struct SmallSubgroupIpaIntermediates { - Fr[SUBGROUP_SIZE] challengePolyLagrange; - Fr challengePolyEval; - Fr lagrangeFirst; - Fr lagrangeLast; - Fr rootPower; - Fr[SUBGROUP_SIZE] denominators; // this has to disappear - Fr diff; - } - function checkEvalsConsistency( Fr[LIBRA_EVALUATIONS] memory libraPolyEvals, Fr geminiR, @@ -2243,9 +2233,7 @@ abstract contract BaseZKHonkVerifier is IVerifier { ) internal view returns (bool check) { Fr one = Fr.wrap(1); Fr vanishingPolyEval = geminiR.pow(SUBGROUP_SIZE) - one; - if (vanishingPolyEval == Fr.wrap(0)) { - revert GeminiChallengeInSubgroup(); - } + require(vanishingPolyEval != Fr.wrap(0), Errors.GeminiChallengeInSubgroup()); SmallSubgroupIpaIntermediates memory mem; mem.challengePolyLagrange[0] = one; @@ -2290,7 +2278,7 @@ abstract contract BaseZKHonkVerifier is IVerifier { // Validate all points are on the curve for (uint256 i = 0; i < limit; ++i) { - validateOnCurve(base[i]); + rejectPointAtInfinity(base[i]); } bool success = true; @@ -2318,8 +2306,35 @@ abstract contract BaseZKHonkVerifier is IVerifier { mstore(add(result, 0x20), mload(add(free, 0x20))) } - require(success, ShpleminiFailed()); + require(success, Errors.ShpleminiFailed()); } + + // Calculate proof size based on log_n (matching UltraKeccakZKFlavor formula) + function calculateProofSize(uint256 logN) internal pure returns (uint256) { + // Witness and Libra commitments + uint256 proofLength = NUM_WITNESS_ENTITIES * NUM_ELEMENTS_COMM; // witness commitments + proofLength += NUM_ELEMENTS_COMM * 3; // Libra concat, grand sum, quotient comms + Gemini masking + + // Sumcheck + proofLength += logN * ZK_BATCHED_RELATION_PARTIAL_LENGTH * NUM_ELEMENTS_FR; // sumcheck univariates + proofLength += NUMBER_OF_ENTITIES_ZK * NUM_ELEMENTS_FR; // sumcheck evaluations + + // Libra and Gemini + proofLength += NUM_ELEMENTS_FR * 2; // Libra sum, claimed eval + proofLength += logN * NUM_ELEMENTS_FR; // Gemini a evaluations + proofLength += NUM_LIBRA_EVALUATIONS * NUM_ELEMENTS_FR; // libra evaluations + + // PCS commitments + proofLength += (logN - 1) * NUM_ELEMENTS_COMM; // Gemini Fold commitments + proofLength += NUM_ELEMENTS_COMM * 2; // Shplonk Q and KZG W commitments + + // Pairing points + proofLength += PAIRING_POINTS_SIZE; // pairing inputs carried on public inputs + + return proofLength * 32; + } + + function loadVerificationKey() internal pure virtual returns (Honk.VerificationKey memory); } contract HonkVerifier is BaseZKHonkVerifier(N, LOG_N, VK_HASH, NUMBER_OF_PUBLIC_INPUTS) { diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp index facc1710c983..653076e67c3a 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.test.cpp @@ -163,13 +163,6 @@ template class stdlib_biggroup : public testing::Test { { Builder builder; STANDARD_TESTING_TAGS; - // Suppress unused warnings for tags not used in this test - (void)first_and_third_merged_tag; - (void)first_second_third_merged_tag; - (void)first_to_fourth_merged_tag; - (void)instant_death_tag; - (void)next_submitted_value_origin_tag; - (void)next_challenge_tag; // Setup: two points with different tags auto [input_a, a] = get_random_point(&builder, InputType::WITNESS); @@ -229,8 +222,6 @@ template class stdlib_biggroup : public testing::Test { } } - (void)instant_death_tag; // Used only in debug builds below - #ifndef NDEBUG // Instant death tag causes exception on use affine_element input_death(element::random_element()); diff --git a/barretenberg/cpp/src/barretenberg/transcript/origin_tag.hpp b/barretenberg/cpp/src/barretenberg/transcript/origin_tag.hpp index 5d1d10c256a4..614cb1e8c027 100644 --- a/barretenberg/cpp/src/barretenberg/transcript/origin_tag.hpp +++ b/barretenberg/cpp/src/barretenberg/transcript/origin_tag.hpp @@ -36,30 +36,31 @@ template constexpr bool is_iterable_v = is_iterable::value; const size_t parent_id = 0; \ [[maybe_unused]] const auto clear_tag = OriginTag::constant(); /* A tag representing a constant value */ \ [[maybe_unused]] const auto constant_tag = OriginTag::constant(); /* Alias for clear_tag */ \ - const auto submitted_value_origin_tag = OriginTag( \ + [[maybe_unused]] const auto submitted_value_origin_tag = OriginTag( \ parent_id, /*round_id=*/0, /*is_submitted=*/true); /*A tag describing a value submitted in the 0th round*/ \ - const auto next_submitted_value_origin_tag = OriginTag( \ + [[maybe_unused]] const auto next_submitted_value_origin_tag = OriginTag( \ parent_id, /*round_id=*/1, /*is_submitted=*/true); /*A tag describing a value submitted in the 1st round*/ \ - const auto challenge_origin_tag = OriginTag( \ + [[maybe_unused]] const auto challenge_origin_tag = OriginTag( \ parent_id, /*round_id=*/0, /*is_submitted=*/false); /*A tag describing a challenge derived in the 0th round*/ \ - const auto next_challenge_tag = OriginTag( \ + [[maybe_unused]] const auto next_challenge_tag = OriginTag( \ parent_id, /*round_id=*/1, /*is_submitted=*/false); /*A tag describing a challenge derived in the 1st round*/ \ - const auto first_two_merged_tag = \ + [[maybe_unused]] const auto first_two_merged_tag = \ OriginTag(submitted_value_origin_tag, \ challenge_origin_tag); /*A tag describing a value constructed from values submitted by the prover in \ the 0th round and challenges from the same round */ \ - const auto first_and_third_merged_tag = \ + [[maybe_unused]] const auto first_and_third_merged_tag = \ OriginTag(submitted_value_origin_tag, \ next_challenge_tag); /* A tag describing a value constructed from values submitted in the 0th round \ and challenges computed in the 1st round*/ \ - const auto first_second_third_merged_tag = OriginTag( \ + [[maybe_unused]] const auto first_second_third_merged_tag = OriginTag( \ first_two_merged_tag, next_challenge_tag); /* A tag describing a value computed from values submitted in the \ 0th round and challenges generated in the 0th and 1st round*/ \ - const auto first_to_fourth_merged_tag = \ + [[maybe_unused]] const auto first_to_fourth_merged_tag = \ OriginTag(first_second_third_merged_tag, \ next_submitted_value_origin_tag); /* A tag describing a value computed from values submitted in the \ 0th and 1st round and challenges generated in the 0th and 1st round*/ \ - const auto instant_death_tag = OriginTag::poisoned(); /* A tag that causes an abort on any arithmetic*/ + [[maybe_unused]] const auto instant_death_tag = \ + OriginTag::poisoned(); /* A tag that causes an abort on any arithmetic*/ namespace bb { diff --git a/barretenberg/sol/CLAUDE.md b/barretenberg/sol/CLAUDE.md index c676a60b2566..9d45d5feb867 100644 --- a/barretenberg/sol/CLAUDE.md +++ b/barretenberg/sol/CLAUDE.md @@ -130,6 +130,8 @@ Same for beta powers used in lookup relation. ### 4. File Regeneration Order +**IMPORTANT:** `honk_contract.hpp` and `honk_zk_contract.hpp` can silently drift from the Solidity sources. Always re-run `copy_to_cpp.sh` after editing any Solidity verifier file, or the `bb write_solidity_verifier` command will generate stale contracts. + When making changes to core Solidity files: 1. Edit Solidity files (`HonkTypes.sol`, `Transcript.sol`, `Relations.sol`, etc.) @@ -137,11 +139,15 @@ When making changes to core Solidity files: 3. Rebuild C++ if needed: `cd ../cpp/build && ninja honk_solidity_proof_gen` 4. Run tests: `forge test` +`copy_to_cpp.sh` bundles these files (in order): `IVerifier.sol`, `Errors.sol`, `Fr.sol`, `HonkTypes.sol`, `Transcript.sol`/`ZKTranscript.sol`, `Relations.sol`, `CommitmentScheme.sol`, `utils.sol`, `BaseHonkVerifier.sol`/`BaseZKHonkVerifier.sol`. If a new `.sol` file is added that others depend on, it must be added to this script. + For optimized verifier changes: 1. Edit `honk-optimized.sol.template` 2. Run `./scripts/sync_blake_opt_vk.sh` to apply VK values 3. Run `./scripts/copy_optimized_to_cpp.sh -f` +Note: `copy_optimized_to_cpp.sh` copies from the concrete `BlakeHonkOpt.sol` instance, NOT from the template. If you only edit the template, the hpp won't update until `sync_blake_opt_vk.sh` regenerates the instance. + ## Test Structure | Test File | Circuit | Description | @@ -175,6 +181,33 @@ Powers (eta², eta³, β², β³) are computed locally where needed, not stored. 3. **Check wire mappings**: Ensure `WIRE` enum matches C++ `AllEntities` ordering 4. **Verify VK hash**: The `VK_HASH` constant must match what C++ computes +## Common Pitfalls + +### Default pairing points and on-curve validation + +Non-recursive circuits have default pairing points at infinity, represented as (0,0). The EVM precompiles (ecAdd/ecMul) accept (0,0) as the identity element, but `validateOnCurve` rejects it because `0² ≠ 0³ + 3`. Similarly, `rejectPointAtInfinity` rejects (0,0) by design. + +When pairing points are default (all-zero limbs), the entire pairing aggregation block must be skipped. Use `arePairingPointsDefault()` to check before calling `convertPairingPointsToG1`, `validateOnCurve`, or `rejectPointAtInfinity` on the reconstructed points. + +### Running ACIR Solidity tests locally + +Use `AVM=0` when running with a locally-built `bb` (not `bb-avm`): +```bash +AVM=0 barretenberg/acir_tests/scripts/bb_prove_sol_verify.sh assert_statement --disable_zk +AVM=0 USE_OPTIMIZED_CONTRACT=true barretenberg/acir_tests/scripts/bb_prove_sol_verify.sh assert_statement --disable_zk +``` + +### Proof format for Solidity + +The proof bytes sent to the Solidity verifier contain pairing point limbs at the front, followed by honk proof data. The `loadProof` function in `Transcript.sol` reads them in this order: +1. Pairing point limbs (8 × 32 bytes) +2. Witness commitments (G1 points: w1, w2, w3, lookupReadCounts, lookupReadTags, w4, lookupInverses, zPerm) +3. Sumcheck univariates and evaluations +4. Gemini fold commitments and evaluations +5. Shplonk Q and KZG quotient commitments + +Public inputs (user-facing, not including pairing points) are passed separately via `bytes32[] calldata publicInputs`. + ## Optimized Verifier Memory Layout The optimized verifier (`blake-opt.sol.template`) uses hand-tuned assembly with explicit memory offsets. diff --git a/barretenberg/sol/bootstrap.sh b/barretenberg/sol/bootstrap.sh index a24308b7e2df..5545461c63b5 100755 --- a/barretenberg/sol/bootstrap.sh +++ b/barretenberg/sol/bootstrap.sh @@ -45,13 +45,20 @@ function generate_vks { ./scripts/init_honk.sh } +function check_generated_contracts_synced { + echo_header "barretenberg/sol checking generated contract templates are synced" + ./scripts/check_generated_contracts_synced.sh +} + function build_code { # These steps are sequential + # generate_vks must run before the sync check because BlakeHonkOpt.sol is generated generate_vks + check_generated_contracts_synced build_sol } -export -f build_code generate_vks build_sol +export -f build_code check_generated_contracts_synced generate_vks build_sol function build { echo_header "barretenberg/sol building" diff --git a/barretenberg/sol/scripts/check_generated_contracts_synced.sh b/barretenberg/sol/scripts/check_generated_contracts_synced.sh new file mode 100755 index 000000000000..ae2ea878809f --- /dev/null +++ b/barretenberg/sol/scripts/check_generated_contracts_synced.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Checks that the generated contract templates (honk_contract.hpp, honk_zk_contract.hpp, +# honk_optimized_contract.hpp) are up-to-date with their Solidity source files. +# Fails with a diff if any file is stale. + +set -euo pipefail + +REPO_ROOT=$(git rev-parse --show-toplevel) +SCRIPT_DIR="$REPO_ROOT/barretenberg/sol/scripts" +CPP_DIR="$REPO_ROOT/barretenberg/cpp/src/barretenberg/dsl/acir_proofs" + +FILES=(honk_contract.hpp honk_zk_contract.hpp honk_optimized_contract.hpp) + +# Save copies of the current generated files +TEMP_DIR=$(mktemp -d) +trap "rm -rf $TEMP_DIR" EXIT + +for FILE in "${FILES[@]}"; do + cp "$CPP_DIR/$FILE" "$TEMP_DIR/$FILE" +done + +# Regenerate all three files +"$SCRIPT_DIR/copy_to_cpp.sh" -f +"$SCRIPT_DIR/copy_optimized_to_cpp.sh" -f + +# Compare and collect failures +FAILED=0 + +for FILE in "${FILES[@]}"; do + if ! diff -u "$TEMP_DIR/$FILE" "$CPP_DIR/$FILE" > "$TEMP_DIR/$FILE.diff" 2>&1; then + echo "ERROR: $FILE is out of sync with Solidity sources." + echo "" + cat "$TEMP_DIR/$FILE.diff" + echo "" + FAILED=1 + fi +done + +# Restore originals (so we don't modify the working tree) +for FILE in "${FILES[@]}"; do + cp "$TEMP_DIR/$FILE" "$CPP_DIR/$FILE" +done + +if [ "$FAILED" -eq 1 ]; then + echo "Generated contract templates are out of sync with Solidity sources." + echo "Run './barretenberg/sol/scripts/copy_to_cpp.sh -f' and './barretenberg/sol/scripts/copy_optimized_to_cpp.sh -f' to regenerate." + exit 1 +fi + +echo "Generated contract templates are in sync with Solidity sources." diff --git a/barretenberg/sol/scripts/copy_to_cpp.sh b/barretenberg/sol/scripts/copy_to_cpp.sh index 0e05c653b000..fc7b4f675306 100755 --- a/barretenberg/sol/scripts/copy_to_cpp.sh +++ b/barretenberg/sol/scripts/copy_to_cpp.sh @@ -154,6 +154,7 @@ build_verifier() { # Process core files process_sol_file "$SOL_SRC_DIR/../interfaces/IVerifier.sol" "$output_file" + process_sol_file "$SOL_SRC_DIR/Errors.sol" "$output_file" process_sol_file "$SOL_SRC_DIR/Fr.sol" "$output_file" process_sol_file "$SOL_SRC_DIR/HonkTypes.sol" "$output_file" diff --git a/barretenberg/sol/src/honk/BaseHonkVerifier.sol b/barretenberg/sol/src/honk/BaseHonkVerifier.sol index dc5df0461b58..b41b4b77e631 100644 --- a/barretenberg/sol/src/honk/BaseHonkVerifier.sol +++ b/barretenberg/sol/src/honk/BaseHonkVerifier.sol @@ -15,7 +15,7 @@ import { } from "./HonkTypes.sol"; import {RelationsLib} from "./Relations.sol"; import {Transcript, TranscriptLib} from "./Transcript.sol"; -import {negateInplace, pairing, rejectPointAtInfinity} from "./utils.sol"; +import {negateInplace, pairing, rejectPointAtInfinity, arePairingPointsDefault} from "./utils.sol"; import {generateRecursionSeparator, convertPairingPointsToG1, mulWithSeperator} from "./utils.sol"; import {Errors} from "./Errors.sol"; @@ -385,18 +385,20 @@ abstract contract BaseHonkVerifier is IVerifier { Honk.G1Point memory P_0_agg = batchMul(commitments, scalars); Honk.G1Point memory P_1_agg = negateInplace(quotient_commitment); - // Aggregate pairing points - Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, P_0_agg, P_1_agg); - (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = - convertPairingPointsToG1(proof.pairingPointObject); + // Aggregate pairing points (skip if default/infinity — no recursive verification occurred) + if (!arePairingPointsDefault(proof.pairingPointObject)) { + Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, P_0_agg, P_1_agg); + (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = + convertPairingPointsToG1(proof.pairingPointObject); - // Validate the points from the proof are on the curve - rejectPointAtInfinity(P_0_other); - rejectPointAtInfinity(P_1_other); + // Validate the points from the proof are on the curve + rejectPointAtInfinity(P_0_other); + rejectPointAtInfinity(P_1_other); - // accumulate with aggregate points in proof - P_0_agg = mulWithSeperator(P_0_agg, P_0_other, recursionSeparator); - P_1_agg = mulWithSeperator(P_1_agg, P_1_other, recursionSeparator); + // accumulate with aggregate points in proof + P_0_agg = mulWithSeperator(P_0_agg, P_0_other, recursionSeparator); + P_1_agg = mulWithSeperator(P_1_agg, P_1_other, recursionSeparator); + } return pairing(P_0_agg, P_1_agg); } diff --git a/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol b/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol index e530a785011b..8ef1a521b511 100644 --- a/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol +++ b/barretenberg/sol/src/honk/BaseZKHonkVerifier.sol @@ -17,7 +17,7 @@ import { PAIRING_POINTS_SIZE } from "./HonkTypes.sol"; import {RelationsLib} from "./Relations.sol"; -import {negateInplace, pairing} from "./utils.sol"; +import {negateInplace, pairing, arePairingPointsDefault} from "./utils.sol"; import { generateRecursionSeparator, convertPairingPointsToG1, @@ -464,18 +464,20 @@ abstract contract BaseZKHonkVerifier is IVerifier { pair.P_0 = batchMul(commitments, scalars); pair.P_1 = negateInplace(quotient_commitment); - // Aggregate pairing points - Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, pair.P_0, pair.P_1); - (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = - convertPairingPointsToG1(proof.pairingPointObject); + // Aggregate pairing points (skip if default/infinity — no recursive verification occurred) + if (!arePairingPointsDefault(proof.pairingPointObject)) { + Fr recursionSeparator = generateRecursionSeparator(proof.pairingPointObject, pair.P_0, pair.P_1); + (Honk.G1Point memory P_0_other, Honk.G1Point memory P_1_other) = + convertPairingPointsToG1(proof.pairingPointObject); - // Validate the points from the proof are on the curve - rejectPointAtInfinity(P_0_other); - rejectPointAtInfinity(P_1_other); + // Validate the points from the proof are on the curve + rejectPointAtInfinity(P_0_other); + rejectPointAtInfinity(P_1_other); - // accumulate with aggregate points in proof - pair.P_0 = mulWithSeperator(pair.P_0, P_0_other, recursionSeparator); - pair.P_1 = mulWithSeperator(pair.P_1, P_1_other, recursionSeparator); + // accumulate with aggregate points in proof + pair.P_0 = mulWithSeperator(pair.P_0, P_0_other, recursionSeparator); + pair.P_1 = mulWithSeperator(pair.P_1, P_1_other, recursionSeparator); + } return pairing(pair.P_0, pair.P_1); } diff --git a/barretenberg/sol/src/honk/optimised/honk-optimized.sol.template b/barretenberg/sol/src/honk/optimised/honk-optimized.sol.template index c8b03fb7cce8..2756c5070257 100644 --- a/barretenberg/sol/src/honk/optimised/honk-optimized.sol.template +++ b/barretenberg/sol/src/honk/optimised/honk-optimized.sol.template @@ -4573,55 +4573,68 @@ contract BlakeOptHonkVerifier is IVerifier { let p1_other_y := mload(PAIRING_POINT_1_Y_0_LOC) p1_other_y := or(shl(136, mload(PAIRING_POINT_1_Y_1_LOC)), p1_other_y) - // Reconstructed coordinates must be < Q to prevent malleability - if iszero(and( - and(lt(p0_other_x, q), lt(p0_other_y, q)), - and(lt(p1_other_x, q), lt(p1_other_y, q)) - )) { - mstore(0x00, VALUE_GE_GROUP_ORDER_SELECTOR) - revert(0x00, 0x04) - } + // Check if pairing points are default (all zero = infinity = no recursive verification) + let pairing_points_are_default := iszero(or(or(p0_other_x, p0_other_y), or(p1_other_x, p1_other_y))) + + let success := 1 + // Only aggregate if pairing points are non-default + if iszero(pairing_points_are_default) { + // Reconstructed coordinates must be < Q to prevent malleability + if iszero(and( + and(lt(p0_other_x, q), lt(p0_other_y, q)), + and(lt(p1_other_x, q), lt(p1_other_y, q)) + )) { + mstore(0x00, VALUE_GE_GROUP_ORDER_SELECTOR) + revert(0x00, 0x04) + } - // Validate p_0_other not point of infinity - let success := iszero(iszero(or(p0_other_x, p0_other_y))) - // Validate p_1_other not point of infinity - success := and(success, iszero(iszero(or(p1_other_x, p1_other_y)))) + // Validate p_0_other not point of infinity + success := iszero(iszero(or(p0_other_x, p0_other_y))) + // Validate p_1_other not point of infinity + success := and(success, iszero(iszero(or(p1_other_x, p1_other_y)))) - // p_0 - mstore(0x00, p0_other_x) - mstore(0x20, p0_other_y) + // p_0 + mstore(0x00, p0_other_x) + mstore(0x20, p0_other_y) - // p_1 - mstore(0x40, p1_other_x) - mstore(0x60, p1_other_y) + // p_1 + mstore(0x40, p1_other_x) + mstore(0x60, p1_other_y) - // p_1_agg is already in the correct location + // p_1_agg is already in the correct location - let recursion_separator := keccak256(0x00, 0x100) + let recursion_separator := keccak256(0x00, 0x100) - // Write separator back to scratch space - mstore(0x00, p0_other_x) + // Write separator back to scratch space + mstore(0x00, p0_other_x) - mstore(0x40, recursion_separator) - // recursion_separator * p_0_other - success := and(success, staticcall(gas(), 0x07, 0x00, 0x60, 0x00, 0x40)) + mstore(0x40, recursion_separator) + // recursion_separator * p_0_other + success := and(success, staticcall(gas(), 0x07, 0x00, 0x60, 0x00, 0x40)) - // (recursion_separator * p_0_other) + p_0_agg - mcopy(0x40, 0x80, 0x40) - // p_0 = (recursion_separator * p_0_other) + p_0_agg - success := and(success, staticcall(gas(), 6, 0x00, 0x80, 0x00, 0x40)) + // (recursion_separator * p_0_other) + p_0_agg + mcopy(0x40, 0x80, 0x40) + // p_0 = (recursion_separator * p_0_other) + p_0_agg + success := and(success, staticcall(gas(), 6, 0x00, 0x80, 0x00, 0x40)) - mstore(0x40, p1_other_x) - mstore(0x60, p1_other_y) - mstore(0x80, recursion_separator) + mstore(0x40, p1_other_x) + mstore(0x60, p1_other_y) + mstore(0x80, recursion_separator) - success := and(success, staticcall(gas(), 7, 0x40, 0x60, 0x40, 0x40)) + success := and(success, staticcall(gas(), 7, 0x40, 0x60, 0x40, 0x40)) - // Write p_1_agg back to scratch space - mcopy(0x80, 0xc0, 0x40) + // Write p_1_agg back to scratch space + mcopy(0x80, 0xc0, 0x40) - // 0xc0 - (recursion_separator * p_1_other) + p_1_agg - success := and(success, staticcall(gas(), 6, 0x40, 0x80, 0xc0, 0x40)) + // 0xc0 - (recursion_separator * p_1_other) + p_1_agg + success := and(success, staticcall(gas(), 6, 0x40, 0x80, 0xc0, 0x40)) + } + // If default pairing points, use p_0_agg and p_1_agg directly (already at 0x80, 0xc0) + if pairing_points_are_default { + // Copy p_0_agg to 0x00 for pairing input + mcopy(0x00, 0x80, 0x40) + // p_1_agg stays at 0xc0 + } // G2 [1] mstore(0x40, 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2) diff --git a/barretenberg/sol/src/honk/utils.sol b/barretenberg/sol/src/honk/utils.sol index b942efc5edd8..fb1823d08578 100644 --- a/barretenberg/sol/src/honk/utils.sol +++ b/barretenberg/sol/src/honk/utils.sol @@ -236,6 +236,18 @@ function rejectPointAtInfinity(Honk.G1Point memory point) pure { require((point.x | point.y) != 0, Errors.PointAtInfinity()); } +/** + * Check if pairing point limbs are all zero (default/infinity). + * Default pairing points indicate no recursive verification occurred. + */ +function arePairingPointsDefault(Fr[PAIRING_POINTS_SIZE] memory pairingPoints) pure returns (bool) { + uint256 acc = 0; + for (uint256 i = 0; i < PAIRING_POINTS_SIZE; i++) { + acc |= Fr.unwrap(pairingPoints[i]); + } + return acc == 0; +} + function pairing(Honk.G1Point memory rhs, Honk.G1Point memory lhs) view returns (bool decodedResult) { bytes memory input = abi.encodePacked( rhs.x, diff --git a/barretenberg/sol/test/honk/negative/NegativeTestBase.sol b/barretenberg/sol/test/honk/negative/NegativeTestBase.sol index 02a8087a1b2f..1a2cb5074322 100644 --- a/barretenberg/sol/test/honk/negative/NegativeTestBase.sol +++ b/barretenberg/sol/test/honk/negative/NegativeTestBase.sol @@ -418,12 +418,12 @@ abstract contract NegativeTestBase is TestBase { verifier.verify{gas: 15_000_000}(proof, cachedPublicInputs); } - /// @notice (0,0) in pairing points - no explicit check, caught via computation - function test_PointOfInfinity_PairingPoint() public virtual { + /// @notice Invalid pairing points - no explicit check, caught via computation + function test_InvalidPairingPoints() public virtual { bytes memory proof = copyProof(); for (uint256 i = 0; i < 8; i++) { - setValue(proof, PAIRING_POINTS_OFFSET + i * 32, 0); + setValue(proof, PAIRING_POINTS_OFFSET + i * 32, 1); } vm.expectRevert(Errors.SumcheckFailed.selector); diff --git a/barretenberg/sol/test/honk/negative/NegativeTestBaseZK.sol b/barretenberg/sol/test/honk/negative/NegativeTestBaseZK.sol index 8cd96df85eca..69f17416a84e 100644 --- a/barretenberg/sol/test/honk/negative/NegativeTestBaseZK.sol +++ b/barretenberg/sol/test/honk/negative/NegativeTestBaseZK.sol @@ -379,14 +379,12 @@ abstract contract NegativeTestBaseZK is TestBase { verifier.verify{gas: 15_000_000}(proof, cachedPublicInputs); } - /// @notice (0,0) in pairing points causes SumcheckFailed - /// @dev No explicit on-curve check for pairing points. - /// Corrupted pairing points affect computation → SumcheckFailed - function test_PointOfInfinity_PairingPoint() public virtual { + /// @notice Invalid pairing points - no explicit check, caught via computation + function test_InvalidPairingPoints() public virtual { bytes memory proof = copyProof(); for (uint256 i = 0; i < 8; i++) { - setValue(proof, PAIRING_POINTS_OFFSET + i * 32, 0); + setValue(proof, PAIRING_POINTS_OFFSET + i * 32, 1); } vm.expectRevert(Errors.SumcheckFailed.selector); From 08b8b9707e00f15af182adaa7ecde5e9c0668b3f Mon Sep 17 00:00:00 2001 From: Suyash Bagad Date: Mon, 16 Feb 2026 21:03:58 +0530 Subject: [PATCH 05/12] chore: address informational findings in biggroup (#20549) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Added a runtime assertion to check if `stagger < 32` as `stagger ≥ 32` will cause integer overflow in `get_staggered_wnaf_fragment_value` 2. Handle cases when `klo` can be negative (i.e., `klo = p - klo'` where `klo'` is 128-bit integer). This is similar to how we handle `khi`. 3. Added a comment that chain addition can only be used for non-infinity points. --- .../stdlib/primitives/biggroup/biggroup.hpp | 10 ++++++++-- .../stdlib/primitives/biggroup/biggroup_nafs.hpp | 14 ++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp index 84c590b4a12d..0caccd17affe 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup.hpp @@ -320,8 +320,14 @@ template class element { }; /** - * We can chain repeated point additions together, where we only require 2 non-native field multiplications per - * point addition, instead of 3 + * @brief Optimized chained addition for non-infinity points. + * + * @pre p1 and p2 must NOT be point at infinity. Use operator+ for general addition. + * @pre p1.x ≠ p2.x for all points in the chain (required for the incomplete addition formula used in this method). + * + * @details We can chain repeated point additions together, where we only require 2 non-native field multiplications + * per point addition, instead of 3 + * * NOTE: These must remain public as they are used by nested structs like batch_lookup_table_plookup **/ static chain_add_accumulator chain_add_start(const element& p1, const element& p2); diff --git a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp index e9dd554dba0e..513a932621d0 100644 --- a/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp +++ b/barretenberg/cpp/src/barretenberg/stdlib/primitives/biggroup/biggroup_nafs.hpp @@ -18,6 +18,8 @@ std::pair element::get_staggered_wnaf_fragment_val bool is_negative, bool wnaf_skew) { + BB_ASSERT_LT(stagger, 32ULL, "biggroup_nafs: stagger value ≥ 32"); + // If there is no stagger then there is no need to change anything if (stagger == 0) { return std::make_pair(0, wnaf_skew); @@ -367,16 +369,16 @@ typename element::secp256k1_wnaf_pair element::compu bool khi_negative = false; secp256k1::fr::split_into_endomorphism_scalars(k.from_montgomery_form(), klo, khi); - // The low and high scalars must be less than 2^129 in absolute value. In some cases, the khi value - // is returned as negative, in which case we negate it and set a flag to indicate this. This is because - // we decompose the scalar as: - // k = klo + ζ * khi (mod n) - // = klo - λ * khi (mod n) - // where λ is the cube root of unity. If khi is negative, then -λ * khi is positive, and vice versa. + // The low and high scalars must be less than 2^129 in absolute value. In some cases, the klo or khi value + // is returned as negative, in which case we negate it and set a flag to indicate this. if (khi.uint256_t_no_montgomery_conversion().get_msb() >= 129) { khi_negative = true; khi = -khi; } + if (klo.uint256_t_no_montgomery_conversion().get_msb() >= 129) { + klo_negative = true; + klo = -klo; + } BB_ASSERT_LT(klo.uint256_t_no_montgomery_conversion().get_msb(), 129ULL, "biggroup_nafs: klo > 129 bits"); BB_ASSERT_LT(khi.uint256_t_no_montgomery_conversion().get_msb(), 129ULL, "biggroup_nafs: khi > 129 bits"); From 9852c8465b437d1859c9d8754b2353baf0324fe7 Mon Sep 17 00:00:00 2001 From: iAmMichaelConnor <42943676+iAmMichaelConnor@users.noreply.github.com> Date: Mon, 16 Feb 2026 22:20:50 +0000 Subject: [PATCH 06/12] fix: min expiration timestamp instead of assert Thanks to Nico for the suggestion. Gracefully takes the min of the tx's expiry timestamp and the max tx lifetime. --- .../src/components/tail_output_composer.nr | 10 +++++-- .../src/components/tail_output_validator.nr | 30 +++++++++++-------- .../validate_expiration_timestamp.nr | 9 ------ .../tail_to_public_output_composer.nr | 16 +++++++--- .../tail_to_public_output_validator.nr | 28 +++++++++++------ .../validate_propagated_values_tests.nr | 6 ++-- .../validate_propagated_values_tests.nr | 6 ++-- 7 files changed, 63 insertions(+), 42 deletions(-) delete mode 100644 noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/validate_expiration_timestamp.nr diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer.nr index 79376cc24384..b3c1d2151eca 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_composer.nr @@ -12,6 +12,7 @@ use types::{ PrivateKernelCircuitPublicInputs, PrivateToRollupKernelCircuitPublicInputs, }, }, + constants::MAX_TX_LIFETIME, traits::Empty, }; @@ -38,9 +39,14 @@ impl TailOutputComposer { let gas_used = meter_gas_used(self.previous_kernel, false /* is_for_public */); + let max_timestamp = + source.constants.anchor_block_header.global_variables.timestamp + MAX_TX_LIFETIME; let expiration_timestamp = std::cmp::min( - source.expiration_timestamp, - self.expiration_timestamp_upper_bound, + std::cmp::min( + source.expiration_timestamp, + self.expiration_timestamp_upper_bound, + ), + max_timestamp, ); PrivateToRollupKernelCircuitPublicInputs { diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr index 38d6a3bb138b..abe84c3c7b72 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator.nr @@ -1,14 +1,13 @@ -mod validate_expiration_timestamp; - -pub(crate) use validate_expiration_timestamp::validate_expiration_timestamp; - use crate::{ accumulated_data::{assert_sorted_transformed_array, assert_transformed_array}, components::gas_meter::meter_gas_used, }; -use types::abis::kernel_circuit_public_inputs::{ - PrivateKernelCircuitPublicInputs, PrivateToRollupKernelCircuitPublicInputs, +use types::{ + abis::kernel_circuit_public_inputs::{ + PrivateKernelCircuitPublicInputs, PrivateToRollupKernelCircuitPublicInputs, + }, + constants::MAX_TX_LIFETIME, }; pub struct TailOutputValidator { @@ -62,14 +61,21 @@ impl TailOutputValidator { // This value can only decrease with each iteration. Here we take the minimum of: // - The value from the previous kernel iteration // - An upper bound value set by the user + let max_timestamp = self + .previous_kernel + .constants + .anchor_block_header + .global_variables + .timestamp + + MAX_TX_LIFETIME; let expiration_timestamp = std::cmp::min( - self.previous_kernel.expiration_timestamp, - self.expiration_timestamp_upper_bound, - ); - validate_expiration_timestamp( - expiration_timestamp, - self.previous_kernel.constants.anchor_block_header.global_variables, + std::cmp::min( + self.previous_kernel.expiration_timestamp, + self.expiration_timestamp_upper_bound, + ), + max_timestamp, ); + assert_eq( self.output.expiration_timestamp, expiration_timestamp, diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/validate_expiration_timestamp.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/validate_expiration_timestamp.nr deleted file mode 100644 index 0b511fed1d09..000000000000 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_output_validator/validate_expiration_timestamp.nr +++ /dev/null @@ -1,9 +0,0 @@ -use types::{abis::global_variables::GlobalVariables, constants::MAX_TX_LIFETIME}; - -/// We enforce in the tail circuit that the `include_by_timestamp` is at most MAX_TX_LIFETIME after the -/// tx's anchor timestamp. This restriction was motivated by wanting to prune network nodes' -/// mempools of all txs that are longer than a day old. -pub fn validate_expiration_timestamp(expiration_timestamp: u64, global_variables: GlobalVariables) { - let max_timestamp = global_variables.timestamp + MAX_TX_LIFETIME; - assert(expiration_timestamp <= max_timestamp, "expiration_timestamp exceeds max tx lifetime"); -} diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer.nr index 672c98e02f5f..8371ea5e95c0 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_composer.nr @@ -9,8 +9,11 @@ use crate::{ private_kernel_circuit_output_composer::PrivateKernelCircuitOutputComposer, }, }; -use types::abis::kernel_circuit_public_inputs::{ - PrivateKernelCircuitPublicInputs, PrivateToPublicKernelCircuitPublicInputs, +use types::{ + abis::kernel_circuit_public_inputs::{ + PrivateKernelCircuitPublicInputs, PrivateToPublicKernelCircuitPublicInputs, + }, + constants::MAX_TX_LIFETIME, }; pub struct TailToPublicOutputComposer { @@ -46,9 +49,14 @@ impl TailToPublicOutputComposer { let gas_used = meter_gas_used(self.previous_kernel, true /* is_for_public */); + let max_timestamp = + source.constants.anchor_block_header.global_variables.timestamp + MAX_TX_LIFETIME; let expiration_timestamp = std::cmp::min( - source.expiration_timestamp, - self.expiration_timestamp_upper_bound, + std::cmp::min( + source.expiration_timestamp, + self.expiration_timestamp_upper_bound, + ), + max_timestamp, ); let mut output = PrivateToPublicKernelCircuitPublicInputs { diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr index f11ad814a0b2..df9108f0bd62 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/tail_to_public_output_validator.nr @@ -4,10 +4,13 @@ use crate::{ assert_split_sorted_transformed_arrays, assert_split_transformed_arrays_from_sorted_padded_array, }, - components::{gas_meter::meter_gas_used, tail_output_validator::validate_expiration_timestamp}, + components::gas_meter::meter_gas_used, }; -use types::abis::kernel_circuit_public_inputs::{ - PrivateKernelCircuitPublicInputs, PrivateToPublicKernelCircuitPublicInputs, +use types::{ + abis::kernel_circuit_public_inputs::{ + PrivateKernelCircuitPublicInputs, PrivateToPublicKernelCircuitPublicInputs, + }, + constants::MAX_TX_LIFETIME, }; pub struct TailToPublicOutputValidator { @@ -52,14 +55,21 @@ impl TailToPublicOutputValidator { // This value can only decrease with each iteration. Here we take the minimum of: // - The value from the previous kernel iteration // - An upper bound value set by the user + let max_timestamp = self + .previous_kernel + .constants + .anchor_block_header + .global_variables + .timestamp + + MAX_TX_LIFETIME; let expiration_timestamp = std::cmp::min( - self.previous_kernel.expiration_timestamp, - self.expiration_timestamp_upper_bound, - ); - validate_expiration_timestamp( - expiration_timestamp, - self.previous_kernel.constants.anchor_block_header.global_variables, + std::cmp::min( + self.previous_kernel.expiration_timestamp, + self.expiration_timestamp_upper_bound, + ), + max_timestamp, ); + assert_eq( self.output.expiration_timestamp, expiration_timestamp, diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/tail_output_validator/validate_propagated_values_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/tail_output_validator/validate_propagated_values_tests.nr index 6a0f906b7a33..a61d441be996 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/tail_output_validator/validate_propagated_values_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail/tail_output_validator/validate_propagated_values_tests.nr @@ -127,7 +127,7 @@ fn expiration_timestamp_custom_equals_max_duration() { builder.validate(); } -#[test(should_fail_with = "expiration_timestamp exceeds max tx lifetime")] +#[test] fn expiration_timestamp_custom_exceeds_max_tx_lifetime() { let mut builder = TestBuilder::new(); @@ -138,8 +138,8 @@ fn expiration_timestamp_custom_exceeds_max_tx_lifetime() { let max_timestamp = block_timestamp + MAX_TX_LIFETIME; builder.expiration_timestamp_upper_bound = max_timestamp + 1; builder.previous_kernel.expiration_timestamp = max_timestamp + 1; - // Output should be the max timestamp. - builder.output.expiration_timestamp = max_timestamp + 1; + // Output should be clamped to the max timestamp. + builder.output.expiration_timestamp = max_timestamp; builder.validate(); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/tail_to_public_output_validator/validate_propagated_values_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/tail_to_public_output_validator/validate_propagated_values_tests.nr index a6c3cfcf0046..869c257a3f04 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/tail_to_public_output_validator/validate_propagated_values_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_tail_to_public/tail_to_public_output_validator/validate_propagated_values_tests.nr @@ -127,7 +127,7 @@ fn expiration_timestamp_custom_equals_max_tx_lifetime() { builder.validate(); } -#[test(should_fail_with = "expiration_timestamp exceeds max tx lifetime")] +#[test] fn expiration_timestamp_custom_exceeds_max_tx_lifetime() { let mut builder = TestBuilder::new(); @@ -138,8 +138,8 @@ fn expiration_timestamp_custom_exceeds_max_tx_lifetime() { let max_timestamp = block_timestamp + MAX_TX_LIFETIME; builder.expiration_timestamp_upper_bound = max_timestamp + 1; builder.previous_kernel.expiration_timestamp = max_timestamp + 1; - // Output should be the max timestamp. - builder.output.expiration_timestamp = max_timestamp + 1; + // Output should be clamped to the max timestamp. + builder.output.expiration_timestamp = max_timestamp; builder.validate(); } From 1e89ce58ba7f550de12cf4f6e6706f46519e8062 Mon Sep 17 00:00:00 2001 From: iAmMichaelConnor <42943676+iAmMichaelConnor@users.noreply.github.com> Date: Tue, 17 Feb 2026 03:41:54 +0000 Subject: [PATCH 07/12] chore: rename key validation generators "Generator" isn't the correct term, really. The things are literally the domain separators for deriving public keys, which are also being adopted for deriving the different types of app-siloed secret keys. Let's see if claude did a good job --- .../avm_fuzzer/common/interfaces/dbs.cpp | 2 +- docs/static/typescript-api/devnet/stdlib.md | 18 +- .../aztec/src/context/private_context.nr | 21 +- .../aztec-nr/aztec/src/keys/constants.nr | 2 +- .../src/context/private_context.nr | 2 +- .../noir-protocol-circuits/bootstrap.sh | 6 + .../crates/private-kernel-init/Prover.toml | 340 +- .../crates/private-kernel-inner/Prover.toml | 1326 +++---- .../src/accumulated_data/accumulated_data.md | 6 +- .../previous_kernel_for_tail_validator.nr | 2 +- .../components/private_call_data_validator.nr | 4 +- .../private_kernel_circuit_output_composer.nr | 14 +- ...private_kernel_circuit_output_validator.nr | 10 +- .../src/components/reset_output_composer.nr | 6 +- .../src/components/reset_output_validator.nr | 11 +- .../get_propagated_key_validation_requests.nr | 6 +- .../key_validation_requests_validator.nr | 6 +- .../reset/key_validation_request/tests/mod.nr | 17 +- .../validate_key_validation_request.nr | 12 +- .../output_composition_tests.nr | 6 +- .../validate_claimed_lengths_tests.nr | 2 +- .../output_composition_tests.nr | 36 +- .../key_validation_tests.nr | 6 +- .../src/tests/private_kernel_reset/mod.nr | 7 +- .../crates/private-kernel-reset/Prover.toml | 836 ++--- .../private-kernel-tail-to-public/Prover.toml | 824 ++--- .../crates/private-kernel-tail/Prover.toml | 934 ++--- .../crates/rollup-block-merge/Prover.toml | 418 +-- .../Prover.toml | 190 +- .../Prover.toml | 418 +-- .../rollup-block-root-first/Prover.toml | 662 ++-- .../rollup-block-root-single-tx/Prover.toml | 212 +- .../crates/rollup-block-root/Prover.toml | 408 +-- .../rollup-checkpoint-merge/Prover.toml | 522 +-- .../Prover.toml | 576 +-- .../crates/rollup-checkpoint-root/Prover.toml | 470 +-- .../crates/rollup-root/Prover.toml | 528 +-- .../crates/rollup-tx-base-private/Prover.toml | 3176 ++++++++--------- .../crates/rollup-tx-base-public/Prover.toml | 290 +- .../crates/rollup-tx-merge/Prover.toml | 408 +-- .../crates/ts-types/src/main.nr | 4 +- .../src/abis/private_circuit_public_inputs.nr | 6 +- ...> key_validation_request_and_separator.nr} | 24 +- .../types/src/abis/validation_requests/mod.nr | 4 +- .../private_validation_requests.nr | 6 +- .../crates/types/src/hash.nr | 4 +- .../crates/types/src/tests/fixture_builder.nr | 33 +- yarn-project/constants/src/constants.gen.ts | 4 +- .../constants/src/scripts/constants.in.ts | 22 +- yarn-project/end-to-end/src/e2e_keys.test.ts | 4 +- yarn-project/entrypoints/src/encoding.ts | 8 +- yarn-project/key-store/src/key_store.ts | 4 +- .../src/conversion/client.ts | 58 +- .../oracle/private_execution.test.ts | 8 +- ...ate_kernel_reset_private_inputs_builder.ts | 14 +- .../simulator/src/public/fixtures/amm_test.ts | 4 +- .../stdlib/src/auth_witness/auth_witness.ts | 6 +- .../stdlib/src/contract/contract_address.ts | 8 +- .../stdlib/src/contract/contract_class_id.ts | 6 +- .../stdlib/src/contract/private_function.ts | 4 +- yarn-project/stdlib/src/hash/hash.ts | 22 +- yarn-project/stdlib/src/hash/map_slot.ts | 4 +- yarn-project/stdlib/src/kernel/hints/index.ts | 4 +- ...> key_validation_request_and_separator.ts} | 27 +- ...d_key_validation_request_and_separator.ts} | 20 +- .../kernel/private_circuit_public_inputs.ts | 20 +- ..._to_public_kernel_circuit_public_inputs.ts | 4 +- ..._to_rollup_kernel_circuit_public_inputs.ts | 4 +- .../src/kernel/private_validation_requests.ts | 16 +- yarn-project/stdlib/src/keys/derivation.ts | 16 +- yarn-project/stdlib/src/keys/key_types.ts | 8 +- yarn-project/stdlib/src/keys/public_keys.ts | 4 +- yarn-project/stdlib/src/keys/utils.ts | 10 +- yarn-project/stdlib/src/tests/factories.ts | 22 +- yarn-project/stdlib/src/tx/block_header.ts | 4 +- .../stdlib/src/tx/protocol_contracts.ts | 4 +- yarn-project/stdlib/src/tx/tx_request.ts | 4 +- .../src/native/native_world_state_instance.ts | 4 +- 78 files changed, 6587 insertions(+), 6581 deletions(-) rename noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/{key_validation_request_and_generator.nr => key_validation_request_and_separator.nr} (63%) rename yarn-project/stdlib/src/kernel/hints/{key_validation_request_and_generator.ts => key_validation_request_and_separator.ts} (52%) rename yarn-project/stdlib/src/kernel/hints/{scoped_key_validation_request_and_generator.ts => scoped_key_validation_request_and_separator.ts} (66%) diff --git a/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp b/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp index 518effc3c01e..43955277d231 100644 --- a/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp +++ b/barretenberg/cpp/src/barretenberg/avm_fuzzer/common/interfaces/dbs.cpp @@ -196,7 +196,7 @@ void FuzzerWorldStateManager::initialize_world_state() { simulation::MerkleTreeId::NULLIFIER_TREE, 128 }, { simulation::MerkleTreeId::PUBLIC_DATA_TREE, 128 }, }; - uint32_t initial_header_generator_point = 2064783670; // GeneratorIndex.BLOCK_HEADER_HASH + uint32_t initial_header_generator_point = 2064783670; // DomainSeparator.BLOCK_HEADER_HASH ws = std::make_unique( /*thread_pool_size=*/4, DATA_DIR, MAP_SIZE_KB, tree_heights, tree_prefill, initial_header_generator_point); diff --git a/docs/static/typescript-api/devnet/stdlib.md b/docs/static/typescript-api/devnet/stdlib.md index cfa335a901f4..6dd9d2660648 100644 --- a/docs/static/typescript-api/devnet/stdlib.md +++ b/docs/static/typescript-api/devnet/stdlib.md @@ -2635,13 +2635,13 @@ new KeyValidationRequest(pkM: Point, skApp: Fr | Fq) - `toBuffer() => any` - `toFields() => Fr[]` -### KeyValidationRequestAndGenerator +### KeyValidationRequestAndSeparator Request for validating keys used in the app and a generator. **Constructor** ```typescript -new KeyValidationRequestAndGenerator(request: KeyValidationRequest, skAppGenerator: Fr) +new KeyValidationRequestAndSeparator(request: KeyValidationRequest, skAppGenerator: Fr) ``` **Properties** @@ -2649,9 +2649,9 @@ new KeyValidationRequestAndGenerator(request: KeyValidationRequest, skAppGenerat - `readonly skAppGenerator: Fr` **Methods** -- `static empty() => KeyValidationRequestAndGenerator` -- `static fromBuffer(buffer: Buffer | BufferReader) => KeyValidationRequestAndGenerator` -- `static fromFields(fields: Fr[] | FieldReader) => KeyValidationRequestAndGenerator` +- `static empty() => KeyValidationRequestAndSeparator` +- `static fromBuffer(buffer: Buffer | BufferReader) => KeyValidationRequestAndSeparator` +- `static fromFields(fields: Fr[] | FieldReader) => KeyValidationRequestAndSeparator` - `isEmpty() => boolean` - `toBuffer() => any` - `toFields() => Fr[]` @@ -3698,7 +3698,7 @@ Public inputs to a private circuit. **Constructor** ```typescript -new PrivateCircuitPublicInputs(callContext: CallContext, argsHash: Fr, returnsHash: Fr, minRevertibleSideEffectCounter: Fr, isFeePayer: boolean, includeByTimestamp: bigint, noteHashReadRequests: ClaimedLengthArray, nullifierReadRequests: ClaimedLengthArray, keyValidationRequestsAndGenerators: ClaimedLengthArray, noteHashes: ClaimedLengthArray, nullifiers: ClaimedLengthArray, privateCallRequests: ClaimedLengthArray, publicCallRequests: ClaimedLengthArray, publicTeardownCallRequest: PublicCallRequest, l2ToL1Msgs: ClaimedLengthArray, privateLogs: ClaimedLengthArray, contractClassLogsHashes: ClaimedLengthArray, startSideEffectCounter: Fr, endSideEffectCounter: Fr, expectedNonRevertibleSideEffectCounter: Fr, expectedRevertibleSideEffectCounter: Fr, anchorBlockHeader: BlockHeader, txContext: TxContext) +new PrivateCircuitPublicInputs(callContext: CallContext, argsHash: Fr, returnsHash: Fr, minRevertibleSideEffectCounter: Fr, isFeePayer: boolean, includeByTimestamp: bigint, noteHashReadRequests: ClaimedLengthArray, nullifierReadRequests: ClaimedLengthArray, keyValidationRequestsAndGenerators: ClaimedLengthArray, noteHashes: ClaimedLengthArray, nullifiers: ClaimedLengthArray, privateCallRequests: ClaimedLengthArray, publicCallRequests: ClaimedLengthArray, publicTeardownCallRequest: PublicCallRequest, l2ToL1Msgs: ClaimedLengthArray, privateLogs: ClaimedLengthArray, contractClassLogsHashes: ClaimedLengthArray, startSideEffectCounter: Fr, endSideEffectCounter: Fr, expectedNonRevertibleSideEffectCounter: Fr, expectedRevertibleSideEffectCounter: Fr, anchorBlockHeader: BlockHeader, txContext: TxContext) ``` **Properties** @@ -3711,7 +3711,7 @@ new PrivateCircuitPublicInputs(callContext: CallContext, argsHash: Fr, returnsHa - `expectedRevertibleSideEffectCounter: Fr` - `includeByTimestamp: bigint` - `isFeePayer: boolean` -- `keyValidationRequestsAndGenerators: ClaimedLengthArray` +- `keyValidationRequestsAndGenerators: ClaimedLengthArray` - `l2ToL1Msgs: ClaimedLengthArray` - `minRevertibleSideEffectCounter: Fr` - `noteHashes: ClaimedLengthArray` @@ -5374,12 +5374,12 @@ Request for validating keys used in the app. **Constructor** ```typescript -new ScopedKeyValidationRequestAndGenerator(request: KeyValidationRequestAndGenerator, contractAddress: AztecAddress) +new ScopedKeyValidationRequestAndGenerator(request: KeyValidationRequestAndSeparator, contractAddress: AztecAddress) ``` **Properties** - `readonly contractAddress: AztecAddress` -- `readonly request: KeyValidationRequestAndGenerator` +- `readonly request: KeyValidationRequestAndSeparator` **Methods** - `static empty() => ScopedKeyValidationRequestAndGenerator` diff --git a/noir-projects/aztec-nr/aztec/src/context/private_context.nr b/noir-projects/aztec-nr/aztec/src/context/private_context.nr index 0b19e6f608b7..eb7bdd736079 100644 --- a/noir-projects/aztec-nr/aztec/src/context/private_context.nr +++ b/noir-projects/aztec-nr/aztec/src/context/private_context.nr @@ -1,7 +1,7 @@ use crate::{ context::{inputs::PrivateContextInputs, NoteExistenceRequest, NullifierExistenceRequest, ReturnsHash}, hash::{hash_args, hash_calldata_array}, - keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, sk_generators}, + keys::constants::{NULLIFIER_INDEX, NUM_KEY_TYPES, OUTGOING_INDEX, public_key_domain_separators}, messaging::process_l1_to_l2_message, oracle::{ block_header::get_block_header_at, @@ -30,7 +30,7 @@ use crate::protocol::{ private_circuit_public_inputs::PrivateCircuitPublicInputs, private_log::{PrivateLog, PrivateLogData}, public_call_request::PublicCallRequest, - validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator}, + validation_requests::{KeyValidationRequest, KeyValidationRequestAndSeparator}, }, address::{AztecAddress, EthAddress}, constants::{ @@ -152,7 +152,7 @@ pub struct PrivateContext { pub(crate) note_hash_read_requests: BoundedVec>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, pub(crate) nullifier_read_requests: BoundedVec>, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>, - key_validation_requests_and_generators: BoundedVec, + key_validation_requests_and_separators: BoundedVec, pub note_hashes: BoundedVec, MAX_NOTE_HASHES_PER_CALL>, pub nullifiers: BoundedVec, MAX_NULLIFIERS_PER_CALL>, @@ -190,7 +190,7 @@ impl PrivateContext { expiration_timestamp: inputs.anchor_block_header.global_variables.timestamp + MAX_TX_LIFETIME, note_hash_read_requests: BoundedVec::new(), nullifier_read_requests: BoundedVec::new(), - key_validation_requests_and_generators: BoundedVec::new(), + key_validation_requests_and_separators: BoundedVec::new(), note_hashes: BoundedVec::new(), nullifiers: BoundedVec::new(), anchor_block_header: inputs.anchor_block_header, @@ -497,8 +497,8 @@ impl PrivateContext { expiration_timestamp: self.expiration_timestamp, note_hash_read_requests: ClaimedLengthArray::from_bounded_vec(self.note_hash_read_requests), nullifier_read_requests: ClaimedLengthArray::from_bounded_vec(self.nullifier_read_requests), - key_validation_requests_and_generators: ClaimedLengthArray::from_bounded_vec( - self.key_validation_requests_and_generators, + key_validation_requests_and_separators: ClaimedLengthArray::from_bounded_vec( + self.key_validation_requests_and_separators, ), note_hashes: ClaimedLengthArray::from_bounded_vec(self.note_hashes), nullifiers: ClaimedLengthArray::from_bounded_vec(self.nullifiers), @@ -796,8 +796,11 @@ impl PrivateContext { let request = unsafe { get_key_validation_request(pk_m_hash, key_index) }; assert_eq(request.pk_m.hash(), pk_m_hash, "Obtained invalid key validation request"); - self.key_validation_requests_and_generators.push( - KeyValidationRequestAndGenerator { request, sk_app_generator: sk_generators[key_index as u32] }, + self.key_validation_requests_and_separators.push( + KeyValidationRequestAndSeparator { + request, + key_type_domain_separator: public_key_domain_separators[key_index as u32], + }, ); self.last_key_validation_requests[key_index as u32] = Option::some(request); request.sk_app @@ -1461,7 +1464,7 @@ impl Empty for PrivateContext { expiration_timestamp: 0, note_hash_read_requests: BoundedVec::new(), nullifier_read_requests: BoundedVec::new(), - key_validation_requests_and_generators: BoundedVec::new(), + key_validation_requests_and_separators: BoundedVec::new(), note_hashes: BoundedVec::new(), nullifiers: BoundedVec::new(), private_call_requests: BoundedVec::new(), diff --git a/noir-projects/aztec-nr/aztec/src/keys/constants.nr b/noir-projects/aztec-nr/aztec/src/keys/constants.nr index b5f2c2392ab6..ff8fb4c9b82e 100644 --- a/noir-projects/aztec-nr/aztec/src/keys/constants.nr +++ b/noir-projects/aztec-nr/aztec/src/keys/constants.nr @@ -7,5 +7,5 @@ pub global TAGGING_INDEX: Field = 3; pub global NUM_KEY_TYPES: u32 = 4; -pub global sk_generators: [Field; 4] = +pub global public_key_domain_separators: [Field; 4] = [DOM_SEP__NHK_M as Field, DOM_SEP__IVSK_M as Field, DOM_SEP__OVSK_M as Field, DOM_SEP__TSK_M as Field]; diff --git a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/context/private_context.nr b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/context/private_context.nr index 271c6f28104e..7f9cfebddda5 100644 --- a/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/context/private_context.nr +++ b/noir-projects/noir-contracts/contracts/protocol/aztec_sublib/src/context/private_context.nr @@ -165,7 +165,7 @@ impl PrivateContext { nullifier_read_requests: ClaimedLengthArray::from_bounded_vec( self.nullifier_read_requests, ), - key_validation_requests_and_generators: ClaimedLengthArray::empty(), // Not used by protocol contracts + key_validation_requests_and_separators: ClaimedLengthArray::empty(), // Not used by protocol contracts note_hashes: ClaimedLengthArray::empty(), // Not used by protocol contracts nullifiers: ClaimedLengthArray::from_bounded_vec(self.nullifiers), private_call_requests: ClaimedLengthArray::from_bounded_vec(self.private_call_requests), diff --git a/noir-projects/noir-protocol-circuits/bootstrap.sh b/noir-projects/noir-protocol-circuits/bootstrap.sh index 829f5186dfa8..8de829b93502 100755 --- a/noir-projects/noir-protocol-circuits/bootstrap.sh +++ b/noir-projects/noir-protocol-circuits/bootstrap.sh @@ -57,6 +57,12 @@ function compile { local program_hash=$(dump_fail "$program_hash_cmd") echo_stderr "Hash preimage: $NOIR_HASH-$program_hash" local hash=$(hash_str "$NOIR_HASH-$program_hash" $(cache_content_hash "^noir-projects/noir-protocol-circuits/bootstrap.sh")) + # Note: an edge case: If you change the name of a circuit public input, but don't change any of the + # circuit's bytecode, then this bootstrap script will not re-compile the circuits. You can force a + # re-compilation by temporarily replacing $NOIR_HASH on the above two lines with: + # `$NOIR_HASH-$program_hash-$circuits_hash"` + # We don't want to include `-$circuits_hash"` ordinarily, because it would force unnecessary + # rebuilds when tests / comments are changed. if ! cache_download circuit-$hash.tar.gz 1>&2; then SECONDS=0 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 114c00c68680..213e8c771838 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" +vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" is_private_only = false -first_nullifier_hint = "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc" +first_nullifier_hint = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" revertible_counter_hint = "0x0000000000000000000000000000000000000000000000000000000000000005" [tx_request] -args_hash = "0x00c94fd3de2425252ee4aecc1477c98347386222aaf5f7ecd314880e58c5ac80" -salt = "0x1d9eb5516c3b7f59dbc0beebb067f110147aea6da766dc2b81e41b5e374ba0dc" +args_hash = "0x1ef77ab685a94f2af821f59918d60249e455f438658f035626b631f599ce5a6d" +salt = "0x12204f06cc577b3d3c241398fe17e9ed14fab010e798f8c7b99376a2d6284108" [tx_request.origin] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [tx_request.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [tx_request.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -37,19 +37,19 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 inner = "0x000000000000000000000000000000000000000000000000000000009d57a239" [[protocol_contracts.derived_addresses]] -inner = "0x20cb524e40ec648de76cb75f3e0589f3344a920237e10a8a2e815e972deaac63" +inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" [[protocol_contracts.derived_addresses]] -inner = "0x041e6cfd116b0e7953a1938dde31e9efa0947da4902d27f7a11acd0cc1401286" +inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" [[protocol_contracts.derived_addresses]] -inner = "0x0fb8caa8be404fd00304be3dadb988f810e02438ae6d121e417fcc5a7351176b" +inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" [[protocol_contracts.derived_addresses]] -inner = "0x0c95a1f6478f7fb15958f614146b1570d0bf435d9cb3bc4761fff038756ec9dc" +inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" [[protocol_contracts.derived_addresses]] -inner = "0x28722afa8ef7117225c017c8f4c43392b9620136f482b078729a30e23589ad46" +inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" [[protocol_contracts.derived_addresses]] inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" @@ -78,22 +78,22 @@ key = [ "0x000000000000000000000000000000000024071b06b39d5f3af45b1916465d2a", "0x0000000000000000000000000000001070ca23fb85084925a7ef62dbae691c4f", "0x00000000000000000000000000000000002c75b28f9357a6e64bd5540e5fd9b5", - "0x0000000000000000000000000000000941fbee53ae9c5c7c1bb296a2bb524545", - "0x0000000000000000000000000000000000137deceaa915c3819c7fc33614c5df", - "0x0000000000000000000000000000000f73891223c0745cc15540a2682f3e8e94", - "0x000000000000000000000000000000000011854a7da97b7ac278d74207b901ef", - "0x0000000000000000000000000000006e294c2a0f0c1964aa598af1505457481e", - "0x00000000000000000000000000000000000632c26b925f7b5f2aa093354fea1b", - "0x000000000000000000000000000000c9253b0019e0c0c9ed6a51d8fcd7a129a1", - "0x00000000000000000000000000000000000edc8a4d18f54f190bcd3142957b02", - "0x00000000000000000000000000000021aa43567f22b12c0a2710352ff379e5ee", - "0x000000000000000000000000000000000025762591a9bc4cbb5afb5ac42ccf5b", - "0x000000000000000000000000000000ec70b2422721a3443da96404385f22882d", - "0x000000000000000000000000000000000030401323f1bba6105ba07cb8420866", - "0x0000000000000000000000000000001236f3a12696fcef823dff44ed0521e2a6", - "0x000000000000000000000000000000000003183a8601c2300a1d0fb1f1655180", - "0x0000000000000000000000000000002d688054ce874df6ffc6600f17305cfe8e", - "0x000000000000000000000000000000000029549c9e65cf3838fe734fd282df98", + "0x00000000000000000000000000000089a8d2c8159c5ff7d8a958e70bfeef68e3", + "0x000000000000000000000000000000000028b4264ca4d425a2899f6fe9612382", + "0x000000000000000000000000000000127787e7b977406a4884bbbe736338aafb", + "0x00000000000000000000000000000000002c09b05c2856727be1dc42238605b4", + "0x00000000000000000000000000000017c2e8504828a49da02b23c12c37b0ed16", + "0x000000000000000000000000000000000009e3b28a35de6d2906f5e7d70a4cc8", + "0x0000000000000000000000000000003df8afb8f86a9ba7dd1ac02c9aeb66a351", + "0x0000000000000000000000000000000000002fa39690c60a47b5ba602eda7a1a", + "0x0000000000000000000000000000001b115474e624c5058bbe9ab15a388b20fb", + "0x0000000000000000000000000000000000147cd406f0ddf9b3c4cfd4842dab8b", + "0x00000000000000000000000000000050f691822ff6e9d8f516cec23c137dfc3b", + "0x000000000000000000000000000000000020af006e9dc21e5206608643d70dde", + "0x0000000000000000000000000000005b0cf4c19308a3669de9caaffc51c043be", + "0x00000000000000000000000000000000001e791676f491a396c74e2e1681a46b", + "0x0000000000000000000000000000008af96535363bb4ed7231ac73ede1dbcf2f", + "0x000000000000000000000000000000000017fa474af130c9c5f47f99231a1ee7", "0x0000000000000000000000000000001241a2a6bf90766709854244d4a47ba3c8", "0x000000000000000000000000000000000020920d748d4709fe75e1511d1031a9", "0x000000000000000000000000000000b3f98ebd5edc08222908155d9169bcdbe1", @@ -106,10 +106,10 @@ key = [ "0x000000000000000000000000000000000025923106823db5731803856d66151f", "0x0000000000000000000000000000006e394258a16cec12457f70fd0d95f28fe3", "0x000000000000000000000000000000000002e287f91c886cc01d8e67624279b1", - "0x0000000000000000000000000000002ff107231c8b3d1a6025245af6bd641df8", - "0x00000000000000000000000000000000001222b4b7309f6726a8622243cd5b72", - "0x000000000000000000000000000000136c62a02f3024263548723268cd859bcb", - "0x00000000000000000000000000000000001dd9d75c282ef039af1b463d53c809", + "0x000000000000000000000000000000202ccbf6006fd5404e13b7cbb1f7eb0e32", + "0x000000000000000000000000000000000010f15e630cdf21be26dce5afa975f4", + "0x0000000000000000000000000000003ae34569ad1e55c4875b04d71403d47deb", + "0x0000000000000000000000000000000000194f3124344918fc22a47fd997f632", "0x00000000000000000000000000000050f0de0f9a18f123db54824568c419b424", "0x00000000000000000000000000000000002f625493db57cb2d898c15ea825068", "0x0000000000000000000000000000003c039a854fb0189631274bf7e6d4b96913", @@ -134,38 +134,38 @@ key = [ "0x0000000000000000000000000000000000191fc24c79bcf64779985cb4040ff5", "0x000000000000000000000000000000131d6a2677f0409b37e143bf0def052ea2", "0x000000000000000000000000000000000011af01dc5515e0bde22eb1621aa3cb", - "0x000000000000000000000000000000c6bc01fe1cfbcf853293aac0393ff82155", - "0x00000000000000000000000000000000001c15b53cd359b58820397fb5cb61a9", - "0x000000000000000000000000000000fbc77fd841e77caf2213957b8a845cf6d1", - "0x00000000000000000000000000000000002c62885b86f79eef157ac36907e26f", - "0x0000000000000000000000000000005a7386ed5c10676b7fffe0a98cda0ed902", - "0x000000000000000000000000000000000017df364f70e4f7ec598d8259952039", - "0x000000000000000000000000000000e81d5a02c6566e2fc64df9b34b72539ce7", - "0x000000000000000000000000000000000008500ac3870cf2f2a29adebc993384", - "0x000000000000000000000000000000797f99ace780dca5eef760dcacb64fdffc", - "0x000000000000000000000000000000000002598b8b70f9579258f446f032cd30", - "0x00000000000000000000000000000050710900342d1845b552555c5f7f03e668", - "0x00000000000000000000000000000000000669a93ca222162ea344b915431a4f", - "0x0000000000000000000000000000009c1519cdfa9c5efa923afb74ea89a6f51b", - "0x00000000000000000000000000000000002226d7e0dd25e108a9921127309373", - "0x000000000000000000000000000000e6aac635b5c920e92f00fc1b600c189898", - "0x000000000000000000000000000000000016ed1f19b1df866aa3a5e930a4189e", + "0x000000000000000000000000000000c9a37c435ad555333c1495748a45ae45b7", + "0x0000000000000000000000000000000000243526077875600c19221482b3780f", + "0x0000000000000000000000000000008b8aaf24bc5b1fbe2064ff843808e724d1", + "0x00000000000000000000000000000000002b4c56994aa5f6f98e78101011d616", + "0x000000000000000000000000000000b61b0ff9bb1eb4387a626e6f709b8d9dff", + "0x000000000000000000000000000000000027ef34f8c9acbfe66ddcbcae0ac9e3", + "0x00000000000000000000000000000039d8d36929baa3e2230aaecff15248cb76", + "0x00000000000000000000000000000000001932b4a8e4d55eb3b719e7e67549eb", + "0x000000000000000000000000000000ab8d1ffaa216dad6293b1d889eeda2a419", + "0x00000000000000000000000000000000002944e1b58f98d29a5b22a3933d5d51", + "0x0000000000000000000000000000008af1d12e2575e27cfb98a619fe63c82aa7", + "0x000000000000000000000000000000000004c1c5ed51730b8e922412bb85947b", + "0x000000000000000000000000000000df912e6fcaf43eddf1439aad260645b0c7", + "0x00000000000000000000000000000000000da8dcea4f258028dab9d0de3defae", + "0x000000000000000000000000000000e1aa1048f057e24c3d5bcababe28290b0a", + "0x00000000000000000000000000000000000db75dd7a34d4a223f262ad960a065", "0x00000000000000000000000000000070c3d356fcf0287cc45215fbc09eaea2ac", "0x00000000000000000000000000000000000cce8dd6ae861a02706adad49e5c34", "0x0000000000000000000000000000009f8fdd35515b6d3a8651db4322ce57d9e2", "0x00000000000000000000000000000000000ddf8767a6a91ae63ea407e23f473f", - "0x00000000000000000000000000000077a79965f4cb2d74280447e17a32c0edfd", - "0x00000000000000000000000000000000002fc8584cf11c7cfe32569f35e8039f", - "0x000000000000000000000000000000ce657eb36bc66da7fcfb5cf917ac33951b", - "0x00000000000000000000000000000000002151e0b2625f90feb1300635a96567", - "0x00000000000000000000000000000063a15b0f1c76d7a76a714671f73ffb1313", - "0x00000000000000000000000000000000002c080ee2438dc13fdfb902d0d6a87f", - "0x000000000000000000000000000000c6ea73bd835204584c6ca1528e21b94b7e", - "0x0000000000000000000000000000000000084555a25d55c84b5d4c38b0d22e28", - "0x0000000000000000000000000000000c1a10a67dd5bb4c581f9f9c9cd3908ad4", - "0x00000000000000000000000000000000002db61e608e892afcb8b7128eaa7eef", - "0x000000000000000000000000000000e7e13b971b3cd05fc57002158151cdefd7", - "0x0000000000000000000000000000000000066da4a19e9066b242ce29f212ca80", + "0x0000000000000000000000000000008fcb34c87adcf1e4506f06ec8dd80e1bbd", + "0x0000000000000000000000000000000000228a4b3a7e59b8239001cd84d1a25d", + "0x0000000000000000000000000000001bd0c77710ee065444906b8991c1d13c1b", + "0x00000000000000000000000000000000002b13bfdcf3457b342813934663a370", + "0x00000000000000000000000000000033cf12b8142e44df5e42f5ad236177f092", + "0x00000000000000000000000000000000001f5d1c83f944aa38682ffdcff008a7", + "0x0000000000000000000000000000000cc6ff03fc5e565e16e10ddad18f3f44d7", + "0x00000000000000000000000000000000002eb8d91c1d2f0747bbb26c7c7dbaad", + "0x000000000000000000000000000000ab18d0b0e39a8dd6e6d5b335b43fd2e9a7", + "0x00000000000000000000000000000000001e7d74b65354ac4f2e8423536eb8ac", + "0x000000000000000000000000000000444e83594a2d82644d3c647b56a27701d1", + "0x00000000000000000000000000000000000a2eb63aa2ab0e9f9f9f0d07247759", "0x000000000000000000000000000000ec0ec1564ae58b39c0edd2867f215fe5da", "0x00000000000000000000000000000000001477c98ac05ee5578e5297f4998989", "0x000000000000000000000000000000d19bbdf9ea0b6565b3ee75add4fef0c180", @@ -199,10 +199,10 @@ key = [ "0x0000000000000000000000000000008158112a46310a62b849f6dd562c2c8694", "0x000000000000000000000000000000000012905e96c2c8db0865d6938f75a324" ] -hash = "0x173b92d4230af5a41a7d48e838c903e7ef842297202265fe9d878f177fa7b654" +hash = "0x0b7049c8d06f4d13bc7f4de97f2f2e1372f6670d3a9dcf083cbd318263604897" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x15df7e755ff5e290f7f2c90368a85f9e03cee66073313f3eb53946f1a8b26825" +contract_class_artifact_hash = "0x0d22ed2c75aba422ca4d7b534f4a18ad337a4508170074c5d47bdd09d0e3328b" contract_class_public_bytecode_commitment = "0x0ce4c618c3ed7f3a20410e618c06bb701e150af7fe28a3e92f68e7733809f33e" updated_class_id_delayed_public_mutable_values = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -213,8 +213,8 @@ updated_class_id_delayed_public_mutable_values = [ [private_call.verification_key_hints.function_leaf_membership_witness] leaf_index = "0" sibling_path = [ - "0x2d67ded409dbc7b114bd108015b107919bea82b26d2c7088bdd03e39826a3cb1", - "0x1f5a9fcc6d3237cc6e47508b595904a6f24b36944381a2db87c0133efc41a153", + "0x18fc7c54c4e5e033e040e61f689d38e3f359ff2e491b119ca2ac2800b9a64191", + "0x1ced62667d8fc854b5382a9d882d88f22435e0c5a22a13fbab7222566ddbfc13", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", @@ -223,39 +223,39 @@ updated_class_id_delayed_public_mutable_values = [ ] [private_call.verification_key_hints.public_keys.npk_m.inner] -x = "0x0e143d25d072babfa04431c23ab98c5f2deb2a347aa3a4faaa46d391ad91208d" -y = "0x0b95d9c9225cb359a65646efdf645832aa1200ddcf98a9e0c8dd2e2c900f1d49" +x = "0x280ef4df058bcf18f4860d62c462f0f9daccbe6dc9b2fad75dadd2a719a81ad0" +y = "0x0d3970305cde2b8df3fc160e49513c1b88873334705aaecd8ba1911e9a3f48c0" is_infinite = false [private_call.verification_key_hints.public_keys.ivpk_m.inner] -x = "0x1648d8755ff9882cab6d70df2e6759226eff8ae12cfa5a03c99592361031f560" -y = "0x2df67c5b3213bcc76e783766a3673cf338405000a9f47369f1f9e6f851772ded" +x = "0x2e112a9af66644d0f00032649647eafe0ea9a68e35eb7761ba41e4b93492e926" +y = "0x28c037b66afdc2e8f90eca8470fde84b29ab6240172a20e38dab15e2c1470063" is_infinite = false [private_call.verification_key_hints.public_keys.ovpk_m.inner] -x = "0x1b6d0d7bb5596e24bd743c951f6cbd846b01e1aef816bc3a879aab931f4b5576" -y = "0x1e37c870df8663aecd7c8be3f71a2cf4175fbd9ac69f22d0cc98dc98e9bd25e1" +x = "0x1c6e46d34d010aafb76bce5b59985601be1b0d0f63ebc2eca5957ff0423b209d" +y = "0x223b8905e4506dd23404ad6ee456c91302dc190937c596b93377bd16db997abb" is_infinite = false [private_call.verification_key_hints.public_keys.tpk_m.inner] -x = "0x222e8c09595a33f39e295d58a8a22594ce61acc2a353d154e5e03fdb7d746393" -y = "0x062a9f589e5375fca4e92c9b1c56ad3a8eaa332a91a184bd12873c590cf85004" +x = "0x1fd56367454aded3ed2d69c22118efd45444ee33ee175011fdf74f9abcefb4f8" +y = "0x0ddda33a0b53e634388b18437d77744d3e00de2a618bd3965eff323d43619d23" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x258cc993aeaf1ac29bd16746345f8623b529685d6da9b7da8e77835c1fc09c11" + inner = "0x0427ac83bd2a2120bd3951e03714e87c9510aee00407fc997b06aa6124d8dcbb" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "116" + leaf_index = "138" sibling_path = [ - "0x189951d29fecdb1197ec7e20c6a155ee7a4c88677f2c530014cf40024773c1d3", - "0x0d098b84abf04861db75de7f50d3ea36d5ebf790f5371d38e8bf1deef46a057b", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x13fbdf7f0e7fe91a6fea0974fff6e7a7146e6917778d3719130a052f9cae4863", - "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", - "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", - "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x2969526a5ba8aa91043b507343cdc63ea3ee5fbc0782d46b9a31c002ad7cd1b4", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x1c6288cb88035b6e6cb348bf29d7f627986734f3837723f70fa99075e4f500f5", + "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x083b45b2f1a876d2a763cda4ec21fc5e093406babb706fa2ba43bc6c859228a3", + "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", + "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", + "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", + "0x2d93f2153fb183d8eafbf4c49080fc25ae1a71682e86f6d4483fbc504644eb5d", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -291,13 +291,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x0000000000000000000000000000000000000000000000000000000000000074" - value = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_slot = "0x04d81ceb74da90253bf172464acf0c9e582a7bb979202b6950515976e5c9479a" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000083" + slot = "0x036e901f114a75e275bb5b53726de3ba0bff6ff84fae76009eee3100ad2f189a" + value = "0x00000000000000000000000000000000000000000000000000000000000003e8" + next_slot = "0x084e06b6850f247ebfec5e2d605a68ba348a4520b91f37ecff8ec8b42d19e85a" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000076" [app_public_inputs] -args_hash = "0x00c94fd3de2425252ee4aecc1477c98347386222aaf5f7ecd314880e58c5ac80" +args_hash = "0x1ef77ab685a94f2af821f59918d60249e455f438658f035626b631f599ce5a6d" 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 = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" [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 = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [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 = "0x277b0f46a0a4e76c5a97b25a495bf8e6c7a9b8ad8c6fdeb1243e2598f361b936" +inner = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [app_public_inputs.note_hash_read_requests.array.contract_address] @@ -581,181 +581,181 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators] + [app_public_inputs.key_validation_requests_and_separators] length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false @@ -1097,13 +1097,13 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.public_call_requests.array.inner] is_static_call = false - calldata_hash = "0x2f8173f15424df1072c0f082ac0b807ac7bccaa4737a513efce5c0da01e1a4fb" + calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" [app_public_inputs.public_call_requests.array.inner.msg_sender] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [app_public_inputs.public_call_requests.array.inner.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [[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 = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [app_public_inputs.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 8067ca6c4084..3a7269e16191 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 @@ -2,10 +2,10 @@ leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" sibling_path = [ "0x2def0f0f11588ba2936cd0928e5e46c42e8078b9e8e3ea92e78f092a60c0f04f", - "0x14f239ae4869f7fb7c5b2a277873b80c1736d1590b05db7d5ac40f4f0c945edb", - "0x22ade1bda5bb66588cb6adcfcd830c72393f1be1b7eccc0d6b19656eb0ca4093", - "0x1de0c6d93bb75f6734bc6754c1e32302fd1dd0a71916c430a192da3ac87b5c22", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x0b1863e87ddf257d402a955d22b6997848454efb8045161e6dcc7dc866a58363", + "0x1669f3c7b720984159083fcf36e21da0a79e06efaa83ef4c7a16f4f326ae8627", + "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -144,21 +144,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" is_private_only = true -claimed_first_nullifier = "0x2024835fd8b74a764c77337cdecd852f4412858e32f7be5c0207f01b5da068b5" +claimed_first_nullifier = "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -208,26 +208,26 @@ 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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 = "0x20cb524e40ec648de76cb75f3e0589f3344a920237e10a8a2e815e972deaac63" +inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x041e6cfd116b0e7953a1938dde31e9efa0947da4902d27f7a11acd0cc1401286" +inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0fb8caa8be404fd00304be3dadb988f810e02438ae6d121e417fcc5a7351176b" +inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0c95a1f6478f7fb15958f614146b1570d0bf435d9cb3bc4761fff038756ec9dc" +inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x28722afa8ef7117225c017c8f4c43392b9620136f482b078729a30e23589ad46" +inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" @@ -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 = "0x277b0f46a0a4e76c5a97b25a495bf8e6c7a9b8ad8c6fdeb1243e2598f361b936" +inner = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -1277,967 +1277,967 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators] length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes] @@ -2763,7 +2763,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1eb58e3b83fc3646270f18a300a425b9e5419bea8d5caf6d7b34bd2f5d9274e1" + value = "0x0fda8a2fd7cc16c0131f32910b033f294fbcb0fe4b211dc0c2d506556e1b9878" 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 = "0x1a38eacfc8d2669cd02f4a2762371c0df7c2845a6c788c8980a0f1b2877b8f45" + args_hash = "0x0f67cc03049a2ca51607c985ce0346eed66efea0e7d14f6ca994fb520912683b" 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 = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [previous_kernel_public_inputs.end.private_call_stack.array.call_context.function_selector] inner = "0x00000000000000000000000000000000000000000000000000000000754fb767" @@ -6419,37 +6419,37 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [private_call.vk] key = [ "0x0000000000000000000000000000000000000000000000000000000000000011", "0x0000000000000000000000000000000000000000000000000000000000000008", "0x0000000000000000000000000000000000000000000000000000000000005628", - "0x000000000000000000000000000000480f12124b8bc59c0c03c390b0d434d59e", - "0x000000000000000000000000000000000002070eba79f2eaf38730b7edf58ae5", - "0x00000000000000000000000000000034405116bed6de81d228ab94ba645068fa", - "0x000000000000000000000000000000000011fa21263c42638e1fd00c89494e5b", - "0x0000000000000000000000000000009ec091af670e7fe76457ab1e0539448b80", - "0x00000000000000000000000000000000002bf42be16635b4cceb1aae4b7439c9", - "0x000000000000000000000000000000c72104eec918030dfb3b60cf369db377d6", - "0x0000000000000000000000000000000000008a3d3216469db983af0f61ddc0f1", - "0x000000000000000000000000000000366adb049e3c42544af7fc8d71f2865d93", - "0x00000000000000000000000000000000000c35ae3f1fe24c4052bf5514eb3a24", - "0x0000000000000000000000000000006460d8adf552af5d78adbc5bfefc487bf0", - "0x000000000000000000000000000000000016cc43bd87b8ecd8649918f16c8ae9", - "0x0000000000000000000000000000006bbccb3aff6e7cfd122fe99bba52b8f71b", - "0x000000000000000000000000000000000008dbe3146d7f3895d9c08fb7025929", - "0x000000000000000000000000000000efb3ba218b7d8d94e248611fee8f54298d", - "0x000000000000000000000000000000000005cde9be9ce1a78deb1f11fca81c41", - "0x0000000000000000000000000000003602c1c5a62a5cd71e9e57966bea6768bc", - "0x00000000000000000000000000000000000d4238ebf3a3045c6ce8a5ee378330", - "0x000000000000000000000000000000e3720c618f2293cc43542ee0677b7345a1", - "0x000000000000000000000000000000000019ce587db8f41b0f89c649fb0f7073", - "0x000000000000000000000000000000fed2c13926ea236a97b32d9f1041203b02", - "0x000000000000000000000000000000000020238f41d9e619862bf79cad857303", - "0x000000000000000000000000000000f48d80c5194464a23229c4649942627ca3", - "0x000000000000000000000000000000000011dc11fba412ddece95f7560dfed4b", + "0x000000000000000000000000000000238393360d90681c3c719031129331b6ae", + "0x00000000000000000000000000000000002e3b773c56cf21335cdc15c9b3746a", + "0x000000000000000000000000000000c1901442d1594613462b1bf88e23dbe883", + "0x00000000000000000000000000000000000b99fa893f305f09e575c0ec8c4347", + "0x000000000000000000000000000000d042be6b67fd194de2a0f85b9c5fb81fda", + "0x00000000000000000000000000000000000f4cd393d906227f06b6d8dcdc3b7e", + "0x000000000000000000000000000000a06011fa10373671f3185512b9e890a561", + "0x00000000000000000000000000000000000222a26875cb76de213b190197a38c", + "0x000000000000000000000000000000d94a3f732080a25a5a720756c74d106e2a", + "0x00000000000000000000000000000000001c770e0025ce2eb589f49f1ed63cc7", + "0x00000000000000000000000000000065cf8bdca1f910f96eb9d283656dca17ad", + "0x000000000000000000000000000000000024f473f4f73617aae99668107a4160", + "0x0000000000000000000000000000008355e0e6b5c4a4f51084f5ff7cad509b6e", + "0x00000000000000000000000000000000001bea062b97018da1288d79f0e059ad", + "0x0000000000000000000000000000007caadd4673c626c0faa42188a1c1682c8e", + "0x00000000000000000000000000000000001d7a5afcb4787db8a2007418d1c6ef", + "0x0000000000000000000000000000005e173da01f17b68e87368996df6bc71c4d", + "0x0000000000000000000000000000000000096c3c90e08c7fdc8faff6d6795cc8", + "0x00000000000000000000000000000072f02fde51ba523241ff3f7f75feb06941", + "0x000000000000000000000000000000000022240cd39bc4aa3e8c06b5ffb52f4c", + "0x000000000000000000000000000000c6274ea77e36671fbd3637260a52761f84", + "0x000000000000000000000000000000000020ce2d75ee6e6d45afd5b2c54cb1e3", + "0x000000000000000000000000000000790069b19b8bfe76e1d0f65e2b33ff6dea", + "0x000000000000000000000000000000000004813f8aaa0f2e9cbd6395eec220e5", "0x00000000000000000000000000000027317d2f0a800cd6ca71f5284fc2ad4daf", "0x00000000000000000000000000000000000e75f32de10f988b564ceda49217cb", "0x0000000000000000000000000000001e49f0f8d391333b66e08a8e5e28d4dd1d", @@ -6458,66 +6458,66 @@ key = [ "0x00000000000000000000000000000000002145107612ad65f30f4a87ad42cce1", "0x00000000000000000000000000000097ab8ee44f4b8765152992ae2bbf79c22b", "0x00000000000000000000000000000000000cd01a27513be48e55d6378eca21d5", - "0x00000000000000000000000000000008155db3b4fcc75e10122af63ebe5a2198", - "0x00000000000000000000000000000000001ae12496cbcb1b9493e75ce3b7e6f3", - "0x0000000000000000000000000000006f6649c130d857a8f126de423cbd86b81a", - "0x000000000000000000000000000000000008edeb20f48a9f8fa4c6169264c6d9", - "0x000000000000000000000000000000ff3c81875e5746f8932d9d893528d904f3", - "0x000000000000000000000000000000000003e08ff841159cfa010bc88e82924b", - "0x0000000000000000000000000000008b1b8637ea3400c449f24d7684a7cce332", - "0x0000000000000000000000000000000000198b6f871e579e579a214514e5384f", - "0x0000000000000000000000000000003743dbe16aa2391534dc95525c547fc867", - "0x00000000000000000000000000000000000964b2b5eaa59aa0b13b4a9fc43189", - "0x000000000000000000000000000000914c2deff6aadd2bf965f2bb970a080e9e", - "0x000000000000000000000000000000000027d98fd972bc65023b58308b66b1ae", - "0x0000000000000000000000000000004a983ee791e093cae2cb426ed04a5fec81", - "0x0000000000000000000000000000000000292ede5d1003d5b68b1761f497a5a3", - "0x0000000000000000000000000000000a2652bb474694e4397cb3124e480f6a5b", - "0x00000000000000000000000000000000002b5971557d520af7edc5adb60b082b", - "0x000000000000000000000000000000386421d574c597a4eecb6bd30bc281c2ca", - "0x000000000000000000000000000000000001d06f336998e9086af80376109344", - "0x0000000000000000000000000000005253bf21c3af121aef7a2e73f9497bdcc1", - "0x0000000000000000000000000000000000081f17a878dc79b548e1a58351b471", - "0x00000000000000000000000000000095c589174503c7a222cbee84ca44418b91", - "0x0000000000000000000000000000000000200730c864358616fd053609f6be3f", - "0x00000000000000000000000000000037094743f62cb6de9d610f3f4360878e08", - "0x000000000000000000000000000000000009a6749fb116129754606f67645e9e", - "0x000000000000000000000000000000addfa7b5774319bf72e3c860b2b62a9f81", - "0x00000000000000000000000000000000000fb390202b5e057c50f43a5f667fbe", - "0x000000000000000000000000000000ce239956c4e3f4d3b38b281bdbac959909", - "0x00000000000000000000000000000000001477dc02be650ce52a781d21c4d237", - "0x0000000000000000000000000000001fed81a107ff6195f50e42d59aa97234ec", - "0x000000000000000000000000000000000028c7db0acd7a066de141b308c48e64", - "0x000000000000000000000000000000580bd36b0f11f96f641d08d6d541a75484", - "0x00000000000000000000000000000000002dda8618a6d6df97d6e41e57164b90", - "0x00000000000000000000000000000063e3d45b9f65e47a8b49eb81fafacb9045", - "0x0000000000000000000000000000000000062a84d866b0dcc69378a4f87e76b2", - "0x000000000000000000000000000000a72760764a965f8237336fbe9ed5d546a3", - "0x0000000000000000000000000000000000295dd282e736b0acc7f83bb3999ed5", - "0x000000000000000000000000000000b8cd4cb55d958e07389a2456819c4cab88", - "0x0000000000000000000000000000000000158bc4ae004eaa447fbe910ea9feb8", - "0x000000000000000000000000000000d0c9817ddfbe990417ca302a49637a184f", - "0x00000000000000000000000000000000001bea81d619482c7f537c88af6fb983", - "0x000000000000000000000000000000c617764cb60f6411e3d3924851f2da0bc2", - "0x0000000000000000000000000000000000090f2d63f4d6b62944475d45e1882d", - "0x0000000000000000000000000000002cc66895afdf54aefe23d69790774fd70e", - "0x000000000000000000000000000000000012c831cb17afd29ccb70436b1bbaec", - "0x000000000000000000000000000000d62c625ac259a41f2d4a122d97b8e4c512", - "0x0000000000000000000000000000000000003ef6964158e3f00029dc68f4c8d9", - "0x00000000000000000000000000000015c75fd9bdba18666be18a6eb217cdabec", - "0x000000000000000000000000000000000026625d624118d80333e71e55ff086f", - "0x00000000000000000000000000000090531ec6f0b78882ed7d64ef6a88ce643a", - "0x000000000000000000000000000000000013abdadd91232553aade008588d303", - "0x000000000000000000000000000000751edc078d39639ddf732f2ee425671d18", - "0x00000000000000000000000000000000001869f6e9aa0ddfc76cb1cb51c638aa", - "0x000000000000000000000000000000196c9b2a4a46f7d34702e98dd9ab40a916", - "0x000000000000000000000000000000000020e02e3fc564600c8779d36ddcb969", - "0x0000000000000000000000000000003b1732ddfcb29b56bc0dd1262eb96e1df2", - "0x00000000000000000000000000000000000b358d6f826a34d1fd51c51a3a4bcc", - "0x0000000000000000000000000000009b76ba92d2cac050b96c5be449e1673a4d", - "0x000000000000000000000000000000000015d7db77e03453f72b77814eafe3bc", - "0x0000000000000000000000000000005dbcc0ca319665e4e680313ccda695c148", - "0x0000000000000000000000000000000000121e7e8a715cd3b48f124feca5ffb1", + "0x00000000000000000000000000000077843e6414dcff99cce4f8e0f8a9a614bb", + "0x000000000000000000000000000000000006598e0bd44f0fe08d444ac8298434", + "0x00000000000000000000000000000040b8944a748d7ada94b0ae98e979142e6e", + "0x000000000000000000000000000000000028384a31d0457c50bdb873a27b50f2", + "0x00000000000000000000000000000025c96d6092ebf94d17d1628f62d2c0ce9b", + "0x00000000000000000000000000000000000df3f97952a928f600398fef692599", + "0x000000000000000000000000000000ce1dda0e14f0984f22e002a5f09aa47496", + "0x00000000000000000000000000000000001934b1d29c56e34e2ef36d5851346e", + "0x000000000000000000000000000000d358a2b7257f4b6ad8dd185d798941fa0a", + "0x00000000000000000000000000000000002daff068c29c89bb29d455cb808cc3", + "0x000000000000000000000000000000b73aefa1e3da554a6e68dd232fc187fd30", + "0x0000000000000000000000000000000000193807a395b40739cd2859b0c8c6e9", + "0x0000000000000000000000000000007125e81c4c92fc3961e1fd24056520d9d0", + "0x00000000000000000000000000000000001e8a63d4c7f1d6eada74f205f65244", + "0x000000000000000000000000000000111edd73b444619a4fe7b109df2c3d175b", + "0x0000000000000000000000000000000000130433bb252b8782b7c15e7eba6d70", + "0x000000000000000000000000000000d75f32f0e41e3aedeba9d20054d4519fd9", + "0x00000000000000000000000000000000001bc721c0b502ae0c2a84d04cb045c4", + "0x0000000000000000000000000000004a136e9d48e6977141fce7bbeabfadfef8", + "0x00000000000000000000000000000000002c1cf2115e7cd3cf6c9a5b4c3b416c", + "0x00000000000000000000000000000076cb64bff92a394f67e5e984dc7b9f1ecb", + "0x000000000000000000000000000000000018dac8097ae0d44a99ac5b961b6d43", + "0x00000000000000000000000000000020c6e86fb6aca91cf1fc60c01d6c810d31", + "0x00000000000000000000000000000000001de8724c3340c8276de20ca8bbfd36", + "0x0000000000000000000000000000007abb7a7fbe9be677222acc8ba60117743c", + "0x000000000000000000000000000000000002045adc116e5c3d5c419bf10bafa8", + "0x0000000000000000000000000000007cad4ff2b538253365acf1e494961a104d", + "0x00000000000000000000000000000000000f38e916d28add737e9278791923de", + "0x000000000000000000000000000000ce4cca6bca43ae0c4ec0ed7ea1285aa953", + "0x000000000000000000000000000000000013cd7b77315dbf04abe30c6dd7ebee", + "0x0000000000000000000000000000001f9cf93f0ed9419c5b3fcc5e2b05826a81", + "0x0000000000000000000000000000000000036c31f889f6959b0692fe4d638a7d", + "0x0000000000000000000000000000002022d9f726e8a3ade0fbe94de5c6795ba1", + "0x000000000000000000000000000000000013f5ad8712cc16f7e8188c10a911db", + "0x0000000000000000000000000000004e3a379e740083e1f79d6a237e00269c66", + "0x00000000000000000000000000000000000211132d23a949a59f9716b1f6f4cc", + "0x000000000000000000000000000000aa43343d3a452c57553f1765b7fd63ef46", + "0x00000000000000000000000000000000001e3f96c533026fa0c7de0fe08e5eb4", + "0x0000000000000000000000000000009a7c9f7ab82b2db5283b0fc3d79706bd40", + "0x000000000000000000000000000000000005c05f4c31f2c8039e358fef54c290", + "0x0000000000000000000000000000008efccbe89c3bb02139cb62f49f65c2a7d8", + "0x0000000000000000000000000000000000124ccc6b822bbbbec798c3e4203888", + "0x00000000000000000000000000000078133bc2969437ccd1a94f56fa0d656edd", + "0x000000000000000000000000000000000008125a75022766726a86c34ab52f8e", + "0x00000000000000000000000000000076988b9965526e0e2968a4c68fd2bdfec6", + "0x00000000000000000000000000000000001116ed7a0cf200b6ae548ec8e739fa", + "0x0000000000000000000000000000006835922a8263bdd2e3768adcfa69a03021", + "0x00000000000000000000000000000000001a04151546fdf689e5b9a4c4c4fb39", + "0x000000000000000000000000000000620d6eeaa297c73878bedf90eb3595d4b7", + "0x00000000000000000000000000000000002dc1d6c145bcd1cc1672d8b5781e5d", + "0x000000000000000000000000000000e72848ef2c81ed11c4aad0f4dd043133a4", + "0x00000000000000000000000000000000002bd65ea6dee917de0187315e9e8f26", + "0x000000000000000000000000000000d848f139a2f7b280f11f0ea3fc9efc7ce9", + "0x00000000000000000000000000000000000212c09ec5b8e03e8d6fb2f962bc61", + "0x0000000000000000000000000000001f96de11c693c47270128f579f65db13b9", + "0x000000000000000000000000000000000003edb43a17d37b565807269b61ba73", + "0x000000000000000000000000000000021436670d1f6f58ac8995ce7c977a8159", + "0x000000000000000000000000000000000015d0b403ec344079d357b58b225be2", + "0x0000000000000000000000000000003ba296437e8fe38dd75a48bea3dec7740f", + "0x0000000000000000000000000000000000217a07a32c49fadc8b166fcc2d2347", "0x000000000000000000000000000000e8e8b9110bd07cec7bf621cb2b58b626b3", "0x000000000000000000000000000000000009282be73970ff3fc5e74fde839c15", "0x000000000000000000000000000000440d1da143ebe99bc746f3a0b78d99c58b", @@ -6538,10 +6538,10 @@ key = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000c5bbb3a4a03e3e549148e2cfe95b60b8a8", - "0x000000000000000000000000000000000028ad56274fa65bc0e36c4b2a0fdbeb", - "0x000000000000000000000000000000ea36462ac4d4d4d15795344a219e161050", - "0x00000000000000000000000000000000002c1f4f529d18f747ceed43086339bf", + "0x0000000000000000000000000000009b6d2c63ca22cdeb59b3bfe6561cd442f8", + "0x000000000000000000000000000000000026bc7923721855e077b978d13cc28c", + "0x0000000000000000000000000000007b10caaf1b4f298e7e8b734d52d39f965f", + "0x00000000000000000000000000000000002542a8d3eaabd6657eb2ee9cc4fd29", "0x0000000000000000000000000000006bcc7a05ff95a96b289424c5f733670d96", "0x000000000000000000000000000000000000c43726f75b6fda0de22ce0e0dfab", "0x0000000000000000000000000000001d0a09d7178ec93bad7858f96e64f0b48d", @@ -6551,10 +6551,10 @@ key = [ "0x0000000000000000000000000000008158112a46310a62b849f6dd562c2c8694", "0x000000000000000000000000000000000012905e96c2c8db0865d6938f75a324" ] -hash = "0x2655e60256ea10953c9362a440f2e132c8ccbf14459af4701f5c9d0b7224636c" +hash = "0x205f456773b2cb59f02d43117a161c43d0442839387395ed956a73531c66c292" [private_call.verification_key_hints] -contract_class_artifact_hash = "0x282c1fabb9fa092bedfa3e2b60d966aeae7ad3a0b46f9516f4c35e4202b44176" +contract_class_artifact_hash = "0x02089f71103e1f7a653feb26ac967c0f5a08306783c063c764246d654e53625f" contract_class_public_bytecode_commitment = "0x048e24c47d9f5a8d5716ed4a67e8513ada0cb34019557bb1a016f50bd422d012" updated_class_id_delayed_public_mutable_values = [ "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -6565,10 +6565,10 @@ updated_class_id_delayed_public_mutable_values = [ [private_call.verification_key_hints.function_leaf_membership_witness] leaf_index = "3" sibling_path = [ - "0x27dd00427b603bd86ff117bd6746b317bdca2a1de6dd4dd48966dccd49593a22", - "0x10f3b5b9e3604148deb44e96c43e2263b603e25bbfaa08d1712531945436d467", - "0x09945450144f4828f03415eeb9ef4c7016284eb61e4d336fc406db62d8688a85", - "0x15a21dbee0d643c4e1e01a5f002f735e0b555f3cf2ae5bbe3e2afedac6107d78", + "0x22f12997cea34b9e65a95644d401e6bbf7cf951f23bd840f308b2fb49eb339ef", + "0x0ca5ac1facf57be5a0b91febe6c77fbada68a00da86b7d47c07da53575aaf257", + "0x15fc142beb1c315c9e035d33fa6248892d61151c19c655bf77e53b318c11efba", + "0x188abe73a26b1d69010d531e65b749d413ecb650c2f34ea6b0d236c4d088c633", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b" @@ -6595,19 +6595,19 @@ y = "0x2039907fe37f08d10739255141bb066c506a12f7d1e8dfec21abc58494705b6f" is_infinite = false [private_call.verification_key_hints.salted_initialization_hash] - inner = "0x28585da2fe5ffddabb1b874ec095774792c65a52b6e7bd7265719ca2001abd1d" + inner = "0x12192d5c1f60407dc02f2d41c234d007f9093ae085d1e937fade0a3c7b8a9418" [private_call.verification_key_hints.updated_class_id_witness] - leaf_index = "119" + leaf_index = "122" sibling_path = [ - "0x11c9c75753414953b1318de533a89f46dc4e4dade0656fb17d8f14d159d3ebc4", - "0x033cc4944709c06b905370edcdc88fc9b5bbc88ee0a65882214a9910b44f219b", - "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x13fbdf7f0e7fe91a6fea0974fff6e7a7146e6917778d3719130a052f9cae4863", + "0x1668f14ac01de57cdfd7c0d0e0a9463c83dc1dbe07a5bd63f1a1945fcb2181e5", + "0x1fe5971116845e770c250bf7c1037eb7d21ff7c65e021d389e7ab989f74a84b5", + "0x29da07ee776318ec75c1ef49ca732c5be092db89a5cbdd15d523365b969eaadc", + "0x0246bdcdde5eb440bfabec4c81a6b051ccb56ca41992c906e29e1536a6e51555", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x2969526a5ba8aa91043b507343cdc63ea3ee5fbc0782d46b9a31c002ad7cd1b4", + "0x22c842eb683865a426eca3dc0c3e05a92c8aa98f7d380aecbad129d8abfda444", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -6643,13 +6643,13 @@ is_infinite = false ] [private_call.verification_key_hints.updated_class_id_leaf] - slot = "0x1239cf077e49383b1e683bae4aacab6a3ee9b0538af95ade880d719e3b74f8de" + slot = "0x10b7039f7e30999327ba7029eaa367a703101a8005dbfafcda8bd72e787b0530" value = "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000" - next_slot = "0x145e5f0bb64f1c84c1ed210de7dbc424ff902099ce4cacc2cfed8c3638bb1de4" - next_index = "0x000000000000000000000000000000000000000000000000000000000000008a" + next_slot = "0x15a0082c7cad06c44daa36426ce17816d64e03d6daf62ba145ae21d90e22b74f" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000089" [app_public_inputs] -args_hash = "0x1a38eacfc8d2669cd02f4a2762371c0df7c2845a6c788c8980a0f1b2877b8f45" +args_hash = "0x0f67cc03049a2ca51607c985ce0346eed66efea0e7d14f6ca994fb520912683b" 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 = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" [app_public_inputs.call_context] is_static_call = false [app_public_inputs.call_context.msg_sender] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [app_public_inputs.call_context.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [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 = "0x19983f15bfb59431e42fcf664d61008cbce0c4a3c0d38ccfe2c7dbc7be1af878" +inner = "0x0ac287b9b6ba63cfd176b464c571c4a17cade6ffa5cc02a35e40cf2ac04f662e" 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 = "0x2135f8fdcb698391d6dd6126ab857a6199fc3c6bb809905188b09098d3d0ca0e" +inner = "0x209086b683a30ab0ca39f05d5554d0e3b1f574eaf52898501d252e3838344fd8" counter = "0x0000000000000000000000000000000000000000000000000000000000000007" [app_public_inputs.nullifier_read_requests.array.contract_address] @@ -6933,181 +6933,181 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators] + [app_public_inputs.key_validation_requests_and_separators] length = "0x0000000000000000000000000000000000000000000000000000000000000001" - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x000000000000000000000000000000000000000000000000000000000e6ebabc" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x000000000000000000000000000000000000000000000000000000000e6ebabc" - [app_public_inputs.key_validation_requests_and_generators.array.request] - sk_app = "0x0326bb6d864005eae2598787108d84fdecc3122b7afdd8e063c6b700a1f450c2" + [app_public_inputs.key_validation_requests_and_separators.array.request] + sk_app = "0x1c559ff3d9b87298084a71fe82f78b733bea342beb831b62026e3ad544acce76" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] - x = "0x0e143d25d072babfa04431c23ab98c5f2deb2a347aa3a4faaa46d391ad91208d" - y = "0x0b95d9c9225cb359a65646efdf645832aa1200ddcf98a9e0c8dd2e2c900f1d49" + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] + x = "0x280ef4df058bcf18f4860d62c462f0f9daccbe6dc9b2fad75dadd2a719a81ad0" + y = "0x0d3970305cde2b8df3fc160e49513c1b88873334705aaecd8ba1911e9a3f48c0" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false - [[app_public_inputs.key_validation_requests_and_generators.array]] - sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[app_public_inputs.key_validation_requests_and_separators.array]] + key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request] + [app_public_inputs.key_validation_requests_and_separators.array.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [app_public_inputs.key_validation_requests_and_generators.array.request.pk_m] + [app_public_inputs.key_validation_requests_and_separators.array.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false @@ -7116,11 +7116,11 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[app_public_inputs.note_hashes.array]] - inner = "0x0bcb9c58c692fa04e7d7a145db0c750eac768d01eebb89e1e96a589d185ef667" + inner = "0x0438221fe80683a071946d99b3abce40b6081d9afe6f1822f1d96ee38be3ef07" counter = "0x000000000000000000000000000000000000000000000000000000000000000a" [[app_public_inputs.note_hashes.array]] - inner = "0x13f911130b6c69b8de75335312cfc2caeded8a04ae34cb3720946847db3dee20" + inner = "0x26dcd8a6b474aed58a00f2e1024dec1e6c00c8cc94e12d12c54c8f42c7a6ad80" counter = "0x000000000000000000000000000000000000000000000000000000000000000c" [[app_public_inputs.note_hashes.array]] @@ -7186,14 +7186,14 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" counter = "0x0000000000000000000000000000000000000000000000000000000000000009" [app_public_inputs.nullifiers.array.inner] - value = "0x06691c7cf2a37d1d62dfab3a96f569db56ec44ce387fa291712af04646e4b36e" + value = "0x27be14d597543ee004c8d2f9135b3be493d12fb84d5cd4c15d56ddd67449bf8d" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] counter = "0x000000000000000000000000000000000000000000000000000000000000000e" [app_public_inputs.nullifiers.array.inner] - value = "0x16992b6713a3fa408c5deecc4a7f05dd5ebb67ea6037e4efce1144a7760da9cd" + value = "0x1f14420bde8d7a6e451e0173a9c1b09d7ce9ccccc06168d85219d2974db37eb8" note_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" [[app_public_inputs.nullifiers.array]] @@ -7956,24 +7956,24 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x0d0697bd4b03e11abea7bcf0fd705a7a7cdc5ca4eea43578f602fd1e6f02bee8", - "0x0551fe2a36dad9929c79265ce6aeba94f2f416bd71cf81b30ab3b55c72003a48", - "0x0000dd707b88d9039db906798e60a60b6ac9e8f89e8e8e61e676f4f1c9593cac", - "0x000cd2c289f20185721ef525727a29fb2708bf64d5be4b2b0f38885347b1dc71", - "0x0084629f4956500910e9111b635b663a2856a573371ab5ad8a3fcac0f01d6d2e", - "0x004bbb5e1948b1fa2b8265cafdb8d10140daafd0df7729d896d47bc040a1b970", - "0x00a644adfab1b99123cd20097db8d090ab63c93d6c42cf16e379eaffb4d1ffd0", - "0x004c8020c4a1330c3ad6f58c68f5ca0645e893a8a95a0ea4129552b790e7d2b7", - "0x00dd11aa7f5f0f78e05bde8a80775db7c4b20d7668f9bff5887fb21406fdc44e", - "0x0009ead4c5d93267d1072fbfaafd5d0da81321d67b89e33182287da8a5a34b6d", - "0x0079c6eb93e1ca46ac864f3d97396203316efd029c7e86311e6553869e8a36c2", - "0x0028f6e2c5dff72df6ae2f28fe53519ef939b34f9853f161df8e096e4213f27e", - "0x0096c1c46ef6dca33c528754171eec363e9d603397826561c58a2375ffa64ab8", - "0x005c35397f25f07a202bfd402443e2e6e195ad32a4c57bb708135b326eee9763", - "0x00776126695d794e713d613a0c02f027edef55480153811e030b132c53f1faef", - "0x00b781a5b0a58cf57ebcdfbe96d8fe6d94a4804fdbd41768bb48f2fda7b4f49a", - "0x0087155968445b7b35ee2c0598e00b46c03b3e6d95088d16ccedb6fa3e91fc34", - "0x00f75db0e45155b810ca793ab27a3bd530a7ed9c22e46e0415799b23968caeba" + "0x1f84426ef3a76222573c1caaba93bf42e2602d28076a0027eb297beaf3447c30", + "0x18d672f936d0befade4b74ab4f5195325f3e7163665582a96aa3633a3c54b6c9", + "0x000032a8ab21fb61be927d6922820bf3d1094b42a1670dce9a8c3fbabb62e0c7", + "0x00c0e461da2a33378cffd94315ebaf662cf4d8b305f26220b764cf4c3f9d3344", + "0x00f3d82ea8819b593c46fe86f2a0e4efad45b4480f7f15054f458265e7c534e0", + "0x00ed9c60b473ac5f473ad5f250e63dfe90330cc83429e414d357eb01d3206b73", + "0x00806e4dda945c0432bac06b7d466e00c44381bf71bf0f38a448030eb1ee7dff", + "0x003d7394af215e96941f7ba505fde53ee5f4b057c616c049b052a090df2744a4", + "0x00f55549e9e5a96e22e2f4eb62c7681a8aebb20b5db127df2efaf9126cca77f4", + "0x009e6664abd31371eb6d0e99d4c16c4c511a6a63ba24b7483d1e35cf1774da14", + "0x0067034084f36ff782f93c5ecd1d7993036d8829c4aa082630bdd20dc01beb43", + "0x00630d7bfce6ff609627078edd3665cd613eb998790a287c8de29f4ca4bc4ae0", + "0x001536bc328e421eef8e00261b208a264f6497b00cf62654d4cf5029b1b7ff70", + "0x0081d0e13392ba093b4d7ac0e86d9baae5e62b0da92e978af3489a9bef920463", + "0x00ef0a778d16455b941d19bfc67da1f256ca35383564ad9853ffcca66825a806", + "0x00a37fbcb30f4d4f86b1363ccd7da1753e79b878b5bdf167580f687a1870113b", + "0x00f43d62fe7d1bdac08b575c925f46de627a7af6066871c5945d686e0be7c351", + "0x002228a1cfde2ef8628fc73a35803bc1a1d57bec02acdef2a4be6f65692b897b" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -7985,24 +7985,24 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x22ca25423d3b7acc8dc52894179d18e455514e4d6f1a3c4da7a916ff5f5dd8a8", - "0x02fad865d9ddf247b2cadf757e624daed00f9491d598d96f9ecfe33d30b10c8f", - "0x000021a2a019c02483d160f965cace2a31c05093ee3b0e72cee56a975850b4a4", - "0x0054d46280abd8a00a3b6f7683de0974adb24d90150f9398ce2e4d4f9511846f", - "0x0034f6407ffa22a92030b89216b2c83da7845c2b981b5136d454bbbe18344e87", - "0x009e03608ad56cbc7a7ef875147a0913d5b279c6a72787f48e45a005c083115e", - "0x003fa4bf0498b1481e31ef963f63d0c316be53f7acf6ddee9684a9b4ef44513a", - "0x004708114ce2e4534751c2d15b78146bc5ea60818881d56f91f2facb15667e64", - "0x004712e28a6db2c3668e670076adaa55cdead50770bbd5429a8f484d6f8c92b2", - "0x000ce9903b0089448230088ead515fc42f713db667b5ab2db0ff334489fa482d", - "0x00a5640c6b6f6165e10c188132a47ad082333537a4068ecebf661bf2fa87f011", - "0x00ec69b234d4f01d0e8472648e2d42ec26482ab5df98d3b4d9c5cb90b8d4aca8", - "0x00d94014b46226c962af666b4bcb2319d9549e27cd37680aded4374e20e450c8", - "0x002cabdb1a1ba89f43c4b52e1d451299e1ff4b2bb00f86a5bdd38a609a9f68bd", - "0x008252eb1333eb561ea18e510e42b0eebce8a0eb5d557d09e65ec93053f416a9", - "0x00b358a7e22a22838c375735765d5bd6ad7101ca7d1c36fc8039ca62e8ebd802", - "0x00ed80d27bd8202460adf425eb3c46bc4093789b5627e175780f356bc4a0c681", - "0x009e1d3cb1b54b03e64323a4f4abde4168a60c4b267d6684e3d706a2dba56fd7" + "0x204a720b1ca2c194602bc06be3bea87e10a603efd95f0bfbd83bf6073cdc52cb", + "0x1568b67fa97e9c954c5d63afb864f76da8c42449ceb72aadc140d70c2cf69b36", + "0x00019cb9c40de23252387b9dbaa80c5e219285680dcb39ab0d34b219d1090941", + "0x000d59c9a2569b13fc1c946620137851397c949a93b1235a703a2af0f041e020", + "0x000cf12432c9b098894dc507b9f139c0bdf293dfae361ad8afa027573f3a7e76", + "0x006586d1d7ca0abb8f0243b8a8553d411c6055de15630185918ac78b83fb59f5", + "0x0053e9d73c02243aba11efecf2631787e714ef28c15c68cd79a4cee22558888f", + "0x0003e307fa43787dacc496931ec4acd320bf9e50206e1207b8108d3aab68c62a", + "0x006d2020c997368b5a5d8ccbcb1263d7d0bfb73611271be7716c49510e51c460", + "0x002f1b4cfc0507a345ad8ea22995cecf623374a666c45407e5ef8844cd9651a7", + "0x004c6c1e22e8b871c81e1909667d34b682db2a617c6b642d07dc1cf09b67d821", + "0x00b8fc51f6d54e3f94111f5a2b6de7d75f9f9e5211fb24bcd0cf3dbd6ac35229", + "0x00b4d4843fbfc05095bfe56927d02f0359fcb9bc72c6fb94dd7e4edf3eed34a5", + "0x00743657c61cf7d0560feefa7900354cd9361b74dddff0d073ac5b2056bdfe9b", + "0x0002eb1eedc3438e93339d016274cc609210d98b5829d60df107a13a77648bef", + "0x00799b279e55ad9534169aa22ec502672e453418e13ddb3acef497f5f2ba1eee", + "0x007318c27f87f182788622d30b7847a948edd962dfc36a6321a8c36386300ee5", + "0x00780ea4a92f36b5f5fe07c3dfb3b173035883c757d2887618d9d6cc56a0711e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -8014,24 +8014,24 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.private_logs.array.inner.log] fields = [ - "0x27b88edfc998018bbf4541edc1fb84c100f25109e1089cd6bd1566be6daad2ac", - "0x1bd6ddec68362a33eeba2295fcf982daed4d1a2fe7d2471de51a4039e3f959e9", - "0x0000fe2417fac167ea24c875d26b9d8d158647d6fbf761de1ee9afae43b87ec8", - "0x005d7eb74725ee3bf6c64ad959f782145f44f738a7c0bb87763bbe8eebf48c23", - "0x0082f7cdea2fbacda82fc05553553919fb04a86320d0dea42273ba76830ba850", - "0x00f96e26e95dae6b38167648e133ef49999cb5c9769b9dc03663512f9c5f4896", - "0x00bd4aa3a89e5e4736a635830f1b54009fe1ec3c2b5182f95f5e095fd336665a", - "0x003cf13ee752d26bb7a847857cfbb01ca53b5a0dd47369d9d13b06df2ffabd8f", - "0x006be2c978b6dafeadc206a8c48cffe7d0c4c26b32650f5145f2164a3ea7dcf3", - "0x009d49be90801376d7c1e35e6f2e6b207ac0f323e2beb5a9b163c2b58a0ae2a2", - "0x00c62bcde43a6c6d69c696bcfcf931392e48e040b6e85542818f01439cdbf59a", - "0x0017d58e206aeb1f2ef979b4d2202aa077c1ccc5c918edcbc1100ef52fc15275", - "0x008a86cd5def92315b2c8dd6eb5b12ab57351cd8f5f66ba36757af513b68d325", - "0x001134b3d31e36298e679d728d81e76b43e3b0d116a2894b94a41bdae57e2bf6", - "0x007b674c7243bef77a3fbc4d3e7640b5086fd8505073fc4f4e3ba0c8ff7bf6dd", - "0x00c7a8a393c28e2bce737b2894b8077e5430234e4993b850439dd70cf24f8745", - "0x005b476c579926d8c9f790ba8cdccecec53186ea43d445a4f21d46d30c699895", - "0x001588f47036afc3fa47df96d8e1ae047de1904fe66c98d2ba8a0593561c4977" + "0x1d2ffcce462e2c414224e34da91079c04e6f46e8de5600766a2171bf4396efeb", + "0x296810407e5c6d4b028b18e53984ff6f7ad985787aedb7c3c26c8400d692deb0", + "0x0001b88b3b6422742a0212891198008adfc0f4d70c3177fdf05c284e36f99ac5", + "0x00ae1f5a16c6591ae3cd3298cab240420e3c085dbdc80a1a584be117f94e29fc", + "0x00a74f3b18b564482fbeb39bd283adcdd5f127291aa4897ac885f7c1d5d75153", + "0x006ed47e5fd3feeff969f2e83553862bca80b937c5c5505e7dc9a686aba8ca54", + "0x005fd8823565dad202293e3ed5d076cf6289f800f301d1c023d3e4af77827616", + "0x0075536d30d97e72e08b400186c71b77634cfdae51985cc7e986d9f6d90f463f", + "0x0043bd52f8963fa68d611a6bf5be425e3f00f464160348155c8534e17dd22427", + "0x00b9b6a200363ac6784efb3017963e8f000a152dcd4c11fe31c614a4884bfb3e", + "0x0081e7e4bd7465e054e5be7932c3df835a66ed5c82d565a62777faf9571f1675", + "0x00bbc98ca6433187027b87ab9538967f8572a61409d5941d6c14817ba6bbc7bb", + "0x00b9d13ad6648fab765b0b7af280773a5f4dcdd2f87f09e0b7a9ee8b5245d5b7", + "0x0038a0a5e712802e6e31ce7e04fcfd4cc7b414fd75b00eba44a86bd0fbb5d58c", + "0x001d5e1da2ee9973ef61e860e8a60a6ccf197f5422983dc32fa9984d32b34d58", + "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", + "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815", + "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -8423,12 +8423,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" length = "0x0000000000000000000000000000000000000000000000000000000000000000" [app_public_inputs.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [app_public_inputs.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [app_public_inputs.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [app_public_inputs.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [app_public_inputs.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [app_public_inputs.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [app_public_inputs.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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-lib/src/accumulated_data/accumulated_data.md b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/accumulated_data/accumulated_data.md index f58deb5be3b0..e98493405638 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/accumulated_data/accumulated_data.md +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/accumulated_data/accumulated_data.md @@ -39,7 +39,7 @@ In `PrivateKernelCircuitOutputValidator.validate_propagated_from_initial_private - **`assert_array_appended_to_empty_dest_and_scoped`**: Validates that the following arrays from the private call are correctly appended to empty destination arrays and scoped with the contract address: - `note_hash_read_requests` - `nullifier_read_requests` - - `scoped_key_validation_requests_and_generators` + - `scoped_key_validation_requests_and_separators` - `note_hashes` - `l2_to_l1_msgs` - `private_logs` @@ -63,7 +63,7 @@ In `PrivateKernelCircuitOutputValidator.validate_propagated_from_previous_kernel - **`assert_array_prepended`**: Validates that the following arrays from the previous kernel are prepended to the output: - `note_hash_read_requests` - `nullifier_read_requests` - - `scoped_key_validation_requests_and_generators` + - `scoped_key_validation_requests_and_separators` - `note_hashes` - `nullifiers` - `l2_to_l1_msgs` @@ -77,7 +77,7 @@ In `PrivateKernelCircuitOutputValidator.validate_propagated_from_private_call`: - **`assert_array_appended_and_scoped`**: Validates that the following arrays from the current private call are appended and scoped with the contract address: - `note_hash_read_requests` - `nullifier_read_requests` - - `scoped_key_validation_requests_and_generators` + - `scoped_key_validation_requests_and_separators` - `note_hashes` - `nullifiers` - `l2_to_l1_msgs` diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/previous_kernel_for_tail_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/previous_kernel_for_tail_validator.nr index f199988405eb..8553baa863e1 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/previous_kernel_for_tail_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/previous_kernel_for_tail_validator.nr @@ -60,7 +60,7 @@ pub fn validate_previous_kernel_for_tail( "Non empty nullifier read requests", ); assert_eq( - validation_requests.scoped_key_validation_requests_and_generators.length, + validation_requests.scoped_key_validation_requests_and_separators.length, 0, "Non empty key validation requests", ); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr index 3172885dc605..860553248352 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_call_data_validator.nr @@ -276,8 +276,8 @@ impl PrivateCallDataValidator { self.data.public_inputs.nullifier_read_requests.assert_length_within_bounds( "nullifier_read_requests length out of bounds", ); - self.data.public_inputs.key_validation_requests_and_generators.assert_length_within_bounds( - "key_validation_requests_and_generators length out of bounds", + self.data.public_inputs.key_validation_requests_and_separators.assert_length_within_bounds( + "key_validation_requests_and_separators length out of bounds", ); self.data.public_inputs.private_call_requests.assert_length_within_bounds( "private_call_requests length out of bounds", diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_composer.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_composer.nr index c54bd502bb3d..05c5f53067a9 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_composer.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_composer.nr @@ -101,8 +101,8 @@ impl PrivateKernelCircuitOutputComposer { inputs.private_call.public_inputs.nullifier_read_requests, ); append_and_scope_to_empty_dest( - &mut validation_requests.scoped_key_validation_requests_and_generators, - inputs.private_call.public_inputs.key_validation_requests_and_generators, + &mut validation_requests.scoped_key_validation_requests_and_separators, + inputs.private_call.public_inputs.key_validation_requests_and_separators, contract_address, ); @@ -350,16 +350,16 @@ impl PrivateKernelCircuitOutputComposer { &mut self, private_call_public_inputs: PrivateCircuitPublicInputs, ) { - let key_validation_requests_and_generators = - private_call_public_inputs.key_validation_requests_and_generators; - for i in 0..key_validation_requests_and_generators.length { - let scoped_request = key_validation_requests_and_generators.array[i].scope( + let key_validation_requests_and_separators = + private_call_public_inputs.key_validation_requests_and_separators; + for i in 0..key_validation_requests_and_separators.length { + let scoped_request = key_validation_requests_and_separators.array[i].scope( private_call_public_inputs.call_context.contract_address, ); self .public_inputs .validation_requests - .scoped_key_validation_requests_and_generators + .scoped_key_validation_requests_and_separators .push(scoped_request); } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr index 47e91c5b43b3..5d17c0ba12f5 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/private_kernel_circuit_output_validator.nr @@ -149,8 +149,8 @@ impl PrivateKernelCircuitOutputValidator { previous_kernel.validation_requests.nullifier_read_requests, ); assert_array_prepended( - self.output.validation_requests.scoped_key_validation_requests_and_generators, - previous_kernel.validation_requests.scoped_key_validation_requests_and_generators, + self.output.validation_requests.scoped_key_validation_requests_and_separators, + previous_kernel.validation_requests.scoped_key_validation_requests_and_separators, ); assert_array_prepended(self.output.end.note_hashes, previous_kernel.end.note_hashes); assert_array_prepended(self.output.end.nullifiers, previous_kernel.end.nullifiers); @@ -196,11 +196,11 @@ impl PrivateKernelCircuitOutputValidator { previous_kernel_public_inputs.validation_requests.nullifier_read_requests.length, ); assert_array_appended_and_scoped( - self.output.validation_requests.scoped_key_validation_requests_and_generators, - private_call.public_inputs.key_validation_requests_and_generators, + self.output.validation_requests.scoped_key_validation_requests_and_separators, + private_call.public_inputs.key_validation_requests_and_separators, previous_kernel_public_inputs .validation_requests - .scoped_key_validation_requests_and_generators + .scoped_key_validation_requests_and_separators .length, contract_address, ); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_composer.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_composer.nr index 679ee544198a..d1daabd299f1 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_composer.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_composer.nr @@ -174,15 +174,15 @@ impl ResetOutputComposer { self.nullifier_read_request_actions_hints, ); - let scoped_key_validation_requests_and_generators = get_propagated_key_validation_requests( - validation_requests.scoped_key_validation_requests_and_generators, + let scoped_key_validation_requests_and_separators = get_propagated_key_validation_requests( + validation_requests.scoped_key_validation_requests_and_separators, KeyValidationAmount, ); PrivateValidationRequests { note_hash_read_requests: kept_note_hash_read_requests, nullifier_read_requests: kept_nullifier_read_requests, - scoped_key_validation_requests_and_generators, + scoped_key_validation_requests_and_separators, } } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr index 85969ea24222..c6edbd1c6be6 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/components/reset_output_validator.nr @@ -49,13 +49,6 @@ fn assert_correctly_siloed_note_hash( (siloed, unique) }; - // We've already spent constraints checking `prev.counter() < min_revertible_side_effect_counter` in - // transient_data.nr (there, it was: `note_hash.counter() >= split_counter`). - // I wonder how many extra constraints this is costing? - // If it's significant, we could pass a hint for each note hash, to say whether it's revertible or non-revertible, - // and just check that hint once, somewhere. In fact, that hint could be checked in the inner kernel - // circuit, and propagated as a public input (via the data bus). That would save 3 inequality checks in this - // reset circuit. Hmm.. but it would cost inequalities for every note & nullifier in a private call in the inner circuit... I wonder which is best... let computed_note_hash = if prev.is_non_revertible(is_private_only, claimed_revertible_counter) { unique_siloed_note_hash } else { @@ -266,9 +259,9 @@ impl(); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/get_propagated_key_validation_requests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/get_propagated_key_validation_requests.nr index 7fa2040df0b6..3c9e497fc4e9 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/get_propagated_key_validation_requests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/get_propagated_key_validation_requests.nr @@ -1,5 +1,5 @@ use types::{ - abis::validation_requests::KeyValidationRequestAndGenerator, side_effect::Scoped, traits::Empty, + abis::validation_requests::KeyValidationRequestAndSeparator, side_effect::Scoped, traits::Empty, utils::arrays::ClaimedLengthArray, }; @@ -7,9 +7,9 @@ use types::{ /// to lack of capacity), but will be propagated to the next kernel circuit for a future Reset /// circuit to process. pub unconstrained fn get_propagated_key_validation_requests( - key_validation_requests: ClaimedLengthArray, N>, + key_validation_requests: ClaimedLengthArray, N>, key_validation_amount: u32, -) -> ClaimedLengthArray, N> { +) -> ClaimedLengthArray, N> { let mut propagated = ClaimedLengthArray::empty(); // Up to `key_validation_amount` requests will be validated, and the remaining ones will be propagated. diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/key_validation_requests_validator.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/key_validation_requests_validator.nr index ae6215c37098..95d89264a11a 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/key_validation_requests_validator.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/key_validation_requests_validator.nr @@ -3,13 +3,13 @@ use super::{ validate_key_validation_request::validate_key_validation_request, }; use types::{ - abis::validation_requests::KeyValidationRequestAndGenerator, side_effect::Scoped, + abis::validation_requests::KeyValidationRequestAndSeparator, side_effect::Scoped, utils::arrays::ClaimedLengthArray, }; pub struct KeyValidationRequestsValidator { - pub key_validation_requests: ClaimedLengthArray, KeyValidationRequestsLen>, - pub propagated_key_validation_requests: ClaimedLengthArray, KeyValidationRequestsLen>, + pub key_validation_requests: ClaimedLengthArray, KeyValidationRequestsLen>, + pub propagated_key_validation_requests: ClaimedLengthArray, KeyValidationRequestsLen>, pub hints: [KeyValidationHint; KeyValidationHintsLen], } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr index 58f72d97e156..c0f69f6c064f 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/tests/mod.nr @@ -7,7 +7,7 @@ use super::{ }; use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key; use types::{ - abis::validation_requests::{KeyValidationRequest, KeyValidationRequestAndGenerator}, + abis::validation_requests::{KeyValidationRequest, KeyValidationRequestAndSeparator}, address::AztecAddress, hash::compute_app_siloed_secret_key, scalar::Scalar, @@ -20,8 +20,8 @@ global TEST_READ_REQUEST_LEN: u32 = 6; global TEST_HINT_LEN: u32 = 2; struct TestBuilder { - key_validation_requests: ClaimedLengthArray, TEST_READ_REQUEST_LEN>, - propagated_key_validation_requests: ClaimedLengthArray, TEST_READ_REQUEST_LEN>, + key_validation_requests: ClaimedLengthArray, TEST_READ_REQUEST_LEN>, + propagated_key_validation_requests: ClaimedLengthArray, TEST_READ_REQUEST_LEN>, hints: BoundedVec, } @@ -74,12 +74,13 @@ impl TestBuilder { let sk_m = Scalar::from_field(sk); let pk_m = derive_public_key(sk_m); - let sk_app_generator = 123321; - let sk_app = compute_app_siloed_secret_key(sk_m, contract_address, sk_app_generator); + let key_type_domain_separator = 123321; + let sk_app = + compute_app_siloed_secret_key(sk_m, contract_address, key_type_domain_separator); - let request = KeyValidationRequestAndGenerator { + let request = KeyValidationRequestAndSeparator { request: KeyValidationRequest { pk_m, sk_app }, - sk_app_generator, + key_type_domain_separator, } .scope(contract_address); @@ -97,7 +98,7 @@ impl TestBuilder { pub fn get_propagated_key_validation_requests( self, - ) -> ClaimedLengthArray, TEST_READ_REQUEST_LEN> { + ) -> ClaimedLengthArray, TEST_READ_REQUEST_LEN> { let key_validation_amount = self.hints.len(); // Safety: This is only used in tests. unsafe { diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr index 1bff8f57f53c..cc059b761e1b 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/reset/key_validation_request/validate_key_validation_request.nr @@ -1,6 +1,6 @@ use std::embedded_curve_ops::fixed_base_scalar_mul as derive_public_key; use types::{ - abis::validation_requests::KeyValidationRequestAndGenerator, + abis::validation_requests::KeyValidationRequestAndSeparator, hash::compute_app_siloed_secret_key, scalar::Scalar, side_effect::Scoped, }; @@ -46,13 +46,13 @@ use types::{ /// counter that claim). /// pub fn validate_key_validation_request( - scoped_request: Scoped, + scoped_request: Scoped, sk_m: Scalar, ) { let contract_address = scoped_request.contract_address; - let request_and_generator = scoped_request.inner; - let request = request_and_generator.request; - let sk_app_generator = request_and_generator.sk_app_generator; + let request_and_separator = scoped_request.inner; + let request = request_and_separator.request; + let key_type_domain_separator = request_and_separator.key_type_domain_separator; // First we check that the derived public key matches the master public key from the request. let pk_m = derive_public_key(sk_m); @@ -63,7 +63,7 @@ pub fn validate_key_validation_request( ); // Then we check that siloing the master secret key with the contract address gives the app-siloed secret key. - let sk_app = compute_app_siloed_secret_key(sk_m, contract_address, sk_app_generator); + let sk_app = compute_app_siloed_secret_key(sk_m, contract_address, key_type_domain_separator); assert_eq( sk_app, request.sk_app, diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/output_composition_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/output_composition_tests.nr index e306713e04f2..a8d2e35c08a1 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/output_composition_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/output_composition_tests.nr @@ -36,7 +36,7 @@ fn with_everything_empty_except_for_first_nullifier_hint() { assert_claimed_length_array_eq(pi.validation_requests.note_hash_read_requests, []); assert_claimed_length_array_eq(pi.validation_requests.nullifier_read_requests, []); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [], ); } @@ -191,9 +191,9 @@ fn with_everything_non_empty() { ); let key_validation_requests = - builder.private_call.scoped_key_validation_requests_and_generators.storage(); + builder.private_call.scoped_key_validation_requests_and_separators.storage(); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [key_validation_requests[0], key_validation_requests[1]], ); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/private_call_data/validate_claimed_lengths_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/private_call_data/validate_claimed_lengths_tests.nr index 1189dd5c4079..27cc6c0f2b92 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/private_call_data/validate_claimed_lengths_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_init/private_call_data/validate_claimed_lengths_tests.nr @@ -53,7 +53,7 @@ fn nullifier_read_requests_out_of_bounds() { builder.execute_and_fail(); } -#[test(should_fail_with = "key_validation_requests_and_generators length out of bounds")] +#[test(should_fail_with = "key_validation_requests_and_separators length out of bounds")] fn key_validation_requests_and_generators_out_of_bounds() { let mut builder = TestBuilder::new(); diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr index a3c6c1707a7b..fa8e3a202259 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_inner/output_composition_tests.nr @@ -48,7 +48,7 @@ fn with_everything_empty() { assert_claimed_length_array_eq(pi.validation_requests.note_hash_read_requests, []); assert_claimed_length_array_eq(pi.validation_requests.nullifier_read_requests, []); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [], ); } @@ -97,7 +97,7 @@ fn with_previous_kernel_non_empty_and_private_call_empty() { builder.previous_kernel.append_key_validation_requests(1); let previous_key_validation_requests_and_generators = - builder.previous_kernel.scoped_key_validation_requests_and_generators.storage(); + builder.previous_kernel.scoped_key_validation_requests_and_separators.storage(); let pi = builder.execute(); @@ -139,7 +139,7 @@ fn with_previous_kernel_non_empty_and_private_call_empty() { [previous_nullifier_read_requests[0], previous_nullifier_read_requests[1]], ); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [previous_key_validation_requests_and_generators[0]], ); } @@ -185,7 +185,7 @@ fn with_previous_kernel_empty_and_private_call_non_empty() { builder.private_call.append_key_validation_requests(2); let new_key_validation_requests_and_generators = - builder.private_call.scoped_key_validation_requests_and_generators.storage(); + builder.private_call.scoped_key_validation_requests_and_separators.storage(); let pi = builder.execute(); @@ -221,7 +221,7 @@ fn with_previous_kernel_empty_and_private_call_non_empty() { [new_nullifier_read_requests[0]], ); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [ new_key_validation_requests_and_generators[0], new_key_validation_requests_and_generators[1], @@ -342,13 +342,13 @@ fn with_everything_non_empty() { builder.private_call.append_nullifier_read_requests(1); let new_nullifier_read_requests = builder.private_call.nullifier_read_requests.storage(); - // key_validation_requests_and_generators + // key_validation_requests_and_separators builder.previous_kernel.append_key_validation_requests(1); let previous_key_validation_requests_and_generators = - builder.previous_kernel.scoped_key_validation_requests_and_generators.storage(); + builder.previous_kernel.scoped_key_validation_requests_and_separators.storage(); builder.private_call.append_key_validation_requests(2); let new_key_validation_requests_and_generators = - builder.private_call.scoped_key_validation_requests_and_generators.storage(); + builder.private_call.scoped_key_validation_requests_and_separators.storage(); let pi = builder.execute(); @@ -419,7 +419,7 @@ fn with_everything_non_empty() { ], ); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [ previous_key_validation_requests_and_generators[0], new_key_validation_requests_and_generators[0], @@ -540,17 +540,17 @@ fn with_full_arrays_from_private_call() { 0, ); - // key_validation_requests_and_generators + // key_validation_requests_and_separators builder.previous_kernel.append_key_validation_requests( MAX_KEY_VALIDATION_REQUESTS_PER_TX - MAX_KEY_VALIDATION_REQUESTS_PER_CALL, ); let previous_key_validation_requests_and_generators = subarray::<_, _, MAX_KEY_VALIDATION_REQUESTS_PER_TX - MAX_KEY_VALIDATION_REQUESTS_PER_CALL>( - builder.previous_kernel.scoped_key_validation_requests_and_generators.storage(), + builder.previous_kernel.scoped_key_validation_requests_and_separators.storage(), 0, ); builder.private_call.append_key_validation_requests(MAX_KEY_VALIDATION_REQUESTS_PER_CALL); let new_key_validation_requests_and_generators = subarray::<_, _, MAX_KEY_VALIDATION_REQUESTS_PER_CALL>( - builder.private_call.scoped_key_validation_requests_and_generators.storage(), + builder.private_call.scoped_key_validation_requests_and_separators.storage(), 0, ); @@ -594,7 +594,7 @@ fn with_full_arrays_from_private_call() { previous_nullifier_read_requests.concat(new_nullifier_read_requests), ); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, previous_key_validation_requests_and_generators.concat( new_key_validation_requests_and_generators, ), @@ -651,10 +651,10 @@ fn with_full_arrays_from_previous_kernel() { let previous_nullifier_read_requests = builder.previous_kernel.nullifier_read_requests.storage(); - // key_validation_requests_and_generators + // key_validation_requests_and_separators builder.previous_kernel.append_key_validation_requests(MAX_KEY_VALIDATION_REQUESTS_PER_TX); let previous_key_validation_requests_and_generators = - builder.previous_kernel.scoped_key_validation_requests_and_generators.storage(); + builder.previous_kernel.scoped_key_validation_requests_and_separators.storage(); let pi = builder.execute(); @@ -678,7 +678,7 @@ fn with_full_arrays_from_previous_kernel() { previous_nullifier_read_requests, ); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, previous_key_validation_requests_and_generators, ); } @@ -714,7 +714,7 @@ fn with_allowed_empty_values_from_private_call() { builder.private_call.add_request_for_key_validation(Point::empty(), 0, 0); let empty_key_validation_request = - builder.private_call.scoped_key_validation_requests_and_generators.storage()[0]; + builder.private_call.scoped_key_validation_requests_and_separators.storage()[0]; // Note: this test only checks that the empty values are propagated. Whether the values are valid is checked // by the Reset or the Tail(-to-Public) circuits. @@ -738,7 +738,7 @@ fn with_allowed_empty_values_from_private_call() { [empty_nullifier_read_request], ); assert_claimed_length_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators, + pi.validation_requests.scoped_key_validation_requests_and_separators, [empty_key_validation_request], ); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr index d5d68540e275..94504eb5513c 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/key_validation_tests.nr @@ -16,14 +16,14 @@ fn validate_and_propagate_key_validation_requests() { builder.add_key_validation_request(456); builder.add_key_validation_request(789); - let requests = builder.previous_kernel.scoped_key_validation_requests_and_generators.storage(); + let requests = builder.previous_kernel.scoped_key_validation_requests_and_separators.storage(); let pi = builder.execute(); // Only the 2 requests without hints should be propagated. - assert_eq(pi.validation_requests.scoped_key_validation_requests_and_generators.length, 2); + assert_eq(pi.validation_requests.scoped_key_validation_requests_and_separators.length, 2); assert_array_eq( - pi.validation_requests.scoped_key_validation_requests_and_generators.array, + pi.validation_requests.scoped_key_validation_requests_and_separators.array, [requests[KEY_VALIDATION_HINTS_LEN], requests[KEY_VALIDATION_HINTS_LEN + 1]], ); } diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr index f5d7bf49f70e..2a500803fa02 100644 --- a/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/private-kernel-lib/src/tests/private_kernel_reset/mod.nr @@ -199,11 +199,12 @@ impl TestBuilder { let sk_m = EmbeddedCurveScalar::from_field(sk); let pk_m = derive_public_key(sk_m); - let sk_app_generator = 123321; + let key_type_domain_separator = 123321; let contract_address = self.previous_kernel.contract_address; - let sk_app = compute_app_siloed_secret_key(sk_m, contract_address, sk_app_generator); + let sk_app = + compute_app_siloed_secret_key(sk_m, contract_address, key_type_domain_separator); - self.previous_kernel.add_request_for_key_validation(pk_m, sk_app, sk_app_generator); + self.previous_kernel.add_request_for_key_validation(pk_m, sk_app, key_type_domain_separator); } pub fn add_key_validation_request_and_hint(&mut self, sk: Field) { diff --git a/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml b/noir-projects/noir-protocol-circuits/crates/private-kernel-reset/Prover.toml index fde167c7393d..fd48a823adae 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 @@ -2,10 +2,10 @@ leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" sibling_path = [ "0x2def0f0f11588ba2936cd0928e5e46c42e8078b9e8e3ea92e78f092a60c0f04f", - "0x14f239ae4869f7fb7c5b2a277873b80c1736d1590b05db7d5ac40f4f0c945edb", - "0x22ade1bda5bb66588cb6adcfcd830c72393f1be1b7eccc0d6b19656eb0ca4093", - "0x1de0c6d93bb75f6734bc6754c1e32302fd1dd0a71916c430a192da3ac87b5c22", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x0b1863e87ddf257d402a955d22b6997848454efb8045161e6dcc7dc866a58363", + "0x1669f3c7b720984159083fcf36e21da0a79e06efaa83ef4c7a16f4f326ae8627", + "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -144,21 +144,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" is_private_only = false -claimed_first_nullifier = "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc" +claimed_first_nullifier = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -208,26 +208,26 @@ 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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 = "0x20cb524e40ec648de76cb75f3e0589f3344a920237e10a8a2e815e972deaac63" +inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x041e6cfd116b0e7953a1938dde31e9efa0947da4902d27f7a11acd0cc1401286" +inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0fb8caa8be404fd00304be3dadb988f810e02438ae6d121e417fcc5a7351176b" +inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0c95a1f6478f7fb15958f614146b1570d0bf435d9cb3bc4761fff038756ec9dc" +inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x28722afa8ef7117225c017c8f4c43392b9620136f482b078729a30e23589ad46" +inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" @@ -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 = "0x277b0f46a0a4e76c5a97b25a495bf8e6c7a9b8ad8c6fdeb1243e2598f361b936" +inner = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" counter = "0x0000000000000000000000000000000000000000000000000000000000000003" [previous_kernel_public_inputs.validation_requests.note_hash_read_requests.array.contract_address] @@ -1277,967 +1277,967 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators] length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes] @@ -2763,7 +2763,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x18d79e3e7e4668fefe4397715d2e4c2237a5f95ab2ac55d4879656cfe1bcf91d" + value = "0x2a5f3b0fdeab1ac47fd9ecc8f9679d9689e9a559d512c41ccd68e40706b2a6a3" 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 = "0x2f8173f15424df1072c0f082ac0b807ac7bccaa4737a513efce5c0da01e1a4fb" + calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [[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 = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [padded_side_effects] note_hashes = [ @@ -8551,9 +8551,9 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x03abcafac55776e31b8f4718e72b77bf2e3a3bd493aa6e7950fc5a2f820e1120", + "0x214d1056b671e08f360a897df490021816fed29c2339dea7da25f9f155ed17ce", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", - "0x0f90510ea7fb617683b1b58cd66594717e5cb8cef3c1c66a5cf471f04f872283", + "0x275425ddbf2d92f2a754b328b4406677815ba3571cd6fe50bb0e2beffe999e29", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", @@ -8590,7 +8590,7 @@ read_request_index = "0x00000000000000000000000000000000000000000000000000000000 ] [hints.note_hash_read_request_hints.settled_read_hints.leaf_preimage] - value = "0x277b0f46a0a4e76c5a97b25a495bf8e6c7a9b8ad8c6fdeb1243e2598f361b936" + value = "0x008846a23cf07d6f5eac3f31f5e0b597cdb85807f54d1dc760739d3241830052" [[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 1fc3bf3a272f..c60bff363a85 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 = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069950f9f" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" @@ -8,7 +8,7 @@ sibling_path = [ "0x05d81ec10254ee759410ecc5dc322943a82c0e2da8906ecac9c1a6270e41d8f8", "0x0dcd097e79e3057b1c9804260e77457f0a20082513449c93e95dcaca6b44f4af", "0x0e0e13c4e24e6a6c99263d0f23d13413e1e9b3d8f6863d1a9dada4353d6d4abe", - "0x01a84d79bd2f551e9fdce99d9402e73b12f573173680bcafb63403d3ce2e445e", + "0x0656d61c510b780b87af47e914d241237e1cbacc9ecaa70f1519022861e3df28", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -146,21 +146,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" is_private_only = false -claimed_first_nullifier = "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc" +claimed_first_nullifier = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -210,26 +210,26 @@ 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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 = "0x20cb524e40ec648de76cb75f3e0589f3344a920237e10a8a2e815e972deaac63" +inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x041e6cfd116b0e7953a1938dde31e9efa0947da4902d27f7a11acd0cc1401286" +inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0fb8caa8be404fd00304be3dadb988f810e02438ae6d121e417fcc5a7351176b" +inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0c95a1f6478f7fb15958f614146b1570d0bf435d9cb3bc4761fff038756ec9dc" +inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x28722afa8ef7117225c017c8f4c43392b9620136f482b078729a30e23589ad46" +inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" @@ -1279,967 +1279,967 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators] length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes] @@ -2765,7 +2765,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000001" counter = "0x0000000000000000000000000000000000000000000000000000000000000001" [previous_kernel_public_inputs.end.nullifiers.array.inner.inner] - value = "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc" + value = "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43" 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 = "0x2f8173f15424df1072c0f082ac0b807ac7bccaa4737a513efce5c0da01e1a4fb" + calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" [previous_kernel_public_inputs.end.public_call_requests.array.inner.msg_sender] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [previous_kernel_public_inputs.end.public_call_requests.array.inner.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [[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 = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [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 b3dd6fd8fa04..668e8536fbf0 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 = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp_upper_bound = "0x0000000000000000000000000000000000000000000000000000000069950f9f" [previous_kernel.vk_data] leaf_index = "0x000000000000000000000000000000000000000000000000000000000000003d" @@ -8,7 +8,7 @@ sibling_path = [ "0x05d81ec10254ee759410ecc5dc322943a82c0e2da8906ecac9c1a6270e41d8f8", "0x0dcd097e79e3057b1c9804260e77457f0a20082513449c93e95dcaca6b44f4af", "0x0e0e13c4e24e6a6c99263d0f23d13413e1e9b3d8f6863d1a9dada4353d6d4abe", - "0x01a84d79bd2f551e9fdce99d9402e73b12f573173680bcafb63403d3ce2e445e", + "0x0656d61c510b780b87af47e914d241237e1cbacc9ecaa70f1519022861e3df28", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -146,21 +146,21 @@ sibling_path = [ [previous_kernel_public_inputs] min_revertible_side_effect_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" -expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069904e3d" +expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" is_private_only = true -claimed_first_nullifier = "0x2024835fd8b74a764c77337cdecd852f4412858e32f7be5c0207f01b5da068b5" +claimed_first_nullifier = "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c" claimed_revertible_counter = "0x0000000000000000000000000000000000000000000000000000000000000005" [previous_kernel_public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [previous_kernel_public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [previous_kernel_public_inputs.constants.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [previous_kernel_public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [previous_kernel_public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [previous_kernel_public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [previous_kernel_public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -210,26 +210,26 @@ 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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 = "0x20cb524e40ec648de76cb75f3e0589f3344a920237e10a8a2e815e972deaac63" +inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x041e6cfd116b0e7953a1938dde31e9efa0947da4902d27f7a11acd0cc1401286" +inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0fb8caa8be404fd00304be3dadb988f810e02438ae6d121e417fcc5a7351176b" +inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x0c95a1f6478f7fb15958f614146b1570d0bf435d9cb3bc4761fff038756ec9dc" +inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] -inner = "0x28722afa8ef7117225c017c8f4c43392b9620136f482b078729a30e23589ad46" +inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" [[previous_kernel_public_inputs.constants.protocol_contracts.derived_addresses]] inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" @@ -1279,967 +1279,967 @@ counter = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.validation_requests.nullifier_read_requests.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators] length = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" - [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array]] -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner] -sk_app_generator = "0x0000000000000000000000000000000000000000000000000000000000000000" + [[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array]] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner] +key_type_domain_separator = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request] sk_app = "0x0000000000000000000000000000000000000000000000000000000000000000" - [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.inner.request.pk_m] + [previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.inner.request.pk_m] x = "0x0000000000000000000000000000000000000000000000000000000000000000" y = "0x0000000000000000000000000000000000000000000000000000000000000000" is_infinite = false -[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_generators.array.contract_address] +[previous_kernel_public_inputs.validation_requests.scoped_key_validation_requests_and_separators.array.contract_address] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.end.note_hashes] @@ -2247,7 +2247,7 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000002" [[previous_kernel_public_inputs.end.note_hashes.array]] [previous_kernel_public_inputs.end.note_hashes.array.inner] -inner = "0x2b2e79d0ebbb71af103a716808532b2e3527e7c1c96a36c8325eb134c3072e23" +inner = "0x005cd2323881f0294872da74f6f085b0628672881dc464f4d5d0976cbbbd08d2" 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 = "0x1bd2c37274099ba3cc55eeafc83e0cd1206746cbcfee6a21ea6937c28328c6d8" +inner = "0x2bea0c0cb98d2092d3d717f881af5f4c1c4ea1c896ed60a9f74f6e0687ffe91c" 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 = "0x2024835fd8b74a764c77337cdecd852f4412858e32f7be5c0207f01b5da068b5" + value = "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c" 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 = "0x13d78bda760a53de06514f7f741dfdadff5eb9e71797ad4b6e06ea4483d85dbd" + value = "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38" 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 = "0x2f88f3bd8793d0dff44d96eda5f750ca9d873b8bf80a4ec2c5c64e715a6ed0fb" + value = "0x01180e43597d93aca802e2db8b88f2a65407301bb727bc2ce2e418e26ae4ff48" 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 = [ - "0x2c3daffe4a903189546d747383b36f042d388202763bafbc38886fecc350cb53", - "0x0551fe2a36dad9929c79265ce6aeba94f2f416bd71cf81b30ab3b55c72003a48", - "0x0000dd707b88d9039db906798e60a60b6ac9e8f89e8e8e61e676f4f1c9593cac", - "0x000cd2c289f20185721ef525727a29fb2708bf64d5be4b2b0f38885347b1dc71", - "0x0084629f4956500910e9111b635b663a2856a573371ab5ad8a3fcac0f01d6d2e", - "0x004bbb5e1948b1fa2b8265cafdb8d10140daafd0df7729d896d47bc040a1b970", - "0x00a644adfab1b99123cd20097db8d090ab63c93d6c42cf16e379eaffb4d1ffd0", - "0x004c8020c4a1330c3ad6f58c68f5ca0645e893a8a95a0ea4129552b790e7d2b7", - "0x00dd11aa7f5f0f78e05bde8a80775db7c4b20d7668f9bff5887fb21406fdc44e", - "0x0009ead4c5d93267d1072fbfaafd5d0da81321d67b89e33182287da8a5a34b6d", - "0x0079c6eb93e1ca46ac864f3d97396203316efd029c7e86311e6553869e8a36c2", - "0x0028f6e2c5dff72df6ae2f28fe53519ef939b34f9853f161df8e096e4213f27e", - "0x0096c1c46ef6dca33c528754171eec363e9d603397826561c58a2375ffa64ab8", - "0x005c35397f25f07a202bfd402443e2e6e195ad32a4c57bb708135b326eee9763", - "0x00776126695d794e713d613a0c02f027edef55480153811e030b132c53f1faef", - "0x00b781a5b0a58cf57ebcdfbe96d8fe6d94a4804fdbd41768bb48f2fda7b4f49a", - "0x0087155968445b7b35ee2c0598e00b46c03b3e6d95088d16ccedb6fa3e91fc34", - "0x00f75db0e45155b810ca793ab27a3bd530a7ed9c22e46e0415799b23968caeba" + "0x0a27df1f1c9501dfd5065c8be6a28b075fbf1cf0caba4884d1dd2f851fce04a0", + "0x18d672f936d0befade4b74ab4f5195325f3e7163665582a96aa3633a3c54b6c9", + "0x000032a8ab21fb61be927d6922820bf3d1094b42a1670dce9a8c3fbabb62e0c7", + "0x00c0e461da2a33378cffd94315ebaf662cf4d8b305f26220b764cf4c3f9d3344", + "0x00f3d82ea8819b593c46fe86f2a0e4efad45b4480f7f15054f458265e7c534e0", + "0x00ed9c60b473ac5f473ad5f250e63dfe90330cc83429e414d357eb01d3206b73", + "0x00806e4dda945c0432bac06b7d466e00c44381bf71bf0f38a448030eb1ee7dff", + "0x003d7394af215e96941f7ba505fde53ee5f4b057c616c049b052a090df2744a4", + "0x00f55549e9e5a96e22e2f4eb62c7681a8aebb20b5db127df2efaf9126cca77f4", + "0x009e6664abd31371eb6d0e99d4c16c4c511a6a63ba24b7483d1e35cf1774da14", + "0x0067034084f36ff782f93c5ecd1d7993036d8829c4aa082630bdd20dc01beb43", + "0x00630d7bfce6ff609627078edd3665cd613eb998790a287c8de29f4ca4bc4ae0", + "0x001536bc328e421eef8e00261b208a264f6497b00cf62654d4cf5029b1b7ff70", + "0x0081d0e13392ba093b4d7ac0e86d9baae5e62b0da92e978af3489a9bef920463", + "0x00ef0a778d16455b941d19bfc67da1f256ca35383564ad9853ffcca66825a806", + "0x00a37fbcb30f4d4f86b1363ccd7da1753e79b878b5bdf167580f687a1870113b", + "0x00f43d62fe7d1bdac08b575c925f46de627a7af6066871c5945d686e0be7c351", + "0x002228a1cfde2ef8628fc73a35803bc1a1d57bec02acdef2a4be6f65692b897b" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -3616,24 +3616,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000d" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x26a4b844216245df8251f80f5e49c1e3be44d8d9aadc9ae11a26f297550a6ec9", - "0x02fad865d9ddf247b2cadf757e624daed00f9491d598d96f9ecfe33d30b10c8f", - "0x000021a2a019c02483d160f965cace2a31c05093ee3b0e72cee56a975850b4a4", - "0x0054d46280abd8a00a3b6f7683de0974adb24d90150f9398ce2e4d4f9511846f", - "0x0034f6407ffa22a92030b89216b2c83da7845c2b981b5136d454bbbe18344e87", - "0x009e03608ad56cbc7a7ef875147a0913d5b279c6a72787f48e45a005c083115e", - "0x003fa4bf0498b1481e31ef963f63d0c316be53f7acf6ddee9684a9b4ef44513a", - "0x004708114ce2e4534751c2d15b78146bc5ea60818881d56f91f2facb15667e64", - "0x004712e28a6db2c3668e670076adaa55cdead50770bbd5429a8f484d6f8c92b2", - "0x000ce9903b0089448230088ead515fc42f713db667b5ab2db0ff334489fa482d", - "0x00a5640c6b6f6165e10c188132a47ad082333537a4068ecebf661bf2fa87f011", - "0x00ec69b234d4f01d0e8472648e2d42ec26482ab5df98d3b4d9c5cb90b8d4aca8", - "0x00d94014b46226c962af666b4bcb2319d9549e27cd37680aded4374e20e450c8", - "0x002cabdb1a1ba89f43c4b52e1d451299e1ff4b2bb00f86a5bdd38a609a9f68bd", - "0x008252eb1333eb561ea18e510e42b0eebce8a0eb5d557d09e65ec93053f416a9", - "0x00b358a7e22a22838c375735765d5bd6ad7101ca7d1c36fc8039ca62e8ebd802", - "0x00ed80d27bd8202460adf425eb3c46bc4093789b5627e175780f356bc4a0c681", - "0x009e1d3cb1b54b03e64323a4f4abde4168a60c4b267d6684e3d706a2dba56fd7" + "0x02932d6cfd1460d71833896895ad1e423b5cfa8e1faed2d7051d2ab5aa261721", + "0x1568b67fa97e9c954c5d63afb864f76da8c42449ceb72aadc140d70c2cf69b36", + "0x00019cb9c40de23252387b9dbaa80c5e219285680dcb39ab0d34b219d1090941", + "0x000d59c9a2569b13fc1c946620137851397c949a93b1235a703a2af0f041e020", + "0x000cf12432c9b098894dc507b9f139c0bdf293dfae361ad8afa027573f3a7e76", + "0x006586d1d7ca0abb8f0243b8a8553d411c6055de15630185918ac78b83fb59f5", + "0x0053e9d73c02243aba11efecf2631787e714ef28c15c68cd79a4cee22558888f", + "0x0003e307fa43787dacc496931ec4acd320bf9e50206e1207b8108d3aab68c62a", + "0x006d2020c997368b5a5d8ccbcb1263d7d0bfb73611271be7716c49510e51c460", + "0x002f1b4cfc0507a345ad8ea22995cecf623374a666c45407e5ef8844cd9651a7", + "0x004c6c1e22e8b871c81e1909667d34b682db2a617c6b642d07dc1cf09b67d821", + "0x00b8fc51f6d54e3f94111f5a2b6de7d75f9f9e5211fb24bcd0cf3dbd6ac35229", + "0x00b4d4843fbfc05095bfe56927d02f0359fcb9bc72c6fb94dd7e4edf3eed34a5", + "0x00743657c61cf7d0560feefa7900354cd9361b74dddff0d073ac5b2056bdfe9b", + "0x0002eb1eedc3438e93339d016274cc609210d98b5829d60df107a13a77648bef", + "0x00799b279e55ad9534169aa22ec502672e453418e13ddb3acef497f5f2ba1eee", + "0x007318c27f87f182788622d30b7847a948edd962dfc36a6321a8c36386300ee5", + "0x00780ea4a92f36b5f5fe07c3dfb3b173035883c757d2887618d9d6cc56a0711e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -3649,24 +3649,24 @@ counter = "0x000000000000000000000000000000000000000000000000000000000000000f" [previous_kernel_public_inputs.end.private_logs.array.inner.inner.log] fields = [ - "0x2ae954e759b15f6d8ef97084100c66be809e18e107a7e35b219fe9b1d0e41c88", - "0x1bd6ddec68362a33eeba2295fcf982daed4d1a2fe7d2471de51a4039e3f959e9", - "0x0000fe2417fac167ea24c875d26b9d8d158647d6fbf761de1ee9afae43b87ec8", - "0x005d7eb74725ee3bf6c64ad959f782145f44f738a7c0bb87763bbe8eebf48c23", - "0x0082f7cdea2fbacda82fc05553553919fb04a86320d0dea42273ba76830ba850", - "0x00f96e26e95dae6b38167648e133ef49999cb5c9769b9dc03663512f9c5f4896", - "0x00bd4aa3a89e5e4736a635830f1b54009fe1ec3c2b5182f95f5e095fd336665a", - "0x003cf13ee752d26bb7a847857cfbb01ca53b5a0dd47369d9d13b06df2ffabd8f", - "0x006be2c978b6dafeadc206a8c48cffe7d0c4c26b32650f5145f2164a3ea7dcf3", - "0x009d49be90801376d7c1e35e6f2e6b207ac0f323e2beb5a9b163c2b58a0ae2a2", - "0x00c62bcde43a6c6d69c696bcfcf931392e48e040b6e85542818f01439cdbf59a", - "0x0017d58e206aeb1f2ef979b4d2202aa077c1ccc5c918edcbc1100ef52fc15275", - "0x008a86cd5def92315b2c8dd6eb5b12ab57351cd8f5f66ba36757af513b68d325", - "0x001134b3d31e36298e679d728d81e76b43e3b0d116a2894b94a41bdae57e2bf6", - "0x007b674c7243bef77a3fbc4d3e7640b5086fd8505073fc4f4e3ba0c8ff7bf6dd", - "0x00c7a8a393c28e2bce737b2894b8077e5430234e4993b850439dd70cf24f8745", - "0x005b476c579926d8c9f790ba8cdccecec53186ea43d445a4f21d46d30c699895", - "0x001588f47036afc3fa47df96d8e1ae047de1904fe66c98d2ba8a0593561c4977" + "0x2d21d0707d3e09aecfb0d6b7956faf9fbd024d947067e7867ab339a1648d3ea0", + "0x296810407e5c6d4b028b18e53984ff6f7ad985787aedb7c3c26c8400d692deb0", + "0x0001b88b3b6422742a0212891198008adfc0f4d70c3177fdf05c284e36f99ac5", + "0x00ae1f5a16c6591ae3cd3298cab240420e3c085dbdc80a1a584be117f94e29fc", + "0x00a74f3b18b564482fbeb39bd283adcdd5f127291aa4897ac885f7c1d5d75153", + "0x006ed47e5fd3feeff969f2e83553862bca80b937c5c5505e7dc9a686aba8ca54", + "0x005fd8823565dad202293e3ed5d076cf6289f800f301d1c023d3e4af77827616", + "0x0075536d30d97e72e08b400186c71b77634cfdae51985cc7e986d9f6d90f463f", + "0x0043bd52f8963fa68d611a6bf5be425e3f00f464160348155c8534e17dd22427", + "0x00b9b6a200363ac6784efb3017963e8f000a152dcd4c11fe31c614a4884bfb3e", + "0x0081e7e4bd7465e054e5be7932c3df835a66ed5c82d565a62777faf9571f1675", + "0x00bbc98ca6433187027b87ab9538967f8572a61409d5941d6c14817ba6bbc7bb", + "0x00b9d13ad6648fab765b0b7af280773a5f4dcdd2f87f09e0b7a9ee8b5245d5b7", + "0x0038a0a5e712802e6e31ce7e04fcfd4cc7b414fd75b00eba44a86bd0fbb5d58c", + "0x001d5e1da2ee9973ef61e860e8a60a6ccf197f5422983dc32fa9984d32b34d58", + "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", + "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815", + "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6421,4 +6421,4 @@ length = "0x0000000000000000000000000000000000000000000000000000000000000000" inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [previous_kernel_public_inputs.fee_payer] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" 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 560545d34810..8d58246a2508 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 = "0x1a4d1885a71c49e31a315d617714c22ab125fb2acd78f9be0f3d9e04dbb4ecd7" + block_headers_hash = "0x019c94b8104d35bfeaed20f985b7e1b380abd1ed40369b739ed273ce3ec36b8e" 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + 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 = "0x249a5f67235cc57358174dc36441cad7ad1eeaa8d90f368df1908ba70259d365" + root = "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98" 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 = [ - "0x2417cff0d2c06e196b0a4e8f9abce35dc3530d47af623d52df1834c74bbbf660", - "0x1441c2a8b920383e9a53d60e0f2494903d31dd21c51c9c31f804472261eb3e77", - "0x2704e70419436efbe82b4c450bb8bf297c5530afed385951159ab99fc0fa4a09", - "0x2f23f97f635935c3a9fb3d616ea4d1fad8571df020050e02285e23a4595a81c5" + "0x1a74ff032ae620c0f07c131712778ce545e2e0d87ed3ce855e5e490bbcd805d8", + "0x007eb8e5e9c4e4e432db874bb4ac0e2a990b5b87098ea24c42716a7dd03ef9ab", + "0x2563c6fbeacb77e44cd706bd60496b9a59a26d068b849293bbee419a763d75e1", + "0x0ca40344a9d927d78b30ec37788ea74c3a35801770c9e5a10c8164e7be6b300a" ] 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 = [ - "0x1b4a994db92f1d90daace9567c9e5b4110fbc648865f3b3f188a5842ad5fc625", - "0x0500889e036da769a433ab28f05106309f337eb0122fba7771af1d6fc5a9c7e9", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2964f25a6b1398a2cc69e9976742340a63925550e37fe90b35da611ed5b656f8", + "0x2e5d376afe4d2073f42e00029bd95a37b42ba8554244beb58e827f9a7c8a319a", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -640,94 +640,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003335c693efbc26a0d9cd396d00299b9e29", - "0x0000000000000000000000000000000000165029eaa93f8ff1d524a4d1ad1f61", - "0x00000000000000000000000000000050c8dfa0d10e590be97a3e3d00e7e434cf", - "0x00000000000000000000000000000000001695511821c1938efb560bbd87a8b3", - "0x0000000000000000000000000000002c57cba7f23db0356c120858bb435f1ab9", - "0x0000000000000000000000000000000000061c7822fbd026ad280ee7d89dde55", - "0x000000000000000000000000000000dcec7032fd87600d2c88d8cfba4027e106", - "0x000000000000000000000000000000000027c8de9c178f8f168aa54b93f7a012", - "0x0000000000000000000000000000007f75375b68057545cf794e3bbfb20250a2", - "0x00000000000000000000000000000000002e25adec067b1cee03f6f1700a5dd2", - "0x0000000000000000000000000000006c1d07af214a622abe34cc5737a41c205d", - "0x000000000000000000000000000000000029f7d1ed914a5a97f875d4da1505d6", - "0x0000000000000000000000000000001987b3744b1ca056c67f0a7838963ba13f", - "0x00000000000000000000000000000000000ab965442fb4759950b35857ecae9f", - "0x000000000000000000000000000000b535b58d84f7d03c669db183b51a5c787d", - "0x00000000000000000000000000000000001c513024a2a9357cfd4eb62d2f5d0f", - "0x00000000000000000000000000000063544b66d838f2bbbc3687f00b72c503ae", - "0x000000000000000000000000000000000029cbc69d82f847e8e817a068ef213f", - "0x000000000000000000000000000000d27c010ab3d112fb1f9c6d72b2e7976e6c", - "0x000000000000000000000000000000000027b93beba1bbb970a737e420e7a6e1", - "0x000000000000000000000000000000f7660ef8ba6cd4cbde2a22688535ba2c59", - "0x00000000000000000000000000000000000ccaeb3ea7fd5867a49427d8ec0d33", - "0x000000000000000000000000000000aec6edd4f793a0c58b1675473992533579", - "0x00000000000000000000000000000000002b33d1ece54cfb014ab1aa0fbfb245", + "0x0000000000000000000000000000003282a82bf30cec1f184a091b1da77e2db0", + "0x00000000000000000000000000000000001b8909962a6ac7fadab0f81df29e30", + "0x000000000000000000000000000000fb98d35dd83cf224ee0f96c43a01fec08a", + "0x00000000000000000000000000000000002ff0e64a564df9762cca6c25ec40e7", + "0x000000000000000000000000000000dcfe4705c0738e002cf458b6967b0e3b4b", + "0x0000000000000000000000000000000000184d19e0c4da53e87f3ab101c8b740", + "0x00000000000000000000000000000089effcdf67d7b72d3c6937d9b00fb4c0aa", + "0x00000000000000000000000000000000000b217d2c88a38a13ea7257fd8ba9d1", + "0x000000000000000000000000000000f9487bd735551c6c4039f83aca0390a240", + "0x00000000000000000000000000000000002474c8bf3d41dbdf1b5c70c68ee451", + "0x000000000000000000000000000000eb5bec08f5acb216e1add8564ad1ce2d8a", + "0x00000000000000000000000000000000002957badd71c8fe5e7044922b034eba", + "0x0000000000000000000000000000007decce6adaae5283558b15dfdb01578bd4", + "0x00000000000000000000000000000000000167c01b4c60264fedcf70bfaea418", + "0x00000000000000000000000000000084c03c13d9e8a234c2b13bd337e964826a", + "0x00000000000000000000000000000000000a97f261a7e1f313bc144e0a6f243d", + "0x00000000000000000000000000000063612b8543b7bc577b4d1b91b28d4a8e10", + "0x0000000000000000000000000000000000240c2481357f59dee009b99db1e82f", + "0x000000000000000000000000000000979d8a92287aefb12d015da4675ed0704f", + "0x00000000000000000000000000000000001ffe2539ec7d6b1595a1c99415527f", + "0x000000000000000000000000000000758fefafd48df94f6e2487682b6ae983d6", + "0x00000000000000000000000000000000000baa326a190c3dfb355cb7f4d01637", + "0x000000000000000000000000000000d00588442c50698fd40829eca94d127598", + "0x0000000000000000000000000000000000195372046d772d0f86f66e0f205f64", "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x0000000000000000000000000000004f97cfc54a9b55ec87f012780a4f2204e6", - "0x00000000000000000000000000000000001ac5810a116486d4ec8df7c9add404", - "0x000000000000000000000000000000d1db4432151134ed394865886735c50b51", - "0x00000000000000000000000000000000001afdc512cd8ade328fd11e7d6e4578", - "0x0000000000000000000000000000002d6474c3c25a22360c2f2ffab7f8c73898", - "0x000000000000000000000000000000000027810c414bdf67f9f74ab04b372a6a", - "0x000000000000000000000000000000d9be8be915cdc1786bc47cfb04aa0d28f7", - "0x000000000000000000000000000000000007b3092c43d01052f5c90479d9e6e3", - "0x00000000000000000000000000000028a53a0258cbb5e7ffce23bd2fb21a1357", - "0x0000000000000000000000000000000000021e1235a8dcdec369e1bf5f19a8aa", - "0x000000000000000000000000000000de3b72f4ad455313d5f06dd321e396dccd", - "0x00000000000000000000000000000000001d6b530ab1195bd00b6eb11d58bdcd", - "0x00000000000000000000000000000046d1fc79643dfc57cb53c3a0280f63510b", - "0x0000000000000000000000000000000000288534a88f9492643b8ed0ca92938c", - "0x00000000000000000000000000000006a1f9ea315797827b13c484f39e2e36a2", - "0x00000000000000000000000000000000002a26ef9397d1db0d35e35328d91342", - "0x00000000000000000000000000000070585def5740b92b7394d775a88a38dee7", - "0x00000000000000000000000000000000002c210c73fc0bf3acdbd386c758bc61", - "0x000000000000000000000000000000740e4ce496fd34e5c49282de0645d99596", - "0x00000000000000000000000000000000001675f5d5a261866773712917ea7f50", - "0x00000000000000000000000000000039acf2711067403e133d54dba8e5f81343", - "0x00000000000000000000000000000000001a7920360aa8b10ce2043dbb47b6ec", - "0x00000000000000000000000000000068ff7e0628dc2bf6131554411b15af9bc6", - "0x00000000000000000000000000000000002f658510a273be4ef454408141a937", - "0x000000000000000000000000000000e102688d581ffd20404afe4c1deb24feac", - "0x00000000000000000000000000000000002b3d977dfcda793a0dd95c3f719812", - "0x00000000000000000000000000000001ca649a20e558bd2df17e902bb2e66700", - "0x0000000000000000000000000000000000038abc5c529db08a00e68697fb9bdc", - "0x000000000000000000000000000000597341e64d0b828fd793cd7b7121ca36d0", - "0x000000000000000000000000000000000007be643219972102b9e3b366dec2d1", - "0x000000000000000000000000000000ceb0a8633f845309c0c00d80e0d62a250c", - "0x000000000000000000000000000000000011c2e4e22f16ec8f4d48610eeb19ee", - "0x00000000000000000000000000000031c4ab22ef6548679af9a32913498ad3c4", - "0x00000000000000000000000000000000002f275a2ec59ce31f8a9766827f7e03", - "0x000000000000000000000000000000a198c40eaf61c3a3fd010d7c8c6141a91f", - "0x00000000000000000000000000000000000f9ae5037cc77a0ca7fb80bd499bb8", - "0x00000000000000000000000000000043b5c686047e6bc6a62421c46047f2fde9", - "0x00000000000000000000000000000000002aeb180b7fe52566586c56592ed63a", - "0x0000000000000000000000000000008020206fbd772a0840778af661e3c069be", - "0x0000000000000000000000000000000000271d809093c1112c9c718726449c57", - "0x0000000000000000000000000000007d8771c26d79961a96058135aeb78380d8", - "0x00000000000000000000000000000000000e0d52d44b347a2112bb358fae8dbc", - "0x000000000000000000000000000000a0dbafc1eee7b313641736034acd2c7fc1", - "0x00000000000000000000000000000000001798f456c8c7b2da8df23761aef691", - "0x000000000000000000000000000000cf76a34e903f295e29f13a59d654828101", - "0x0000000000000000000000000000000000097debb39d4102a459a369d60e22ae", - "0x00000000000000000000000000000017545af66fe0000c74da92759560beb198", - "0x000000000000000000000000000000000029307075990d4cef1d0a3ac760e46d", - "0x00000000000000000000000000000067be97ba6a724e52f2ff10befcc271aa48", - "0x000000000000000000000000000000000029fe0c19bc172dce7c1f54d38fd770", - "0x000000000000000000000000000000d3fdf221f143287fe241f7ade9148845ef", - "0x00000000000000000000000000000000000ad7199afc8b2fe68042446e0cab1a", - "0x0000000000000000000000000000008932d1146b7aa6206cc538f7e130254c1c", - "0x000000000000000000000000000000000028e52b84337204996383778f0a3332", - "0x0000000000000000000000000000008383ffa129a3ba158fdece8fa8d0411313", - "0x000000000000000000000000000000000029f63ec13cc9391c44117b514608d1", - "0x000000000000000000000000000000e4ecb185b7d8b30fa8f7ce86cb2f3667ef", - "0x000000000000000000000000000000000020f972747caf9943cd949fe84af603", - "0x00000000000000000000000000000093295d23a02a9fe6e70443df02bf8636ba", - "0x00000000000000000000000000000000002c6efc98908577eeb300052d7e6588", + "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", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -748,12 +748,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a18dfd62c77822392c78c29522ffeb71f9", - "0x00000000000000000000000000000000001b8d5a177f3b3b5c6e1bda450c6f01", - "0x000000000000000000000000000000d8ddefaf49d80d3ef3bff82ae75616bcf6", - "0x00000000000000000000000000000000000e517e52cfd0af6a1f1e9393b9c99e" + "0x0000000000000000000000000000005731ae82e63921dabe0e791def7fc8b00b", + "0x0000000000000000000000000000000000161e32db4438bf8dced853521ef820", + "0x000000000000000000000000000000987ff8635294c176be990106a511d04190", + "0x00000000000000000000000000000000000bb6a844fbba3efac3aed4c793dc9c" ] - hash = "0x0a3efc27677df2f58cd6e3a87f7036e2e8264889a8d0e16d181249fdd079e71d" + hash = "0x02febbf5e834840fbf4d9be285794b443d6c364b95f39d7552acb1b08d131a77" [[inputs.previous_rollups]] proof = [ @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x2b77a2666cd5319fb4e1f8900dc3214355bcfd042484c6ed831e291552b381e0" + block_headers_hash = "0x15ac6802794982eaff3e3ec974a547599c61440a6be414e689be2cfd1e412147" 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + 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 = "0x249a5f67235cc57358174dc36441cad7ad1eeaa8d90f368df1908ba70259d365" + root = "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000002" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x26d33791cebaaa9e71c8c3a7f730c3ade45ba68a60d4d9acc84d47f57bd9b390" + root = "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf" 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 = [ - "0x2417cff0d2c06e196b0a4e8f9abce35dc3530d47af623d52df1834c74bbbf660", - "0x1441c2a8b920383e9a53d60e0f2494903d31dd21c51c9c31f804472261eb3e77", - "0x2704e70419436efbe82b4c450bb8bf297c5530afed385951159ab99fc0fa4a09", - "0x2f23f97f635935c3a9fb3d616ea4d1fad8571df020050e02285e23a4595a81c5" + "0x1a74ff032ae620c0f07c131712778ce545e2e0d87ed3ce855e5e490bbcd805d8", + "0x007eb8e5e9c4e4e432db874bb4ac0e2a990b5b87098ea24c42716a7dd03ef9ab", + "0x2563c6fbeacb77e44cd706bd60496b9a59a26d068b849293bbee419a763d75e1", + "0x0ca40344a9d927d78b30ec37788ea74c3a35801770c9e5a10c8164e7be6b300a" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4" ] state = [ - "0x074f00b409ad293785315184d0dcf110f9f77a35839ab0710cadd846dfbaf07c", - "0x145dbe0b5b90a29bae0f614f7924bde1ee7710fa8dda725d1813012f5eb86756", - "0x1754610657ec4a3aeb55cdc97a3efbffb680bcff0a3b0510bcefb1c2a28b22c4", - "0x085e9333a35453ecc3a32900c631cc167e1d8f1b9597771790d0e33c76a0b04e" + "0x0adf660e00555bcf5d77b0cfe9c5aa131235569aae931b981291ee9a349ec479", + "0x1b8118e91a510ef51da9258674006942ae64836d511908ce5c66ca18aa86e72b", + "0x24ed4cea60aed332d8fc271dd7a99f0dc1c2f6386c8e884fa43e9510526b5cd8", + "0x0742e3139758c4aa10be96766e5e25d48a48c7a7b6097fe02635ca95d81c48bf" ] 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 = [ - "0x05f16e0901d5c3a276ac718f34860a4501ed510fa6247477ce16e556d723c522", - "0x0b6b4fd929a33cb6f069d044805d8765ba687714a53237fc9faaf65ce16bbefe", - "0x2d3996f628e5e3ca4f90c6c9404b7a75015b3a2accf32c68e0052f7510de1850", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x0bfde7f50b59998fe565f59398f58b1f5bcc0e7ba275bd35e5a2e0c8d38fb522", + "0x138019b15179e54b1225f536e24c39dbff83f071921a796ed02d107990e4abf3", + "0x0d49b977bc426497c9d51a719fc968f4e28389d7fd90905cf44eeae89996775e", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1397,94 +1397,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000014", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000497b15c7ad137d20081fed0c82561fc805", - "0x00000000000000000000000000000000001968f456e484f497df68203af87215", - "0x0000000000000000000000000000007b5f6c8565c4a066be858648432bd3c6d9", - "0x000000000000000000000000000000000024514e18f4cb34f457bfdf2355a6ab", - "0x00000000000000000000000000000051d293ee807617e236b0f3cd4e83561bd0", - "0x00000000000000000000000000000000000e427082c7626a400cd6f6151fc465", - "0x000000000000000000000000000000bf93ccf255819218bd179c8c5d216c65d5", - "0x000000000000000000000000000000000012893fbe10014fabc1355dc76e59ac", - "0x00000000000000000000000000000093f54f92aa1cc824ea5bdac8adb4c4e33a", - "0x00000000000000000000000000000000001a76a0b3e5345081d8480853bafa02", - "0x000000000000000000000000000000213a1ae1240234c85798f9a09223d33ef9", - "0x000000000000000000000000000000000022a8fcb079acec2d5449de99c12b7c", - "0x00000000000000000000000000000025c20397c63eaff4f766281b7d379270d6", - "0x00000000000000000000000000000000002273405f78cfced0dc9d2dda815111", - "0x0000000000000000000000000000003eede326b5f8a6509cc76ba13e4e68096d", - "0x0000000000000000000000000000000000166101556b75a22faf768ce943878a", - "0x000000000000000000000000000000f008d013802626dbf4e953b1f5fe3d3473", - "0x00000000000000000000000000000000001317d3db46c77a920d0c4b9b41e7d3", - "0x0000000000000000000000000000008d9a98562ae74d4c8c627e1e2f3b0466fe", - "0x000000000000000000000000000000000001f55e16014c2bada933e91265caff", - "0x000000000000000000000000000000100df4f1dba56d97152c5f49024484af37", - "0x00000000000000000000000000000000002a6164d05e4da8ca0348c8fbff4730", - "0x0000000000000000000000000000008ec5060bb0e5b816f491d6cb75f96e6d2a", - "0x000000000000000000000000000000000029e60c49c047e6cda45c448ceb98fc", + "0x0000000000000000000000000000009575206080951c3ff1335d8f43f2af9e29", + "0x0000000000000000000000000000000000265b3df3a6f660e9e955603ed7ebf0", + "0x00000000000000000000000000000012475f22609266effa9d130c5e2597016a", + "0x000000000000000000000000000000000023788c27cd95b400312d3f0efb2165", + "0x000000000000000000000000000000bca1bfec38d9cf2d2373008a84545b1302", + "0x000000000000000000000000000000000016e991839e463588c8c018b40a2d31", + "0x000000000000000000000000000000a90a979e675fab13ae05d123c7f47629e8", + "0x00000000000000000000000000000000000e7170c149584df3b55f322eb09966", + "0x000000000000000000000000000000564a93625a447029468328eb2144820ab1", + "0x00000000000000000000000000000000001c0a081ad76a187e97c331773805fe", + "0x000000000000000000000000000000a68aa566acb9e20d5e35ffbcee47a93732", + "0x000000000000000000000000000000000015d1c4890e6b4878356f7f9ab7914b", + "0x000000000000000000000000000000f9bf690971a7635df25fb6a046a487bdc0", + "0x000000000000000000000000000000000004dc4c1b9fff274eaa395ba110d149", + "0x0000000000000000000000000000004697a83ef3a028f007e564b9dd8fe941e5", + "0x00000000000000000000000000000000000b72a467be3fb3e66a72f75f558902", + "0x000000000000000000000000000000bd5a8291c2f760597a90b7ffeaf0dc1ad9", + "0x0000000000000000000000000000000000166434e244cc91ea5f990894fd4db9", + "0x000000000000000000000000000000730cb08c97c1d7e3d65ee6192a86ae6588", + "0x000000000000000000000000000000000011f76acffcfc122e68e4eb026b3af9", + "0x000000000000000000000000000000222c7ea3e7b8c501f77ad32c35905ff4fc", + "0x000000000000000000000000000000000001694eea7c614ad31ec2c5940d8e3c", + "0x000000000000000000000000000000e084f4295c43b4d1c148184e1b9f0fae04", + "0x000000000000000000000000000000000004b8b67ed547cc4e900c892e8a6bcf", "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x000000000000000000000000000000ea1e5847562b99c7edc833dda1c335571b", - "0x000000000000000000000000000000000009d43fb739dbd90941911a2333f1a6", - "0x00000000000000000000000000000047e47129cdfaf31086510cd3faff8400ca", - "0x0000000000000000000000000000000000003a3dc255b5642d67654ee060fa72", - "0x0000000000000000000000000000001bdd8a3abf29fb2969e860152e3bdcbd83", - "0x000000000000000000000000000000000008404ee66b916f473fc01b4fd88bb7", - "0x000000000000000000000000000000d5abcb043d9a0c46225ed289a4449a7ecd", - "0x0000000000000000000000000000000000277e7c68b03825bddcf0b9eb0ce80d", - "0x0000000000000000000000000000005f1fe4f7de277f49c1ae065675490da96d", - "0x00000000000000000000000000000000000393c3eea8036ca15967c5ad454c5c", - "0x000000000000000000000000000000166ca6e6becd77ebbf15fc2de5b0d13a8f", - "0x000000000000000000000000000000000008a9029f216594aec0f5d3059accba", - "0x00000000000000000000000000000073677509803ee4498b86f4f41281fa9c12", - "0x000000000000000000000000000000000008652dd6a324a156a0a5f64c92b3ca", - "0x0000000000000000000000000000004ee367c45ca873be9e3b3580c5e4715b91", - "0x00000000000000000000000000000000002bd64ca87e3c194b71327a1166ed61", - "0x0000000000000000000000000000002ed1a721f233f7d1c317b2c1fffc54b9ed", - "0x000000000000000000000000000000000013d36d7acc92cbc320360096440372", - "0x00000000000000000000000000000090dc718e23f58fdad866390d5529244afe", - "0x00000000000000000000000000000000002d20bbc4af8ee60191eb63eb0e5dcb", - "0x00000000000000000000000000000063b926b882cfd571eeb90591b5af85c7f1", - "0x000000000000000000000000000000000005fb11e48f66ed8a592ad25648a3fd", - "0x0000000000000000000000000000003799efd863b02c442d5c5c6b3046a24178", - "0x00000000000000000000000000000000001d2b69dac63b621377a619437f1050", - "0x000000000000000000000000000000958a9d4ca9b5ef618235eea12533b875d6", - "0x00000000000000000000000000000000000815942c8f5d8f151aec073339c99f", - "0x000000000000000000000000000000d13e84f309f8d53b66894abd22263804fb", - "0x000000000000000000000000000000000024686ca7f3f191bc06fc154a69bac2", - "0x000000000000000000000000000000f776e22936b11d26a5cf36aefc0bf3f0ee", - "0x00000000000000000000000000000000003060cb526357ca3c33a5d3315babd3", - "0x0000000000000000000000000000007e438b6387f5ad774d51a7f6390dab68ea", - "0x00000000000000000000000000000000001837b4572421253119c56ced95d6d3", - "0x000000000000000000000000000000315ece979bf96ff062c0296b757cace9fa", - "0x000000000000000000000000000000000019aab0b018f1c0a8cbf7e2d5617da4", - "0x00000000000000000000000000000013b659c6e341f1c7ad12acce5a3caa32cb", - "0x00000000000000000000000000000000000b20ea28b8a6ea9b1f507c192a3807", - "0x00000000000000000000000000000068615e698a7fe85c5ae9f40efc93788178", - "0x000000000000000000000000000000000023dec7f6076428701f8c0282556908", - "0x0000000000000000000000000000009e97fd87d8339438dbb9496f096e1039dd", - "0x0000000000000000000000000000000000108573a29dda3722a85da5391d25a8", - "0x000000000000000000000000000000458bedf0bf14cf1c93687ee90791462171", - "0x0000000000000000000000000000000000162db8d392165bc3b64d622b66b7c5", - "0x000000000000000000000000000000601177df04f359efcfb2cf47531b461dc7", - "0x000000000000000000000000000000000001d8e9d63696b50bb880985b76d9e2", - "0x000000000000000000000000000000269a117675f52e4a1d390ac7f092c69793", - "0x000000000000000000000000000000000025ec29ea8aa7466889dba5cdc9affa", - "0x000000000000000000000000000000c7235c38b082791de660547a1c1bc6a747", - "0x0000000000000000000000000000000000217faac22fb937b575199671764068", - "0x000000000000000000000000000000737105a4760171df6079785dd504ea82c6", - "0x00000000000000000000000000000000002a5d79bb60757c12fae87d7e451484", - "0x0000000000000000000000000000003cc0ae03f0ab6798a18b5b8ebcf863c665", - "0x00000000000000000000000000000000002040bc66a0ee21ca4c70d6bbb79ff3", - "0x000000000000000000000000000000ef0ec3246e29165666dd008b38cdec391f", - "0x000000000000000000000000000000000012161c36557136b2c12053c49efd1c", - "0x000000000000000000000000000000b30b42a7ca3a91f7597319426bb9cd53e1", - "0x00000000000000000000000000000000000c9ebe680db32052e1b00ae43de51e", - "0x0000000000000000000000000000004390218cd843fe5aa61263822fb2025420", - "0x0000000000000000000000000000000000025b86a7d93788e7a7856d53f620be", - "0x00000000000000000000000000000059bb807266c7f6166cf79492abb075b2d3", - "0x000000000000000000000000000000000013e0db98fb17f39f76b72b1ec733ca", + "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", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -1505,9 +1505,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000089980b9f828279f3d1638bd5c62a9401cc", - "0x000000000000000000000000000000000022bc9cda28e5ef2b707bbacd3b2c10", - "0x000000000000000000000000000000720e8a918d16fd51f8fa52e4ae6bef250f", - "0x00000000000000000000000000000000001eff9afcf9cc050c85b1cd5f8a9777" + "0x000000000000000000000000000000776c10e820bc2b5b6eddb50ea81be93c9a", + "0x00000000000000000000000000000000001ec13b6ff08118a64295e9060deb6d", + "0x0000000000000000000000000000009e6161d79d469e866db04e4116d36a7c14", + "0x0000000000000000000000000000000000247d4633ba1b1ab90c9e569789e61b" ] - hash = "0x1547c766f8159586d4d93b5da7435905ad603fbff5c99aea57a8300d997aa8dd" + hash = "0x0f525cc42266f817e0c7419eba7fdbc52b74afe2a2cea460d976bba4981779e3" 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 df0c868fc22f..dd47b928240a 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", - "0x01cba65605b2b22ad8163949f491b0205c8681d041fdd5a49bbacbe8faec9dc1", - "0x2a38c03df1e861f31170668daa5ffe2b4562a1263b1e305db1879b084927bc82", + "0x1ee6b112672ac1c43acf4b8a2bd32e94346c237ab5e106a38a51c81202496e45", + "0x0db8cbd95ee2bf6f6aa91946898b0b2d4e3f6717c534a8c15d6212eb293aec08", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -536,94 +536,94 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000000b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000035754e3e26466f1e60983bb2f47008d4da", - "0x00000000000000000000000000000000000a5303030f7f5eeb79d65ac28754e4", - "0x000000000000000000000000000000b3be4ac79f5ac4e0ab310d3af85bba74c2", - "0x000000000000000000000000000000000024ccd761712fcb0bf98be1260c5eaa", - "0x000000000000000000000000000000aea1d55c9b320e3b68c6f6195dfd5d1ad2", - "0x000000000000000000000000000000000000b16fe8353e36974fe3507c954b76", - "0x0000000000000000000000000000002ca691c6cf6e5ac4e41f427e52ec94f0ca", - "0x000000000000000000000000000000000004ff18ea7f4f046fb7345b9510c2e5", - "0x000000000000000000000000000000b3091f62ad7bf8f749ad298dd46bb9a4db", - "0x00000000000000000000000000000000001576d7d41ac51c390d93abd2d7941f", - "0x000000000000000000000000000000da9109ea51e037ff047ec8da03254cc20d", - "0x000000000000000000000000000000000003a9d844c37ec0f858c3b225e7b1c0", - "0x000000000000000000000000000000fedff5416d78c6b8726fccf803060e2e85", - "0x00000000000000000000000000000000002bf308d8c537674622c8d2509b11fc", - "0x000000000000000000000000000000c3994cbdb28e5f7153f569e99e7b827d2f", - "0x000000000000000000000000000000000001223de792154acda719c1d44dcb3f", - "0x0000000000000000000000000000009c1f823017b70a570a3d514718d5c7e8c7", - "0x00000000000000000000000000000000001069106242e8374a3e0b8292f2eefa", - "0x00000000000000000000000000000013cbf755278f71a09951f5b009d1e3dd78", - "0x0000000000000000000000000000000000199694c090cdb28b25810d0a3e5798", - "0x000000000000000000000000000000e54075423e639ae19ff310456b9e3e8ea8", - "0x000000000000000000000000000000000007ab4358d5680ea19bd2be47bdb8df", - "0x000000000000000000000000000000d0f9d548a18c8073de782b98f2a31a7f49", - "0x00000000000000000000000000000000000f6b65cef10233cbc23ed34c842c12", + "0x00000000000000000000000000000084284fde6a68ae90f6e8ac71ae351172e5", + "0x000000000000000000000000000000000008a6b2119be559b31e274379cdd2a0", + "0x000000000000000000000000000000b90a379ecbaeaff50ad88520e47d8f66f3", + "0x00000000000000000000000000000000002a689f3ed0320f104adab4d0a74206", + "0x0000000000000000000000000000006f26d90fbc8e8591f736dcd98a72deaedd", + "0x00000000000000000000000000000000000d3cb69edcb0031e4aff9e595d82c1", + "0x000000000000000000000000000000dc171ad5eb0e2aae1037bf7d0a070ad2ae", + "0x000000000000000000000000000000000021d7911dad342dd5f305227f6f3c39", + "0x000000000000000000000000000000cd82524d2bb0bf5daa837188094d8e31ba", + "0x000000000000000000000000000000000025a65794a2b69cfb8f068b6ed067e6", + "0x000000000000000000000000000000c76b59c1bf7331f8883c6cbabd19572850", + "0x0000000000000000000000000000000000055a6777e9046d1189ee65bbb9d907", + "0x000000000000000000000000000000a88ecd03dbc91db451cc10ff9bf1edb4ed", + "0x0000000000000000000000000000000000108807e25eb9f893a07dab798d0f7b", + "0x000000000000000000000000000000329bbf96693c9d1f332ad0f2c4b5bdf148", + "0x00000000000000000000000000000000002b12e712cbcda430af636813b355ad", + "0x000000000000000000000000000000b1f7c5498ca271c97629579a853fdf8b99", + "0x00000000000000000000000000000000002b0b6a6638b1345cf01718aa16fb4e", + "0x000000000000000000000000000000facc788a35aa4d89f116329c35cacfc31b", + "0x00000000000000000000000000000000001ef05f12be807e1347c9c6c0508ee1", + "0x0000000000000000000000000000001174cbfe45225c042000bf707c42b9e4e2", + "0x000000000000000000000000000000000016c8a90f528a296a68f1e694c96d6d", + "0x0000000000000000000000000000003e2da5c8b91fa9f36fd2bbc3fbce904319", + "0x00000000000000000000000000000000000ae02ed2a23258389452931db74b93", "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x000000000000000000000000000000eb1d3900ec0942316cf350c8e6e38fc2ad", - "0x000000000000000000000000000000000016fd8a97ed07a826bb1a80a7aab0b8", - "0x00000000000000000000000000000011c8fd5b15b066372f23bb44490f6caf9c", - "0x0000000000000000000000000000000000226c2c5ef5b1ae82234500278b21b1", - "0x000000000000000000000000000000d58d09ebb0c159e8599ec32e7944de2330", - "0x00000000000000000000000000000000001d6b07740ec743555c285904214717", - "0x0000000000000000000000000000002616513cb88a5fa4f89867df845a55b652", - "0x00000000000000000000000000000000001808a5c0a107be39624caabf6d6cee", - "0x000000000000000000000000000000ec37772ea04cfdbfb3d501daf22dd8b8de", - "0x00000000000000000000000000000000001b4b7dbf1ff1ccad38bc77718f97ed", - "0x000000000000000000000000000000f7d35b58ed2831a09c0e96d02874f1a386", - "0x000000000000000000000000000000000026801acfc6db9bd4843812d2ea13f2", - "0x000000000000000000000000000000b579b8b40b376b8e16211f9420830d934a", - "0x000000000000000000000000000000000002f74143fc69c4922e85b58027fdcd", - "0x000000000000000000000000000000fafd7bbb297c99dfabd0711b0986ecc166", - "0x00000000000000000000000000000000000979f0a19283600ea72ba0b34cb4e1", - "0x000000000000000000000000000000dbff972009f3408e5a65ec270cf5684e4d", - "0x000000000000000000000000000000000020f9b0a2adec360e3f2b0623ce6660", - "0x000000000000000000000000000000126a1710ab564e57cbc524d0d5771517ea", - "0x00000000000000000000000000000000001079ea71f2c77d34908979ca322501", - "0x000000000000000000000000000000d019446dc54747da63d1dddc5047da2432", - "0x00000000000000000000000000000000000d127051ec695a925921a3b0021666", - "0x0000000000000000000000000000003c3fd9ddb912c16b523eaa7da0124c5191", - "0x000000000000000000000000000000000013fc649f087671188aae276e343ed0", - "0x000000000000000000000000000000b4e12b0921dd1e035dd3e840e102ad1af9", - "0x00000000000000000000000000000000002d2c599f2c98643045e414d4f4e531", - "0x000000000000000000000000000000f550e079ac71eb3125b89ff61f196105fd", - "0x00000000000000000000000000000000001c5efb41a464dcc085c9789fdbc4fc", - "0x0000000000000000000000000000006201b56454fa273af236ba3036dc68043b", - "0x00000000000000000000000000000000002e8918fe67749a0fdf9f1ea91691b5", - "0x0000000000000000000000000000004a6e94b47149f85b71e6b88bacff5e1174", - "0x00000000000000000000000000000000001af2ef736385c64c0f2ea0e327ab62", - "0x0000000000000000000000000000002ea7a17d3b4e42375487f583ee0c69c3fc", - "0x00000000000000000000000000000000002f0b1b120d8b9cb3c5d0a65eb7560b", - "0x000000000000000000000000000000fb75f9d0bb3253e86c1353c382babcb844", - "0x000000000000000000000000000000000016da09291e4974949404e7351a3bb8", - "0x00000000000000000000000000000093f6eb89f7c5fcd248f61c829e5984290a", - "0x000000000000000000000000000000000004a67832ad011232bf238d2f98846a", - "0x000000000000000000000000000000c9f14653d4579efae3eda3bccc3fda3664", - "0x00000000000000000000000000000000000269037fd682b96d325a325e6e25ef", - "0x000000000000000000000000000000f9739a85f3dafe8512b7b7790f0b661083", - "0x00000000000000000000000000000000001e8468d3f1c7f7249ded77c54ab3d7", - "0x000000000000000000000000000000f432f3d23b4685eeb604357c5b0b14a7ba", - "0x000000000000000000000000000000000002aeb2c79da9b55ac9f588b55b47ff", - "0x00000000000000000000000000000005e7ef809746efc66f889021729ad32a1d", - "0x000000000000000000000000000000000015c246461dcf7dc8b10e6e547edab1", - "0x0000000000000000000000000000005cc1de933d27d7e2571d89b246742a722f", - "0x00000000000000000000000000000000000e623475e191418115599439fce07f", - "0x0000000000000000000000000000007b7db0a18320025fe35498031e1b8ed933", - "0x00000000000000000000000000000000001d3fe2a6c17d28eeff391365ef45cc", - "0x0000000000000000000000000000005a3e161adf3ca74b9aa712fbf6cd7850a5", - "0x000000000000000000000000000000000029cdfc588a5aaa45065617d4280caf", - "0x00000000000000000000000000000023ee0a71c776d53e964cca2b8198cf7829", - "0x000000000000000000000000000000000020bead22ef59a2d0a7cee62cc9150d", - "0x000000000000000000000000000000773b2a14bfb88f30fb9f73519cb6b95502", - "0x00000000000000000000000000000000002863c82bcc4c7fabaf17b052c3ddd0", - "0x00000000000000000000000000000019768868ecb8886e2503b81623080a2fb6", - "0x0000000000000000000000000000000000000b61fee2078174d3afef76a2384b", - "0x0000000000000000000000000000001e52edf9c0b3f2103280eef7c3119669dc", - "0x000000000000000000000000000000000003bd7a3f4676b2d2e869cf482dc730", + "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", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -644,12 +644,12 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000073c26650167526959b9dbad5d5850b1596", - "0x00000000000000000000000000000000000208e3e7e788b5d41c46bfa4b34d26", - "0x0000000000000000000000000000004855a042bf5c3e307ca4de1641772b42aa", - "0x00000000000000000000000000000000002d9c6d14839e7ed95f5b50075eb29a" + "0x0000000000000000000000000000007e0c6cf2276b3ee8d79b99ba0e2302a2f0", + "0x000000000000000000000000000000000010ac1dfdfc5a472271e8aafa5e8ac4", + "0x0000000000000000000000000000001070efe3be32b556bfa141a85bf85d42fa", + "0x00000000000000000000000000000000000cf51138cbb12a99d2933bc3e7ed1f" ] - hash = "0x09f6a0ffa0b283c9ff109bcbdc938b287536baf3d552ec7bcacf53512aa61326" + hash = "0x26393237eb1887f1c0ef7bbe4ac346497caccb8cb952770a056f100641049eef" [inputs.previous_archive] root = "0x1d2b0ace7ac4fbf52963e9b24dcc562a0da10fa52b4fbf5e55b2b6d587d8bae4" @@ -674,8 +674,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000000000" version = "0x0000000000000000000000000000000000000000000000000000000000000000" - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + 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 98719b445412..feb7eeeb8414 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 = [ - "0x0e41407e800714e898b67c911dbd9d805f2dc27f2780e524964e16d234683ddb", + "0x178e115a38f768372563ea577a0b49c6f9b8f1a436fb91eb63b9bc061574ab8c", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0eae030a63bea769b379d51d609540d3c3dec7cc75876923338916ad3253b890", + "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", "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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", - "0x01cba65605b2b22ad8163949f491b0205c8681d041fdd5a49bbacbe8faec9dc1", - "0x2a38c03df1e861f31170668daa5ffe2b4562a1263b1e305db1879b084927bc82", + "0x1ee6b112672ac1c43acf4b8a2bd32e94346c237ab5e106a38a51c81202496e45", + "0x0db8cbd95ee2bf6f6aa91946898b0b2d4e3f6717c534a8c15d6212eb293aec08", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -535,94 +535,94 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000000b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000035754e3e26466f1e60983bb2f47008d4da", - "0x00000000000000000000000000000000000a5303030f7f5eeb79d65ac28754e4", - "0x000000000000000000000000000000b3be4ac79f5ac4e0ab310d3af85bba74c2", - "0x000000000000000000000000000000000024ccd761712fcb0bf98be1260c5eaa", - "0x000000000000000000000000000000aea1d55c9b320e3b68c6f6195dfd5d1ad2", - "0x000000000000000000000000000000000000b16fe8353e36974fe3507c954b76", - "0x0000000000000000000000000000002ca691c6cf6e5ac4e41f427e52ec94f0ca", - "0x000000000000000000000000000000000004ff18ea7f4f046fb7345b9510c2e5", - "0x000000000000000000000000000000b3091f62ad7bf8f749ad298dd46bb9a4db", - "0x00000000000000000000000000000000001576d7d41ac51c390d93abd2d7941f", - "0x000000000000000000000000000000da9109ea51e037ff047ec8da03254cc20d", - "0x000000000000000000000000000000000003a9d844c37ec0f858c3b225e7b1c0", - "0x000000000000000000000000000000fedff5416d78c6b8726fccf803060e2e85", - "0x00000000000000000000000000000000002bf308d8c537674622c8d2509b11fc", - "0x000000000000000000000000000000c3994cbdb28e5f7153f569e99e7b827d2f", - "0x000000000000000000000000000000000001223de792154acda719c1d44dcb3f", - "0x0000000000000000000000000000009c1f823017b70a570a3d514718d5c7e8c7", - "0x00000000000000000000000000000000001069106242e8374a3e0b8292f2eefa", - "0x00000000000000000000000000000013cbf755278f71a09951f5b009d1e3dd78", - "0x0000000000000000000000000000000000199694c090cdb28b25810d0a3e5798", - "0x000000000000000000000000000000e54075423e639ae19ff310456b9e3e8ea8", - "0x000000000000000000000000000000000007ab4358d5680ea19bd2be47bdb8df", - "0x000000000000000000000000000000d0f9d548a18c8073de782b98f2a31a7f49", - "0x00000000000000000000000000000000000f6b65cef10233cbc23ed34c842c12", + "0x00000000000000000000000000000084284fde6a68ae90f6e8ac71ae351172e5", + "0x000000000000000000000000000000000008a6b2119be559b31e274379cdd2a0", + "0x000000000000000000000000000000b90a379ecbaeaff50ad88520e47d8f66f3", + "0x00000000000000000000000000000000002a689f3ed0320f104adab4d0a74206", + "0x0000000000000000000000000000006f26d90fbc8e8591f736dcd98a72deaedd", + "0x00000000000000000000000000000000000d3cb69edcb0031e4aff9e595d82c1", + "0x000000000000000000000000000000dc171ad5eb0e2aae1037bf7d0a070ad2ae", + "0x000000000000000000000000000000000021d7911dad342dd5f305227f6f3c39", + "0x000000000000000000000000000000cd82524d2bb0bf5daa837188094d8e31ba", + "0x000000000000000000000000000000000025a65794a2b69cfb8f068b6ed067e6", + "0x000000000000000000000000000000c76b59c1bf7331f8883c6cbabd19572850", + "0x0000000000000000000000000000000000055a6777e9046d1189ee65bbb9d907", + "0x000000000000000000000000000000a88ecd03dbc91db451cc10ff9bf1edb4ed", + "0x0000000000000000000000000000000000108807e25eb9f893a07dab798d0f7b", + "0x000000000000000000000000000000329bbf96693c9d1f332ad0f2c4b5bdf148", + "0x00000000000000000000000000000000002b12e712cbcda430af636813b355ad", + "0x000000000000000000000000000000b1f7c5498ca271c97629579a853fdf8b99", + "0x00000000000000000000000000000000002b0b6a6638b1345cf01718aa16fb4e", + "0x000000000000000000000000000000facc788a35aa4d89f116329c35cacfc31b", + "0x00000000000000000000000000000000001ef05f12be807e1347c9c6c0508ee1", + "0x0000000000000000000000000000001174cbfe45225c042000bf707c42b9e4e2", + "0x000000000000000000000000000000000016c8a90f528a296a68f1e694c96d6d", + "0x0000000000000000000000000000003e2da5c8b91fa9f36fd2bbc3fbce904319", + "0x00000000000000000000000000000000000ae02ed2a23258389452931db74b93", "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x000000000000000000000000000000eb1d3900ec0942316cf350c8e6e38fc2ad", - "0x000000000000000000000000000000000016fd8a97ed07a826bb1a80a7aab0b8", - "0x00000000000000000000000000000011c8fd5b15b066372f23bb44490f6caf9c", - "0x0000000000000000000000000000000000226c2c5ef5b1ae82234500278b21b1", - "0x000000000000000000000000000000d58d09ebb0c159e8599ec32e7944de2330", - "0x00000000000000000000000000000000001d6b07740ec743555c285904214717", - "0x0000000000000000000000000000002616513cb88a5fa4f89867df845a55b652", - "0x00000000000000000000000000000000001808a5c0a107be39624caabf6d6cee", - "0x000000000000000000000000000000ec37772ea04cfdbfb3d501daf22dd8b8de", - "0x00000000000000000000000000000000001b4b7dbf1ff1ccad38bc77718f97ed", - "0x000000000000000000000000000000f7d35b58ed2831a09c0e96d02874f1a386", - "0x000000000000000000000000000000000026801acfc6db9bd4843812d2ea13f2", - "0x000000000000000000000000000000b579b8b40b376b8e16211f9420830d934a", - "0x000000000000000000000000000000000002f74143fc69c4922e85b58027fdcd", - "0x000000000000000000000000000000fafd7bbb297c99dfabd0711b0986ecc166", - "0x00000000000000000000000000000000000979f0a19283600ea72ba0b34cb4e1", - "0x000000000000000000000000000000dbff972009f3408e5a65ec270cf5684e4d", - "0x000000000000000000000000000000000020f9b0a2adec360e3f2b0623ce6660", - "0x000000000000000000000000000000126a1710ab564e57cbc524d0d5771517ea", - "0x00000000000000000000000000000000001079ea71f2c77d34908979ca322501", - "0x000000000000000000000000000000d019446dc54747da63d1dddc5047da2432", - "0x00000000000000000000000000000000000d127051ec695a925921a3b0021666", - "0x0000000000000000000000000000003c3fd9ddb912c16b523eaa7da0124c5191", - "0x000000000000000000000000000000000013fc649f087671188aae276e343ed0", - "0x000000000000000000000000000000b4e12b0921dd1e035dd3e840e102ad1af9", - "0x00000000000000000000000000000000002d2c599f2c98643045e414d4f4e531", - "0x000000000000000000000000000000f550e079ac71eb3125b89ff61f196105fd", - "0x00000000000000000000000000000000001c5efb41a464dcc085c9789fdbc4fc", - "0x0000000000000000000000000000006201b56454fa273af236ba3036dc68043b", - "0x00000000000000000000000000000000002e8918fe67749a0fdf9f1ea91691b5", - "0x0000000000000000000000000000004a6e94b47149f85b71e6b88bacff5e1174", - "0x00000000000000000000000000000000001af2ef736385c64c0f2ea0e327ab62", - "0x0000000000000000000000000000002ea7a17d3b4e42375487f583ee0c69c3fc", - "0x00000000000000000000000000000000002f0b1b120d8b9cb3c5d0a65eb7560b", - "0x000000000000000000000000000000fb75f9d0bb3253e86c1353c382babcb844", - "0x000000000000000000000000000000000016da09291e4974949404e7351a3bb8", - "0x00000000000000000000000000000093f6eb89f7c5fcd248f61c829e5984290a", - "0x000000000000000000000000000000000004a67832ad011232bf238d2f98846a", - "0x000000000000000000000000000000c9f14653d4579efae3eda3bccc3fda3664", - "0x00000000000000000000000000000000000269037fd682b96d325a325e6e25ef", - "0x000000000000000000000000000000f9739a85f3dafe8512b7b7790f0b661083", - "0x00000000000000000000000000000000001e8468d3f1c7f7249ded77c54ab3d7", - "0x000000000000000000000000000000f432f3d23b4685eeb604357c5b0b14a7ba", - "0x000000000000000000000000000000000002aeb2c79da9b55ac9f588b55b47ff", - "0x00000000000000000000000000000005e7ef809746efc66f889021729ad32a1d", - "0x000000000000000000000000000000000015c246461dcf7dc8b10e6e547edab1", - "0x0000000000000000000000000000005cc1de933d27d7e2571d89b246742a722f", - "0x00000000000000000000000000000000000e623475e191418115599439fce07f", - "0x0000000000000000000000000000007b7db0a18320025fe35498031e1b8ed933", - "0x00000000000000000000000000000000001d3fe2a6c17d28eeff391365ef45cc", - "0x0000000000000000000000000000005a3e161adf3ca74b9aa712fbf6cd7850a5", - "0x000000000000000000000000000000000029cdfc588a5aaa45065617d4280caf", - "0x00000000000000000000000000000023ee0a71c776d53e964cca2b8198cf7829", - "0x000000000000000000000000000000000020bead22ef59a2d0a7cee62cc9150d", - "0x000000000000000000000000000000773b2a14bfb88f30fb9f73519cb6b95502", - "0x00000000000000000000000000000000002863c82bcc4c7fabaf17b052c3ddd0", - "0x00000000000000000000000000000019768868ecb8886e2503b81623080a2fb6", - "0x0000000000000000000000000000000000000b61fee2078174d3afef76a2384b", - "0x0000000000000000000000000000001e52edf9c0b3f2103280eef7c3119669dc", - "0x000000000000000000000000000000000003bd7a3f4676b2d2e869cf482dc730", + "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", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -643,12 +643,12 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000073c26650167526959b9dbad5d5850b1596", - "0x00000000000000000000000000000000000208e3e7e788b5d41c46bfa4b34d26", - "0x0000000000000000000000000000004855a042bf5c3e307ca4de1641772b42aa", - "0x00000000000000000000000000000000002d9c6d14839e7ed95f5b50075eb29a" + "0x0000000000000000000000000000007e0c6cf2276b3ee8d79b99ba0e2302a2f0", + "0x000000000000000000000000000000000010ac1dfdfc5a472271e8aafa5e8ac4", + "0x0000000000000000000000000000001070efe3be32b556bfa141a85bf85d42fa", + "0x00000000000000000000000000000000000cf51138cbb12a99d2933bc3e7ed1f" ] - hash = "0x09f6a0ffa0b283c9ff109bcbdc938b287536baf3d552ec7bcacf53512aa61326" + hash = "0x26393237eb1887f1c0ef7bbe4ac346497caccb8cb952770a056f100641049eef" [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 = "0x000000000000000000000000000000000000000000000000000001e93c240000" + accumulated_fees = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x06f86a3e00bc9a33987f5ae6acc22aa514d1b074d424856476dcc08f74adc993" + root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" 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 = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698f0119" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c27b" [inputs.previous_rollup.public_inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x00000000000000000000000000000000000000000000000000000000f49e1200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" [inputs.previous_rollup.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.previous_rollup.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.previous_rollup.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x1a525e446148941be7111209271581d9941d96727632f9a0be4c141889b20a65" +root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x026f82037ade696608bbfa36b14007b4278af6537ab38167c908ec5b43569684" +root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x2951a8c90dd612d425f3df97074c2a16b70e97b08b71f9e0a71ca041e7883e79" +root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" 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 = [ - "0x001588f47036afc3fa47df96d8e1ae047de1904fe66c98d2ba8a0593561c4977", - "0x00c7a8a393c28e2bce737b2894b8077e5430234e4993b850439dd70cf24f8745", - "0x005b476c579926d8c9f790ba8cdccecec53186ea43d445a4f21d46d30c699895" + "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da", + "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", + "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815" ] state = [ - "0x1e0ad96304e113a8a23065fa0e6a989ee33daa96f53fa08cbd9b73f511ed7b5f", - "0x1d5029b303969cc03c4a198f027386c15d79ffe26c7e6a739c9bf36586ed5813", - "0x0dd96e91ff795225e1880b02b1f510b7fe1ba2a1a602e0322b59061b8cad3fcd", - "0x26f2dcfa19d5ba618befa7de31a7d82dfeb185c6c1e34ff273249175045edfe5" + "0x25ab22a98cf791e903774e53097a27aef2530bad0a4c4b75f4b6beb3e0bfa333", + "0x2d275759ffb63ad08d911abb1d553d2416b6ccc5965fafc1ed5d54f3ddd86f6c", + "0x007683627e91ab673ca882150eb040cd4d4d72574bab7be05b03f5b6e2e9cf44", + "0x0c40af6a717340e96d1fe0ee0e40483b20ee61e1af1b157b98ab3bf564977a84" ] 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 = [ - "0x245f3ed48a54415acb0545ddee12fac7649e1ba43f91f67a1c5f227bc81b17a3", + "0x1ea20350d7d4a72d411fd4612502baa2f7d12c1fe355c8a54e23ea4b1b18d597", "0x24b1e9c91373bea77134353a519b13e7d9375bdc2ca58beca8290075c1ce7354", - "0x0b6695cb6fbdb0153b8740c989e741d865f25c7e24b6d265805d6df222c57fb7", - "0x1de0c6d93bb75f6734bc6754c1e32302fd1dd0a71916c430a192da3ac87b5c22", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", + "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1286,94 +1286,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003e72305969874dcdb58ecd9e3ff0c805b5", - "0x00000000000000000000000000000000002152e19936bd47f548bec8ca151efc", - "0x000000000000000000000000000000fb3e4ec3f430d7065ea713953e1929fbda", - "0x00000000000000000000000000000000000c5ec05c7981e6040cd4224e6507bc", - "0x000000000000000000000000000000a91f2fafa93d3d49b34e3e94328532ca12", - "0x00000000000000000000000000000000001168d5e4c9a6c56528cdb4093d4302", - "0x0000000000000000000000000000004068703e187cb9fbc31b63743acfc722d5", - "0x00000000000000000000000000000000002eb4c8184745c2f48e3f6989c4632a", - "0x000000000000000000000000000000f5d8db4f8c74eb6ab2d77b397bb5bf6eab", - "0x000000000000000000000000000000000019d68460a7b21d182b0abbb64ef7da", - "0x00000000000000000000000000000088d18b2ef82f169f23f3b547eeb480807b", - "0x00000000000000000000000000000000001e36d595631fc45918ddf7d1078dea", - "0x0000000000000000000000000000001a25ed8e23992cf94bef4d8259072e07e6", - "0x000000000000000000000000000000000022681d21e5c2df7a5ed797e6b413a3", - "0x000000000000000000000000000000bdc36795794547dcead5b00b003da5d68b", - "0x000000000000000000000000000000000023bbac012315c66f7ed89d0bc9c8ce", - "0x000000000000000000000000000000f8cf6326005553c6dee51b3af7fce4bf5e", - "0x0000000000000000000000000000000000171f3a3d463bb78960f3e1fe1a9d42", - "0x0000000000000000000000000000006a5f413811e3d5513759e57c48d5c55e61", - "0x000000000000000000000000000000000001f6a9a7bd2a81ded4fbc1ea83fe35", - "0x000000000000000000000000000000c904be04eef739b97de14953276329f8c8", - "0x0000000000000000000000000000000000245e91933a6e1b45e86b512fbd1dfd", - "0x000000000000000000000000000000919805c743c34313fa6459b67b576cf499", - "0x000000000000000000000000000000000012c7d962204d6779e1d3acd9dbf8de", + "0x00000000000000000000000000000023aab7f38f76e22eeb0860409793a5b684", + "0x00000000000000000000000000000000002d096dc24118c0cd1b48195bd02dc0", + "0x0000000000000000000000000000008151095143847d4faf14a0986e03674a83", + "0x0000000000000000000000000000000000173f43cb806e0111a53573f4575236", + "0x0000000000000000000000000000007293d8c5388d089dc5804e1402a594735c", + "0x00000000000000000000000000000000000acf230a990822aef09a9c6c595fb4", + "0x00000000000000000000000000000034285c217c9a06aaff3c567a7c5b43d1d9", + "0x00000000000000000000000000000000001e5a68bb55b1ad36dd4dc0395aaee2", + "0x000000000000000000000000000000078b2c693ed1bf47638608ae4a73c38774", + "0x000000000000000000000000000000000024abe027f33d8f61c82ec278481590", + "0x000000000000000000000000000000647cf8bdc84d8dd954b323c7f6eff83840", + "0x000000000000000000000000000000000007e86846b55615d19639ca59497159", + "0x0000000000000000000000000000002fd29ae741d1399ee7572c516996bbe0bc", + "0x000000000000000000000000000000000021d711dd6a7d53279ebdd9f393a996", + "0x0000000000000000000000000000007a0734026615d3cb4874a09cd7cb1a607a", + "0x00000000000000000000000000000000000a9eb7a817855a7aabb7b548a8e1c1", + "0x000000000000000000000000000000942dd6b46b51f04bf94a5eba8eb86feaa1", + "0x00000000000000000000000000000000002a6959e373dfb66122f1b4bcd27fd2", + "0x000000000000000000000000000000d29bff4f74fcbfa25b72e1b480ce50158d", + "0x0000000000000000000000000000000000294c6a05c177b5985931903826744b", + "0x000000000000000000000000000000e1008c343b94a0c4581d411831dbfaff73", + "0x00000000000000000000000000000000000918d5a48bbc6987e8d908b20f4ee1", + "0x000000000000000000000000000000b09768b2b7c16aeb3ae4e32d35722a83b1", + "0x000000000000000000000000000000000001f5f5a4fcd96188ff8dddd0fa8c56", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x000000000000000000000000000000a7417aab5dafb9dd5f8b19e91a00a487bb", - "0x00000000000000000000000000000000001e177be5e065d4da7adff4c107280b", - "0x000000000000000000000000000000451c352f89680baeb1340dfa6ab8cf7efe", - "0x00000000000000000000000000000000001d309894d32cdcdba4531b09d8d035", - "0x000000000000000000000000000000ff662030dc5e281d3bec3df545c6f6a135", - "0x00000000000000000000000000000000001d8b5d7c3147e459247b98a943e522", - "0x00000000000000000000000000000075ae7d450c3b45f11cb34defff1bba57fb", - "0x00000000000000000000000000000000001d5ff4d4006a12bbb25b2e03b21ffd", - "0x0000000000000000000000000000001f36c16090a57e14590dd0024d6831dd52", - "0x00000000000000000000000000000000000618aa0cab131deb2aeb1f8c2b7f4e", - "0x0000000000000000000000000000005968e0492fc8cbb24f2813cf6a7b3b7d3e", - "0x000000000000000000000000000000000021643cc2da67d543c21e36d7b11eee", - "0x0000000000000000000000000000009ae9c46088b76f5e85977dcefd47b6a2ba", - "0x0000000000000000000000000000000000186d0a943dd93e706021e7881b589d", - "0x000000000000000000000000000000b45d7f084c6c3acf7098afc8978b492dec", - "0x000000000000000000000000000000000026376213a8defcb6346dfcc7365b91", - "0x000000000000000000000000000000856e6d900d42ab0d990c96344ebd40ef4b", - "0x00000000000000000000000000000000000c464f8102a0b380fca75ea19effc7", - "0x00000000000000000000000000000058472d87635903511fceef8b6e96d04dd0", - "0x00000000000000000000000000000000001f72b59df18815f5d977d4667ef81d", - "0x0000000000000000000000000000001424eea612c70a7b2c89e09ce210d7ed2c", - "0x000000000000000000000000000000000015ff002f23b164d42be0505146fbc3", - "0x000000000000000000000000000000c8098a7917e065b4fe512caefadd8466ed", - "0x00000000000000000000000000000000001e15113d5c99834ce723b3cae490e5", - "0x0000000000000000000000000000004512040569b2f97cb9bdd95255ca16cec2", - "0x00000000000000000000000000000000001068208f07d4a82565544134e2e30c", - "0x0000000000000000000000000000001a8d135424ba71561de6e043227ed56adf", - "0x00000000000000000000000000000000001b835ca35aaf221c176342d9ff3b66", - "0x000000000000000000000000000000c0b09fef2858e045f4d337a97f8d72b539", - "0x000000000000000000000000000000000006f12e08b1f4780104cf52d77e34f2", - "0x0000000000000000000000000000000b3a30a5cc8308d51be40896138a4d87cd", - "0x0000000000000000000000000000000000117f856c63b3b4f8e5558fc5094c12", - "0x00000000000000000000000000000073e53f6677fb36d503eb6e07e56ff9226a", - "0x000000000000000000000000000000000025c6ea48c93dffe9c8d0509dd741fb", - "0x00000000000000000000000000000045aecbda8ccd0aca5b58a83a4659632fbe", - "0x00000000000000000000000000000000002577176ee3a0690c8fe3dd56aaa6dc", - "0x000000000000000000000000000000377350105c4e72cd72df3a6c998d0a2c85", - "0x00000000000000000000000000000000002197d007cfc2e740758a0ecd37d0b1", - "0x00000000000000000000000000000021f5fbea20929c67f3cf198adc03793844", - "0x000000000000000000000000000000000020ec96e7dc5dbf0b40aa8682633243", - "0x0000000000000000000000000000007c7f40b0b69d96637db027fb4baa6a38ea", - "0x000000000000000000000000000000000027b648d057496462ae0f20ecbffc79", - "0x00000000000000000000000000000069a7db0f05749dfefee010470ec6f07102", - "0x0000000000000000000000000000000000123e2cd6d3bde7949c1287fd41c398", - "0x000000000000000000000000000000aa29dc9af1f53c1270a387bd823cf214a2", - "0x0000000000000000000000000000000000055432c5b66a17713e098ca726e852", - "0x00000000000000000000000000000068ab9598bd8b01a7855dabc44d4b86327f", - "0x00000000000000000000000000000000001a6e002e80a3a49b5261410ec4ee05", - "0x0000000000000000000000000000008b2c355ec0989a503de9c1e7a9f954bac6", - "0x00000000000000000000000000000000001852cac860f8229ca1e9df8fecac95", - "0x00000000000000000000000000000094e80a139445da95c3b45ace1852ca978c", - "0x000000000000000000000000000000000017dd9a5afa847bc32e5af535513381", - "0x000000000000000000000000000000218427385bcf63f664724610eb435e44da", - "0x00000000000000000000000000000000000b2d00d3b2893609f2ca0d694b2ecc", - "0x000000000000000000000000000000acf59de670140947746a12886896355ca3", - "0x000000000000000000000000000000000014b14b2e12188e85935bc302b43b3f", - "0x00000000000000000000000000000017f20ebd704f130005087435b5af1790de", - "0x00000000000000000000000000000000000788233afd0bc7026e0ec5f0616cdf", - "0x0000000000000000000000000000004daf5f14db40102713dfe21852fb5e9890", - "0x00000000000000000000000000000000000abbeadd9055a1a1356e330cff75b7", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1394,12 +1394,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000738a0016418837745ff39ff2c96399e365", - "0x0000000000000000000000000000000000081dab7dd92c84ad3caa3f8176dd0f", - "0x0000000000000000000000000000006b2d732ca5b8a75000580f765ec0803fcc", - "0x00000000000000000000000000000000002d142d47f7af1d064076e158b16501" + "0x000000000000000000000000000000943bda9e0cfd1d60aba3c4c44490f8bd7b", + "0x000000000000000000000000000000000020f5cdefd9d41e95e335a3f456ac94", + "0x000000000000000000000000000000c3ca3f20c237ba21f847416fc28d9354d7", + "0x0000000000000000000000000000000000186707e3c7bd56601202f594e61a0d" ] - hash = "0x070f6de48cf45ee75522b9f1cdfa48c20eaf679d195df47e9c2394494d026498" + hash = "0x10b971e3828337a4a6c2587ad313c083719140b1d1dffb5a5cf0da770710a05c" [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 71d5669a53c6..16c90b9c88e5 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", - "0x23ca3a0648c57321581a38fda84ee98f928435e98385e8107933c8e0de87562f", + "0x1dfedfdc9ff095606167fb7518257c63783b04e0c9d2097d8509f4fd2a366319", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0eae030a63bea769b379d51d609540d3c3dec7cc75876923338916ad3253b890", + "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", "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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" [inputs.parity_root.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000016" sibling_path = [ "0x17822d3d846037c9aaf5cbefd011572b8d61d5383199bd3e1388a02fb68ab44b", - "0x01cba65605b2b22ad8163949f491b0205c8681d041fdd5a49bbacbe8faec9dc1", - "0x2a38c03df1e861f31170668daa5ffe2b4562a1263b1e305db1879b084927bc82", + "0x1ee6b112672ac1c43acf4b8a2bd32e94346c237ab5e106a38a51c81202496e45", + "0x0db8cbd95ee2bf6f6aa91946898b0b2d4e3f6717c534a8c15d6212eb293aec08", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -535,94 +535,94 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000016", "0x000000000000000000000000000000000000000000000000000000000000000b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000035754e3e26466f1e60983bb2f47008d4da", - "0x00000000000000000000000000000000000a5303030f7f5eeb79d65ac28754e4", - "0x000000000000000000000000000000b3be4ac79f5ac4e0ab310d3af85bba74c2", - "0x000000000000000000000000000000000024ccd761712fcb0bf98be1260c5eaa", - "0x000000000000000000000000000000aea1d55c9b320e3b68c6f6195dfd5d1ad2", - "0x000000000000000000000000000000000000b16fe8353e36974fe3507c954b76", - "0x0000000000000000000000000000002ca691c6cf6e5ac4e41f427e52ec94f0ca", - "0x000000000000000000000000000000000004ff18ea7f4f046fb7345b9510c2e5", - "0x000000000000000000000000000000b3091f62ad7bf8f749ad298dd46bb9a4db", - "0x00000000000000000000000000000000001576d7d41ac51c390d93abd2d7941f", - "0x000000000000000000000000000000da9109ea51e037ff047ec8da03254cc20d", - "0x000000000000000000000000000000000003a9d844c37ec0f858c3b225e7b1c0", - "0x000000000000000000000000000000fedff5416d78c6b8726fccf803060e2e85", - "0x00000000000000000000000000000000002bf308d8c537674622c8d2509b11fc", - "0x000000000000000000000000000000c3994cbdb28e5f7153f569e99e7b827d2f", - "0x000000000000000000000000000000000001223de792154acda719c1d44dcb3f", - "0x0000000000000000000000000000009c1f823017b70a570a3d514718d5c7e8c7", - "0x00000000000000000000000000000000001069106242e8374a3e0b8292f2eefa", - "0x00000000000000000000000000000013cbf755278f71a09951f5b009d1e3dd78", - "0x0000000000000000000000000000000000199694c090cdb28b25810d0a3e5798", - "0x000000000000000000000000000000e54075423e639ae19ff310456b9e3e8ea8", - "0x000000000000000000000000000000000007ab4358d5680ea19bd2be47bdb8df", - "0x000000000000000000000000000000d0f9d548a18c8073de782b98f2a31a7f49", - "0x00000000000000000000000000000000000f6b65cef10233cbc23ed34c842c12", + "0x00000000000000000000000000000084284fde6a68ae90f6e8ac71ae351172e5", + "0x000000000000000000000000000000000008a6b2119be559b31e274379cdd2a0", + "0x000000000000000000000000000000b90a379ecbaeaff50ad88520e47d8f66f3", + "0x00000000000000000000000000000000002a689f3ed0320f104adab4d0a74206", + "0x0000000000000000000000000000006f26d90fbc8e8591f736dcd98a72deaedd", + "0x00000000000000000000000000000000000d3cb69edcb0031e4aff9e595d82c1", + "0x000000000000000000000000000000dc171ad5eb0e2aae1037bf7d0a070ad2ae", + "0x000000000000000000000000000000000021d7911dad342dd5f305227f6f3c39", + "0x000000000000000000000000000000cd82524d2bb0bf5daa837188094d8e31ba", + "0x000000000000000000000000000000000025a65794a2b69cfb8f068b6ed067e6", + "0x000000000000000000000000000000c76b59c1bf7331f8883c6cbabd19572850", + "0x0000000000000000000000000000000000055a6777e9046d1189ee65bbb9d907", + "0x000000000000000000000000000000a88ecd03dbc91db451cc10ff9bf1edb4ed", + "0x0000000000000000000000000000000000108807e25eb9f893a07dab798d0f7b", + "0x000000000000000000000000000000329bbf96693c9d1f332ad0f2c4b5bdf148", + "0x00000000000000000000000000000000002b12e712cbcda430af636813b355ad", + "0x000000000000000000000000000000b1f7c5498ca271c97629579a853fdf8b99", + "0x00000000000000000000000000000000002b0b6a6638b1345cf01718aa16fb4e", + "0x000000000000000000000000000000facc788a35aa4d89f116329c35cacfc31b", + "0x00000000000000000000000000000000001ef05f12be807e1347c9c6c0508ee1", + "0x0000000000000000000000000000001174cbfe45225c042000bf707c42b9e4e2", + "0x000000000000000000000000000000000016c8a90f528a296a68f1e694c96d6d", + "0x0000000000000000000000000000003e2da5c8b91fa9f36fd2bbc3fbce904319", + "0x00000000000000000000000000000000000ae02ed2a23258389452931db74b93", "0x000000000000000000000000000000f0707fa498b915bb84481f22c68f82f852", "0x0000000000000000000000000000000000026e1e4979e0d760c48aba45674641", "0x000000000000000000000000000000ea45d31bd10dd18ccc02388e6f8b291dcc", "0x000000000000000000000000000000000023e937480766000ba36ae295ec1e48", - "0x000000000000000000000000000000eb1d3900ec0942316cf350c8e6e38fc2ad", - "0x000000000000000000000000000000000016fd8a97ed07a826bb1a80a7aab0b8", - "0x00000000000000000000000000000011c8fd5b15b066372f23bb44490f6caf9c", - "0x0000000000000000000000000000000000226c2c5ef5b1ae82234500278b21b1", - "0x000000000000000000000000000000d58d09ebb0c159e8599ec32e7944de2330", - "0x00000000000000000000000000000000001d6b07740ec743555c285904214717", - "0x0000000000000000000000000000002616513cb88a5fa4f89867df845a55b652", - "0x00000000000000000000000000000000001808a5c0a107be39624caabf6d6cee", - "0x000000000000000000000000000000ec37772ea04cfdbfb3d501daf22dd8b8de", - "0x00000000000000000000000000000000001b4b7dbf1ff1ccad38bc77718f97ed", - "0x000000000000000000000000000000f7d35b58ed2831a09c0e96d02874f1a386", - "0x000000000000000000000000000000000026801acfc6db9bd4843812d2ea13f2", - "0x000000000000000000000000000000b579b8b40b376b8e16211f9420830d934a", - "0x000000000000000000000000000000000002f74143fc69c4922e85b58027fdcd", - "0x000000000000000000000000000000fafd7bbb297c99dfabd0711b0986ecc166", - "0x00000000000000000000000000000000000979f0a19283600ea72ba0b34cb4e1", - "0x000000000000000000000000000000dbff972009f3408e5a65ec270cf5684e4d", - "0x000000000000000000000000000000000020f9b0a2adec360e3f2b0623ce6660", - "0x000000000000000000000000000000126a1710ab564e57cbc524d0d5771517ea", - "0x00000000000000000000000000000000001079ea71f2c77d34908979ca322501", - "0x000000000000000000000000000000d019446dc54747da63d1dddc5047da2432", - "0x00000000000000000000000000000000000d127051ec695a925921a3b0021666", - "0x0000000000000000000000000000003c3fd9ddb912c16b523eaa7da0124c5191", - "0x000000000000000000000000000000000013fc649f087671188aae276e343ed0", - "0x000000000000000000000000000000b4e12b0921dd1e035dd3e840e102ad1af9", - "0x00000000000000000000000000000000002d2c599f2c98643045e414d4f4e531", - "0x000000000000000000000000000000f550e079ac71eb3125b89ff61f196105fd", - "0x00000000000000000000000000000000001c5efb41a464dcc085c9789fdbc4fc", - "0x0000000000000000000000000000006201b56454fa273af236ba3036dc68043b", - "0x00000000000000000000000000000000002e8918fe67749a0fdf9f1ea91691b5", - "0x0000000000000000000000000000004a6e94b47149f85b71e6b88bacff5e1174", - "0x00000000000000000000000000000000001af2ef736385c64c0f2ea0e327ab62", - "0x0000000000000000000000000000002ea7a17d3b4e42375487f583ee0c69c3fc", - "0x00000000000000000000000000000000002f0b1b120d8b9cb3c5d0a65eb7560b", - "0x000000000000000000000000000000fb75f9d0bb3253e86c1353c382babcb844", - "0x000000000000000000000000000000000016da09291e4974949404e7351a3bb8", - "0x00000000000000000000000000000093f6eb89f7c5fcd248f61c829e5984290a", - "0x000000000000000000000000000000000004a67832ad011232bf238d2f98846a", - "0x000000000000000000000000000000c9f14653d4579efae3eda3bccc3fda3664", - "0x00000000000000000000000000000000000269037fd682b96d325a325e6e25ef", - "0x000000000000000000000000000000f9739a85f3dafe8512b7b7790f0b661083", - "0x00000000000000000000000000000000001e8468d3f1c7f7249ded77c54ab3d7", - "0x000000000000000000000000000000f432f3d23b4685eeb604357c5b0b14a7ba", - "0x000000000000000000000000000000000002aeb2c79da9b55ac9f588b55b47ff", - "0x00000000000000000000000000000005e7ef809746efc66f889021729ad32a1d", - "0x000000000000000000000000000000000015c246461dcf7dc8b10e6e547edab1", - "0x0000000000000000000000000000005cc1de933d27d7e2571d89b246742a722f", - "0x00000000000000000000000000000000000e623475e191418115599439fce07f", - "0x0000000000000000000000000000007b7db0a18320025fe35498031e1b8ed933", - "0x00000000000000000000000000000000001d3fe2a6c17d28eeff391365ef45cc", - "0x0000000000000000000000000000005a3e161adf3ca74b9aa712fbf6cd7850a5", - "0x000000000000000000000000000000000029cdfc588a5aaa45065617d4280caf", - "0x00000000000000000000000000000023ee0a71c776d53e964cca2b8198cf7829", - "0x000000000000000000000000000000000020bead22ef59a2d0a7cee62cc9150d", - "0x000000000000000000000000000000773b2a14bfb88f30fb9f73519cb6b95502", - "0x00000000000000000000000000000000002863c82bcc4c7fabaf17b052c3ddd0", - "0x00000000000000000000000000000019768868ecb8886e2503b81623080a2fb6", - "0x0000000000000000000000000000000000000b61fee2078174d3afef76a2384b", - "0x0000000000000000000000000000001e52edf9c0b3f2103280eef7c3119669dc", - "0x000000000000000000000000000000000003bd7a3f4676b2d2e869cf482dc730", + "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", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -643,12 +643,12 @@ new_archive_sibling_path = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000073c26650167526959b9dbad5d5850b1596", - "0x00000000000000000000000000000000000208e3e7e788b5d41c46bfa4b34d26", - "0x0000000000000000000000000000004855a042bf5c3e307ca4de1641772b42aa", - "0x00000000000000000000000000000000002d9c6d14839e7ed95f5b50075eb29a" + "0x0000000000000000000000000000007e0c6cf2276b3ee8d79b99ba0e2302a2f0", + "0x000000000000000000000000000000000010ac1dfdfc5a472271e8aafa5e8ac4", + "0x0000000000000000000000000000001070efe3be32b556bfa141a85bf85d42fa", + "0x00000000000000000000000000000000000cf51138cbb12a99d2933bc3e7ed1f" ] - hash = "0x09f6a0ffa0b283c9ff109bcbdc938b287536baf3d552ec7bcacf53512aa61326" + hash = "0x26393237eb1887f1c0ef7bbe4ac346497caccb8cb952770a056f100641049eef" [[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 = "0x00000000000000000000000000000000000000000000000000015df725408000" + accumulated_fees = "0x000000000000000000000000000000000000000000000000000135b0bdd3c800" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000016e40" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x0d09797f7e3bb4d97e3231122ef4f95a989fc6e73b03a0271aad2a946bcac35c" + root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" 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 = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698f013d" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c29f" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x00000000000000000000000000000000000000000000000000000000f49e1200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x1a525e446148941be7111209271581d9941d96727632f9a0be4c141889b20a65" +root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x026f82037ade696608bbfa36b14007b4278af6537ab38167c908ec5b43569684" +root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x2951a8c90dd612d425f3df97074c2a16b70e97b08b71f9e0a71ca041e7883e79" +root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x10b74d70271de342d7e67eb12da549aa932b41aeb7a4452c057a4c7e1c51bd8b" +root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x0d01afaebbf2b407f221828a4a168a4bf9663ff37b35bc9683af5f83a22421d1" +root = "0x234a0244bd5fc1e5091622a2396364e73d3ba311b5917531fc100aa600f68da7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x2e7d842818582a32d4b6e30ebac8e4832020d22892a2ec50b43396184d36f0a8" +root = "0x257e7738161a2995e317abb95635abc758924d1e657b4274cb8203637e19acfb" 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 = [ - "0x00fb27125b8d1425b2fd47d96340f6b1a911a88c4fa3d38e620730b6fc1670c4", - "0x009c2c17ddfbddadb1242fca53bee626441bbf597c6513536e339ea5e65dd0c6", - "0x00dcadf17639f9da146da3029dfda8196a71c4ec2839bab859ee550057575cb7" + "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff", + "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", + "0x00000000000000000000000000000000000000000000021e18d51189e1c82c80" ] state = [ - "0x1cbe4ad8d6e64b66fd0a6961cce2aff280ab74fce97c312124582e0c2d107385", - "0x2de4fe9818c167021a2a4f6449ef6dcf33e55a5a85e932d65d12a263027931a2", - "0x0e4ee20646e95d221861573a118d81b3102188f0cf029d435190757c6a25b77d", - "0x1725d8e624937a502637ae299349c95bd7a8f9a21a0b2c084c0df695370914fa" + "0x0f025b90358802dec8d5b09ef95857e189fbab76e064dbd62b015485e33d8fb8", + "0x0815c4c11228f10d17354714e97f8cb67fea44654f89e26d843da671dc94edb7", + "0x21e7a0bc288b9190207e1546c575bfe37e7b5474796ce376e1c3565715352013", + "0x234bd2d8bd6b3dadd78beef5195ec1705f218d62849ef4238ffb69f698b18828" ] 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 = [ - "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1286,94 +1286,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000095d17f9e81e5c0b31baedeeaf191f8db67", - "0x0000000000000000000000000000000000090e05efe8da890ac47ab64ed8753d", - "0x00000000000000000000000000000021ee2cafbd403d0f7fecee53bdd5dd2fdd", - "0x00000000000000000000000000000000000a73ebe766502f6127a15bcb37377b", - "0x0000000000000000000000000000008a1c5d53ac2a25bcce8b407e285503ee03", - "0x000000000000000000000000000000000024f85473a186444282703c29b22fcb", - "0x00000000000000000000000000000028217457b4fa91b397656de445d111c6d3", - "0x00000000000000000000000000000000002ed0bff977c315f695235641d21be5", - "0x000000000000000000000000000000dcb4ab5f5373de3ba54a4048cf33c0b031", - "0x00000000000000000000000000000000001e4a8c49b315c8b5eefbfba3fa7ec9", - "0x000000000000000000000000000000cfc02b5508f96219930d81abc1be62eb30", - "0x000000000000000000000000000000000012f92abad100a0ae3af4730a8a26a2", - "0x0000000000000000000000000000001f23bae325289f61e8eddcba361a9cc05a", - "0x000000000000000000000000000000000019affc54f5d049ffb9c67f4381abbe", - "0x00000000000000000000000000000035cd62abd06d751a7f7b54cc8ac9cbd847", - "0x000000000000000000000000000000000020bb2e341a05f3af39d587f8c11f75", - "0x0000000000000000000000000000003fcf9c7168741e032977b96dc18a9a8452", - "0x0000000000000000000000000000000000110715289f6f6ae7d7be488bd8f1e9", - "0x000000000000000000000000000000b8a86b18015f8067a13d1602135471c89b", - "0x00000000000000000000000000000000001874b3e63e2b26f50a96ab59e9d714", - "0x000000000000000000000000000000e40e1f9de03b0eeb969164aef9dc7abd84", - "0x00000000000000000000000000000000000b03d3d530951f36f9f5e9553435e1", - "0x00000000000000000000000000000043981fa0aa0e988c54b125f95d7b9e5ccf", - "0x0000000000000000000000000000000000060c8cdf9aa4a13f3ab0b2ec37cdd7", + "0x0000000000000000000000000000007352f92242d490846125dcd40ea4df487f", + "0x000000000000000000000000000000000024fcb20f81e5cc0a851f4a92c5f27e", + "0x000000000000000000000000000000cdd574b3dc28c9112da5378d9fb39242a7", + "0x0000000000000000000000000000000000032433bb0abd08199c2ac7054fb083", + "0x000000000000000000000000000000384aeb6924f3e3a5031bf58fb40cfe5db0", + "0x00000000000000000000000000000000001c2a4c16d200224aadfcd01e141357", + "0x000000000000000000000000000000ea1cd672c28ed592133db5f412941071c5", + "0x0000000000000000000000000000000000138f2b2ffcdbdf5fa2f0312308af7e", + "0x000000000000000000000000000000b45672ed8a54acb112879b62cb021c1cf7", + "0x000000000000000000000000000000000015ccfe5a412f295f746a84dd96101d", + "0x0000000000000000000000000000007ed040d05a4b589d75ee93bb06e954393f", + "0x00000000000000000000000000000000000adae7a939d9c7a315899b1c8ce509", + "0x000000000000000000000000000000889e74133df9bc22793d93d2d0257fc50d", + "0x00000000000000000000000000000000000ca219f3dbd2c9e3426040b3a13df3", + "0x000000000000000000000000000000663543b92e5290470f71bd336996b44445", + "0x00000000000000000000000000000000002463667f81c64426c22972f27c03ba", + "0x000000000000000000000000000000c66a4093181a7df5ab73db62e8b18224e1", + "0x0000000000000000000000000000000000255aa60b14bb2e7a16c5fcd4d4c113", + "0x000000000000000000000000000000a77f27fcbf71ca847ff45e848441676544", + "0x00000000000000000000000000000000001514c2b0a21e00019bc4db479ed3b6", + "0x000000000000000000000000000000346f53133e766f120e02519b3ae6a409af", + "0x000000000000000000000000000000000017050439637be357ff6ffa820e79ba", + "0x000000000000000000000000000000accc4bce89352ecc213cbee6b11b644574", + "0x00000000000000000000000000000000002c5611d3b603c6e9ed40993fae94d4", "0x0000000000000000000000000000004288fb745aa3b78da694bc2f3c28178b53", "0x0000000000000000000000000000000000029292ff399aa7b20eb1f743696c46", "0x0000000000000000000000000000003582186b8e684671a476f80b8d0e114d5d", "0x00000000000000000000000000000000001b3109c18b36e49b5ef30578b4bc60", - "0x0000000000000000000000000000008d6fc90a3a9fbcff53235438c73b6c080e", - "0x000000000000000000000000000000000003442eeec81d4094db019ffb7533e7", - "0x000000000000000000000000000000d9aa26c8f680bc70a85cb8b18563636f6e", - "0x000000000000000000000000000000000012490fd5dcd5069ecdcd39c8948dbe", - "0x0000000000000000000000000000006bf8b81f212acbccf5a16024fe74c88ed7", - "0x0000000000000000000000000000000000052bc04022af390b626620812ce6d6", - "0x000000000000000000000000000000915347108f14203f8141fe9e1c0bb567bc", - "0x0000000000000000000000000000000000144162811cb3ebab9e8e729d4b03e0", - "0x000000000000000000000000000000c05f207c1c47e1fcaf3f7906c61bd5e254", - "0x00000000000000000000000000000000001110be7d2056bacce0581676c39991", - "0x0000000000000000000000000000008a3f09bb72740290588c36f0c1f11ac39e", - "0x000000000000000000000000000000000019a349fafd919fe7e0a75ad3e11254", - "0x0000000000000000000000000000009a624130dc339f4184524f34beed393293", - "0x00000000000000000000000000000000000c6f500c1aeae67b4259a5ae16272b", - "0x0000000000000000000000000000000e22c3d515ce26221f0e8c0d648c947160", - "0x000000000000000000000000000000000013cc98b6037fae6b69467e99137e34", - "0x00000000000000000000000000000096cb94d1ef32752287f589b6d629319d3b", - "0x00000000000000000000000000000000000b223a7b9a5c35304b6b3d532128fb", - "0x00000000000000000000000000000010c4622de618218ba31c33c95450d7c4d6", - "0x0000000000000000000000000000000000257665394a622e9b8d89b7a6658795", - "0x000000000000000000000000000000e9eec254b1f378307739aab40d8f521a70", - "0x00000000000000000000000000000000000f124b201daba05cf426456e658799", - "0x000000000000000000000000000000972cbb4868c8ad074643a1cbd825d3673b", - "0x00000000000000000000000000000000002cf752f8e219448ef973cc7302090c", - "0x000000000000000000000000000000fa20960279f6e88f06ada03ef8d6c795ed", - "0x00000000000000000000000000000000001b8fedcca1b712df0443c1b64177c1", - "0x000000000000000000000000000000a310a14308e029229287694dcd82add11f", - "0x00000000000000000000000000000000001f39b99f7053b2b4bc2d4bca4f1d58", - "0x000000000000000000000000000000f2db213b95008891d97c890fe6f4389023", - "0x00000000000000000000000000000000001a17cde236561d1b6fa7b3d4866939", - "0x000000000000000000000000000000e2e4e0d8c60ad654c3dd9d4caf630f4cab", - "0x0000000000000000000000000000000000264cb84410c801cf020c78d93d3e13", - "0x000000000000000000000000000000b9649bd7610150c3d9ec119bf19a0c41b0", - "0x000000000000000000000000000000000026cb12fe61991ca1f55595cb67e76f", - "0x00000000000000000000000000000027de516426752cea23cb58205f25ff1cf7", - "0x000000000000000000000000000000000017781aefdd517a6c0454e5ec25dfb3", - "0x0000000000000000000000000000008ec3447e86c9ad1866ba9e7cc0c0e22dcb", - "0x00000000000000000000000000000000000e94a665a6073a45b156d420c2f730", - "0x000000000000000000000000000000253311b05c03875245e79cdbec3cc72849", - "0x00000000000000000000000000000000001dacee007922df77506a0eee50348e", - "0x0000000000000000000000000000001ed51af61adcd07198edff6219ea20110c", - "0x000000000000000000000000000000000001bceb2ef2004d551c4322c5d8c133", - "0x0000000000000000000000000000004613191a4c75286ef3450602ed3aa828b2", - "0x00000000000000000000000000000000002382489b388a1b21bb1312946d3710", - "0x000000000000000000000000000000fad75b920db3af10b5ec390b672ebd5bf1", - "0x00000000000000000000000000000000003028f44055e2a6bc322512566557a9", - "0x0000000000000000000000000000006c15aab460fa3138e094f55665904fe356", - "0x00000000000000000000000000000000002a69c4b256b8ce1a62b9b0f9ae0769", - "0x000000000000000000000000000000b599dadd34a493879a86f2a2e7fa59a447", - "0x000000000000000000000000000000000000e2c09495662b937f00b3d95b07b7", - "0x0000000000000000000000000000008dc5e48d8f2d3e3312e8fb90a2ccba32ba", - "0x00000000000000000000000000000000002839453ce9910ed35335777904e98f", - "0x000000000000000000000000000000182a7408771ad8062e5790440d6283c342", - "0x00000000000000000000000000000000001bd67327bd1edc3d5a65628b99d0f5", - "0x00000000000000000000000000000068ff8f66a58c5cd6d38e47cc66c32d4290", - "0x000000000000000000000000000000000020b6ab3f53658acb89997d1f2e3046", - "0x0000000000000000000000000000003dd85a5f0dc104ff2f1b81dc8b039fdada", - "0x00000000000000000000000000000000001ad6ce67e6846f18a9ee18802096d9", - "0x000000000000000000000000000000d3a5cebc5d65a73153e5ef14e78ab10bc8", - "0x00000000000000000000000000000000000ca70cae7bbb918c0da461de8e9630", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1394,12 +1394,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000894394ea3ef10b9595aa987083cd7ff940", - "0x000000000000000000000000000000000019896954051fd3a4d33f8298a25e11", - "0x000000000000000000000000000000d2ab8113b25ebcb75ea3136effd18d5876", - "0x000000000000000000000000000000000020b08373bf52ff065f711dbe6cca79" + "0x000000000000000000000000000000f0369d4a38e5a64d52fbb31400384975f5", + "0x00000000000000000000000000000000000a8ffc52c294fdd9d445e18783e097", + "0x00000000000000000000000000000067edf1fca1ebd44cbe8f5b86ee745388d3", + "0x00000000000000000000000000000000002afc9e0f04db1804ae103d81ec1780" ] - hash = "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222" + hash = "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840" [[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 = "0x0000000000000000000000000000000000000000000000000002005d9a69ba00" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000001c566b1383ea0" accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.constants.last_archive] - root = "0x0d09797f7e3bb4d97e3231122ef4f95a989fc6e73b03a0271aad2a946bcac35c" + root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" 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 = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x000000000000000000000000000000000000000000000000000000000000000a" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698f013d" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c29f" [inputs.previous_rollups.public_inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x00000000000000000000000000000000000000000000000000000000f49e1200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" [inputs.previous_rollups.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x10b74d70271de342d7e67eb12da549aa932b41aeb7a4452c057a4c7e1c51bd8b" +root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollups.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x0d01afaebbf2b407f221828a4a168a4bf9663ff37b35bc9683af5f83a22421d1" +root = "0x234a0244bd5fc1e5091622a2396364e73d3ba311b5917531fc100aa600f68da7" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.previous_rollups.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x2e7d842818582a32d4b6e30ebac8e4832020d22892a2ec50b43396184d36f0a8" +root = "0x257e7738161a2995e317abb95635abc758924d1e657b4274cb8203637e19acfb" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollups.public_inputs.end_tree_snapshots.note_hash_tree] -root = "0x10b74d70271de342d7e67eb12da549aa932b41aeb7a4452c057a4c7e1c51bd8b" +root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollups.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x264f52ca84174f7a84648aa9d67f03e405312aef251441bf319eb1c71ba0c13c" +root = "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollups.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x154a0e2b54547ab0b3d4318481afba44ac70cd845b66b715f3ebd1f4371f9f6b" +root = "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0" 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 = [ - "0x00fb27125b8d1425b2fd47d96340f6b1a911a88c4fa3d38e620730b6fc1670c4", - "0x009c2c17ddfbddadb1242fca53bee626441bbf597c6513536e339ea5e65dd0c6", - "0x00dcadf17639f9da146da3029dfda8196a71c4ec2839bab859ee550057575cb7" + "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff", + "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", + "0x00000000000000000000000000000000000000000000021e18d51189e1c82c80" ] state = [ - "0x1cbe4ad8d6e64b66fd0a6961cce2aff280ab74fce97c312124582e0c2d107385", - "0x2de4fe9818c167021a2a4f6449ef6dcf33e55a5a85e932d65d12a263027931a2", - "0x0e4ee20646e95d221861573a118d81b3102188f0cf029d435190757c6a25b77d", - "0x1725d8e624937a502637ae299349c95bd7a8f9a21a0b2c084c0df695370914fa" + "0x0f025b90358802dec8d5b09ef95857e189fbab76e064dbd62b015485e33d8fb8", + "0x0815c4c11228f10d17354714e97f8cb67fea44654f89e26d843da671dc94edb7", + "0x21e7a0bc288b9190207e1546c575bfe37e7b5474796ce376e1c3565715352013", + "0x234bd2d8bd6b3dadd78beef5195ec1705f218d62849ef4238ffb69f698b18828" ] 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 = [ - "0x00000000000000000000000000000000000000000000021e18f6b795a12da140", + "0x00000000000000000000000000000000000000000000021e18d34c23308fede0", "0x000000000000000000000000000000000000000000000000000000000000076c", - "0x09cd5bfd34eb88d33aaaad1d6d6fd128ce3fd0de25b2ebbbfdd523336cec01e4" + "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e" ] state = [ - "0x1f910997214600e13d460f35141b113453e2ba5cb74a976314d42ce2f81154b7", - "0x28d04f92a8481bc0b4d57b6f790cc01ba8e2859ced3a488bc1891bd459f0a875", - "0x0794a8a897cf402b3cc77ee8449284de1ba9b82779143992ca1450c5591dde8b", - "0x27831d9cc4553a4f038733eec0a2f48bb3ebef8fa68da2961e0f57ca7797ce66" + "0x0778264039ff985ae383b85b806f8ad091ea3116ff6f4ac63543d12bd74c4ae4", + "0x24a41d4a0276339dd53b14dad993d2a720aa577299ad2aa2fddcd23a56906a84", + "0x27dd5ddd2284f06812b76ff5d21162154770c8413b70b1d96740ba1914ddc541", + "0x04a425488526f28ae7329a8da3d7148c5ec0d8fe5b5945bc0a579a218da6884e" ] 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 = [ - "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -2037,94 +2037,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003fbc16662469a690a82eeed0562f4035b2", - "0x000000000000000000000000000000000008f54f8a8ef61de79d05a62601ed64", - "0x000000000000000000000000000000dfb010fa2c43076ca30a041951c2b9bcb7", - "0x000000000000000000000000000000000020e5f02b05a122f44917fc0c1128ef", - "0x00000000000000000000000000000043146262dc9018fd48a737672ae0843910", - "0x0000000000000000000000000000000000093f00739351fb67c0c63cf5f3e278", - "0x0000000000000000000000000000007932904210916115193817f4da68710805", - "0x00000000000000000000000000000000001fe8624349d27f115d452bf4c89d84", - "0x000000000000000000000000000000d3bbd7255c861d7b0dfaf08cf0f8264c79", - "0x00000000000000000000000000000000001c58eeb1570ed99f6bc9051cec8dac", - "0x000000000000000000000000000000f7d31e0f1da188ab35a2deebfea558010d", - "0x00000000000000000000000000000000002722233797bb873de4f14f2af01fac", - "0x0000000000000000000000000000005dc49d7cb006fdd5029047120953272e10", - "0x0000000000000000000000000000000000294728ec7ff1db2f33d1a22ba1df3a", - "0x000000000000000000000000000000f2b723a4614cf72ac3bd0ba8c733d39fb7", - "0x00000000000000000000000000000000001d1bfc4b42525cc9db7d1624b430c5", - "0x00000000000000000000000000000070b11641dd66bfbd7e0ee0cd1c282001b9", - "0x00000000000000000000000000000000001073374f703f914dd782214d6a71aa", - "0x000000000000000000000000000000ad0079795c71e006a74ec751db140cda7b", - "0x00000000000000000000000000000000001e4cfddfe7a7a70704af95bd3887ab", - "0x000000000000000000000000000000f9b8542595cd0ded462fc60db46d677303", - "0x00000000000000000000000000000000002c20bf0a693f71f13332bfe0a9e2c1", - "0x000000000000000000000000000000b301a73660ce558a06908584fe9c826e7b", - "0x0000000000000000000000000000000000173301ea5c6f70c4a32068d4d93296", + "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", + "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", + "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", + "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", + "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", + "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", + "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", + "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", + "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", + "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", + "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", + "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", + "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", + "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", + "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", + "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", + "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", + "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", + "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", + "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", + "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", + "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", + "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", + "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x0000000000000000000000000000002e417c93b7d1c5b02b4e7144323978641c", - "0x000000000000000000000000000000000016456785a0ce15a4ce94c8652f4f29", - "0x000000000000000000000000000000d3e155b62eb3e9a1a4184c42f612003050", - "0x0000000000000000000000000000000000178c7aea42b5ed5be37f1f3c081a50", - "0x00000000000000000000000000000097c66fa2b7a2095918008ed009ff3e4d53", - "0x00000000000000000000000000000000000d36f590937ad915c62c97ef92db24", - "0x000000000000000000000000000000c78876954577cc16a4bd36c909d12c242c", - "0x00000000000000000000000000000000001abf2dbbfedee73ec49af5d5cf3d93", - "0x00000000000000000000000000000002906b936db6564d2c8cb755871fec9ba5", - "0x000000000000000000000000000000000009bdd2c28bb85f73db44d7f19764e8", - "0x0000000000000000000000000000005619aef7c105a6982d27ec420df50990dc", - "0x00000000000000000000000000000000001573e3ca5a8b066111d3c4b391f6ba", - "0x000000000000000000000000000000584f681479b8b7a8e818cd707cd1051a63", - "0x0000000000000000000000000000000000162e8876cb14a2fe6a5daec078cf9d", - "0x000000000000000000000000000000d019ff8c4dc54173d85777f03511d5c524", - "0x0000000000000000000000000000000000023745df1607470c15621ac1153c98", - "0x000000000000000000000000000000a8f84e218abee7173218d11b71bce4615e", - "0x00000000000000000000000000000000002de92e0199ac3222083130d4053995", - "0x000000000000000000000000000000a3de4637cbf3e9c052d857d9d1ea940554", - "0x00000000000000000000000000000000001b982ee6bdb00701bff1caa66e3704", - "0x000000000000000000000000000000b4587a5fbfa2dee7be4870e990f74c9979", - "0x000000000000000000000000000000000007200194316a77a9c2275a52c28fcc", - "0x0000000000000000000000000000009f042648de7d15f6234993deb0acb15fa3", - "0x0000000000000000000000000000000000003e76d37900f0ed06e688b3cb3a02", - "0x00000000000000000000000000000033d4a1e8d4090be3166b130411d074c69a", - "0x0000000000000000000000000000000000121f19653c45b5db5ee5b42d030e60", - "0x0000000000000000000000000000009ab49c0c77ef5a2231523523cf493b44e6", - "0x000000000000000000000000000000000004a4c181513deb62effaf2d9a2984b", - "0x00000000000000000000000000000084109d4ef4cc42832e161de71c1ad19efd", - "0x0000000000000000000000000000000000036358adba59a64d2671acc2c289f6", - "0x0000000000000000000000000000006b717dca9b34e6acd1073cdd82166b88f2", - "0x00000000000000000000000000000000000e3c19fbc16b1f444f5aab654c8193", - "0x000000000000000000000000000000646c7b49bec70237fbe881c6825afbb950", - "0x0000000000000000000000000000000000081ca71832f1c2424d65eafedcf2e8", - "0x000000000000000000000000000000637115a4eaba3ebbcccb15cb0d4afbb9c4", - "0x000000000000000000000000000000000027c2807ec961b649a0356c378aa662", - "0x0000000000000000000000000000004882c036291e0e5488104b0acacea2e855", - "0x0000000000000000000000000000000000253a42001329ed9a939faa44a2d872", - "0x000000000000000000000000000000e3333de06ba00789cf226303b320681e93", - "0x00000000000000000000000000000000000118000b42422a164dc36f1c9b9554", - "0x00000000000000000000000000000021763224f6c1ba8b36594571e5211b79cc", - "0x000000000000000000000000000000000002de8adb6b4c3ed17a3a929153d7d9", - "0x0000000000000000000000000000000de6844074cde92063d077e924b2beb9f5", - "0x00000000000000000000000000000000002c84f5fa8d1a69d17dd434151d8dfd", - "0x0000000000000000000000000000004f391e1929fa5731ee6fa8c6e565efd5a9", - "0x000000000000000000000000000000000023e9d34688324597f5a778d3b2f109", - "0x000000000000000000000000000000747bee89c9186428af38ab7563505a8c5b", - "0x000000000000000000000000000000000025799a05e2c7719f14476e8358e7b4", - "0x0000000000000000000000000000004da47862213660f5aa944d80454d820320", - "0x00000000000000000000000000000000000f6953b75619e0d7b1215fa2890877", - "0x0000000000000000000000000000006751ecc8103ec109833f7c55bdb8ee4454", - "0x000000000000000000000000000000000008811e2951fe1b5f0828bcee2d1910", - "0x000000000000000000000000000000a09fb5de4347998b12080c4a1e5908452a", - "0x0000000000000000000000000000000000248cab55cb89b59b1eb59578a4d136", - "0x00000000000000000000000000000083233ef1fea46f198c6887032b3cba7f15", - "0x000000000000000000000000000000000029d74bf2eeb5703bf75be730944027", - "0x0000000000000000000000000000006dad1befcf56a281395f6d5d72096a78b5", - "0x00000000000000000000000000000000002acf0ffb8723f8258298901efddddf", - "0x000000000000000000000000000000be9e378d8eb6d0a29771a783c5dabf0508", - "0x00000000000000000000000000000000002ac8995a1511a781a24a28a703b176", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -2145,12 +2145,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000002ed33f27053664af6c719cb4b410a039a9", - "0x000000000000000000000000000000000010e23560b297025255b2550ed429f9", - "0x000000000000000000000000000000a64164028d64310fdb9540282e2cd87fd6", - "0x000000000000000000000000000000000026d14a83fe401bc25c220e66d45075" + "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", + "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", + "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", + "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" ] - hash = "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613" + hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" [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 133684247376..49ae1d814075 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", - "0x110617461b5b099daad425526f3cf7d6115baa256ad302374f4774111f38bc2f", + "0x10fdaefb9d9fa0c463e5009a6ea35f6a617fe18ac5cde12952775ef762326a57", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", @@ -562,12 +562,12 @@ new_archive_sibling_path = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollup.public_inputs.constants.last_archive] - root = "0x249a5f67235cc57358174dc36441cad7ad1eeaa8d90f368df1908ba70259d365" + root = "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98" 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 = [ - "0x2417cff0d2c06e196b0a4e8f9abce35dc3530d47af623d52df1834c74bbbf660", - "0x1441c2a8b920383e9a53d60e0f2494903d31dd21c51c9c31f804472261eb3e77", - "0x2704e70419436efbe82b4c450bb8bf297c5530afed385951159ab99fc0fa4a09", - "0x2f23f97f635935c3a9fb3d616ea4d1fad8571df020050e02285e23a4595a81c5" + "0x1a74ff032ae620c0f07c131712778ce545e2e0d87ed3ce855e5e490bbcd805d8", + "0x007eb8e5e9c4e4e432db874bb4ac0e2a990b5b87098ea24c42716a7dd03ef9ab", + "0x2563c6fbeacb77e44cd706bd60496b9a59a26d068b849293bbee419a763d75e1", + "0x0ca40344a9d927d78b30ec37788ea74c3a35801770c9e5a10c8164e7be6b300a" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -643,10 +643,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x0439bf171395b8cbf908966bed0fbe05d5e605b0a71ca206bf98a07a60e76324", - "0x281b367ee66ccb3b43f9cee2be3263ee745ce9972cd9154af099c65ac3bcb548", - "0x22bf5aa258d3ba522d1bed77375e2f3dfd4d7a20400ba56ffe31cb069ead3de3", - "0x103330d78f685e85c7743e91ec0653c651b8394f76f2b7ac49e7a38032f10bcc" + "0x22cec070d3e1247a85523fed93ec682eb92244949132d58fd8005e60ccef51b9", + "0x040016bb0c02b24c3ad02a5cc4ec99c6b73f70953e2c880bf9b21dac00db8675", + "0x1c821d14411296e2d139f1f9719d4f33569d569932c20f3b10b77a9a45624b2b", + "0x0bf09b204ddb8ee7e019b39a14e6f2ebca55e98f0831519e7a0248fb947240f1" ] 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 = [ - "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -668,94 +668,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003fbc16662469a690a82eeed0562f4035b2", - "0x000000000000000000000000000000000008f54f8a8ef61de79d05a62601ed64", - "0x000000000000000000000000000000dfb010fa2c43076ca30a041951c2b9bcb7", - "0x000000000000000000000000000000000020e5f02b05a122f44917fc0c1128ef", - "0x00000000000000000000000000000043146262dc9018fd48a737672ae0843910", - "0x0000000000000000000000000000000000093f00739351fb67c0c63cf5f3e278", - "0x0000000000000000000000000000007932904210916115193817f4da68710805", - "0x00000000000000000000000000000000001fe8624349d27f115d452bf4c89d84", - "0x000000000000000000000000000000d3bbd7255c861d7b0dfaf08cf0f8264c79", - "0x00000000000000000000000000000000001c58eeb1570ed99f6bc9051cec8dac", - "0x000000000000000000000000000000f7d31e0f1da188ab35a2deebfea558010d", - "0x00000000000000000000000000000000002722233797bb873de4f14f2af01fac", - "0x0000000000000000000000000000005dc49d7cb006fdd5029047120953272e10", - "0x0000000000000000000000000000000000294728ec7ff1db2f33d1a22ba1df3a", - "0x000000000000000000000000000000f2b723a4614cf72ac3bd0ba8c733d39fb7", - "0x00000000000000000000000000000000001d1bfc4b42525cc9db7d1624b430c5", - "0x00000000000000000000000000000070b11641dd66bfbd7e0ee0cd1c282001b9", - "0x00000000000000000000000000000000001073374f703f914dd782214d6a71aa", - "0x000000000000000000000000000000ad0079795c71e006a74ec751db140cda7b", - "0x00000000000000000000000000000000001e4cfddfe7a7a70704af95bd3887ab", - "0x000000000000000000000000000000f9b8542595cd0ded462fc60db46d677303", - "0x00000000000000000000000000000000002c20bf0a693f71f13332bfe0a9e2c1", - "0x000000000000000000000000000000b301a73660ce558a06908584fe9c826e7b", - "0x0000000000000000000000000000000000173301ea5c6f70c4a32068d4d93296", + "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", + "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", + "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", + "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", + "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", + "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", + "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", + "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", + "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", + "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", + "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", + "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", + "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", + "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", + "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", + "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", + "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", + "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", + "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", + "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", + "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", + "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", + "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", + "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x0000000000000000000000000000002e417c93b7d1c5b02b4e7144323978641c", - "0x000000000000000000000000000000000016456785a0ce15a4ce94c8652f4f29", - "0x000000000000000000000000000000d3e155b62eb3e9a1a4184c42f612003050", - "0x0000000000000000000000000000000000178c7aea42b5ed5be37f1f3c081a50", - "0x00000000000000000000000000000097c66fa2b7a2095918008ed009ff3e4d53", - "0x00000000000000000000000000000000000d36f590937ad915c62c97ef92db24", - "0x000000000000000000000000000000c78876954577cc16a4bd36c909d12c242c", - "0x00000000000000000000000000000000001abf2dbbfedee73ec49af5d5cf3d93", - "0x00000000000000000000000000000002906b936db6564d2c8cb755871fec9ba5", - "0x000000000000000000000000000000000009bdd2c28bb85f73db44d7f19764e8", - "0x0000000000000000000000000000005619aef7c105a6982d27ec420df50990dc", - "0x00000000000000000000000000000000001573e3ca5a8b066111d3c4b391f6ba", - "0x000000000000000000000000000000584f681479b8b7a8e818cd707cd1051a63", - "0x0000000000000000000000000000000000162e8876cb14a2fe6a5daec078cf9d", - "0x000000000000000000000000000000d019ff8c4dc54173d85777f03511d5c524", - "0x0000000000000000000000000000000000023745df1607470c15621ac1153c98", - "0x000000000000000000000000000000a8f84e218abee7173218d11b71bce4615e", - "0x00000000000000000000000000000000002de92e0199ac3222083130d4053995", - "0x000000000000000000000000000000a3de4637cbf3e9c052d857d9d1ea940554", - "0x00000000000000000000000000000000001b982ee6bdb00701bff1caa66e3704", - "0x000000000000000000000000000000b4587a5fbfa2dee7be4870e990f74c9979", - "0x000000000000000000000000000000000007200194316a77a9c2275a52c28fcc", - "0x0000000000000000000000000000009f042648de7d15f6234993deb0acb15fa3", - "0x0000000000000000000000000000000000003e76d37900f0ed06e688b3cb3a02", - "0x00000000000000000000000000000033d4a1e8d4090be3166b130411d074c69a", - "0x0000000000000000000000000000000000121f19653c45b5db5ee5b42d030e60", - "0x0000000000000000000000000000009ab49c0c77ef5a2231523523cf493b44e6", - "0x000000000000000000000000000000000004a4c181513deb62effaf2d9a2984b", - "0x00000000000000000000000000000084109d4ef4cc42832e161de71c1ad19efd", - "0x0000000000000000000000000000000000036358adba59a64d2671acc2c289f6", - "0x0000000000000000000000000000006b717dca9b34e6acd1073cdd82166b88f2", - "0x00000000000000000000000000000000000e3c19fbc16b1f444f5aab654c8193", - "0x000000000000000000000000000000646c7b49bec70237fbe881c6825afbb950", - "0x0000000000000000000000000000000000081ca71832f1c2424d65eafedcf2e8", - "0x000000000000000000000000000000637115a4eaba3ebbcccb15cb0d4afbb9c4", - "0x000000000000000000000000000000000027c2807ec961b649a0356c378aa662", - "0x0000000000000000000000000000004882c036291e0e5488104b0acacea2e855", - "0x0000000000000000000000000000000000253a42001329ed9a939faa44a2d872", - "0x000000000000000000000000000000e3333de06ba00789cf226303b320681e93", - "0x00000000000000000000000000000000000118000b42422a164dc36f1c9b9554", - "0x00000000000000000000000000000021763224f6c1ba8b36594571e5211b79cc", - "0x000000000000000000000000000000000002de8adb6b4c3ed17a3a929153d7d9", - "0x0000000000000000000000000000000de6844074cde92063d077e924b2beb9f5", - "0x00000000000000000000000000000000002c84f5fa8d1a69d17dd434151d8dfd", - "0x0000000000000000000000000000004f391e1929fa5731ee6fa8c6e565efd5a9", - "0x000000000000000000000000000000000023e9d34688324597f5a778d3b2f109", - "0x000000000000000000000000000000747bee89c9186428af38ab7563505a8c5b", - "0x000000000000000000000000000000000025799a05e2c7719f14476e8358e7b4", - "0x0000000000000000000000000000004da47862213660f5aa944d80454d820320", - "0x00000000000000000000000000000000000f6953b75619e0d7b1215fa2890877", - "0x0000000000000000000000000000006751ecc8103ec109833f7c55bdb8ee4454", - "0x000000000000000000000000000000000008811e2951fe1b5f0828bcee2d1910", - "0x000000000000000000000000000000a09fb5de4347998b12080c4a1e5908452a", - "0x0000000000000000000000000000000000248cab55cb89b59b1eb59578a4d136", - "0x00000000000000000000000000000083233ef1fea46f198c6887032b3cba7f15", - "0x000000000000000000000000000000000029d74bf2eeb5703bf75be730944027", - "0x0000000000000000000000000000006dad1befcf56a281395f6d5d72096a78b5", - "0x00000000000000000000000000000000002acf0ffb8723f8258298901efddddf", - "0x000000000000000000000000000000be9e378d8eb6d0a29771a783c5dabf0508", - "0x00000000000000000000000000000000002ac8995a1511a781a24a28a703b176", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -776,9 +776,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000002ed33f27053664af6c719cb4b410a039a9", - "0x000000000000000000000000000000000010e23560b297025255b2550ed429f9", - "0x000000000000000000000000000000a64164028d64310fdb9540282e2cd87fd6", - "0x000000000000000000000000000000000026d14a83fe401bc25c220e66d45075" + "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", + "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", + "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", + "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" ] - hash = "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613" + hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" 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 cbb5e4945fe8..24d2453b4eaf 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -643,10 +643,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x00dc1706f332f8cf2595309c29996696f14441d251ee002c7fcbc60276c771a3", - "0x1299947ee3339a67f9aabed5227667dbc6e41ed9dad428f542773c4b988cf536", - "0x219ca9152a362c31c9c7fa2e9cd27dfebf71f3d0f80094e20a8db59df4ce978b", - "0x023a8457fefbdd45dc281fe5623d12af0c53842b58181b99cb05f04c640885db" + "0x09dd5448788a66dc8f5566151c29733cdbbe92225aa183dccb99881599fbef41", + "0x22700efe2bf96efa7aad2222062b8c67a687f75599eb8134a841111517edf396", + "0x062d6b9c481138729726ee1b9371103abe37faea66808d8b846a6a66b69d3297", + "0x208f2a229a996e11b7c12f02b87071d51ecf1b5910a93c9deb3f05a050bcaca0" ] 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 = [ - "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -668,94 +668,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x00000000000000000000000000000095d17f9e81e5c0b31baedeeaf191f8db67", - "0x0000000000000000000000000000000000090e05efe8da890ac47ab64ed8753d", - "0x00000000000000000000000000000021ee2cafbd403d0f7fecee53bdd5dd2fdd", - "0x00000000000000000000000000000000000a73ebe766502f6127a15bcb37377b", - "0x0000000000000000000000000000008a1c5d53ac2a25bcce8b407e285503ee03", - "0x000000000000000000000000000000000024f85473a186444282703c29b22fcb", - "0x00000000000000000000000000000028217457b4fa91b397656de445d111c6d3", - "0x00000000000000000000000000000000002ed0bff977c315f695235641d21be5", - "0x000000000000000000000000000000dcb4ab5f5373de3ba54a4048cf33c0b031", - "0x00000000000000000000000000000000001e4a8c49b315c8b5eefbfba3fa7ec9", - "0x000000000000000000000000000000cfc02b5508f96219930d81abc1be62eb30", - "0x000000000000000000000000000000000012f92abad100a0ae3af4730a8a26a2", - "0x0000000000000000000000000000001f23bae325289f61e8eddcba361a9cc05a", - "0x000000000000000000000000000000000019affc54f5d049ffb9c67f4381abbe", - "0x00000000000000000000000000000035cd62abd06d751a7f7b54cc8ac9cbd847", - "0x000000000000000000000000000000000020bb2e341a05f3af39d587f8c11f75", - "0x0000000000000000000000000000003fcf9c7168741e032977b96dc18a9a8452", - "0x0000000000000000000000000000000000110715289f6f6ae7d7be488bd8f1e9", - "0x000000000000000000000000000000b8a86b18015f8067a13d1602135471c89b", - "0x00000000000000000000000000000000001874b3e63e2b26f50a96ab59e9d714", - "0x000000000000000000000000000000e40e1f9de03b0eeb969164aef9dc7abd84", - "0x00000000000000000000000000000000000b03d3d530951f36f9f5e9553435e1", - "0x00000000000000000000000000000043981fa0aa0e988c54b125f95d7b9e5ccf", - "0x0000000000000000000000000000000000060c8cdf9aa4a13f3ab0b2ec37cdd7", + "0x0000000000000000000000000000007352f92242d490846125dcd40ea4df487f", + "0x000000000000000000000000000000000024fcb20f81e5cc0a851f4a92c5f27e", + "0x000000000000000000000000000000cdd574b3dc28c9112da5378d9fb39242a7", + "0x0000000000000000000000000000000000032433bb0abd08199c2ac7054fb083", + "0x000000000000000000000000000000384aeb6924f3e3a5031bf58fb40cfe5db0", + "0x00000000000000000000000000000000001c2a4c16d200224aadfcd01e141357", + "0x000000000000000000000000000000ea1cd672c28ed592133db5f412941071c5", + "0x0000000000000000000000000000000000138f2b2ffcdbdf5fa2f0312308af7e", + "0x000000000000000000000000000000b45672ed8a54acb112879b62cb021c1cf7", + "0x000000000000000000000000000000000015ccfe5a412f295f746a84dd96101d", + "0x0000000000000000000000000000007ed040d05a4b589d75ee93bb06e954393f", + "0x00000000000000000000000000000000000adae7a939d9c7a315899b1c8ce509", + "0x000000000000000000000000000000889e74133df9bc22793d93d2d0257fc50d", + "0x00000000000000000000000000000000000ca219f3dbd2c9e3426040b3a13df3", + "0x000000000000000000000000000000663543b92e5290470f71bd336996b44445", + "0x00000000000000000000000000000000002463667f81c64426c22972f27c03ba", + "0x000000000000000000000000000000c66a4093181a7df5ab73db62e8b18224e1", + "0x0000000000000000000000000000000000255aa60b14bb2e7a16c5fcd4d4c113", + "0x000000000000000000000000000000a77f27fcbf71ca847ff45e848441676544", + "0x00000000000000000000000000000000001514c2b0a21e00019bc4db479ed3b6", + "0x000000000000000000000000000000346f53133e766f120e02519b3ae6a409af", + "0x000000000000000000000000000000000017050439637be357ff6ffa820e79ba", + "0x000000000000000000000000000000accc4bce89352ecc213cbee6b11b644574", + "0x00000000000000000000000000000000002c5611d3b603c6e9ed40993fae94d4", "0x0000000000000000000000000000004288fb745aa3b78da694bc2f3c28178b53", "0x0000000000000000000000000000000000029292ff399aa7b20eb1f743696c46", "0x0000000000000000000000000000003582186b8e684671a476f80b8d0e114d5d", "0x00000000000000000000000000000000001b3109c18b36e49b5ef30578b4bc60", - "0x0000000000000000000000000000008d6fc90a3a9fbcff53235438c73b6c080e", - "0x000000000000000000000000000000000003442eeec81d4094db019ffb7533e7", - "0x000000000000000000000000000000d9aa26c8f680bc70a85cb8b18563636f6e", - "0x000000000000000000000000000000000012490fd5dcd5069ecdcd39c8948dbe", - "0x0000000000000000000000000000006bf8b81f212acbccf5a16024fe74c88ed7", - "0x0000000000000000000000000000000000052bc04022af390b626620812ce6d6", - "0x000000000000000000000000000000915347108f14203f8141fe9e1c0bb567bc", - "0x0000000000000000000000000000000000144162811cb3ebab9e8e729d4b03e0", - "0x000000000000000000000000000000c05f207c1c47e1fcaf3f7906c61bd5e254", - "0x00000000000000000000000000000000001110be7d2056bacce0581676c39991", - "0x0000000000000000000000000000008a3f09bb72740290588c36f0c1f11ac39e", - "0x000000000000000000000000000000000019a349fafd919fe7e0a75ad3e11254", - "0x0000000000000000000000000000009a624130dc339f4184524f34beed393293", - "0x00000000000000000000000000000000000c6f500c1aeae67b4259a5ae16272b", - "0x0000000000000000000000000000000e22c3d515ce26221f0e8c0d648c947160", - "0x000000000000000000000000000000000013cc98b6037fae6b69467e99137e34", - "0x00000000000000000000000000000096cb94d1ef32752287f589b6d629319d3b", - "0x00000000000000000000000000000000000b223a7b9a5c35304b6b3d532128fb", - "0x00000000000000000000000000000010c4622de618218ba31c33c95450d7c4d6", - "0x0000000000000000000000000000000000257665394a622e9b8d89b7a6658795", - "0x000000000000000000000000000000e9eec254b1f378307739aab40d8f521a70", - "0x00000000000000000000000000000000000f124b201daba05cf426456e658799", - "0x000000000000000000000000000000972cbb4868c8ad074643a1cbd825d3673b", - "0x00000000000000000000000000000000002cf752f8e219448ef973cc7302090c", - "0x000000000000000000000000000000fa20960279f6e88f06ada03ef8d6c795ed", - "0x00000000000000000000000000000000001b8fedcca1b712df0443c1b64177c1", - "0x000000000000000000000000000000a310a14308e029229287694dcd82add11f", - "0x00000000000000000000000000000000001f39b99f7053b2b4bc2d4bca4f1d58", - "0x000000000000000000000000000000f2db213b95008891d97c890fe6f4389023", - "0x00000000000000000000000000000000001a17cde236561d1b6fa7b3d4866939", - "0x000000000000000000000000000000e2e4e0d8c60ad654c3dd9d4caf630f4cab", - "0x0000000000000000000000000000000000264cb84410c801cf020c78d93d3e13", - "0x000000000000000000000000000000b9649bd7610150c3d9ec119bf19a0c41b0", - "0x000000000000000000000000000000000026cb12fe61991ca1f55595cb67e76f", - "0x00000000000000000000000000000027de516426752cea23cb58205f25ff1cf7", - "0x000000000000000000000000000000000017781aefdd517a6c0454e5ec25dfb3", - "0x0000000000000000000000000000008ec3447e86c9ad1866ba9e7cc0c0e22dcb", - "0x00000000000000000000000000000000000e94a665a6073a45b156d420c2f730", - "0x000000000000000000000000000000253311b05c03875245e79cdbec3cc72849", - "0x00000000000000000000000000000000001dacee007922df77506a0eee50348e", - "0x0000000000000000000000000000001ed51af61adcd07198edff6219ea20110c", - "0x000000000000000000000000000000000001bceb2ef2004d551c4322c5d8c133", - "0x0000000000000000000000000000004613191a4c75286ef3450602ed3aa828b2", - "0x00000000000000000000000000000000002382489b388a1b21bb1312946d3710", - "0x000000000000000000000000000000fad75b920db3af10b5ec390b672ebd5bf1", - "0x00000000000000000000000000000000003028f44055e2a6bc322512566557a9", - "0x0000000000000000000000000000006c15aab460fa3138e094f55665904fe356", - "0x00000000000000000000000000000000002a69c4b256b8ce1a62b9b0f9ae0769", - "0x000000000000000000000000000000b599dadd34a493879a86f2a2e7fa59a447", - "0x000000000000000000000000000000000000e2c09495662b937f00b3d95b07b7", - "0x0000000000000000000000000000008dc5e48d8f2d3e3312e8fb90a2ccba32ba", - "0x00000000000000000000000000000000002839453ce9910ed35335777904e98f", - "0x000000000000000000000000000000182a7408771ad8062e5790440d6283c342", - "0x00000000000000000000000000000000001bd67327bd1edc3d5a65628b99d0f5", - "0x00000000000000000000000000000068ff8f66a58c5cd6d38e47cc66c32d4290", - "0x000000000000000000000000000000000020b6ab3f53658acb89997d1f2e3046", - "0x0000000000000000000000000000003dd85a5f0dc104ff2f1b81dc8b039fdada", - "0x00000000000000000000000000000000001ad6ce67e6846f18a9ee18802096d9", - "0x000000000000000000000000000000d3a5cebc5d65a73153e5ef14e78ab10bc8", - "0x00000000000000000000000000000000000ca70cae7bbb918c0da461de8e9630", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -776,12 +776,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000894394ea3ef10b9595aa987083cd7ff940", - "0x000000000000000000000000000000000019896954051fd3a4d33f8298a25e11", - "0x000000000000000000000000000000d2ab8113b25ebcb75ea3136effd18d5876", - "0x000000000000000000000000000000000020b08373bf52ff065f711dbe6cca79" + "0x000000000000000000000000000000f0369d4a38e5a64d52fbb31400384975f5", + "0x00000000000000000000000000000000000a8ffc52c294fdd9d445e18783e097", + "0x00000000000000000000000000000067edf1fca1ebd44cbe8f5b86ee745388d3", + "0x00000000000000000000000000000000002afc9e0f04db1804ae103d81ec1780" ] - hash = "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222" + hash = "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840" [[inputs.previous_rollups]] proof = [ @@ -1313,8 +1313,8 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -1376,10 +1376,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x00dc1706f332f8cf2595309c29996696f14441d251ee002c7fcbc60276c771a3", - "0x1299947ee3339a67f9aabed5227667dbc6e41ed9dad428f542773c4b988cf536", - "0x219ca9152a362c31c9c7fa2e9cd27dfebf71f3d0f80094e20a8db59df4ce978b", - "0x023a8457fefbdd45dc281fe5623d12af0c53842b58181b99cb05f04c640885db" + "0x09dd5448788a66dc8f5566151c29733cdbbe92225aa183dccb99881599fbef41", + "0x22700efe2bf96efa7aad2222062b8c67a687f75599eb8134a841111517edf396", + "0x062d6b9c481138729726ee1b9371103abe37faea66808d8b846a6a66b69d3297", + "0x208f2a229a996e11b7c12f02b87071d51ecf1b5910a93c9deb3f05a050bcaca0" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1394,10 +1394,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7f9d34f" ] state = [ - "0x1cb2b2c758a3bf49c609283fc545888b8c1619a75a502c26584670adbb5c21ef", - "0x0f83ceb4a9f5b158cdf87e978b2bcc98db047b728edb517307f787a68d6c98ff", - "0x0b837a46e1028625808dea9625e61937bda40defa0f471e97b1d45b538eac128", - "0x20c06b3e0dd30c0b04f8bfb083132cd6245e62fe067b31e6ea58ac86745c33ae" + "0x01caab78bcc1c33ef98af8960e165fe9e79c20e4259e2b79a0d88efc20c97b64", + "0x1f6f2058a0a61e44b54a035bbcbe13dc9f5d0c510f78cc81dce0e909d08f208d", + "0x28ffaaa2c537f31a9f05ec057caba1d04d23faa7898f6fe633df935c40dab3fc", + "0x19adca264f85d60f48aa9a86a57f7275f289662cbf47aedb5e0b255c8fdfc75b" ] 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 = [ - "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1419,94 +1419,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003fbc16662469a690a82eeed0562f4035b2", - "0x000000000000000000000000000000000008f54f8a8ef61de79d05a62601ed64", - "0x000000000000000000000000000000dfb010fa2c43076ca30a041951c2b9bcb7", - "0x000000000000000000000000000000000020e5f02b05a122f44917fc0c1128ef", - "0x00000000000000000000000000000043146262dc9018fd48a737672ae0843910", - "0x0000000000000000000000000000000000093f00739351fb67c0c63cf5f3e278", - "0x0000000000000000000000000000007932904210916115193817f4da68710805", - "0x00000000000000000000000000000000001fe8624349d27f115d452bf4c89d84", - "0x000000000000000000000000000000d3bbd7255c861d7b0dfaf08cf0f8264c79", - "0x00000000000000000000000000000000001c58eeb1570ed99f6bc9051cec8dac", - "0x000000000000000000000000000000f7d31e0f1da188ab35a2deebfea558010d", - "0x00000000000000000000000000000000002722233797bb873de4f14f2af01fac", - "0x0000000000000000000000000000005dc49d7cb006fdd5029047120953272e10", - "0x0000000000000000000000000000000000294728ec7ff1db2f33d1a22ba1df3a", - "0x000000000000000000000000000000f2b723a4614cf72ac3bd0ba8c733d39fb7", - "0x00000000000000000000000000000000001d1bfc4b42525cc9db7d1624b430c5", - "0x00000000000000000000000000000070b11641dd66bfbd7e0ee0cd1c282001b9", - "0x00000000000000000000000000000000001073374f703f914dd782214d6a71aa", - "0x000000000000000000000000000000ad0079795c71e006a74ec751db140cda7b", - "0x00000000000000000000000000000000001e4cfddfe7a7a70704af95bd3887ab", - "0x000000000000000000000000000000f9b8542595cd0ded462fc60db46d677303", - "0x00000000000000000000000000000000002c20bf0a693f71f13332bfe0a9e2c1", - "0x000000000000000000000000000000b301a73660ce558a06908584fe9c826e7b", - "0x0000000000000000000000000000000000173301ea5c6f70c4a32068d4d93296", + "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", + "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", + "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", + "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", + "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", + "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", + "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", + "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", + "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", + "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", + "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", + "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", + "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", + "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", + "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", + "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", + "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", + "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", + "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", + "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", + "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", + "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", + "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", + "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x0000000000000000000000000000002e417c93b7d1c5b02b4e7144323978641c", - "0x000000000000000000000000000000000016456785a0ce15a4ce94c8652f4f29", - "0x000000000000000000000000000000d3e155b62eb3e9a1a4184c42f612003050", - "0x0000000000000000000000000000000000178c7aea42b5ed5be37f1f3c081a50", - "0x00000000000000000000000000000097c66fa2b7a2095918008ed009ff3e4d53", - "0x00000000000000000000000000000000000d36f590937ad915c62c97ef92db24", - "0x000000000000000000000000000000c78876954577cc16a4bd36c909d12c242c", - "0x00000000000000000000000000000000001abf2dbbfedee73ec49af5d5cf3d93", - "0x00000000000000000000000000000002906b936db6564d2c8cb755871fec9ba5", - "0x000000000000000000000000000000000009bdd2c28bb85f73db44d7f19764e8", - "0x0000000000000000000000000000005619aef7c105a6982d27ec420df50990dc", - "0x00000000000000000000000000000000001573e3ca5a8b066111d3c4b391f6ba", - "0x000000000000000000000000000000584f681479b8b7a8e818cd707cd1051a63", - "0x0000000000000000000000000000000000162e8876cb14a2fe6a5daec078cf9d", - "0x000000000000000000000000000000d019ff8c4dc54173d85777f03511d5c524", - "0x0000000000000000000000000000000000023745df1607470c15621ac1153c98", - "0x000000000000000000000000000000a8f84e218abee7173218d11b71bce4615e", - "0x00000000000000000000000000000000002de92e0199ac3222083130d4053995", - "0x000000000000000000000000000000a3de4637cbf3e9c052d857d9d1ea940554", - "0x00000000000000000000000000000000001b982ee6bdb00701bff1caa66e3704", - "0x000000000000000000000000000000b4587a5fbfa2dee7be4870e990f74c9979", - "0x000000000000000000000000000000000007200194316a77a9c2275a52c28fcc", - "0x0000000000000000000000000000009f042648de7d15f6234993deb0acb15fa3", - "0x0000000000000000000000000000000000003e76d37900f0ed06e688b3cb3a02", - "0x00000000000000000000000000000033d4a1e8d4090be3166b130411d074c69a", - "0x0000000000000000000000000000000000121f19653c45b5db5ee5b42d030e60", - "0x0000000000000000000000000000009ab49c0c77ef5a2231523523cf493b44e6", - "0x000000000000000000000000000000000004a4c181513deb62effaf2d9a2984b", - "0x00000000000000000000000000000084109d4ef4cc42832e161de71c1ad19efd", - "0x0000000000000000000000000000000000036358adba59a64d2671acc2c289f6", - "0x0000000000000000000000000000006b717dca9b34e6acd1073cdd82166b88f2", - "0x00000000000000000000000000000000000e3c19fbc16b1f444f5aab654c8193", - "0x000000000000000000000000000000646c7b49bec70237fbe881c6825afbb950", - "0x0000000000000000000000000000000000081ca71832f1c2424d65eafedcf2e8", - "0x000000000000000000000000000000637115a4eaba3ebbcccb15cb0d4afbb9c4", - "0x000000000000000000000000000000000027c2807ec961b649a0356c378aa662", - "0x0000000000000000000000000000004882c036291e0e5488104b0acacea2e855", - "0x0000000000000000000000000000000000253a42001329ed9a939faa44a2d872", - "0x000000000000000000000000000000e3333de06ba00789cf226303b320681e93", - "0x00000000000000000000000000000000000118000b42422a164dc36f1c9b9554", - "0x00000000000000000000000000000021763224f6c1ba8b36594571e5211b79cc", - "0x000000000000000000000000000000000002de8adb6b4c3ed17a3a929153d7d9", - "0x0000000000000000000000000000000de6844074cde92063d077e924b2beb9f5", - "0x00000000000000000000000000000000002c84f5fa8d1a69d17dd434151d8dfd", - "0x0000000000000000000000000000004f391e1929fa5731ee6fa8c6e565efd5a9", - "0x000000000000000000000000000000000023e9d34688324597f5a778d3b2f109", - "0x000000000000000000000000000000747bee89c9186428af38ab7563505a8c5b", - "0x000000000000000000000000000000000025799a05e2c7719f14476e8358e7b4", - "0x0000000000000000000000000000004da47862213660f5aa944d80454d820320", - "0x00000000000000000000000000000000000f6953b75619e0d7b1215fa2890877", - "0x0000000000000000000000000000006751ecc8103ec109833f7c55bdb8ee4454", - "0x000000000000000000000000000000000008811e2951fe1b5f0828bcee2d1910", - "0x000000000000000000000000000000a09fb5de4347998b12080c4a1e5908452a", - "0x0000000000000000000000000000000000248cab55cb89b59b1eb59578a4d136", - "0x00000000000000000000000000000083233ef1fea46f198c6887032b3cba7f15", - "0x000000000000000000000000000000000029d74bf2eeb5703bf75be730944027", - "0x0000000000000000000000000000006dad1befcf56a281395f6d5d72096a78b5", - "0x00000000000000000000000000000000002acf0ffb8723f8258298901efddddf", - "0x000000000000000000000000000000be9e378d8eb6d0a29771a783c5dabf0508", - "0x00000000000000000000000000000000002ac8995a1511a781a24a28a703b176", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1527,9 +1527,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000002ed33f27053664af6c719cb4b410a039a9", - "0x000000000000000000000000000000000010e23560b297025255b2550ed429f9", - "0x000000000000000000000000000000a64164028d64310fdb9540282e2cd87fd6", - "0x000000000000000000000000000000000026d14a83fe401bc25c220e66d45075" + "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", + "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", + "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", + "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" ] - hash = "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613" + hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" 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 51db529ee4bc..c741f2b61614 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 = [ - "0x003be4584dd5f43526d329f4f79bc1fbc6a4d58735a4c2b9961941170cc0e3dc", + "0x0040f1b22615558ae81d4b0584ffa3a0a84e34df392de9d6893c1200f3417244", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -559,17 +559,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x06f86a3e00bc9a33987f5ae6acc22aa514d1b074d424856476dcc08f74adc993" + root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x0d09797f7e3bb4d97e3231122ef4f95a989fc6e73b03a0271aad2a946bcac35c" + root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" 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 = "0x000000000000000000000000000000000000000000000000000001e93c240000" + value = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [[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 = "0x00fa4f6daa4ed49831de6a64efed6f1dc28c1ea1ad3b5041d38400ccb1807ad7" - z_acc = "0x2d9f0fe5ff1032a91d5b8b1a27a878ea5d6ec999509cd4d9dd1b301c4540ade7" - gamma_acc = "0x10ce324a519ee34a6afd8c524ab8981eae40754112adcad5aac49c33e942c0b6" + blob_commitments_hash_acc = "0x00bd0f07d3feee2b0c6b3bdf08582626623244990a3915af768fc37f9cd5efae" + z_acc = "0x1ebe3b93201375ea93b193dd286f622d61783b1a174ed2e993082133f71ff148" + gamma_acc = "0x2820cc1b1817484b1f0f42bc000ff717e4b787f8142773e771c992ffd532611f" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0x48550979e886790e5420ebef49cdf0", - "0xcc2b37ff43b19bcd742c7df45b424f", - "0x64d3" + "0x8d32fa0ef518a993847ddbfc735f8d", + "0xb2d8b64fe2db288926d94813c6fb58", + "0x1b13" ] [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 = [ - "0xd2b7165b30f9c45e60b5da7c24b1b7", - "0x4ed63eb366734292a816cbd376449c", - "0x012c348c94d65bc94cb6af47edc433", - "0x041dfe" + "0xfb921764984cb7efe72117ef84ad82", + "0x703c9e0ea80f4284bd670914dca5fd", + "0x5412ff49e08661ac07a65cd230765a", + "0x0862d5" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x74307b639d4b31b6ba4b657a149bbf", - "0x860167876054988f925ba05d580af5", - "0xdf9c432d6290b897216b6539c152b3", - "0x0053d6" + "0x8633a467ef4090639b1ec130faa09a", + "0x1ee6ab882baf9cec6f1284dd8dc4c6", + "0x23f1a8f226f504a5462d9459db584b", + "0x0b238c" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x1b4ca0dbb6e8c0e65722308ed5db58fdc77a56221c9213a12ac9e2e9a5f92a19" + z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" sibling_path = [ - "0x2477e3b047ac6fac5cf7194b2018eb8f2086ff73d256aa600fa9d403fc071019", - "0x29ecb4e8ef25bf0634ff75266b9b6d0537bca0bb9259ef78d4e2239faf24cea3", - "0x25b928e2d752b813eba17968ae84f33502b903af9fdc899573e63269b8dbe1f0", + "0x2700b81d4a245e8a31e04d713df866800b2968347c1fc0e39646558ab413c6c0", + "0x2dc40a2eaacdda4dd5300328637750eebdcfb29b66d4ac646345f2e6903e02e4", + "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -875,94 +875,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003080e8bb6282f861379d8669ec4ae08c78", - "0x0000000000000000000000000000000000281b3c42a99aa0573f057e76115494", - "0x000000000000000000000000000000ef93500f6cf857acfedc9e1f997f774d1e", - "0x000000000000000000000000000000000028ab601ccc3a061563abed22198daf", - "0x000000000000000000000000000000404795a68288433b25bbb34d4eed85a406", - "0x000000000000000000000000000000000002c5022a49f1a6960ac677acd2987c", - "0x0000000000000000000000000000008f9f61d1e1753aa9e6b99469e6b51a0b98", - "0x000000000000000000000000000000000002151746c2a62dbd9fcfed4205520d", - "0x0000000000000000000000000000007a2fd724a74c84445bf87d7af458b9e623", - "0x00000000000000000000000000000000000dc250470ac6d1b89dac806459775f", - "0x000000000000000000000000000000616dbc3489d14f3818ef0ef6031f001d85", - "0x00000000000000000000000000000000002f323495ee2f51ef3a2e764fd1a92e", - "0x000000000000000000000000000000f6dc9dceba40e255b6628f0b32491173fb", - "0x00000000000000000000000000000000001dc926c6f50dfc94dafcaede94881f", - "0x000000000000000000000000000000049ff6f77f283b8411b48ae9575ed64758", - "0x00000000000000000000000000000000002adb6b83eb129c7c13c11d73821be5", - "0x0000000000000000000000000000003c178fa9a1cd6b77644ef872c35033b732", - "0x0000000000000000000000000000000000281deca042e3357425d17834adcc81", - "0x00000000000000000000000000000081b4f3142026b5065c10499c693211f1fa", - "0x0000000000000000000000000000000000029ed5ba245c9f1577df0d7362aeee", - "0x000000000000000000000000000000eebea8775dff4ab2706adc80e1cb852a80", - "0x00000000000000000000000000000000001553865e98171ecddc73dd4200ba8d", - "0x000000000000000000000000000000452d6784b8ea040dd5d5ba81fc96e4847d", - "0x000000000000000000000000000000000001d9b7cc92324e2e1f9cf455e110aa", + "0x000000000000000000000000000000db17fd29852c2999b7e61d3f55b86008fe", + "0x000000000000000000000000000000000012fc31fdcc7839edb28ef47a0aec57", + "0x000000000000000000000000000000a5a41cfe47ae5bc7e9e6e5dd0c97ba26db", + "0x00000000000000000000000000000000001891c9cff4f67755f4afd3430ba54e", + "0x000000000000000000000000000000cca1bffca7adde04dc5e3ff1bc2b87cd82", + "0x000000000000000000000000000000000018431d64d88a7c57ba3eb2660de56b", + "0x0000000000000000000000000000008b03b411aae549f22a12de4146ada37043", + "0x0000000000000000000000000000000000211850a447779d8d3c0f50193afaa9", + "0x000000000000000000000000000000b18709d746129d44ae5f1feb67956c1e1f", + "0x0000000000000000000000000000000000214d619198a754a59946a753ec3ecb", + "0x0000000000000000000000000000000f60bd69972504c4d537e16d61ad0c611f", + "0x000000000000000000000000000000000028afab4953379e5b7a478f75823e8d", + "0x0000000000000000000000000000003395ca232a4cda50041b4ceb2780009843", + "0x00000000000000000000000000000000002ec5786220a61bc5b8b8e39dd26436", + "0x000000000000000000000000000000dd2bbf4477a817489389e74e78ece66a0d", + "0x00000000000000000000000000000000000b4e71b2810764d0dfc85d29992955", + "0x000000000000000000000000000000bf659e1baa35037beb78b5fb3829bc15cb", + "0x00000000000000000000000000000000001005a7bd9fa94335dfdcf9ce1028d2", + "0x0000000000000000000000000000004bd597e26976b2bb70f3209c12b6de59fa", + "0x0000000000000000000000000000000000282e1bcd374b8c5fabfa8756988257", + "0x00000000000000000000000000000052ded6f9a4f5f137750ec6c351c6d07271", + "0x00000000000000000000000000000000002623251b01fcf83822556c436ee8e7", + "0x0000000000000000000000000000002a6f8f73f30bc60ba51f98b2d6efb09806", + "0x00000000000000000000000000000000001593eebc92eac3bd41a92d178044ce", "0x0000000000000000000000000000004b9cd87af8615fd21a50f9d2d6f5bac356", "0x00000000000000000000000000000000002fea96f32103760ddbb66d2b64dc5c", "0x000000000000000000000000000000cf57cca060c094a74ad685146e8fdb5c3e", "0x00000000000000000000000000000000000a71f47258b8aa04fa23f39812abf3", - "0x0000000000000000000000000000009de30be09ed90971079adb23a3da3f26ae", - "0x0000000000000000000000000000000000195c2a1ccdd2ef7a45cf6707dc11e8", - "0x000000000000000000000000000000998fd9c52a47ed30ca41ebdeecd3a6fc2a", - "0x000000000000000000000000000000000021c4249ed28620a6f8f5a9c131bfa5", - "0x000000000000000000000000000000b01fc4afa7348165f7074b14fa94cc6f49", - "0x00000000000000000000000000000000002f87c76909dd3409e13f0329263746", - "0x000000000000000000000000000000a5f3d5e44dd17958acc3b68749a410a4c5", - "0x00000000000000000000000000000000001b04ef626f653581ab3ad6cd61ff91", - "0x0000000000000000000000000000002f8837e91c11ceb14a661c81c5f1b422c7", - "0x0000000000000000000000000000000000246e8914d461b58181e924c37179a2", - "0x000000000000000000000000000000d5d939724521a09176bb286d3bd54fcc65", - "0x00000000000000000000000000000000001ed97dd46cd90f7be486dd9ade8617", - "0x000000000000000000000000000000f2b41bb44ae596f6a366512f119a5909a6", - "0x00000000000000000000000000000000000563af5cf005f46808cddc09a3766f", - "0x0000000000000000000000000000002f929ffcbcd89a015e49628d3d72be9098", - "0x00000000000000000000000000000000002ea3b4cd4c51ed5fb8709840e0adb6", - "0x000000000000000000000000000000d14e2222b479e8e24819a1306e11c7fb56", - "0x00000000000000000000000000000000002935cf256fcad02db7749134ed5010", - "0x000000000000000000000000000000cfc2aaf1931bfccfd87792557e06a5581e", - "0x00000000000000000000000000000000001ef2c4dee00ca20f260c301565ed24", - "0x00000000000000000000000000000071f73e274ea415afa32ddd8ccc9b72d3e5", - "0x00000000000000000000000000000000002ffe18a77a1e2fe582086af7258a27", - "0x000000000000000000000000000000c26dbab8d6fd3827308b790b3088f62b86", - "0x00000000000000000000000000000000000d818aed5c0874e162612a139723ea", - "0x000000000000000000000000000000a62380fa25db8c80555468354de6667932", - "0x0000000000000000000000000000000000148dd2f7c788fa102541aa31581002", - "0x000000000000000000000000000000a8f2bf8b20a4737567671bd7b4f23f3cce", - "0x000000000000000000000000000000000021eeefd51d3de0dfdc8f76bdc60fc8", - "0x0000000000000000000000000000007d49b54977529b5237e3341672ea2711a7", - "0x00000000000000000000000000000000002aef4b3d565d75b15a3ba2d51e5c02", - "0x000000000000000000000000000000138f8c3a64c7cc4523ae85bf05e0b68950", - "0x000000000000000000000000000000000028f1aecfa55dff2eea2b4a280d60e4", - "0x000000000000000000000000000000894b5912ab359fefcd3cf7687acbf3c351", - "0x00000000000000000000000000000000002c69c5555357e19bf07c4933174686", - "0x000000000000000000000000000000964826538cb2e27913fca73fffe7653477", - "0x000000000000000000000000000000000019025dccf187a1f8c3f9c14b5901c2", - "0x000000000000000000000000000000018df723fa7cc607b1452f28be7545ed0d", - "0x00000000000000000000000000000000000f1b2e907d08e560cb4bb448fa446d", - "0x000000000000000000000000000000eb49c6a6c170cf57c5a542a8707aeef0d2", - "0x00000000000000000000000000000000001d517469e1abb169fff4da9d945710", - "0x00000000000000000000000000000006201c479c7c1de1fbca387f58e03a36e7", - "0x000000000000000000000000000000000026af4a90a90e9d2c39d2a94b1d7ebc", - "0x000000000000000000000000000000d2550357b868c2983d0973538dafcc63f2", - "0x00000000000000000000000000000000001283e6b9335f457de1db9d40921b90", - "0x000000000000000000000000000000dfdb5322f8da0bf33d84cbbfc47a3cbcd3", - "0x00000000000000000000000000000000002c1edb18b4b1c417dcd5a51145b7fe", - "0x000000000000000000000000000000cc465457c2f4a05cbc482c6cd750b93e26", - "0x00000000000000000000000000000000000f9cc4cfe394eb1ca503bac62303a3", - "0x0000000000000000000000000000000368014ee8b57d52d2382a722b91315029", - "0x00000000000000000000000000000000000c7c1892091d42c1d5b9f3c33aafb3", - "0x00000000000000000000000000000077b43d083d1baf924e0ad6d11046e923df", - "0x000000000000000000000000000000000002b2c21bf718f2d60437c49fd6ebf3", - "0x00000000000000000000000000000031f495863904c9b12e16b97ca7c3084be8", - "0x00000000000000000000000000000000002150ae6218b00fa9e38ea3339216ad", - "0x000000000000000000000000000000a08374ea0041e0c44473060b0ea4edad90", - "0x000000000000000000000000000000000013362763bd557e57e25322d5021b9b", - "0x000000000000000000000000000000f8e7ab944b65495347980be06a5ffdb502", - "0x000000000000000000000000000000000013d677ccbd7fb4ae0f20c2763e29f0", - "0x000000000000000000000000000000cd9acebebf7a821fa77f29ccccd93517c3", - "0x000000000000000000000000000000000023de261481462e48e4c5fb4d9197a3", + "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", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -983,12 +983,12 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ebc6c52018c3a03a446087f28f2ea4c74d", - "0x000000000000000000000000000000000011cd71976237d30662cf3d7a17b484", - "0x000000000000000000000000000000ca71cfe4082b7b53baf22135f5db630f78", - "0x00000000000000000000000000000000001dbb43d59412e18d935ac1aba3de9e" + "0x0000000000000000000000000000008671ae493f893cd6f74bd8a39fba23e8b1", + "0x00000000000000000000000000000000000aac3112a141721a7072d26e5f4580", + "0x0000000000000000000000000000008923d98a692c0374b043c5fa8c99bd8be2", + "0x00000000000000000000000000000000001892909317c5f8a3fedf24a6033a8e" ] - hash = "0x066444da951db8ce2e1f253074db1b4c87570bb75a9a54fdb320c59b3bd9312b" + hash = "0x14c855cd401b2cf3f12e47f5c4d110f74e8f933898319866997f7c4ef86bf5c9" [[inputs.previous_rollups]] proof = [ @@ -1515,7 +1515,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00212da9605705286b09ca587f9fbc359bb43ec261c01bcc19ca8bc0494d8844", + "0x00d354e6113db554821326623f6764e8bce1bd876771e684c3edcc535f59d31e", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1551,17 +1551,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x0d09797f7e3bb4d97e3231122ef4f95a989fc6e73b03a0271aad2a946bcac35c" + root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2a968b103a3818409a621ab8304947f1f9151310ad574c7edfa4806d85457211" + root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" 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 = "0x00000000000000000000000000000000000000000000000000035e54bfaa3a00" + value = "0x0000000000000000000000000000000000000000000000000002fb176f0c06a0" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [[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 = "0x00fa4f6daa4ed49831de6a64efed6f1dc28c1ea1ad3b5041d38400ccb1807ad7" - z_acc = "0x2d9f0fe5ff1032a91d5b8b1a27a878ea5d6ec999509cd4d9dd1b301c4540ade7" - gamma_acc = "0x10ce324a519ee34a6afd8c524ab8981eae40754112adcad5aac49c33e942c0b6" + blob_commitments_hash_acc = "0x00bd0f07d3feee2b0c6b3bdf08582626623244990a3915af768fc37f9cd5efae" + z_acc = "0x1ebe3b93201375ea93b193dd286f622d61783b1a174ed2e993082133f71ff148" + gamma_acc = "0x2820cc1b1817484b1f0f42bc000ff717e4b787f8142773e771c992ffd532611f" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0x48550979e886790e5420ebef49cdf0", - "0xcc2b37ff43b19bcd742c7df45b424f", - "0x64d3" + "0x8d32fa0ef518a993847ddbfc735f8d", + "0xb2d8b64fe2db288926d94813c6fb58", + "0x1b13" ] [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 = [ - "0xd2b7165b30f9c45e60b5da7c24b1b7", - "0x4ed63eb366734292a816cbd376449c", - "0x012c348c94d65bc94cb6af47edc433", - "0x041dfe" + "0xfb921764984cb7efe72117ef84ad82", + "0x703c9e0ea80f4284bd670914dca5fd", + "0x5412ff49e08661ac07a65cd230765a", + "0x0862d5" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0x74307b639d4b31b6ba4b657a149bbf", - "0x860167876054988f925ba05d580af5", - "0xdf9c432d6290b897216b6539c152b3", - "0x0053d6" + "0x8633a467ef4090639b1ec130faa09a", + "0x1ee6ab882baf9cec6f1284dd8dc4c6", + "0x23f1a8f226f504a5462d9459db584b", + "0x0b238c" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x00e2df938f2494e9d9876f5e876b2a193568b439523d9ff028162e7df8433d0f" - z_acc = "0x1c64592b4f438335cfd638b778dd28f442f1ad5aeb334fab814a5f4ee63fab81" - gamma_acc = "0x078856af652a00a6c00bb6d87ca4ac5717898f5594a0976daa9e91cecb3d7549" + blob_commitments_hash_acc = "0x005c63d9aa9270a4b3cacb1cbb8b7cdbdb5b138d385a0865873c0abc267063f1" + z_acc = "0x069067b815f970c0150b7d1430d4a3bcbd175175e2bb3549fef230de160fa5ac" + gamma_acc = "0x05f3e9fcb19599b9d2303954010c43e78565c63ddc49b3539cdbd3dd603bf386" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0xd70a2b49f15c711974bb4248df74ef", - "0x777e94a6be237c05fd73026d398209", - "0x31cf" + "0x702a0bca2befc9241234171a536036", + "0x06702b3a16e879f8a1b072a1e831ee", + "0x3e37" ] [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 = [ - "0x2ee54c8dd3936e8c3599c49b511ecc", - "0x72bde119568faf76b634ffac25ae71", - "0xfb0b39e4472ac07c318c16f039425b", - "0x0db236" + "0xb446deda21d8ab5ff37f08ff106b88", + "0x71a669a5369c04e8fd32ee634cf642", + "0x2ddf85a729c44304184dbf0c14f245", + "0x08dbc6" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xdcbb77480a615c6bdf93cc5d9d39a7", - "0x0f512a659432320bb8c415c14d7d16", - "0xa32225dcb2358c862b7ce70cceb42c", - "0x1793c4" + "0xaef3b6c7e4a37dcde6f253a1e9d975", + "0x0055814914625ac8acb0b8d4bb4f11", + "0xc9412391732a60b713200e79b20f3f", + "0x13ba12" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xdc3d31fe18373199600e01b62cefbd", - "0x3a719b135849948edc2be6f15ee9bd", - "0x3147" + "0xd6af1f294fd4344503d9bd06709e20", + "0x87ad74f4b587339e0552d998ccf27b", + "0x30b5" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x1b4ca0dbb6e8c0e65722308ed5db58fdc77a56221c9213a12ac9e2e9a5f92a19" + z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" sibling_path = [ - "0x2477e3b047ac6fac5cf7194b2018eb8f2086ff73d256aa600fa9d403fc071019", - "0x29ecb4e8ef25bf0634ff75266b9b6d0537bca0bb9259ef78d4e2239faf24cea3", - "0x25b928e2d752b813eba17968ae84f33502b903af9fdc899573e63269b8dbe1f0", + "0x2700b81d4a245e8a31e04d713df866800b2968347c1fc0e39646558ab413c6c0", + "0x2dc40a2eaacdda4dd5300328637750eebdcfb29b66d4ac646345f2e6903e02e4", + "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1867,94 +1867,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003080e8bb6282f861379d8669ec4ae08c78", - "0x0000000000000000000000000000000000281b3c42a99aa0573f057e76115494", - "0x000000000000000000000000000000ef93500f6cf857acfedc9e1f997f774d1e", - "0x000000000000000000000000000000000028ab601ccc3a061563abed22198daf", - "0x000000000000000000000000000000404795a68288433b25bbb34d4eed85a406", - "0x000000000000000000000000000000000002c5022a49f1a6960ac677acd2987c", - "0x0000000000000000000000000000008f9f61d1e1753aa9e6b99469e6b51a0b98", - "0x000000000000000000000000000000000002151746c2a62dbd9fcfed4205520d", - "0x0000000000000000000000000000007a2fd724a74c84445bf87d7af458b9e623", - "0x00000000000000000000000000000000000dc250470ac6d1b89dac806459775f", - "0x000000000000000000000000000000616dbc3489d14f3818ef0ef6031f001d85", - "0x00000000000000000000000000000000002f323495ee2f51ef3a2e764fd1a92e", - "0x000000000000000000000000000000f6dc9dceba40e255b6628f0b32491173fb", - "0x00000000000000000000000000000000001dc926c6f50dfc94dafcaede94881f", - "0x000000000000000000000000000000049ff6f77f283b8411b48ae9575ed64758", - "0x00000000000000000000000000000000002adb6b83eb129c7c13c11d73821be5", - "0x0000000000000000000000000000003c178fa9a1cd6b77644ef872c35033b732", - "0x0000000000000000000000000000000000281deca042e3357425d17834adcc81", - "0x00000000000000000000000000000081b4f3142026b5065c10499c693211f1fa", - "0x0000000000000000000000000000000000029ed5ba245c9f1577df0d7362aeee", - "0x000000000000000000000000000000eebea8775dff4ab2706adc80e1cb852a80", - "0x00000000000000000000000000000000001553865e98171ecddc73dd4200ba8d", - "0x000000000000000000000000000000452d6784b8ea040dd5d5ba81fc96e4847d", - "0x000000000000000000000000000000000001d9b7cc92324e2e1f9cf455e110aa", + "0x000000000000000000000000000000db17fd29852c2999b7e61d3f55b86008fe", + "0x000000000000000000000000000000000012fc31fdcc7839edb28ef47a0aec57", + "0x000000000000000000000000000000a5a41cfe47ae5bc7e9e6e5dd0c97ba26db", + "0x00000000000000000000000000000000001891c9cff4f67755f4afd3430ba54e", + "0x000000000000000000000000000000cca1bffca7adde04dc5e3ff1bc2b87cd82", + "0x000000000000000000000000000000000018431d64d88a7c57ba3eb2660de56b", + "0x0000000000000000000000000000008b03b411aae549f22a12de4146ada37043", + "0x0000000000000000000000000000000000211850a447779d8d3c0f50193afaa9", + "0x000000000000000000000000000000b18709d746129d44ae5f1feb67956c1e1f", + "0x0000000000000000000000000000000000214d619198a754a59946a753ec3ecb", + "0x0000000000000000000000000000000f60bd69972504c4d537e16d61ad0c611f", + "0x000000000000000000000000000000000028afab4953379e5b7a478f75823e8d", + "0x0000000000000000000000000000003395ca232a4cda50041b4ceb2780009843", + "0x00000000000000000000000000000000002ec5786220a61bc5b8b8e39dd26436", + "0x000000000000000000000000000000dd2bbf4477a817489389e74e78ece66a0d", + "0x00000000000000000000000000000000000b4e71b2810764d0dfc85d29992955", + "0x000000000000000000000000000000bf659e1baa35037beb78b5fb3829bc15cb", + "0x00000000000000000000000000000000001005a7bd9fa94335dfdcf9ce1028d2", + "0x0000000000000000000000000000004bd597e26976b2bb70f3209c12b6de59fa", + "0x0000000000000000000000000000000000282e1bcd374b8c5fabfa8756988257", + "0x00000000000000000000000000000052ded6f9a4f5f137750ec6c351c6d07271", + "0x00000000000000000000000000000000002623251b01fcf83822556c436ee8e7", + "0x0000000000000000000000000000002a6f8f73f30bc60ba51f98b2d6efb09806", + "0x00000000000000000000000000000000001593eebc92eac3bd41a92d178044ce", "0x0000000000000000000000000000004b9cd87af8615fd21a50f9d2d6f5bac356", "0x00000000000000000000000000000000002fea96f32103760ddbb66d2b64dc5c", "0x000000000000000000000000000000cf57cca060c094a74ad685146e8fdb5c3e", "0x00000000000000000000000000000000000a71f47258b8aa04fa23f39812abf3", - "0x0000000000000000000000000000009de30be09ed90971079adb23a3da3f26ae", - "0x0000000000000000000000000000000000195c2a1ccdd2ef7a45cf6707dc11e8", - "0x000000000000000000000000000000998fd9c52a47ed30ca41ebdeecd3a6fc2a", - "0x000000000000000000000000000000000021c4249ed28620a6f8f5a9c131bfa5", - "0x000000000000000000000000000000b01fc4afa7348165f7074b14fa94cc6f49", - "0x00000000000000000000000000000000002f87c76909dd3409e13f0329263746", - "0x000000000000000000000000000000a5f3d5e44dd17958acc3b68749a410a4c5", - "0x00000000000000000000000000000000001b04ef626f653581ab3ad6cd61ff91", - "0x0000000000000000000000000000002f8837e91c11ceb14a661c81c5f1b422c7", - "0x0000000000000000000000000000000000246e8914d461b58181e924c37179a2", - "0x000000000000000000000000000000d5d939724521a09176bb286d3bd54fcc65", - "0x00000000000000000000000000000000001ed97dd46cd90f7be486dd9ade8617", - "0x000000000000000000000000000000f2b41bb44ae596f6a366512f119a5909a6", - "0x00000000000000000000000000000000000563af5cf005f46808cddc09a3766f", - "0x0000000000000000000000000000002f929ffcbcd89a015e49628d3d72be9098", - "0x00000000000000000000000000000000002ea3b4cd4c51ed5fb8709840e0adb6", - "0x000000000000000000000000000000d14e2222b479e8e24819a1306e11c7fb56", - "0x00000000000000000000000000000000002935cf256fcad02db7749134ed5010", - "0x000000000000000000000000000000cfc2aaf1931bfccfd87792557e06a5581e", - "0x00000000000000000000000000000000001ef2c4dee00ca20f260c301565ed24", - "0x00000000000000000000000000000071f73e274ea415afa32ddd8ccc9b72d3e5", - "0x00000000000000000000000000000000002ffe18a77a1e2fe582086af7258a27", - "0x000000000000000000000000000000c26dbab8d6fd3827308b790b3088f62b86", - "0x00000000000000000000000000000000000d818aed5c0874e162612a139723ea", - "0x000000000000000000000000000000a62380fa25db8c80555468354de6667932", - "0x0000000000000000000000000000000000148dd2f7c788fa102541aa31581002", - "0x000000000000000000000000000000a8f2bf8b20a4737567671bd7b4f23f3cce", - "0x000000000000000000000000000000000021eeefd51d3de0dfdc8f76bdc60fc8", - "0x0000000000000000000000000000007d49b54977529b5237e3341672ea2711a7", - "0x00000000000000000000000000000000002aef4b3d565d75b15a3ba2d51e5c02", - "0x000000000000000000000000000000138f8c3a64c7cc4523ae85bf05e0b68950", - "0x000000000000000000000000000000000028f1aecfa55dff2eea2b4a280d60e4", - "0x000000000000000000000000000000894b5912ab359fefcd3cf7687acbf3c351", - "0x00000000000000000000000000000000002c69c5555357e19bf07c4933174686", - "0x000000000000000000000000000000964826538cb2e27913fca73fffe7653477", - "0x000000000000000000000000000000000019025dccf187a1f8c3f9c14b5901c2", - "0x000000000000000000000000000000018df723fa7cc607b1452f28be7545ed0d", - "0x00000000000000000000000000000000000f1b2e907d08e560cb4bb448fa446d", - "0x000000000000000000000000000000eb49c6a6c170cf57c5a542a8707aeef0d2", - "0x00000000000000000000000000000000001d517469e1abb169fff4da9d945710", - "0x00000000000000000000000000000006201c479c7c1de1fbca387f58e03a36e7", - "0x000000000000000000000000000000000026af4a90a90e9d2c39d2a94b1d7ebc", - "0x000000000000000000000000000000d2550357b868c2983d0973538dafcc63f2", - "0x00000000000000000000000000000000001283e6b9335f457de1db9d40921b90", - "0x000000000000000000000000000000dfdb5322f8da0bf33d84cbbfc47a3cbcd3", - "0x00000000000000000000000000000000002c1edb18b4b1c417dcd5a51145b7fe", - "0x000000000000000000000000000000cc465457c2f4a05cbc482c6cd750b93e26", - "0x00000000000000000000000000000000000f9cc4cfe394eb1ca503bac62303a3", - "0x0000000000000000000000000000000368014ee8b57d52d2382a722b91315029", - "0x00000000000000000000000000000000000c7c1892091d42c1d5b9f3c33aafb3", - "0x00000000000000000000000000000077b43d083d1baf924e0ad6d11046e923df", - "0x000000000000000000000000000000000002b2c21bf718f2d60437c49fd6ebf3", - "0x00000000000000000000000000000031f495863904c9b12e16b97ca7c3084be8", - "0x00000000000000000000000000000000002150ae6218b00fa9e38ea3339216ad", - "0x000000000000000000000000000000a08374ea0041e0c44473060b0ea4edad90", - "0x000000000000000000000000000000000013362763bd557e57e25322d5021b9b", - "0x000000000000000000000000000000f8e7ab944b65495347980be06a5ffdb502", - "0x000000000000000000000000000000000013d677ccbd7fb4ae0f20c2763e29f0", - "0x000000000000000000000000000000cd9acebebf7a821fa77f29ccccd93517c3", - "0x000000000000000000000000000000000023de261481462e48e4c5fb4d9197a3", + "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", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -1975,9 +1975,9 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ebc6c52018c3a03a446087f28f2ea4c74d", - "0x000000000000000000000000000000000011cd71976237d30662cf3d7a17b484", - "0x000000000000000000000000000000ca71cfe4082b7b53baf22135f5db630f78", - "0x00000000000000000000000000000000001dbb43d59412e18d935ac1aba3de9e" + "0x0000000000000000000000000000008671ae493f893cd6f74bd8a39fba23e8b1", + "0x00000000000000000000000000000000000aac3112a141721a7072d26e5f4580", + "0x0000000000000000000000000000008923d98a692c0374b043c5fa8c99bd8be2", + "0x00000000000000000000000000000000001892909317c5f8a3fedf24a6033a8e" ] - hash = "0x066444da951db8ce2e1f253074db1b4c87570bb75a9a54fdb320c59b3bd9312b" + hash = "0x14c855cd401b2cf3f12e47f5c4d110f74e8f933898319866997f7c4ef86bf5c9" 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 9113ae0f5e62..8c5a8146c706 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 = "0x00000000000000000000000000000000000000000000000000000000698f0119" - block_headers_hash = "0x11426096e5c8f21e420da7e385375fc5d3741982a09dd67bbf5fa0b7e8691545" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c29f" + block_headers_hash = "0x0a90256c32c40686bdaa5ac79803ac89092444da3fdb22c4500cefc9bc0527dc" in_hash = "0x00de7b349d2306334734e4f58b1302a6ed5a6c796a706f6597a5641b6d468223" out_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" - accumulated_fees = "0x000000000000000000000000000000000000000000000000000001e93c240000" - accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" + accumulated_fees = "0x0000000000000000000000000000000000000000000000000002fb176f0c06a0" + accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000038675" [inputs.previous_rollup.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000042" [inputs.previous_rollup.public_inputs.constants.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x00000000000000000000000000000000000000000000000000000000f49e1200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" [inputs.previous_rollup.public_inputs.previous_archive] - root = "0x06f86a3e00bc9a33987f5ae6acc22aa514d1b074d424856476dcc08f74adc993" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" + root = "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" [inputs.previous_rollup.public_inputs.new_archive] - root = "0x0d09797f7e3bb4d97e3231122ef4f95a989fc6e73b03a0271aad2a946bcac35c" - next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" + root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" + next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollup.public_inputs.start_state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [inputs.previous_rollup.public_inputs.start_state.partial.note_hash_tree] -root = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.previous_rollup.public_inputs.start_state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.previous_rollup.public_inputs.start_state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.previous_rollup.public_inputs.end_state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002800" [inputs.previous_rollup.public_inputs.end_state.partial.note_hash_tree] -root = "0x1a525e446148941be7111209271581d9941d96727632f9a0be4c141889b20a65" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" +root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.previous_rollup.public_inputs.end_state.partial.nullifier_tree] -root = "0x026f82037ade696608bbfa36b14007b4278af6537ab38167c908ec5b43569684" -next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" +root = "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.previous_rollup.public_inputs.end_state.partial.public_data_tree] -root = "0x2951a8c90dd612d425f3df97074c2a16b70e97b08b71f9e0a71ca041e7883e79" +root = "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0" 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 = "0x000000000000000000000000000000000000000000000000000000000000004a" + num_absorbed_fields = "0x000000000000000000000000000000000000000000000000000000000000005c" [inputs.previous_rollup.public_inputs.end_sponge_blob.sponge] cache = [ - "0x2951a8c90dd612d425f3df97074c2a16b70e97b08b71f9e0a71ca041e7883e79", + "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0", "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x026f82037ade696608bbfa36b14007b4278af6537ab38167c908ec5b43569684" + "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" ] state = [ - "0x2f8a9584c5b41fbb2e349748a0a3910264f1996784e3bc317a216cf7a73e0f2b", - "0x21c07733aa41a4601b278ed6fe9444c973c75c73ccbc86c6e7e686a8505d9ae9", - "0x040adb432529983d65ea48cd2ada727de81fe9e9664db77c69bbae71b81b31de", - "0x1757d2d5646378947e08915e6e50d15619b4d5b6b7c54d635b41edd5583da205" + "0x16d2792dba71e4205d6a9be5eec88f5ce5f917f93b32ec28096a46f45564c8dc", + "0x14fda1466f32aef4b927addcbf5ae34002462e4653a661e863a18cca679a5b36", + "0x0fb56866fd6ad3b691363da918f4d2763af76ef0ef29b731583f8103fd163e14", + "0x01a96a4ed9dd08202e6f432f9b51b3737717b928e3f4d3883569d9942aeebf0a" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false [inputs.previous_rollup.vk_data] - leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" + leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000a" sibling_path = [ - "0x1b4a994db92f1d90daace9567c9e5b4110fbc648865f3b3f188a5842ad5fc625", - "0x0500889e036da769a433ab28f05106309f337eb0122fba7771af1d6fc5a9c7e9", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x02febbf5e834840fbf4d9be285794b443d6c364b95f39d7552acb1b08d131a77", + "0x2e5d376afe4d2073f42e00029bd95a37b42ba8554244beb58e827f9a7c8a319a", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] [inputs.previous_rollup.vk_data.vk] key = [ - "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003335c693efbc26a0d9cd396d00299b9e29", - "0x0000000000000000000000000000000000165029eaa93f8ff1d524a4d1ad1f61", - "0x00000000000000000000000000000050c8dfa0d10e590be97a3e3d00e7e434cf", - "0x00000000000000000000000000000000001695511821c1938efb560bbd87a8b3", - "0x0000000000000000000000000000002c57cba7f23db0356c120858bb435f1ab9", - "0x0000000000000000000000000000000000061c7822fbd026ad280ee7d89dde55", - "0x000000000000000000000000000000dcec7032fd87600d2c88d8cfba4027e106", - "0x000000000000000000000000000000000027c8de9c178f8f168aa54b93f7a012", - "0x0000000000000000000000000000007f75375b68057545cf794e3bbfb20250a2", - "0x00000000000000000000000000000000002e25adec067b1cee03f6f1700a5dd2", - "0x0000000000000000000000000000006c1d07af214a622abe34cc5737a41c205d", - "0x000000000000000000000000000000000029f7d1ed914a5a97f875d4da1505d6", - "0x0000000000000000000000000000001987b3744b1ca056c67f0a7838963ba13f", - "0x00000000000000000000000000000000000ab965442fb4759950b35857ecae9f", - "0x000000000000000000000000000000b535b58d84f7d03c669db183b51a5c787d", - "0x00000000000000000000000000000000001c513024a2a9357cfd4eb62d2f5d0f", - "0x00000000000000000000000000000063544b66d838f2bbbc3687f00b72c503ae", - "0x000000000000000000000000000000000029cbc69d82f847e8e817a068ef213f", - "0x000000000000000000000000000000d27c010ab3d112fb1f9c6d72b2e7976e6c", - "0x000000000000000000000000000000000027b93beba1bbb970a737e420e7a6e1", - "0x000000000000000000000000000000f7660ef8ba6cd4cbde2a22688535ba2c59", - "0x00000000000000000000000000000000000ccaeb3ea7fd5867a49427d8ec0d33", - "0x000000000000000000000000000000aec6edd4f793a0c58b1675473992533579", - "0x00000000000000000000000000000000002b33d1ece54cfb014ab1aa0fbfb245", - "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", - "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", - "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", - "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x0000000000000000000000000000004f97cfc54a9b55ec87f012780a4f2204e6", - "0x00000000000000000000000000000000001ac5810a116486d4ec8df7c9add404", - "0x000000000000000000000000000000d1db4432151134ed394865886735c50b51", - "0x00000000000000000000000000000000001afdc512cd8ade328fd11e7d6e4578", - "0x0000000000000000000000000000002d6474c3c25a22360c2f2ffab7f8c73898", - "0x000000000000000000000000000000000027810c414bdf67f9f74ab04b372a6a", - "0x000000000000000000000000000000d9be8be915cdc1786bc47cfb04aa0d28f7", - "0x000000000000000000000000000000000007b3092c43d01052f5c90479d9e6e3", - "0x00000000000000000000000000000028a53a0258cbb5e7ffce23bd2fb21a1357", - "0x0000000000000000000000000000000000021e1235a8dcdec369e1bf5f19a8aa", - "0x000000000000000000000000000000de3b72f4ad455313d5f06dd321e396dccd", - "0x00000000000000000000000000000000001d6b530ab1195bd00b6eb11d58bdcd", - "0x00000000000000000000000000000046d1fc79643dfc57cb53c3a0280f63510b", - "0x0000000000000000000000000000000000288534a88f9492643b8ed0ca92938c", - "0x00000000000000000000000000000006a1f9ea315797827b13c484f39e2e36a2", - "0x00000000000000000000000000000000002a26ef9397d1db0d35e35328d91342", - "0x00000000000000000000000000000070585def5740b92b7394d775a88a38dee7", - "0x00000000000000000000000000000000002c210c73fc0bf3acdbd386c758bc61", - "0x000000000000000000000000000000740e4ce496fd34e5c49282de0645d99596", - "0x00000000000000000000000000000000001675f5d5a261866773712917ea7f50", - "0x00000000000000000000000000000039acf2711067403e133d54dba8e5f81343", - "0x00000000000000000000000000000000001a7920360aa8b10ce2043dbb47b6ec", - "0x00000000000000000000000000000068ff7e0628dc2bf6131554411b15af9bc6", - "0x00000000000000000000000000000000002f658510a273be4ef454408141a937", - "0x000000000000000000000000000000e102688d581ffd20404afe4c1deb24feac", - "0x00000000000000000000000000000000002b3d977dfcda793a0dd95c3f719812", - "0x00000000000000000000000000000001ca649a20e558bd2df17e902bb2e66700", - "0x0000000000000000000000000000000000038abc5c529db08a00e68697fb9bdc", - "0x000000000000000000000000000000597341e64d0b828fd793cd7b7121ca36d0", - "0x000000000000000000000000000000000007be643219972102b9e3b366dec2d1", - "0x000000000000000000000000000000ceb0a8633f845309c0c00d80e0d62a250c", - "0x000000000000000000000000000000000011c2e4e22f16ec8f4d48610eeb19ee", - "0x00000000000000000000000000000031c4ab22ef6548679af9a32913498ad3c4", - "0x00000000000000000000000000000000002f275a2ec59ce31f8a9766827f7e03", - "0x000000000000000000000000000000a198c40eaf61c3a3fd010d7c8c6141a91f", - "0x00000000000000000000000000000000000f9ae5037cc77a0ca7fb80bd499bb8", - "0x00000000000000000000000000000043b5c686047e6bc6a62421c46047f2fde9", - "0x00000000000000000000000000000000002aeb180b7fe52566586c56592ed63a", - "0x0000000000000000000000000000008020206fbd772a0840778af661e3c069be", - "0x0000000000000000000000000000000000271d809093c1112c9c718726449c57", - "0x0000000000000000000000000000007d8771c26d79961a96058135aeb78380d8", - "0x00000000000000000000000000000000000e0d52d44b347a2112bb358fae8dbc", - "0x000000000000000000000000000000a0dbafc1eee7b313641736034acd2c7fc1", - "0x00000000000000000000000000000000001798f456c8c7b2da8df23761aef691", - "0x000000000000000000000000000000cf76a34e903f295e29f13a59d654828101", - "0x0000000000000000000000000000000000097debb39d4102a459a369d60e22ae", - "0x00000000000000000000000000000017545af66fe0000c74da92759560beb198", - "0x000000000000000000000000000000000029307075990d4cef1d0a3ac760e46d", - "0x00000000000000000000000000000067be97ba6a724e52f2ff10befcc271aa48", - "0x000000000000000000000000000000000029fe0c19bc172dce7c1f54d38fd770", - "0x000000000000000000000000000000d3fdf221f143287fe241f7ade9148845ef", - "0x00000000000000000000000000000000000ad7199afc8b2fe68042446e0cab1a", - "0x0000000000000000000000000000008932d1146b7aa6206cc538f7e130254c1c", - "0x000000000000000000000000000000000028e52b84337204996383778f0a3332", - "0x0000000000000000000000000000008383ffa129a3ba158fdece8fa8d0411313", - "0x000000000000000000000000000000000029f63ec13cc9391c44117b514608d1", - "0x000000000000000000000000000000e4ecb185b7d8b30fa8f7ce86cb2f3667ef", - "0x000000000000000000000000000000000020f972747caf9943cd949fe84af603", - "0x00000000000000000000000000000093295d23a02a9fe6e70443df02bf8636ba", - "0x00000000000000000000000000000000002c6efc98908577eeb300052d7e6588", - "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", - "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", - "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", - "0x00000000000000000000000000000000000015b8d2515d76e2ccec99dcd19459", - "0x000000000000000000000000000000222b888108dc25d1aa450e0b4bc212c37e", - "0x00000000000000000000000000000000001b917517920bad3d8bc01c9595092a", - "0x000000000000000000000000000000482141c7ebe42000a1d58ccb74381f6d19", - "0x0000000000000000000000000000000000305e8992b148eedb22e6e992077a84", - "0x0000000000000000000000000000007c86847618681dc29d8a9363ab7c40e1c3", - "0x000000000000000000000000000000000016465a5ccbb550cd2c63bd58116fe4", - "0x000000000000000000000000000000439973ac12d7ca796d6fe98ca40e6ca6b7", - "0x00000000000000000000000000000000002e24d420fbf9508ed31de692db477b", - "0x00000000000000000000000000000028edd1a7e46c840d9c943fdf45521c64ce", - "0x0000000000000000000000000000000000043d063b130adfb37342af45d0155a", - "0x0000000000000000000000000000009330952ae74c573d1686d9cb4a00733854", - "0x0000000000000000000000000000000000261522c4089330646aff9673619494", + "0x000000000000000000000000000000a486edfb8e453b658c20482e152ab11192", + "0x000000000000000000000000000000000023bcfcd566698d06ae0d47d7c78295", + "0x000000000000000000000000000000443dc743730722e4094355fc097d0b6ff2", + "0x000000000000000000000000000000000004701094d971c30fddb3ca8c6fa0b2", + "0x0000000000000000000000000000006db487d07d0f30f6cdb645fdf31da5c310", + "0x00000000000000000000000000000000001f2382298a3a0a3f93a0e4e05687e7", + "0x000000000000000000000000000000e332fa7ee33cd0689bf853c7f9a8a31650", + "0x000000000000000000000000000000000026626101b6863c71877a7f0818a966", + "0x000000000000000000000000000000131bac60f94bb1c2641d162568852a7d0f", + "0x0000000000000000000000000000000000091588f5d29dbc71f65f56137fd0b3", + "0x0000000000000000000000000000006c050cdc6bf86f72c719a36d362df9f8f6", + "0x00000000000000000000000000000000000d7af8998f94f681014b587eb3834d", + "0x0000000000000000000000000000006928adb18e3c48d9ccc588239a2ede54d8", + "0x00000000000000000000000000000000001949e94e5f06d30a22f97c0bcdb42f", + "0x000000000000000000000000000000d30c6626326e0eb594d7c56f0928d0efbd", + "0x00000000000000000000000000000000002fc968d28070f083b333508e591e77", + "0x000000000000000000000000000000a899ae910d7282cf2280092b5377685a44", + "0x00000000000000000000000000000000000a555b29e91a96a90b0a9cf3249ca1", + "0x0000000000000000000000000000002b1ff88d2f93859b1a2a2dcc2e547155ca", + "0x000000000000000000000000000000000030508b5d5dc9bb4a7a197a89166448", + "0x000000000000000000000000000000295f249fc0f87cd6a67fb7eb827e4b352b", + "0x000000000000000000000000000000000026297a4d85b8c5cd65c7069236ffc7", + "0x00000000000000000000000000000007ad74d6e6c8640d285116fc6baa2c4a42", + "0x000000000000000000000000000000000029292c155713c44dd2645184eb8640", + "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", + "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", + "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", + "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", + "0x000000000000000000000000000000000017080f8d1d21b541de1c64d8b794df", + "0x000000000000000000000000000000621557759a0775ea5575adc9c6fbd96d56", + "0x00000000000000000000000000000000001cd60c23a37c42d7e46e1e19e966ae", + "0x0000000000000000000000000000000d52081b2311a7e9bf52407cf3d2c336b3", + "0x0000000000000000000000000000000000003b2312f2f2f419434a1440d40c69", + "0x000000000000000000000000000000d26082083660d6ac8bffb639994e4500e7", + "0x000000000000000000000000000000000019d6ef8ce569e7fa55b8aab7f5eea6", + "0x00000000000000000000000000000078d8a04f7b6c536d3a8a35c790b4dc7ddc", + "0x00000000000000000000000000000000001111470a41156a530334d2c08511a5", + "0x0000000000000000000000000000008ab4119a5478448b7ec3573de2cdfd8e56", + "0x0000000000000000000000000000000000263c7bd4cde5591308156c458d2989", + "0x0000000000000000000000000000004a676142c9eca140ac96ab9ca49633e141", + "0x00000000000000000000000000000000001de62520faa095ad7513f753e0a73e", "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000a18dfd62c77822392c78c29522ffeb71f9", - "0x00000000000000000000000000000000001b8d5a177f3b3b5c6e1bda450c6f01", - "0x000000000000000000000000000000d8ddefaf49d80d3ef3bff82ae75616bcf6", - "0x00000000000000000000000000000000000e517e52cfd0af6a1f1e9393b9c99e" + "0x0000000000000000000000000000009fb16fa4b71ccf3fb95576f4d03cd0930f", + "0x00000000000000000000000000000000000e71a86e6e1ad07916eebb9b58fc0d", + "0x00000000000000000000000000000053fd112d26d37704cdcad7804bc2aa1085", + "0x000000000000000000000000000000000014bbf472c23bdc5026a9652a6bc421" ] - hash = "0x0a3efc27677df2f58cd6e3a87f7036e2e8264889a8d0e16d181249fdd079e71d" + hash = "0x2964f25a6b1398a2cc69e9976742340a63925550e37fe90b35da611ed5b656f8" [inputs.hints] previous_archive_sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x178e115a38f768372563ea577a0b49c6f9b8f1a436fb91eb63b9bc061574ab8c", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0eae030a63bea769b379d51d609540d3c3dec7cc75876923338916ad3253b890", + "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -797,98 +797,98 @@ new_out_hash_sibling_path = [ ] blobs_fields = [ "0x00000000009c7075180002000300000001000300360000000000000000000043", - "0x0c5360052d4e478d66d809e060a17bd9270de2c3c6815856fbeb94f334e501ed", - "0x000000000000000000000000000000000000000000000000000001e93c240000", - "0x2b2e79d0ebbb71af103a716808532b2e3527e7c1c96a36c8325eb134c3072e23", - "0x1bd2c37274099ba3cc55eeafc83e0cd1206746cbcfee6a21ea6937c28328c6d8", - "0x2024835fd8b74a764c77337cdecd852f4412858e32f7be5c0207f01b5da068b5", - "0x13d78bda760a53de06514f7f741dfdadff5eb9e71797ad4b6e06ea4483d85dbd", - "0x2f88f3bd8793d0dff44d96eda5f750ca9d873b8bf80a4ec2c5c64e715a6ed0fb", - "0x09cd5bfd34eb88d33aaaad1d6d6fd128ce3fd0de25b2ebbbfdd523336cec01e4", - "0x00000000000000000000000000000000000000000000021e18fa15ea60d7db40", + "0x24c21e94c7329b564f4f8b6a3e84626863784e4955f0010233c700583ddeb760", + "0x000000000000000000000000000000000000000000000000000001b0eeb04000", + "0x1c6c0204578bfcbbbb41c45d3d3f3d2897ac105d679959c510bbd2946009939d", + "0x18764ce7a93e2c10ebac3adcd57315dbc64c198797233634def681beb1417250", + "0x02772961e5b112993eaa8915d8e8786100324c3af17fcf368cd291c839974bcc", + "0x040a0c4299944837897592d3762ed857f5c3c77746b6128e5b24e03f1aa89fbc", + "0x07f8d00b07851c773f8320c4403350da9d3e5942cc93768f52b701e0a40cf273", + "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", + "0x00000000000000000000000000000000000000000000021e18d64589b0ebb480", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x2c3daffe4a903189546d747383b36f042d388202763bafbc38886fecc350cb53", - "0x0551fe2a36dad9929c79265ce6aeba94f2f416bd71cf81b30ab3b55c72003a48", - "0x0000dd707b88d9039db906798e60a60b6ac9e8f89e8e8e61e676f4f1c9593cac", - "0x000cd2c289f20185721ef525727a29fb2708bf64d5be4b2b0f38885347b1dc71", - "0x0084629f4956500910e9111b635b663a2856a573371ab5ad8a3fcac0f01d6d2e", - "0x004bbb5e1948b1fa2b8265cafdb8d10140daafd0df7729d896d47bc040a1b970", - "0x00a644adfab1b99123cd20097db8d090ab63c93d6c42cf16e379eaffb4d1ffd0", - "0x004c8020c4a1330c3ad6f58c68f5ca0645e893a8a95a0ea4129552b790e7d2b7", - "0x00dd11aa7f5f0f78e05bde8a80775db7c4b20d7668f9bff5887fb21406fdc44e", - "0x0009ead4c5d93267d1072fbfaafd5d0da81321d67b89e33182287da8a5a34b6d", - "0x0079c6eb93e1ca46ac864f3d97396203316efd029c7e86311e6553869e8a36c2", - "0x0028f6e2c5dff72df6ae2f28fe53519ef939b34f9853f161df8e096e4213f27e", - "0x0096c1c46ef6dca33c528754171eec363e9d603397826561c58a2375ffa64ab8", - "0x005c35397f25f07a202bfd402443e2e6e195ad32a4c57bb708135b326eee9763", - "0x00776126695d794e713d613a0c02f027edef55480153811e030b132c53f1faef", - "0x00b781a5b0a58cf57ebcdfbe96d8fe6d94a4804fdbd41768bb48f2fda7b4f49a", - "0x0087155968445b7b35ee2c0598e00b46c03b3e6d95088d16ccedb6fa3e91fc34", - "0x00f75db0e45155b810ca793ab27a3bd530a7ed9c22e46e0415799b23968caeba", + "0x189548c499c807080d76e4f81c89c97a8b072e4acaa83069407b43292c85cb23", + "0x25e9e02736d9c1802b11965bb38e188b4dde0068e94deb71c057555814c1767c", + "0x0000302de927219334e40660013e50a1d9a4b122ac0455f3eb88d37d8d0257c3", + "0x00ab7283cb32f00b6e28b8cb1a3f1fde2962f7775ac608ba1681ccc2e42a77ff", + "0x0023fdf39082720602527c34d88cb19d7f0a41230723390de7acd443824e538e", + "0x00a0db45ed11b9aa0de5fc2289f5a4d72217d5550da8a87f99ead975d4417461", + "0x003179f71a977e6a6d80e77aa1cdb30f26645b1662d3eb441c933500868902ba", + "0x002d8c692e7dbd63861335bf497fc1fb418570f5b77a0c9efdc52c90819f8cfd", + "0x00e6798959f3f634a30ce7164c5680dab9106aaa6895cdcc9d7e61b174ddeac7", + "0x00291cfe55ca9c3ed7da0b183ca5ee563a041922144fc91a9fc481fba3daac88", + "0x004eaf47b242bbb2278f0f9d3f4817e80feaef0d0c716bcbc900a6092e768e9b", + "0x007825cb0b19715ea98344b24a355b4f3249bb74152589b4a79cb6bb8595cfd3", + "0x00215ce3a8529cf9f5b72f301761b4f245198f54dbfafff13beffbdbf50600f2", + "0x0088458f929a7c6936358e07a0848487a39b0d99ed11291e657e3a2af510b566", + "0x0084219db9add8f83304bc37c37ffb2637f747f4007fe52a5943b0cf74feffd7", + "0x0055a1be86a37320473dc7f377b9af73cfe43d92afc12fed10ecc3b7b7d89ff6", + "0x0043374eb21332f667b9b2d067a4d1d4ef12f060b06c4e366321860e216a8bb8", + "0x00df0123837b1df560737716ffc6118cb97e6a23b22dcfdba6938e65ca407763", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x26a4b844216245df8251f80f5e49c1e3be44d8d9aadc9ae11a26f297550a6ec9", - "0x02fad865d9ddf247b2cadf757e624daed00f9491d598d96f9ecfe33d30b10c8f", - "0x000021a2a019c02483d160f965cace2a31c05093ee3b0e72cee56a975850b4a4", - "0x0054d46280abd8a00a3b6f7683de0974adb24d90150f9398ce2e4d4f9511846f", - "0x0034f6407ffa22a92030b89216b2c83da7845c2b981b5136d454bbbe18344e87", - "0x009e03608ad56cbc7a7ef875147a0913d5b279c6a72787f48e45a005c083115e", - "0x003fa4bf0498b1481e31ef963f63d0c316be53f7acf6ddee9684a9b4ef44513a", - "0x004708114ce2e4534751c2d15b78146bc5ea60818881d56f91f2facb15667e64", - "0x004712e28a6db2c3668e670076adaa55cdead50770bbd5429a8f484d6f8c92b2", - "0x000ce9903b0089448230088ead515fc42f713db667b5ab2db0ff334489fa482d", - "0x00a5640c6b6f6165e10c188132a47ad082333537a4068ecebf661bf2fa87f011", - "0x00ec69b234d4f01d0e8472648e2d42ec26482ab5df98d3b4d9c5cb90b8d4aca8", - "0x00d94014b46226c962af666b4bcb2319d9549e27cd37680aded4374e20e450c8", - "0x002cabdb1a1ba89f43c4b52e1d451299e1ff4b2bb00f86a5bdd38a609a9f68bd", - "0x008252eb1333eb561ea18e510e42b0eebce8a0eb5d557d09e65ec93053f416a9", - "0x00b358a7e22a22838c375735765d5bd6ad7101ca7d1c36fc8039ca62e8ebd802", - "0x00ed80d27bd8202460adf425eb3c46bc4093789b5627e175780f356bc4a0c681", - "0x009e1d3cb1b54b03e64323a4f4abde4168a60c4b267d6684e3d706a2dba56fd7", + "0x14da1c199deda683ccbee4b7525702214ae961d58592d87ccd4cd95194747be4", + "0x2751e116a8995c1222ee7b2e1b283212f37a97d1c44cd89694e99d897223400c", + "0x00003f8a54be30509b1f2bf6258e29615a48a74588f1a00d9837ade3af0781df", + "0x001d9a5d4efede5983e8e9a53a49424e58beb54ee27322d66be4aacfcf099ed7", + "0x00884e4517794c2d5b385743785a876b7a3302b335babcf0d835244586da6f0a", + "0x000ef6d94524b8497651a031a5194d9fd5a6d9246c35f4d1f81a7a1eff17a3d1", + "0x00d1a4ed4fe11dcb1ef15f6687f60fcc619756eceb2a1ae1d6b0f52a036b2c9a", + "0x00d5c3775b60fb15ad57aa8756988d80263efc139317bae151085d5c85490bf8", + "0x00a4467d88476b828b90d01be95604958bc9ce8848487ff3600ea1467d82bd0e", + "0x00b62a29b40778639596780748a65e3d3064ad24c8d7288e75a8ceed09fa3b0c", + "0x00e3b5238495a71d237d1b94b5ebfc8b1a16c1531c3071f2ba4a90bc9d29532c", + "0x00a974d0d437e4f9750aee61fff34e0a28b0a92d1c511f3e612c4979218adea1", + "0x000f254ad745bd79108cb1afd53732946d3b7f6827ec8cb0e9e50983bbd9d7d3", + "0x00fb6cdd2f6eb2aa4cc250cbf78136a975a3c5fe6066da5f83f3c80358349325", + "0x0064b120470106816a7d4ec33e491ea674c81b83a054b62e56406c97d64d4a95", + "0x00117b57eac5ac1699e4f964946f4789fea9a7360e26582454068f7ef33a23b8", + "0x00d66ecc2e8814c19b3a6d93d88ab75b68eb94d71c387672bd46b86be64e4373", + "0x0005555a6740bbd3ebb47c6458ce3de270b43474923f43c4c4fa51da33bb56df", "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x2ae954e759b15f6d8ef97084100c66be809e18e107a7e35b219fe9b1d0e41c88", - "0x1bd6ddec68362a33eeba2295fcf982daed4d1a2fe7d2471de51a4039e3f959e9", - "0x0000fe2417fac167ea24c875d26b9d8d158647d6fbf761de1ee9afae43b87ec8", - "0x005d7eb74725ee3bf6c64ad959f782145f44f738a7c0bb87763bbe8eebf48c23", - "0x0082f7cdea2fbacda82fc05553553919fb04a86320d0dea42273ba76830ba850", - "0x00f96e26e95dae6b38167648e133ef49999cb5c9769b9dc03663512f9c5f4896", - "0x00bd4aa3a89e5e4736a635830f1b54009fe1ec3c2b5182f95f5e095fd336665a", - "0x003cf13ee752d26bb7a847857cfbb01ca53b5a0dd47369d9d13b06df2ffabd8f", - "0x006be2c978b6dafeadc206a8c48cffe7d0c4c26b32650f5145f2164a3ea7dcf3", - "0x009d49be90801376d7c1e35e6f2e6b207ac0f323e2beb5a9b163c2b58a0ae2a2", - "0x00c62bcde43a6c6d69c696bcfcf931392e48e040b6e85542818f01439cdbf59a", - "0x0017d58e206aeb1f2ef979b4d2202aa077c1ccc5c918edcbc1100ef52fc15275", - "0x008a86cd5def92315b2c8dd6eb5b12ab57351cd8f5f66ba36757af513b68d325", - "0x001134b3d31e36298e679d728d81e76b43e3b0d116a2894b94a41bdae57e2bf6", - "0x007b674c7243bef77a3fbc4d3e7640b5086fd8505073fc4f4e3ba0c8ff7bf6dd", - "0x00c7a8a393c28e2bce737b2894b8077e5430234e4993b850439dd70cf24f8745", - "0x005b476c579926d8c9f790ba8cdccecec53186ea43d445a4f21d46d30c699895", - "0x001588f47036afc3fa47df96d8e1ae047de1904fe66c98d2ba8a0593561c4977", - "0x0000000000000000000000000000eb8dcdbf00000000698f0119000000090001", - "0x0000000000000000024000000000090000000002c0000000008b000000000200", - "0x06f86a3e00bc9a33987f5ae6acc22aa514d1b074d424856476dcc08f74adc993", - "0x1a525e446148941be7111209271581d9941d96727632f9a0be4c141889b20a65", - "0x026f82037ade696608bbfa36b14007b4278af6537ab38167c908ec5b43569684", - "0x2951a8c90dd612d425f3df97074c2a16b70e97b08b71f9e0a71ca041e7883e79", + "0x080c266aa3b5276d54293c6215a34d58dc7b743d4656742cf114410426f9d4c2", + "0x1b675c57ce0c3ab2830e57810b2236748b7156b983635e16bc5f4db3cd17202e", + "0x00018eb72807cb1456558d2c841bcf9ff2f7fdd07ad32ed99c60586a251c2afe", + "0x006c14879624b8457980a8e4da069d189c92f43b22b4003a77a31b576b2e284d", + "0x007b012fd22eccdabe13ce47d58bd583b6aeadc78f5ab9c62e22a6d2c177f252", + "0x000c89d00d8799626948249e3d14772da1accf43d30a40b44425ae4ae3d5660b", + "0x0074b65687f93b772d6edc3d4a7fc6e376d3e0b1e70ffe19f35ce8a507fa5111", + "0x00a7fc7d83a194202557ced250e7c02eeaca36e9b887c3343a24984c21fc8871", + "0x007d1af72bcaba8c42f24dc2cd4d1adfb05a2e303e69f9ef1fa4e7d8fd5b7464", + "0x0006f2e82285ce600b6f102872181d5a786e844cd8fa20a64e29688e73658654", + "0x0043e3f3882874c072067df833a6a76f6fbe21687d5c11d47b5ee717673b9eb5", + "0x00295a94eada8dcdb619e96013043b63d8e3619d1501171b8cdd7217733bf557", + "0x007741da4e1f4a7c3d8aefd3700df56f16097aee99c08c4dd4fb7ae9a6f6df23", + "0x008c2045418cadbd4e15b570a655bfeebf35175caf9d443f92ec46375c511393", + "0x00d9396d41d28475a0020f46a3a19e24ad86ebea7b1769e19a8601fdad935109", + "0x00f1be78f40c6636287ed26f69ab3a13a8d6c40ec030e718bbcf03ee1ac53236", + "0x00a35f1383d295cbb64a6b844eace3a166ab83b2d5db80d55e1f838586736d5d", + "0x004b88bfb42c44077ae85670bc88a202be42cf953aca9cec92c8ab7ec22e3a8d", + "0x00000000009c7075180000000100000002000000000000000000000000000008", + "0x1e41bc1d17bd83100c7f527d9bf1da9108a56223009d3f8ac7c75a817336a804", + "0x000000000000000000000000000000000000000000000000000133ffcf238800", + "0x00648a99aa602688ff8871cf5db429e4a96ba6529ad242fc3b66db1ea121e80b", + "0x2d9829af203d544acba7b819cefed817e34e7c5c5b7ec0822ed78779c5e5570a", + "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff", + "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", + "0x00000000000000000000000000000000000000000000021e18d51189e1c82c80", + "0x00000000009c707518000000010000000300000000000000000000000000000a", + "0x005f1e9f39d33277f73ef2c4da579bf864732669ea1e112cce1cfb9d3a57d66e", + "0x0000000000000000000000000000000000000000000000000001c566b1383ea0", + "0x1cd94a2dbd6dc87e9cb2e00c9fdb0e7cff11ee59e014c499a3f1d3835f732cd3", + "0x2404b0c4b20b5d4af8d6eb060e68103d009deb28450776f9a8fbc3c9d39a904d", + "0x0000000000000000000000000000000000000000000000000000000000001fa4", + "0x036e901f114a75e275bb5b53726de3ba0bff6ff84fae76009eee3100ad2f189a", + "0x000000000000000000000000000000000000000000000000000000000000076c", + "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e", + "0x00000000000000000000000000000000000000000000021e18d34c23308fede0", + "0x0000000000000000000000000000eb8dcdbf000000006993c29f0000000a0003", + "0x00000000000000000280000000000c000000000380000000008b000000038675", + "0x0878479830a81661492a56e58cb7bc11528337f83e10329c15b4f235133b87e3", + "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c", + "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d", + "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0", "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5", - "0x0000000000000000000000000000000000000000000000008c6374430000004b", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000008c6374430000005d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -25373,100 +25373,100 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x0025b5561d2447108e7128aab6ecc7aa084238386afe124061d662e8434f1641" +blobs_hash = "0x00199fa4eb6ed06bd4b6dfb9fafff70ef8a3213b62e72d96df8941fdc6f87f11" [inputs.hints.previous_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" - total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" + sponge_blob_hash = "0x00511d2106e84696aa9c0cdb68d40b298d03263baa352083040b672bb3d015a6" + total_fees = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" + total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hints.previous_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" + root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.hints.previous_block_header.state.l1_to_l2_message_tree] root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002000" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002400" [inputs.hints.previous_block_header.state.partial.note_hash_tree] -root = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" +root = "0x0ba9675d46152d80636f3e0a84a05bc99f0dba97d5bbe3d78dba3885d151daa5" +next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [inputs.hints.previous_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" -next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" +root = "0x2be0548b5407891f0b93d0934f0b2f155978f9bfdae06dcc9df993f95c336d1e" +next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000002c0" [inputs.hints.previous_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x1cb39e9291e2f83d1963dd61748024c5b1d1e454c4c67b48508a11ecf08f20e5" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.hints.previous_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" - block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" - slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" + slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c27b" [inputs.hints.previous_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" [inputs.hints.previous_out_hash] root = "0x00c95e0ceb41951039e1592745ec2faea9866f6eaf01bf189a4463b4143af093" - next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000000" + next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000001" [inputs.hints.start_blob_accumulator] - blob_commitments_hash_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" - z_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" - gamma_acc = "0x0000000000000000000000000000000000000000000000000000000000000000" + blob_commitments_hash_acc = "0x00bd0f07d3feee2b0c6b3bdf08582626623244990a3915af768fc37f9cd5efae" + z_acc = "0x1ebe3b93201375ea93b193dd286f622d61783b1a174ed2e993082133f71ff148" + gamma_acc = "0x2820cc1b1817484b1f0f42bc000ff717e4b787f8142773e771c992ffd532611f" [inputs.hints.start_blob_accumulator.y_acc] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x0000" + "0x8d32fa0ef518a993847ddbfc735f8d", + "0xb2d8b64fe2db288926d94813c6fb58", + "0x1b13" ] [inputs.hints.start_blob_accumulator.c_acc] - is_infinity = true + is_infinity = false [inputs.hints.start_blob_accumulator.c_acc.x] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000" + "0xfb921764984cb7efe72117ef84ad82", + "0x703c9e0ea80f4284bd670914dca5fd", + "0x5412ff49e08661ac07a65cd230765a", + "0x0862d5" ] [inputs.hints.start_blob_accumulator.c_acc.y] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x000000" + "0x8633a467ef4090639b1ec130faa09a", + "0x1ee6ab882baf9cec6f1284dd8dc4c6", + "0x23f1a8f226f504a5462d9459db584b", + "0x0b238c" ] [inputs.hints.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0x000000000000000000000000000000", - "0x000000000000000000000000000000", - "0x0000" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.hints.final_blob_challenges] - z = "0x1b4ca0dbb6e8c0e65722308ed5db58fdc77a56221c9213a12ac9e2e9a5f92a19" + z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [[inputs.hints.blob_commitments]] @@ -25474,18 +25474,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xd2b7165b30f9c45e60b5da7c24b1b7", - "0x4ed63eb366734292a816cbd376449c", - "0x012c348c94d65bc94cb6af47edc433", - "0x041dfe" + "0xe0ca41915c8a2d01b271808cda461f", + "0xc3870be826c7fa101946f98dc443ca", + "0xf028df26e6b8753fc551df286cac16", + "0x13dc09" ] [inputs.hints.blob_commitments.y] limbs = [ - "0x74307b639d4b31b6ba4b657a149bbf", - "0x860167876054988f925ba05d580af5", - "0xdf9c432d6290b897216b6539c152b3", - "0x0053d6" + "0x9f3036a3774e8dbf5fca240e36ef80", + "0x70e8e4ce0cc8331f44dd3a74f259d6", + "0x8c4d770ed8f7ce423a1cdabe2df621", + "0x014558" ] [[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 fe1119ee1e52..1163923e3bcb 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 = "0x2290ff320d2e31da5f4d599bd62ab63940c1d319d5039572c11d9aa7912450b8" + block_headers_hash = "0x02e15f87acb0a3a964c7ee8fe2dc7a90f67956293c6d6ec4cec49aba3de75f70" 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + 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 = "0x26d33791cebaaa9e71c8c3a7f730c3ade45ba68a60d4d9acc84d47f57bd9b390" + root = "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf" 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 = [ - "0x074f00b409ad293785315184d0dcf110f9f77a35839ab0710cadd846dfbaf07c", - "0x145dbe0b5b90a29bae0f614f7924bde1ee7710fa8dda725d1813012f5eb86756", - "0x1754610657ec4a3aeb55cdc97a3efbffb680bcff0a3b0510bcefb1c2a28b22c4", - "0x085e9333a35453ecc3a32900c631cc167e1d8f1b9597771790d0e33c76a0b04e" + "0x0adf660e00555bcf5d77b0cfe9c5aa131235569aae931b981291ee9a349ec479", + "0x1b8118e91a510ef51da9258674006942ae64836d511908ce5c66ca18aa86e72b", + "0x24ed4cea60aed332d8fc271dd7a99f0dc1c2f6386c8e884fa43e9510526b5cd8", + "0x0742e3139758c4aa10be96766e5e25d48a48c7a7b6097fe02635ca95d81c48bf" ] 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 = [ - "0x1547c766f8159586d4d93b5da7435905ad603fbff5c99aea57a8300d997aa8dd", - "0x0b6b4fd929a33cb6f069d044805d8765ba687714a53237fc9faaf65ce16bbefe", - "0x2d3996f628e5e3ca4f90c6c9404b7a75015b3a2accf32c68e0052f7510de1850", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x0f525cc42266f817e0c7419eba7fdbc52b74afe2a2cea460d976bba4981779e3", + "0x138019b15179e54b1225f536e24c39dbff83f071921a796ed02d107990e4abf3", + "0x0d49b977bc426497c9d51a719fc968f4e28389d7fd90905cf44eeae89996775e", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -640,94 +640,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000015", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000249c5eaec06683e84abf56b9b06613a9f", - "0x00000000000000000000000000000000002acd64fd45dafa9f64f07f6f232b55", - "0x000000000000000000000000000000e1f1d96da9ce9853b6bd946d7668f5f430", - "0x000000000000000000000000000000000007e0529fa53dd22bb1d822923a19f9", - "0x0000000000000000000000000000004263fb0ec0d0596bbfdfccf2b30e315ad6", - "0x00000000000000000000000000000000002e4b5f59b257fd7927052b4bbaedd0", - "0x000000000000000000000000000000469ce35c6e4eee8f7137fe20ad90863d10", - "0x00000000000000000000000000000000000c0f35bc18f92fae0f346ed8fd5660", - "0x000000000000000000000000000000c9fbd6e3886a74d9c57c9126a0ed6133c9", - "0x000000000000000000000000000000000007c04a5402642e23ddb7418781b36f", - "0x000000000000000000000000000000cfeb0d7611c55c7e2ff05febf293f47dce", - "0x00000000000000000000000000000000001a15c591b5333d09dc3914346c433f", - "0x000000000000000000000000000000854edd94b85b57e0f3aeb15e33f3fcfb9a", - "0x00000000000000000000000000000000000ac538208ccac67798e7c8d3b210ed", - "0x0000000000000000000000000000000b5b4a8559f6ff66fd88d72d45da3579f2", - "0x0000000000000000000000000000000000085bba2fbe9ddba5ad2a6c8072ff3f", - "0x000000000000000000000000000000159801c3cf0a2dd5e04e73d9a785309294", - "0x000000000000000000000000000000000026aa1bc4a1d7bd79a2c56825a02042", - "0x0000000000000000000000000000003a0a2d5868d82cacf4e26501d0f41ca14c", - "0x000000000000000000000000000000000015d5191e5120670265f9f5a8ce9f2a", - "0x000000000000000000000000000000540bfe79c51127cdc57e63236810f47868", - "0x00000000000000000000000000000000002778d0eb143c4e6fb05f5e454cf7ba", - "0x000000000000000000000000000000825204d8f2f7ba7c7629323d2f5026da02", - "0x0000000000000000000000000000000000129a29950476d3fca60c3095fc54e1", + "0x000000000000000000000000000000752d53f345c0444a387efb8931b5dd0291", + "0x00000000000000000000000000000000000288eaeae8db784925d0cb43fb2f1e", + "0x0000000000000000000000000000009fc8d5d38227172d4f2b81712428ecb6a9", + "0x00000000000000000000000000000000001361b08ffae8723c55b445f9d9b0ab", + "0x000000000000000000000000000000973c6744c743efdaf43244d66c65e3b8db", + "0x00000000000000000000000000000000002ca46348bcc78ba0d4832f17ae2dd3", + "0x0000000000000000000000000000004a670bc13ee4d70031f728cbde685790c5", + "0x000000000000000000000000000000000021b573d46a9b308c86c6ca4124d511", + "0x0000000000000000000000000000001993a63de452ed6a53b1096c03798f6034", + "0x000000000000000000000000000000000003b267271ea96367d7123218ea70b5", + "0x000000000000000000000000000000969dc6e634f8270e2a9c7c9607c6f123f0", + "0x000000000000000000000000000000000028225dc7475da26558657eb00a150a", + "0x0000000000000000000000000000009b3402a013394281d6a73462fa5fc584b5", + "0x00000000000000000000000000000000000608ea28278dc3e5224b8300b2c6d9", + "0x0000000000000000000000000000007f83176c1892658695ea7a44851c2402b8", + "0x00000000000000000000000000000000001ba6bf5aa10eb3508b82e1faa42d36", + "0x0000000000000000000000000000009bc617d17eaa4bab88511853304fbf33c4", + "0x00000000000000000000000000000000000ba22b775b1ef2f1fc6dba836fbc8b", + "0x0000000000000000000000000000002cc27cef3c4532b293340f3d1a834088ae", + "0x00000000000000000000000000000000001e24156bc8b200e3c3a88efc112281", + "0x0000000000000000000000000000002fed1c77c48323e2f27c7afc84aa554847", + "0x00000000000000000000000000000000000d8ba23d04d00b6a847539304d63b5", + "0x0000000000000000000000000000005691af74cccfc19be339cd7cd7979ab2c8", + "0x00000000000000000000000000000000002f310500186e53a092d0144af715f9", "0x000000000000000000000000000000de739fa0af1b1abc39f66b36bf6babfc93", "0x00000000000000000000000000000000002ec2db775d5362c26b1211d0c67b33", "0x00000000000000000000000000000092bff11ad703ff9e37f33e0254b1cae0b3", "0x00000000000000000000000000000000001f2e9c9949c5722f9c0f27d4c01426", - "0x000000000000000000000000000000e8f1cdb996f413e277c8d3aa8210aae408", - "0x0000000000000000000000000000000000017485f2efbe3eb10892ef172d2d43", - "0x0000000000000000000000000000001599a7925f404ed360a303d5fa7cc4ff9c", - "0x000000000000000000000000000000000017d12ea2bc3aef573f38576caaf726", - "0x0000000000000000000000000000003561a0e212b7f3ad0a405daef731012894", - "0x0000000000000000000000000000000000036ef57aac3ca99796389b6a2074c0", - "0x000000000000000000000000000000fad813514d95dc87928b7ee070ddbe2db9", - "0x00000000000000000000000000000000000ae9a10371d7804e9be03f8a70b958", - "0x000000000000000000000000000000fa37fec8eef2116a5a9de755947f8944c3", - "0x000000000000000000000000000000000024445f300c8a64e8222688a80edac5", - "0x0000000000000000000000000000006f4bdc7a31a25a3f5ef6e60e172823d8de", - "0x00000000000000000000000000000000001293659444a3ec62f90b3f4a17cf82", - "0x0000000000000000000000000000007f0be3fb4efd8a943b0edbaa17801fc79f", - "0x00000000000000000000000000000000000861492bc6c109a7d0ff0380b0d6a6", - "0x000000000000000000000000000000eb3a36613e515cc4080c176cbd8cda3c1b", - "0x0000000000000000000000000000000000132023cc021d2319593db9c2831934", - "0x0000000000000000000000000000008137dc5614f77df2a86b0456cce6f5b959", - "0x00000000000000000000000000000000002c64a6cd38bc4ac7e148f550f2a089", - "0x0000000000000000000000000000005735ca0968208ede04d4e57593ee8cec00", - "0x00000000000000000000000000000000001d17008d63fc3636fddaaeb96afe82", - "0x000000000000000000000000000000ccc6a6abc89d6e01890e2632b5055aefce", - "0x00000000000000000000000000000000002216ef5227be4ca4ce2a210a9b4c73", - "0x0000000000000000000000000000009a351d96d0c57829574712509fcd588f8a", - "0x0000000000000000000000000000000000242bfaa460c7dc41d5972734b8a4e8", - "0x00000000000000000000000000000043120e9d12a2dc9d439cb8f40e6e67af50", - "0x000000000000000000000000000000000013efecb716b7c4ad1534542b5e5979", - "0x0000000000000000000000000000007bcd4a21958a6cdbb163a1a1cd8c3d3832", - "0x00000000000000000000000000000000000ed35bae4e4fcd732a82f363524c50", - "0x00000000000000000000000000000080c105cf0fac8a873822111b5ce8133e2c", - "0x00000000000000000000000000000000001eaa786cd42dc1c1fdc0072ba84515", - "0x00000000000000000000000000000027f55c21fc9cb0a567611e619e6489d3a3", - "0x0000000000000000000000000000000000155e51b12745ea2c342aa92909c584", - "0x0000000000000000000000000000006881cfa086103eba34264f58e6c2686377", - "0x00000000000000000000000000000000002be16f9367bef8b9acc26442e6ced6", - "0x000000000000000000000000000000ac5941aa7dcc8eba0d8eb46eacbac44fa8", - "0x00000000000000000000000000000000000bc695683f3c69a2baf4eaeb3eb987", - "0x0000000000000000000000000000003488463f740c10df334683f8a6ff8cf942", - "0x00000000000000000000000000000000000ef9edff66ed16c96f61a5a81b6a6c", - "0x000000000000000000000000000000d031b2a9faf8914e35d0cf8cbb8abe55f6", - "0x00000000000000000000000000000000000addc0915b4f99f188d33be8dcc65c", - "0x000000000000000000000000000000fbec0df12a09a54580ffcc7fbfe1daafce", - "0x00000000000000000000000000000000001034cec096b8498d6f06ed3ead0971", - "0x0000000000000000000000000000008578acab86194f4b4930bee73bcbaa82f3", - "0x0000000000000000000000000000000000050be94a9959f8b18614e6cd410f29", - "0x00000000000000000000000000000082f7a7caf17ee9d9b105afa8fd53f361c3", - "0x000000000000000000000000000000000015af6164df4078e256076b79dcca33", - "0x00000000000000000000000000000048248724c01827bb1c94aec60cf666e7bb", - "0x0000000000000000000000000000000000005f7aa599f201c5d33e7b41d223e7", - "0x0000000000000000000000000000001069515ef09db7750769587ebad7b137a6", - "0x00000000000000000000000000000000000b78ea48d4e143bea558d4dc828d25", - "0x00000000000000000000000000000064acb2ee0e0f954d455804d96c66ae271d", - "0x0000000000000000000000000000000000101d7108499a60dac39ba5aa09cccf", - "0x000000000000000000000000000000ddeaeaaa1460d7bc92e606e6ae1a5b5ad2", - "0x00000000000000000000000000000000001bb4579c45d742244db5ac9cc56b45", - "0x000000000000000000000000000000f48a3fd19c858c3289df54416c65f39c7b", - "0x00000000000000000000000000000000001b7cf15ca32deb3ea5170e86fd1392", - "0x0000000000000000000000000000001f1317873170fcfd00b92c1c913dba3b60", - "0x000000000000000000000000000000000022ef086f083b414c6cbd73dd457499", - "0x0000000000000000000000000000008e70c48ec507728c368dca2a7f680b1679", - "0x00000000000000000000000000000000002e6a39624ffaa24c1bae40d40f9e78", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -748,12 +748,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000065ecf50d7dcbc414e3622c27b7546fcf01", - "0x000000000000000000000000000000000018c95dd97443e471a6fff1e3a00a78", - "0x0000000000000000000000000000003ab04f5ec5792965136a9f5190e0a95022", - "0x000000000000000000000000000000000010c3b9a3e485634994f571144f18db" + "0x00000000000000000000000000000007693830b7dd4d208660095947971de5df", + "0x000000000000000000000000000000000004319f83c2642e2af778937f3da274", + "0x000000000000000000000000000000b2acb429fe07215272d7a5561f63b3495b", + "0x000000000000000000000000000000000004f5681f6344d7dc9eaad53b986e7d" ] - hash = "0x05f16e0901d5c3a276ac718f34860a4501ed510fa6247477ce16e556d723c522" + hash = "0x0bfde7f50b59998fe565f59398f58b1f5bcc0e7ba275bd35e5a2e0c8d38fb522" [[inputs.previous_rollups]] proof = [ @@ -1280,7 +1280,7 @@ proof = [ [inputs.previous_rollups.public_inputs] timestamp = "0x0000000000000000000000000000000000000000000000000000000000000186" - block_headers_hash = "0x2794b3fb9c9d18741f7dff9bd3e84a97674c3ab95b45a63b22e7e7f78441e835" + block_headers_hash = "0x23f2c97679919e99c830fbbb054c480163474eae35b35a92995eae5495ed4bb1" 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + 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 = "0x26d33791cebaaa9e71c8c3a7f730c3ade45ba68a60d4d9acc84d47f57bd9b390" + root = "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000003" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x26fb7be12c2aa5bd6d498fdc624dbd1b56516415dce27aef82235edd4871af5b" + root = "0x22f0c11766a9e2d2b3b0b1e048f6a4eb861103d48a6050a6c52fab536873cb0f" 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 = [ - "0x074f00b409ad293785315184d0dcf110f9f77a35839ab0710cadd846dfbaf07c", - "0x145dbe0b5b90a29bae0f614f7924bde1ee7710fa8dda725d1813012f5eb86756", - "0x1754610657ec4a3aeb55cdc97a3efbffb680bcff0a3b0510bcefb1c2a28b22c4", - "0x085e9333a35453ecc3a32900c631cc167e1d8f1b9597771790d0e33c76a0b04e" + "0x0adf660e00555bcf5d77b0cfe9c5aa131235569aae931b981291ee9a349ec479", + "0x1b8118e91a510ef51da9258674006942ae64836d511908ce5c66ca18aa86e72b", + "0x24ed4cea60aed332d8fc271dd7a99f0dc1c2f6386c8e884fa43e9510526b5cd8", + "0x0742e3139758c4aa10be96766e5e25d48a48c7a7b6097fe02635ca95d81c48bf" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000003" squeeze_mode = false @@ -1372,10 +1372,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847" ] state = [ - "0x10eee3063ddd2681e838458b87edeaec94fdf94243582f6829d1ee28fb13bdec", - "0x1191f81cd311b7972ec4b302b04dedf27ad5d2d7666638bdbca2949e4e83c2b8", - "0x2c63c5a795225b1e0051a3d0d7620b3c1710765f59f644655b13c9e6153963f9", - "0x2d748be4ecbdb733968ae403599ace0509461ddc366390b46650abbd23154f37" + "0x105fd5c666035688ac55233787cf061026c67892b33e330a716806bba908e647", + "0x0d8a6301ece9c7efddfa4a41133e073dca12286657ad5095bd3b170d459acf9e", + "0x0b6ee3b3146d544303d5c17ebe26ad2d5557e61bd2692416a226a7c9e29d79fb", + "0x041484abe49fd5182e4f1712f918b217046ffb3ce72009ecfc5ed857e607ac05" ] 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 = [ - "0x05f16e0901d5c3a276ac718f34860a4501ed510fa6247477ce16e556d723c522", - "0x0b6b4fd929a33cb6f069d044805d8765ba687714a53237fc9faaf65ce16bbefe", - "0x2d3996f628e5e3ca4f90c6c9404b7a75015b3a2accf32c68e0052f7510de1850", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x0bfde7f50b59998fe565f59398f58b1f5bcc0e7ba275bd35e5a2e0c8d38fb522", + "0x138019b15179e54b1225f536e24c39dbff83f071921a796ed02d107990e4abf3", + "0x0d49b977bc426497c9d51a719fc968f4e28389d7fd90905cf44eeae89996775e", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1397,94 +1397,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000014", "0x0000000000000000000000000000000000000000000000000000000000000046", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000497b15c7ad137d20081fed0c82561fc805", - "0x00000000000000000000000000000000001968f456e484f497df68203af87215", - "0x0000000000000000000000000000007b5f6c8565c4a066be858648432bd3c6d9", - "0x000000000000000000000000000000000024514e18f4cb34f457bfdf2355a6ab", - "0x00000000000000000000000000000051d293ee807617e236b0f3cd4e83561bd0", - "0x00000000000000000000000000000000000e427082c7626a400cd6f6151fc465", - "0x000000000000000000000000000000bf93ccf255819218bd179c8c5d216c65d5", - "0x000000000000000000000000000000000012893fbe10014fabc1355dc76e59ac", - "0x00000000000000000000000000000093f54f92aa1cc824ea5bdac8adb4c4e33a", - "0x00000000000000000000000000000000001a76a0b3e5345081d8480853bafa02", - "0x000000000000000000000000000000213a1ae1240234c85798f9a09223d33ef9", - "0x000000000000000000000000000000000022a8fcb079acec2d5449de99c12b7c", - "0x00000000000000000000000000000025c20397c63eaff4f766281b7d379270d6", - "0x00000000000000000000000000000000002273405f78cfced0dc9d2dda815111", - "0x0000000000000000000000000000003eede326b5f8a6509cc76ba13e4e68096d", - "0x0000000000000000000000000000000000166101556b75a22faf768ce943878a", - "0x000000000000000000000000000000f008d013802626dbf4e953b1f5fe3d3473", - "0x00000000000000000000000000000000001317d3db46c77a920d0c4b9b41e7d3", - "0x0000000000000000000000000000008d9a98562ae74d4c8c627e1e2f3b0466fe", - "0x000000000000000000000000000000000001f55e16014c2bada933e91265caff", - "0x000000000000000000000000000000100df4f1dba56d97152c5f49024484af37", - "0x00000000000000000000000000000000002a6164d05e4da8ca0348c8fbff4730", - "0x0000000000000000000000000000008ec5060bb0e5b816f491d6cb75f96e6d2a", - "0x000000000000000000000000000000000029e60c49c047e6cda45c448ceb98fc", + "0x0000000000000000000000000000009575206080951c3ff1335d8f43f2af9e29", + "0x0000000000000000000000000000000000265b3df3a6f660e9e955603ed7ebf0", + "0x00000000000000000000000000000012475f22609266effa9d130c5e2597016a", + "0x000000000000000000000000000000000023788c27cd95b400312d3f0efb2165", + "0x000000000000000000000000000000bca1bfec38d9cf2d2373008a84545b1302", + "0x000000000000000000000000000000000016e991839e463588c8c018b40a2d31", + "0x000000000000000000000000000000a90a979e675fab13ae05d123c7f47629e8", + "0x00000000000000000000000000000000000e7170c149584df3b55f322eb09966", + "0x000000000000000000000000000000564a93625a447029468328eb2144820ab1", + "0x00000000000000000000000000000000001c0a081ad76a187e97c331773805fe", + "0x000000000000000000000000000000a68aa566acb9e20d5e35ffbcee47a93732", + "0x000000000000000000000000000000000015d1c4890e6b4878356f7f9ab7914b", + "0x000000000000000000000000000000f9bf690971a7635df25fb6a046a487bdc0", + "0x000000000000000000000000000000000004dc4c1b9fff274eaa395ba110d149", + "0x0000000000000000000000000000004697a83ef3a028f007e564b9dd8fe941e5", + "0x00000000000000000000000000000000000b72a467be3fb3e66a72f75f558902", + "0x000000000000000000000000000000bd5a8291c2f760597a90b7ffeaf0dc1ad9", + "0x0000000000000000000000000000000000166434e244cc91ea5f990894fd4db9", + "0x000000000000000000000000000000730cb08c97c1d7e3d65ee6192a86ae6588", + "0x000000000000000000000000000000000011f76acffcfc122e68e4eb026b3af9", + "0x000000000000000000000000000000222c7ea3e7b8c501f77ad32c35905ff4fc", + "0x000000000000000000000000000000000001694eea7c614ad31ec2c5940d8e3c", + "0x000000000000000000000000000000e084f4295c43b4d1c148184e1b9f0fae04", + "0x000000000000000000000000000000000004b8b67ed547cc4e900c892e8a6bcf", "0x000000000000000000000000000000c10049e49d4cd16c33bbc1e8eb3238ea26", "0x00000000000000000000000000000000002578443465dd684c74b9c635f2c33e", "0x000000000000000000000000000000770092209b5122c863dacecd7406bb2d48", "0x00000000000000000000000000000000000f3fee6266059403a65308d4c5d7eb", - "0x000000000000000000000000000000ea1e5847562b99c7edc833dda1c335571b", - "0x000000000000000000000000000000000009d43fb739dbd90941911a2333f1a6", - "0x00000000000000000000000000000047e47129cdfaf31086510cd3faff8400ca", - "0x0000000000000000000000000000000000003a3dc255b5642d67654ee060fa72", - "0x0000000000000000000000000000001bdd8a3abf29fb2969e860152e3bdcbd83", - "0x000000000000000000000000000000000008404ee66b916f473fc01b4fd88bb7", - "0x000000000000000000000000000000d5abcb043d9a0c46225ed289a4449a7ecd", - "0x0000000000000000000000000000000000277e7c68b03825bddcf0b9eb0ce80d", - "0x0000000000000000000000000000005f1fe4f7de277f49c1ae065675490da96d", - "0x00000000000000000000000000000000000393c3eea8036ca15967c5ad454c5c", - "0x000000000000000000000000000000166ca6e6becd77ebbf15fc2de5b0d13a8f", - "0x000000000000000000000000000000000008a9029f216594aec0f5d3059accba", - "0x00000000000000000000000000000073677509803ee4498b86f4f41281fa9c12", - "0x000000000000000000000000000000000008652dd6a324a156a0a5f64c92b3ca", - "0x0000000000000000000000000000004ee367c45ca873be9e3b3580c5e4715b91", - "0x00000000000000000000000000000000002bd64ca87e3c194b71327a1166ed61", - "0x0000000000000000000000000000002ed1a721f233f7d1c317b2c1fffc54b9ed", - "0x000000000000000000000000000000000013d36d7acc92cbc320360096440372", - "0x00000000000000000000000000000090dc718e23f58fdad866390d5529244afe", - "0x00000000000000000000000000000000002d20bbc4af8ee60191eb63eb0e5dcb", - "0x00000000000000000000000000000063b926b882cfd571eeb90591b5af85c7f1", - "0x000000000000000000000000000000000005fb11e48f66ed8a592ad25648a3fd", - "0x0000000000000000000000000000003799efd863b02c442d5c5c6b3046a24178", - "0x00000000000000000000000000000000001d2b69dac63b621377a619437f1050", - "0x000000000000000000000000000000958a9d4ca9b5ef618235eea12533b875d6", - "0x00000000000000000000000000000000000815942c8f5d8f151aec073339c99f", - "0x000000000000000000000000000000d13e84f309f8d53b66894abd22263804fb", - "0x000000000000000000000000000000000024686ca7f3f191bc06fc154a69bac2", - "0x000000000000000000000000000000f776e22936b11d26a5cf36aefc0bf3f0ee", - "0x00000000000000000000000000000000003060cb526357ca3c33a5d3315babd3", - "0x0000000000000000000000000000007e438b6387f5ad774d51a7f6390dab68ea", - "0x00000000000000000000000000000000001837b4572421253119c56ced95d6d3", - "0x000000000000000000000000000000315ece979bf96ff062c0296b757cace9fa", - "0x000000000000000000000000000000000019aab0b018f1c0a8cbf7e2d5617da4", - "0x00000000000000000000000000000013b659c6e341f1c7ad12acce5a3caa32cb", - "0x00000000000000000000000000000000000b20ea28b8a6ea9b1f507c192a3807", - "0x00000000000000000000000000000068615e698a7fe85c5ae9f40efc93788178", - "0x000000000000000000000000000000000023dec7f6076428701f8c0282556908", - "0x0000000000000000000000000000009e97fd87d8339438dbb9496f096e1039dd", - "0x0000000000000000000000000000000000108573a29dda3722a85da5391d25a8", - "0x000000000000000000000000000000458bedf0bf14cf1c93687ee90791462171", - "0x0000000000000000000000000000000000162db8d392165bc3b64d622b66b7c5", - "0x000000000000000000000000000000601177df04f359efcfb2cf47531b461dc7", - "0x000000000000000000000000000000000001d8e9d63696b50bb880985b76d9e2", - "0x000000000000000000000000000000269a117675f52e4a1d390ac7f092c69793", - "0x000000000000000000000000000000000025ec29ea8aa7466889dba5cdc9affa", - "0x000000000000000000000000000000c7235c38b082791de660547a1c1bc6a747", - "0x0000000000000000000000000000000000217faac22fb937b575199671764068", - "0x000000000000000000000000000000737105a4760171df6079785dd504ea82c6", - "0x00000000000000000000000000000000002a5d79bb60757c12fae87d7e451484", - "0x0000000000000000000000000000003cc0ae03f0ab6798a18b5b8ebcf863c665", - "0x00000000000000000000000000000000002040bc66a0ee21ca4c70d6bbb79ff3", - "0x000000000000000000000000000000ef0ec3246e29165666dd008b38cdec391f", - "0x000000000000000000000000000000000012161c36557136b2c12053c49efd1c", - "0x000000000000000000000000000000b30b42a7ca3a91f7597319426bb9cd53e1", - "0x00000000000000000000000000000000000c9ebe680db32052e1b00ae43de51e", - "0x0000000000000000000000000000004390218cd843fe5aa61263822fb2025420", - "0x0000000000000000000000000000000000025b86a7d93788e7a7856d53f620be", - "0x00000000000000000000000000000059bb807266c7f6166cf79492abb075b2d3", - "0x000000000000000000000000000000000013e0db98fb17f39f76b72b1ec733ca", + "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", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -1505,12 +1505,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x00000000000000000000000000000089980b9f828279f3d1638bd5c62a9401cc", - "0x000000000000000000000000000000000022bc9cda28e5ef2b707bbacd3b2c10", - "0x000000000000000000000000000000720e8a918d16fd51f8fa52e4ae6bef250f", - "0x00000000000000000000000000000000001eff9afcf9cc050c85b1cd5f8a9777" + "0x000000000000000000000000000000776c10e820bc2b5b6eddb50ea81be93c9a", + "0x00000000000000000000000000000000001ec13b6ff08118a64295e9060deb6d", + "0x0000000000000000000000000000009e6161d79d469e866db04e4116d36a7c14", + "0x0000000000000000000000000000000000247d4633ba1b1ab90c9e569789e61b" ] - hash = "0x1547c766f8159586d4d93b5da7435905ad603fbff5c99aea57a8300d997aa8dd" + hash = "0x0f525cc42266f817e0c7419eba7fdbc52b74afe2a2cea460d976bba4981779e3" [inputs.hints] previous_archive_sibling_path = [ @@ -1554,7 +1554,7 @@ new_out_hash_sibling_path = [ ] blobs_fields = [ "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x1061b6d9d6d9d6c72c35d12634227e83a11ac6cab396ca84bf55adf3ac529f6c", + "0x0cc40616a2ef634685d2b145299e1907f24837b21c6fec0967cceef0831e9cff", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7d1b000", "0x00000000000000000000000000000000000000000000000000000000b7d1b001", @@ -3044,7 +3044,7 @@ blobs_fields = [ "0x00a5e59095cc85c435d059b9411ad8d404a35173e78c70c9ab090141cef38ff8", "0x28739bbea83684fe3b777d0a8de75488247c7c12e55540fc0cd4be6d50e1c5d0", "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x2eff53e8d3667574dacd3a017b1efabf520cc0697d5bde9bcd1da9a5c48d88b9", + "0x21910c347416f1d3b3b39cfc3e92044dd9c52b48614a8adeceda74c4a3e3daf4", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7e5c000", "0x00000000000000000000000000000000000000000000000000000000b7e5c001", @@ -4528,12 +4528,12 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7e5c350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000020001", "0x00000000000000000040000000000200000000010000000000fe000000000000", - "0x249a5f67235cc57358174dc36441cad7ad1eeaa8d90f368df1908ba70259d365", + "0x0f53dbbc305643f74f4b237fe5f1f05786e5c77026ca0210c83d6c06afe27d98", "0x244807a30ec06ff41bbe9fae13e6423e7bb43a44634cef6e8ad0344adeb48670", "0x212e5329e7f9dc4d964b0142e4a72959301c38f15e24a7909d7e9685a0af295d", "0x216f157a2d966bac628eaff65433f45450b8dc8a465d6c8e0adaffb34625adb4", "0x00000000009c70751800400040000800400040048000000000000000000005cb", - "0x0a9668bf91ee99915522abf536946e348874828cd24d389c0daab8219537f47a", + "0x126aa78711cc588ebef6ff2054cc368b1a1ab7cf14ecaf2ab3acf68df6cf25cd", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x00000000000000000000000000000000000000000000000000000000b7f9d000", "0x00000000000000000000000000000000000000000000000000000000b7f9d001", @@ -6017,7 +6017,7 @@ blobs_fields = [ "0x00000000000000000000000000000000000000000000000000000000b7f9d350", "0x0000000000000000000000000000eb8dcdbf0000000000000186000000030001", "0x000000000000000000400000000003000000000140000000013d000000000000", - "0x26d33791cebaaa9e71c8c3a7f730c3ade45ba68a60d4d9acc84d47f57bd9b390", + "0x2d11dd4b3e0c04f6bb47444fe767f8f6b2e8e4a8d6b7855effbc7f69b040e3bf", "0x0f910fe92fa0690e32693038d26864110490cc71307fd28bcd4b5f86cf0054d1", "0x23c9a1166cd35a57a7a1d3ec8a85e4cddc0a60276e0a05f0048423eb23c06847", "0x19dde349ddf1b27d03e840caf5acf851e9dc57f3051381aa97ade96d736b8b6d", @@ -26130,7 +26130,7 @@ blobs_fields = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000" ] -blobs_hash = "0x00df5d45530e6dbd29646c7f128f7205a113394f110a9abced4d1d87171b6b21" +blobs_hash = "0x007a0840f83b285de5839e13df85fb016e1a8fb433bcdc5346821fa253fffc45" [inputs.hints.previous_block_header] sponge_blob_hash = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -26217,13 +26217,13 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.hints.final_blob_challenges] - z = "0x1789125db2bc64f32f3670acbcd2c77589e111cd97b2575002bfc51f21cd648f" + z = "0x256a6ad6ef74317d1fefb66e451c0b48657f112c429a529622ebfe1f797ee3fe" [inputs.hints.final_blob_challenges.gamma] limbs = [ - "0x6177b14852b98b9889ac032ab7a405", - "0x850a5fc568954279a98454533c14c0", - "0x0219" + "0xde154b8c054bb27d43ae464c151138", + "0x1cd1d7aff3225fbf9445986b3fab3d", + "0x1a42" ] [[inputs.hints.blob_commitments]] @@ -26231,18 +26231,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xaee2968d1faef64abdb5d660aa4f49", - "0x8a7d87b2d406431ba80b1af0110b96", - "0xbdb0a36ab5873698ecf702bfec5d51", - "0x198602" + "0x3a83327ec2bb0ad79906fa5138f3c5", + "0x6489c5c5e573461ba6f1c65bcfe041", + "0x8747e7d112a089ec50056346202009", + "0x04d977" ] [inputs.hints.blob_commitments.y] limbs = [ - "0xdc5dbb00391d39dc598168c7ba1025", - "0x068945e5b4a4079868e3ed4d42bb57", - "0x1c267194ac1a14848871a6556b7fcd", - "0x054044" + "0x6d8d8073842067a6d43395aecdd501", + "0xbdebc9ff92c65d3ff2b26bc1217139", + "0x6dacb998d342efd22eb801954167f2", + "0x0a7134" ] [[inputs.hints.blob_commitments]] @@ -26250,18 +26250,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.hints.blob_commitments.x] limbs = [ - "0xf58a3bdbe915f94922c44868f273b1", - "0x31e02734ac7c7a8f9ece0024175e60", - "0x995b3e896a3547f1de529f426da259", - "0x11e615" + "0x820abc7ec5a93ae46ec60b3eae602d", + "0x5d7e8b2510ef7f42308e20aa7dfe8c", + "0x84a576353eb0a84610a12c5970e6a1", + "0x0f50a1" ] [inputs.hints.blob_commitments.y] limbs = [ - "0xd45a299f3856f5bc19c94fb645f34b", - "0x02ec298439f8c8680a0a05d5ea5f7d", - "0xadab547373997d38d6d3efd877231d", - "0x188739" + "0x385d2ce588917b66483579d7fbcd31", + "0x846e07e12971810c8f1ede55d78032", + "0x8c9c0e080c131760cc7c481cd4ca65", + "0x0ae614" ] [[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 ef90951166fb..c6930fbde094 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 = [ - "0x003be4584dd5f43526d329f4f79bc1fbc6a4d58735a4c2b9961941170cc0e3dc", - "0x00212da9605705286b09ca587f9fbc359bb43ec261c01bcc19ca8bc0494d8844", + "0x0040f1b22615558ae81d4b0584ffa3a0a84e34df392de9d6893c1200f3417244", + "0x00d354e6113db554821326623f6764e8bce1bd876771e684c3edcc535f59d31e", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -559,17 +559,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x06f86a3e00bc9a33987f5ae6acc22aa514d1b074d424856476dcc08f74adc993" + root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2a968b103a3818409a621ab8304947f1f9151310ad574c7edfa4806d85457211" + root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" 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 = "0x000000000000000000000000000000000000000000000000000001e93c240000" + value = "0x000000000000000000000000000000000000000000000000000001b0eeb04000" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [[inputs.previous_rollups.public_inputs.fees]] - value = "0x00000000000000000000000000000000000000000000000000035e54bfaa3a00" + value = "0x0000000000000000000000000000000000000000000000000002fb176f0c06a0" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [[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 = "0x00e2df938f2494e9d9876f5e876b2a193568b439523d9ff028162e7df8433d0f" - z_acc = "0x1c64592b4f438335cfd638b778dd28f442f1ad5aeb334fab814a5f4ee63fab81" - gamma_acc = "0x078856af652a00a6c00bb6d87ca4ac5717898f5594a0976daa9e91cecb3d7549" + blob_commitments_hash_acc = "0x005c63d9aa9270a4b3cacb1cbb8b7cdbdb5b138d385a0865873c0abc267063f1" + z_acc = "0x069067b815f970c0150b7d1430d4a3bcbd175175e2bb3549fef230de160fa5ac" + gamma_acc = "0x05f3e9fcb19599b9d2303954010c43e78565c63ddc49b3539cdbd3dd603bf386" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0xd70a2b49f15c711974bb4248df74ef", - "0x777e94a6be237c05fd73026d398209", - "0x31cf" + "0x702a0bca2befc9241234171a536036", + "0x06702b3a16e879f8a1b072a1e831ee", + "0x3e37" ] [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 = [ - "0x2ee54c8dd3936e8c3599c49b511ecc", - "0x72bde119568faf76b634ffac25ae71", - "0xfb0b39e4472ac07c318c16f039425b", - "0x0db236" + "0xb446deda21d8ab5ff37f08ff106b88", + "0x71a669a5369c04e8fd32ee634cf642", + "0x2ddf85a729c44304184dbf0c14f245", + "0x08dbc6" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0xdcbb77480a615c6bdf93cc5d9d39a7", - "0x0f512a659432320bb8c415c14d7d16", - "0xa32225dcb2358c862b7ce70cceb42c", - "0x1793c4" + "0xaef3b6c7e4a37dcde6f253a1e9d975", + "0x0055814914625ac8acb0b8d4bb4f11", + "0xc9412391732a60b713200e79b20f3f", + "0x13ba12" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0xdc3d31fe18373199600e01b62cefbd", - "0x3a719b135849948edc2be6f15ee9bd", - "0x3147" + "0xd6af1f294fd4344503d9bd06709e20", + "0x87ad74f4b587339e0552d998ccf27b", + "0x30b5" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x1b4ca0dbb6e8c0e65722308ed5db58fdc77a56221c9213a12ac9e2e9a5f92a19" + z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000013" sibling_path = [ - "0x21e94725b6578334feaf039087b17db7db9285c94f28169a7326e2473e0a7414", - "0x1eb570ea5c241efb1b7c51b7dad89485aa062e12623f2c04b1e1ef06728e2883", - "0x25b928e2d752b813eba17968ae84f33502b903af9fdc899573e63269b8dbe1f0", + "0x2de375bdb8d749f73ccdda86c68b51af4052afa74effa13cfb0cf02912af3eff", + "0x1dd4abdd9646df352a2eaf03d74716aa51ebca5ea1eff879ea3b7b5905d0f22b", + "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -875,94 +875,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000015", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000a3dc9ea17cafb4f65f46afcf8d303d573e", - "0x00000000000000000000000000000000001988528d5ab5b6f200059731dfe235", - "0x000000000000000000000000000000f41aba8179ac8185a29e21c9c8c6876003", - "0x000000000000000000000000000000000015c6acfd7d7257ab6d3187f5e981e1", - "0x000000000000000000000000000000c06866ddf28a19f5bafd0a4f466098417f", - "0x0000000000000000000000000000000000002f5d6d9b201e8be4a290125b41aa", - "0x0000000000000000000000000000001c7bc8249237837a356de23e5fdc644d60", - "0x00000000000000000000000000000000001459d8549559c05c1f63a07679b0c1", - "0x000000000000000000000000000000ddff33412641ce845287ab339c7e2ed88d", - "0x000000000000000000000000000000000002aa8e68c9a7c0ca0d13fc5c5d6efe", - "0x00000000000000000000000000000099218722312c7bb6e19d8904faea88338e", - "0x00000000000000000000000000000000000f5d398b283a35ff4686f7f74ad1c0", - "0x0000000000000000000000000000007eeed34a2d102358f0c797af5060ccfd85", - "0x0000000000000000000000000000000000069de3950b26bf7db0667539630b07", - "0x000000000000000000000000000000a1e40a057f3d9c1187534dac1e824ed121", - "0x000000000000000000000000000000000009c8a0740af5c0accae70eb768e5c4", - "0x000000000000000000000000000000e02ff006bcbbcc96e0a5dd99cb7b69da9b", - "0x0000000000000000000000000000000000282d3b9983496d3c562f6a90e4a8cb", - "0x000000000000000000000000000000fb30700cb9e9dfef172cd0b9686823e60f", - "0x00000000000000000000000000000000002eb006b0aaf6115ba581ca39e59b80", - "0x0000000000000000000000000000003e1b08f885143f8bc9f041e153627aa05b", - "0x0000000000000000000000000000000000154b4e139093f1b5f668f491427e00", - "0x000000000000000000000000000000d0b027f0cee3ce07af725568a5b28a1471", - "0x00000000000000000000000000000000001d42c791129fa7ad5cd37c4a38241e", + "0x0000000000000000000000000000003c881ca332dbc4a672cf89953ae3401e52", + "0x000000000000000000000000000000000025583f0dd555a53bec845619975334", + "0x0000000000000000000000000000008226cb0824272c1624f8bc2f66e54e7455", + "0x000000000000000000000000000000000019f7f96b5b3ca9650383daee81b861", + "0x000000000000000000000000000000fd3416f4f74ba71def390309d3c69a46b9", + "0x000000000000000000000000000000000022ac8a5af488ea8d8ffc91113e588b", + "0x0000000000000000000000000000006737fcf184b4179c4130d31876fff8de0e", + "0x000000000000000000000000000000000015d3ac779ceb436e5717838cb2bbd0", + "0x000000000000000000000000000000083a7c2e41491a0eb7cd4a5f2d6eaf99d2", + "0x0000000000000000000000000000000000255865f1f1793b37ccf887abb73629", + "0x0000000000000000000000000000007d9940e988b33fb9f0c937537428372ad0", + "0x000000000000000000000000000000000013edd6d9c27874f90c0d1895d9d9f1", + "0x000000000000000000000000000000f6408f99a1f349060d7cb67fb4c82392ad", + "0x000000000000000000000000000000000014c947c2641b98f9704e9fe837ea84", + "0x000000000000000000000000000000373a8fb47c4718b21ac278f72c6ecc2ed4", + "0x00000000000000000000000000000000001a5b275503642849d1ad592dc93261", + "0x000000000000000000000000000000e1da8ffa76c4fb8304d9097c93e5bac539", + "0x00000000000000000000000000000000000049aeb565c6f75fdb24a2fd6b92a0", + "0x000000000000000000000000000000f1007cdf2b58fe2a76bcc3e150815b894b", + "0x00000000000000000000000000000000002cfc086117a572695d1a8aac7dd3be", + "0x000000000000000000000000000000a316436955ff5ae6ae638cfa8758849ac3", + "0x000000000000000000000000000000000001d0e3cf62a7d27eb00209c7b1a932", + "0x000000000000000000000000000000fe46c99f5e3102be11dd394b1c24d906bc", + "0x00000000000000000000000000000000001d8313539f715e1abbfd21b9551b5f", "0x000000000000000000000000000000554c51afe430bf7cd9882249a7013f906b", "0x000000000000000000000000000000000005d9de93f6af5074a2a6ca20892a6c", "0x000000000000000000000000000000402a4686b749034cb15f79b98cdd2250d1", "0x00000000000000000000000000000000002e54b9c82afac2f99da1f2b855af17", - "0x000000000000000000000000000000dbba2af4557659ee608a47a576a7a8f522", - "0x000000000000000000000000000000000020794e99bab65a348c3a55f3c97731", - "0x000000000000000000000000000000c08626e44e55174b0d9cc272720f84e31a", - "0x000000000000000000000000000000000029cf052d349d40761efc14f10a5f57", - "0x000000000000000000000000000000ebd022b84654cfd133f5dc00b0e81d0d28", - "0x0000000000000000000000000000000000069b7502a5daa40fd61986dd71c018", - "0x000000000000000000000000000000de57c0f3f5232ffb7759af8f9c5936f8c9", - "0x000000000000000000000000000000000021c6f8b9dc2202f97ab5259ab5a776", - "0x0000000000000000000000000000004aa42c25428a5571276734ae023aa8d262", - "0x000000000000000000000000000000000023e57a0b39ce5f1bb54860b198e083", - "0x0000000000000000000000000000006307a5694e0852561bd91c8f5cb82dd253", - "0x000000000000000000000000000000000015aed8c05b55dc29772bdde7a55148", - "0x000000000000000000000000000000a97d03c377368cf9174e7a6457a5bc045c", - "0x000000000000000000000000000000000011dce01039eb8b07572ff76da16856", - "0x00000000000000000000000000000003e40ee0359a67f7ea00547517066ce39a", - "0x000000000000000000000000000000000018f876f4b1436ccd63335982b868f3", - "0x000000000000000000000000000000da2963bedc36c71481c84f2261eec6af48", - "0x00000000000000000000000000000000001294940738900fe775101bdd62b1a6", - "0x00000000000000000000000000000081e08fc0b287faeff84ccb27053dd33f99", - "0x0000000000000000000000000000000000200bbb594024c62c3dacff631b9b0e", - "0x000000000000000000000000000000d1e202063b8b3996f13d4c8afff5b9a038", - "0x0000000000000000000000000000000000081a123f52711455e028823ae7d3c3", - "0x00000000000000000000000000000002f166221e8b8c0b50a2d2f5894bd86b37", - "0x000000000000000000000000000000000025793fa7e4cc45c25319ba9d96cd91", - "0x0000000000000000000000000000008b4cc01b556954dbde6755597b1783f877", - "0x0000000000000000000000000000000000274aeed72516f13429cde2e1952ff7", - "0x000000000000000000000000000000358c74d7806796ed2e499dfcad54477b2a", - "0x00000000000000000000000000000000001d2dda51ab344c1461848883c2cc22", - "0x000000000000000000000000000000b3bb4a01c971ea962fe0a121d261e3a089", - "0x00000000000000000000000000000000001e4594d36127f6d573e9cc94250042", - "0x00000000000000000000000000000051a5590c08ecddc4d9ecf35b5ca0348332", - "0x00000000000000000000000000000000002720366100c700250d83768e9e7a03", - "0x0000000000000000000000000000004b8e9f895b725154a8b110cb752452bb01", - "0x0000000000000000000000000000000000153866677b3e78f3a69d67921d0a80", - "0x00000000000000000000000000000018a6ef895f7a0bc21bb4f739d6dcde7f60", - "0x0000000000000000000000000000000000087541bc092978edda4f5906dfd46a", - "0x000000000000000000000000000000dea8aa824d3c87eeff67484ddd24622737", - "0x00000000000000000000000000000000002e4b045d16cf7ba2e53795cf7c7dc5", - "0x000000000000000000000000000000d59ca8b6fb4051755ed1738b4385c7ed98", - "0x0000000000000000000000000000000000120ab41d46b9f1d060e0f6267297a0", - "0x00000000000000000000000000000069efb1edb8627b4e0e5ed9070f54ae96eb", - "0x000000000000000000000000000000000023330e9fb5f3349432b0692dc496f5", - "0x000000000000000000000000000000f99f9ee85b59d76935b55a303dba98bb1c", - "0x0000000000000000000000000000000000162613824a0eeeb41b69f671eb7f87", - "0x000000000000000000000000000000361807ab36c3642de8387df441343c160c", - "0x000000000000000000000000000000000001f5a8c895be612f2cd192ba8e67c9", - "0x000000000000000000000000000000f8971d476ba1e6f82aaec7272528f04aec", - "0x00000000000000000000000000000000002392096c0f6ec6ac4b4a397931f6b7", - "0x000000000000000000000000000000cbea0ebf3132de677bae5d7a9e3681b9ae", - "0x00000000000000000000000000000000001adac8ec8a49767854d9c56064dc57", - "0x000000000000000000000000000000061b9c3224ad8163ffa3b66d2c4ddc90d9", - "0x0000000000000000000000000000000000266880ead62d0f96e5e00661db9adb", - "0x0000000000000000000000000000006308ad7630767ff2458f3f570713051620", - "0x0000000000000000000000000000000000190fc0b71a3c1b181e257a9f9cd5bb", - "0x0000000000000000000000000000005ec0a8bf7acb6eaa0c5f15f804e6aa0166", - "0x0000000000000000000000000000000000142af2a6690482a5810546dd670602", - "0x00000000000000000000000000000036408802a032ff2b9c0ea6b6b2f7ceddad", - "0x0000000000000000000000000000000000053809fc402b620226cdc9ed1fd808", - "0x000000000000000000000000000000eab4eccf41c8de71d62a024697dbacb998", - "0x00000000000000000000000000000000001c1148c61b71bc326bb42c4149c80b", + "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", "0x0000000000000000000000000000007c6fc5ae0c56f06e0a35747f24625e5763", "0x00000000000000000000000000000000002194d92617bbb3ba3d9e53f4f13c5c", "0x00000000000000000000000000000002eb63f6e2fc21862f6fefead2978de7e0", @@ -983,12 +983,12 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000e5e894a9981e01775559c5f787b7cd2305", - "0x000000000000000000000000000000000014b51341b662582d21bc2aa13d259d", - "0x000000000000000000000000000000e7918cad96ec171911e3c8584cdf128e63", - "0x0000000000000000000000000000000000143239df6d0b364c58c6b8a4664577" + "0x000000000000000000000000000000c4c8535b54b477c9479b76fc26e22ce956", + "0x00000000000000000000000000000000000a698017abffced730ace9d29c2c7e", + "0x00000000000000000000000000000070bb01b36081a373bb21c0d13e507d1ace", + "0x00000000000000000000000000000000000dab9c58017d04be8ebcb43e4518aa" ] - hash = "0x21cd842338b760a1f3118bce8a268704bed601407069dc87fefa0a44d65d6c1d" + hash = "0x12c715678310142de0c147422494b3f27c6760aa4f29ebc2545534710dad948c" [[inputs.previous_rollups]] proof = [ @@ -1515,7 +1515,7 @@ proof = [ [inputs.previous_rollups.public_inputs] checkpoint_header_hashes = [ - "0x00f67dbd2b2e7ff6244c8f3ba726bd87b8d1ef65dd90cdaf244d91ff5d0aea81", + "0x00233aeabf5fd2711cf82aad11ec047efc37a0dbf0f975b83675b51d548043e4", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -1551,17 +1551,17 @@ proof = [ [inputs.previous_rollups.public_inputs.constants] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.previous_rollups.public_inputs.previous_archive] - root = "0x2a968b103a3818409a621ab8304947f1f9151310ad574c7edfa4806d85457211" + root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000000b" [inputs.previous_rollups.public_inputs.new_archive] - root = "0x2b7307a64e95a3c04ac02940c117d5796a6475d6c98bf644974b6b48ea42f727" + root = "0x03d0cfd1a623b8ff55961314f5958ff785eae34069f54893ab87fe4095c6fbf1" 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 = "0x0000000000000000000000000000000000000000000000000000e83ffcbb0a60" + value = "0x0000000000000000000000000000000000000000000000000000cd9ed3dcf4c0" [inputs.previous_rollups.public_inputs.fees.recipient] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [[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 = "0x00e2df938f2494e9d9876f5e876b2a193568b439523d9ff028162e7df8433d0f" - z_acc = "0x1c64592b4f438335cfd638b778dd28f442f1ad5aeb334fab814a5f4ee63fab81" - gamma_acc = "0x078856af652a00a6c00bb6d87ca4ac5717898f5594a0976daa9e91cecb3d7549" + blob_commitments_hash_acc = "0x005c63d9aa9270a4b3cacb1cbb8b7cdbdb5b138d385a0865873c0abc267063f1" + z_acc = "0x069067b815f970c0150b7d1430d4a3bcbd175175e2bb3549fef230de160fa5ac" + gamma_acc = "0x05f3e9fcb19599b9d2303954010c43e78565c63ddc49b3539cdbd3dd603bf386" [inputs.previous_rollups.public_inputs.start_blob_accumulator.y_acc] limbs = [ - "0xd70a2b49f15c711974bb4248df74ef", - "0x777e94a6be237c05fd73026d398209", - "0x31cf" + "0x702a0bca2befc9241234171a536036", + "0x06702b3a16e879f8a1b072a1e831ee", + "0x3e37" ] [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 = [ - "0x2ee54c8dd3936e8c3599c49b511ecc", - "0x72bde119568faf76b634ffac25ae71", - "0xfb0b39e4472ac07c318c16f039425b", - "0x0db236" + "0xb446deda21d8ab5ff37f08ff106b88", + "0x71a669a5369c04e8fd32ee634cf642", + "0x2ddf85a729c44304184dbf0c14f245", + "0x08dbc6" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.c_acc.y] limbs = [ - "0xdcbb77480a615c6bdf93cc5d9d39a7", - "0x0f512a659432320bb8c415c14d7d16", - "0xa32225dcb2358c862b7ce70cceb42c", - "0x1793c4" + "0xaef3b6c7e4a37dcde6f253a1e9d975", + "0x0055814914625ac8acb0b8d4bb4f11", + "0xc9412391732a60b713200e79b20f3f", + "0x13ba12" ] [inputs.previous_rollups.public_inputs.start_blob_accumulator.gamma_pow_acc] limbs = [ - "0xdc3d31fe18373199600e01b62cefbd", - "0x3a719b135849948edc2be6f15ee9bd", - "0x3147" + "0xd6af1f294fd4344503d9bd06709e20", + "0x87ad74f4b587339e0552d998ccf27b", + "0x30b5" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator] - blob_commitments_hash_acc = "0x0025058ad305eefa1654ffc5171f644ab8cb97d125a2e41f71062ae30f89c77b" - z_acc = "0x1b4ca0dbb6e8c0e65722308ed5db58fdc77a56221c9213a12ac9e2e9a5f92a19" - gamma_acc = "0x283ec41c6450056b370624d8a752c89c4a3ce5bec8f42306183128b105627a85" + blob_commitments_hash_acc = "0x0012d1a3c86d5974bd0c357ed4e711ac8156302ab79e7e3267f437fe893a0547" + z_acc = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" + gamma_acc = "0x2603efaa2331bc69fdba6477b15cbc3a228a79f248eb99e6f35458a150113264" [inputs.previous_rollups.public_inputs.end_blob_accumulator.y_acc] limbs = [ - "0xf5ff9ae456b471be68a34d693a1358", - "0xf96b55abd433f3be5bbdc5a1a03c95", - "0x6cd0" + "0x34b7134cc88b3d5c895b1bf9f585cf", + "0xfc9ef9d342201d849fb783c71b09e4", + "0x524c" ] [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 = [ - "0xfd6a14a0b33eb5d21016198ee78090", - "0xe609ce14f37a4402a252eb6cfa6bd1", - "0x82f6577922f15fccd64ae35d430b41", - "0x0ee83a" + "0x8d45af1a0fcce4a7efd0e42ace3114", + "0x28ba654db78010fda4d37a7cea67cf", + "0xbca3f8eec74c61ca638f42b3727e39", + "0x122ec5" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.c_acc.y] limbs = [ - "0x338843c3b9e7da713e1a9698426a7b", - "0x888a0e7f905e3c99c48650b706d43b", - "0x946746574d4497504815e6b621fcef", - "0x1134d2" + "0xfef852f1ad8cb2905249c0ac65e8ef", + "0xc34334da4d15c748379df3252cfbdc", + "0x79f8814493aa444fc8aba50c37a598", + "0x198c08" ] [inputs.previous_rollups.public_inputs.end_blob_accumulator.gamma_pow_acc] limbs = [ - "0x21f419f2e1b111c916de4035298484", - "0x98a83f4c67b3f2751b7f0d8eff2516", - "0x4d39" + "0xee6d051902d3b65309fcc1e8fabc6f", + "0xdb394106b7e814ae80450f98e340f1", + "0x42f1" ] [inputs.previous_rollups.public_inputs.final_blob_challenges] - z = "0x1b4ca0dbb6e8c0e65722308ed5db58fdc77a56221c9213a12ac9e2e9a5f92a19" + z = "0x2479063ad4ae4bf8b73595998889c3260087ae4a0599a2f1c6b2c7fcdaa4d6ae" [inputs.previous_rollups.public_inputs.final_blob_challenges.gamma] limbs = [ - "0x3ff5b0e6dd5f488f5bc4b530b87690", - "0xc78a1e8a58625660f78eeb9dc672e5", - "0x19d2" + "0xce8cf42778c63fe4afd3daaa27f385", + "0xcd0d641fde77c738353be4ab303309", + "0x0b70" ] [inputs.previous_rollups.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000011" sibling_path = [ - "0x2477e3b047ac6fac5cf7194b2018eb8f2086ff73d256aa600fa9d403fc071019", - "0x29ecb4e8ef25bf0634ff75266b9b6d0537bca0bb9259ef78d4e2239faf24cea3", - "0x25b928e2d752b813eba17968ae84f33502b903af9fdc899573e63269b8dbe1f0", + "0x2700b81d4a245e8a31e04d713df866800b2968347c1fc0e39646558ab413c6c0", + "0x2dc40a2eaacdda4dd5300328637750eebdcfb29b66d4ac646345f2e6903e02e4", + "0x0996c11d04be7ba7bcc9d520fc4e1ba2fca3cf17fc635398d8c20fa18decc57b", "0x10e7bc0269c83afa4581c06789bf8261779f86e354ff2a147da570c961a1d064", - "0x05d392c55edb280e9c2d7234f18a60c7ccad838fee4f9f960aa0cbc6d9d31604", + "0x0f1532f3e2e5c78aa502d76a800a0f8bad60fd34ee717a67f913e1ca5cca22df", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1867,94 +1867,94 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000017", "0x00000000000000000000000000000000000000000000000000000000000000a3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003080e8bb6282f861379d8669ec4ae08c78", - "0x0000000000000000000000000000000000281b3c42a99aa0573f057e76115494", - "0x000000000000000000000000000000ef93500f6cf857acfedc9e1f997f774d1e", - "0x000000000000000000000000000000000028ab601ccc3a061563abed22198daf", - "0x000000000000000000000000000000404795a68288433b25bbb34d4eed85a406", - "0x000000000000000000000000000000000002c5022a49f1a6960ac677acd2987c", - "0x0000000000000000000000000000008f9f61d1e1753aa9e6b99469e6b51a0b98", - "0x000000000000000000000000000000000002151746c2a62dbd9fcfed4205520d", - "0x0000000000000000000000000000007a2fd724a74c84445bf87d7af458b9e623", - "0x00000000000000000000000000000000000dc250470ac6d1b89dac806459775f", - "0x000000000000000000000000000000616dbc3489d14f3818ef0ef6031f001d85", - "0x00000000000000000000000000000000002f323495ee2f51ef3a2e764fd1a92e", - "0x000000000000000000000000000000f6dc9dceba40e255b6628f0b32491173fb", - "0x00000000000000000000000000000000001dc926c6f50dfc94dafcaede94881f", - "0x000000000000000000000000000000049ff6f77f283b8411b48ae9575ed64758", - "0x00000000000000000000000000000000002adb6b83eb129c7c13c11d73821be5", - "0x0000000000000000000000000000003c178fa9a1cd6b77644ef872c35033b732", - "0x0000000000000000000000000000000000281deca042e3357425d17834adcc81", - "0x00000000000000000000000000000081b4f3142026b5065c10499c693211f1fa", - "0x0000000000000000000000000000000000029ed5ba245c9f1577df0d7362aeee", - "0x000000000000000000000000000000eebea8775dff4ab2706adc80e1cb852a80", - "0x00000000000000000000000000000000001553865e98171ecddc73dd4200ba8d", - "0x000000000000000000000000000000452d6784b8ea040dd5d5ba81fc96e4847d", - "0x000000000000000000000000000000000001d9b7cc92324e2e1f9cf455e110aa", + "0x000000000000000000000000000000db17fd29852c2999b7e61d3f55b86008fe", + "0x000000000000000000000000000000000012fc31fdcc7839edb28ef47a0aec57", + "0x000000000000000000000000000000a5a41cfe47ae5bc7e9e6e5dd0c97ba26db", + "0x00000000000000000000000000000000001891c9cff4f67755f4afd3430ba54e", + "0x000000000000000000000000000000cca1bffca7adde04dc5e3ff1bc2b87cd82", + "0x000000000000000000000000000000000018431d64d88a7c57ba3eb2660de56b", + "0x0000000000000000000000000000008b03b411aae549f22a12de4146ada37043", + "0x0000000000000000000000000000000000211850a447779d8d3c0f50193afaa9", + "0x000000000000000000000000000000b18709d746129d44ae5f1feb67956c1e1f", + "0x0000000000000000000000000000000000214d619198a754a59946a753ec3ecb", + "0x0000000000000000000000000000000f60bd69972504c4d537e16d61ad0c611f", + "0x000000000000000000000000000000000028afab4953379e5b7a478f75823e8d", + "0x0000000000000000000000000000003395ca232a4cda50041b4ceb2780009843", + "0x00000000000000000000000000000000002ec5786220a61bc5b8b8e39dd26436", + "0x000000000000000000000000000000dd2bbf4477a817489389e74e78ece66a0d", + "0x00000000000000000000000000000000000b4e71b2810764d0dfc85d29992955", + "0x000000000000000000000000000000bf659e1baa35037beb78b5fb3829bc15cb", + "0x00000000000000000000000000000000001005a7bd9fa94335dfdcf9ce1028d2", + "0x0000000000000000000000000000004bd597e26976b2bb70f3209c12b6de59fa", + "0x0000000000000000000000000000000000282e1bcd374b8c5fabfa8756988257", + "0x00000000000000000000000000000052ded6f9a4f5f137750ec6c351c6d07271", + "0x00000000000000000000000000000000002623251b01fcf83822556c436ee8e7", + "0x0000000000000000000000000000002a6f8f73f30bc60ba51f98b2d6efb09806", + "0x00000000000000000000000000000000001593eebc92eac3bd41a92d178044ce", "0x0000000000000000000000000000004b9cd87af8615fd21a50f9d2d6f5bac356", "0x00000000000000000000000000000000002fea96f32103760ddbb66d2b64dc5c", "0x000000000000000000000000000000cf57cca060c094a74ad685146e8fdb5c3e", "0x00000000000000000000000000000000000a71f47258b8aa04fa23f39812abf3", - "0x0000000000000000000000000000009de30be09ed90971079adb23a3da3f26ae", - "0x0000000000000000000000000000000000195c2a1ccdd2ef7a45cf6707dc11e8", - "0x000000000000000000000000000000998fd9c52a47ed30ca41ebdeecd3a6fc2a", - "0x000000000000000000000000000000000021c4249ed28620a6f8f5a9c131bfa5", - "0x000000000000000000000000000000b01fc4afa7348165f7074b14fa94cc6f49", - "0x00000000000000000000000000000000002f87c76909dd3409e13f0329263746", - "0x000000000000000000000000000000a5f3d5e44dd17958acc3b68749a410a4c5", - "0x00000000000000000000000000000000001b04ef626f653581ab3ad6cd61ff91", - "0x0000000000000000000000000000002f8837e91c11ceb14a661c81c5f1b422c7", - "0x0000000000000000000000000000000000246e8914d461b58181e924c37179a2", - "0x000000000000000000000000000000d5d939724521a09176bb286d3bd54fcc65", - "0x00000000000000000000000000000000001ed97dd46cd90f7be486dd9ade8617", - "0x000000000000000000000000000000f2b41bb44ae596f6a366512f119a5909a6", - "0x00000000000000000000000000000000000563af5cf005f46808cddc09a3766f", - "0x0000000000000000000000000000002f929ffcbcd89a015e49628d3d72be9098", - "0x00000000000000000000000000000000002ea3b4cd4c51ed5fb8709840e0adb6", - "0x000000000000000000000000000000d14e2222b479e8e24819a1306e11c7fb56", - "0x00000000000000000000000000000000002935cf256fcad02db7749134ed5010", - "0x000000000000000000000000000000cfc2aaf1931bfccfd87792557e06a5581e", - "0x00000000000000000000000000000000001ef2c4dee00ca20f260c301565ed24", - "0x00000000000000000000000000000071f73e274ea415afa32ddd8ccc9b72d3e5", - "0x00000000000000000000000000000000002ffe18a77a1e2fe582086af7258a27", - "0x000000000000000000000000000000c26dbab8d6fd3827308b790b3088f62b86", - "0x00000000000000000000000000000000000d818aed5c0874e162612a139723ea", - "0x000000000000000000000000000000a62380fa25db8c80555468354de6667932", - "0x0000000000000000000000000000000000148dd2f7c788fa102541aa31581002", - "0x000000000000000000000000000000a8f2bf8b20a4737567671bd7b4f23f3cce", - "0x000000000000000000000000000000000021eeefd51d3de0dfdc8f76bdc60fc8", - "0x0000000000000000000000000000007d49b54977529b5237e3341672ea2711a7", - "0x00000000000000000000000000000000002aef4b3d565d75b15a3ba2d51e5c02", - "0x000000000000000000000000000000138f8c3a64c7cc4523ae85bf05e0b68950", - "0x000000000000000000000000000000000028f1aecfa55dff2eea2b4a280d60e4", - "0x000000000000000000000000000000894b5912ab359fefcd3cf7687acbf3c351", - "0x00000000000000000000000000000000002c69c5555357e19bf07c4933174686", - "0x000000000000000000000000000000964826538cb2e27913fca73fffe7653477", - "0x000000000000000000000000000000000019025dccf187a1f8c3f9c14b5901c2", - "0x000000000000000000000000000000018df723fa7cc607b1452f28be7545ed0d", - "0x00000000000000000000000000000000000f1b2e907d08e560cb4bb448fa446d", - "0x000000000000000000000000000000eb49c6a6c170cf57c5a542a8707aeef0d2", - "0x00000000000000000000000000000000001d517469e1abb169fff4da9d945710", - "0x00000000000000000000000000000006201c479c7c1de1fbca387f58e03a36e7", - "0x000000000000000000000000000000000026af4a90a90e9d2c39d2a94b1d7ebc", - "0x000000000000000000000000000000d2550357b868c2983d0973538dafcc63f2", - "0x00000000000000000000000000000000001283e6b9335f457de1db9d40921b90", - "0x000000000000000000000000000000dfdb5322f8da0bf33d84cbbfc47a3cbcd3", - "0x00000000000000000000000000000000002c1edb18b4b1c417dcd5a51145b7fe", - "0x000000000000000000000000000000cc465457c2f4a05cbc482c6cd750b93e26", - "0x00000000000000000000000000000000000f9cc4cfe394eb1ca503bac62303a3", - "0x0000000000000000000000000000000368014ee8b57d52d2382a722b91315029", - "0x00000000000000000000000000000000000c7c1892091d42c1d5b9f3c33aafb3", - "0x00000000000000000000000000000077b43d083d1baf924e0ad6d11046e923df", - "0x000000000000000000000000000000000002b2c21bf718f2d60437c49fd6ebf3", - "0x00000000000000000000000000000031f495863904c9b12e16b97ca7c3084be8", - "0x00000000000000000000000000000000002150ae6218b00fa9e38ea3339216ad", - "0x000000000000000000000000000000a08374ea0041e0c44473060b0ea4edad90", - "0x000000000000000000000000000000000013362763bd557e57e25322d5021b9b", - "0x000000000000000000000000000000f8e7ab944b65495347980be06a5ffdb502", - "0x000000000000000000000000000000000013d677ccbd7fb4ae0f20c2763e29f0", - "0x000000000000000000000000000000cd9acebebf7a821fa77f29ccccd93517c3", - "0x000000000000000000000000000000000023de261481462e48e4c5fb4d9197a3", + "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", "0x000000000000000000000000000000f4a6c6ffdf80a72db78762e237d58cd5f6", "0x000000000000000000000000000000000026814a59803555635a3b6dfd056d19", "0x000000000000000000000000000000f45b8d96069231f48e0d0c34d57593a6a6", @@ -1975,9 +1975,9 @@ proof = [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000ebc6c52018c3a03a446087f28f2ea4c74d", - "0x000000000000000000000000000000000011cd71976237d30662cf3d7a17b484", - "0x000000000000000000000000000000ca71cfe4082b7b53baf22135f5db630f78", - "0x00000000000000000000000000000000001dbb43d59412e18d935ac1aba3de9e" + "0x0000000000000000000000000000008671ae493f893cd6f74bd8a39fba23e8b1", + "0x00000000000000000000000000000000000aac3112a141721a7072d26e5f4580", + "0x0000000000000000000000000000008923d98a692c0374b043c5fa8c99bd8be2", + "0x00000000000000000000000000000000001892909317c5f8a3fedf24a6033a8e" ] - hash = "0x066444da951db8ce2e1f253074db1b4c87570bb75a9a54fdb320c59b3bd9312b" + hash = "0x14c855cd401b2cf3f12e47f5c4d110f74e8f933898319866997f7c4ef86bf5c9" 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 d4a5957005f0..9959d5f1f749 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", - "0x0eae030a63bea769b379d51d609540d3c3dec7cc75876923338916ad3253b890", + "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", @@ -3061,1457 +3061,1457 @@ contract_class_log_fields = [ [inputs.hiding_kernel_proof_data] proof = [ - "0x003c98cb6fea9255e71df980bd4e2b812d35e3218170876784b80c278a3d73d6", - "0x008fd2b1ef6d08c69f8d8f79e4695529042b176ab2e5f2b36b4d061538febd2f", - "0x00033edc9437b4c57053d3c535e268c79fdfbd3cadb22ae2d3973d92a114ce22", - "0x0074aac402b23971c5c9b91f430574f900e35d54f76a08866872770c240db42f", - "0x008bd72df329c411d63f996c13933ce3b35734224afe8f8bd2e22b1dbc24c041", - "0x006bd2b831f1877dee73f00bb64bd4af594a2d427fabfc076ebdd3f0670920f6", - "0x0096d4aa2c84d2b7ed5c0df69893875145f20055ff7418348d512893391dac25", - "0x00a7acef3c6bc2e46e9f9108f8c0716d062f7aaa1114df1d666b8259c4721c42", - "0x001c536f0bd88b1991a2ac7d547a413ab6d63cbb6a220c0a3726fcf3df3bc336", - "0x00a93924bb015383bbe606c9a46256754c4f6bbbbe95aae39e31217ddd5651f6", - "0x00cad36e39fb07116b5563a9cc4391eee64f2c4eb1be4b470fe0eecc5a3ff8bb", - "0x00ff48994c61b0ff3ea706ed41417cc183eddb9dd49a6f4155067afc60f6a863", - "0x001ab658f4ce5542c767fd9a071510059e1809f23b992e1101c6f7e7a1e2b5d8", - "0x005e22c00f158c4d51053f7393f8c65cde8bbce42aed0d3d637340d2d53176a6", - "0x002b0bf104989feee4139d089311cdae14e1755e5c72241183914aa3cc2f72d2", - "0x003a336df687141bfb57fdf5ea5eddcd2ff710bae10675db9e31ee6cc8dbc9bf", - "0x00ce10adc9eec09c1341dfbb0d40caaf30f71858f9b335d2ea929ec5db9c426f", - "0x007306b5ca00ecd41b23683a6fd37dab21e83f7b99f3e80c5da31dff6dd54b84", - "0x00d83614556f6245ca445d67f88234766116d32bfca2879d300f60f2cc5475db", - "0x00f9cc5566950b441a400f0b3a5f327180c91da749f6ffee56bbd60542b7c0c4", - "0x00f5172e8f295a5a1c9849bf43be489d17bd2e66c22b7c33a291f4412752dff0", - "0x00120300a53d2e343505ac4f91a203fe586b4c067c8497ae546d15888b3642ee", - "0x00fe0b38107507eb196b7a1040c708d6bdfb0096fa87c74d8d53bd12041da8eb", - "0x003942e7329fc0a44724e20e839b8b5374a74afe021a5f9a3d2bc39823a874eb", - "0x009686d62c8275147495627786b1a3f47b71d7397682c7f87f439613ee13d962", - "0x0088e75f7872812783e8619b31a8ee50be914aa8b68f5d6169508a4d55267544", - "0x00b89333533d3c1b7a038e926b8e34abb077795f88a6c36596661126ea4ba234", - "0x006a917c126e121e716eb235f2622381d28f3b65f0f3268a6aa05cbb039533e2", - "0x005804ebbebf2284c71bf6fb1711f6bba52c4e0b5f1b9eb2b3447c9a8088a3fd", - "0x001d4cfac791d8f3bfb6393a93b749bf10ae3dd1946e63a8ad3169e5ba783d55", - "0x006c57f2f3ee2d205cd6f85d82d7c084024b3585807c82f212a7119f3bafdf09", - "0x00fe13293b657c151a62c96cdacedce3758ad490e70903f82a51186520a3e4b1", - "0x00d75e6566fa1f5075d57703503ac94295f559f1459c45161a488985fc63c514", - "0x0049e42a31a1038eee42cff9d400a58efe702a69aaf1cb911b5ed27789f9a913", - "0x00e3021efbe9800b60a48f51e17ec5d6c8c031496fe84ddb44ab07d9048765a1", - "0x00eafb8bc3bbe829fc1d796b2e5c9cc86a77ec276a2d78cd03129f1ba74d6b07", - "0x0058f92476ae1dd354e0cad4a050e66b5ac74f64fd1e3cc4603772eefdc04fd9", - "0x00eadaf030a9ca52e30e3953f125c42bdcb400d3c1c84a0914c36ef06c070287", - "0x00c5c6ab1dd6b3aa7b95fc8c9fcd787fb4481da111b612645aa3589a6225af03", - "0x0074eecae854a0df73d5aa536d00d3e559da742dc6772a72c4de6ef89d112e36", - "0x00563399c00753e2864d721cdf6287be71264bb7f440bec85a6bb99cac03d83b", - "0x0072f534286ee34250d392750490fff6a3a5679d52e355b9211d85ed59b3ccea", - "0x000c286bf760b633f7a2d3138ee8054ce3868304d492b945c51c20a0151ce22e", - "0x0075765e547ed9ff68dbb06c19f08f4799da60a7635a28c7eb71611f291650e4", - "0x0096eb8537969bbb31f7a2a7a409f95593553015413f96f017056f6768058365", - "0x0099559bce11d3a5308ab7d7ce415ad7978a86deba427a2967fd4fe67c5e1d70", - "0x00fa86a50fa5be80a5faaa7354299a49bba79c4954c4117759f4def40eaa5669", - "0x00426a7419dcefbd6e5112075949de3f3eb46ce19a4295d76fbb9936bd87fc7a", - "0x00c790069d4046e50cb1eabb0f6647faf6c18361f5334ccac8cbf4795ea4fe2b", - "0x00b89ea79bc784b7ccfef51ef75db03e0026364466235e5657e31d274a5e701c", - "0x007ada5fcaf7300b35409ace07b3c9aafe22d1bb75e3a37994e6e3605eb02924", - "0x0098b140ad8a45513777b0aee2260604b831a5143c5d6e5dab846939c58a7516", - "0x00ee2c8f263d7e8f65e0e24353f7ec034bbd14aa137ed3a9b7fb789d72d7f4f8", - "0x00894a20ac0dc977708bd8c3d06c47eeb0f6c635be432b1c6004914f4f8c14c4", - "0x0061116aa67969105d6df753c9c90f8faa904ac87bd8a811e56c306e4e2916c3", - "0x00da3a93f76f56034edc87a8f20f9e52900d547261e5f92640688359b34cf7a8", - "0x00b13cd9986cdd96aae6a9d0a031e8607fb6a286b10c235ea7175b0d82754749", - "0x000e9849beeac9b9226e43914c042b0ca7e85dbe17f7e671756ef8f5c8470b92", - "0x00ef356a379aefb5b210f0846883c429e33191aeb3c1d170e72224212cea1c8c", - "0x006cb5220fc21b6a518518536fc4361ebb30c8e1e1185bde2ea595f4129ca217", - "0x007028ef381a1554d5f9470964dfec452f5f4dfa0a5e09f0bb0247034d46fcae", - "0x00f90136226b3f6100671d5f2c5a3ce2241fb9a4bb30f7f296f947b8b4296b68", - "0x00561ae773c7395cf9006e198b99768bc4d2d9b5ab05b9ad5609b0a9d6838874", - "0x00e526a0e739bf4761dd17ccf57c98dcb5fb7e977426bdde9fe7023660dce85c", - "0x00e1b4d320bc10ca43b42b5de29dc4324fa619c43df1069ea50f5d08e57d3b66", - "0x006d88922800907c7146c15f0de1f89743bf2b6af2942151c5e7483653214a66", - "0x006787ea14b28e778c0a64320a4642746b3a11ac4c9b7fdc51d938bc6a4769f8", - "0x009733e0dbd6a52248ae5e76aaf49d788921c6130017699d76e74f7133a37189", - "0x003c505b849a3feccc4b86e6b9d30c02ede5703f03a37cb7ee51ecbd57337970", - "0x001e8088bcdd5643f1db86e3308059d4d178e5898530bddecea19994ceaf8975", - "0x00f46a02d4d76c8b199238b99b57a284621fcdc4b2e851581fede7f8e2f9d8de", - "0x00a9df9684b0224d39fdcf019732302e82ccb1e5ce4b7d9043d66c5e04857a9e", - "0x0000159de75c7d8c8367a3f9ecb7d29dd4601aa006dfd61e08f68c9240443d61", - "0x000b5f35d9a92343cbf42e01c2e7f1587b48ea0ffc46757d80d08a9b29b81b0d", - "0x00c805eb02bbf5fb4269d1112e18231ff419fa8d347dcdfeee1d6a9a46edd00f", - "0x00299465368cff269bb605f0d2ef8a2a9e987c3d926dc7c0c1950a3487b22386", - "0x00994ed652f703dde151e244a94cb40d52c9dd87d6667495e2a81a2e7e109e7f", - "0x007f806ff1e3264cf4f0371fa80c72e33be270142e85d862250b58f9aaeb366e", - "0x003bd2f1b206961204657ef9fe67baf03f83e0bf506edbbb157c50c969dc9632", - "0x001aadf82c76a4aa56a7fbc74a864f9f515ed165834c52afc94e1df1cb0c2e10", - "0x00d400a3871805a945177f27dce2136fdad9b9934da81aaa5da044e4f8659f41", - "0x004876ad05c3df5096ceba898f10d908eba9f3b0e15db27778fb6559a503b54d", - "0x0096db8d96bbee3ce14500a61a8b17f813c114eae4ed4307fc5c6036ae02ad9b", - "0x00d5bc00efa9eb186b091a98df499464007d804c9df91e3267743e82f4d6a0a3", - "0x00f9cbf41c1146a2176ee950fe6bbbb2a86d2a5e1977a5e0803c9e56b9c55877", - "0x004373e9da4bb3addb5b5b284e6d92955e69aa721df47594523ba80d1296c40f", - "0x006500606440de3ff244b3dae787cb5bb3ab17ef0a83a633900a27d71cbee32b", - "0x00c41b984d5c5b65eefbeb57691b7542d4fdba2acac65bc97527491b4a2431d8", - "0x00b383cdb24dd98b977fc2771f7dca446fce225042cdf098aa140828712c929c", - "0x00076fef918d9188d27a38cbe87cd417b15aef23e61342cc234083d76da711d7", - "0x00f12063dd1a5ec78ae362fb3f2d6eeffa258d0a3d89eb85b2071dd12448699b", - "0x0037e4cf0bbfa38d6ed2b7a15d5c015ef5a769c41707e71b8717054ed7a39614", - "0x009d62cb6532768db86471ccfd1dbb11a2ffef16c8c30d48c87915d51ea81001", - "0x00df5d3ab75726a7dbf444631ea24aaa8e06efca1f52932b90c3469788ca9587", - "0x00e525591dc785a861d2a59a29907a8b1c148301a8ab791f365d548c3d162fec", - "0x007f5283720616327a18fbafe04ddf72271a4f0bd5e4b5a488b4f83d7cd113df", - "0x00c1a3736aa2989854c8b49069d1b28aa7e3975e183cbf5472e0abbc5374a9a8", - "0x00f29663f26e1f184b5f72e1a1abff51795f8f8c71fe4a02b3cf881c9581f693", - "0x005c15c813fb37188bcc90ca5f5b628819e29c5c5dbcef98aa5f72303a60cdea", - "0x003f065b5a9fc36bd54cb94fcc907a92234eae4be54cfc6c8dc3d917c0bc648a", - "0x0066dc86ef093d5ad451c664faa3d08c81de8ec5b63e9be17c87aa8ff8c7f6a3", - "0x005c8ff399aa7a95c28ab4a7698925efa3525187a0a0a998cef651174a060dce", - "0x00f3cc9cc554276001038fdc082d2239bf16247a44e1f1e60b9719110b2079ce", - "0x0055ea2998f1e533c0867c185b66c6e2543e31bdbea67dca01b28e0545f07b83", - "0x006721693d8e7c57757d6106c4c3c892b328baf87c3d338993655f928399074b", - "0x003410650b7289f7c76cc92f80db723f20bcdd24e6dcf169d9e031d1af3b5a87", - "0x004b156d2ca9aa4a352e6bef6d0bad917ea18ec5c3f3d3a9b9ee20f8d5ac5519", - "0x008e8daeff8ae1f2b8a17b30133e268902c7795b0df348d3e49bb2ed0a4b12cb", - "0x0085a3884283f269169edbd3be8841985c42c4eea9e8e1c6b5447e34825b70b6", - "0x0064871fca8af8b83b1dec9a81829b2ee3e04305ad9e365acc899b7852a72823", - "0x005a88aa381104aa83dbf3ff9886eef664a3f679e552767d951b9f7d9574dc8c", - "0x0005f31729175d15e9755a14cd6063a33816af53e2a889f808aa21e9e2120be3", - "0x005c3588b8fd654bf13afcfd589848a428db601496c6bb48c3b252ed1f984189", - "0x005bb426d909f6c130522d4b90b9fd2f73a5d88d806742ac25312679e5f34e01", - "0x007cde149998280f0f712c22daf91ec3faf6a0366389991d493f41f1f2dad544", - "0x00fb502bf285e821622e21a9385789ef307580102d4f55782f93cf4e43ea6acb", - "0x00e19bf5422970d2d4702bb546c8ab16b529a3e41ac4799b3d6dc8959ece8a51", - "0x00f8898ab69de7b0e7bc461f3a01a81b17d1cf3ea5e49cea1224ea279fa64d79", - "0x00952302a3a5373be7241120d0e796edbfe2f5e11239261af06dc15a3e3e3289", - "0x00ecbffd806c1325a0386d1ffc65fd3af8595dc2140f892ee7a4e7fd517fde5c", - "0x00d1fc17278ee72b3262351808617c63fff9a9ffc38b63eab2f742e7c8299299", - "0x00cc1cefda848426092b30ca39509fd6517135ce9d6b251486db6728d3ee8bae", - "0x004aa55f1b2ce347b6ebdcc6cb4fac72d57adaf20d0c3552acfe0d49c86ad6a3", - "0x004f327fc84c5d9ed1be0153bf444e485ca34792ebc32e15837c3c8899f57765", - "0x00b2da4bab711fc97821315479ce165c2682cff67ddb30b1e6e754eb004d63dd", - "0x002ccf647109dc3bc3430584011c403569cff589942870e12a7e86241d4d1f68", - "0x0043c3bf1d7e3e73f55136aa3eaeaf40fe05bc9c4a2adad974a47a807600ae84", - "0x00d37983cec0419305f0ebd6683068543f0fac0c0431ced2f7ea2da70f9b6e37", - "0x009da9db48ae7187b1c27ae59a7c518e64e11c45e2407b1497218150a60afaa9", - "0x009cba051481b6a2588ac5c3edd73f3c6fad692fd0db748d3db18f33acf51dce", - "0x004fedf5ded7f818757ec782d96486343d8fcf9c2a73c244a683d8c0f5e3c85a", - "0x0094c5b59839986dbbd52ef557a60a106579e306dc8b6639628d991e7d8d4dd0", - "0x0055bc5633243ee024308a49bd5331505acd9dcbde12be59519180fc6383a22f", - "0x0071c2f227242966510e867ffd7372759cffa2b26f6ecfe9ac0f3accfefdd463", - "0x00e45d6a50b5be4dd86792e8d160aa7100779c39efc634946f20ae145aba5c14", - "0x0094ae22c27e42d6ef4c0830e115993aadf811a0a90072a86782af7355eda3ad", - "0x006697f1ed1bc15aebcba3ca995dbb954bd63aaa420a00ebbe16828dee3f0ecb", - "0x00b2bffe2ee316cfd21c544a4a381c964deb3f78b8094808b3f98fa299caa548", - "0x002c1f1ab180c0a843d63835526129ab44814eb74e5159570392c95967f7bb7f", - "0x00257499816268ac1592e306434b0db3ea8d73a78cd4aaa8e90dcf4ecd2fba91", - "0x000f46bdfb756060edc049937dd6918edc2d6aa82a0ccaca340ec4e1b829ec09", - "0x00929ed5bd9b37c740a011ec02ae3b0167d5075ef18d77ca0fbc23aa5a338777", - "0x002f12d1e673c01d4919064488704ab0cf8dded0f30bf2f927d11e7162e844b6", - "0x00c6154ffdb4d0c24edcaf50782ff6a35f52bcd480cb2e331d332edb64424d3e", - "0x00740b686fbcf434fb700f183d7f8d3fe89d2eb0151582a44d6658216abd093d", - "0x00a6cb06e8f964dd41275a11313e32bf7854b960f68377df904ad6353165cc71", - "0x00fa11ee1a0bf97e114084ae0fe526846a0be1d2fe7eaf6b119fbd3ad756f4bb", - "0x00395d751725b8ea23050fbe5c1617503d6e31ecce82b2797e805ef49153e686", - "0x00204d4e9c9abccb8bd686ab67a16b1955d8186673afb144ada14bf6229dddca", - "0x00d94d8611c330c9186ad1f2cd174d687a480d6d2c8fb0d63caa3f888a8454f6", - "0x0038fe2358e94dcbc1559bb1a107e92c47af03df0de24a9fa0d66e504f9483bc", - "0x007f484ac20a99313c4d1cc1615df0072e28c1112b4573e682a4b8c1a7c53df1", - "0x00998d3f840a41cb79b82041ac2f20c616ad3ac14aa70d08047d267f8089e126", - "0x00a0fa86c77d57c9c17a4505cb71ff85338c9c361913c33dd24a099be0e3f792", - "0x000691c1531ccf571746f031982706ed9c60445b8c69baa440c80e5bedd85ef3", - "0x008a06b302b8cb372fc0ea7004ca1d550be267bac9f1e37c7f20da61dbaefd27", - "0x00c253a27188379fb5a32af093aacb2d15b8ac7824c924898c8230c29191b309", - "0x004bc3b7e3d6273b9ee3bd1cf0e14c84764b43f39ef1db895cefdfc019429c7d", - "0x00b056e9f8dbe30881fc8ebde91961839f180840e39685d6c95b14b4d242ff00", - "0x0062d6efceb525d7c1613a9c4a952fe4dc09e9e6d51ff253fafe4743add4beed", - "0x00722d3d989720ab85a90cf5ffee83e31c02508f11aba3ce983e58d9a5fb2ec2", - "0x00df2f2b4f85612251901346c0679d5ddd237495499c5fcf3f5923f4d3309429", - "0x004d1686e4861b5e4be6f81b8a1a09c685cf7168e7c19ad63d81b7ddaeba121f", - "0x006aa864e37d7fb6131125262183b3b6d6600607596a721592ede81dc1274e1a", - "0x0025c8593fd78d449c63356c46e63b3a0212d4e81c5aaed9b9ded80182a4e313", - "0x0010d34216336368b1873c668e915563e197ee537d61c0dbc21da7c1593f9e54", - "0x00634962c1f85776133e22c10c9448716d27b008965acc1232346fd6b3603c31", - "0x00f97fb86c2af1114863d96b6d214f915dd3b14c02dc4a77dbc40ed6637dc41f", - "0x00b05badc30c2079e580a1bb470a08ddf6879c22e55799ba89101d7e7b86ad67", - "0x00672aa66e38e5ba420b7bd624742e6996d05059eb29f4c6b721880ab720fd73", - "0x0029c174273501de4e39ba3567ae880e86768592bc89bdabdd64335d09e0a743", - "0x0090ca638757c4ae031a2f39f3ddeebd2076eb6641184fb81016d0331c9d6afd", - "0x00e5bf2e35c7faf6ff21a3a4a12b44fa050c0e41b450fa99aae2b1b8fc550c3f", - "0x002be3b9c6f6de685859137a645740be49d4edf3c1237da383cf77ed7c31d0c8", - "0x00f96b449c4e5b495b0196b574b608bb4bef4860d92a6c2b78d1fccc2ecb66a3", - "0x00fc86cf24f357fdad80787096e0517bafbb1e414cd266c6244bd124ed0a924e", - "0x00364aad1705a4c2d4c9e337fb5493b7cf037c9a1eecb629b2a683384e4ca308", - "0x002ee4c030408b9716ee58c60229cf59f7ece2efce2ac0e32e278e59e99bfef4", - "0x0036c128e18b5ff25e831964fdc32a9f2de6bc2acd7a45430990193fbc234014", - "0x00366cda095daaeea05d0d63bce73a64208c70094ad9aebf2257e87abca68d74", - "0x008993345a9697e42a27bff345971661e13d1f916cdde382eedd46497e08f901", - "0x00d29e8d04c3de2beea9b6bb74c2efdea281332504a483a3c0e3dcf0d0ea32ea", - "0x00fa895340ff56e89fa88fe6ce7d4d6adb5712d1f1279738fcf3d7f00b39198f", - "0x00bb467fbfb853ea0ee6a2f7171ea138f822834d914652d5fce9d01c0e58f989", - "0x007e01ab114a7daf6d59b21ad4e337ff5d60cba162ddb9ce9ef5f9153dad4d37", - "0x004fbc5c86778b1557310dde73b299582ffe244a88cc8d669e532682667a32b1", - "0x00e2a802ef5596dfb02b28ed1e59290e2af83a1aa5bad523835b0de9c9dbffd4", - "0x006f3cef6f4b58055ef04f4881e7364d65683638162c67a7aa9138c82881a851", - "0x005bdf4ae543dea738d75a33f8c6e38e8dded12301c15306b6b66ecbe5553850", - "0x0097629e18e7844bc87061b67b453da775a64cfd6ec2a24c01f4135b3cb2bdb8", - "0x005bb5f2977e87158eebe97a2e160ec59fcc92ff0ea8661cd6d36f4f2b667453", - "0x00611f38b87112df55122d8824a2b56e9760c1b204ab73117d136dbe10ce84af", - "0x009791483a024df1647a1af5a9ce38b7fbf1cbe34af365aabab488c15b3b7810", - "0x0080fce5cd9893412397dbf321624158764f9f61740e8ee9d75e43f19bfa3f44", - "0x009c988e1e027f62e10efaf71654ee2178b94ddf9321bbcb0c6b6c10de8fd471", - "0x002bf9af386a60e01a4ba109e2d83001e932cd8c887762b4423078b6e488d472", - "0x00991075268297795a8652dc241c7a734cfd8bd5f4d2f57fdd81eed7a17f300b", - "0x0019c5625b162412f7a9ddc6861a90c0e41c25bba37195637396dec80695bd1a", - "0x004e380b6058f2ca2f4af1eae2c5e731cfc7fef630ea06a035580eb45b4b20fb", - "0x00934fce0199f5da21f1c789b34c5e9871cc454db79169d6f58fc84811ae1dd7", - "0x00975eaa42c7c46a2d02d2f048afed771795f0dd74e3926f2f2fac9536c3bd69", - "0x009f1b8b7ae3aeb2f0e232bf8d2fdd5eba441fb073ef29a77106612745cb9dd0", - "0x002d8bc14d007887c1dd8487507d38ed1af8fa7b3052220c04c23ac9fdd76957", - "0x00b39390440fb80561f88b8bb0c6e333f328f6e686026facbac927d4ddfbfb2a", - "0x00fbf4d48943ccee1bc185f67279ac48da0117db7ada5710e659580a93a7c1ca", - "0x007d93a5d289d5654b9f50a73db5e0b19bf1ed0cd47fd9befcfabe48b273dbd5", - "0x008aecf09f9f161b65c30685213043f1257269ac8250c1bab600a29d816e3aa3", - "0x00de1271580b5fbd05b698a1e4e1daa91405a34bc1888881a63ac993ae844307", - "0x009c4e946bae2fc09ac7af203d6f77568c6492fcc1daca18419087e3c108654b", - "0x002d8cff92b56c9ae32065fdf06a0f80af915817b54fadb37ebae84cdc15df1e", - "0x00b40f7061568218f1cf59ef1ff3e7be648fbbab8e0b07b0fd95d842cb400899", - "0x009707aba65efff3a0d17324a295f4af39f692935d6d9dbdb470e7d20137a6f1", - "0x00cb2dbb63bea187711ade1ee5e69f3c373a5f324c1f2ffea9903d9b125facbe", - "0x00b83c92f08a522473d50b8fe661101e3e35552d58dfc34300f45d82ab9d9e28", - "0x0018ef84279049707fb84d532fb1e1904e307cb423c377e2561b8e6abbc59d09", - "0x008ca0c2380348c79f3c2b5576a5d678daa430be1d734172727444f92968e4b3", - "0x0067aa2e94e6b94f0ed6bde0a5b053d59c5f9c5317c005b21e4d85aeefb69ed0", - "0x002a62ddcf2734b6727f4007b9d871e75f172f61a4ca1e8a639a858a088f38bc", - "0x004782fa5d6a1f8f9fd1151542c9ffd8c7ec6f6343504f5b6cfc5b4f7819aa21", - "0x00a31584811b85f4bedd5e95593fbb00a159bd0558dcf74fb7f544b4928102fe", - "0x0044396bd3cb5caa701d6c34d5e8d832609626d700bb56b27ea6a38ce1d1864b", - "0x003036ef8111bb763dc789488c618384465d9458db75158600ca4e5a5a03c060", - "0x0042a8c7bbd96d46306a4b0c54492e3350be7cf331da9482d0e921906a9a0b7f", - "0x00bb29f43a301ee8bcde87aefbcb682ff215bbcdac4d6996eed20a6414bc70d4", - "0x004064c655cd0cb04d085a7f32458b30494de2f380f203619a6a44347a24c2c4", - "0x00c58452d8755c13f408cee2325ebe302f668ec7bbd472ac68061b7770901696", - "0x00eb0e42f8782c0a04cb321f5d3a82bd0d6fe3f90e513acfc97ec9ea56d95cb3", - "0x0018a1cbb16d82b744a37cd3f3dadfc591b0294248ab2af05a6a39e0e2988b10", - "0x00d52dcef5e0e0bd0ea647b0f7b64f598a0c12c330c7c7876d9deaec45c9fc9d", - "0x00bfb0a4b3a0b48b4fca954eecc17866553add6a278c7be971268ac13d0395ad", - "0x0020f0f35090b96972225490100e3cb48ad7bea57ea35b314fd7e397bff425ea", - "0x00ff381ed1e1daa2b09ca3f040ee93bf1ea99a980e858c5fbcbe6e26275bc96f", - "0x00e3acf8771cbd4d7af9294de60e529560d699daadbf9040ac2432f49516ccc0", - "0x00cc06fcd646f17405e3c220f18f3210ce415bafcc9c358aa00d4e03de624582", - "0x00ab0db1d61c198b644e9114ead6fa88505630f06954ebbd2b6eca800357730a", - "0x00551b83b287ca486dc331985f5e36d99b778f397a4af3a334dd7b0f5004c13c", - "0x00b4bcb49ef67d8f772d6a0285c1bad96ec5bb424102c0b219254cc918762421", - "0x00e66f290d82a7dc453224877b40f65f4cb83dc679c10edad49b6303a1806313", - "0x00118e5cc7a045833286eda30ed78082b6696f4cafa2e7fcef997cf9c7e33021", - "0x00d80199fe6eff59ddfbd8b36303d081d11ce5e257070094e874a9f9c00ee426", - "0x00da3e2f3b73bbbdcda19876402f71929f1b8567bd9e86215298be635d5c2c74", - "0x0010a506942462c7d447f97f9f011bdf37a627af437cbed0a5151c6f53cbf6ed", - "0x00e429fb1623bb6bafbd98250e34544e4351916ebc98ea856929543b1646e56d", - "0x00d5f4505d850736b137e08510f6aca4ff6c06ee8e389ae80a785cbe058553c8", - "0x0014665a4070b1ce087340029a25c3795e6e1179b2b030c86d9bc974ede35180", - "0x00b9b255cadfa9cd80c211653165d4ea9bb4e5356480c703f91248c661887b1c", - "0x0094836914080860b4535963ae6db348b7d42fa231397fb3832299b06ba80219", - "0x0000585182232118db0538373263ae013b34f3cda54e0282a37693c5e6b45cf2", - "0x00116ed22f44eeb2d684b0376b6cce15a8f6f4f70da22b0f14fd15327deed66a", - "0x00c99de143b543d79de0fb084bd6986faeb6f6a21d543139f214214af91d649e", - "0x006a4ff387e13019cbc04c875f72382661a7cfd3d43bc570a33086ffed1e55fa", - "0x00269f384dcba2790ce6c530cee3c4c56bcfb854f4a56b69ac6914ab92766b2d", - "0x006d01f8320fa9f32302a4292236133c4990b7e8f5625c842d7434be8bf131da", - "0x0039bf31664ea83fab97e21d99e4ee7a257406ef260d8c61c5b358748420000f", - "0x008b2ec4dae3313e60523836e7959ccde79f38a23c114da27506c44d8e66ba6d", - "0x00712088c641f720b38b0531aaa031c8d73b6bd6f3bba8f03185494d889dff2b", - "0x009c7812934bfb667b29ed2b57364760795c0f2d3ad1892489d946e2cdba762e", - "0x00373decb42ed39d02a197ec3412d6e954c8af6495acae3c96b9b65b96de7d18", - "0x0012ba54621b3a109dcd6e949f4de67d6e894d12feafdba067d16caf226b6d09", - "0x006630fa3b2f9a7a6a4858a04366913d341ce3b2fff242885a8ff1901311aa73", - "0x008cb1f1d144dcda13388b23d4debecc78cafa4263dc176bde5751047f339c5a", - "0x00635ba1d4b6e2850ba88bd1236b0d6df72761b177da7eb72f2a01220b34ec80", - "0x005238a1d5e0a9f52ac57350c35bd8a9bfe7454d5d3e4291dd58886c1a1089b3", - "0x005e625b292f9624146747e5097df196a6b97c1a040066645392f3c34b55b491", - "0x00cd2506c8f978540ee11451cd4e2979bdf3999b4c6756413384c4e4ae653858", - "0x0014ef7a473864ad689629b05091208987c89ef2697d52f1423398172e9640b6", - "0x00c44b4cca5327b2d885a1980d76169cb0214dc04ae21050ecc777ee01766df4", - "0x00eb0d0c544f78714f717b6365c5256a036de41adbf44c758b5d99c70347e253", - "0x008ac7a4a37d6b5ef02a6f2a9be0f0a5e380a416c8e97fd33a700cbe29e862da", - "0x00269519e9d84a708c024c456ef7e49fab1732d9b2041e9a839af0aa6dc73554", - "0x003bcdc9b7ba687120faef1eccf12c755e31379e52172563105a8a50078c1bb5", - "0x00b8f7364201b515f7fefad80116e14f0365b50da0d3ed4e4a45c783b8e4324a", - "0x00bec276cc0c36e09825357de06fdae0609485a0380310fdce5059d92dc1599c", - "0x00165f957b2caafb8f5832207dbae1b4bec5d498363e15468855db22c56db046", - "0x003b3344a818ac9865491c479d63835ab86f50ebcc760a8f34995853d8307c70", - "0x0037113e7d5ce2e77fae2655d3c329fe8c65dce5d9d6c2f3e5bde855115cdc1d", - "0x00b87b878ddf417c728543a0ef5df84859dcad8ca8649a7ed3bfc4af28d0a154", - "0x0094d7ba3bb72ffd8b88d2aee811fb4b83e6de5d53041630a25bdb60bcf404b6", - "0x00d71236cd11266652b5e18187406ca70927c0187b1458f9230ac3ab4c9fabc3", - "0x00f696745898f0cecbd8655f425002ac1fc62f7b18e7f987119533e84cb594f2", - "0x00e514bcc3047a2839a6e828e493a89a30b5f16483683368fb06ca362cbffe25", - "0x00e494aafba6ee1c6c4bd1fac5154cb540da29883812d416001ac586645c04ed", - "0x005ae9836655a0f07a8a673561555ef8eddfaf32a2649d0f873b0e8747e2409d", - "0x00a0b092a0405635f27abe222cc6fb8968c846fb19fadec7f12b39f8441770cc", - "0x006cc92a25c191aed5b7d6036cbceac9c099c7d363788b5b89c301a94aa6e2b5", - "0x00340321312cca4fec1f48625d57276cbd57100d103ffabf5bb5a0460789262d", - "0x00b7ec05354db838b1288d07dac867839818ae503ee716207a81cecebe3fbb65", - "0x0097b20aeacfbb52e43fffc35d204b26ff3fa7244d28fd93cf9e19dfa552aac2", - "0x00f5b33a5d6130c302d0fbaabb3f092ca3cb47ec82c68b4e2b38300ab78bf471", - "0x007401d202787da0238390c60c9b1c6492b8a591857cb31c8c8263ede74e238c", - "0x002a896f69e7794829c658f4c1bdda39c1eb16c10f5b81ac647bb186b735d7e9", - "0x007239db4b01e49c155db2fb04bf3ea51b34569e39e22a4bbbf242b0adfc0abf", - "0x004319ad095ca2e607dc25c6715dcafbe726e8254331ebe5b1bc4e200230012e", - "0x00c92797e9443b2fa122720688cde63e4e85cb593de9fd236dad7f7422e4437a", - "0x00c3fffa7b7dfa48c6833a6611f64def56f50a2a6065c07671afa1b8ceef5f29", - "0x00617cb0c7ea50305481d320d94bc8311832ce8674ff7755241378082f91f9b0", - "0x00c9f4777437860deeaf8909c85ccbb5c43b28377f52c3eb9b3aa659821e347e", - "0x005689e77a8711a0ace64e1876b37f5de3d650daaaab7322c989bb8f96dc74f4", - "0x00b71397f778790d329c98fd6d8c2ea60e79298d56b4637bd69dcf13be3f2e2b", - "0x0031ba57e02b7e451b6b4cd95230d709362b4400f7d7229a8a3dd0807693ef1a", - "0x00edc89651858109c39ebf22d164dfe28c25770c073cb6690d6b14d9563b9233", - "0x00a4d756c46db12e3f9d1fd043eed9dfe0d9ba1efc78a0421f81bcea56b8ff7a", - "0x00c19c4928d544fcffc202d31ff5d7db9b485e8d19b35c6a92dc92e7dca14240", - "0x00f31561f56edcff70e63eec0e022f379c948bee66ed2f805ba2c3ee8b1426a1", - "0x005a1a0f47027bd8b52fb35d6e44dfdb399616a20294093ea2f48dd0906415aa", - "0x00b4351654d8dd16633fd6fa87764ec74fb74c71a9a930c258c039a1b8dfaa3f", - "0x00a19b854c37fe5fc681948137052976a45106fdf2cb5fe1a6c40650f6524ee7", - "0x0023b3891e53feddc46f4c9ce9566d0e3d71a05ca180e66ef1500610931e7711", - "0x0010c9193e35b1ecbba33b2219c6c04586068863f5bb57401e20d157e7c7139d", - "0x00c9fd6771d009e621e3caa02d129fb39b41b086b664afe0b53355ff30514b14", - "0x00edfbe9a7e848a8711e48f7aaa0ebac61a6d8e0bdc70a70e0e611e331d456a8", - "0x00110f6a3ef5cbef4d04e6d6869e0ea3d7b46820cdee44dc71357cc4f8372702", - "0x00213820673e5c2c971b42a994378ccf381afc7e73b6b03b3e007ab73cf5b19e", - "0x00c276f4f61b317c872a5c027a2be08d91007b6869c20ea4fbcc22e5f62bc5f3", - "0x009d33d2e3c48841c22fe74ae4de5b2560c78b58843a754a3c3e2631515ace66", - "0x0057f323915a34de0b74efdba00c5f1bf83650f0ad57e63ed1a8093c4b08e051", - "0x00b97d3126c2b19a7fe0949da415420605c2a090295aa1bf8e3725f7cd7bfe97", - "0x00251d7153b54d34448a2d3c556335608f5a6627c0ecab18575cce08af1c5d6b", - "0x0069a372df59ab69ff3532b96597177a51f92a53be6dd26cccd533571f669b6f", - "0x0004e22ca21b03e0d6c198f6f7b038f7d6cef737db536984c1622dd3e5bcaef9", - "0x00ce1d05b77b35823059f3ddd143b9bbf7a1fdcfcb4d5fbe66a761a9cf93d924", - "0x00f5bdfdbd70ca2dc7835d3f6b4726b333c42e6830b2089fce64560ba7e2ca4b", - "0x006a2afb1f097815e11459d491786813c800a10125735c9f97e17b2e6c58280c", - "0x00c7f31c0efc802802c3902b68ea79ee0bbfc363622a0987e60cc8c806bb015d", - "0x0029606e922132d8c419f431ef4ed164616799274c13f657ad77576577838fbd", - "0x002febaf569486d8ec329e8f322cc770610d21f28722813567da52339a9b99dc", - "0x007847f926bf9a7f48f56a7a502d5c5177a2de614e9169a02655e6a51bdbc051", - "0x00c8bad705f03fe6e594dfae2ccef9b872b873c8b7655be9a2bf98d32446ac1e", - "0x001c58a5b154befa568578d9ddb0217dfd46c62ed794597cb72914add901a420", - "0x004a7d4d3691ccc293d6bd8de78188d770fde7fb15e3a260f65d1af7eff26a44", - "0x00e6f44d9f9694675e9bd0fb6affa66b0d90aaaaa94fd06457f48a2058ff3fe9", - "0x0058755298b561f710aa8863694da0af87b985833fc40654a3fbb46f8f82777c", - "0x009d4c5078e72cb43876380557681199f5f9732979242d723eb116188d0e7adc", - "0x000f85713e6cff32ef34dc3d33178ba2598b576d9a69fdbe702a6459d0617ca7", - "0x0066b722626a013e8d3dc23e9d23f69dc25e89ced34a34a3db9e9126c5c27b19", - "0x00b04395b053ea401676e471256d9263b4f8e84d716ada494fcd43ae26631c5d", - "0x00c0fef8f146895ec96dfd075359a25cb312290fb8f278d54ebbbefcfcb784dc", - "0x00007ee949af7a172b03d9099e00de47c493a6b9390bd2b22a1c46370279db0f", - "0x00418562721ff7119b6d45069f29fdb46bfa06723cf54b6663de0f4e840d0979", - "0x00e2174a59c80a42a9b61c70d7facc27364915083621ae61882878f8f3b73ab4", - "0x00aa94f5abf76f8db55658475a3927d102a3201645957149396e55f30dcfd6b7", - "0x000a586b32a7a5636393471a32ed95b8a9c31afd0cb1d8627dd5adca881b7413", - "0x009c68121ab8e806b51fce89c35ed68fe22a38de308adc3b1171ab8a5b4abb11", - "0x004a1806a442200ac395d49be53e5232ac362feffe9a1bc96051ab225273581e", - "0x0040076b37de8428f50580b2f9e0f23a84e30048df7f02b91ec3e642bcab13d3", - "0x007ff1e6a0604b2a6d6add9b45d5d53bb50897d57321eb87528ab105466d96d6", - "0x00a956f0f03fb701ff3a1055a3559ec2eec37f85e67833710fb87ecbab57f565", - "0x00e9343bf9bdb20dd55ace14df6eeb7536ebd4689290c32155749ab50d38a22f", - "0x00c6c016f8804a50c51769678d10755d04ff162646b23a4d44afe9d29de39f71", - "0x00a71301b023cef26af6af2beb5bfd987b477326b6e2e70590eaa6397347e1ef", - "0x00009559c59f3d98aabddec063d362a9fee031c443ebbf53fb8ed737276982b7", - "0x003e6806665146a38a8df2a3a1e75005019951f70d356e99d0612e7a48315cff", - "0x00936602496ff69ca240223673d653bfecf94143cdabf32020e233df667eaaca", - "0x00e1a81bc48cfd204bc82ea90ea328add2c1b3af855ceeeda7285119fc2fe15a", - "0x001529eb3ed41cb5afba034cca3942cfd8c97f98339fdecca6b26bfd07aa4f57", - "0x00123dc46ae11123aab1155fb56b7c0d539547374ea79c3b08419f83eeca495e", - "0x009aa6ea65f2b24952e65aaf31766b5919470b3355b16ad4a6a956375bc792dc", - "0x00f8b3cbeb0cb34668c0dba2c179865c569a21f68625927885c15ffb5c14ddda", - "0x00171c3cb0c13fdae4e72a8a15662958e2b9f1cff5471031182e34af516f4264", - "0x0059f16fe295e56c0f8b05813cf6ead9a94520ad9312935f95122f2b0d903ff8", - "0x00b797f60b7c0c3613fc8b069625608e7cab626c21ff7b5b9ec9f7fc6f4c8485", - "0x00a176d2613b18f6ed78f6f6f6335f986cc985ede8c23ced1e109a5804e1ffba", - "0x00d3587e685bdd8b93e9d188dd80b83373a4ade44b6c376b73009006b2a88b11", - "0x00069319c99629523243d84d1370588bcb4d3f9137cda5f4d92389fec598106a", - "0x00f3ab7c084c8ca014f896ec8322f49b8ca1cfcb70cbe31e84577c91182d5bc4", - "0x00df16a65c4599509c458702384a84135e81dc0d0ff551d1ca1bebb44cc1a8dd", - "0x005b60bcd1dc7fe08a05fe5da5acf251d335772d8d69fbdd537f23571c49153a", - "0x009c87dbbcdcd4273dca62b8312abcdefec29ceef487213f54ac5edb40cd9d0a", - "0x0030ef46768656eba8f3ee04446893e3d031c01ebbd46e4c96fb339c7691fb4b", - "0x00f019be69400a2040c13ecde157c4ad0ab738b79e68d1b957e9eeae05fa40d0", - "0x0048183942ede67c51a4ad19705e5c774a30001db5a0b99b52a7fc4fa2a7b823", - "0x00620ba394a8239e527a19de07ff043e7ebee378344c76f0b7bb0e182bb82b1a", - "0x00fea489c0817c582adcf62bd9fd136fc91b83b5fc30bc1f39b31ad69a1f75ea", - "0x00a953c7227585cd44f68a1ee0d80db52bf85c956081b1f5ca16e6bf370133d5", - "0x008d6d653e8cb1b8396be7fe4511cbbb21ef96724dedcf533891a66a8d4d919a", - "0x000e651f59ca758da0750dad0ffff6b44451625b303b73ba78a681ae12d6ce9f", - "0x0097ed056e243708e1cdf2bfd3ddddbee2857b63849ac3019c059c527472a051", - "0x00c48b6a8b479964b0a729e5e6c043bc5bd1c7a042ba4a8a6d5044333049f673", - "0x00e59ae71d1b4c545abf519497cdc2b9fb286f297475490f378126f756795d2e", - "0x00bd97b73f8fef014891858a777b43b634ada805b44b51c55235eb5f1747a3b5", - "0x00416eda5eeecc5a0c577b2d3037d5fb240015228250fc073a161ccb633a30ac", - "0x003f5c4d5cf9ef79b8518382ead685cb4ad1a4551e595913ad1b3306c6233e97", - "0x00af2520432b8ea7a517dd2678a673545a6d0533bd868ba72c55ef33f1af6865", - "0x00c05d48a66f130a469f9fe1c19bd0bd77f6d462ff6679ec10ad20e6f5a72588", - "0x0045b9ecbbd1a67ccd3061268553766d9da52de00e03bda26ee140f04cc4fd7f", - "0x009569790c036e1ab377658a2e1bd532923de6ee4ebcbff45c4fa563fc921746", - "0x007dab84604fadaa3c3d8fb612022a125e4cec9ccce685907937e75338b5b01d", - "0x00a4161400fc62da1484be3663288b5b740590f0facf4c6a8139b1cc6350b758", - "0x001b3205a708b4c0a4fff1933cc54505915c4c65f09942a0c67a35c9d504e408", - "0x00f0bbea34b7c613b037a0813bdd92b6612be672dd4bc31b81dae6bf00a178fd", - "0x002a2f49abda01d683a533cb6e6222c1484d51d2fc004dee48961b16a9b5fb82", - "0x00634e8672a16fc2b15957cdf1650290e40da75317431a00eb61316c0e459b77", - "0x00c262cc4f06ac4edc2ffe21401812c6bf85f61bc9148c3d2f58a07131d4d801", - "0x00a820e092352cf3d326af4d2f184bc4e769d9f9c2734c8d1a2b82a3278f92d0", - "0x00968661ec049d32fc400ba95241b4b064710aaf8aca6754f92eee0f179e2318", - "0x001dc46d5a18704a7452729baac97f88cc2d9ea1c501ed2bd4693ea734a68dec", - "0x0040f306db985cb3ba261612a1319adc62aa60469938a57891a96114ded72ce9", - "0x00123a93b350bcab5f0d99e78dfc0d55e48988a0642af56238a83dc35b6241a4", - "0x0001eb62a1d46cea48d78c1d6b1c96e365b6697bb5834a4e75e7c9dfa4ff8858", - "0x00832134aef74bdec99baa889484a3fb3e6a677fae574d39a0b6184b7268d02d", - "0x00737bbe785c367f3f36e241a64f34a09c89b172a3f351a0ae1c3baa5a3aed20", - "0x0015bb19d3a64bde5ee018c43229f789a7ed1057ef6394002d09e9b752ae411c", - "0x007f115ac6ad0d741164df7ae30e9954a109ec6f4f916146355252c43c75b0f4", - "0x002bfc2d6a539556eb94ef4e8823ffabc006ce081bf5a1b62c4a81c91ff7ece8", - "0x002877df434a16322cef7191bc031cc88493c87a2c1054113095c935b50dd375", - "0x00f3e20d9a86ddebdfc92a9229151210bd83ddc07519c38044a2c6271fcbb440", - "0x00a058803c03e3dbe25b382b1e074755989ac91bfb266a244f71d9f483a32a18", - "0x0096bc18c6fcef36f0f1b46256f7d9279bd987c74368c998f183faadf498d95a", - "0x006bb8b1c70978aa3cfd1bbf810111b0a0c94bfb484c007923f1a2192b872c35", - "0x001b03381b0258f3d0c7e6d8381aa121e05512edbd1b4123b605e69e211c437d", - "0x0079013ce3f92f64056810bf47f05fe63a1e4063d040ff6a9198e3da8c79c1b8", - "0x006887fc3e6c9382043ffa00416e5257e7ce4bdfb3307620392ac7c10409486d", - "0x002d648b753ff05554631d0a928cf8e375f89174e42cad2bd2a75521979226a3", - "0x00e1c13c46c73f86f9324080d66cf59981c45bc44e145cd5e4cb37fd3f457495", - "0x00a92cba2137f5a49eb0e9236c8f53ea199a1d270e395b110cc6a7e141acee27", - "0x0099f8a3f9a9a0e49b8cb12576e9ca3fdfa110246c2f043400fc510932d58fdd", - "0x008244e61b7acacec88fc9a4a8c1333d689f8832d2b614e5fd1e2c7685767274", - "0x002649c24de73773ca5717bc29a37f9c69f6404de56f2ffc5205f368d266cb5d", - "0x0054e71b6cfbba9f2adcbcbb724c1f9421b566c498b828af74fa8a4d6ef1cd83", - "0x0078c8cb3c1a75d2093d1e04e4716f8da2b565b605cdc9ce946aacdf4c1899f0", - "0x00874029f9f6c27aa6c485a654431767ded696b5a918411a205e664aa99db297", - "0x008d815f107805a6978c66d8887a18bae024dd8a01bd33e0dfe8b9e08409563f", - "0x000c5c51ace5b69e6bf7a329d2a26569782dc9b481c2b2f067060bc264cfb7b9", - "0x005888a5d84b61d5bbfed520997614e3de447b54c2455f182a38531fffc20677", - "0x006ab97dda4064249c82b01ba40c26efba7146a8fc3d7abbccb8e845d8b97979", - "0x00d7f02266555ae56db2bcdb96683656a15557367111b53b0a2fe55f4b2d4b7a", - "0x00a36fd35d675b96dc84bbb726ee77cd7757618eb9c55d8799239de8f5bf5eb2", - "0x00561404cffe91b494f08e60ae61f190974a4099b96e44dee746a85bed08336f", - "0x00d977fe7df1c40afde2fd283e975ed599c01851ddfa2e7b5092d3d9200ab5f8", - "0x00e3d95a3390e528b974c2f26a7c768be909724e6612af5e86dcb62e80e00e2c", - "0x0052af437364b2e18f11574e042dac3c15f0449dcc0781c03a1b613a01756fa1", - "0x001ec6117cffa4513aabe9fe34e8626fe01d2a49b671d671330814ea3821f262", - "0x007b8ec9a9aec21a1385e55d4626a25b78fca4dc49a6605a3e9adb2b9e0ad288", - "0x00109473dbc0575d82f8b97d609ee0e84f687bc99dbaa82c36910f70a37b7f00", - "0x00d4cf35ca4d376423ed498446bfe0c8a75af5b22eec4f42afcbcbef3a2908c6", - "0x0020f2269c96892d4f9936188c5fb6e1f90ee86513f3594ba1e59fe0ffc61a22", - "0x008567fc519b49fa7ed63221b24464739821519d2f47a8d24498c3b5710ee6fc", - "0x00886aba8af7a8d4720828b3b6e48cebc8ac850e4960c0f1eb8bf267921c9b7f", - "0x00134e326dc60c0050e8ef5d5c90ecdc579fe9b338c5ee7a5196ca8be9dffa90", - "0x00615afedce4f1a53b29d1f2b887c20306b81f438e44c2f5d9ec868e0ddbf38c", - "0x0095454114ed550610b79393f7c28dd11f545f8c1c28fcd4919356c7e95452ae", - "0x000952636b11a3702669c8d89532f92b002b21f762490b5425b94142bba19db6", - "0x00463c92b8437befd98fb00491d6a277fd7dc7dfa12d5e80ecafacea172af243", - "0x0080f4fbc589137418e6b4c96ae22e7b43e79abc8cef8dc5e5daccb57c7a8eb5", - "0x00397151edfc8b6c3ca730d44423a18b64fd0c0a91c2ab0c481791b466815d90", - "0x0089a7fbb3fd592c31f73540565146c77c8707194436c362159d7dc24b1a3acd", - "0x00e728a1d3d8c9be69ebab1f0643ac048decafabb1516600b8fae2b0b6ad69c5", - "0x0078821bdcac10fffa48c4374c48e45ca72d4c2a3b08de9fad722d5daa3f3156", - "0x005788935ece995c1b02f2351de6ccc8a334ccc34b5ef9f752e24f9a7445831a", - "0x00573c1414498f102beff1360cc8f38cdf0a02b26e8443d7fd8d6fea3060b8af", - "0x00ba42ea020f6b4aff802011bc4ca4c77f89a1263f9f1913c111d9fd9a63b580", - "0x001d29b506558100ee86bed6f8ff7d52ae7f58f3c9bae469ebeb7b489289a110", - "0x001c17585414773814c0100da95300d7d42a780c128829a8fc99ab49dee474a8", - "0x008f581162391b1bf6f65ad869708edbdb66332fea7f69ce40598d002ba1e725", - "0x0079dfde85492d69abebf8d74b89795045730b5d301556ba5b4fd0169a00864e", - "0x00434a6943215b7aaf005bb9463ab8b3d8c7b68ffce852fe0ed773619c94b35d", - "0x00e22dc56527b7c516a18a563dd533d8b8671b6b9e343838d3ff40945530e1e4", - "0x00047bca054a7b72d9e9171b13aa096b4f43d8220fcd0991826c0a52c2d5eb77", - "0x00299c4e986815a34c3f71edfaf3ebe948839997fea6994f7033aab4a3ec2f42", - "0x0000b068c4205acfdb34ed8b53fc5ddcc5e58385a0735dd4a6dc29a7ca179898", - "0x003e8224a0bea496914fbb7177cf2ef6bed929f72c961e75a17828cd7277b56a", - "0x00fd3672ef67c2e0bf2837c3152404d126b2bfd5fd7b25bb59b24c4179c7ade6", - "0x008ec5dab17150a21e6602e26edc028fc503dcc46d5117686e8b2ca258159048", - "0x00a18ce6e042c27e6d300724b259110860c68ac268c195190caa39e211c81b17", - "0x0014b28e3bc3ff12548922eec1763254edd7ba9f2902a0e7a402274dda4b8ca3", - "0x0091f6b85d22289197bc11113f1d05113ac00f1663a3ec11cb2c182d36c1b09b", - "0x002a64fca5605b7d268beb6deb805071c96e2ecf4e3c2be1acabf80c704befdb", - "0x004eb41ed77fb3e5ccde75cdd4726b284b71e59148f3871be3630d6a9c0f937f", - "0x00bc608979e14f78d45ac49134305177c1ab3123a7d696af1513ad58dc7b8cac", - "0x00eb1b296d6e0ee4df861ae28929b952d3b72366b51fbc61c657d714caa02755", - "0x009eeffb16c9518906cf811944bd447c7f15df12260d0c2adb6ce1a3de71f0c8", - "0x0003f084345eb47f0e897b35191859a3390771e34a3d755efbddff60f7b8060f", - "0x0053a2d82681eda6de1216542a6eaedb2a5616bb7eb4b2be085bbe44be3677d9", - "0x00f6894065baa6ae6f014448e81c9e0d1e326ef1b8d2dea77a52a08dbd6c49f3", - "0x00be1a7f009512ab2d83c87081b395cf3fa83f07d0455639ea61a5e803186063", - "0x0073ddbf8cb63a575d1cf63e52fc91b5aec46f61a801eff1039033ba86dc6ba2", - "0x0032b690cbea9c796f09670f01c4c6376ab7275d57060f6d07e6490429736238", - "0x00f76e5af068d68e9320bbf2fb9f4c4578e18bf93536772f662ef2d1ef391bcd", - "0x008a6ac24c4f562800332f64c9c6a5ac7b3418846dffdc70723daf8d0f6496e7", - "0x004eb85cef1f4ec62804d5f36172259dcbb1798e4b7a727e52e2898c2d062c02", - "0x0024660a702494306bac3a4e673553a8bc5742ec88ac8d7ea1ba27653fbd4463", - "0x00e8e809a86694d544b75c35b8166fe331535703dd0b743c00a681dd1333d4ea", - "0x004652a4da59a3f5d590565bb7a094b7260f6d56dbc4b84f204fb0dd0998d4bd", - "0x00bcbf77fb5d8c35e1a501096b6a786eeb2e0a679376ec7cf4d22bbfbd64a6f2", - "0x002d2b2bbd5622970908aae0f307c7868ef782fe219ab67bc572aa962a3ecc03", - "0x003856456091214eadb6e9365151c9c9d9c9de96b0b31d4475d20281127eb441", - "0x007d501d01a798bd59f94d74d89aef9deef06d3db3fa078644d01ff94b5d7066", - "0x0058bac02d6abad34f03f05c76d0bbc4d043fa1d392938973ca0df39729e2a0e", - "0x0043eca3964a0c2e14e5138662f3bb253e86e305731445b65d172b900ae24088", - "0x00c53698d2f3e3788905607c19d15ec6271aa503a7b6f8ac15a9a77355178195", - "0x00ada0bfa06f6f60fc2336206bec0acd7fb43cd73d51e685e62c87d8dce8d36a", - "0x00c7b2bf84d067925eb004b8456ec34becc0a3eb904fe729e981fbadac2ce6e3", - "0x0075597616bbafc974559fabd94560a7271cdd731e2ef5eb30548ec7e2be7878", - "0x0033d7068f3c2ea3d964e5073b40e8f9069e284c2b02408ffc91abc7d418434d", - "0x00e9682e946c9e2e9af69ac61af987c2faf7dc33472667a8f467ba4c159a9f06", - "0x002cea8de94884986cda4207ab3cd4f4f78e38299471ac2cbc88b838882ef9c6", - "0x0085f353d5cfe2e6c19e89f2e877261ff26e07fa8c9b03ce3ac98d3e9134e422", - "0x0033ff9c56db9f314e013fbf8a6e6f68e9bfe568883fb06a709d9a2eac803bb9", - "0x001a005c1aaf04cb43fcf2fbda9892fb7d9b1614dfd305982400e1fe34bde003", - "0x00c52e7567533cbf21a3be783163138aadf6afee38bf84d8725e9f133be8ce77", - "0x00aeac876f6d860ade71f44904340cc0513ff4d1ab5bb42f1c338c4c26622b63", - "0x009b61606e688e6d2d08417bd1615fbf2a5a4fe03ebb4501561a965a0607163c", - "0x00a4389f3f5678c5b200208e758ce79b24da9a75057be515d61576dfe544dcd1", - "0x00ca0be98aeb027ea4e19fd61c2ed00774291b306e81226c1feb3d6e0a2f2aa2", - "0x0014384c25a9260bcd7fcb5f33ff1d5844907fe7b616d78a2a6420bcc7cd22de", - "0x004d22ce49cebffbd8e1b6e7cd9687f804f97dae2dcaea2a7cd23953db997d10", - "0x004cdec0b1d111bf2197d50490dae9bffbcc59c51f09475683d381a6f785b364", - "0x00998f8d41dc736ff1db8560ccae825489179e125be4603df1f48873c543dce0", - "0x00bc77d20f46c7f32bbc6a5e29f5a8c4446a2469da19cbfeef018cb97fb3fa7e", - "0x00cd1e6b6bdd02452717e441cd14a9ea35009cfce4334c2b61b2b6fcd7bb8761", - "0x00716467b3c7b2b5103aaa9f7eaa92db8436d3d78cc184bd8db2cac84d3854b1", - "0x00ff0bb000865f0084c6c174c62bc7b66328c8a4100123af5f79dea02b571a46", - "0x00e26a8d8352396df6fc4160d4f70ac346c57f0cbf8ebccc71ecc4d1f2ceb2c0", - "0x0049acb99454f0f941ef039c335c785e6a33f9d8064b93860f3e18d830e99900", - "0x0086480c84d5aba6f70f89e9fb05f65cbb11fa0d7d9fde215209776c09355efb", - "0x00e7de6281ceb2b6ae162fc655f991348a5582b1c7a36b9df209546447a395ae", - "0x003c99fef195aa9323b3358aab95470433cfa57e7016371705e86bae8131b55e", - "0x00f73132ba9f7a3dc326ebd3795b5f4d9718db177039a71de06a465b8aecc92d", - "0x004ca0d495ec36ea7181c37a3d9ae2c95fdf7bac30bb1825f8872aa561b539fb", - "0x003b27ae15cec352e485d6a4a743b2845bf0c5b7efdd3d3afa6b0b1ecc6026a1", - "0x001e7a14a4f31442d0b5cd1384b0c9e02abe66b946e5890f8b37687a9ef9d978", - "0x00f163e15ebafd617b59da4a096a479358f1b85bdbe18fbffa74f77eb1e483e6", - "0x0062d2ec6dd61ebe9bde90b82e9bae268e763605207b12daff92bc6f4c57696f", - "0x0011deee5afb43f0ddd111b069b06001781e5cb17c72cb0cf5702e7844c77cee", - "0x0073ce5f23cedf29389f126cf1273d9b0627db34c164d2dd0f1258f059437bfd", - "0x00ddee3ef1c4e16ef583348cfba2e273985105d66593eb98abca31b4ed7cc2d0", - "0x00b76d3ab2459a5e944e36894b2c6ec8853d71d724d124a6fe7b84b8d61d5870", - "0x00671d1981c08a9d1eadc6c8dbe5a9914960262305d16d80f606c17c57f7a16e", - "0x0078c618c53d1c34de52760e788bc131f6bf51f5f383f9259f0d93306045f869", - "0x002962db17c7f4bf8b39662bb8fceb879bedd37d96d400a3357b8034025f7dfd", - "0x00d274e63799110d9f852bf987370ffc5eea212dae3f81ef73ab4dd0d1e5acd2", - "0x005beec7d2ca47429c6d4349d0d66dd5cf0be780116c2e4559739eb81bfc777c", - "0x004ccff6301ce488392a4f959824e5c003815641fa0886ca433561ad3ab997d6", - "0x00540571319228b6a68d3ce6bb986ad7c262933cd329297c021f9d1d1d5af0b5", - "0x002f402300e3fa24bcae922076dbde45c1fd90687cd67cde0711620bf632721d", - "0x005bdb3b9533680e43b4423bb6aac6d2860067bea942a26b35c84dbd591b4e2d", - "0x0049324efaa35b51c0d9a5067df415db44390640e81217c6b3bcff0be5a962eb", - "0x006cc6fba0a403809aa4403baae39f71148c45220c4145c19a097b059a3a2790", - "0x005c99880d7da7f836ac57f048f04eeeb1b166d43797c27c6860b9bcf749d638", - "0x00fa5eabff5bfb0997ef05db00b300a03ee3ef8f1e9941e796f9893006bf2ddd", - "0x00453be793ce97350aa2f0411442ad3ef9a82ef681c36f165d897be191802ecd", - "0x00c352e63a8781dcdb760579859d8470144d82667ce19bd1289711d56c0f596e", - "0x001179f50bdfc7412460881732afdb17a144e1ed0565391a3a8bb46d485e4c3c", - "0x00bf5af7a759b8c390096a98b0c6fc9fb8224b591d7bbc50c873812796c25444", - "0x007bf348c80569cb06abff8b3b6c5fce3556cb6b875b9e85be79533936421ad0", - "0x00cad51590bb6714337d691345f36e53e049eb1a66a5abcef3d411228654dfea", - "0x0048358e14dadf300574a38b23970e6e5e802b54921073771061962766fb700b", - "0x00efbf2f52b4be6424114e06fb67da8d5cefedbae797499c17aa59b91b53add0", - "0x009b9daf9eaad065146fadbd3b3857b5b99d3331d4e7381f331a18f6dcdf26b2", - "0x003643191a6504181edea4a3c3d4cfc20689e19512cbd11d4ec95f7e8c86eb4f", - "0x000637ed0f7cb4d38a519e538250760aeda4f3ecbfc6f7119d7db88fef5fec94", - "0x0046a16808d4902f8aaaa957de3c77d22337799e11e63d92ac2f3f03ca26edb6", - "0x00a6f952fb845ac6147149642cd90dbfb47731df60cc064cbfd51c86f613dc50", - "0x002cf54c312b8e6b9dacfe883b304f4960bbeb727defcd91e4fc98f3e63ac632", - "0x00711fe2e1120fdf305eb8cf4f5c884e43fb3007433d60a376099942f86e8d45", - "0x00580f836236e2e09ee93bc58a1c0a31713a0ed91715ca2b1eccdb6347707f9a", - "0x0031a9331e3f8895af35fcc01e63c7b04771dd287923ca2a65ffdf5ea5f30ae7", - "0x00c48a02b979999be86c07be5a28167883ab002b6794ce4477c607c22ab6c7a9", - "0x00102dfd19f0bb65ec66b45e3c50d5715fb77643381488bbd3c6cc29eecc1654", - "0x00f253eaac2c655f678fbc52d9247a04c4944fbe25d13cc69c30a04809c47865", - "0x00e7eb10cda70b6dd946642ebf0c99aafc960671c8058ddedde2d36a8c0253f6", - "0x008dbb34f7dfe009da2fd8d592e72c5839dee12aa9998dc8e6385295685572ab", - "0x00a7271a8bdefdd46b001a18527de84e0a8318e817422b93b058b5b9df6bd335", - "0x001a9766cb5e589c3389ec270df4571a4086d83c9d043dc16ba5e82f030c4132", - "0x00f725399de4b94434c1aa2f66e0ad6c8ab2b6900ecde51f54d11cf4a7d2e85c", - "0x0039bdb467fefd327c1f714f40d5ec57b40322af82132b564245c2456e470c72", - "0x00377ac19ddd999690c16df548d654120af08194632712dc6de52b1d03a335f8", - "0x0040b643408bffc9ef7979f6710cf20116b626c50113d97c3d5f5e925916fdb1", - "0x00ab7d869674582853c29fa09fb2cc05d539129d1e16065e1838661449369020", - "0x008fec617651c0bfebf4f7a10afdb5756b4cdbdac452d3b071288efd59665e75", - "0x001b0ca0ff6b4e93af8fad11c73fc23f0354a2f6fdb80da6c9a1f0130d618387", - "0x0011106152cc229223d7c2c2e5789a5a0ba11d34c87f244c717f8a9d8aba3e1e", - "0x00cb5c1f8c4af951c58106576f1e391a707031ace21cd18e82f6dedea283e8c1", - "0x0019c811747afb63fd8c04549cd8467a42666aeaeec36d460f2686a967a0e59a", - "0x000262ae4f8eab5b13baf59c6f6d79c6aeeb7bf9f6eb2fb672f21fd9b81fe4e5", - "0x002dc2befbb6682921a42b7638d23504478195a2219d00ad1bb9efe520f7a9fd", - "0x00fc63da6fc7316e496516e5dfbdead6e7325cf2ec2bff1ca7d82966ad06f140", - "0x00a063442d0774828c912e209e642e06f37260e1eaa8031a630a90670df07de4", - "0x0037c1e977321532820607bcae312251778b68b738d15b7d5db623acb4ca7d96", - "0x00addaaebe61126e3d662365b4ddfd3222e475eb5554c53d45699853fd84016b", - "0x00ac53145bcd9c6e09290d7ee24bb9221b15596834e6cd95e95432a014b58982", - "0x0016c1342cdd79a790713b9fdd442f26f21a019c2f8460b2e4f9f8e6c6e96850", - "0x00912915e0429e69a64599936b722fbbbe7db5009d3ff0593ded71443d808729", - "0x007b623045122991f48c99f25a5e41e10aaaef97c27acb06ffa9b66e208a5f01", - "0x002b349184a7b3b4ac4c22ee7e4b407d0c16c9b025a92dad9685c6577fd8ffaf", - "0x00466870f130fc3b379a3dfebd000f767892d1935b07f87d85a7e5b0ef468baa", - "0x00104131d830fae83d0f9ed7f84cbe8b079646a123fba418f1495074f8cf9453", - "0x00c256fd13dfaafaa0ac1f3b733761e4200320ab8bfac49b48d65f76930bc702", - "0x00473ccb514713a527945d3657d468c0c9d3279e9d72738f5ca69741af21dad6", - "0x005231cba7c67d6adc060375acf91e5c03aff9843bc0f5a4c7b9c4e074f1bc87", - "0x00654d569ca5c0b2c8109ebe5a1197eaeb8165a27ec218f862bb1dfc9b37bbfc", - "0x00e4efb26fdcff3452f6238686ebffd8e85754de91f55936399fa255b94f8e58", - "0x0016224e79330bc44f9771d1fa0664091ae29c5b23f0674678dce23943890569", - "0x0082b804f82260a483c64660d50da77df57ab72b6d418f5add6279256320bf0f", - "0x0081ecedcc37e004862e8f7a7f20bd3f77c9f5c40cba0b17895b9a3f40be57dc", - "0x00c08a17cb1d63430a934943d2dfb115eac4095267793922a3cc307d9c7e9ba8", - "0x00f8a7b0b8f1ad31f3f98b713a14243b63c091c6cdf3b076e04f288190279c11", - "0x0071c1b17388dfb15384718a5f50baa246979acea650d5d6900cefc70bd4c21e", - "0x002f993a8b558d151c904663293b08f8dd30fd8b3ba92ad4dc9d10e5f5fd6cfb", - "0x00bbf883429163f288702cc723c96c0dd3e5688d56fe2f08f8b6e743fe18f170", - "0x0087a9d043c980fed81153e6e0a8acadc82ee17cf3383d7c00ce762c8a3b8929", - "0x006d6bf3d6d6bc1295702a6abd8f4f1ab2320e95839b8c9bd141fe301fa43e97", - "0x0092575477289c44a9865c36b46f62bd8e2957726c966f43b969dc8e68420ad2", - "0x00df728f48d810fa98ad84afbeb1c32c008370d93e84b4c647c5054b9253532e", - "0x00a1eef46add85169598f420e68b201f3dcff16bcf822414afd19ac50c90c049", - "0x001ca92d84c11c761e0ef2258204af50bb4b6663d5bf7660f889aad1d08b1ec6", - "0x0084dee0cb8c70831889dec5d1ecec88f53d054c07f7e27e720fa0814d25e6dc", - "0x00a63628e03159c95e229a796649f9e2bafe7aab8e2de24c51ce89f0688c2fc2", - "0x00382ac955b4af841f48ad4873d22c5e70f7a8d4361eba7b14a8b7e50d143d77", - "0x0089a7c2976cd656f019dc11f0c4cd929b30ac3d4749d2fe20633ff4524b9953", - "0x00db1c95c8501f2dceb949cf1e37a6c0687d4be7f230d2ec8b931f5f8b3b7130", - "0x00f46469df4902049c158cf3662c737127641f4626b044d568ebef75e27f9bb1", - "0x00b5b9a782d6549558ca3697567db4be3b32d3ee05407fe68faafb412359311a", - "0x001b49afebec72d8bd4514dde3c6bf0e0df0de1d523b8964ebb6b2335c46b7b5", - "0x00bf3a3b9c46703e462916ca163604b35277cc510f9fa76fb9e24abd28728787", - "0x00c0c0769c3c1e96c3a6baceed1d4a305fd2a7dce5f9ac8c4629507b197b0f56", - "0x00cfc45d0621971554a447264f629a2a121bbb918edf0a3b26165e6d4df8afee", - "0x00e3cfbf04136d3f5f1437b7d615278ec35877123ffc3ebdbb67306326b697ab", - "0x009e2f30ee67ac64ef59c835121b9232c461f2a3564a8bbea21abb4ff259d212", - "0x0054c757ea193f0ffdea74cfc2d8a9e6b6018ed41c136a8c687119068a1cc4c8", - "0x000dd725fc3899ebc68e1806c525651ce612591969ea9b8216dd4662e0edb493", - "0x00bcc204d7a82347527092de35237e4160c53b3790f4b7710975d2c4d459b239", - "0x0096a834eee041f977b1a8cabe4d178371fcb5b3213798f9e54e895bec212043", - "0x0044f42c5beb03661dd2a1fe363b374180a112a71c07842550d1d2518ec7ef0a", - "0x0037b9d469fa5fd528b4802298a4cddde2c2801e146df742e083559fabca927f", - "0x00360bc027516539a34973c06cd45e6993f84345cb574f23c85de20925cbf229", - "0x0080b59f0316a6a2fd3754a84fbd5027e355376aa2e10d3caefbb5a7fa783f1f", - "0x003fdec2e702d92491c77fb7032adff04b80a017fb26ae5515b51993514789c8", - "0x00091674b94a76835d22541997de3e9f221e75367daec21d4ee8634c30e9cd8d", - "0x0049d941838c7800e47ad568e0584fb1052e4b0f62bb72c627780c3534ef301a", - "0x0034d7ac5a27f56827a721fcbaadc7546b033a1f118e4a6012d7a942ca6d560f", - "0x007b68324960e05cc08a112d9ecb7cfd357405bbdc62f99388e87ed885e9c45a", - "0x00674db0aebf573cf75c7b6865b9c308b48b192a4a7afe8f32e087d63459e843", - "0x00c32345a3cd0a47e4cd413b906d7fdcc82a3a3222953c1e0b0235c987189d1e", - "0x00bacedb2919c4a999665ce59db78de6fe90d93ca9ab3a967c4310cdd78727ce", - "0x00892b98490ea4a40a43c5568b6d0b7894c4a7d541d5f6c57efe8a7d8f74cde7", - "0x00e09c8d29cbb8266024618d1cc181a89b23b995df85c88aedf160182e323b56", - "0x00f0c7d0c7b2a9612c379bdd515785c7cd5b5760c46e58c63f8025f236640b20", - "0x004e2f061abfcc7fe02399742f9433702c892c3c9df1eb2858066455d8bbd301", - "0x0061d618b5e60c964a6274a153bf784d98436c66da736942d96c12dbbbad544d", - "0x005fabb1a93915d1e54c850030f3b9763456c083977508809014ec789fd592a1", - "0x0085d8e8bc12d11383515c28c4d76d9cc7b0153a1cde01de4c3f5eab52ab54ef", - "0x00ab026169b24d2c707559c461786d97d02a5945818c8401a231418927040064", - "0x006629ba1892712750a0e7874399c88be3c524f260ab16ea8918953ee6968f46", - "0x00a1a7fbc92fc7d6996f59981d6b33229a1c67d545b760742efa7681d38574fd", - "0x0087ae39cfcba31476a604b102b01118c7b83c611ee09ff123d8ef389d5cb5d3", - "0x0037c7151eadf1b74543e4f511fb2aba7f7b18268aab1a6f32a3cfda5bfbe913", - "0x0059bbdb5c10ffd0170bd26b0e9056d33733a4d252f8a5608476c631e322acad", - "0x00c295f1e6af27f3687cce70aba3d51739da84dd0323445707ddd405ae091d2b", - "0x004ac8b5d469566690f89850f20ff83e568626031d167a2560a7eb90919eacd3", - "0x00aab520ad85145770cec9b4f1e709f6acceaf043cbef44ff41ce25acd36cffa", - "0x00f281f1883a485737663fb5892ce227c432e3fb48a2d52c20891bcecb2b1d51", - "0x00c522e46e917fdce024f968a91f4061e6149cccab41667b15f4fdeab6f22a95", - "0x00eeda1c94cb2607cd7059b784a391f14fc2b54e31c92a1a1deee3bb4b42a7a5", - "0x002479f530710663b4a20b4bf8010634a80710117d3c7e97089c95f2680523c3", - "0x00ba6f6463bc1444bf8bdd39a4237ddab416c45cc62f88f3a5812a129f756ac2", - "0x00085e6a0a0b236b0e856f32d7c95e1e4f3807f19215d35a78adaba2047f1e3b", - "0x009648b3b04ebdcde39ed10a1fd7b36a97034fa329f576d8abfede5a39962914", - "0x00a93d7cd2c9b08e2bc17df361b60d7d4700359700288c28763eb1552a4644ed", - "0x00f94701b9ba2222ad54391f1674f81db2b5df75208fff2cfb56155133a0baf8", - "0x00657c95d2544fd464e2ee064e075ffbfd51cf23b7b90fc33862998f726ffd7c", - "0x00c594e434dfcf848b7bb0f22f3fe9bf353d9e98fee97543a66c0221a827c7cb", - "0x00e3c43d2081435a78581a1c7a608bdcbd4525cc3f3813c20cd3a1074999657b", - "0x001581b8d68eefa24175f14a0821558a90ef3b23997b6d539e715c0e2fc8b1ca", - "0x00815b6aeed3f297d6bcfcc405694a6064a2e072761a4fa52674c0c2a9becc28", - "0x000af6d01fcbc2b0be4a64653ebe5fb83cc104ad86db0178c17cc0422750cb44", - "0x00adb053842de8cb0f49ba29cf9615c5d73610a25ffc24f7ad39366517f243eb", - "0x00173868c22686bb816242e235602f1adb64aa1062242ed21c706416e840cc5d", - "0x0046f85a7500b129d009e4fecd2e82a62c33e2ccf15f089a09184bc7632a1656", - "0x00e7c69e923a52b5fce97151d78e384ee2c5021840a4dad31be5a6b60ec4e6ab", - "0x0018fd2275ffb71b9243d554ab125f8a423dd7d3bb6f9433112df02c3d0f1e35", - "0x009356f2194d5b3e362938e5b8a23544ea86fad1f62f65e787d7f79127af09fa", - "0x00887f97e9188e6fb37d8535ed88cb3748773430b08ab88b8a634ed676b85c19", - "0x00af878b7a053ab8083daa85d745c1001825cc7fbd3ef19a4cb0719f5255b2ca", - "0x00b1cb3fc89ecc42066fae9838c3a27fe6854028df7ba3ddce8c318f8d323fb7", - "0x0022c98a2b77de6d664987a62623bb34f5b2504289dd94675c782db95388d8f4", - "0x006962889e4de74d0a2aebd324ed6b150904acb676cc992fdab61314fc8fc333", - "0x00ad7d728a1d1e1450cb833df79a14dcf540433a199b961d7ff5ab0d0d3fc3cc", - "0x00fde8acfcca9f58dad094643f0459d80734c693e79da89bca08322320f62296", - "0x00bcc4a6910e355d3395e31d87f84474a4c9806d955aa1de260794eb9fca83e6", - "0x00d28a62d2da70fb790c433f0c74bdebe97ca52e7a67c53ebd6d728b8a91afab", - "0x00f1202414a2aaae2ca966eec7ce70560bf1092bb0e021caa2dec0b862685baf", - "0x004cbac7b381049e713c2f54e2575e5085f6afb13afe19fc12a3b9f4e8220928", - "0x00dc8a086a79d3669da1924ab55349aa0df0a3078b33e513a77aa4ac091c6526", - "0x003e8b8fba05b401e437d576e1f6fc0f40510288aa1892ad05ea68ef529f374b", - "0x00277409c173cea948140813c017233978d9ee6d70a7b25768d36d5cf5f3699a", - "0x00a2e9e3480a7097f4187e3e067871c076d26ce2df079044d02ec1c2acfa7161", - "0x00e6dccf8f61de922a897b5320fb9508ef74b82aff0abc9cedb67a8ce232fab5", - "0x00a9223884cf503654bdc2457f4b5ee7378b41dfcd5417d6ec7daea64f587005", - "0x0026c09da98175937afa1465c68ffceb115aa7a807fd737439791e4c28905476", - "0x00bc71699d45a8e891f66e698e646511a7823338bff6918bc9195b89495fa3ed", - "0x0014026a5d0b6b63fa9e9676a50b0f2ab99dd54d9428aa4b7b0300c419de8eca", - "0x009c6e08d5394b2a87ae82331ba6fb82b915b5e4cf59b9240d6631649e58d6c2", - "0x00c1efd397b6e9af04adf3e81f265474930ab47280526ecb4288151b662062e7", - "0x00d72fb0908d80c6114e3b44e90725d9fd2ae4825837cc4a46b71fa90d5c51d9", - "0x00548d639f773d11d5ea8795e6ac8c7c90000493ce2a481ad7161b951d84b064", - "0x00bd1b52a2e72c967787d5861d9ca8c45c45240af858d2fb9cd6471250b4de90", - "0x003557222d3624bb4de5f28ce031888384e4660460209f5e4c0ca8adf9946560", - "0x00dad2b8096374c05876caeeaa6aeef735fba88f7f0b6e5cede1f36ed6ebec29", - "0x00eea37df097e160d3095906515ae443adde1ef2b2ba95b4ee8fa1a93f0d1f94", - "0x004808d6f901be8c09b69e327d6684865b07a2e0a828f79fa04fd954d906257e", - "0x00f418dc16d86d8de43e91b698794db3b0ac343129b598d865e01f6960fb3d1d", - "0x00d3c7671f1cf3c07a3845a51431fa51cc5cb35552c0acd9a434939751000409", - "0x0018818d7d40d08ae5c26d24507474c7885d0743f729606971e9ada4f182527b", - "0x0095f318c460ccbb48f145f6b975a0af2a36dd055f01fe93ff38f71ade4d6ed0", - "0x0066dd96895e8265b2f52c86b247ff88bf10de2d7a0c08f8fc48797c1f6dbe82", - "0x002d3f63ec0037234d66393015d87c266dc1b6cddf6db6b99ccfed13f2700116", - "0x009692db12934ce1943ee71f52525f92c3e9bec3bca86ab6cb1be14b44f025a8", - "0x00664a3f4c2e962f530a507512b744a65d0dc7d888ad82cfb89c8ace6c64ea4d", - "0x003c2f47f82fa6baa9e0a4e93c1bf08fa2d4b0d012007994a93e75c252b02010", - "0x003e34ab79be9599e4bfe7c3a0e5922237e43907a2b20c1db938e75954c58de9", - "0x00f88dd461b905e1f554b136f90856f7766ce5e5c3300596e7867e9b57c88952", - "0x00efa15848c2706cbeab36a8719e4e09703f9e975934f44bf98f52b04d66fa44", - "0x00bcff7d49a959a0f0982e4c266763376430a78f6cda5854b2df91c7d2214a99", - "0x0012ca1c83af490f95e1b1e3c3da05b73fb2e55e97cc5e5be6def2cb37c0e01c", - "0x0008f2a8bdb5a90de22340ff6f78603e4bdf1de2ebdb2be5f47e0a24a3ab8d89", - "0x006efc13927f097ff61d2fceff6b1f2f0b96332acd0332e77c3107f814664bca", - "0x00b6881a6be83586e658ec3a51f73f5e37e41956cdfb136acbedcc2d962c5cdf", - "0x0082792def28ce1625679893f8fcdee4774d1fba079ab6860e59c45bd2010d5f", - "0x00a6943c9f34d7b59d50306203460eb3d3b5980bccbb394cd09482ff1d673689", - "0x004c398df12045855e6ad1e964ea62260ea34dfd6cee14d55cc24b23e0e50ef9", - "0x00c4aa4207d154a423fd29223cebf3c98c5f0ac0d415f31d204e589fb1ad94e9", - "0x006830238b1c74f1c4b99acf4423ed9303c003d99a6f171b55f5ecb4fb25075c", - "0x005e8f84bf43bc2a237a49f4c78cf9841c285b9f3c7303b95595e39b72596653", - "0x00b859cd06381acc9d0d32d59aa967a6897e487c0f88c248b5fc81c1dd6adf69", - "0x0048760f8ec9b5aad7982cd598f5896426d1f0d637074560439606c0acaabb38", - "0x00850d47afc92e8be1db33ea6a6c32fb8cf28e63e2f8528c2c4b03c2bc807d03", - "0x00a1fd9dbac2c0515c92bbf9c288009f9df1e28cc84b1147f80d7cca5e1c47b0", - "0x0009b61301a78526652f3587f10c5e5f38ac76af236e100569b8b6947d12134b", - "0x005c50e3ed39e292b4bc9bcad9b36baddab30ef4780e5292e4539cb8794269dd", - "0x0041c50cdc4b5899de9513e53ffc2ff74db767b64093611852a346e16e0b3476", - "0x000d514a5ceff014da8faaafc6368fcbb1c0985df6123649d7b4202c19cffc44", - "0x00a760bb21634e10c5583a1c555130cc83b0f3938b1c8b9393acb03d8cc952ad", - "0x0041ab8b8899f9eed3b981bd2865aa8b37b6986c749a4d6dce6966c17a6c8051", - "0x00f9b5f7a19b452ff04f1596b15fac82d8dc6b39c0b23f40be4cfdaad6c9455d", - "0x000db5cfed733bd43634f06e9c6d6d87d1f24fdfa0046dbe3fed6bfaeaf3080d", - "0x009f8047c741aa5ac501ae4bd21651038d2a6a14d49a9147f7e40b380330af8a", - "0x00c01739472df4c662a8ac8bd8ce3857ef897ecb2f799cdc8d71f6578b1c2029", - "0x00e5c4763ac25ea924e3e9c7da6cadc36d4a5773706db849a45b5360fc7bcc5f", - "0x006e741c2831c950a2162ed459960f92cbe828c22d8d2f2f175809951e975885", - "0x006e0c0e4cb72276af4cf255fdd846831a1b0081609ca2e3634984d2cf036338", - "0x00bb4a515e7570ab24101c61b374ae6c8f2157a5eb22f6732b0732cb98ffd2d3", - "0x00aa127632efbea4b31ad7fba4987db237d0f73d44055bc6d07cee84f68fb408", - "0x007113a13460501d83ed32ed11a19012d9edc8501c8873610730ae612952c0fd", - "0x0094da0d46d4edf6f9d73fbadbd2adc6f4bc3a2d8c218b9fa9ae1184141ec591", - "0x0090ad0b1f7f1664f34946a84442935dcd860ab77a9c2769569f6845d91c8b4a", - "0x00d2fdb98d82222b721b1e5a226fe6c66ee5b8d8c5c7a726b5f18cc0595a4780", - "0x0049451fa009e6e14d229dc4d1e159e29fd7e3744d0b90c79a671e106de0a931", - "0x0069d16e7ad6210315288d7dba789425b619028e197e739e5aa315d3f8858b78", - "0x001a037e04e7518a52ad83acf10f6a885440987f75bb3d313f129faa732695d7", - "0x00cb6dde15db0f58d86f5d17df636719eb643f53b070d6821e7c1f0f89b63ff6", - "0x00714dcdb6f69da5220e0bd680d8c7042675a890c245c32952badb2908244d79", - "0x008a2bd2d5569348a961e298862f43fd38e30cde3b2cdff4521ea20a30d2b4ff", - "0x00798fd8dcd24ea3a3e477ddf2ea4492890ff6c3df91670e18f39aecbe817880", - "0x00292a2111aba0b83345c74286406400f09e80b61143242485961ad43136b59d", - "0x00aeb40946f112ab3ed69187f31f187b26f998cfe9de3214001caa60e0e0b4c5", - "0x001c2cdc2b96551dd652be38a1b552e889081236726463db314f27d2cb69d713", - "0x0017de085ee51854813dae4de1d5862a4672321e460f31779117e140310b7e55", - "0x0013baba5c8ae8e75f0874e47002d7ba969dfb174586d403a1ec74643cdae9de", - "0x006f573d7500de0674ed3ddc012bc4995a99632f6ef94c535efdfdf34f7ca288", - "0x00a5847dfe0a30c3c2dc6869b26cd63b5dbb164536ed4e166c3f18365161f7e5", - "0x0012693bd2fb33b322ab3bffb8b16509bff73762c498dc60a67d4adfa51a6027", - "0x00b776285f15b734424bf76bfba33dd7680e6a13854d5063dcc0db0a6bfa4107", - "0x0007c3bc7936333ac150fffaeea227859c93b14e178036ae558647d16e70d595", - "0x00ee6444048fe25b4b2114f07268bc5b56ef2db0c31274b1e0c6481f405773f4", - "0x0078cf25f9c71409476d2cb4efe5ae44825b93c233d064d7074b0dc81ccb30f0", - "0x00e7b4ff30356d8918e4f9b826ec562bd973b0b37023b789fa8facca6b29bce5", - "0x00a4a72ffc7a852255ad469a1c98c6021e2fdd6b69d74141ca784fc6daa95b1e", - "0x007d9e4179825704a820a8c5596159a30071794288572b578b00cbd2e1e64f54", - "0x00b68267ee2e0b06c2e39bae4300f65adcc5760558f1a6d6da7dfc4629a7ee83", - "0x00c42f07d8aefbf7185fc5a1d5bef8ae813190f14776e27dc850136f1b87597f", - "0x007861101d936d5c3eacaee82c5d146974b1de84d9594e54bf9efaafdf850489", - "0x00ada32560d13cc6746da383782c41392571cb9528baa9877d6d7903618d21e7", - "0x003316c96e535e43bb3e2b01efb9e224aa83d7d5cad5b5226cf4cbd4b36a2892", - "0x008dc2d78fcc7e51bb8bc5c28fe8bfa2860fa1e87218314676d7c5f048ece25c", - "0x005a81cdaf1f2a5f7c7201673996669bf9692698fd49c4a3a958d586abf625a9", - "0x00bc1a7c8759bf26d8c00a3ed12521d37a6269a08347e9bab5d57750298c362f", - "0x0015db7e3d06c2407f9f4b89dc0b093b76b561f005dc93fa5e4352b98a5beebc", - "0x008709fac7e75de4ba11aef8e12813576e25fd174ef9c124559cbcbfacea27c2", - "0x001520b3126941831a3de9dc6b864407632af79d60767f7ca68b913b773e0b38", - "0x003518f1d88ed614e7dcebb736128d69161bac4dadb866f4f5c313a63e5537c4", - "0x005c9eabdd905fead68ba51fe3dc3875941c5479f10315f90e417011e4d32728", - "0x00b362377e027a5d06b00cd8c7e7c4bf43eeeef47d309baad2fa857aaf498403", - "0x00c9bebbd4dd605426393231c4c9f28bd843b464743aa93cca875437bfdc4164", - "0x00849cee966ff9e7d7cbf8974ab78327a5e531bce4e575b81b8db771f01ed154", - "0x00ef45b740d63461a94d04b58547dd74eee60b8b17a8e62b534a5f9dae697ec0", - "0x00de6597f7965bfeff0bdc52c64fd81d6fae465cd5e2073d14896e40b44f9d91", - "0x00b6d352d7f4c081729ffd38c399d174092dc73fdd332f62403b37c1ff37ad88", - "0x0051d160bc86348c4a18ea2654250ebc847df98f9fbac20eda6b5c4108e8e1b2", - "0x00729616b87a3da53db3b6b1757580d07a4f9f41b245f2893293de39cb1e0782", - "0x00debca5dc3cb90599c20a55e9a608ac6c086f46a9ff1fc403535ec5d2b7da07", - "0x0075c85d9ed2c84d44adb2baff1958c98992b04f4bedc43444d7955261b0c76b", - "0x00f578e3260769cce724dcb8e1eaff086a32ee14ae880098116a4bba64ace003", - "0x00894dbc99f5f803152afca80dc273b989701556e06d314408b88112557bf829", - "0x005cb9f72bc45090e4ac0185e18fef2e762997d0e4f65dde80e2381ad593d8e6", - "0x008a323b0326635090436c15db781630a17ab72d0353c6b4888a91848743a7f1", - "0x00df01a3b99846b91a40b3fcdaf8e946039beacc27f86e03236af993eed918bb", - "0x00cc605e71b32417029edd81a23102d53e3e7833eaaeeb3ba34a54609e3ae2db", - "0x000f0c96c2da69787cf45b75a4d88be56dafca30b7a2a69b0a54132b3dc9d4dd", - "0x00ae8aec428dbaf31a292d6b0d7b74a6c36159c927caf8475f5fbefde685dfe2", - "0x00d043700abcc074b23ca6dda58d02760194ad64b5e7d0f550b9dd4921c69c04", - "0x00b19f66985fe832bab924b0f80a9dcbe94aa53e4eef2c7b6ad62fda424b9877", - "0x001cffe41ddc0a23c8038d0fe8764bf5819f9df5ab63acc30c2861138d6a2208", - "0x0083db3286eb3faad4c262793a7ab590372066c5a9ea7e7941317d2eb06b5679", - "0x00cf615ea93ac742b426e2f255f237ef2262b859b521eaa4fcd1eed50526238d", - "0x00dc953bce3cad2c2e7daf178e5cfad961716f112dac686285c16b35aa51b172", - "0x00e9e1fa894c0cfd9143bed0b5e1e93ea17eb1acf3c44327d41ba98cb3bb911f", - "0x0090723c7a109b3b41639ed7268aabdc4f94a9c44b92774aab57fc5ef642ef96", - "0x0064d35baa73034422907aaaa32307ed3360cc7e3d7c32f42d3f7291e5fe1152", - "0x005f9e0c984a91ece5f10ee9d787779540953297bf1ec98738b05918a12444f3", - "0x00dab9ac56f9869f50beb1822f8bc2669e6b5cc9f8c5371a7d9f21efe045cd26", - "0x002cb29d5ebe5749aef614b83e046d6d1dce5e8956bd286f9e6ca036e70f922c", - "0x00fec0a18b3af03f44999fa6726deb813d01d8e24c56aca64963ab0f80bf6602", - "0x00d329311472022cc84ee4c561c3e205b71a75f6542750710fff3d00dd2e0668", - "0x00395b5aa69abbfedc2ae7efc1d904835a0264fe4732faa29e3ee3351ce0507d", - "0x007bd25e463cc9219fa62e1b4e2ed526e21cf2d2d2e299c7ac427c8f85654e52", - "0x00d1f16e9242371402e133ed1ecb5d13659ee50f8f8fd966aa6f88ac0204da79", - "0x009062842a3c93419ecdcec20fda1f5d1e676c349f99e5aea062a2937fe991aa", - "0x002aeb4638a19b34c96a2d9baffee6b9b719c27eea3605369bb9fcd3396af965", - "0x007fa166090935367b87aa8eeb7d587656648ff1980f3ec979264bbb851b1684", - "0x00773454f6cecf4898124ac7ea685db32cb8dea611826e3e918acb2cc5b9415d", - "0x001d36d7b6daa189f7e43c21814ac077f664f842f4490813ef7bfacc7d8cb769", - "0x007ef30cebc8bdf2d97a6788ceae5c9ce1a9361757ecf782519f919a95600438", - "0x009247ee66460ddfc16f84a64df08d03a4c1d197d387bfb674b103454a61eb5a", - "0x00f8009ad78ec27216a6c6d4db5cd8aee882886aaf0362bfaa5e44153d9ed9cf", - "0x005de44d0783842be318b433a4824ab0de0b33e58bc84010c1e75a460573fc63", - "0x0037ce98b793952ed582a79fbd199b48efdfd4e77d12dac2d076167638cea5de", - "0x00b399dd7b8ad50b3e1d27f25f41261e6672412b9ff5c0488caa3464c6ec3af3", - "0x00b0a88da7b4ffae0d0784936962c78088d6f468e6eb07af71ed923e611e5051", - "0x0043743cad3c471b688bb2c89bd1c26da3fcda963b3865b84a7ea21dd465558f", - "0x002b570d3e96c124ddc7c49748df62ac4739272e74269b5c288e18c596d1f055", - "0x00fd56f435878f62032419c3d1f46229e8d22b66539086ba0dd48bcab94ee115", - "0x00c7da2c6f7dd8e1a5e6876abf6275923e2175d38e25de643ae5745371b6798b", - "0x00f1d2bcad329ca5cc15ddbac4fd7d7ae6e2c9076931ccf048fd4faa9cb1b11e", - "0x003514a59e5e143d3aa8e58a8de547bc5c1ab9c5e3c805a130baf07fcc6183c7", - "0x0001e996f335161dd6a2584608b6b3ee4cabf311cdba14248bea96c433b9e1e0", - "0x002dc9cb57ec237a44adefcbee1efce9320ef9111acd90d7f7d60045551b0199", - "0x00abf72f630558215f437e055b370ccded43da3bdeb340a4779a6efadb8dbc23", - "0x00a93e641de7552235bc56d0348cf9d85d54e14bba428f3ca542ba2b6a68f8fc", - "0x003b6c2fc0a71de78635e2c2dfc858226cb9c87667a16dc483219c95de137b21", - "0x0091e296d498343b5ff559b3c850247498b9d3a6e5b75f4490517dafe012fcb8", - "0x00b00dd1c25551bc86f183d3d6ac337138883b8e28e298ac2e1f9360d651774e", - "0x00d1b4b87b1776fd84354f7617722c4108c8f1f486376262c661bc520b2c21f8", - "0x00c2ddf3d215d0da46530e1857c923ef53eb6470a2b4572a5ba3834743548a6a", - "0x00070ff22810d39a0a646a2421180af7c859e7e58d9df20aa038e1f038a7c34a", - "0x00ec370994817dac4271bba5609b709cdb23dd41fa04e0ef1333202e949023dd", - "0x00fbc3bb87234079713c7ab9797e930ef3a100fd432db1326ce4594b7ee11898", - "0x003b7c9fcd8e87198bd4ac671fabbdfc236bb6989bb40b6b6dfc0f94d71ec54d", - "0x006d3e29ca2f3bfacda82f206e65ccfcd84ffc062cf137729d06523af1e118e1", - "0x00c596442dca2fe376814e15bfd759b04f0fa6c47ee5ad37efb13a828c5d59c1", - "0x00002d33ced610b80e2cac123bc5c9313f42879ffc4dcda1279e523a4274377e", - "0x00f9af263aac2bfb591b45f99742924a6e52347001d1c45c0152d2f31ac658e8", - "0x0040a55e82c13bf61f17a2393fd87835bfac4d55e3110ec0007214443a4481c7", - "0x00408800e4df8338dbcfd7817502d45afad579f63a8534b5a954d894f7e273e6", - "0x00c5d3bab7217f58749b306ce234a8b89fbe08d8949e6ae3284bfbf30fa286ad", - "0x0036636b87b1696961d50e38ab786be4cfdf7d2e244555ae98d306f6e369214a", - "0x00bc0b95289df56869f10b4e3d0dd732cbdee576185b54e68e1b1d797b4e3bb2", - "0x00057e74d87df91585eff346f96350178867d636df3674e5e94dab8fd9be3378", - "0x00cfd9aa6ac093418b19b45d185c24fc77acf7fdd83a657e3aa93527c03ae059", - "0x00229bdb4b5e8714bf2a018eea61739c0da8237ac313623319159c080526246e", - "0x00ee3b1fd6e258c9f06900083ef2f5a30bd21520c35f51ef71d621ba427fd7d5", - "0x0092c879fbf87d818276eb80dac01f939fb83528ef5f76123bb1bcd219a3ec77", - "0x000b54613fb6a24c17fe903cc390acc6cd4c3523957ab233923da5e13b87a386", - "0x007e4834a1dd86354096f826b968e56c9c06b342f6fa383033f07e69b50d184a", - "0x003c80842e45d8c10be0e7adb1c960a09c849baac8f0348cdc3db4e0a7426f9d", - "0x00e3bb8d6dc888afaa5e59d2c5013b7ddbe43f9732cf67acfd74875419b03b43", - "0x00f80195788144168d89efbf83e364488abb27f9122b7ba6ba7ea060aa0c60ae", - "0x00d52357855176f7abe6777793a29460aabca9b417b296dd6ab7f06f182e3610", - "0x00d40fc0888dd6c36845dea46c8e011f697bccf4ba5e8107fb5c03072b99434e", - "0x007c9319e0fe950f6a4cb2b52eba053faf47de464fff131a5ddbe9e329d7418f", - "0x000df3299380134f3a00c07fa6aec6dc353e9412f80a131454510a15c98af759", - "0x00b49842690190e3ad5c527dc694e76148622bdbe8dc758c268db19e92954488", - "0x00b961f0d46efc26f9b4e98840cadcca46f151e7b0a9642a72cf1d672e0e870a", - "0x00ea7bba83234c0a4e895ee91204e95e2b8e5df3cacf387ae2ab8380fec97283", - "0x0064079945dd89623a952dfe43df05f1c152827b80cf07300cd2ecc2eb984c4d", - "0x0060ec2180077118db966c3992a412c3249a95f473475b7aba3c13a0f4e130da", - "0x00434274f6e0ee89b6db01461e271cb899bb9f24f18698df14dc696d48fa693f", - "0x0044ffcad7bbbab150bdea6a8b42dfbc91e12472e79974d4d5b9cdbf417e6fb0", - "0x00269065d032aa10ed3ffd3b8c4e451f9d7a24aa7c86541c5d348cf50c151865", - "0x006c9d5feeb3ac26e6417b086d76a355bcd50e3e3753ce67cebec5b280d91e61", - "0x0058e55e28e3033be75987abe84c3ecfec00bb9ab899d649934818c20cc593bf", - "0x000ed15ea60cf8484189886daeca84a0347180ceee1e8329a8981d9f7c657120", - "0x002bb5d34765908af966341e4f4f59350194ad2ecf94e320d23ea972d2e8b19d", - "0x002808c7d30fb3d62bb29d74cf6e9ccea9e982322e4684aeae92b240b25a25f6", - "0x00ed3fc58632482d0099a3a26cec1ccc81dfe532b61439d6c4e2f52e2a3f3ce2", - "0x0090d3c52545bffee169bb6c4a8ceb9572c8bfdea520819333dbc79e9fb222cd", - "0x000fcda0dfbff401df4dc6cd66cd471c663952fc844e31b1a636bf601b4c0b6d", - "0x003af531d0ca15d0fe3390d0ec9093696e7bcb0766e4b5f6ed64eca562479af4", - "0x00b3ceda18fa66d68dc504a41879eeeed34fad8ef6a32fbb167b80dd2aafc10a", - "0x00d144a5a2e1b4f6504aade66361acad1179b42c70323d8bce0a58f4b3bdbd56", - "0x00167eb55b1ad976d3384bc182ae762a3010123c8489854afe67b7d309edecb8", - "0x00cbdfb321dd35c5b2c1539690b04ec6ac139b22299965359f3817ac9c289bef", - "0x006e0f43b333e2f2276ea760fa645f560ece0cf43d5c1cf797867f51e2ef6939", - "0x0026395f293d55f2a27fbf89f05310b905217df5b44a819281d9ed270c576839", - "0x00d0e8315c127d6154c1bd7a407959634da30e2d193dfddcc839e43112caef03", - "0x00518854e1ba8b92f932c041d1e191a25192b6cdc2d1bc94f85411ce3cd8872a", - "0x0013e977bf3a0c95097a2878c8607f57d7527e121f43254f8f37270d28c37470", - "0x00811962d458ff3bf57a9470cc258405816b18c1aadbb4cf4e7d649b252bfb76", - "0x00ac813217d51d5d235dace3eaa307d151db003d99779308fe2e385c9e25a32f", - "0x00dd1e77fb76efd2aca89ec453c0239ff0e7aab270743365d3adf5ab873b2f2c", - "0x00dc96289825ccaf119b722d81a17f7956d6297c87a38b46578b3a6c96fe240c", - "0x0047d79ab0ab2954dcd33d0111039b4236684e67cb710617349f6fd98a914a50", - "0x001dc26bf662bc1c9e841e4b4fba1e84ef7d2ad868942b3157f8ec68d9d4756a", - "0x0054ec45472591dd243236c7262f502e16af3e188370a91cd6109d653e432214", - "0x008331f142ff5fb1296d196765b85b80f160fa9604edc44367c900e461748074", - "0x003ebd9be0639897078f56358e17a246386d8e925cf79b6f942eb1f5751e1fc3", - "0x008591e99a38d03cb0a757a05cf0fb6328bb8044647bf3480fb0b52ee70d6404", - "0x009355472ce7eede8300d565f2b0843dfb13ecae0606344ee938fbc1e844ab21", - "0x00fe9097830c412fa0f6111714fb03185e8f306df69379819e17dc9d6bbb3604", - "0x0048cee772a234b1a28c0526ab9302520ee3b3af48b3a6d6ad344e3dd05da7d9", - "0x00a69af32226f13b81d6388ea3a1f79074ae22d10fa0d967c839e6c8d29e85c2", - "0x0053c81c7c7561920a1ab81234b063ed157a8c4fdfad6bf48ca06ba3cc00b6d4", - "0x00cff19e3300e615563dfe7e0da4a720d44e2d0551aff2de2b72c4bd51240412", - "0x009a757d66d9058a6d4ef6b74035b7f67f7a1aa63d1388afca95bd5985eaf382", - "0x009088eb92a1df69e6c1abfdea2b13f76372f778a08a71c7332dbeab0bcabe00", - "0x008968bed30ca883f63411a1177ed7584ddd8eb1061ac57477ccb454b14437bf", - "0x00badf8497eacbbdd6a6f27063e9afe20c5376bf37046f41495ab7f522c74277", - "0x00f45f92bb32b16facfc17207a81418fed34178f95be473bdb0a591a76e90021", - "0x00df6093ea71290e8a46e3996dd95610ff848aeaf4ae386aaead75de38226789", - "0x00e91463f7bd7b25b06f7d281e713535f2b24105006daa2c4f101c176b603a0f", - "0x00824395c27960a24c7d5885901f7a05452eb13e7e98772f27eb312e65da8ffe", - "0x00eebda2e47d5b598f7a810afe56a85c481bc793a7687de2f21760178c8b36ca", - "0x00e00e3f48c419030071251dc3e38c6e15e5e201036cc6df77c64ad02b561256", - "0x008a9192edaf905c977fa7c8c9f58d5f8552845a2d47044abe2f38a79e391af3", - "0x00d84fc0b28412d29cdae415665e2ef56ce9a4dc49d983ddc35750dfc7695419", - "0x007147dff988ff7dd3ef7707fe5cfa33ac8b9e7c4d6bd8bc0742dd2b03917ea7", - "0x002b95c682395593f65b363d0e0bdacd3bf5f843d09ebcb327bc8a034a19ba03", - "0x00e015c5067bdab9825a751b1a906c2ce95cc19c2746a740a685d7da88e27c2e", - "0x00a7bd2b9f718cad24688004b2fbc7e0faa0bbcb9c1b71adcee786818aad5cad", - "0x00e1bda807975b7ce45f76df22312efaf5444c4de841d0c3cf5284eacf5233f6", - "0x0026aa67b84b1d2b20cc52535dcf0e3cc417b88fff1ac4be0e8ee3bac8bd6251", - "0x00de24735ece899b280e5547e17dbf33911a2356412c35e210424b8d24c87ff6", - "0x009ce27a0cb88e0ba323ac985ee83593afb1b7456fe3a49dec50ba662d73c35a", - "0x00627600784134a04cb0c45dad3793f23e9615072cbd8f9ef7a98f8b3742b01a", - "0x0086eff56a124fec8d0363a7704b172c2b3982f7d581dba311fe4c34346360ce", - "0x00ebb3102b5154cf82fe1158ab3883a880b94f62b8e8a1755eb2a4f4303a0870", - "0x004becc6f18fd2aa47fda03a81be67bbb9dc261ccabc77e304f4c2602e75686f", - "0x008959907209d51a1e832d64debe6d2ef7e23794903ed9393a21fc0e1762af5b", - "0x001e4d6d4dd50ee7ff472fe200064c0c85409598e489d61bdee254451ef5588a", - "0x004200fc5be55abc60ebeb72b4eeff0b042f015fcb62a178802aa3b89de4b9da", - "0x00ab723664aa6224c439bb707c38f954333fdd1bc2dc7bffd7379a56f1042d67", - "0x007a2c2496937c5c826a9809b1e47dd49f964b482ee784503b5173c4d03e9465", - "0x00cd5096f088b82137b1be0532405869318ce0bad4c7f054e7aac99ede6ec75c", - "0x00a2897f263de0b55aecc36c4d0be1f76bb14aec83cc67a457115c662f911b91", - "0x000b31be64c070340bb1b13e3c73784008a4007e517bb05537f7a4e456040cb7", - "0x008e2c4972275d7f18a9eaf215b7d152d0c0d0969f198734b1552a1adff33493", - "0x002e81ec4661e98a8cae41aab83dda7003181789236d4c94960f06bcd386d367", - "0x008e1fe8bf0dd82a593bc7e4c2e0726c42b9442e16c7f2fe3fcff3acd4f73704", - "0x00552432da38d45ae3cd43d7120f84334c04d83c08733d6c5f7d7372286d846b", - "0x005e863526358991592d71aef0a7b0b39078915c59973209953724849ebe6a79", - "0x00e71e8b55f7e86cc7fea80f5ee6b13d2da648059d2f0e9571b1ebc4a03b9322", - "0x00132ca83b287c8d8c6db3cce6d30bfbf34285a3d4cd7f2138d0b3d46911845c", - "0x00ba3f8006223757114db7b354a2ae866b245f921fccdcf67b38f82bcc34cf2e", - "0x00c5ce5d24b3ef33afe633534c38282895ff2e977f4e52317724a8ac859e1d5c", - "0x00682fdaa2aa4b15603af8d781f745f9ece013f1adc89fa313f2b2225bc1843b", - "0x00a64cca48fe39c39b9eb5ac329ae9504a62bfbfe25b28d7b77d8f294b9c61fd", - "0x00eb81aa89280a6db5d84533cf643c532254981ff0a23315faf405d4ed72c0bb", - "0x0006a89a2ec609d1d997a953f9255f9cde05bfe2905619c9691dc85bc91fd13d", - "0x0008c754a075b4212c6823d9fd0f7f68bc8d707f624e6b7052993bbc0c166dae", - "0x0087ef7d354b8ced58802023c872af9258f77e918a58f286143c755face72c4c", - "0x009764bcd769134524fa101d76680407257a0ba36d9b7b5561f4b06da8ada213", - "0x00f8d485a3eec05bb54701174392e2be0414786a0bf0de6cd202b424ebca416e", - "0x00bc85ae2a497b543ade2253cd193a9d982f5942fc9cdeb991def7a482de0137", - "0x00985856e6152bdbb7bd838fa12418e32465021cc37530f996d5849dbea07914", - "0x002ea1b8ea3caf6323d11296529e3e91f5cba34198cf2ecef72592189cb268bc", - "0x00fc86d67805b6db8509bd00349bd09353646e2f7cdfbd45b014249771e589a7", - "0x0086b2cac4bb8dc26e975bfbff3076349fa5f89cc40df3e09f1de891a125372a", - "0x00106abb03b691de24ea1abc06de8b3fe24ef5872d0d4e2ce4b1b082f86bb09a", - "0x00bdb001230b6207847542c7d1596e86d650661c1110cb2afb70af56ceac137f", - "0x0073cd310a9af33a0bae2ad7d73e920425143c83e55cd32908ed2379f8d37de8", - "0x00ab803047ecadfedd8c12e968fb7c336b484c75ce982fd02f145f7495f6b1ee", - "0x00836a58ed6140ba523229ef7e32c5a2683702e7157746d796b01523d905967a", - "0x00d1d6f9625069c39dc2147b3f0f3e1c61eba38bda639a81cd89535f45f7a5b9", - "0x00b83ce2651480f9d7e3912d43016a944ad483b982cc942b3350cf3686956914", - "0x0075dfb7741040df2dcec31d128333e09f46eba5f2fbf44afb80cf6ba14839b0", - "0x00c76c319b334ff47c9aa61f368766af6d7887414bf833d3e9a9a63286f7d739", - "0x006e60f872681055c4ac8a8a510126f668aec130fbc6e982f5869b4298fab3f7", - "0x00247e8a64b1cd633388efd641dc81257979fa7ddb8df50fa95495c976b73a65", - "0x00d769470c02cfce887dd8c03e9c37ffe571f30b8e1cc152e8ecd64059cccacb", - "0x00820c174cb8aee00dd5c0b5d67c766b01e3049f1888a78ef585dbef6d174151", - "0x00084a05904ed25357e1f1be49bef399b0069dab696552111c0508e292c60d3c", - "0x00bdfdb5bf51fd62d28dc2363f9fcb4077f11c3a1e49ed1b339d915400057bae", - "0x0076cb7fb66e96d0f999ec65764582f588f88e5bd1edfb2b8228cf090f039a32", - "0x000f08bf5e1693fc5d6c70b78ecf87540b495268cd61d12f9423a710371498f5", - "0x0074b2809970a9da6283f0f87dd33411e1d5cedea12abbaa914bc0c0c66c89b5", - "0x0010dd9190324cf1d23ac01923019a45d096b61ee53d96d297bdc253468824d0", - "0x0016c12cfa7e08aaa3930b098338c2ef02e1df2380ba54e58cd40f77bf4e8eee", - "0x00666b01b4269fbb3df0fd67892c93af2f159dc5b63ecb4708f828d44e956795", - "0x00261db3ddb6d42bc904abc666e716221383d9a3cce6d8c6ca57e3587ab254f1", - "0x000831d7b5f693b93f75e7cefbcc60b8c1e2fdedaf2cd3100248320ffe8b4a5d", - "0x004068b2479ad60ccda6ef5c062d061cd101ce6e1817cf6676184d48909ca40e", - "0x009b7e631d9607aa5c208a4ad25d826ec7055a93154fc5383654f8b0455b6f27", - "0x002bd19d3805b8f76edca4bc40af78da1061a79929193f508e3168820d869d63", - "0x009b65e7619cf997b4ef8a784e910f06d6a842adc6714f710573a0e77e223f3c", - "0x00b58775caef0dcd56d7d581f71012d117453c917c217b166ddc23f9de853355", - "0x0005c0ae013a0b9c931f6c9aca13f20bd3d7e822dd5686e88c927d20a57c3718", - "0x00c968eb5db3fae1ecc5b663c4f2b9b89a7149c0e7dfac7bb83da5c72cae8475", - "0x00663e294143d816085b3bdc24d71b7b34aa8e0dc75758d50556bf5fb2f4e34e", - "0x00fbdece873bbb7ff7693bd55cb1f27ad0bd0ae4ed256b4ff30e8fc3b97b1030", - "0x009b0106ad2f3850575f05cbccd58306b7ed6bf821399425a3e121345f9a83ec", - "0x004f5bb45806431f4eae4e6b6f21184dd0bd4fc21cb153b12eb4a9cc964677eb", - "0x00946f2b45316c573017c009c836a90d2e55ebdb234ab99f971c7b05a11cdbe2", - "0x00cfb6acf6cf57ac9100f7585817c506786b152393931ad3c3149ae2f18fe1ce", - "0x008c548f7e7be10170b36228c08319afb63e40793761942f8217f6cc3872bf3b", - "0x00c201da5de6290fd06bfa32418cae9e3be861e7b23b7e8cf79dd85dc12f6a02", - "0x003a6722bcf6c0429a69314038e2e3c8f30cc8caec9b54610c649612c4ac9414", - "0x00ea5d8949cd3721801f8edbe68a0aa7622bd0cf61c1dc37f68966e690a7e897", - "0x00d31a32c8abe691193a0342d25cbf6094f2bf8487ab1aad3c635e0bfdf08330", - "0x00fd1f621a17ba3eafc7182b1298b59fd7b2283192a895d4db56edeb7ad5f594", - "0x0075e97b30bce888d685d03fea1db6c0e7ccfa72f24a00907befc4c1ae890c83", - "0x0005fd623fcf718c29e38327301a420600f765b5773e77a851384f8d29234594", - "0x00d2fd15b8d11b42e69a13e7352a4cdefcaeba28a5da3373d02e282ab98172ab", - "0x00f6c8592b5b544456f706a3a3561a25310f97bf5f87e7fe2ea367cb56f4450f", - "0x00782c2b9484cf423b785daeaa195028c24bd1b63cbd0a23e328a5fee862f106", - "0x003737f02e4711c409d9262e4739f5eb62a1deaa5d24862739816ff47b108ea4", - "0x00f9d814066f3eb7bfb9047e999cdf328d02ccf2cf2530ab83f59529303cadbb", - "0x008acca6cd18b0f2d0b37e401bc694833113c5508508cd994cc401f3ebd924f6", - "0x009a7c69a6b071436a3d5c68cbf12f8185d8e28fdca9c81edb21524f62a3bfb0", - "0x0035a26472dc09590c1bfc1a5a29af7e1cbda5c3878f0cccccf6a3d8d1fb1ce2", - "0x00e766aa847692f6df3e11c5ed195be16a629b42387c6f3ebaaab4b9eb4db00a", - "0x00c81b53ececc35aa854f608d14423950d145718f22ab2f9669550a74ef95c92", - "0x00fe8b055d2f71c8235cd9f25305b642c9e17e89d92b4501fb227624539d1974", - "0x00898c628437c28b72a2ce7beb1ab1bc02983e6de5eb919adb9b8addcff1e193", - "0x00b88e3f53a7cc00f60bdf5040be478edae259a4a02ab2313e82416803c2dfc7", - "0x00a0a0a4b593c2ac7ce9e4559b271ec2f87d6a68ee1e31296263bfb92879645b", - "0x001aed2091619915497b96eeca3a1158839abbc08085f92dd139167305a6585f", - "0x0013e36e839b59b25aa57fab37d6e0dc115211b56a05545021f6173b95ec7a24", - "0x00e20fc26d6fdbabdbe518b83a17045e9c59ee1a967486e954d9b88b4917c118", - "0x00d94e574c63e552fff93e36c4518de631d98c484dff8690f72db31cb38d9be3", - "0x00155d3220f90c0767525ccb683385dc68d3423e0524c19c8e1ffa177175f0e8", - "0x005d414834ada5d884e3b8ffb36b59d61d736ca8e5ebf59f8da3016fed5b529d", - "0x0063d6eab47463046f4c913ca363fb3b2ba96190c7685e629ba15a09bce2b37a", - "0x0098577b4205d8e570ce133b6a17aa7411834c53526de4c302f7117abc69b150", - "0x0080a62d3d3922f1c82cfae4477fa52fa8618d484d1ef92cfa58ef48d2c53b50", - "0x00a91d609e79290359bdfdb6f650800b7bedf5e03518a469530534e680040e47", - "0x00b29798ce4ebab8bcd1a7ea609413712ca74577efb8533e13837f269a862505", - "0x003ee7cdb7de6c00cc96f6b4b4669ff38fdf803ad517b060ab0215aac1be8e4f", - "0x00a0ed8e41792e5b2464b24ecacdc8e8e960435c352c1cce8562b5eee62726c5", - "0x006233d654f6bcf590ede0f31f9cf9532b8907668f14da1a6e00b388965d2084", - "0x00f44b95b3e4a0fb042dc598ef97064377749bc9d989a45305589a24dd9abfd4", - "0x00a2ceb39bd23b1014930936b17fb0b07be4a38caa99e145d63d78be802ef15b", - "0x0093253ad392a706b0cff06222d1c15ce73fd4852f9ceb57b61337a941c58629", - "0x009cfb787864ca7dae7a9f04ff18543f93073de94d17e36d3c9268de1b2561b9", - "0x00418c9f339e69e62762dc38326b0f632f2cb25f3b37e1aa2bb512254fc1a055", - "0x004e54eae880952de8214717ab7992d0ef664c87f4fe1410ddec52be27053786", - "0x00970d4250d01a9c6bc868bb924a339d5bb7d7fda802b0e94ff94b80f1997948", - "0x00a93d6d7ab25f81f2056e9de7a3e2e92afaae87c1a36585b3546eb6d7d4955d", - "0x00df380733bcd217559d47d893a4e9f6ecc3fa6853fe1f79fd46ae826de007ea", - "0x001e54a51e37d21cc9c1133fec7fe48f56f94ae9a3a99b683e3392be242efbf7", - "0x00c1ccab31930f93e4d1d6ef9c43fca95474afcf155ef054986fdc678a6fee92", - "0x00b8725851060b4e9fee896628dd6e304688827fcfd457c94bef156b7cb826a4", - "0x00c4490b1c06b2612254e910e1f3a6c25fcd193e0c613770dec966208d2dee37", - "0x0062ad5ae91b717b2c0815cd55d096e672f5a3fdf8c399bddb43890b36d3219d", - "0x0070196382aeff3f4a0117b5e410b86278269c61ecc8dc9209f59e256d955165", - "0x002fd73e720de6ace848e04bd44de36b7ef0de6fae60131cb290d413b668dc54", - "0x002613573eedac32b2c20e2ef995c0a69969312b2efea4f1a3f10e38d2b651ab", - "0x0079ba11e6f371f3a9216b1a29845da65baae49d493abee02e0a28e3fb73d8a4", - "0x00a7c8a115ec7dc258f26523017acb0cbe815bb68263ddc7f8680d5a65763d6d", - "0x00b04a0a161b3c8567eefabe006148933547b2b2552e24d365fa4b00e6bc60df", - "0x00fd8bdc7cf1a6aa4c81fa3e3e37cacf918f7c2280ed2078482941d91a9646ab", - "0x001a2e814cf848adfda097ac15b3bac7b68d995789d86d36fc6a13012e51f79f", - "0x00961dff15907960bcdbf9fea56708eed718fe89293feead68e49f96187f81c5", - "0x00a88053af77806ac32dd4e659e6a500ee625bf035d1355951e957e60928a16e", - "0x009a28f4b2dd85423c2099e674033586bbd746dbc10ae0c3bb687737d5a780fa", - "0x007935c628216108c97cd893afa0f1d0e7996fea776aeb564e724cc9c23ccdb2", - "0x008c0ad8de66d7b4140c442d20349412dc45aed265a40c98d4c4dde3b110ade1", - "0x00385e7fbbb558f72602a6e508789b0265da6acb4fa518dcdcec30a21433707c", - "0x0049b78347ea539be0860e1792944fa376892e7c07fc850c94216cf345572411", - "0x001f7128bf1b5b6c3fc215c0f43b9f2aed16efbe0ef31808fa42c58b7762816d", - "0x00909dfbc2c6bc31458958550acaa892793b3673e15411be3dac89778018e4d3", - "0x0026faee6e6258a06762db56d929c80542038ac23ae26dd6d1f0e789d7e51cf3", - "0x0050ad3d59c31a9bdb9298c993d43e80755b430d1661792e9379814996bfdb19", - "0x0086cdd4fdd3bc1d65500424fbaf14eaa4369ccadc29dd89a5842d7c0e2b3816", - "0x00a9249e3239d946cf14d79a1d3d46635ac9067cdbaae825f2524dcdb31fdd7b", - "0x0004d26d441e1283452daaca9a5c7d2ba2ddd3dc0868019f867ba12e0f1b3723", - "0x0007fc4e88b0eee3e4c6425eeb7482d334ba8cd421a014e45bda872b47c3e218", - "0x006c142c511827b2d841cec540007c3a32fc9cc6b3b165318fde480fcbc9f565", - "0x00a1e4d80da2a0f3b8c461ffc424730285d929c5a3546226b4d856ed0725b781", - "0x003111759290f9f2bac2d71e5b1e68aaad7e51cf64c19a618b405f3ded0c6555", - "0x00a2ec7ac6635f567f41aa50c58d62bb217ddb24da5abed92990d69a29c79236", - "0x00684af3cb208d4dcd925fc6fed982b2a32a180a3c7e8480539baa2996c11cc8", - "0x000fa9912ed209e4136e8bca40a538d3174bbf0579b2da6de93d988aaceb9eb5", - "0x0016abd8ed23d2d068dba264dd218013f9d2f54b7661cd30e8eb21bfee00d9f2", - "0x00dd443db1eea91879848372a0c6aa9f73758b5527bd53018e93aec48b97930e", - "0x00e4fd1c14a20475a89a239b7cb2d70b9e0806df3d1862e006d9d26e32735c0e", - "0x0017bbbee388d07dfbc259190e4e90942aee1bac4befa8ca900991706abec53c", - "0x00596eeb13ce9ba073af9805c4e55857c9b9b20d82deb54f6f2a1fe3bf96d565", - "0x000660f54df3d53597c1072eab2d10b9c9bf20956b060192f62c1a60aec8a5ba", - "0x0037fc435f14eaa4327dd24bd21b45b466296ff8056243b4b96861d032f52690", - "0x008e6b3570881b37174ca88c6b813bcd416953a6c5f3ade3e9a4c742401dacc0", - "0x005785d76909a2b9e5f2c866a0623c74ee87c304a9cd7a90fd34e0d8c830aba0", - "0x002d865c000721115bed7627a032e6f9ccd8cf2615569dd8dce72410f33dd1a3", - "0x00632f1060c1e9afc7eb5dc67c6cc6a1cd9091d84f7d37fef71bade1110a4066", - "0x00f0b2db392aecd596ddca492cd13c8902ca72b8fe7dc49061c49d394ea2246e", - "0x004938675a0122fa16e3d7cea28c72b8f4b602174df42c86b99e4177738d5f96", - "0x00ad9bcdf3d60995ec044efb1ccb4270429614cb81576cb040ee96e8d82c8f77", - "0x0091a14da77ade81a4c98a211798b600f5ff63aaa3bb9b7dc279f851cf634336", - "0x0002de7e057bc3f47be42e7577eec5aa630483289ee81024cd9086c7d5fa9357", - "0x00063fb57f3c12cf021ad456e61ac81c7e31e061c7b5af2561668dc0cec7a2ec", - "0x008ba9e7cd378ec9c41439a2ae4219ea450a7f85a4d0e4784a6b6a19a0222419", - "0x00ba77d9c3414682654acaf569e7519b3ece16d4bb54e55a6498c7038620bcf8", - "0x00a37c5764b1eb0b1d7dc33208065bc2adda3287155911c187f04c10edb6e61b", - "0x004e6ace33656e1c67ba94fb1316b2517bfc97153a7fa2ed33382a956305b3a7", - "0x0056ba3a0fae5348288b6f170b21f37d9fe2d75dcc69951eebd2e17b7ff5c8d6", - "0x00c93cfe9f56115849ba5b6c4f8b9c3c9e2890fd0669bb66f4159243c1454919", - "0x0052dd7ca1d044e4d2cc163bc84d34ca02319d523871c606c8c0155569e4873d", - "0x0015c0bce46578dcb4e304809a709e62df0c6d0d8f3d9f82049fe9dbe90cab6c", - "0x00f15a824a8b46f60fa9ca30d3be41755b9541dd885dae4eb034b938526efdd9", - "0x004f91a6e8a8d466a48f3dfd4a46d7b656612ca9a371f57c85f09ba745c6ae4d", - "0x0098be1cf9e7697311365dcf165b2a001c65e6191411ad54205197a933f4f9d6", - "0x00f326f745099add5070c645cfabd76f5bd3f16a9e1b7ec1bc43bcbb1dab9c1c", - "0x00e4c002878a46c21290a679d9efbd167de803929dae56ee17ef02ec34865356", - "0x00c8c0a1e315c2721a2735f057bc1f453fad6aa4087089ff9a9c25a774a6a35c", - "0x00991f2d1bbc53fa00d0e42be80f79f06121415ce41a1e757d650942a1fea08e", - "0x00857442484dacad39842ba13b9e83672ed43d6d445454513e490a00e4dd0c98", - "0x00633b601d8a7add6dfd24eea6261a006bbf8790d5b5bc6b60e55b20a58f2e5a", - "0x00fe84f92382e42f5312d67a0ac291a97152fb88cd2fec64d4f8e1869526ab72", - "0x00f6e988befa752455216aeb2ee9014a3880347fa286ae471b2ccce5d6689566", - "0x00d807eb981340c1177216d106eeb5d3b83d0cdbbc1e530a170e81d4d9a56a5e", - "0x00969ebec4efbe1bba375cba81ce6cca3337f87f010d44eb28557864e00f2bf0", - "0x00083c48607593774622fcbffa006a32caf3e70165549f96fce9c16206241b57", - "0x00cf715a1730521bf562f200c234da797df96bdcef4966245a03544b5c8545ea", - "0x00adc3bcd0582e5a3b8cdb44ca11580f20fc1b7d0fede6a9627a4de1ede230d7", - "0x0052340a74ec5d0503bef5da90845d7aee3c2ddd9f2a367af2fa0680ab69e260", - "0x003903801b4542eb6f97c1c7102c5d2d4e0b31418ca5169373b1ba7339ca2116", - "0x004a5f5f9a93c29e195943eae9320d899ce5dc5ce5f8122180bb30861c90ccb3", - "0x0057f6da46f83c4fd9e19176b5dffe0e2e544680d259b4918e540dab08fc67b5", - "0x0097ee4cdd744fd813fb8bc5c248654114a8a966bddd05409f74e998d2bc654d", - "0x009525bb05aae901ee5624e89d6727819d0f05f5690d6eec737734fa34ec8b82", - "0x0037e427516008090a239c5a5c213e0d5099225d6a799f3dd69b63c7d9ae2f1b", - "0x002abac0a2307f95650f1c05b7708c88a71cea818507a89789e6e9e395705612", - "0x00ca08a5c01dcf029092a5d8a3abefe5803448325a404582f07e2586dd5cec23", - "0x00de43052c3c2606019f6b2b3ba89badbffdabfbe41d992dea5d838931c7df51", - "0x005e7ffec4ca28cbd90bab810773cab9cde40902f735dace4bbc2af6a6e35e4c", - "0x00349f0e2f121b4b1652be4aaa80d7633d220068810ee82c21d7245ade5372ea", - "0x00cf5f7b7c527191ea3b877c185c8d3d9ff32517a20ec7dfe775848b51073385", - "0x00ced7b29b19deac522aa23174046d08514a002f7d9c692d0093586839dcd5df", - "0x00f9e24c38325cd909ef39fb1ae060f49dd095464d54e52ac243620d0fe4260a", - "0x006409655197b7efb50a3c47aed87f5555de3403e439e92aabef01a376b533f3", - "0x00702bdd1b46ca35035976826edc95c4babb0be541b9a79c01ae67a35c739f7f", - "0x00a73dc41734f994c708002c0fb2537d86516a52e7ed03ae67192e8724025644", - "0x00038a88c46f9e0e3848a7272a61801de6dc9ef02440a8cb36d6516f67db49d1", - "0x0024a213e5a28b3d562eaae1336b7eaef615826721547b382b11a634dba9085f", - "0x0081c5be004b9467ecc66a78cfde6de2ebbc3994da3f3c15e112f01158a729e7", - "0x00a8287e3f96e395556fe4dc08bede5fbeea912853b2e8251110d742f6f0ad79", - "0x00554af3942cf1e0d910db5a09f12110f7bda05dbe53943fbcf5855c5afc05aa", - "0x0007b11e11ab4e9a11a2787b5ec16eacc78262f37061e9fe6148f811c38e06ad", - "0x0044f9fddd16f8e3215f5e8fd6ed7cee6c653d7b3bed9ac1585ca0b0c32e97f0", - "0x00f4d1aef4d37bd9d9db0fa3cdcbb10b92bc812dca128d8dd9fc8a39e2af92ad", - "0x00bd77fed70c781d887ac36c1e697dce94c90b20e676ebbbaf7923ff10a618e6", - "0x00767fbea27e16c7ceb9bc8bdb6ef36bcc3482b105d3a40a72b1bf6c52319aa6", - "0x00c43bc86ab408780176c167eeda17524ace36fbbd75e9b0d2df599eb2200530", - "0x00aa8540b4caaf9442442dbc9793689a15d4f669427a48a1e6b4a278e0f57a32", - "0x007d8e38bab230778cb68d467c2a03337e274b4fb219564a3987dfb1282878ac", - "0x007df2951c46a49520cc1662b069f9ac18f792657758ae8fc9ca9a8fca334cd4", - "0x00b34f425171fb3cbd5c1cd04ff4d128772b64b387580409264ac52fcdf14b14", - "0x0090a08063a68835d0f7e801daed24f9c5067c6e7f930596bb46b6b2b37f7a7f", - "0x00ba8e8c2e052cfeeddd29d072c9987e115ef8c794b3fab216d00502eaba8782", - "0x0021f863a46d43bc3e2c35fd341ed2a1cf62796ccdefaf55e5b47affad800c2d", - "0x00e5adf31fcb5147a116a68895d2f109a0185d2570e4b30cd1288f4507b10577", - "0x000774834ae4c7906ad8a9ddd3b48a0f360f69ad3990120a97b06f80a6180439", - "0x00aefa26944a2b21004e91959f61333c707377dbff3e83d197c33c38a6da5db0", - "0x00a2eedb2fa473f2ecf7864c6ef661f919bb5c16cca59ae648124fb61b539626", - "0x0067219fb086c7a476b5a12040ea1a75ef549bab9a84b8670595e23e98941cb3", - "0x00f861ca24b5f4dc344dc04c99f4de5306fcfd7bb64c17cfa7f60c5577fd9629", - "0x002055c14cef790de782e45c6d78aea65b1c75c06102c3b82d87b3d18a3c9bee", - "0x000c0a724f8cad69cc289e14100ca6a4e3b7ea62d145021929b319756a347ff5", - "0x00220ee0d0f34ef7a377bff17d751e8bac2a3937c41b87d1f12d02f04dbb8c58", - "0x00e6dda40f8ead1775c082b910881cc0d13f4cd75f0782cc2f7791f706f17917", - "0x00c82f83ff37c71cc4529c7654fb5c83138b98f0f69b285ba778977d42e926a4", - "0x00fccca6cbfaec9b836688f2f5bcc4e82cdaaf6dfc0be884b15277b2d651a72f", - "0x0077923dfd1f79c7bfe55afc2aefe3eebac286a50a69e228f8995fd5a69d26a1", - "0x004b61044648f44f118d553eb28b5a11d9829e1bf58e41d84e61db18bcde9973", - "0x0036c1e200a510c468d3e1033b7b40264c23422c35d5aa0e8ee4c567dcf070d6", - "0x000deb93896cd38bc6e205c99cf2bf19fc236630ba8958f8e28611dcd7e42efc", - "0x00a6b0ee5f327458797879f8691aca9932bc1b21eed3618a28bdb9061784b73e", - "0x0054d31fe1011c41dfe8566c63226ebb930f4ed26c60344c7c28f1a1ca352ff2", - "0x00f579945bd64c964a09e05eeed0ecb3c41b3c57587c9ec55d38b96486a04ba2", - "0x00bde0c8161f653975894a1e92baacb16a4f4cb31d53ba1c08a0b54465e38280", - "0x00bc700913754697973941b1f378e146a53fa1a36a87b1a67e3e0256c003feaf", - "0x00d78d4e44085754f29ff6c8e94bf93faa5f07762531ebc9500a5e756dbddf65", - "0x0035ad6fb7cf026952413599cf46a888eff2db2f9799876bfe079ca2b963304f", - "0x00a063bbe45620856446bbc6ce0bbc7091439409dd26796b272cd8bdafd8aefd", - "0x00182dad40c713c57f7bcd00d221eeea0d1551191651ee9b9d6ea9695584e237", - "0x000a1b95b379a21f188c196d756fc44fcd84200d8ad67b0b2415afccf9e04948", - "0x00a02dfe5e542015fb2b1b502ea6a2160456cb47b4fc6b6875e9e5ea2c3d6e28", - "0x00c9f0dafafb811cd2363f7c6eeb88a8e541c82f560ad9d47f3953d2152e6deb", - "0x00abf468907cb59bf766b02a257248f834c58f1f1e76382fe2ac0b1d8dbdc427", - "0x000d647b4df37c30fc789a31eafde2586795b7fb837deb5335ddaf29990eea50", - "0x00075a0d1c6a7221f81be27815e744bdffd63d88626eb89292565d4aaa32c266", - "0x00d35d33de3bcb64cb9e20201eafd411fb74a131bf97459fb1c173e440f6b29f", - "0x000d3727db8a25ccd6642272ea2b8847cd33b8ec0448a5d6ee83a358c629bc19", - "0x00c49b9644b3ac22b7eb5d533b180347ea204d623b24437e42ee7add7958e35f", - "0x00fc441657cb4e03879e21ad07f4901f2b090421e9c48aabafedc3fb8595d81a", - "0x00939b99c51954774a19a760ab3ade0e84486fbb9f7f61a0aad0da326d50a02b", - "0x0092890721b5a7d5a4b5269a2f7bedc5c525cc99a5420300493ebaaa250e0b5b", - "0x008b1a212f0468767a3d18d0187b4a75d170e4c9c5b98bd505801762bc61873a", - "0x001a506e7162eeb96b88fd32a7d9ad2438e1e80323b9edc1b60bc0657cf7bdc8", - "0x000d10d853bd1b1b644f2d54bdb18e366fd7dc6b41d20516bf1eae9a30f648c6", - "0x0018658c8865e925dad66bcc26b1e7025c6a699f04e1a2736de4883274a0cb10", - "0x0054fb489cfef4d53d962b28f0ee4843fd36ce8368ee621d836a191453a00f52", - "0x00ee96c7ec5579fd27a4d97f0d890ccbeb59b0a6defd91f27ec69d38f23b0e48", - "0x000b998f028793105bf3b1a798ab4effa41bd43680e1c292ebb3a39ad9e1bdc6", - "0x007901fc7bbdbe3b3e327ccdfd9b92f36ba22493c158007526a8b4920f613d75", - "0x00d61fb684e86980f5d4d671825933ca47c8639528da5ddeb66e5ef1e8e77943", - "0x009ec74dc599860ad48df4fc79e31acff6686033a5c3cf6709ff4d188315f7d1", - "0x00f9176afe75e8b74a7ae4a37f9d58c42b0d1b3838526abc57df15f60251b11e", - "0x001567e3c95b51d446a2e1bfcfae00ea77744f94c90cb60e8217cb3bb8fa6b50", - "0x00e3c452256b7bbf57bd1aeaf94973dfe72425eba4635afe4b1a3dcc5335013d", - "0x005b94070e02beac2082891dd379dc1f0961c693bbcb05001dd90fed4a013bbc", - "0x006eb32d8560bf94debe1262d8a9014e73c0426754835eaf50daa722a7188cce", - "0x00e88de475aa2d68f21c8d74fb3f4d1f73993533805601fc962a6a15aca8fa5f", - "0x00e29e8410656390f5917d849deb98c00ed23d4cb1d0c2ef38ac8ee7b8cae623", - "0x00fcf391bce7429d8905ea6af027f5e527115bda539f9af13353ac45f468529a", - "0x00e165aa1ba680dabbf4022a38cb1d9d1789d6d63dce3de4330c0721a9695434", - "0x0061052c07100dde09c9cf6be4dab20bdce2e85d05c55f0e9f9b1a21d18ac6a5", - "0x00c12631c34b76210c22dd784570172c5309bf6a2c8e80126311effb6b603efb", - "0x00fa481047e8d4a57cfa23fc4caeef2b9a76df63551ed094dd5b179d8d4f731b", - "0x00dc16e67a4ecf1f1413ef92f4bb1eeab103d015baca8d2f8217e256c9a6535f", - "0x00dea4a7ed1294a0745bab30763796cfdcf782bb20004972914863e219bf201a", - "0x007bb045520d26a3519df2a33940fd618d70e222b5c52f0ff14326ff017e14c7", - "0x003f057289f83ceacf5c3d485bfebe7c3a1d8e2e80be1c9b18d898985f2edeeb", - "0x00f87f7073f2a5d38d420407a2faf8a75dc3dcdae3d516cffe62f964914d212a", - "0x0063d63fb1a06f206226e72e901359bee7f81bb064cd6047af7914168b85ce06", - "0x0071f5f56d2887ffc1410735547986adbfa5af86d7ec5787229967e0630350a3", - "0x0098f0be20b3e18d502d61ec2d4d1efb89ef42208e9e921d14c516f6d79a485f", - "0x00793d9b30f6c7049797e2403889bb813a5c2784105fcf8ffd8777259d119763", - "0x00a5a19a856ca6e2d059bd94107a6fa463014756ceb00dbf49592bc85fe38b41", - "0x00688db741108095e854ca06f6110a87ac1c9a195cbc1aacc98173c1bc851f6d", - "0x0070ec9ab2a5a63f545cd34df11ed055a9a5ca5eb6cc2a674afcb65f9130694e", - "0x00f10f889a4f357cd863e535387caeb3920a095e77cdaf4662d0fb3742b5b04d", - "0x005b61a6ceed0453cf8ace9328970a2b8f06bbffb0014d3848714e5082a004fd", - "0x001470d4944fa0451c2e5ef8a83a2f312b9ca22e2b81a1e44f9ca379d1e02291", - "0x00c25bce281395bc5d117b8737d9a6ff761d59cdeb84aecb4262b603a65654bf", - "0x00436f95457a7dd94ddc0db22ce9c8967727652ac34923997400b6a23f81b3fa", - "0x001e59e9440415fdaf5748e30a89c3a991fefe4ae7b12a060211ac82a112b1a5", - "0x0054c4dae16c65b4430978e5af35fb8b74389793e02e3fc443e9b5bc3b8777a7", - "0x008cac3353a6f6ff1d67b29e00639fd2711f863591911c03ff086ed22d324cad", - "0x00b165d05ffaf9c69f1862c79c380b75927efc9272bb9980dee32d7a39485eab", - "0x007e3d34725eb7792eb6287725b3a8a51a484a41669d25ce3b3ce7de872b7c15", - "0x00bea2df56dfd01042016a0f06ea19802b3d62cfb2e592bbeb7623630ca938bf", - "0x00b1401b2d41bc5f8bdc0b6546ee1876487c166fd59c5c7260b8df52932194b2", - "0x00cbc1ee3034e181166b3c629f9f178b2115e4f741ee2068a315f3bc91a846fe", - "0x0060fa7ab28aeb674291cdb52ee7e3533ec442d41c28b85d8bc6cd6b9a391d97", - "0x00d938e51c2e67ffe257746259cbff80292dd27414eaa6e746629d031253161b", - "0x00e553de7a6442897f09597d740a7bdf6673422cecc1778fdaa0b6cc893f48df", - "0x00415ac49cb9a27f41f8a65484e58932f5aba999975b5a55cf7489664b2129b7", - "0x003a4f2ad8a8f77178645fc0d424708963a71a05899af3905898bbf9e5faf325", - "0x0035fe3e3fe78a7ba0ca6497bffc79aedcd5c0b0a3b990f5dcc4bf0deacc1630", - "0x007b2e28fd8c02543451bd6aaa2abe0a014e3771d6a3bb04c92f1ea4dd8e41cc", - "0x00456b8f91c45b60c7a11d1d0207b2315f194cd4f0541a1f79504fcefe0ed51d", - "0x00585427e6dfacd98a2f5540462670cfa615e62fa74f403476cae30eefa49efd", - "0x0024d279c7244d0b576c0836f73f44cd0f3bdacbbe8dcfeec4e65be994a04717", - "0x00ee123b021ce4c680648b12a5a434cf2d088b27f699caa8d021bb2577e655f4", - "0x00a042313b9b98a1a9d39002eedafc42fe29e0d8f9cf9bff559e220d0e392d10", - "0x0095e70bb44246d82318d812c1a897a738dc74088aad51c0f3c539f028223a43", - "0x00641c2cb104584119c1d6cc3626089bd42187502ea675840e56da2e43dad8ca", - "0x00005bc5262d36958dbd8e3491c8d55597c267aeefd96f6e503f33edf5eb7f4b", - "0x00a0cfc09f55947b27f45eb2c12d6d6255b635a0ebcd8d456a2d850e35711a2d", - "0x006d0175dc5b0dabb55ac0eb3dfc3d451dbacecb9c31923bf70f1c8e1c7c2294", - "0x0089b32912b8665146ed5131eff022f46549d5c90b9822791b03486f547889d8", - "0x0096244d428ecf7c3279ba90aa6f700009ae83f35299e308ab954b8ee5f4f52a", - "0x00b321ca9f3641d50491390ee60df15981ff479bc402690192e59db48d63fd59", - "0x00e7bb36eb3923a7a456eb4ea806f427f9ec66b1615708f64f1cf424700936e5", - "0x0040896419006d89ed8968cb13a438e04bfe4386d573da0ce97459c428e9a856", - "0x00e54428f174ea10697dcf8c817e600eb622e15b628a5e2e251dc0c8e4063278", - "0x008626966b134ccb1de9300b6d598ec685ac8a127a804361ffa8b2de02423286", - "0x0008ce9d5ea8437cea96cc27f6986e1b0aa63a5df2e2447d1f8a0a6444b136db", - "0x0006546eaacf97e6d73160bc9eb1b33e68938e61a894b038ea40b046c3aea56d", - "0x0051c68e184107fd93dbf0a2e5c28b7764ac5fee96b286601407ec78d6c163e7", - "0x003f3c94e689b594258a869af0b61ef0b8d2c227c24dda1015c3893892b7e225", - "0x00e7b8c7f058f0d473877db227e5ef1c781faaec91c3d081520381377561fb45", - "0x0050948aa0a9eaaf1320e92db87dae78c04e01e2f7708c4f986bf23fe5261633", - "0x004744943066b518c4d9b909e9f21bedd9f8cc4edb2eea4843d9858627281710", - "0x001270d80eb31b1ff04f5fb5c0b2d8b54d8fe6fa16cd1db4d9b9f36af22959b2", - "0x009f79b2eda12943261ae6d4aff1b59a89ff2073951fab2d48d9ce348d716485", - "0x00a22868dce02b77b765cfc718c33c0ab8faf9c3d1effcb0d44991b2967a610a", - "0x001929aa17a7bfa2d8ebc21d7a1659b4f467a4f505f66696559e32ef9c54047d", - "0x005a0c4dcae896c465d56ef8b40f58e837f3dbc8a2678aa60e77e5e74079728c", - "0x001773501326a5fe79c55565341418e1575a794f550103cf8fccc320415f4bfe", - "0x0049740d96c8ffc163c11ff6de2c4683e84d4a9ee940397dfb898a93e34558ac", - "0x002dea42e6ff8b08ab955d70d615a92b389ac0ae611864814199ec6ceee9f99d", - "0x0017840f4abf2b17170c4f2c4d412dad026549e3881f7292f7d61c703c94e023", - "0x0092bafeec8ac2dd09dc15e8095cec9f090df76dfaa0d3a58e8f95130c3d085c", - "0x008e22be966455672af4f4d59ce14e9a08cbd34c83dee2d682b5d4157eb24194", - "0x0066bfc2ddb35d49ecc6a712597fb112e0daab0ebe14c24b42bd05021c7660c8", - "0x00bebc7acf4cd1ad74a959981d1fb12379529c177c968ce23134a3051d798cad", - "0x008764d23399dc116b3881da355a7b85d62a32f7a2199ffeff58e61fcc8b5229", - "0x009d6e115b2f972fcd8eb383edcb90b8ecfe8e93691e81e6b21e9a1a81600a1d", - "0x007761c260cc256f2e7a625e2be5cc415633ea09cc0443f709c86eb70212c76c", - "0x00ddb268d326222db8fa0ae5b4b367b092fad5da55ffb2c253cd33c6387d88e1", - "0x00d9362b651be5868f816b6c18f8fa964958829b11d4c0d1d7b89476d6ae6a4b", - "0x00aa10943d8940c5fc2864a7a0a38871a12f4e70eefa996a2d7ee4981172b7bf", - "0x00b44805678ef007ab1ef040c958181b8f3cd4467dccf3489c0b1020e9466a0f", - "0x007ec0d8908974c88bf560fb050e2df89270368d049ac41734910407155b5ed1", - "0x00c9ee4d4fb8a2fe6a3efc1cf9ea5180063bb8bf4d10908b8f30103872a71781", - "0x00b8c569cf1c77ebed373180f32c3bab108d4b90a1c4cabe09210db2f129a7fb", - "0x00cef84125aafb7940725a18a44edd0a7f31e1cad4513891be82155f01c8abd2", - "0x001abcfaf267caabbe59243518bea5e7f0d6011ebc32f53d1205073f20b49f93", - "0x006f1b18e61a65d4851b35903b65f12e7fbb59e66330cfac3e802d1c57701808", - "0x001166346d139222803f015f5f6f82e0701e78d11252dfdb98d701fd619223f1", - "0x00d24d37310919b3f7a8dc2fc9590bc49369ede85b97e6e2560ba1be735802c9", - "0x0067f4cbd103e336c79c83f3b5eec3d7fb98212084c61b2e73e0b757a3bae573", - "0x00172d35d8dfe3089463ba7d58c197bd8568d8337be97e117caf9601e2911a95", - "0x001e3cd981233f134be974a6c5cbadd8f606ecf37e7c791323aaf7db01d43cb5", - "0x00b9444632d3aabe1cde32bd4431a56675fdecb4293e478668cf182dd26bbd72", - "0x008de1eac129b10d2b72eb231009a51347250c0ac2035a835d7495944b1cb666", - "0x0079674acf5dae2b20df01da3333dd007ea4a5a853430ecbea8cd11970ea5692", - "0x0043080ef7aec46a00c254a4382c26655a1aa3247a889028267245fe9164c411", - "0x0029b89ef5bc3b51a5cac9697d9138df5cc1d48e2c7452858cc5e4601b787a48", - "0x00cef3c65285c556c7d0841f6d645847fd0f101a60dac7045b0260f63fcf143f", - "0x006f9003efaca7d3097ae8ba773168e6e9a492272bff4d0fbeec62ef0c3093ee", - "0x00aa8152c3210a3a0bb6269ed4404ac6834a8a95fcae2d09251c73aee93ce651", - "0x007b73f1d205142d66f633d6f2f46f3fb48efc0c0083820e3155b30a7a3018b5", - "0x0005d138ba99fcfa3fc163a481989caa8d20c7d9f3a6f0012b8467338bc688ad", - "0x00fae699d9344f4516899c3bb9347a7d4b57d9d8f4448832bd5911ee3365e9d4", - "0x0020bdf56bee6449b95ea6d1fa8af48f884595768ac0d7e158df35d7793041b3", - "0x004e47a33b9b071a91a10def62a2b30d2ea7bd9086886e9bc785654465faddb2", - "0x0027aefe280be09ab570e66f4c0bec5d94c02dfcceabf2bb8b5052d4ab10fa26", - "0x00a0e365cd9489e0c06ac26bb49819bfd35f779cb9258644d2a90d9b45259c98", - "0x00060257fe9c5cee69dd032b4b8c0c57ca65d90f050f0b3ab9388f2ef6c723aa", - "0x00a87d8d2d08f8aac0208980acaca515ae9371bfe49ab4bb7b3b73487aecce3f", - "0x009f3f3c97f7f34d3b3c06be6f37ce8a65d061e9c6b40f6b667bc40c65c23358", - "0x00fe5fb7e57cc0a58d0cf3e36b63319a5882bd2ea9a1ff6832171a36fb57d26f", - "0x0026240f535685ff70e2e3fd123e471b37772d2a8f16b0bf1284f83778270b23", - "0x000cc98728a2b2a84975092b2ba8af2d30a8856206eaa1e921781d508e4c1bbf", - "0x00ca223a7cdd165f07b9388c9eb75a908006f1659804e608b427118d1d776745", - "0x0058ce4cf46fa1204d3ca5918b12dd2e9af4de7a6e8fad9bd24a3b665ed1dbcd", - "0x00e47408e86896f5820eba7e5651a903feb9f6498daae4da365e3f1ff3c55d48", - "0x0085348fd161110b662496a448c2fad386787bcb8141f770241fe082f6253019", - "0x00f3c516d44c3b8ee66cafd9b97439edd35bb150faca6983c619cf358a71d08e", - "0x00aca2b3041ee51e116d4cb252193abe9c2a10203c40464e5d5332db6e02c0b6", - "0x00531b982168c413cc76e12b885cdce59d731ae9e47f89a08253ef460adc591e", - "0x00a544aed19f7c44bee9d9dd5b7cc556546f6e67e47863beb10eb1e5a6b6f910", - "0x00f63f7396be9cfccbe65a59a454b35da7beb7e8cf2bff45cc761a10f25b238a", - "0x00316ddedf7d5412034da4bbd3593aaf8e2b5b4424f796aa2a871a70ebefde8a", - "0x0079070d55961ed8a78d585018f4b09a03eac1f5ff734236e797ebc0d0e9a13d", - "0x0038fc5e3a33a309f1379804a4c2132f38cea1bec4f6dbb9cd8d260f13d20e98", - "0x002728be42e1a3a7c306e97f1d01c9a8198f43088776a7af7e4fa19191d85410", - "0x005e4b06803e580cf34aef43041a832537314625aa88ecbdb6fbcb6edea22cd2", - "0x00013330b327dfae770c6b101c6994917838f175d1f9bb54a2c6b45be6eebbaf", - "0x00dfda95ca8794b74c93b3d1dfbc1315d49a24c8292af477522663473ea29c1f", - "0x0099cfb2d2ac927c1c3b54a9ba8a1db5c3bc8928e73c1acbfcc9cebeb7013b64", - "0x00534a1b21abb2cae0443bf5765c761fb8093ae5e22116d006a7f85f9769bc3a", - "0x0076b789c6f939ea5b8a90dd2684febe59029eb226e215ec1d273c2a97063a25", - "0x003c60e14c1113734d08c2ce1119eccf755435cfd2288f72eddfd96fba4cb6fd", - "0x00b62338bff92dc1e4ed040ce7f3bc9d97f856c8b6854f60323eace4a3c433c3", - "0x00c8c14152aec8e5d5ce5762b4ce5d1359496b150342b26be75ae944b4dde9ba", - "0x009abc7e21ebf69e69f787d84b620e50074cabde26bccb78e4e068d95af5a14d", - "0x00eeb7f6522f2e63467324b3e80db950a18b23a125cd8c949f306fc0afbc0e28", - "0x00f41eba705a2156833fb286fe27d04a94d23ae9892fdfa1efd9eb6353c27e3d", - "0x00a192d7dd4e2b3545b9d245ce81b1a25651db4a145ffe33203f2516db3251e8", - "0x004c4579489a6264d646efa2a3e8135dfed3d9672e6cc34df6f5b41962561250", - "0x000890deb0c22e344420bf9a72f1fdcca28ee29a5eeccc54d6baef5d79c0971f", - "0x00cb48773867122d1a43a78e52d4d3993c3b0d5898a6b977e4344ae9521058b3", - "0x00899cc679c1dbd966000890318849f89c424fe4a9ce49ee2e1c50a421e93697", - "0x00ae40bd8715cac97627930011381c2d3eac2dadfa29c7233578dab010d6296d", - "0x006a76a563f2fb4a0fb8c376cfc52df7c45d450889059e60defa6c5d9b6d7ff4", - "0x00a20b34e78df97b664547a2cd78fe8d3e7fe3fbc79707845ff22e465c82baf7", - "0x00ae22026c27296e51abe6d91f9d621b0d39d94a63d23c15a404b9db81fde234", - "0x009e41e8c5c3bce918fdb31dfaf4b3bb09c7f51563a34f9e106070b1194cfd1d", - "0x00466bffe3c415f7d5b98cd643ff83374bc18b5bf14f18cb8f9dcb33ef73a9c7", - "0x00b1c4fe68cedc6ebd293d40ff2fc40718c9a6a928171aac015d24a998651024", - "0x008ec58a03c8e16be0b2339f9e0c290074513752a238d1d3e0003185839d00b0", - "0x000df95c6bcbe2735d6b3b49e23ba17016d6469136981c93c3beff445db06c75", - "0x0012fcd72c67c84279838807c8e3cb2563c214ad6a53e8552256678400eceea9", - "0x007bfba29839bc8ac659f6f3c874884f39e706b2fb6c6565694a3d564b3e1b35", - "0x0042f60d05b4e866183c2a22b5033a5e3dc4c4bf5ac9ffbfddd2c4f285a75c8a", - "0x00745ebcbb76ab57e702d425a54cb1433d85e9d795412f2a9808f2151d4f157d", - "0x00041d988343a058a52b1531e7608a1e71f82a2c8650cb98372e1df022f7773e", - "0x00d98fac4234b2933d57bb4a220411c273c295cf8c70beee3188b10e951c6695", - "0x009c5cf918ac387b48cac985f810414976811dcee078ca0b2b0eeaeb0e8b1b93", - "0x00cbb4cae28d468d186e29365ac7a53b80abf6d29c7098612cbdcefaacdabb65", - "0x00bfc2e359eba1388e495c99a778adc8a63731d343b0a9acaba6653c290f540c", - "0x007058363376c8037740c7507d2144f621a82d08e09341a0e658b2a04babb080", - "0x00767ec58a3d0275d4017ba5415c19f15a3f97208f495d4d20e1dd7be480f5c6", - "0x0091567253e87802274ccb578359acee822f700ccfc521439e6c8166c123fd11", - "0x00f6bd4422fac95aa1803b8eaaf7b88374a58d293d7e9da88af4673959e5053c", - "0x0034d043abf2fdb4756ee907937b789a14aaa7b5b73e27aeff0035755eb105f2", - "0x00d179387e3718593b238e6f8230e35adee7918e31cb4d900806fc92a43086e3", - "0x0017e2dacb688ed3399c164be86f12630bc129f529f6f81a9f83e9af75da6ed6", - "0x009a8a240c8312f314ef03c8b9536cbfbbfa244a9c5e180dda4d7a6ddaa828d5", - "0x000c5a4a4dc53f9f1bee2345da5f11840f10815e54501eefb0075a1c316c31a6", - "0x004775bc098d392196a459115e4c963ca2457427d8039d8b6b5bfcd5752817b7", - "0x001368d0b951b6b4ce3ce8e650b2bc29539d1eef56bb57bc36b0dda9573fe3fd", - "0x00a5ae3aa977a5ed8a0d2150cf9f545f145ed346676c56ce145bd48ece078ba1", - "0x0051123d5fe89ec447f339d07fa23ca7d21eac9040d1fa498ae0f9368f665adc", - "0x0033fd19521830b44a96369643650de3790f1ec8c7bfac31919faa839421ae2c", - "0x00dd2a645b8f39f344702b77e764338cd3507db41976505c02532157f7be2ef9", - "0x006b63b98515f7a5c243d1c6822fb3607fa8ed691c4d449e0040337bb86a1c37", - "0x00a579490748c47d398c3d626d923dcbecace6721cf410566e2678d5c33fa537", - "0x0019a54549f39b97338b8f0c794df1fab2d5625fde339f67a9ccb250e1aac83e", - "0x004c9538e4aed1278acd871146a0fa04f296a962c5548669eb96a338c6c8ac19", - "0x003eea25b2c8759802810e1df4eec5b97b2b8e24dadb2aa2139fa8efaba019ef", - "0x0088a021112bd70e17c29a1897aaa6b3ae40d4fb15de76c2c1ba5b792c9e3dac", - "0x00cb6e91be3deda5af44f51ef0dbf9c849fc80c2f83cd1e28653ddfbb91e2583", - "0x0081fd3bdba3766269125ac9103cbd5eaf1287265cd6ca706315df8d907644c9", - "0x0026d2cc2405beb74d134ee17697d16d79a93fd9097079b6f7236d04c368b2ce", - "0x007096b8fde66eb1d25ce2f723660dfada2af832ae81125812e883c63c5be004", - "0x00ea83edc5d9c42e9dad2ee143869ac7fdadabbedb3d4e199bc953e93d774d6c", - "0x009009870871031cd55bf575d2c8022d3b66ee15d84981abf702970758c0bcf1", - "0x00bb7e83efa557f16b98f34855e1233424fde7ecefd3ebc39ba93b55d6310efb", - "0x0065b8b7e36d0be75626bcf5fb2214e7e963dc4ed72ff7d56140005935536b53", - "0x0069a3106ce42ed36181421acaf48b64224611cdfc038c9c785ee1a22dd55d2d", - "0x00bec473640f8f251c3117f1d05261a48701409177636fb603bf18c790c9527a", - "0x002b62de97c07fbe7e48e0026b2b727f02a5c51e8a2a247065e35cd5d75802d7", - "0x00e99175c80f60ad3f034c8413f316be9209ce94ab7a9b555e58161acdc51951", - "0x00f12151c724afd0556014fb636a741dddd8a023e29e97ab2e8e813c04e5f7e2", - "0x00c9834a968395ef8270466814ba07150c77f6d7d893cddaec2a1bcc8ee6dcf4", - "0x0055059fdd190ddd88833fb44f67063d1dbf7c419a3d7ddea15d6aeda8e6030b", - "0x000b20a65b86d528b4e2f4f65fdc7ed7c3f3815a4688f7ba0775e1f1b26b1b3e", - "0x0026cfa9776c1fa9991c2f7cb2efcbfda8928a85a6120cd8367c4f11a9a2e311", - "0x0014627d8f8142c4dc9ec77776792c7e33984ce01d000124562f7a1fd8ca719e", - "0x00c1b0afaccdf62df1f299d4a8eed9620d3fbc76aa1e50aa770ebe9165df6d94", - "0x004b2d58e6d68e0466b1142baf0c0550e67c36d3fc8d8ccd14fa949aae8e1782", - "0x0001a7784a7acdc1b46f4789f1c674ac1b29798a01c47fea10688156d84764e7", - "0x00fb5a9b0bc88e7cbd5ac7ef1d7a97494e460fcd4ef200cbb42069d522e233b6", - "0x00a0703ced08aa5cbefcc3d677553f866b51032aa3a84cfc3868c01cc2da8a2f", - "0x001edf830395ebc3d7b66624b8fefcdf6d13f997f9c16f6a3457ad7592b12228", - "0x0082cbcb43de04cc993cef23997e569bc51e082370de75745644987843d81395", - "0x00b23763136efeac8aca079aeee1f9f952956898f8ef78db0ad6a7c4ec1bbf30", - "0x009062672c24e75cf8fbdd687c6e3691830dde4661063a5ddde92b10491d5f64", - "0x00d79083712969d2a44de036b36e08ef4746d638103e426f04f0e3f9ec31f3cf", - "0x000424f8a604dbee2f4ceaa4fd4fc5924add5972f412f649d34140e3c81e59d5", - "0x00f2f404573b4c4038ea890f2f3095d11bbbcf3402617758432bb86c001363e5", - "0x0028cc253c5f156c898462d88d33a4ef7ebbafdcd42fbca6eb36dd613d63020c", - "0x00d59d74d283815b97781d82094f773c73b295f7ce7dd0e06469d7d017e371e5", - "0x00c0cd80af85235d2dcb475735e88a52f36d3d3ddff76d92b3fd058427b9fcb2", - "0x00673edaa2e8611bdfd67462393528d19b88ad2de4f56589ebfc8cf1b25256bd", - "0x00a4e85041f992dc48012aab26c77d4d10c6bd995d31f732dac44bd30fc6bee2", - "0x00fc48b0b8e544372bf23c262c0af92e31e151b477b713ccbb2d36c46863ddd8", - "0x0001dcdda990a9ec07a3ae18a6d06f39114240eb25df965b67bfc3a969a9ac73", - "0x00f23b718a9afc956e8ea1bf14921e8d7365c1fdf0417ec94874a735e985435e", - "0x005ddc5e0d196fe9c0fe6796b7cf79b1983d2d844f76d10227efcadc1a52bf83", - "0x001544cc7b72c6c0e2445412ddab1a08c3eda807c3d540df4d79b96087ee9e8f", - "0x00d88466e5a1291ea45a3cb0c92a7e5d0c182727ad50e436eaaef534740d519e", - "0x00376324dc086db142c4f324de7a4b0b651c0ca011725cdda06e20a73c236863", - "0x004814dc6e677d3552c0c425d762c394030ca97a95d15d17285c0e63574f8617", - "0x00caedaac2f3e3d3988df960fe2e9447c1494d0cacf9c06ad086a14a64eb22ad", - "0x00d72e06c27e1bc83756c15b77d7ff23c0387849f1868182abf62a906b47e4cd", - "0x00cec5296dec73f4cc046f4b23c825606ca131f5c9649203a4b13d60eebc53d6", - "0x00ba638eca861636556006d8efe21fffdd0e62f77396a4973c8e3b2e10317cf2", - "0x00bfd510023db59d0ff092c11f10d4e402c96d83c64d8c57f603b34b1225e095", - "0x00aa46a7e14f4b3f80d140c8a6857c0fadec0a7632b5b9ff6a82540ecddcd662", - "0x000e28f44f0c8ad632227829d19eba39ce68795b766d912cbe5f449445c04464", - "0x00d9608b74a4b04de949e3bc3057566138aff9a737c3ba314a581e9aae61ee36", - "0x0005db1c21044e7eaa0e2427d7365216d4f410777f5a1b4f542bf7735252a15d", - "0x00e4d5814617028620beab4cc280a71379a2efc97d68e20314061ce005199600", - "0x00e56c9b6f489099ed55606d2860e6e89649eb6960f40e35fc6b0b0802437a88", - "0x007ca7916994d6af37c8f5acdda85f4c3dd65ee428d106e5d7f133fb3d1aaf96", - "0x00df83a9dd2987d2710ec3ef1bf680be6631dd98a40bb2dba1e51f01508e3b7d", + "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", @@ -4999,19 +4999,19 @@ contract_class_log_fields = [ ] [inputs.hiding_kernel_proof_data.public_inputs] - expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069904e3d" + expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" [inputs.hiding_kernel_proof_data.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000008" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.l1_to_l2_message_tree] @@ -5019,37 +5019,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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.state.partial.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [inputs.hiding_kernel_proof_data.public_inputs.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.gas_limits] da_gas = "0x0000000000000000000000000000000000000000000000000000000000c00000" @@ -5061,7 +5061,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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [inputs.hiding_kernel_proof_data.public_inputs.constants.tx_context.gas_settings.max_priority_fees_per_gas] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -5069,8 +5069,8 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 [inputs.hiding_kernel_proof_data.public_inputs.end] note_hashes = [ - "0x2b2e79d0ebbb71af103a716808532b2e3527e7c1c96a36c8325eb134c3072e23", - "0x1bd2c37274099ba3cc55eeafc83e0cd1206746cbcfee6a21ea6937c28328c6d8", + "0x005cd2323881f0294872da74f6f085b0628672881dc464f4d5d0976cbbbd08d2", + "0x2bea0c0cb98d2092d3d717f881af5f4c1c4ea1c896ed60a9f74f6e0687ffe91c", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5135,9 +5135,9 @@ fee_per_l2_gas = "0x000000000000000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] nullifiers = [ - "0x2024835fd8b74a764c77337cdecd852f4412858e32f7be5c0207f01b5da068b5", - "0x13d78bda760a53de06514f7f741dfdadff5eb9e71797ad4b6e06ea4483d85dbd", - "0x2f88f3bd8793d0dff44d96eda5f750ca9d873b8bf80a4ec2c5c64e715a6ed0fb", + "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c", + "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38", + "0x01180e43597d93aca802e2db8b88f2a65407301bb727bc2ce2e418e26ae4ff48", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -5283,70 +5283,70 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x2c3daffe4a903189546d747383b36f042d388202763bafbc38886fecc350cb53", - "0x0551fe2a36dad9929c79265ce6aeba94f2f416bd71cf81b30ab3b55c72003a48", - "0x0000dd707b88d9039db906798e60a60b6ac9e8f89e8e8e61e676f4f1c9593cac", - "0x000cd2c289f20185721ef525727a29fb2708bf64d5be4b2b0f38885347b1dc71", - "0x0084629f4956500910e9111b635b663a2856a573371ab5ad8a3fcac0f01d6d2e", - "0x004bbb5e1948b1fa2b8265cafdb8d10140daafd0df7729d896d47bc040a1b970", - "0x00a644adfab1b99123cd20097db8d090ab63c93d6c42cf16e379eaffb4d1ffd0", - "0x004c8020c4a1330c3ad6f58c68f5ca0645e893a8a95a0ea4129552b790e7d2b7", - "0x00dd11aa7f5f0f78e05bde8a80775db7c4b20d7668f9bff5887fb21406fdc44e", - "0x0009ead4c5d93267d1072fbfaafd5d0da81321d67b89e33182287da8a5a34b6d", - "0x0079c6eb93e1ca46ac864f3d97396203316efd029c7e86311e6553869e8a36c2", - "0x0028f6e2c5dff72df6ae2f28fe53519ef939b34f9853f161df8e096e4213f27e", - "0x0096c1c46ef6dca33c528754171eec363e9d603397826561c58a2375ffa64ab8", - "0x005c35397f25f07a202bfd402443e2e6e195ad32a4c57bb708135b326eee9763", - "0x00776126695d794e713d613a0c02f027edef55480153811e030b132c53f1faef", - "0x00b781a5b0a58cf57ebcdfbe96d8fe6d94a4804fdbd41768bb48f2fda7b4f49a", - "0x0087155968445b7b35ee2c0598e00b46c03b3e6d95088d16ccedb6fa3e91fc34", - "0x00f75db0e45155b810ca793ab27a3bd530a7ed9c22e46e0415799b23968caeba" + "0x0a27df1f1c9501dfd5065c8be6a28b075fbf1cf0caba4884d1dd2f851fce04a0", + "0x18d672f936d0befade4b74ab4f5195325f3e7163665582a96aa3633a3c54b6c9", + "0x000032a8ab21fb61be927d6922820bf3d1094b42a1670dce9a8c3fbabb62e0c7", + "0x00c0e461da2a33378cffd94315ebaf662cf4d8b305f26220b764cf4c3f9d3344", + "0x00f3d82ea8819b593c46fe86f2a0e4efad45b4480f7f15054f458265e7c534e0", + "0x00ed9c60b473ac5f473ad5f250e63dfe90330cc83429e414d357eb01d3206b73", + "0x00806e4dda945c0432bac06b7d466e00c44381bf71bf0f38a448030eb1ee7dff", + "0x003d7394af215e96941f7ba505fde53ee5f4b057c616c049b052a090df2744a4", + "0x00f55549e9e5a96e22e2f4eb62c7681a8aebb20b5db127df2efaf9126cca77f4", + "0x009e6664abd31371eb6d0e99d4c16c4c511a6a63ba24b7483d1e35cf1774da14", + "0x0067034084f36ff782f93c5ecd1d7993036d8829c4aa082630bdd20dc01beb43", + "0x00630d7bfce6ff609627078edd3665cd613eb998790a287c8de29f4ca4bc4ae0", + "0x001536bc328e421eef8e00261b208a264f6497b00cf62654d4cf5029b1b7ff70", + "0x0081d0e13392ba093b4d7ac0e86d9baae5e62b0da92e978af3489a9bef920463", + "0x00ef0a778d16455b941d19bfc67da1f256ca35383564ad9853ffcca66825a806", + "0x00a37fbcb30f4d4f86b1363ccd7da1753e79b878b5bdf167580f687a1870113b", + "0x00f43d62fe7d1bdac08b575c925f46de627a7af6066871c5945d686e0be7c351", + "0x002228a1cfde2ef8628fc73a35803bc1a1d57bec02acdef2a4be6f65692b897b" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x26a4b844216245df8251f80f5e49c1e3be44d8d9aadc9ae11a26f297550a6ec9", - "0x02fad865d9ddf247b2cadf757e624daed00f9491d598d96f9ecfe33d30b10c8f", - "0x000021a2a019c02483d160f965cace2a31c05093ee3b0e72cee56a975850b4a4", - "0x0054d46280abd8a00a3b6f7683de0974adb24d90150f9398ce2e4d4f9511846f", - "0x0034f6407ffa22a92030b89216b2c83da7845c2b981b5136d454bbbe18344e87", - "0x009e03608ad56cbc7a7ef875147a0913d5b279c6a72787f48e45a005c083115e", - "0x003fa4bf0498b1481e31ef963f63d0c316be53f7acf6ddee9684a9b4ef44513a", - "0x004708114ce2e4534751c2d15b78146bc5ea60818881d56f91f2facb15667e64", - "0x004712e28a6db2c3668e670076adaa55cdead50770bbd5429a8f484d6f8c92b2", - "0x000ce9903b0089448230088ead515fc42f713db667b5ab2db0ff334489fa482d", - "0x00a5640c6b6f6165e10c188132a47ad082333537a4068ecebf661bf2fa87f011", - "0x00ec69b234d4f01d0e8472648e2d42ec26482ab5df98d3b4d9c5cb90b8d4aca8", - "0x00d94014b46226c962af666b4bcb2319d9549e27cd37680aded4374e20e450c8", - "0x002cabdb1a1ba89f43c4b52e1d451299e1ff4b2bb00f86a5bdd38a609a9f68bd", - "0x008252eb1333eb561ea18e510e42b0eebce8a0eb5d557d09e65ec93053f416a9", - "0x00b358a7e22a22838c375735765d5bd6ad7101ca7d1c36fc8039ca62e8ebd802", - "0x00ed80d27bd8202460adf425eb3c46bc4093789b5627e175780f356bc4a0c681", - "0x009e1d3cb1b54b03e64323a4f4abde4168a60c4b267d6684e3d706a2dba56fd7" + "0x02932d6cfd1460d71833896895ad1e423b5cfa8e1faed2d7051d2ab5aa261721", + "0x1568b67fa97e9c954c5d63afb864f76da8c42449ceb72aadc140d70c2cf69b36", + "0x00019cb9c40de23252387b9dbaa80c5e219285680dcb39ab0d34b219d1090941", + "0x000d59c9a2569b13fc1c946620137851397c949a93b1235a703a2af0f041e020", + "0x000cf12432c9b098894dc507b9f139c0bdf293dfae361ad8afa027573f3a7e76", + "0x006586d1d7ca0abb8f0243b8a8553d411c6055de15630185918ac78b83fb59f5", + "0x0053e9d73c02243aba11efecf2631787e714ef28c15c68cd79a4cee22558888f", + "0x0003e307fa43787dacc496931ec4acd320bf9e50206e1207b8108d3aab68c62a", + "0x006d2020c997368b5a5d8ccbcb1263d7d0bfb73611271be7716c49510e51c460", + "0x002f1b4cfc0507a345ad8ea22995cecf623374a666c45407e5ef8844cd9651a7", + "0x004c6c1e22e8b871c81e1909667d34b682db2a617c6b642d07dc1cf09b67d821", + "0x00b8fc51f6d54e3f94111f5a2b6de7d75f9f9e5211fb24bcd0cf3dbd6ac35229", + "0x00b4d4843fbfc05095bfe56927d02f0359fcb9bc72c6fb94dd7e4edf3eed34a5", + "0x00743657c61cf7d0560feefa7900354cd9361b74dddff0d073ac5b2056bdfe9b", + "0x0002eb1eedc3438e93339d016274cc609210d98b5829d60df107a13a77648bef", + "0x00799b279e55ad9534169aa22ec502672e453418e13ddb3acef497f5f2ba1eee", + "0x007318c27f87f182788622d30b7847a948edd962dfc36a6321a8c36386300ee5", + "0x00780ea4a92f36b5f5fe07c3dfb3b173035883c757d2887618d9d6cc56a0711e" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" [[inputs.hiding_kernel_proof_data.public_inputs.end.private_logs]] fields = [ - "0x2ae954e759b15f6d8ef97084100c66be809e18e107a7e35b219fe9b1d0e41c88", - "0x1bd6ddec68362a33eeba2295fcf982daed4d1a2fe7d2471de51a4039e3f959e9", - "0x0000fe2417fac167ea24c875d26b9d8d158647d6fbf761de1ee9afae43b87ec8", - "0x005d7eb74725ee3bf6c64ad959f782145f44f738a7c0bb87763bbe8eebf48c23", - "0x0082f7cdea2fbacda82fc05553553919fb04a86320d0dea42273ba76830ba850", - "0x00f96e26e95dae6b38167648e133ef49999cb5c9769b9dc03663512f9c5f4896", - "0x00bd4aa3a89e5e4736a635830f1b54009fe1ec3c2b5182f95f5e095fd336665a", - "0x003cf13ee752d26bb7a847857cfbb01ca53b5a0dd47369d9d13b06df2ffabd8f", - "0x006be2c978b6dafeadc206a8c48cffe7d0c4c26b32650f5145f2164a3ea7dcf3", - "0x009d49be90801376d7c1e35e6f2e6b207ac0f323e2beb5a9b163c2b58a0ae2a2", - "0x00c62bcde43a6c6d69c696bcfcf931392e48e040b6e85542818f01439cdbf59a", - "0x0017d58e206aeb1f2ef979b4d2202aa077c1ccc5c918edcbc1100ef52fc15275", - "0x008a86cd5def92315b2c8dd6eb5b12ab57351cd8f5f66ba36757af513b68d325", - "0x001134b3d31e36298e679d728d81e76b43e3b0d116a2894b94a41bdae57e2bf6", - "0x007b674c7243bef77a3fbc4d3e7640b5086fd8505073fc4f4e3ba0c8ff7bf6dd", - "0x00c7a8a393c28e2bce737b2894b8077e5430234e4993b850439dd70cf24f8745", - "0x005b476c579926d8c9f790ba8cdccecec53186ea43d445a4f21d46d30c699895", - "0x001588f47036afc3fa47df96d8e1ae047de1904fe66c98d2ba8a0593561c4977" + "0x2d21d0707d3e09aecfb0d6b7956faf9fbd024d947067e7867ab339a1648d3ea0", + "0x296810407e5c6d4b028b18e53984ff6f7ad985787aedb7c3c26c8400d692deb0", + "0x0001b88b3b6422742a0212891198008adfc0f4d70c3177fdf05c284e36f99ac5", + "0x00ae1f5a16c6591ae3cd3298cab240420e3c085dbdc80a1a584be117f94e29fc", + "0x00a74f3b18b564482fbeb39bd283adcdd5f127291aa4897ac885f7c1d5d75153", + "0x006ed47e5fd3feeff969f2e83553862bca80b937c5c5505e7dc9a686aba8ca54", + "0x005fd8823565dad202293e3ed5d076cf6289f800f301d1c023d3e4af77827616", + "0x0075536d30d97e72e08b400186c71b77634cfdae51985cc7e986d9f6d90f463f", + "0x0043bd52f8963fa68d611a6bf5be425e3f00f464160348155c8534e17dd22427", + "0x00b9b6a200363ac6784efb3017963e8f000a152dcd4c11fe31c614a4884bfb3e", + "0x0081e7e4bd7465e054e5be7932c3df835a66ed5c82d565a62777faf9571f1675", + "0x00bbc98ca6433187027b87ab9538967f8572a61409d5941d6c14817ba6bbc7bb", + "0x00b9d13ad6648fab765b0b7af280773a5f4dcdd2f87f09e0b7a9ee8b5245d5b7", + "0x0038a0a5e712802e6e31ce7e04fcfd4cc7b414fd75b00eba44a86bd0fbb5d58c", + "0x001d5e1da2ee9973ef61e860e8a60a6ccf197f5422983dc32fa9984d32b34d58", + "0x002b32f58df082a292a9b1b5fb09ed8d33f5cc22cbc6eded239c8abc15b73ee5", + "0x00d98eaf53f77eec28a8a166546b041a8f2eb0c08099c17596c72c652f719815", + "0x001e085129dc597bf9a5084995f27c8b38df2a6eaefcec4455bfc1980078c3da" ] length = "0x0000000000000000000000000000000000000000000000000000000000000012" @@ -6766,16 +6766,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" l2_gas = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.hiding_kernel_proof_data.public_inputs.fee_payer] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [inputs.hiding_kernel_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000004" sibling_path = [ "0x15ea62ef60983f3861bcc7e51f0c7d53b27ab4336af79d2fa006479ca2e6b58b", - "0x1567127f2a5223bf7d9fde76e7549dd5266fe1ec82186637a43cbeeef0a7e9f1", - "0x0b6695cb6fbdb0153b8740c989e741d865f25c7e24b6d265805d6df222c57fb7", - "0x1de0c6d93bb75f6734bc6754c1e32302fd1dd0a71916c430a192da3ac87b5c22", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x1261daa64e127009864b9d24ebe2cab42baa4fe8e4f5e4035e2c0aefbb2c3ac4", + "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", + "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -6913,15 +6913,15 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" hash = "0x0f2ba4feda7e71daa4d5863d9855e3256cf69cf3483720795dd131ab61b9c93c" [inputs.start_tree_snapshots.note_hash_tree] -root = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.start_tree_snapshots.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000280" [inputs.start_tree_snapshots.public_data_tree] -root = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" next_available_leaf_index = "0x000000000000000000000000000000000000000000000000000000000000008b" [inputs.start_sponge_blob] @@ -6947,7 +6947,7 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", "0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x01e6e320b9513faacaf0240a5b9a45cc55bfb35e41e7ebdbb93c0b77111366a6", + "0x244ac9d8251f660b7dcfc8d86add970b6a8802c776b9bf6b1bec34faad790f3a", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -6982,9 +6982,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x1a180441acbe2e25177de322888800476d75191e3c2c753300dedf84de7d2053" ] sorted_nullifiers = [ - "0x2f88f3bd8793d0dff44d96eda5f750ca9d873b8bf80a4ec2c5c64e715a6ed0fb", - "0x2024835fd8b74a764c77337cdecd852f4412858e32f7be5c0207f01b5da068b5", - "0x13d78bda760a53de06514f7f741dfdadff5eb9e71797ad4b6e06ea4483d85dbd", + "0x2dca1d05a9c4b8be200f6a5c9c0736acac87ae27f1402e40536016989514be8c", + "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38", + "0x01180e43597d93aca802e2db8b88f2a65407301bb727bc2ce2e418e26ae4ff48", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -7048,9 +7048,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000" ] sorted_nullifier_indexes = [ - "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", "0x0000000000000000000000000000000000000000000000000000000000000005", @@ -7115,9 +7115,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] nullifier_subtree_root_sibling_path = [ "0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76", - "0x2613d68de254591bce8b3c81bf71867b466567eb257228a013a77972921ebd7c", + "0x1963a3c62d1b550795022471503668a2ff4d54f89aa0baa7cd01df2db0ebaa9b", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", - "0x1644e25e0f64aae4aa3dd0d86ad5e3092dc0104f859a38c927982643668a4553", + "0x1a2581cb8c4ff55a0b6cc3c68b6812e2e1d4c277096287b34e6a4e7eb8769d6a", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7153,19 +7153,19 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x2f35a98124f2c0f683105ce8dd2e0ce27ce0e627e381c21d5f85e76911a09acd" - next_nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" + nullifier = "0x2ba8ad19e0deed86a7e6e794c2df3cd74885409b4b464b3c37a73244a77faa6f" + next_nullifier = "0x2e2ff7807ad6beaf59e04d8bde4efbe51d774bd603006e62e90d12c57ff2d381" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000202" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x200dc557ab91808a7cc244a599891e31513678a5613d8ae8c29bfaf3fdb53995" - next_nullifier = "0x2135f8fdcb698391d6dd6126ab857a6199fc3c6bb809905188b09098d3d0ca0e" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000146" + nullifier = "0x0064e266c2e111df87d301d3c29e57473cbe48ea4c2625decb8b0eaf75e0125b" + next_nullifier = "0x0605460c4f09623d74de07dd2926fae970327e770767071bfc5f17e6508bbe5c" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000240" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] - nullifier = "0x1236f0e64aa49d95333bf76530316c6d33a094822ea47ec0cadad4617b91a691" - next_nullifier = "0x14447c3a9ac0f87a94935218d3dd933e9383be5a3795ad8f914ceebde37eaa72" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000081" + nullifier = "0x0064e266c2e111df87d301d3c29e57473cbe48ea4c2625decb8b0eaf75e0125b" + next_nullifier = "0x0539120dc5e495a582b57dfe47e308f583c5d8467a480c59b277e9f7a4389c38" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000281" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_preimages]] nullifier = "0x0000000000000000000000000000000000000000000000000000000000000000" @@ -7473,18 +7473,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 next_index = "0x0000000000000000000000000000000000000000000000000000000000000000" [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "384" + leaf_index = "192" sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x14034c67561fda38106021f9b4af0fdda3e92c55a4c80a92f3f0284f8e509237", "0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x202a5fc3a795c57558df8293f50f6738454233690d14c38f671478ac69b05ab8", - "0x1301b559692e819b0ddcadb1ab355d0f1a7c25efecabc6983d6ce77be57b8740", - "0x02469025e45a37855a26aa0c9ea26cc2d0d24c6b6a2640ac5d7da30d9e116202", - "0x00889aff23bac5f5f4344ac6eb8fd92e105b1b8e1d06d9947d2396e828118e9f", + "0x2ee8f34a4d27e4a62036326337bcbd24f9b4e09b76f8c3eef3ba8e6ece81335e", + "0x2a980feb7aac45a55e6dba598d36cf403da7dda0d55551f34057a76b76ed20be", + "0x1c2aa764b94e52ec35b36b13796bb6837c20bcada7b329e4ba55423daf59aa1b", + "0x0166283a23572fa18bb30ffdc88971b72cf8eac9fb4a16efbe5435d78b42e68a", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7520,18 +7520,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "257" + leaf_index = "322" sibling_path = [ - "0x22e7c7cbe27342cae32961732c9aae576df16fa85e7a674aed27da6e3fec8630", - "0x2d09b3b576c1f2d6fad2e0ae81aec374b33c0b81d337fa14908017c0a4af2b17", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x1f919e5d39c7fb06c78b5481b0d6ade591f165ebc927a75da021ca4250e64cf9", + "0x14c40b191c1b0a90ed69dd7152066205eaeb76f6d48d2bda5935258d40c58dec", + "0x0ce1c20be55a507b913fc5eee8c1bd6f025858907d153c21320293d17856e7fb", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0f72f33c011106876ffcda26d6111b464faf311d0d4c68c634d92837fa34976e", - "0x04b021fb6a308d0beb4f8716169321f2efb4961e98072d3505147cea9916e003", - "0x02469025e45a37855a26aa0c9ea26cc2d0d24c6b6a2640ac5d7da30d9e116202", - "0x00889aff23bac5f5f4344ac6eb8fd92e105b1b8e1d06d9947d2396e828118e9f", + "0x1412bac5a880612fbefaeb5d793b19e320d759e523267959c7d42d1663ad2daf", + "0x0c96004b87f71c8229576f34820e821d399b7458d25836c7f4375d8716db3da6", + "0x2f92c1b0f005c10fb0561fdf91da1b845ef9a7be2300f97dee165a6e3a43d81b", + "0x0166283a23572fa18bb30ffdc88971b72cf8eac9fb4a16efbe5435d78b42e68a", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -7567,18 +7567,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [[inputs.tree_snapshot_diff_hints.nullifier_predecessor_membership_witnesses]] - leaf_index = "258" + leaf_index = "322" sibling_path = [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x1d543da572dbb4a95e7611def2ad59bd9b4f21859bf35c1b78104f5127c9915f", - "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", + "0x1f919e5d39c7fb06c78b5481b0d6ade591f165ebc927a75da021ca4250e64cf9", + "0x14c40b191c1b0a90ed69dd7152066205eaeb76f6d48d2bda5935258d40c58dec", + "0x0ce1c20be55a507b913fc5eee8c1bd6f025858907d153c21320293d17856e7fb", "0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20", "0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e", "0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf", - "0x0f72f33c011106876ffcda26d6111b464faf311d0d4c68c634d92837fa34976e", - "0x04b021fb6a308d0beb4f8716169321f2efb4961e98072d3505147cea9916e003", - "0x02469025e45a37855a26aa0c9ea26cc2d0d24c6b6a2640ac5d7da30d9e116202", - "0x00889aff23bac5f5f4344ac6eb8fd92e105b1b8e1d06d9947d2396e828118e9f", + "0x1412bac5a880612fbefaeb5d793b19e320d759e523267959c7d42d1663ad2daf", + "0x0c96004b87f71c8229576f34820e821d399b7458d25836c7f4375d8716db3da6", + "0x2f92c1b0f005c10fb0561fdf91da1b845ef9a7be2300f97dee165a6e3a43d81b", + "0x0166283a23572fa18bb30ffdc88971b72cf8eac9fb4a16efbe5435d78b42e68a", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", "0x0f320b0703439a8114f81593de99cd0b8f3b9bf854601abb5b2ea0e8a3dda4a7", "0x0d07f6e7a8a0e9199d6d92801fff867002ff5b4808962f9da2ba5ce1bdd26a73", @@ -10481,16 +10481,16 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.tree_snapshot_diff_hints.fee_payer_balance_membership_witness] - leaf_index = "118" + leaf_index = "119" sibling_path = [ - "0x25175e843d4f894435cfc54513125039b60f78b5cba42ee6e913a7f436dfd6ed", - "0x033cc4944709c06b905370edcdc88fc9b5bbc88ee0a65882214a9910b44f219b", + "0x0d38053e27e3a7bfb401e4921394944a3469a2b35c7872182d70bc19d769190b", + "0x00d55dd7210431061c54d151bb2a314701303fc9ca4fd5ad6ff4adc649838a0e", "0x29208ecc66c5a3f559855bd44866e51a9e1b053fe1b60786941ab50664c75667", - "0x13fbdf7f0e7fe91a6fea0974fff6e7a7146e6917778d3719130a052f9cae4863", + "0x28c9ed3163aededa54d84151108b3f6bae51829147ca083ed02d214937428866", "0x179d7b5df7a65a4bdda408605c069b3ea175a5f4e2b0fccc9f2ebcb5d12c7c28", "0x19e2b3449d24e57ea4d6948048220d0756f93b6aaca968960b173df69903160a", "0x1a35cf71ad31b7058db0cec41776442412ccd9f75276205dcd8fd0ffc4bbfaab", - "0x2969526a5ba8aa91043b507343cdc63ea3ee5fbc0782d46b9a31c002ad7cd1b4", + "0x22c842eb683865a426eca3dc0c3e05a92c8aa98f7d380aecbad129d8abfda444", "0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1", "0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972", "0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686", @@ -10526,18 +10526,18 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 ] [inputs.fee_payer_balance_leaf_preimage] - slot = "0x09cd5bfd34eb88d33aaaad1d6d6fd128ce3fd0de25b2ebbbfdd523336cec01e4" - value = "0x00000000000000000000000000000000000000000000021e18fa17d39cfbdb40" - next_slot = "0x0d22de8c2b6c88b6b69edc9917335fc8b677806e39a887bed0c93abab932e489" - next_index = "0x0000000000000000000000000000000000000000000000000000000000000082" + slot = "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e" + value = "0x00000000000000000000000000000000000000000000021e18d648eb8e4c3480" + next_slot = "0x0b5e4403013eb92da236c17071d14a8a75ace341a4617a71936e04f6f2b865fa" + next_index = "0x0000000000000000000000000000000000000000000000000000000000000078" [inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" [inputs.constants.last_archive] - root = "0x06f86a3e00bc9a33987f5ae6acc22aa514d1b074d424856476dcc08f74adc993" + root = "0x230fa59debe1f2b01d161ae67a1001e1c7e842cd48ba2c23ed64f62b9f2f1061" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000009" [inputs.constants.l1_to_l2_tree_snapshot] @@ -10546,17 +10546,17 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 [inputs.constants.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000009" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000041" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698f0119" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c27b" [inputs.constants.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [inputs.constants.global_variables.fee_recipient] inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.constants.global_variables.gas_fees] fee_per_da_gas = "0x0000000000000000000000000000000000000000000000000000000000000000" - fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000f49e1200" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000d8775820" 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 aeb159c746db..eff1a6134765 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 = [ - "0x11426096e5c8f21e420da7e385375fc5d3741982a09dd67bbf5fa0b7e8691545", - "0x15e4b792eb6a172ccc03a136f15b2efabe6aad1a0cd31fd6fdbd5703f6f4f1d4", + "0x24e54a82d64be998c5987ccebbed7335d22d3ca31fd7280aa3e83357ebab5b63", + "0x08421c21c670b28926304e336968ee3a271cd0208331172dc6bb7a5888370405", "0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290", - "0x0eae030a63bea769b379d51d609540d3c3dec7cc75876923338916ad3253b890", + "0x21677bfb474367e396aea4bc6be2a5ec95616c3c4fdac349179134497f6a74c3", "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 = "0x0000000000000000000000000000000000000000000000000000000069904e3d" + expiration_timestamp = "0x0000000000000000000000000000000000000000000000000000000069950f9f" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header] - sponge_blob_hash = "0x277ae55f7d67697d870e4413cea233e8e025cc6d52338a41f2d69827f4780306" - total_fees = "0x000000000000000000000000000000000000000000000000001ac8992acff3e0" + sponge_blob_hash = "0x0b6757cd67bf5ada69ebbb4471e4d7178f9e3501aecb6e137560fd97c123e7f7" + total_fees = "0x000000000000000000000000000000000000000000000000001ef67611a32cc0" total_mana_used = "0x0000000000000000000000000000000000000000000000000000000000021835" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.last_archive] - root = "0x28fa61287c688f55ef6911cb919635aecc0857ff4fbbf27051300263e2be97fc" + root = "0x001b1e328f9e66b6d0e0b74c3160b46f4623da4588e13cb99510498b4f210e79" 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 = "0x2312d38ad51354e788da2bf9a5e828531887dad5771a366c753bacf2e658540b" +root = "0x220fdabec5b2ff8028acc4656699b44e1dead210fb97cadb5e9ddfa4193700ef" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000200" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.state.partial.nullifier_tree] -root = "0x16214f49d6dd97ca4191bb803fd3b4c5d19428a238ddc33175f8a38501b97fee" +root = "0x127e13c0e3efc50c369cf3fbd1cc4241ab2c144046b9a3fb19ea08456938bafd" 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 = "0x25fbfd14666ec463c89b98eae2862a7db9fdf7f50560c4c48e823e94949e0ba1" +root = "0x24eb461137efc60c3a6cc423e16553e04333ec4551e34566332245183814bf51" 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 = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x0000000000000000000000000000000000000000000000000000000000000008" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000022" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698efcbd" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993be1f" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.anchor_block_header.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x0000000000000000000000000000000000000000000000000000000cc9876060" + fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000ec84f91c0" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.constants.tx_context] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" [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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 = [ - "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc", + "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43", "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 = "0x2f8173f15424df1072c0f082ac0b807ac7bccaa4737a513efce5c0da01e1a4fb" + calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.msg_sender] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [[inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.revertible_accumulated_data.public_call_requests]] is_static_call = false @@ -7697,16 +7697,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" l2_gas = "0x000000000000000000000000000000000000000000000000000000000000c870" [inputs.public_chonk_verifier_proof_data.public_inputs.private_tail.fee_payer] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [inputs.public_chonk_verifier_proof_data.vk_data] leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000006" sibling_path = [ - "0x070f6de48cf45ee75522b9f1cdfa48c20eaf679d195df47e9c2394494d026498", + "0x10b971e3828337a4a6c2587ad313c083719140b1d1dffb5a5cf0da770710a05c", "0x24b1e9c91373bea77134353a519b13e7d9375bdc2ca58beca8290075c1ce7354", - "0x0b6695cb6fbdb0153b8740c989e741d865f25c7e24b6d265805d6df222c57fb7", - "0x1de0c6d93bb75f6734bc6754c1e32302fd1dd0a71916c430a192da3ac87b5c22", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2e5917302e91eb944a28ae53cf574e9f89d1b1e93a0cd4427f7294b220f94e9a", + "0x168b969bb3d791f0e7ca574f2ca88a549ecb37c36ec533c0f973e2874082ebda", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -7716,94 +7716,94 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000016", "0x0000000000000000000000000000000000000000000000000000000000000bef", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x000000000000000000000000000000a95fa58da429d72e8b4c580072afd53dc2", - "0x00000000000000000000000000000000001929bff6ff18d205139bb2808b7ed2", - "0x000000000000000000000000000000e66da465af8354531cbb356b41d42f5e18", - "0x00000000000000000000000000000000001cfbbbff06abadd9b2dbe92594d0a1", - "0x000000000000000000000000000000d6b3b94d1d527a0da70fb67bfc7af352ca", - "0x00000000000000000000000000000000000808c4ad4b4c926748244feb374bea", - "0x000000000000000000000000000000d8c895c7990cdc9dc5da9b391cf29943a4", - "0x000000000000000000000000000000000013dc4eefc36bd4b085f2140417fc3f", - "0x000000000000000000000000000000726ee09b26d259a0cdf6f5f68bf57f1f7c", - "0x0000000000000000000000000000000000292d9bbb0ca560d2c1a46bbfefbf5a", - "0x0000000000000000000000000000006270f5d40a6c1ed86c0344696a0904a464", - "0x000000000000000000000000000000000015cc09111d2c9ca81470cebfee3178", - "0x000000000000000000000000000000e3c12e1a36e546fdd03b36794be35c67bd", - "0x000000000000000000000000000000000025d7fff6a45c5d2b0e78f8f413b86e", - "0x0000000000000000000000000000005a73df592f6f7e48a1f864dd96385a6873", - "0x000000000000000000000000000000000010ea2473495b7a528882c070a95711", - "0x0000000000000000000000000000005753a15b6847aa8a9299be6a97dce8f379", - "0x00000000000000000000000000000000002204ce3c52b1b56c2ef5d807a4ccf0", - "0x00000000000000000000000000000074356dd1987712239652cc81f96e772357", - "0x0000000000000000000000000000000000209b3b127a7aa567f013df1f049032", - "0x00000000000000000000000000000014a0a0c90373352cba5607e20fdc876b94", - "0x0000000000000000000000000000000000070a37f09367fbeb85ffa6fcb536ad", - "0x000000000000000000000000000000d6f3803eb70c752ca21638cf183d3f5af4", - "0x00000000000000000000000000000000001a732174979282616c2dc3e3db0c92", + "0x0000000000000000000000000000009c3d77cecbeba2272faec3e46dcb274aad", + "0x00000000000000000000000000000000002b1470d2a1f295422902a9b5965179", + "0x0000000000000000000000000000001d46c515ebea033a84f8b7955631e1d643", + "0x00000000000000000000000000000000000a6433013e25f68f759e8a2a085dde", + "0x0000000000000000000000000000004ad496b2f894b9c3d8d6e190aac8295c18", + "0x000000000000000000000000000000000001bdd660c8ce0d1d7329f02a9dbfe6", + "0x000000000000000000000000000000ea13148a4ede148095708f60266ede1e2f", + "0x00000000000000000000000000000000000e2c9eb49e3b038e90b9dae35c482e", + "0x0000000000000000000000000000001b5a5775a6864027bfe6b893659e98bfc9", + "0x00000000000000000000000000000000002f4b2b205d07ebed6ab40765500814", + "0x000000000000000000000000000000bf1de09724dc2f0df958340e604169c773", + "0x0000000000000000000000000000000000279d2f79a4b9de5704afec4807f86b", + "0x0000000000000000000000000000005da2356490c7a750d76bf4e3dfc3dc0244", + "0x00000000000000000000000000000000002d7b71f644b25d1a69c4f1a8b19e27", + "0x0000000000000000000000000000004c48b0c223b150934e0dfbc8dd7344145a", + "0x00000000000000000000000000000000002002bd316549d0700538f60d3692de", + "0x00000000000000000000000000000065db5519d53fd09d36b18a09f202f1308b", + "0x00000000000000000000000000000000001f73317232c558d58318f1a137897d", + "0x00000000000000000000000000000017f51c01a89b83cae8441a4b069737f1b8", + "0x0000000000000000000000000000000000083fb042f95a5d85de3b9696f9a947", + "0x0000000000000000000000000000004925a988b1ed9d7426404ac8edb2d790e2", + "0x00000000000000000000000000000000000e09149368c9a21e1358bdb98c6f68", + "0x000000000000000000000000000000c5d64da040df0f7d07257f64e4c0125868", + "0x00000000000000000000000000000000001521621f2b260a8133e4a5746160a8", "0x000000000000000000000000000000852341ded04d1619c17c5c1deade5ca245", "0x000000000000000000000000000000000001296c237942bc015eed98a9a29544", "0x00000000000000000000000000000048cc52b176f9c3b307be5720ddb436e9ab", "0x00000000000000000000000000000000000c6e5e6cfb702449f8f4a7487d0249", - "0x000000000000000000000000000000a84959204d28c4d05e1437247d61162e3b", - "0x000000000000000000000000000000000012569544838ed3fa0312ac050bad0b", - "0x000000000000000000000000000000f99a40290819138d115ba5f3b8b1062557", - "0x0000000000000000000000000000000000169c6d7ba4d75534a6a90872c15923", - "0x00000000000000000000000000000098140afa4d4ca9d6396ca8aaee07be6ebe", - "0x0000000000000000000000000000000000150af92041d89d1a0a7302e3df136a", - "0x00000000000000000000000000000087417a9b1366b6a145356a48282a87058e", - "0x00000000000000000000000000000000002aad71febbe867a287682c1507b3cc", - "0x000000000000000000000000000000a97d976b8e760b358be6a1057a2952379a", - "0x00000000000000000000000000000000001e13d125245f95b4d400c8eecd7c69", - "0x0000000000000000000000000000003fa26a66889bc8d3e9b6fcbc9195fc2837", - "0x00000000000000000000000000000000001e98704e4e2b958cdb6e5a8e8db555", - "0x0000000000000000000000000000009ba29cb2a7a61fc97efeff5b20f9e26df1", - "0x00000000000000000000000000000000000e8eb84c6e059f291e8522c17eccdb", - "0x000000000000000000000000000000af0dcaecc1b63c18ee098787ae051a7407", - "0x00000000000000000000000000000000001815d6a72319f44617a3349be9fc41", - "0x000000000000000000000000000000d58a86a62cda87a81ec9798d352724db8d", - "0x000000000000000000000000000000000014c204f2ec2a8e1ba33b4e985146bd", - "0x000000000000000000000000000000012049729be15e535b7d6454a53c88f2bc", - "0x000000000000000000000000000000000000a5699153ee019dfb8a422c71e9e3", - "0x000000000000000000000000000000b6284cc026e7b5f012debc68dbfe91a1d0", - "0x000000000000000000000000000000000008eca1b8afa4ee566079299540ba74", - "0x00000000000000000000000000000068b19076d59c170a0de793d46919fdfaa2", - "0x00000000000000000000000000000000001c0b68e9d3fdefc82474fbc5733ad4", - "0x0000000000000000000000000000009d7bf5e95ed0cec4945821e8292a02f732", - "0x000000000000000000000000000000000001e78b70d414ffbde0671089fc8cb8", - "0x0000000000000000000000000000008beccf14e61287e74ff930f5b46dd2f2f6", - "0x000000000000000000000000000000000020e871532c632b003fbf0f1d151f54", - "0x000000000000000000000000000000bc6d262d02efe894a02d90251ffb81cb61", - "0x00000000000000000000000000000000002a02178a35061b4914a03eb8ffb6b6", - "0x000000000000000000000000000000c33f7565bc095b8eb6bcdcc1432d3133c6", - "0x00000000000000000000000000000000002707192250e166416b8ff3c7e7c4d5", - "0x0000000000000000000000000000008969826e9c9a6f58788e15d9708dd1df97", - "0x000000000000000000000000000000000026a886f4739dde911181dc79513362", - "0x000000000000000000000000000000a6675e8cdfd834bf1913fd560a8c10fcc4", - "0x000000000000000000000000000000000001534bb78ad626d11bec78f50ba37f", - "0x000000000000000000000000000000a1ad8bff19a041cb9d7b68c6e27d9d674c", - "0x000000000000000000000000000000000009db8d15b600497d28ca9663567d1a", - "0x0000000000000000000000000000002cb731f917d04da1e8a047535477d3a1bd", - "0x00000000000000000000000000000000001b4aa8711d233fd9c8b87c9698bcc5", - "0x000000000000000000000000000000910684bc60027a40755313343c72a09fc5", - "0x00000000000000000000000000000000000659b5ccdcbf49da671f6ac2a975f1", - "0x000000000000000000000000000000ff72a14f9ed53f0b8b092055a9e6ece74b", - "0x00000000000000000000000000000000001eaa237c37613e0d7ac49c944c2055", - "0x000000000000000000000000000000135a1b9f666de961bd83367bdad91216ef", - "0x000000000000000000000000000000000028770d0a1c3baaadc18d04ee22a818", - "0x000000000000000000000000000000d77fb03988cd2da8aa43fee58f9b0fad2d", - "0x0000000000000000000000000000000000057dbd7377b7e248c0a9b93bdf5715", - "0x00000000000000000000000000000075584ea9605570471fbf2b4a9857d12fd7", - "0x00000000000000000000000000000000002e2bb74cef61234917ba594658d354", - "0x000000000000000000000000000000427d40764f325b8256d1dfe4ee8ea82292", - "0x00000000000000000000000000000000000052a51da46e965392ec24187e0da0", - "0x0000000000000000000000000000001853ad009b4eadce80cd7a27f843ffc0e7", - "0x00000000000000000000000000000000000923f257e5600eef6cccb1350fa5dd", - "0x0000000000000000000000000000002e05d4c1b79398f7b0aa56e3de7b0f5318", - "0x00000000000000000000000000000000000537f45d3c4f7c797ce0d90f1d6069", - "0x00000000000000000000000000000016510349c25085933b23802029482d2489", - "0x000000000000000000000000000000000020a4da9e1130c54a451d793e0aa782", - "0x00000000000000000000000000000048f8855a0ef5d1658a866716cb794a96d6", - "0x0000000000000000000000000000000000121a30e331b2d794ff1dcb7993a3f4", + "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", "0x00000000000000000000000000000095b5d8b7b4a63b05df652b0d10ef146d26", "0x0000000000000000000000000000000000099e3bd5a0a00ab7fe18040105b9b3", "0x0000000000000000000000000000002129af3a637f5a622a32440f860d1e2a7f", @@ -7824,12 +7824,12 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000f242351bbffe67df4e8ead1b9f362973ca", - "0x000000000000000000000000000000000010e25aa7c8893a148707d0b4ffb362", - "0x000000000000000000000000000000e550d067c4d7184d39c558a95902f8fe18", - "0x00000000000000000000000000000000002857fd8a7a9cd166caecbaf66bf90d" + "0x000000000000000000000000000000bcbfd5e1bc34e4b9ce307f820b79d2d188", + "0x00000000000000000000000000000000002813611fdd71203634205935ca857c", + "0x0000000000000000000000000000003ede8efb58671963d73c06fa26de0a163e", + "0x00000000000000000000000000000000000f7433ddcf572f364d7aad43b50781" ] - hash = "0x245f3ed48a54415acb0545ddee12fac7649e1ba43f91f67a1c5f227bc81b17a3" + hash = "0x1ea20350d7d4a72d411fd4612502baa2f7d12c1fe355c8a54e23ea4b1b18d597" [inputs.avm_proof_data] proof = [ @@ -24237,40 +24237,40 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.avm_proof_data.public_inputs] prover_id = "0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc" - transaction_fee = "0x0000000000000000000000000000000000000000000000000000e83ffcbb0a60" + transaction_fee = "0x0000000000000000000000000000000000000000000000000000cd9ed3dcf4c0" reverted = false [inputs.avm_proof_data.public_inputs.global_variables] chain_id = "0x0000000000000000000000000000000000000000000000000000000000007a69" - version = "0x00000000000000000000000000000000000000000000000000000000d597f915" + version = "0x00000000000000000000000000000000000000000000000000000000a49fefb7" block_number = "0x000000000000000000000000000000000000000000000000000000000000000b" slot_number = "0x0000000000000000000000000000000000000000000000000000000000000043" - timestamp = "0x00000000000000000000000000000000000000000000000000000000698f0161" + timestamp = "0x000000000000000000000000000000000000000000000000000000006993c2c3" [inputs.avm_proof_data.public_inputs.global_variables.coinbase] - inner = "0x00000000000000000000000021cb676f48a1b57f8805371569ad102ef7cb2cba" + inner = "0x0000000000000000000000001db08e9f499080f28a4f41d9c45fa972eaa61d95" [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 = "0x000000000000000000000000000000000000000000000000000000006ee1ece0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000622b39c0" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x20cb524e40ec648de76cb75f3e0589f3344a920237e10a8a2e815e972deaac63" +inner = "0x23287c05b217fb03863a969824a4765c586d52c1c3c715cf0479504103ab7453" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x041e6cfd116b0e7953a1938dde31e9efa0947da4902d27f7a11acd0cc1401286" +inner = "0x17350df61b6c3cea6d127736b9b275b66327fd741f35f8c7f31c1ff005da457b" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x0fb8caa8be404fd00304be3dadb988f810e02438ae6d121e417fcc5a7351176b" +inner = "0x11bf2d349a68d367463080b5d8da90c6e4db964216ea920240614214e761dad2" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x0c95a1f6478f7fb15958f614146b1570d0bf435d9cb3bc4761fff038756ec9dc" +inner = "0x241504c1553a9e69c7f46a4971728ce944db883cc5379050adbb7eaac5638d1d" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] -inner = "0x28722afa8ef7117225c017c8f4c43392b9620136f482b078729a30e23589ad46" +inner = "0x25457bdd7f1194dccc7d6adcf2c12fb2e6f32a227384c54423c5685fe3e57dd3" [[inputs.avm_proof_data.public_inputs.protocol_contracts.derived_addresses]] inner = "0x2222f88ed31a431da198a045acb258abe6d32763a31ef83ac6a2d74ab73f56a8" @@ -24295,15 +24295,15 @@ root = "0x0d582c10ff8115413aa5b70564fdd2f3cefe1f33a1e43a47bc495081e91e73e5" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000002c00" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.note_hash_tree] -root = "0x10b74d70271de342d7e67eb12da549aa932b41aeb7a4452c057a4c7e1c51bd8b" +root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000300" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.nullifier_tree] -root = "0x264f52ca84174f7a84648aa9d67f03e405312aef251441bf319eb1c71ba0c13c" +root = "0x13d4c219e8be8d3b2232df962d22a02a75dd80ebdb6cd0bf81ec6f99885cac6d" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000380" [inputs.avm_proof_data.public_inputs.start_tree_snapshots.public_data_tree] -root = "0x154a0e2b54547ab0b3d4318481afba44ac70cd845b66b715f3ebd1f4371f9f6b" +root = "0x0086621f81cc6898003cf013fa94d24e5389ff9524123161bf076f76f6b572c0" 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 = "0x000000000000000000000000000000000000000000000000000000016eed1b00" +fee_per_l2_gas = "0x0000000000000000000000000000000000000000000000000000000144b30430" [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 = "0x000000000000000000000000000000000000000000000000000000006ee1ece0" + fee_per_l2_gas = "0x00000000000000000000000000000000000000000000000000000000622b39c0" [inputs.avm_proof_data.public_inputs.fee_payer] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [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 = "0x2f8173f15424df1072c0f082ac0b807ac7bccaa4737a513efce5c0da01e1a4fb" + calldata_hash = "0x17e4b5c5dbeaad6be8a2b2c73032dc3e9b8ddab57af334f8510fe9f10ea289ad" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.msg_sender] - inner = "0x11fabdb558091af557d31e51bcc1851f57a5f97682b5d9a02e07e08fcd400262" + inner = "0x0c34a2bca65a47b57b2b0b2d4665f7c3ef5d376236d4fc66913434e2c0cffcff" [inputs.avm_proof_data.public_inputs.public_app_logic_call_requests.contract_address] - inner = "0x0b03d660dd6476e196462e5df5768bfec510b3f14b8421e06efbd042ac56283e" + inner = "0x1703dad6ee1abbca0640693164b939ef4424b8dc13bee05f171945bde0dfa4bd" [[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 = [ - "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc", + "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43", "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 = "0x10b74d70271de342d7e67eb12da549aa932b41aeb7a4452c057a4c7e1c51bd8b" +root = "0x1e9f1c28bb58f179c329ca938c1a0d4938800e491faaa0c9b013351aaafde52c" next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000000000000000340" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.nullifier_tree] -root = "0x21b7a6da20cd219f71539a6125bd2f2050dda42d2ccd3703c5b5aef69e92e348" +root = "0x1a08b8151973e77714f30c057a7866f3dc5437445ad6c69cf5815b7049775825" next_available_leaf_index = "0x00000000000000000000000000000000000000000000000000000000000003c0" [inputs.avm_proof_data.public_inputs.end_tree_snapshots.public_data_tree] -root = "0x138a1d54d99591da6618cf4fd0fde225b02bfbad1dec1c4af601158e755d0cc7" +root = "0x0b231ffe17241156674907b033c23fcbad6d95cf17bb0fe2f71795130580d3d6" 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 = [ - "0x1863cc67e6bb1910e59aa3c2daef77f8310f7def1b1cca6ba717d4d1cb88d3bc", + "0x1b179f5c60bd37897390e8d6a4748ce2d101ee76820d4b3918a855d7eb4ffd43", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000000", @@ -29768,16 +29768,16 @@ inner = "0x0000000000000000000000000000000000000000000000000000000000000000" ] [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x11a4ade85a883aee1748a087519f63398f3fb3f56dd58ba01a5b64c819096777" + leaf_slot = "0x2404b0c4b20b5d4af8d6eb060e68103d009deb28450776f9a8fbc3c9d39a904d" value = "0x0000000000000000000000000000000000000000000000000000000000001c20" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x145e5f0bb64f1c84c1ed210de7dbc424ff902099ce4cacc2cfed8c3638bb1de4" + leaf_slot = "0x036e901f114a75e275bb5b53726de3ba0bff6ff84fae76009eee3100ad2f189a" value = "0x0000000000000000000000000000000000000000000000000000000000000af0" [[inputs.avm_proof_data.public_inputs.accumulated_data.public_data_writes]] - leaf_slot = "0x09cd5bfd34eb88d33aaaad1d6d6fd128ce3fd0de25b2ebbbfdd523336cec01e4" - value = "0x00000000000000000000000000000000000000000000021e18f5cf55a47296e0" + leaf_slot = "0x0a57118ec3c1058e82c4fce76b5cef513f8ca9bcedf8967e91820b53d657fe7e" + value = "0x00000000000000000000000000000000000000000000021e18d27e845cb2f920" [[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 = "0x2a968b103a3818409a621ab8304947f1f9151310ad574c7edfa4806d85457211" + root = "0x2f86d01cef320f2de85bb4994a1d1c4e4086a3b01e0da0eaea5a3f583e517bc9" 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 a8b9f10b805a..0fcb2cfe56d7 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 = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -609,10 +609,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x06e29d77ab1e2e57ebd570f47ea56359c83598fce209d254739e52e8231186ff", - "0x06555756ee14a165051b4094cd086d8bbd0094e7c4975ad8953b775a59d3f8fc", - "0x174b3ae1c7c5bcd807bbf6975221b137581f4d11f619afd897c369cf718ab29f", - "0x2549bc317d25f28ff29438e3a2d5acce7261eb493b0480639810943fc08a2a72" + "0x14e76b29d1867930361a036f0fb7e710594bc4a34af9fa112df7975b635f98b4", + "0x008fd128bd2d6e0352ad02aec79bf213bca7bcba467529394d69025c29964ef8", + "0x1c3618d298277188a6399c6f8dfed6ef92a0cdaf513cefdf8b2370e0ab613d9e", + "0x11cb494306ad25f91283e42ef6178de2db6402763d22e0feac08ae98f35a0b79" ] 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 = [ - "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -634,94 +634,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003fbc16662469a690a82eeed0562f4035b2", - "0x000000000000000000000000000000000008f54f8a8ef61de79d05a62601ed64", - "0x000000000000000000000000000000dfb010fa2c43076ca30a041951c2b9bcb7", - "0x000000000000000000000000000000000020e5f02b05a122f44917fc0c1128ef", - "0x00000000000000000000000000000043146262dc9018fd48a737672ae0843910", - "0x0000000000000000000000000000000000093f00739351fb67c0c63cf5f3e278", - "0x0000000000000000000000000000007932904210916115193817f4da68710805", - "0x00000000000000000000000000000000001fe8624349d27f115d452bf4c89d84", - "0x000000000000000000000000000000d3bbd7255c861d7b0dfaf08cf0f8264c79", - "0x00000000000000000000000000000000001c58eeb1570ed99f6bc9051cec8dac", - "0x000000000000000000000000000000f7d31e0f1da188ab35a2deebfea558010d", - "0x00000000000000000000000000000000002722233797bb873de4f14f2af01fac", - "0x0000000000000000000000000000005dc49d7cb006fdd5029047120953272e10", - "0x0000000000000000000000000000000000294728ec7ff1db2f33d1a22ba1df3a", - "0x000000000000000000000000000000f2b723a4614cf72ac3bd0ba8c733d39fb7", - "0x00000000000000000000000000000000001d1bfc4b42525cc9db7d1624b430c5", - "0x00000000000000000000000000000070b11641dd66bfbd7e0ee0cd1c282001b9", - "0x00000000000000000000000000000000001073374f703f914dd782214d6a71aa", - "0x000000000000000000000000000000ad0079795c71e006a74ec751db140cda7b", - "0x00000000000000000000000000000000001e4cfddfe7a7a70704af95bd3887ab", - "0x000000000000000000000000000000f9b8542595cd0ded462fc60db46d677303", - "0x00000000000000000000000000000000002c20bf0a693f71f13332bfe0a9e2c1", - "0x000000000000000000000000000000b301a73660ce558a06908584fe9c826e7b", - "0x0000000000000000000000000000000000173301ea5c6f70c4a32068d4d93296", + "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", + "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", + "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", + "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", + "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", + "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", + "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", + "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", + "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", + "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", + "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", + "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", + "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", + "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", + "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", + "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", + "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", + "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", + "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", + "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", + "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", + "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", + "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", + "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x0000000000000000000000000000002e417c93b7d1c5b02b4e7144323978641c", - "0x000000000000000000000000000000000016456785a0ce15a4ce94c8652f4f29", - "0x000000000000000000000000000000d3e155b62eb3e9a1a4184c42f612003050", - "0x0000000000000000000000000000000000178c7aea42b5ed5be37f1f3c081a50", - "0x00000000000000000000000000000097c66fa2b7a2095918008ed009ff3e4d53", - "0x00000000000000000000000000000000000d36f590937ad915c62c97ef92db24", - "0x000000000000000000000000000000c78876954577cc16a4bd36c909d12c242c", - "0x00000000000000000000000000000000001abf2dbbfedee73ec49af5d5cf3d93", - "0x00000000000000000000000000000002906b936db6564d2c8cb755871fec9ba5", - "0x000000000000000000000000000000000009bdd2c28bb85f73db44d7f19764e8", - "0x0000000000000000000000000000005619aef7c105a6982d27ec420df50990dc", - "0x00000000000000000000000000000000001573e3ca5a8b066111d3c4b391f6ba", - "0x000000000000000000000000000000584f681479b8b7a8e818cd707cd1051a63", - "0x0000000000000000000000000000000000162e8876cb14a2fe6a5daec078cf9d", - "0x000000000000000000000000000000d019ff8c4dc54173d85777f03511d5c524", - "0x0000000000000000000000000000000000023745df1607470c15621ac1153c98", - "0x000000000000000000000000000000a8f84e218abee7173218d11b71bce4615e", - "0x00000000000000000000000000000000002de92e0199ac3222083130d4053995", - "0x000000000000000000000000000000a3de4637cbf3e9c052d857d9d1ea940554", - "0x00000000000000000000000000000000001b982ee6bdb00701bff1caa66e3704", - "0x000000000000000000000000000000b4587a5fbfa2dee7be4870e990f74c9979", - "0x000000000000000000000000000000000007200194316a77a9c2275a52c28fcc", - "0x0000000000000000000000000000009f042648de7d15f6234993deb0acb15fa3", - "0x0000000000000000000000000000000000003e76d37900f0ed06e688b3cb3a02", - "0x00000000000000000000000000000033d4a1e8d4090be3166b130411d074c69a", - "0x0000000000000000000000000000000000121f19653c45b5db5ee5b42d030e60", - "0x0000000000000000000000000000009ab49c0c77ef5a2231523523cf493b44e6", - "0x000000000000000000000000000000000004a4c181513deb62effaf2d9a2984b", - "0x00000000000000000000000000000084109d4ef4cc42832e161de71c1ad19efd", - "0x0000000000000000000000000000000000036358adba59a64d2671acc2c289f6", - "0x0000000000000000000000000000006b717dca9b34e6acd1073cdd82166b88f2", - "0x00000000000000000000000000000000000e3c19fbc16b1f444f5aab654c8193", - "0x000000000000000000000000000000646c7b49bec70237fbe881c6825afbb950", - "0x0000000000000000000000000000000000081ca71832f1c2424d65eafedcf2e8", - "0x000000000000000000000000000000637115a4eaba3ebbcccb15cb0d4afbb9c4", - "0x000000000000000000000000000000000027c2807ec961b649a0356c378aa662", - "0x0000000000000000000000000000004882c036291e0e5488104b0acacea2e855", - "0x0000000000000000000000000000000000253a42001329ed9a939faa44a2d872", - "0x000000000000000000000000000000e3333de06ba00789cf226303b320681e93", - "0x00000000000000000000000000000000000118000b42422a164dc36f1c9b9554", - "0x00000000000000000000000000000021763224f6c1ba8b36594571e5211b79cc", - "0x000000000000000000000000000000000002de8adb6b4c3ed17a3a929153d7d9", - "0x0000000000000000000000000000000de6844074cde92063d077e924b2beb9f5", - "0x00000000000000000000000000000000002c84f5fa8d1a69d17dd434151d8dfd", - "0x0000000000000000000000000000004f391e1929fa5731ee6fa8c6e565efd5a9", - "0x000000000000000000000000000000000023e9d34688324597f5a778d3b2f109", - "0x000000000000000000000000000000747bee89c9186428af38ab7563505a8c5b", - "0x000000000000000000000000000000000025799a05e2c7719f14476e8358e7b4", - "0x0000000000000000000000000000004da47862213660f5aa944d80454d820320", - "0x00000000000000000000000000000000000f6953b75619e0d7b1215fa2890877", - "0x0000000000000000000000000000006751ecc8103ec109833f7c55bdb8ee4454", - "0x000000000000000000000000000000000008811e2951fe1b5f0828bcee2d1910", - "0x000000000000000000000000000000a09fb5de4347998b12080c4a1e5908452a", - "0x0000000000000000000000000000000000248cab55cb89b59b1eb59578a4d136", - "0x00000000000000000000000000000083233ef1fea46f198c6887032b3cba7f15", - "0x000000000000000000000000000000000029d74bf2eeb5703bf75be730944027", - "0x0000000000000000000000000000006dad1befcf56a281395f6d5d72096a78b5", - "0x00000000000000000000000000000000002acf0ffb8723f8258298901efddddf", - "0x000000000000000000000000000000be9e378d8eb6d0a29771a783c5dabf0508", - "0x00000000000000000000000000000000002ac8995a1511a781a24a28a703b176", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -742,12 +742,12 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000002ed33f27053664af6c719cb4b410a039a9", - "0x000000000000000000000000000000000010e23560b297025255b2550ed429f9", - "0x000000000000000000000000000000a64164028d64310fdb9540282e2cd87fd6", - "0x000000000000000000000000000000000026d14a83fe401bc25c220e66d45075" + "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", + "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", + "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", + "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" ] - hash = "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613" + hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" [[inputs.previous_rollups]] proof = [ @@ -1279,8 +1279,8 @@ proof = [ accumulated_mana_used = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants] - vk_tree_root = "0x29e314ba0e28fedb7a164aa29b135723465cce28ca3a46534b13ebcefbf7851a" - protocol_contracts_hash = "0x02951c6ad2d3a8c25b97624c65815e166d6f9684dc45dd6095d172debb46a96b" + vk_tree_root = "0x0cc4a5acb4f6fbb67fb1b67beba7aa606a5f4ca19a9249d7890857ecf010bf69" + protocol_contracts_hash = "0x20d51df734ab80fe05027f3b0d1ae43f4ffdbb16feca4b0eda93581704c8c5ea" prover_id = "0x0000000000000000000000000000000000000000000000000000000000000000" [inputs.previous_rollups.public_inputs.constants.last_archive] @@ -1342,10 +1342,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7d1b34e" ] state = [ - "0x06e29d77ab1e2e57ebd570f47ea56359c83598fce209d254739e52e8231186ff", - "0x06555756ee14a165051b4094cd086d8bbd0094e7c4975ad8953b775a59d3f8fc", - "0x174b3ae1c7c5bcd807bbf6975221b137581f4d11f619afd897c369cf718ab29f", - "0x2549bc317d25f28ff29438e3a2d5acce7261eb493b0480639810943fc08a2a72" + "0x14e76b29d1867930361a036f0fb7e710594bc4a34af9fa112df7975b635f98b4", + "0x008fd128bd2d6e0352ad02aec79bf213bca7bcba467529394d69025c29964ef8", + "0x1c3618d298277188a6399c6f8dfed6ef92a0cdaf513cefdf8b2370e0ab613d9e", + "0x11cb494306ad25f91283e42ef6178de2db6402763d22e0feac08ae98f35a0b79" ] cache_size = "0x0000000000000000000000000000000000000000000000000000000000000002" squeeze_mode = false @@ -1360,10 +1360,10 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x00000000000000000000000000000000000000000000000000000000b7e5c350" ] state = [ - "0x00dc1706f332f8cf2595309c29996696f14441d251ee002c7fcbc60276c771a3", - "0x1299947ee3339a67f9aabed5227667dbc6e41ed9dad428f542773c4b988cf536", - "0x219ca9152a362c31c9c7fa2e9cd27dfebf71f3d0f80094e20a8db59df4ce978b", - "0x023a8457fefbdd45dc281fe5623d12af0c53842b58181b99cb05f04c640885db" + "0x09dd5448788a66dc8f5566151c29733cdbbe92225aa183dccb99881599fbef41", + "0x22700efe2bf96efa7aad2222062b8c67a687f75599eb8134a841111517edf396", + "0x062d6b9c481138729726ee1b9371103abe37faea66808d8b846a6a66b69d3297", + "0x208f2a229a996e11b7c12f02b87071d51ecf1b5910a93c9deb3f05a050bcaca0" ] 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 = [ - "0x177319c71afd6a92dcf46801c077d7c8e2498b7195884d93e069e8b060dcc222", - "0x1d1dd1f14d9fdac5f5b547d99bb107847188941a44f1e8b953f8d6a6413dfb89", - "0x0f321183f803f3be8b44df4248062e75b6ce5d026a273e8a34cd22c557eaa993", - "0x0aedfd0c114dea6dc88c65b1b58aff06c68db7c1c5b0e162ee5a2625fda572c0", - "0x15fb5e9034259ca1b690ef4d130d1f67445e079a6e3aedbd426489592ea74411", + "0x2373e7669fbc7bcd09e1d9442d492f72a2957674b7d4a03c5871f5aa74e65840", + "0x0553cd5d76340d6b06d57b71e1fc35cf7d9280bd75fd4f85af8ef351866c1380", + "0x1859b0d98425444f87702a4041e1b0c2683f1be13f6270080fc09962367610d5", + "0x03f8b6a4bf14bc3b43bd211cb0355a782bb3260833af7ff23924ade5664bfe72", + "0x17e9b9e3355fe3b816ec0929d1b68a9b29797affbbcd21dc6f2984154050d9f1", "0x1bcf8a2db489e63e99db50019af5d3dc3f9a1defc38840bdb030d16ea8f39ec4", "0x267b110097edb652a44602e21a39794bb362983ee57ee78cbfbb9e980ef44985" ] @@ -1385,94 +1385,94 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000017", "0x0000000000000000000000000000000000000000000000000000000000000042", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000003fbc16662469a690a82eeed0562f4035b2", - "0x000000000000000000000000000000000008f54f8a8ef61de79d05a62601ed64", - "0x000000000000000000000000000000dfb010fa2c43076ca30a041951c2b9bcb7", - "0x000000000000000000000000000000000020e5f02b05a122f44917fc0c1128ef", - "0x00000000000000000000000000000043146262dc9018fd48a737672ae0843910", - "0x0000000000000000000000000000000000093f00739351fb67c0c63cf5f3e278", - "0x0000000000000000000000000000007932904210916115193817f4da68710805", - "0x00000000000000000000000000000000001fe8624349d27f115d452bf4c89d84", - "0x000000000000000000000000000000d3bbd7255c861d7b0dfaf08cf0f8264c79", - "0x00000000000000000000000000000000001c58eeb1570ed99f6bc9051cec8dac", - "0x000000000000000000000000000000f7d31e0f1da188ab35a2deebfea558010d", - "0x00000000000000000000000000000000002722233797bb873de4f14f2af01fac", - "0x0000000000000000000000000000005dc49d7cb006fdd5029047120953272e10", - "0x0000000000000000000000000000000000294728ec7ff1db2f33d1a22ba1df3a", - "0x000000000000000000000000000000f2b723a4614cf72ac3bd0ba8c733d39fb7", - "0x00000000000000000000000000000000001d1bfc4b42525cc9db7d1624b430c5", - "0x00000000000000000000000000000070b11641dd66bfbd7e0ee0cd1c282001b9", - "0x00000000000000000000000000000000001073374f703f914dd782214d6a71aa", - "0x000000000000000000000000000000ad0079795c71e006a74ec751db140cda7b", - "0x00000000000000000000000000000000001e4cfddfe7a7a70704af95bd3887ab", - "0x000000000000000000000000000000f9b8542595cd0ded462fc60db46d677303", - "0x00000000000000000000000000000000002c20bf0a693f71f13332bfe0a9e2c1", - "0x000000000000000000000000000000b301a73660ce558a06908584fe9c826e7b", - "0x0000000000000000000000000000000000173301ea5c6f70c4a32068d4d93296", + "0x000000000000000000000000000000e635b183a7049d317ba0ce8a24158473e8", + "0x00000000000000000000000000000000000707ea4077379d0c07033adc7da44c", + "0x000000000000000000000000000000237daccceec6a6012b1044a4340b3d5866", + "0x000000000000000000000000000000000007ed7a550e9dbd8cec9504b2b92943", + "0x000000000000000000000000000000fd56a0ea5fa17c1ef3896c1494922e361d", + "0x00000000000000000000000000000000001806fbdb9d9ff49c28df8cd6ee4904", + "0x000000000000000000000000000000537cfe14d0b3e814015074555e9d8417b7", + "0x0000000000000000000000000000000000134b25320c5e0b610007caa480d6ee", + "0x000000000000000000000000000000161f25b791c33f5fca349534393d56615f", + "0x000000000000000000000000000000000002948fef85e9be45d37ba045c4d191", + "0x0000000000000000000000000000000075eac1940c4af727022b29b08184e0b2", + "0x00000000000000000000000000000000001aed8c1f73bc8d63d616ada9aad4eb", + "0x0000000000000000000000000000004593e9f5956c4da216f135527179a8619a", + "0x000000000000000000000000000000000007ec518eb1b9f077e8bc5244f0ccd6", + "0x0000000000000000000000000000000f12bb5c3a668a05a149a8c023f8ce03d5", + "0x00000000000000000000000000000000000aaf22c94bd7623d150d5978e7d536", + "0x000000000000000000000000000000151786ffa98a5cd0ce096127b67265cf34", + "0x00000000000000000000000000000000002aaebfad4dbac78dd38a8ac0b2f7ea", + "0x000000000000000000000000000000bb9190ddcc4efab593e6c8aed768538142", + "0x00000000000000000000000000000000000d73cfce8af2a843e915cb03b40191", + "0x000000000000000000000000000000fa32dec418b592ff0b0a6e0006d756681a", + "0x00000000000000000000000000000000001bc34ed7f18e1b6740521a52aac8ff", + "0x00000000000000000000000000000057de838be8edf80c9ca0788047e862e14f", + "0x00000000000000000000000000000000001d4573fc9d522ebb656954f5422ac9", "0x00000000000000000000000000000001fccf755f5b30a7d544b2f78ce075cb5d", "0x000000000000000000000000000000000026f5423942948047e155a519b195e8", "0x000000000000000000000000000000a9efc76daffb8dfe2a39570b2d5d046767", "0x000000000000000000000000000000000026e7dd89fe96952a4603c2b5555538", - "0x0000000000000000000000000000002e417c93b7d1c5b02b4e7144323978641c", - "0x000000000000000000000000000000000016456785a0ce15a4ce94c8652f4f29", - "0x000000000000000000000000000000d3e155b62eb3e9a1a4184c42f612003050", - "0x0000000000000000000000000000000000178c7aea42b5ed5be37f1f3c081a50", - "0x00000000000000000000000000000097c66fa2b7a2095918008ed009ff3e4d53", - "0x00000000000000000000000000000000000d36f590937ad915c62c97ef92db24", - "0x000000000000000000000000000000c78876954577cc16a4bd36c909d12c242c", - "0x00000000000000000000000000000000001abf2dbbfedee73ec49af5d5cf3d93", - "0x00000000000000000000000000000002906b936db6564d2c8cb755871fec9ba5", - "0x000000000000000000000000000000000009bdd2c28bb85f73db44d7f19764e8", - "0x0000000000000000000000000000005619aef7c105a6982d27ec420df50990dc", - "0x00000000000000000000000000000000001573e3ca5a8b066111d3c4b391f6ba", - "0x000000000000000000000000000000584f681479b8b7a8e818cd707cd1051a63", - "0x0000000000000000000000000000000000162e8876cb14a2fe6a5daec078cf9d", - "0x000000000000000000000000000000d019ff8c4dc54173d85777f03511d5c524", - "0x0000000000000000000000000000000000023745df1607470c15621ac1153c98", - "0x000000000000000000000000000000a8f84e218abee7173218d11b71bce4615e", - "0x00000000000000000000000000000000002de92e0199ac3222083130d4053995", - "0x000000000000000000000000000000a3de4637cbf3e9c052d857d9d1ea940554", - "0x00000000000000000000000000000000001b982ee6bdb00701bff1caa66e3704", - "0x000000000000000000000000000000b4587a5fbfa2dee7be4870e990f74c9979", - "0x000000000000000000000000000000000007200194316a77a9c2275a52c28fcc", - "0x0000000000000000000000000000009f042648de7d15f6234993deb0acb15fa3", - "0x0000000000000000000000000000000000003e76d37900f0ed06e688b3cb3a02", - "0x00000000000000000000000000000033d4a1e8d4090be3166b130411d074c69a", - "0x0000000000000000000000000000000000121f19653c45b5db5ee5b42d030e60", - "0x0000000000000000000000000000009ab49c0c77ef5a2231523523cf493b44e6", - "0x000000000000000000000000000000000004a4c181513deb62effaf2d9a2984b", - "0x00000000000000000000000000000084109d4ef4cc42832e161de71c1ad19efd", - "0x0000000000000000000000000000000000036358adba59a64d2671acc2c289f6", - "0x0000000000000000000000000000006b717dca9b34e6acd1073cdd82166b88f2", - "0x00000000000000000000000000000000000e3c19fbc16b1f444f5aab654c8193", - "0x000000000000000000000000000000646c7b49bec70237fbe881c6825afbb950", - "0x0000000000000000000000000000000000081ca71832f1c2424d65eafedcf2e8", - "0x000000000000000000000000000000637115a4eaba3ebbcccb15cb0d4afbb9c4", - "0x000000000000000000000000000000000027c2807ec961b649a0356c378aa662", - "0x0000000000000000000000000000004882c036291e0e5488104b0acacea2e855", - "0x0000000000000000000000000000000000253a42001329ed9a939faa44a2d872", - "0x000000000000000000000000000000e3333de06ba00789cf226303b320681e93", - "0x00000000000000000000000000000000000118000b42422a164dc36f1c9b9554", - "0x00000000000000000000000000000021763224f6c1ba8b36594571e5211b79cc", - "0x000000000000000000000000000000000002de8adb6b4c3ed17a3a929153d7d9", - "0x0000000000000000000000000000000de6844074cde92063d077e924b2beb9f5", - "0x00000000000000000000000000000000002c84f5fa8d1a69d17dd434151d8dfd", - "0x0000000000000000000000000000004f391e1929fa5731ee6fa8c6e565efd5a9", - "0x000000000000000000000000000000000023e9d34688324597f5a778d3b2f109", - "0x000000000000000000000000000000747bee89c9186428af38ab7563505a8c5b", - "0x000000000000000000000000000000000025799a05e2c7719f14476e8358e7b4", - "0x0000000000000000000000000000004da47862213660f5aa944d80454d820320", - "0x00000000000000000000000000000000000f6953b75619e0d7b1215fa2890877", - "0x0000000000000000000000000000006751ecc8103ec109833f7c55bdb8ee4454", - "0x000000000000000000000000000000000008811e2951fe1b5f0828bcee2d1910", - "0x000000000000000000000000000000a09fb5de4347998b12080c4a1e5908452a", - "0x0000000000000000000000000000000000248cab55cb89b59b1eb59578a4d136", - "0x00000000000000000000000000000083233ef1fea46f198c6887032b3cba7f15", - "0x000000000000000000000000000000000029d74bf2eeb5703bf75be730944027", - "0x0000000000000000000000000000006dad1befcf56a281395f6d5d72096a78b5", - "0x00000000000000000000000000000000002acf0ffb8723f8258298901efddddf", - "0x000000000000000000000000000000be9e378d8eb6d0a29771a783c5dabf0508", - "0x00000000000000000000000000000000002ac8995a1511a781a24a28a703b176", + "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", "0x0000000000000000000000000000006363c23486d6a7a313beac4e2d9611968a", "0x0000000000000000000000000000000000085acee4523161ab1e268a4f0c1b0f", "0x000000000000000000000000000000b250d5a528a555d96d498fc9af4f8cc5c2", @@ -1493,9 +1493,9 @@ next_available_leaf_index = "0x0000000000000000000000000000000000000000000000000 "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000002ed33f27053664af6c719cb4b410a039a9", - "0x000000000000000000000000000000000010e23560b297025255b2550ed429f9", - "0x000000000000000000000000000000a64164028d64310fdb9540282e2cd87fd6", - "0x000000000000000000000000000000000026d14a83fe401bc25c220e66d45075" + "0x000000000000000000000000000000e190f4bd31b124f5e84cafbe21fd228827", + "0x00000000000000000000000000000000000a07c8f0e74c1ef4679aadb0465545", + "0x000000000000000000000000000000aedf9b15db748037047688efe3201a4151", + "0x00000000000000000000000000000000002816e67cc64a30639adf642cc1d2cd" ] - hash = "0x2d87e121f22b67aca4f2251969eeff47711eca70fe2c7376d884e13935034613" + hash = "0x03049057a877c5038b38ed3975a1d092942e77b4df6dce33502bfdbc7c65fa7f" diff --git a/noir-projects/noir-protocol-circuits/crates/ts-types/src/main.nr b/noir-projects/noir-protocol-circuits/crates/ts-types/src/main.nr index 9aee955db09f..0a1e8d8f6f03 100644 --- a/noir-projects/noir-protocol-circuits/crates/ts-types/src/main.nr +++ b/noir-projects/noir-protocol-circuits/crates/ts-types/src/main.nr @@ -4,7 +4,7 @@ use types::{ note_hash_leaf_preimage::NoteHashLeafPreimage, nullifier::Nullifier, nullifier_leaf_preimage::NullifierLeafPreimage, private_call_request::PrivateCallRequest, private_log::PrivateLogData, public_call_request::PublicCallRequest, - validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator, + validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator, }, messaging::l2_to_l1_message::L2ToL1Message, side_effect::Counted, @@ -18,7 +18,7 @@ fn main( _log_hash: LogHash, _private_call_request: PrivateCallRequest, _public_call_request: PublicCallRequest, - _key_validation_request: KeyValidationRequestAndGenerator, + _key_validation_request: KeyValidationRequestAndSeparator, _note_hash_leaf_preimage: NoteHashLeafPreimage, _nullifier_leaf_preimage: NullifierLeafPreimage, _l2_to_l1_message: L2ToL1Message, diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr index 7e4d68e5259b..1c369f64ca56 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/private_circuit_public_inputs.nr @@ -3,7 +3,7 @@ use crate::{ block_header::BlockHeader, call_context::CallContext, log_hash::LogHash, note_hash::NoteHash, nullifier::Nullifier, private_call_request::PrivateCallRequest, private_log::PrivateLogData, public_call_request::PublicCallRequest, - transaction::tx_context::TxContext, validation_requests::KeyValidationRequestAndGenerator, + transaction::tx_context::TxContext, validation_requests::KeyValidationRequestAndSeparator, }, constants::{ MAX_CONTRACT_CLASS_LOGS_PER_CALL, MAX_ENQUEUED_CALLS_PER_CALL, @@ -79,7 +79,7 @@ pub struct PrivateCircuitPublicInputs { // Note: the `Scoped` contract address is not necessarily that of this function: contracts can read other contracts' state. pub nullifier_read_requests: ClaimedLengthArray>, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>, // Requests for the kernel circuit to validate the keys being used in this function call. - pub key_validation_requests_and_generators: ClaimedLengthArray, + pub key_validation_requests_and_separators: ClaimedLengthArray, /////////////////////////////////// // Call Requests @@ -118,7 +118,7 @@ impl Empty for PrivateCircuitPublicInputs { expiration_timestamp: 0, note_hash_read_requests: ClaimedLengthArray::empty(), nullifier_read_requests: ClaimedLengthArray::empty(), - key_validation_requests_and_generators: ClaimedLengthArray::empty(), + key_validation_requests_and_separators: ClaimedLengthArray::empty(), note_hashes: ClaimedLengthArray::empty(), nullifiers: ClaimedLengthArray::empty(), private_call_requests: ClaimedLengthArray::empty(), diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr similarity index 63% rename from noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr rename to noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr index 99288888229f..55cdaa6a4b1e 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_generator.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/key_validation_request_and_separator.nr @@ -7,22 +7,22 @@ use crate::{ use std::meta::derive; #[derive(Deserialize, Eq, Serialize)] -pub struct KeyValidationRequestAndGenerator { +pub struct KeyValidationRequestAndSeparator { pub request: KeyValidationRequest, - pub sk_app_generator: Field, + pub key_type_domain_separator: Field, } -impl Empty for KeyValidationRequestAndGenerator { +impl Empty for KeyValidationRequestAndSeparator { fn empty() -> Self { - KeyValidationRequestAndGenerator { + KeyValidationRequestAndSeparator { request: KeyValidationRequest::empty(), - sk_app_generator: 0, + key_type_domain_separator: 0, } } } -impl KeyValidationRequestAndGenerator { - pub fn scope(self, contract_address: AztecAddress) -> Scoped { +impl KeyValidationRequestAndSeparator { + pub fn scope(self, contract_address: AztecAddress) -> Scoped { Scoped::new(self, contract_address) } } @@ -31,7 +31,7 @@ mod test { use crate::{ abis::validation_requests::{ key_validation_request::KeyValidationRequest, - key_validation_request_and_generator::KeyValidationRequestAndGenerator, + key_validation_request_and_separator::KeyValidationRequestAndSeparator, }, constants::KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH, point::Point, @@ -39,14 +39,14 @@ mod test { }; #[test] - fn serialization_of_key_validation_request_and_generator() { - let non_empty_item = KeyValidationRequestAndGenerator { + fn serialization_of_key_validation_request_and_separator() { + let non_empty_item = KeyValidationRequestAndSeparator { request: KeyValidationRequest { pk_m: Point::deserialize([123, 456, 0]), sk_app: 789 }, - sk_app_generator: 789, + key_type_domain_separator: 789, }; let serialized: [Field; KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH] = non_empty_item.serialize(); - let deserialized = KeyValidationRequestAndGenerator::deserialize(serialized); + let deserialized = KeyValidationRequestAndSeparator::deserialize(serialized); assert_eq(non_empty_item, deserialized); } } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/mod.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/mod.nr index 99cdfb290028..170f1bf3a7ba 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/mod.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/mod.nr @@ -1,7 +1,7 @@ pub mod key_validation_request; -pub mod key_validation_request_and_generator; +pub mod key_validation_request_and_separator; pub mod private_validation_requests; pub use key_validation_request::KeyValidationRequest; -pub use key_validation_request_and_generator::KeyValidationRequestAndGenerator; +pub use key_validation_request_and_separator::KeyValidationRequestAndSeparator; pub use private_validation_requests::PrivateValidationRequests; diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/private_validation_requests.nr b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/private_validation_requests.nr index 764b14ce8e7f..0a0bde603071 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/private_validation_requests.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/abis/validation_requests/private_validation_requests.nr @@ -1,5 +1,5 @@ use crate::{ - abis::validation_requests::key_validation_request_and_generator::KeyValidationRequestAndGenerator, + abis::validation_requests::key_validation_request_and_separator::KeyValidationRequestAndSeparator, constants::{ MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX, @@ -14,7 +14,7 @@ use std::meta::derive; pub struct PrivateValidationRequests { pub note_hash_read_requests: ClaimedLengthArray>, MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, pub nullifier_read_requests: ClaimedLengthArray>, MAX_NULLIFIER_READ_REQUESTS_PER_TX>, - pub scoped_key_validation_requests_and_generators: ClaimedLengthArray, MAX_KEY_VALIDATION_REQUESTS_PER_TX>, + pub scoped_key_validation_requests_and_separators: ClaimedLengthArray, MAX_KEY_VALIDATION_REQUESTS_PER_TX>, } impl Empty for PrivateValidationRequests { @@ -22,7 +22,7 @@ impl Empty for PrivateValidationRequests { PrivateValidationRequests { note_hash_read_requests: ClaimedLengthArray::empty(), nullifier_read_requests: ClaimedLengthArray::empty(), - scoped_key_validation_requests_and_generators: ClaimedLengthArray::empty(), + scoped_key_validation_requests_and_separators: ClaimedLengthArray::empty(), } } } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr b/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr index beefe53a7ea6..bdaca9ae4dd9 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr @@ -156,11 +156,11 @@ pub fn compute_contract_class_log_hash(log: [Field; CONTRACT_CLASS_LOG_SIZE_IN_F pub fn compute_app_siloed_secret_key( master_secret_key: EmbeddedCurveScalar, app_address: AztecAddress, - app_secret_key_domain_separator: Field, + key_type_domain_separator: Field, ) -> Field { poseidon2_hash_with_separator( [master_secret_key.hi, master_secret_key.lo, app_address.to_field()], - app_secret_key_domain_separator, + key_type_domain_separator, ) } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr index fd8578367a79..3e6db08a26d8 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/tests/fixture_builder.nr @@ -39,7 +39,7 @@ use crate::{ tree_snapshots::TreeSnapshots, tx_constant_data::TxConstantData, validation_requests::{ - KeyValidationRequest, KeyValidationRequestAndGenerator, PrivateValidationRequests, + KeyValidationRequest, KeyValidationRequestAndSeparator, PrivateValidationRequests, }, }, address::{AztecAddress, EthAddress, SaltedInitializationHash}, @@ -140,7 +140,7 @@ pub struct FixtureBuilder { // Validation requests. pub note_hash_read_requests: BoundedVec>, MAX_NOTE_HASH_READ_REQUESTS_PER_TX>, pub nullifier_read_requests: BoundedVec>, MAX_NULLIFIER_READ_REQUESTS_PER_TX>, - pub scoped_key_validation_requests_and_generators: BoundedVec, MAX_KEY_VALIDATION_REQUESTS_PER_TX>, + pub scoped_key_validation_requests_and_separators: BoundedVec, MAX_KEY_VALIDATION_REQUESTS_PER_TX>, // Function. pub function_data: FunctionData, @@ -379,12 +379,12 @@ impl FixtureBuilder { array: subarray(self.nullifier_read_requests.storage(), 0), length: self.nullifier_read_requests.len(), }, - key_validation_requests_and_generators: ClaimedLengthArray { + key_validation_requests_and_separators: ClaimedLengthArray { array: subarray( - self.scoped_key_validation_requests_and_generators.storage().map(|r| r.inner), + self.scoped_key_validation_requests_and_separators.storage().map(|r| r.inner), 0, ), - length: self.scoped_key_validation_requests_and_generators.len(), + length: self.scoped_key_validation_requests_and_separators.len(), }, note_hashes: ClaimedLengthArray { array: subarray(self.note_hashes.storage().map(|n| n.inner), 0), @@ -596,8 +596,8 @@ impl FixtureBuilder { nullifier_read_requests: claimed_length_array_from_bounded_vec( self.nullifier_read_requests, ), - scoped_key_validation_requests_and_generators: claimed_length_array_from_bounded_vec( - self.scoped_key_validation_requests_and_generators, + scoped_key_validation_requests_and_separators: claimed_length_array_from_bounded_vec( + self.scoped_key_validation_requests_and_separators, ), } } @@ -967,23 +967,24 @@ impl FixtureBuilder { &mut self, pk_m: Point, sk_app: Field, - sk_app_generator: Field, + key_type_domain_separator: Field, ) { let request = KeyValidationRequest { pk_m, sk_app }; - let request_and_generator = KeyValidationRequestAndGenerator { request, sk_app_generator }; + let request_and_separator = + KeyValidationRequestAndSeparator { request, key_type_domain_separator }; let scoped_key_validation_request_and_generator = - request_and_generator.scope(self.contract_address); - self.scoped_key_validation_requests_and_generators.push( + request_and_separator.scope(self.contract_address); + self.scoped_key_validation_requests_and_separators.push( scoped_key_validation_request_and_generator, ); } pub fn append_key_validation_requests(&mut self, num_requests: u32) { - let index_offset = self.scoped_key_validation_requests_and_generators.len(); - for i in 0..self.scoped_key_validation_requests_and_generators.max_len() { + let index_offset = self.scoped_key_validation_requests_and_separators.len(); + for i in 0..self.scoped_key_validation_requests_and_separators.max_len() { if i < num_requests { let request = self.mock_key_validation_request(index_offset + i); - self.scoped_key_validation_requests_and_generators.push(request.scope( + self.scoped_key_validation_requests_and_separators.push(request.scope( self.contract_address, )); } @@ -1255,13 +1256,13 @@ impl FixtureBuilder { 22334 + self.value_offset + index as Field } - fn mock_key_validation_request(self, index: u32) -> KeyValidationRequestAndGenerator { + fn mock_key_validation_request(self, index: u32) -> KeyValidationRequestAndSeparator { let value_offset = 3030 + self.value_offset + index as Field; let request = KeyValidationRequest { pk_m: Point { x: value_offset, y: 1 + value_offset, is_infinite: false }, sk_app: 2 + value_offset, }; - KeyValidationRequestAndGenerator { request, sk_app_generator: 3 + value_offset } + KeyValidationRequestAndSeparator { request, key_type_domain_separator: 3 + value_offset } } fn mock_public_data_write(self, index: u32) -> (Field, Field) { diff --git a/yarn-project/constants/src/constants.gen.ts b/yarn-project/constants/src/constants.gen.ts index 9e4657b59aba..7942cbd204f7 100644 --- a/yarn-project/constants/src/constants.gen.ts +++ b/yarn-project/constants/src/constants.gen.ts @@ -500,7 +500,7 @@ export const UPDATES_DELAYED_PUBLIC_MUTABLE_METADATA_BIT_SIZE = 144; export const GRUMPKIN_ONE_X = 1; export const GRUMPKIN_ONE_Y = 17631683881184975370165255887551781615748388533673675138860n; export const DEFAULT_MAX_DEBUG_LOG_MEMORY_READS = 125000; -export enum GeneratorIndex { +export enum DomainSeparator { NOTE_HASH = 116501019, NOTE_HASH_NONCE = 1721808740, UNIQUE_NOTE_HASH = 226850429, @@ -540,4 +540,4 @@ export enum GeneratorIndex { SECRET_HASH = 4199652938, TX_NULLIFIER = 1025801951, SIGNATURE_PAYLOAD = 463525807, -} +} \ No newline at end of file diff --git a/yarn-project/constants/src/scripts/constants.in.ts b/yarn-project/constants/src/scripts/constants.in.ts index f6f5711e000e..c43076c728a8 100644 --- a/yarn-project/constants/src/scripts/constants.in.ts +++ b/yarn-project/constants/src/scripts/constants.in.ts @@ -343,9 +343,9 @@ interface ParsedContent { */ constants: { [key: string]: string }; /** - * GeneratorIndexEnum. + * DomainSeparatorEnum. */ - generatorIndexEnum: { [key: string]: number }; + domainSeparatorEnum: { [key: string]: number }; } /** @@ -459,11 +459,11 @@ function processConstantsSolidity(constants: { [key: string]: string }, prefix = /** * Generate the constants file in Typescript. */ -function generateTypescriptConstants({ constants, generatorIndexEnum }: ParsedContent, targetPath: string) { +function generateTypescriptConstants({ constants, domainSeparatorEnum }: ParsedContent, targetPath: string) { const result = [ '// GENERATED FILE - DO NOT EDIT, RUN yarn remake-constants', processConstantsTS(constants), - processEnumTS('GeneratorIndex', generatorIndexEnum), + processEnumTS('DomainSeparator', domainSeparatorEnum), ].join('\n'); fs.writeFileSync(targetPath, result); @@ -472,11 +472,11 @@ function generateTypescriptConstants({ constants, generatorIndexEnum }: ParsedCo /** * Generate the constants file in C++. */ -function generateCppConstants({ constants, generatorIndexEnum }: ParsedContent, targetPath: string) { +function generateCppConstants({ constants, domainSeparatorEnum }: ParsedContent, targetPath: string) { const resultCpp: string = `// GENERATED FILE - DO NOT EDIT, RUN yarn remake-constants in yarn-project/constants #pragma once -${processConstantsCpp(constants, generatorIndexEnum)} +${processConstantsCpp(constants, domainSeparatorEnum)} `; fs.writeFileSync(targetPath, resultCpp); @@ -485,10 +485,10 @@ ${processConstantsCpp(constants, generatorIndexEnum)} /** * Generate the constants file in PIL. */ -function generatePilConstants({ constants, generatorIndexEnum }: ParsedContent, targetPath: string) { +function generatePilConstants({ constants, domainSeparatorEnum }: ParsedContent, targetPath: string) { const resultPil: string = `// GENERATED FILE - DO NOT EDIT, RUN yarn remake-constants in yarn-project/constants namespace constants; -${processConstantsPil(constants, generatorIndexEnum)} +${processConstantsPil(constants, domainSeparatorEnum)} \n`; fs.writeFileSync(targetPath, resultPil); @@ -524,7 +524,7 @@ ${processConstantsSolidity(constants)} */ function parseNoirFile(fileContent: string): ParsedContent { const constantsExpressions: [string, string][] = []; - const generatorIndexEnum: { [key: string]: number } = {}; + const domainSeparatorEnum: { [key: string]: number } = {}; const emptyExpression = (): { name: string; content: string[] } => ({ name: '', content: [] }); let expression = emptyExpression(); @@ -547,7 +547,7 @@ function parseNoirFile(fileContent: string): ParsedContent { const [, indexName] = name.match(/DOM_SEP__(\w+)/) || []; if (indexName) { // Generator index. - generatorIndexEnum[indexName] = +value; + domainSeparatorEnum[indexName] = +value; } else if (end) { // A single line of expression. constantsExpressions.push([name, value]); @@ -583,7 +583,7 @@ function parseNoirFile(fileContent: string): ParsedContent { const constants = evaluateExpressions(constantsExpressions); - return { constants, generatorIndexEnum }; + return { constants, domainSeparatorEnum }; } /** diff --git a/yarn-project/end-to-end/src/e2e_keys.test.ts b/yarn-project/end-to-end/src/e2e_keys.test.ts index f25c7db617ba..82ecf79ca366 100644 --- a/yarn-project/end-to-end/src/e2e_keys.test.ts +++ b/yarn-project/end-to-end/src/e2e_keys.test.ts @@ -3,7 +3,7 @@ import type { AztecAddress } from '@aztec/aztec.js/addresses'; import { Fr } from '@aztec/aztec.js/fields'; import type { AztecNode } from '@aztec/aztec.js/node'; import type { Wallet } from '@aztec/aztec.js/wallet'; -import { GeneratorIndex, INITIAL_L2_BLOCK_NUM } from '@aztec/constants'; +import { DomainSeparator, INITIAL_L2_BLOCK_NUM } from '@aztec/constants'; import { BlockNumber } from '@aztec/foundation/branded-types'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { TestContract } from '@aztec/noir-test-contracts.js/Test'; @@ -101,7 +101,7 @@ describe('Keys', () => { // 3. Derive all the possible nullifiers using nhkApp const derivedNullifiers = await Promise.all( noteHashes.map(async noteHash => { - const innerNullifier = await poseidon2HashWithSeparator([noteHash, nhkApp], GeneratorIndex.NOTE_NULLIFIER); + const innerNullifier = await poseidon2HashWithSeparator([noteHash, nhkApp], DomainSeparator.NOTE_NULLIFIER); return siloNullifier(contractAddress, innerNullifier); }), ); diff --git a/yarn-project/entrypoints/src/encoding.ts b/yarn-project/entrypoints/src/encoding.ts index cd5fc8071a77..9e1292ceb0fd 100644 --- a/yarn-project/entrypoints/src/encoding.ts +++ b/yarn-project/entrypoints/src/encoding.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { padArrayEnd } from '@aztec/foundation/collection'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; @@ -47,7 +47,7 @@ export class EncodedAppEntrypointCalls implements EncodedCalls { /** The hashed args for the call, ready to be injected in the execution cache */ public hashedArguments: HashedValues[], /** The index of the generator to use for hashing */ - public generatorIndex: number, + public domainSeparator: number, /** * A nonce to inject into the payload of the transaction. When used with cancellable=true, this nonce will be * used to compute a nullifier that allows cancelling this transaction by submitting a new one with the same nonce @@ -80,7 +80,7 @@ export class EncodedAppEntrypointCalls implements EncodedCalls { * @returns The hash of the payload */ hash() { - return poseidon2HashWithSeparator(this.toFields(), this.generatorIndex); + return poseidon2HashWithSeparator(this.toFields(), this.domainSeparator); } /** Serializes the function calls to an array of fields. */ @@ -114,7 +114,7 @@ export class EncodedAppEntrypointCalls implements EncodedCalls { return new EncodedAppEntrypointCalls( encoded.encodedFunctionCalls, encoded.hashedArguments, - GeneratorIndex.SIGNATURE_PAYLOAD, + DomainSeparator.SIGNATURE_PAYLOAD, txNonce, ); } diff --git a/yarn-project/key-store/src/key_store.ts b/yarn-project/key-store/src/key_store.ts index 7ca08bad8120..73016fc43a5f 100644 --- a/yarn-project/key-store/src/key_store.ts +++ b/yarn-project/key-store/src/key_store.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; import { GrumpkinScalar, Point } from '@aztec/foundation/curves/grumpkin'; @@ -254,7 +254,7 @@ export class KeyStore { return poseidon2HashWithSeparator( [masterOutgoingViewingSecretKey.hi, masterOutgoingViewingSecretKey.lo, app], - GeneratorIndex.OVSK_M, + DomainSeparator.OVSK_M, ); } diff --git a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts index d6918104d6cd..4e403b9f496d 100644 --- a/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts +++ b/yarn-project/noir-protocol-circuits-types/src/conversion/client.ts @@ -5,7 +5,7 @@ import { CountedPublicCallRequest, KeyValidationHint, KeyValidationRequest, - KeyValidationRequestAndGenerator, + KeyValidationRequestAndSeparator, NoteHash, Nullifier, PaddedSideEffectAmounts, @@ -27,7 +27,7 @@ import { ReadRequest, ReadRequestAction, ReadRequestResetHints, - ScopedKeyValidationRequestAndGenerator, + ScopedKeyValidationRequestAndSeparator, ScopedNoteHash, ScopedNullifier, ScopedPrivateLogData, @@ -44,7 +44,7 @@ import type { FixedLengthArray, FunctionData as FunctionDataNoir, KeyValidationHint as KeyValidationHintNoir, - KeyValidationRequestAndGenerator as KeyValidationRequestAndGeneratorNoir, + KeyValidationRequestAndSeparator as KeyValidationRequestAndSeparatorNoir, KeyValidationRequest as KeyValidationRequestsNoir, Field as NoirField, NoteHashLeafPreimage as NoteHashLeafPreimageNoir, @@ -265,12 +265,12 @@ export function mapKeyValidationRequestToNoir(request: KeyValidationRequest): Ke }; } -export function mapKeyValidationRequestAndGeneratorToNoir( - request: KeyValidationRequestAndGenerator, -): KeyValidationRequestAndGeneratorNoir { +export function mapKeyValidationRequestAndSeparatorToNoir( + request: KeyValidationRequestAndSeparator, +): KeyValidationRequestAndSeparatorNoir { return { request: mapKeyValidationRequestToNoir(request.request), - sk_app_generator: mapFieldToNoir(request.skAppGenerator), + key_type_domain_separator: mapFieldToNoir(request.keyTypeDomainSeparator), }; } @@ -283,29 +283,29 @@ function mapKeyValidationRequestFromNoir(request: KeyValidationRequestsNoir): Ke return new KeyValidationRequest(mapPointFromNoir(request.pk_m), mapFieldFromNoir(request.sk_app)); } -function mapKeyValidationRequestAndGeneratorFromNoir( - request: KeyValidationRequestAndGeneratorNoir, -): KeyValidationRequestAndGenerator { - return new KeyValidationRequestAndGenerator( +function mapKeyValidationRequestAndSeparatorFromNoir( + request: KeyValidationRequestAndSeparatorNoir, +): KeyValidationRequestAndSeparator { + return new KeyValidationRequestAndSeparator( mapKeyValidationRequestFromNoir(request.request), - mapFieldFromNoir(request.sk_app_generator), + mapFieldFromNoir(request.key_type_domain_separator), ); } -function mapScopedKeyValidationRequestAndGeneratorToNoir( - request: ScopedKeyValidationRequestAndGenerator, -): Scoped { +function mapScopedKeyValidationRequestAndSeparatorToNoir( + request: ScopedKeyValidationRequestAndSeparator, +): Scoped { return { - inner: mapKeyValidationRequestAndGeneratorToNoir(request.request), + inner: mapKeyValidationRequestAndSeparatorToNoir(request.request), contract_address: mapAztecAddressToNoir(request.contractAddress), }; } -function mapScopedKeyValidationRequestAndGeneratorFromNoir( - request: Scoped, -): ScopedKeyValidationRequestAndGenerator { - return new ScopedKeyValidationRequestAndGenerator( - mapKeyValidationRequestAndGeneratorFromNoir(request.inner), +function mapScopedKeyValidationRequestAndSeparatorFromNoir( + request: Scoped, +): ScopedKeyValidationRequestAndSeparator { + return new ScopedKeyValidationRequestAndSeparator( + mapKeyValidationRequestAndSeparatorFromNoir(request.inner), mapAztecAddressFromNoir(request.contract_address), ); } @@ -373,9 +373,9 @@ function mapPrivateValidationRequestsToNoir(requests: PrivateValidationRequests) return { note_hash_read_requests: mapClaimedLengthArrayToNoir(requests.noteHashReadRequests, mapScopedReadRequestToNoir), nullifier_read_requests: mapClaimedLengthArrayToNoir(requests.nullifierReadRequests, mapScopedReadRequestToNoir), - scoped_key_validation_requests_and_generators: mapClaimedLengthArrayToNoir( - requests.scopedKeyValidationRequestsAndGenerators, - mapScopedKeyValidationRequestAndGeneratorToNoir, + scoped_key_validation_requests_and_separators: mapClaimedLengthArrayToNoir( + requests.scopedKeyValidationRequestsAndSeparators, + mapScopedKeyValidationRequestAndSeparatorToNoir, ), }; } @@ -385,8 +385,8 @@ function mapPrivateValidationRequestsFromNoir(requests: PrivateValidationRequest mapClaimedLengthArrayFromNoir(requests.note_hash_read_requests, mapScopedReadRequestFromNoir), mapClaimedLengthArrayFromNoir(requests.nullifier_read_requests, mapScopedReadRequestFromNoir), mapClaimedLengthArrayFromNoir( - requests.scoped_key_validation_requests_and_generators, - mapScopedKeyValidationRequestAndGeneratorFromNoir, + requests.scoped_key_validation_requests_and_separators, + mapScopedKeyValidationRequestAndSeparatorFromNoir, ), ); } @@ -440,9 +440,9 @@ export function mapPrivateCircuitPublicInputsToNoir( privateCircuitPublicInputs.nullifierReadRequests, mapScopedReadRequestToNoir, ), - key_validation_requests_and_generators: mapClaimedLengthArrayToNoir( - privateCircuitPublicInputs.keyValidationRequestsAndGenerators, - mapKeyValidationRequestAndGeneratorToNoir, + key_validation_requests_and_separators: mapClaimedLengthArrayToNoir( + privateCircuitPublicInputs.keyValidationRequestsAndSeparators, + mapKeyValidationRequestAndSeparatorToNoir, ), note_hashes: mapClaimedLengthArrayToNoir(privateCircuitPublicInputs.noteHashes, mapNoteHashToNoir), nullifiers: mapClaimedLengthArrayToNoir(privateCircuitPublicInputs.nullifiers, mapNullifierToNoir), diff --git a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts index f92ee7fdc9c2..02e5f378c460 100644 --- a/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts +++ b/yarn-project/pxe/src/contract_function_simulator/oracle/private_execution.test.ts @@ -1,5 +1,5 @@ import { - GeneratorIndex, + DomainSeparator, L1_TO_L2_MSG_TREE_HEIGHT, NOTE_HASH_TREE_HEIGHT, NULL_MSG_SENDER_CONTRACT_ADDRESS, @@ -276,7 +276,7 @@ describe('Private Execution test suite', () => { // We're assuming here that the note hash function is the default one injected by the #[note] macro. return poseidon2HashWithSeparator( [...note.items, owner.toField(), storageSlot, randomness], - GeneratorIndex.NOTE_HASH, + DomainSeparator.NOTE_HASH, ); }; @@ -1162,7 +1162,7 @@ describe('Private Execution test suite', () => { const nullifier = result.publicInputs.nullifiers.array[0]; const expectedNullifier = await poseidon2HashWithSeparator( [derivedNoteHash, await computeAppNullifierHidingKey(ownerNhkM, contractAddress)], - GeneratorIndex.NOTE_NULLIFIER, + DomainSeparator.NOTE_NULLIFIER, ); expect(nullifier.value).toEqual(expectedNullifier); }); @@ -1229,7 +1229,7 @@ describe('Private Execution test suite', () => { const nullifier = execGetThenNullify.publicInputs.nullifiers.array[0]; const expectedNullifier = await poseidon2HashWithSeparator( [derivedNoteHash, await computeAppNullifierHidingKey(ownerNhkM, contractAddress)], - GeneratorIndex.NOTE_NULLIFIER, + DomainSeparator.NOTE_NULLIFIER, ); expect(nullifier.value).toEqual(expectedNullifier); }); diff --git a/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts b/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts index 3418d14d6c31..5d8eb4f4a4a7 100644 --- a/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +++ b/yarn-project/pxe/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts @@ -26,7 +26,7 @@ import { type PrivateKernelSimulateOutput, ReadRequestActionEnum, ReadRequestResetActions, - type ScopedKeyValidationRequestAndGenerator, + type ScopedKeyValidationRequestAndSeparator, ScopedNoteHash, ScopedNullifier, ScopedReadRequest, @@ -68,9 +68,9 @@ function getNullifierMembershipWitnessResolver(oracle: PrivateKernelOracle) { }; } -async function getMasterSecretKeysAndAppKeyGenerators( +async function getMasterSecretKeysAndKeyTypeDomainSeparators( keyValidationRequests: ClaimedLengthArray< - ScopedKeyValidationRequestAndGenerator, + ScopedKeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX >, numRequestsToVerify: number, @@ -189,8 +189,8 @@ export class PrivateKernelResetPrivateInputsBuilder { this.previousKernel.validationRequests.nullifierReadRequests, this.nullifierResetActions, ), - getMasterSecretKeysAndAppKeyGenerators( - this.previousKernel.validationRequests.scopedKeyValidationRequestsAndGenerators, + getMasterSecretKeysAndKeyTypeDomainSeparators( + this.previousKernel.validationRequests.scopedKeyValidationRequestsAndSeparators, dimensions.KEY_VALIDATION, oracle, ), @@ -357,8 +357,8 @@ export class PrivateKernelResetPrivateInputsBuilder { } private needsResetNullifierKeys() { - const numCurr = this.previousKernel.validationRequests.scopedKeyValidationRequestsAndGenerators.claimedLength; - const numNext = this.nextIteration ? this.nextIteration.keyValidationRequestsAndGenerators.claimedLength : 0; + const numCurr = this.previousKernel.validationRequests.scopedKeyValidationRequestsAndSeparators.claimedLength; + const numNext = this.nextIteration ? this.nextIteration.keyValidationRequestsAndSeparators.claimedLength : 0; const maxAmountToKeep = !this.nextIteration ? 0 : MAX_KEY_VALIDATION_REQUESTS_PER_TX; if (numCurr + numNext <= maxAmountToKeep) { return false; diff --git a/yarn-project/simulator/src/public/fixtures/amm_test.ts b/yarn-project/simulator/src/public/fixtures/amm_test.ts index 970a440bcff4..5b78faf274c8 100644 --- a/yarn-project/simulator/src/public/fixtures/amm_test.ts +++ b/yarn-project/simulator/src/public/fixtures/amm_test.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; import type { Logger } from '@aztec/foundation/log'; @@ -326,6 +326,6 @@ async function removeLiquidity( async function computePartialNoteValidityCommitment(partialNote: { commitment: Fr }, completer: AztecAddress) { return await poseidon2HashWithSeparator( [partialNote.commitment, completer], - GeneratorIndex.PARTIAL_NOTE_VALIDITY_COMMITMENT, + DomainSeparator.PARTIAL_NOTE_VALIDITY_COMMITMENT, ); } diff --git a/yarn-project/stdlib/src/auth_witness/auth_witness.ts b/yarn-project/stdlib/src/auth_witness/auth_witness.ts index db070cef563e..bf0e2c535d8a 100644 --- a/yarn-project/stdlib/src/auth_witness/auth_witness.ts +++ b/yarn-project/stdlib/src/auth_witness/auth_witness.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; @@ -61,7 +61,7 @@ export class AuthWitness { * @returns The inner hash for the witness */ export const computeInnerAuthWitHash = (args: Fr[]) => { - return poseidon2HashWithSeparator(args, GeneratorIndex.AUTHWIT_INNER); + return poseidon2HashWithSeparator(args, DomainSeparator.AUTHWIT_INNER); }; /** @@ -77,5 +77,5 @@ export const computeInnerAuthWitHash = (args: Fr[]) => { * @returns The outer hash for the witness */ export const computeOuterAuthWitHash = (consumer: AztecAddress, chainId: Fr, version: Fr, innerHash: Fr) => { - return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], GeneratorIndex.AUTHWIT_OUTER); + return poseidon2HashWithSeparator([consumer.toField(), chainId, version, innerHash], DomainSeparator.AUTHWIT_OUTER); }; diff --git a/yarn-project/stdlib/src/contract/contract_address.ts b/yarn-project/stdlib/src/contract/contract_address.ts index 2fa5e0329974..e21499a06bee 100644 --- a/yarn-project/stdlib/src/contract/contract_address.ts +++ b/yarn-project/stdlib/src/contract/contract_address.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; @@ -44,7 +44,7 @@ export async function computePartialAddress( return poseidon2HashWithSeparator( [instance.originalContractClassId, saltedInitializationHash], - GeneratorIndex.PARTIAL_ADDRESS, + DomainSeparator.PARTIAL_ADDRESS, ); } @@ -57,7 +57,7 @@ export function computeSaltedInitializationHash( ): Promise { return poseidon2HashWithSeparator( [instance.salt, instance.initializationHash, instance.deployer], - GeneratorIndex.PARTIAL_ADDRESS, + DomainSeparator.PARTIAL_ADDRESS, ); } @@ -87,5 +87,5 @@ export async function computeInitializationHashFromEncodedArgs( encodedArgs: Fr[], ): Promise { const argsHash = await computeVarArgsHash(encodedArgs); - return poseidon2HashWithSeparator([initFn, argsHash], GeneratorIndex.INITIALIZER); + return poseidon2HashWithSeparator([initFn, argsHash], DomainSeparator.INITIALIZER); } diff --git a/yarn-project/stdlib/src/contract/contract_class_id.ts b/yarn-project/stdlib/src/contract/contract_class_id.ts index 322fabd6b166..eccb8f68a22e 100644 --- a/yarn-project/stdlib/src/contract/contract_class_id.ts +++ b/yarn-project/stdlib/src/contract/contract_class_id.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS } from '@aztec/constants'; +import { DomainSeparator, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; @@ -40,7 +40,7 @@ export async function computeContractClassIdWithPreimage( : await computePublicBytecodeCommitment(contractClass.packedBytecode); const id = await poseidon2HashWithSeparator( [artifactHash, privateFunctionsRoot, publicBytecodeCommitment], - GeneratorIndex.CONTRACT_CLASS_ID, + DomainSeparator.CONTRACT_CLASS_ID, ); return { id, artifactHash, privateFunctionsRoot, publicBytecodeCommitment }; } @@ -72,6 +72,6 @@ export async function computePublicBytecodeCommitment(packedBytecode: Buffer) { // NOTE: hash the bytecode here only up to the actual length of the bytecode. // We do not hash the entire max bytecode length! - const sep = BigInt(GeneratorIndex.PUBLIC_BYTECODE) + (bytecodeLengthAsField.toBigInt() << 32n); + const sep = BigInt(DomainSeparator.PUBLIC_BYTECODE) + (bytecodeLengthAsField.toBigInt() << 32n); return await poseidon2HashWithSeparator(bytecodeAsFields.slice(0, bytecodeLength), new Fr(sep).toNumber()); } diff --git a/yarn-project/stdlib/src/contract/private_function.ts b/yarn-project/stdlib/src/contract/private_function.ts index b1feb023c699..dca3de548f8a 100644 --- a/yarn-project/stdlib/src/contract/private_function.ts +++ b/yarn-project/stdlib/src/contract/private_function.ts @@ -1,4 +1,4 @@ -import { FUNCTION_TREE_HEIGHT, GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator, FUNCTION_TREE_HEIGHT } from '@aztec/constants'; import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; import { type MerkleTree, MerkleTreeCalculator } from '@aztec/foundation/trees'; @@ -31,7 +31,7 @@ function computePrivateFunctionLeaves(fns: PrivateFunction[]): Promise /** Returns the leaf for a given private function. */ export async function computePrivateFunctionLeaf(fn: PrivateFunction): Promise { - return (await poseidon2HashWithSeparator([fn.selector, fn.vkHash], GeneratorIndex.PRIVATE_FUNCTION_LEAF)).toBuffer(); + return (await poseidon2HashWithSeparator([fn.selector, fn.vkHash], DomainSeparator.PRIVATE_FUNCTION_LEAF)).toBuffer(); } async function getPrivateFunctionTreeCalculator(): Promise { diff --git a/yarn-project/stdlib/src/hash/hash.ts b/yarn-project/stdlib/src/hash/hash.ts index 92ab0fed2162..fe966082b1ef 100644 --- a/yarn-project/stdlib/src/hash/hash.ts +++ b/yarn-project/stdlib/src/hash/hash.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants'; +import { DomainSeparator, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants'; import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { sha256ToField } from '@aztec/foundation/crypto/sha256'; import { Fr } from '@aztec/foundation/curves/bn254'; @@ -23,7 +23,7 @@ export async function hashVK(keyAsFields: Fr[]): Promise { * @returns A note hash nonce. */ export function computeNoteHashNonce(nullifierZero: Fr, noteHashIndex: number): Promise { - return poseidon2HashWithSeparator([nullifierZero, noteHashIndex], GeneratorIndex.NOTE_HASH_NONCE); + return poseidon2HashWithSeparator([nullifierZero, noteHashIndex], DomainSeparator.NOTE_HASH_NONCE); } /** @@ -34,7 +34,7 @@ export function computeNoteHashNonce(nullifierZero: Fr, noteHashIndex: number): * @returns A siloed note hash. */ export function siloNoteHash(contract: AztecAddress, noteHash: Fr): Promise { - return poseidon2HashWithSeparator([contract, noteHash], GeneratorIndex.SILOED_NOTE_HASH); + return poseidon2HashWithSeparator([contract, noteHash], DomainSeparator.SILOED_NOTE_HASH); } /** @@ -44,7 +44,7 @@ export function siloNoteHash(contract: AztecAddress, noteHash: Fr): Promise * @returns A unique note hash. */ export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promise { - return poseidon2HashWithSeparator([noteNonce, siloedNoteHash], GeneratorIndex.UNIQUE_NOTE_HASH); + return poseidon2HashWithSeparator([noteNonce, siloedNoteHash], DomainSeparator.UNIQUE_NOTE_HASH); } /** @@ -55,7 +55,7 @@ export function computeUniqueNoteHash(noteNonce: Fr, siloedNoteHash: Fr): Promis * @returns A siloed nullifier. */ export function siloNullifier(contract: AztecAddress, innerNullifier: Fr): Promise { - return poseidon2HashWithSeparator([contract, innerNullifier], GeneratorIndex.SILOED_NULLIFIER); + return poseidon2HashWithSeparator([contract, innerNullifier], DomainSeparator.SILOED_NULLIFIER); } /** @@ -70,7 +70,7 @@ export function computeProtocolNullifier(txRequestHash: Fr): Promise { } export function computeSiloedPrivateLogFirstField(contract: AztecAddress, field: Fr): Promise { - return poseidon2HashWithSeparator([contract, field], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD); + return poseidon2HashWithSeparator([contract, field], DomainSeparator.PRIVATE_LOG_FIRST_FIELD); } /** @@ -91,7 +91,7 @@ export function computePublicDataTreeValue(value: Fr): Fr { */ export function computePublicDataTreeLeafSlot(contractAddress: AztecAddress, storageSlot: Fr): Promise { - return poseidon2HashWithSeparator([contractAddress, storageSlot], GeneratorIndex.PUBLIC_LEAF_SLOT); + return poseidon2HashWithSeparator([contractAddress, storageSlot], DomainSeparator.PUBLIC_LEAF_SLOT); } /** @@ -105,7 +105,7 @@ export function computeVarArgsHash(args: Fr[]): Promise { return Promise.resolve(Fr.ZERO); } - return poseidon2HashWithSeparator(args, GeneratorIndex.FUNCTION_ARGS); + return poseidon2HashWithSeparator(args, DomainSeparator.FUNCTION_ARGS); } /** @@ -114,7 +114,7 @@ export function computeVarArgsHash(args: Fr[]): Promise { * @returns Hash of the calldata. */ export function computeCalldataHash(calldata: Fr[]): Promise { - return poseidon2HashWithSeparator(calldata, GeneratorIndex.PUBLIC_CALLDATA); + return poseidon2HashWithSeparator(calldata, DomainSeparator.PUBLIC_CALLDATA); } /** @@ -124,13 +124,13 @@ export function computeCalldataHash(calldata: Fr[]): Promise { * @returns The hash */ export function computeSecretHash(secret: Fr): Promise { - return poseidon2HashWithSeparator([secret], GeneratorIndex.SECRET_HASH); + return poseidon2HashWithSeparator([secret], DomainSeparator.SECRET_HASH); } export async function computeL1ToL2MessageNullifier(contract: AztecAddress, messageHash: Fr, secret: Fr) { const innerMessageNullifier = await poseidon2HashWithSeparator( [messageHash, secret], - GeneratorIndex.MESSAGE_NULLIFIER, + DomainSeparator.MESSAGE_NULLIFIER, ); return siloNullifier(contract, innerMessageNullifier); } diff --git a/yarn-project/stdlib/src/hash/map_slot.ts b/yarn-project/stdlib/src/hash/map_slot.ts index 65bcf99fd451..006f041c36db 100644 --- a/yarn-project/stdlib/src/hash/map_slot.ts +++ b/yarn-project/stdlib/src/hash/map_slot.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import type { Fr } from '@aztec/foundation/curves/bn254'; @@ -15,5 +15,5 @@ export function deriveStorageSlotInMap( toField: () => Fr; }, ): Promise { - return poseidon2HashWithSeparator([mapSlot, key.toField()], GeneratorIndex.PUBLIC_STORAGE_MAP_SLOT); + return poseidon2HashWithSeparator([mapSlot, key.toField()], DomainSeparator.PUBLIC_STORAGE_MAP_SLOT); } diff --git a/yarn-project/stdlib/src/kernel/hints/index.ts b/yarn-project/stdlib/src/kernel/hints/index.ts index eb52b8861569..c592c2fb0a55 100644 --- a/yarn-project/stdlib/src/kernel/hints/index.ts +++ b/yarn-project/stdlib/src/kernel/hints/index.ts @@ -6,10 +6,10 @@ export * from './note_hash_read_request_hints.js'; export * from './nullifier_read_request_hints.js'; export * from './read_request_hints.js'; export * from './key_validation_hint.js'; -export * from './key_validation_request_and_generator.js'; +export * from './key_validation_request_and_separator.js'; export * from './read_request.js'; export * from './key_validation_request.js'; -export * from './scoped_key_validation_request_and_generator.js'; +export * from './scoped_key_validation_request_and_separator.js'; export * from './transient_data_squashing_hint.js'; export * from './private_kernel_reset_hints.js'; export * from './tree_leaf_read_request.js'; diff --git a/yarn-project/stdlib/src/kernel/hints/key_validation_request_and_generator.ts b/yarn-project/stdlib/src/kernel/hints/key_validation_request_and_separator.ts similarity index 52% rename from yarn-project/stdlib/src/kernel/hints/key_validation_request_and_generator.ts rename to yarn-project/stdlib/src/kernel/hints/key_validation_request_and_separator.ts index 67ee0253a8cb..2cdec5ff4239 100644 --- a/yarn-project/stdlib/src/kernel/hints/key_validation_request_and_generator.ts +++ b/yarn-project/stdlib/src/kernel/hints/key_validation_request_and_separator.ts @@ -5,48 +5,45 @@ import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/ import { KeyValidationRequest } from './key_validation_request.js'; /** - * Request for validating keys used in the app and a generator. + * Request for validating keys used in the app, along with a domain separator for the key type. */ -export class KeyValidationRequestAndGenerator { +export class KeyValidationRequestAndSeparator { constructor( /** The key validation request. */ public readonly request: KeyValidationRequest, - /** - * The generator index which can be used along with sk_m to derive the sk_app stored in the request. - * Note: This generator constrains that a correct key type gets validated in the kernel. - */ - public readonly skAppGenerator: Fr, + /** Domain separator for the key type, used along with sk_m to derive the sk_app stored in the request. */ + public readonly keyTypeDomainSeparator: Fr, ) {} toBuffer() { - return serializeToBuffer(this.request, this.skAppGenerator); + return serializeToBuffer(this.request, this.keyTypeDomainSeparator); } static fromBuffer(buffer: Buffer | BufferReader) { const reader = BufferReader.asReader(buffer); - return new KeyValidationRequestAndGenerator(reader.readObject(KeyValidationRequest), Fr.fromBuffer(reader)); + return new KeyValidationRequestAndSeparator(reader.readObject(KeyValidationRequest), Fr.fromBuffer(reader)); } toFields(): Fr[] { - const fields = [...this.request.toFields(), this.skAppGenerator]; + const fields = [...this.request.toFields(), this.keyTypeDomainSeparator]; if (fields.length !== KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH) { throw new Error( - `Invalid number of fields for KeyValidationRequestAndGenerator. Expected ${KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`, + `Invalid number of fields for KeyValidationRequestAndSeparator. Expected ${KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`, ); } return fields; } - static fromFields(fields: Fr[] | FieldReader): KeyValidationRequestAndGenerator { + static fromFields(fields: Fr[] | FieldReader): KeyValidationRequestAndSeparator { const reader = FieldReader.asReader(fields); - return new KeyValidationRequestAndGenerator(KeyValidationRequest.fromFields(reader), reader.readField()); + return new KeyValidationRequestAndSeparator(KeyValidationRequest.fromFields(reader), reader.readField()); } isEmpty() { - return this.request.isEmpty() && this.skAppGenerator.isZero(); + return this.request.isEmpty() && this.keyTypeDomainSeparator.isZero(); } static empty() { - return new KeyValidationRequestAndGenerator(KeyValidationRequest.empty(), Fr.ZERO); + return new KeyValidationRequestAndSeparator(KeyValidationRequest.empty(), Fr.ZERO); } } diff --git a/yarn-project/stdlib/src/kernel/hints/scoped_key_validation_request_and_generator.ts b/yarn-project/stdlib/src/kernel/hints/scoped_key_validation_request_and_separator.ts similarity index 66% rename from yarn-project/stdlib/src/kernel/hints/scoped_key_validation_request_and_generator.ts rename to yarn-project/stdlib/src/kernel/hints/scoped_key_validation_request_and_separator.ts index f82c1968747d..2dcd83843993 100644 --- a/yarn-project/stdlib/src/kernel/hints/scoped_key_validation_request_and_generator.ts +++ b/yarn-project/stdlib/src/kernel/hints/scoped_key_validation_request_and_separator.ts @@ -3,14 +3,14 @@ import type { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { AztecAddress } from '../../aztec-address/index.js'; -import { KeyValidationRequestAndGenerator } from './key_validation_request_and_generator.js'; +import { KeyValidationRequestAndSeparator } from './key_validation_request_and_separator.js'; /** * Request for validating keys used in the app. */ -export class ScopedKeyValidationRequestAndGenerator { +export class ScopedKeyValidationRequestAndSeparator { constructor( - public readonly request: KeyValidationRequestAndGenerator, + public readonly request: KeyValidationRequestAndSeparator, public readonly contractAddress: AztecAddress, ) {} @@ -20,8 +20,8 @@ export class ScopedKeyValidationRequestAndGenerator { static fromBuffer(buffer: Buffer | BufferReader) { const reader = BufferReader.asReader(buffer); - return new ScopedKeyValidationRequestAndGenerator( - KeyValidationRequestAndGenerator.fromBuffer(reader), + return new ScopedKeyValidationRequestAndSeparator( + KeyValidationRequestAndSeparator.fromBuffer(reader), AztecAddress.fromBuffer(reader), ); } @@ -30,16 +30,16 @@ export class ScopedKeyValidationRequestAndGenerator { const fields = [...this.request.toFields(), this.contractAddress.toField()]; if (fields.length !== SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH) { throw new Error( - `Invalid number of fields for ScopedKeyValidationRequestAndGenerator. Expected ${SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`, + `Invalid number of fields for ScopedKeyValidationRequestAndSeparator. Expected ${SCOPED_KEY_VALIDATION_REQUEST_AND_GENERATOR_LENGTH}, got ${fields.length}`, ); } return fields; } - static fromFields(fields: Fr[] | FieldReader): ScopedKeyValidationRequestAndGenerator { + static fromFields(fields: Fr[] | FieldReader): ScopedKeyValidationRequestAndSeparator { const reader = FieldReader.asReader(fields); - return new ScopedKeyValidationRequestAndGenerator( - KeyValidationRequestAndGenerator.fromFields(reader), + return new ScopedKeyValidationRequestAndSeparator( + KeyValidationRequestAndSeparator.fromFields(reader), AztecAddress.fromFields(reader), ); } @@ -49,6 +49,6 @@ export class ScopedKeyValidationRequestAndGenerator { } static empty() { - return new ScopedKeyValidationRequestAndGenerator(KeyValidationRequestAndGenerator.empty(), AztecAddress.ZERO); + return new ScopedKeyValidationRequestAndSeparator(KeyValidationRequestAndSeparator.empty(), AztecAddress.ZERO); } } diff --git a/yarn-project/stdlib/src/kernel/private_circuit_public_inputs.ts b/yarn-project/stdlib/src/kernel/private_circuit_public_inputs.ts index f95c3861c20d..da87fcc896e6 100644 --- a/yarn-project/stdlib/src/kernel/private_circuit_public_inputs.ts +++ b/yarn-project/stdlib/src/kernel/private_circuit_public_inputs.ts @@ -21,7 +21,7 @@ import { } from '@aztec/foundation/serialize'; import type { FieldsOf } from '@aztec/foundation/types'; -import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js'; +import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js'; import { CountedLogHash } from '../kernel/log_hash.js'; import { PrivateCallRequest } from '../kernel/private_call_request.js'; import { PrivateLogData } from '../kernel/private_log_data.js'; @@ -106,10 +106,10 @@ export class PrivateCircuitPublicInputs { */ public nullifierReadRequests: ClaimedLengthArray, /** - * Key validation requests and generators created by the corresponding function call. + * Key validation requests and separators created by the corresponding function call. */ - public keyValidationRequestsAndGenerators: ClaimedLengthArray< - KeyValidationRequestAndGenerator, + public keyValidationRequestsAndSeparators: ClaimedLengthArray< + KeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_CALL >, /** @@ -178,7 +178,7 @@ export class PrivateCircuitPublicInputs { reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject( - ClaimedLengthArrayFromBuffer(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), + ClaimedLengthArrayFromBuffer(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), @@ -209,7 +209,7 @@ export class PrivateCircuitPublicInputs { reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject( - ClaimedLengthArrayFromFields(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), + ClaimedLengthArrayFromFields(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ), reader.readObject(ClaimedLengthArrayFromFields(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), @@ -242,7 +242,7 @@ export class PrivateCircuitPublicInputs { Fr.ZERO, ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL), - ClaimedLengthArray.empty(KeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), + ClaimedLengthArray.empty(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ClaimedLengthArray.empty(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL), ClaimedLengthArray.empty(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL), PublicCallRequest.empty(), @@ -270,7 +270,7 @@ export class PrivateCircuitPublicInputs { this.expectedRevertibleSideEffectCounter.isZero() && this.noteHashReadRequests.isEmpty() && this.nullifierReadRequests.isEmpty() && - this.keyValidationRequestsAndGenerators.isEmpty() && + this.keyValidationRequestsAndSeparators.isEmpty() && this.privateCallRequests.isEmpty() && this.publicCallRequests.isEmpty() && this.publicTeardownCallRequest.isEmpty() && @@ -303,7 +303,7 @@ export class PrivateCircuitPublicInputs { fields.expectedRevertibleSideEffectCounter, fields.noteHashReadRequests, fields.nullifierReadRequests, - fields.keyValidationRequestsAndGenerators, + fields.keyValidationRequestsAndSeparators, fields.privateCallRequests, fields.publicCallRequests, fields.publicTeardownCallRequest, @@ -337,7 +337,7 @@ export class PrivateCircuitPublicInputs { this.expectedRevertibleSideEffectCounter, this.noteHashReadRequests, this.nullifierReadRequests, - this.keyValidationRequestsAndGenerators, + this.keyValidationRequestsAndSeparators, this.privateCallRequests, this.publicCallRequests, this.publicTeardownCallRequest, diff --git a/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts b/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts index 0a5bce2ac0c4..5a9e6a08ff61 100644 --- a/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +++ b/yarn-project/stdlib/src/kernel/private_to_public_kernel_circuit_public_inputs.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants'; +import { DomainSeparator, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import type { Fr } from '@aztec/foundation/curves/bn254'; import { bufferSchemaFor } from '@aztec/foundation/schemas'; @@ -92,7 +92,7 @@ export class PrivateToPublicKernelCircuitPublicInputs { } hash() { - return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.PUBLIC_TX_HASH); + return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.PUBLIC_TX_HASH); } toJSON() { diff --git a/yarn-project/stdlib/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts b/yarn-project/stdlib/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts index 551cc038e176..a78d01380a16 100644 --- a/yarn-project/stdlib/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +++ b/yarn-project/stdlib/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants'; +import { DomainSeparator, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import type { Fr } from '@aztec/foundation/curves/bn254'; import { bufferSchemaFor } from '@aztec/foundation/schemas'; @@ -113,6 +113,6 @@ export class PrivateToRollupKernelCircuitPublicInputs { } hash() { - return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.PRIVATE_TX_HASH); + return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.PRIVATE_TX_HASH); } } diff --git a/yarn-project/stdlib/src/kernel/private_validation_requests.ts b/yarn-project/stdlib/src/kernel/private_validation_requests.ts index 6c55edf5cab4..1f5be22f9657 100644 --- a/yarn-project/stdlib/src/kernel/private_validation_requests.ts +++ b/yarn-project/stdlib/src/kernel/private_validation_requests.ts @@ -8,7 +8,7 @@ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string'; import { inspect } from 'util'; -import { ScopedKeyValidationRequestAndGenerator } from '../kernel/hints/scoped_key_validation_request_and_generator.js'; +import { ScopedKeyValidationRequestAndSeparator } from '../kernel/hints/scoped_key_validation_request_and_separator.js'; import { ClaimedLengthArray, ClaimedLengthArrayFromBuffer } from './claimed_length_array.js'; import { ScopedReadRequest } from './hints/read_request.js'; @@ -28,8 +28,8 @@ export class PrivateValidationRequests { /** * All the key validation requests made in this transaction. */ - public scopedKeyValidationRequestsAndGenerators: ClaimedLengthArray< - ScopedKeyValidationRequestAndGenerator, + public scopedKeyValidationRequestsAndSeparators: ClaimedLengthArray< + ScopedKeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX >, ) {} @@ -38,7 +38,7 @@ export class PrivateValidationRequests { return ( this.noteHashReadRequests.getSize() + this.nullifierReadRequests.getSize() + - this.scopedKeyValidationRequestsAndGenerators.getSize() + this.scopedKeyValidationRequestsAndSeparators.getSize() ); } @@ -46,7 +46,7 @@ export class PrivateValidationRequests { return serializeToBuffer( this.noteHashReadRequests, this.nullifierReadRequests, - this.scopedKeyValidationRequestsAndGenerators, + this.scopedKeyValidationRequestsAndSeparators, ); } @@ -65,7 +65,7 @@ export class PrivateValidationRequests { reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX)), reader.readObject( - ClaimedLengthArrayFromBuffer(ScopedKeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_TX), + ClaimedLengthArrayFromBuffer(ScopedKeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_TX), ), ); } @@ -83,7 +83,7 @@ export class PrivateValidationRequests { return new PrivateValidationRequests( ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX), - ClaimedLengthArray.empty(ScopedKeyValidationRequestAndGenerator, MAX_KEY_VALIDATION_REQUESTS_PER_TX), + ClaimedLengthArray.empty(ScopedKeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_TX), ); } @@ -91,7 +91,7 @@ export class PrivateValidationRequests { return `PrivateValidationRequests { noteHashReadRequests: ${inspect(this.noteHashReadRequests)}, nullifierReadRequests: ${inspect(this.nullifierReadRequests)}, - scopedKeyValidationRequestsAndGenerators: ${inspect(this.scopedKeyValidationRequestsAndGenerators)}, + scopedKeyValidationRequestsAndSeparators: ${inspect(this.scopedKeyValidationRequestsAndSeparators)}, `; } } diff --git a/yarn-project/stdlib/src/keys/derivation.ts b/yarn-project/stdlib/src/keys/derivation.ts index 0cafaa083f88..0ed89aaeb438 100644 --- a/yarn-project/stdlib/src/keys/derivation.ts +++ b/yarn-project/stdlib/src/keys/derivation.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import { Grumpkin } from '@aztec/foundation/crypto/grumpkin'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512'; @@ -27,29 +27,29 @@ export async function computeOvskApp(ovsk: GrumpkinScalar, app: AztecAddress): P } export function deriveMasterNullifierHidingKey(secretKey: Fr): GrumpkinScalar { - return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.NHK_M]); + return sha512ToGrumpkinScalar([secretKey, DomainSeparator.NHK_M]); } export function deriveMasterIncomingViewingSecretKey(secretKey: Fr): GrumpkinScalar { - return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.IVSK_M]); + return sha512ToGrumpkinScalar([secretKey, DomainSeparator.IVSK_M]); } export function deriveMasterOutgoingViewingSecretKey(secretKey: Fr): GrumpkinScalar { - return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.OVSK_M]); + return sha512ToGrumpkinScalar([secretKey, DomainSeparator.OVSK_M]); } export function deriveSigningKey(secretKey: Fr): GrumpkinScalar { // TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here - return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.IVSK_M]); + return sha512ToGrumpkinScalar([secretKey, DomainSeparator.IVSK_M]); } export function computePreaddress(publicKeysHash: Fr, partialAddress: Fr) { - return poseidon2HashWithSeparator([publicKeysHash, partialAddress], GeneratorIndex.CONTRACT_ADDRESS_V1); + return poseidon2HashWithSeparator([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1); } export async function computeAddress(publicKeys: PublicKeys, partialAddress: Fr): Promise { // Given public keys and a partial address, we can compute our address in the following steps. - // 1. preaddress = poseidon2([publicKeysHash, partialAddress], GeneratorIndex.CONTRACT_ADDRESS_V1); + // 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1); // 2. addressPoint = (preaddress * G) + ivpk_m // 3. address = addressPoint.x const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress); @@ -98,7 +98,7 @@ export async function deriveKeys(secretKey: Fr) { const masterNullifierHidingKey = deriveMasterNullifierHidingKey(secretKey); const masterIncomingViewingSecretKey = deriveMasterIncomingViewingSecretKey(secretKey); const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey); - const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, GeneratorIndex.TSK_M]); + const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, DomainSeparator.TSK_M]); // Then we derive master public keys const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey); diff --git a/yarn-project/stdlib/src/keys/key_types.ts b/yarn-project/stdlib/src/keys/key_types.ts index 5c2224bc9fcb..6044575c989a 100644 --- a/yarn-project/stdlib/src/keys/key_types.ts +++ b/yarn-project/stdlib/src/keys/key_types.ts @@ -1,5 +1,9 @@ -import type { GeneratorIndex } from '@aztec/constants'; +import type { DomainSeparator } from '@aztec/constants'; -export type KeyGenerator = GeneratorIndex.NHK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M; +export type KeyGenerator = + | DomainSeparator.NHK_M + | DomainSeparator.IVSK_M + | DomainSeparator.OVSK_M + | DomainSeparator.TSK_M; export type KeyPrefix = 'n' | 'iv' | 'ov' | 't'; export const KEY_PREFIXES: KeyPrefix[] = ['n', 'iv', 'ov', 't']; diff --git a/yarn-project/stdlib/src/keys/public_keys.ts b/yarn-project/stdlib/src/keys/public_keys.ts index de31b838d382..130fcf07c06d 100644 --- a/yarn-project/stdlib/src/keys/public_keys.ts +++ b/yarn-project/stdlib/src/keys/public_keys.ts @@ -7,7 +7,7 @@ import { DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, - GeneratorIndex, + DomainSeparator, } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; @@ -82,7 +82,7 @@ export class PublicKeys { this.masterOutgoingViewingPublicKey, this.masterTaggingPublicKey, ], - GeneratorIndex.PUBLIC_KEYS_HASH, + DomainSeparator.PUBLIC_KEYS_HASH, ); } diff --git a/yarn-project/stdlib/src/keys/utils.ts b/yarn-project/stdlib/src/keys/utils.ts index ad134daa3336..d03c3b33ac54 100644 --- a/yarn-project/stdlib/src/keys/utils.ts +++ b/yarn-project/stdlib/src/keys/utils.ts @@ -1,13 +1,13 @@ -import { GeneratorIndex } from '@aztec/constants'; +import { DomainSeparator } from '@aztec/constants'; import type { KeyGenerator, KeyPrefix } from './key_types.js'; export function getKeyGenerator(prefix: KeyPrefix): KeyGenerator { const map: Record = { - n: GeneratorIndex.NHK_M, - iv: GeneratorIndex.IVSK_M, - ov: GeneratorIndex.OVSK_M, - t: GeneratorIndex.TSK_M, + n: DomainSeparator.NHK_M, + iv: DomainSeparator.IVSK_M, + ov: DomainSeparator.OVSK_M, + t: DomainSeparator.TSK_M, }; return map[prefix]; } diff --git a/yarn-project/stdlib/src/tests/factories.ts b/yarn-project/stdlib/src/tests/factories.ts index c3aaa0ea76b1..e2d22f969b2c 100644 --- a/yarn-project/stdlib/src/tests/factories.ts +++ b/yarn-project/stdlib/src/tests/factories.ts @@ -9,7 +9,7 @@ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, CHONK_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, - GeneratorIndex, + DomainSeparator, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, MAX_CHECKPOINTS_PER_EPOCH, MAX_CONTRACT_CLASS_LOGS_PER_TX, @@ -102,7 +102,7 @@ import { import { Gas, GasFees, GasSettings } from '../gas/index.js'; import { computeCalldataHash } from '../hash/hash.js'; import { KeyValidationRequest } from '../kernel/hints/key_validation_request.js'; -import { KeyValidationRequestAndGenerator } from '../kernel/hints/key_validation_request_and_generator.js'; +import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js'; import { ReadRequest, ScopedReadRequest } from '../kernel/hints/read_request.js'; import { ClaimedLengthArray, @@ -259,12 +259,12 @@ function makeKeyValidationRequests(seed: number): KeyValidationRequest { } /** - * Creates arbitrary KeyValidationRequestAndGenerator from the given seed. - * @param seed - The seed to use for generating the KeyValidationRequestAndGenerator. - * @returns A KeyValidationRequestAndGenerator. + * Creates arbitrary KeyValidationRequestAndSeparator from the given seed. + * @param seed - The seed to use for generating the KeyValidationRequestAndSeparator. + * @returns A KeyValidationRequestAndSeparator. */ -function makeKeyValidationRequestAndGenerators(seed: number): KeyValidationRequestAndGenerator { - return new KeyValidationRequestAndGenerator(makeKeyValidationRequests(seed), fr(seed + 4)); +function makeKeyValidationRequestAndSeparators(seed: number): KeyValidationRequestAndSeparator { + return new KeyValidationRequestAndSeparator(makeKeyValidationRequests(seed), fr(seed + 4)); } export function makePublicDataWrite(seed = 1) { @@ -671,9 +671,9 @@ export function makePrivateCircuitPublicInputs(seed = 0): PrivateCircuitPublicIn makeScopedReadRequest, seed + 0x310, ), - keyValidationRequestsAndGenerators: makeClaimedLengthArray( + keyValidationRequestsAndSeparators: makeClaimedLengthArray( MAX_KEY_VALIDATION_REQUESTS_PER_CALL, - makeKeyValidationRequestAndGenerators, + makeKeyValidationRequestAndSeparators, seed + 0x320, ), noteHashes: makeClaimedLengthArray(MAX_NOTE_HASHES_PER_CALL, makeNoteHash, seed + 0x400), @@ -1287,11 +1287,11 @@ export async function makeContractInstanceFromClassId( const saltedInitializationHash = await poseidon2HashWithSeparator( [salt, initializationHash, deployer], - GeneratorIndex.PARTIAL_ADDRESS, + DomainSeparator.PARTIAL_ADDRESS, ); const partialAddress = await poseidon2HashWithSeparator( [classId, saltedInitializationHash], - GeneratorIndex.PARTIAL_ADDRESS, + DomainSeparator.PARTIAL_ADDRESS, ); const address = await computeAddress(publicKeys, partialAddress); return new SerializableContractInstance({ diff --git a/yarn-project/stdlib/src/tx/block_header.ts b/yarn-project/stdlib/src/tx/block_header.ts index 482874f88f9c..1a1457e0f96e 100644 --- a/yarn-project/stdlib/src/tx/block_header.ts +++ b/yarn-project/stdlib/src/tx/block_header.ts @@ -1,4 +1,4 @@ -import { BLOCK_HEADER_LENGTH, GeneratorIndex } from '@aztec/constants'; +import { BLOCK_HEADER_LENGTH, DomainSeparator } from '@aztec/constants'; import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { randomInt } from '@aztec/foundation/crypto/random'; @@ -164,7 +164,7 @@ export class BlockHeader { hash(): Promise { if (!this._cachedHash) { - this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HEADER_HASH).then( + this._cachedHash = poseidon2HashWithSeparator(this.toFields(), DomainSeparator.BLOCK_HEADER_HASH).then( fr => new BlockHash(fr), ); } diff --git a/yarn-project/stdlib/src/tx/protocol_contracts.ts b/yarn-project/stdlib/src/tx/protocol_contracts.ts index e5e2bde74678..2abdbffe87a2 100644 --- a/yarn-project/stdlib/src/tx/protocol_contracts.ts +++ b/yarn-project/stdlib/src/tx/protocol_contracts.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants'; +import { DomainSeparator, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants'; import { makeTuple } from '@aztec/foundation/array'; import { arraySerializedSizeOfNonEmpty } from '@aztec/foundation/collection'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; @@ -71,7 +71,7 @@ export class ProtocolContracts { } hash() { - return poseidon2HashWithSeparator(this.derivedAddresses, GeneratorIndex.PROTOCOL_CONTRACTS); + return poseidon2HashWithSeparator(this.derivedAddresses, DomainSeparator.PROTOCOL_CONTRACTS); } static get schema() { diff --git a/yarn-project/stdlib/src/tx/tx_request.ts b/yarn-project/stdlib/src/tx/tx_request.ts index fe425a21682d..5dfa3e1b19a7 100644 --- a/yarn-project/stdlib/src/tx/tx_request.ts +++ b/yarn-project/stdlib/src/tx/tx_request.ts @@ -1,4 +1,4 @@ -import { GeneratorIndex, TX_REQUEST_LENGTH } from '@aztec/constants'; +import { DomainSeparator, TX_REQUEST_LENGTH } from '@aztec/constants'; import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon'; import { Fr } from '@aztec/foundation/curves/bn254'; import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize'; @@ -68,7 +68,7 @@ export class TxRequest { } hash() { - return poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.TX_REQUEST); + return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.TX_REQUEST); } static empty() { diff --git a/yarn-project/world-state/src/native/native_world_state_instance.ts b/yarn-project/world-state/src/native/native_world_state_instance.ts index e56dba189e0c..ebd3d330faf2 100644 --- a/yarn-project/world-state/src/native/native_world_state_instance.ts +++ b/yarn-project/world-state/src/native/native_world_state_instance.ts @@ -1,6 +1,6 @@ import { ARCHIVE_HEIGHT, - GeneratorIndex, + DomainSeparator, L1_TO_L2_MSG_TREE_HEIGHT, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, @@ -81,7 +81,7 @@ export class NativeWorldState implements NativeWorldStateInstance { [MerkleTreeId.PUBLIC_DATA_TREE]: 2 * MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, }, prefilledPublicDataBufferArray, - GeneratorIndex.BLOCK_HEADER_HASH, + DomainSeparator.BLOCK_HEADER_HASH, { [MerkleTreeId.NULLIFIER_TREE]: wsTreeMapSizes.nullifierTreeMapSizeKb, [MerkleTreeId.NOTE_HASH_TREE]: wsTreeMapSizes.noteHashTreeMapSizeKb, From 3786dd3c65ba9397e342e16e8081312366aad9c9 Mon Sep 17 00:00:00 2001 From: AztecBot Date: Tue, 17 Feb 2026 04:51:42 +0000 Subject: [PATCH 08/12] chore(docs): cut new aztec and bb docs version for tag v4.0.0-nightly.20260217 --- barretenberg/docs/docs/bb-cli-reference.md | 2 +- .../bb-cli-reference.md | 2 +- .../explainers/advanced/_category_.json | 0 .../explainers/advanced/chonk.md | 0 .../explainers/recursive_aggregation.md | 0 .../getting_started.md | 0 .../how_to_guides/_category_.json | 0 .../how_to_guides/how-to-solidity-verifier.md | 0 .../how_to_guides/on-the-browser.md | 0 .../how_to_guides/recursive_aggregation.md | 0 .../index.md | 0 ...ion-v4.0.0-nightly.20260217-sidebars.json} | 0 barretenberg/docs/versions.json | 2 +- .../docs/aztec-js/_category_.json | 0 .../docs/aztec-js/aztec_js_reference.md | 0 .../how_to_connect_to_local_network.md | 10 ++-- .../docs/aztec-js/how_to_create_account.md | 10 ++-- .../docs/aztec-js/how_to_deploy_contract.md | 36 ++++++------- .../docs/aztec-js/how_to_pay_fees.md | 6 +-- .../docs/aztec-js/how_to_read_data.md | 10 ++-- .../docs/aztec-js/how_to_send_transaction.md | 6 +-- .../docs/aztec-js/how_to_test.md | 8 +-- .../docs/aztec-js/how_to_use_authwit.md | 8 +-- .../docs/aztec-js/index.md | 10 ++-- .../aztec-js/typescript_api_reference.mdx | 0 .../docs/aztec-nr/_category_.json | 0 .../docs/aztec-nr/api.mdx | 0 .../docs/aztec-nr/compiling_contracts.md | 0 .../aztec-nr/contract_readiness_states.md | 0 .../docs/aztec-nr/debugging.md | 2 +- .../framework-description/_category_.json | 0 .../advanced/_category_.json | 0 .../advanced/how_to_profile_transactions.md | 0 .../advanced/how_to_prove_history.md | 4 +- .../advanced/how_to_retrieve_filter_notes.md | 6 +-- .../advanced/how_to_use_capsules.md | 0 .../advanced/partial_notes.md | 10 ++-- .../advanced/protocol_oracles.md | 14 ++--- .../advanced/writing_efficient_contracts.md | 0 .../authentication_witnesses.md | 8 +-- .../calling_contracts.md | 4 +- .../contract_artifact.md | 0 .../contract_structure.md | 0 .../contract_upgrades.md | 0 .../framework-description/custom_notes.md | 14 ++--- .../framework-description/dependencies.md | 16 +++--- .../ethereum_aztec_messaging.md | 14 ++--- .../framework-description/events_and_logs.md | 0 .../functions/attributes.md | 4 +- .../functions/context.md | 24 ++++----- .../functions/function_transforms.md | 2 +- .../functions/how_to_define_functions.md | 10 ++-- .../framework-description/functions/index.md | 0 .../functions/visibility.md | 0 .../aztec-nr/framework-description/globals.md | 4 +- .../aztec-nr/framework-description/macros.md | 0 .../framework-description/note_delivery.md | 0 .../framework-description/state_variables.md | 44 +++++++-------- .../docs/aztec-nr/index.md | 8 +-- .../docs/aztec-nr/installation.md | 0 .../docs/aztec-nr/testing_contracts.md | 2 +- .../docs/cli/_category_.json | 0 .../docs/cli/aztec_cli_reference.md | 0 .../docs/cli/aztec_up_cli_reference.md | 0 .../docs/cli/aztec_wallet_cli_reference.md | 0 .../docs/foundational-topics/_category_.json | 0 .../accounts/_category_.json | 0 .../foundational-topics/accounts/index.md | 0 .../docs/foundational-topics/accounts/keys.md | 2 +- .../advanced/_category_.json | 0 .../foundational-topics/advanced/authwit.md | 0 .../advanced/circuits/_category_.json | 0 .../advanced/circuits/index.md | 0 .../advanced/circuits/private_kernel.md | 0 .../advanced/circuits/public_execution.md | 0 .../advanced/circuits/rollup_circuits.md | 0 .../advanced/storage/_category_.json | 0 .../advanced/storage/indexed_merkle_tree.mdx | 0 .../advanced/storage/note_discovery.md | 0 .../advanced/storage/storage_slots.md | 0 .../docs/foundational-topics/call_types.md | 22 ++++---- .../foundational-topics/contract_creation.md | 0 .../ethereum-aztec-messaging/_category_.json | 0 .../data_structures.md | 12 ++--- .../ethereum-aztec-messaging/inbox.md | 10 ++-- .../ethereum-aztec-messaging/index.md | 0 .../ethereum-aztec-messaging/outbox.md | 8 +-- .../ethereum-aztec-messaging/registry.md | 8 +-- .../docs/foundational-topics/fees.md | 2 +- .../docs/foundational-topics/index.md | 0 .../docs/foundational-topics/pxe/index.md | 0 .../foundational-topics/state_management.md | 6 +-- .../docs/foundational-topics/transactions.md | 14 ++--- .../docs/foundational-topics/wallets.md | 6 +-- .../docs/resources/_category_.json | 0 .../docs/resources/community_calls.md | 0 .../resources/considerations/_category_.json | 0 .../resources/considerations/limitations.md | 2 +- .../considerations/privacy_considerations.md | 0 .../docs/resources/glossary.md | 2 +- .../docs/resources/migration_notes.md | 20 +++++-- .../docs/tutorials/_category_.json | 0 .../contract_tutorials/_category_.json | 0 .../contract_tutorials/counter_contract.md | 16 +++--- .../recursive_verification.md | 38 ++++++------- .../contract_tutorials/token_contract.md | 34 ++++++------ .../docs/tutorials/faceid_wallet.md | 2 +- .../tutorials/js_tutorials/_category_.json | 0 .../js_tutorials/aztecjs-getting-started.md | 20 +++---- .../tutorials/js_tutorials/token_bridge.md | 54 +++++++++---------- .../docs/tutorials/local_network.md | 14 ++--- .../testing_governance_rollup_upgrade.md | 4 +- .../getting_started_on_devnet.md | 0 .../getting_started_on_local_network.md | 2 +- .../overview.md | 0 ...ion-v4.0.0-nightly.20260217-sidebars.json} | 0 docs/developer_versions.json | 2 +- docs/static/aztec-nr-api/nightly/all.html | 2 +- .../context/struct.PrivateContext.html | 16 +++--- ...ruct.PrivateKernelCircuitPublicInputs.html | 6 +-- ...vateToPublicKernelCircuitPublicInputs.html | 6 +-- ...vateToRollupKernelCircuitPublicInputs.html | 6 +-- .../struct.PrivateCircuitPublicInputs.html | 6 +-- ...obal.APPEND_ONLY_TREE_SNAPSHOT_LENGTH.html | 2 +- ...PPEND_ONLY_TREE_SNAPSHOT_LENGTH_BYTES.html | 2 +- .../constants/global.ARCHIVE_HEIGHT.html | 2 +- .../constants/global.ARCHIVE_TREE_ID.html | 2 +- ...bal.ARTIFACT_FUNCTION_TREE_MAX_HEIGHT.html | 2 +- .../global.AVM_ACCUMULATED_DATA_LENGTH.html | 2 +- ...AVM_ADDRESSING_BASE_RESOLUTION_L2_GAS.html | 2 +- ...global.AVM_ADDRESSING_INDIRECT_L2_GAS.html | 2 +- ...global.AVM_ADDRESSING_RELATIVE_L2_GAS.html | 2 +- .../constants/global.AVM_ADD_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_AND_BASE_L2_GAS.html | 2 +- .../global.AVM_BITWISE_AND_OP_ID.html | 2 +- .../global.AVM_BITWISE_DYN_L2_GAS.html | 2 +- .../global.AVM_BITWISE_OR_OP_ID.html | 2 +- .../global.AVM_BITWISE_XOR_OP_ID.html | 2 +- .../global.AVM_CALLDATACOPY_BASE_L2_GAS.html | 2 +- .../global.AVM_CALLDATACOPY_DYN_L2_GAS.html | 2 +- .../global.AVM_CALL_BASE_L2_GAS.html | 2 +- .../global.AVM_CAST_BASE_L2_GAS.html | 2 +- ...obal.AVM_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.AVM_DEBUGLOG_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_DIV_BASE_L2_GAS.html | 2 +- .../global.AVM_DYN_GAS_ID_BITWISE.html | 2 +- .../global.AVM_DYN_GAS_ID_CALLDATACOPY.html | 2 +- .../global.AVM_DYN_GAS_ID_EMITPUBLICLOG.html | 2 +- .../global.AVM_DYN_GAS_ID_RETURNDATACOPY.html | 2 +- .../global.AVM_DYN_GAS_ID_SSTORE.html | 2 +- .../global.AVM_DYN_GAS_ID_TORADIX.html | 2 +- .../global.AVM_ECADD_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITNOTEHASH_BASE_DA_GAS.html | 2 +- .../global.AVM_EMITNOTEHASH_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITNULLIFIER_BASE_DA_GAS.html | 2 +- .../global.AVM_EMITNULLIFIER_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_BASE_DA_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_DYN_DA_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_DYN_L2_GAS.html | 2 +- .../constants/global.AVM_EQ_BASE_L2_GAS.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_ADD.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_DIV.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_EQ.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_FDIV.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_LT.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_LTE.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_MUL.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_NOT.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_SHL.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_SHR.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_SUB.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_TRUNCATE.html | 2 +- .../constants/global.AVM_EXEC_OP_ID_CALL.html | 2 +- .../global.AVM_EXEC_OP_ID_DEBUGLOG.html | 2 +- .../global.AVM_EXEC_OP_ID_EMIT_NOTEHASH.html | 2 +- .../global.AVM_EXEC_OP_ID_EMIT_NULLIFIER.html | 2 +- .../global.AVM_EXEC_OP_ID_GETENVVAR.html | 2 +- .../global.AVM_EXEC_OP_ID_INTERNALCALL.html | 2 +- .../global.AVM_EXEC_OP_ID_INTERNALRETURN.html | 2 +- .../constants/global.AVM_EXEC_OP_ID_JUMP.html | 2 +- .../global.AVM_EXEC_OP_ID_JUMPI.html | 2 +- ...VM_EXEC_OP_ID_L1_TO_L2_MESSAGE_EXISTS.html | 2 +- .../constants/global.AVM_EXEC_OP_ID_MOV.html | 2 +- ...global.AVM_EXEC_OP_ID_NOTEHASH_EXISTS.html | 2 +- ...lobal.AVM_EXEC_OP_ID_NULLIFIER_EXISTS.html | 2 +- .../global.AVM_EXEC_OP_ID_RETURN.html | 2 +- .../global.AVM_EXEC_OP_ID_RETURNDATASIZE.html | 2 +- .../global.AVM_EXEC_OP_ID_REVERT.html | 2 +- .../global.AVM_EXEC_OP_ID_SENDL2TOL1MSG.html | 2 +- .../global.AVM_EXEC_OP_ID_SLOAD.html | 2 +- .../global.AVM_EXEC_OP_ID_SSTORE.html | 2 +- .../global.AVM_EXEC_OP_ID_STATICCALL.html | 2 +- .../global.AVM_EXEC_OP_ID_SUCCESSCOPY.html | 2 +- .../global.AVM_FDIV_BASE_L2_GAS.html | 2 +- ...l.AVM_GETCONTRACTINSTANCE_BASE_L2_GAS.html | 2 +- .../global.AVM_GETENVVAR_BASE_L2_GAS.html | 2 +- .../global.AVM_HIGHEST_MEM_ADDRESS.html | 2 +- .../global.AVM_INTERNALCALL_BASE_L2_GAS.html | 2 +- ...global.AVM_INTERNALRETURN_BASE_L2_GAS.html | 2 +- .../global.AVM_JUMPI_BASE_L2_GAS.html | 2 +- .../global.AVM_JUMP_BASE_L2_GAS.html | 2 +- .../global.AVM_KECCAKF1600_BASE_L2_GAS.html | 2 +- .../global.AVM_KECCAKF1600_NUM_ROUNDS.html | 2 +- .../global.AVM_KECCAKF1600_STATE_SIZE.html | 2 +- ...lobal.AVM_L1TOL2MSGEXISTS_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_LTE_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_LT_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_MAX_OPERANDS.html | 2 +- .../global.AVM_MAX_PROCESSABLE_L2_GAS.html | 2 +- .../constants/global.AVM_MAX_REGISTERS.html | 2 +- .../constants/global.AVM_MEMORY_NUM_BITS.html | 2 +- .../constants/global.AVM_MEMORY_SIZE.html | 2 +- .../constants/global.AVM_MOV_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_MUL_BASE_L2_GAS.html | 2 +- ...global.AVM_NOTEHASHEXISTS_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_NOT_BASE_L2_GAS.html | 2 +- ...lobal.AVM_NULLIFIEREXISTS_BASE_L2_GAS.html | 2 +- .../global.AVM_NUM_PUBLIC_INPUT_COLUMNS.html | 2 +- .../constants/global.AVM_OR_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_PC_SIZE_IN_BITS.html | 2 +- .../global.AVM_POSEIDON2_BASE_L2_GAS.html | 2 +- ...A_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ...ATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX.html | 2 +- ...DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX.html | 2 +- ...AY_LENGTHS_PUBLIC_DATA_WRITES_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX.html | 2 +- ...M_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX.html | 2 +- ...LATED_DATA_PUBLIC_DATA_WRITES_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_PUBLIC_LOGS_ROW_IDX.html | 2 +- ...C_INPUTS_AVM_ACCUMULATED_DATA_ROW_IDX.html | 2 +- ...PUBLIC_INPUTS_COLUMNS_COMBINED_LENGTH.html | 2 +- ....AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH.html | 2 +- ...LIC_INPUTS_EFFECTIVE_GAS_FEES_ROW_IDX.html | 2 +- ...VM_PUBLIC_INPUTS_END_GAS_USED_ROW_IDX.html | 2 +- ...APSHOTS_L1_TO_L2_MESSAGE_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NOTE_HASH_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NULLIFIER_TREE_ROW_IDX.html | 2 +- ...EE_SNAPSHOTS_PUBLIC_DATA_TREE_ROW_IDX.html | 2 +- ...LIC_INPUTS_END_TREE_SNAPSHOTS_ROW_IDX.html | 2 +- ...l.AVM_PUBLIC_INPUTS_FEE_PAYER_ROW_IDX.html | 2 +- ...NPUTS_GAS_SETTINGS_GAS_LIMITS_ROW_IDX.html | 2 +- ...GAS_SETTINGS_MAX_FEES_PER_GAS_ROW_IDX.html | 2 +- ...NGS_MAX_PRIORITY_FEES_PER_GAS_ROW_IDX.html | 2 +- ...VM_PUBLIC_INPUTS_GAS_SETTINGS_ROW_IDX.html | 2 +- ..._SETTINGS_TEARDOWN_GAS_LIMITS_ROW_IDX.html | 2 +- ...GLOBAL_VARIABLES_BLOCK_NUMBER_ROW_IDX.html | 2 +- ...UTS_GLOBAL_VARIABLES_CHAIN_ID_ROW_IDX.html | 2 +- ...UTS_GLOBAL_VARIABLES_COINBASE_ROW_IDX.html | 2 +- ...LOBAL_VARIABLES_FEE_RECIPIENT_ROW_IDX.html | 2 +- ...UTS_GLOBAL_VARIABLES_GAS_FEES_ROW_IDX.html | 2 +- ...UBLIC_INPUTS_GLOBAL_VARIABLES_ROW_IDX.html | 2 +- ..._GLOBAL_VARIABLES_SLOT_NUMBER_ROW_IDX.html | 2 +- ...TS_GLOBAL_VARIABLES_TIMESTAMP_ROW_IDX.html | 2 +- ...PUTS_GLOBAL_VARIABLES_VERSION_ROW_IDX.html | 2 +- ...A_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ...ATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX.html | 2 +- ...DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX.html | 2 +- ...E_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX.html | 2 +- ...N_REVERTIBLE_ACCUMULATED_DATA_ROW_IDX.html | 2 +- ...A_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ...ATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX.html | 2 +- ...DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX.html | 2 +- ...E_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX.html | 2 +- ...S_REVERTIBLE_ACCUMULATED_DATA_ROW_IDX.html | 2 +- ...LIC_INPUTS_PROTOCOL_CONTRACTS_ROW_IDX.html | 2 +- ...l.AVM_PUBLIC_INPUTS_PROVER_ID_ROW_IDX.html | 2 +- ...UBLIC_APP_LOGIC_CALL_REQUESTS_ROW_IDX.html | 2 +- ...ARRAY_LENGTHS_APP_LOGIC_CALLS_ROW_IDX.html | 2 +- ...IC_CALL_REQUEST_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...EST_ARRAY_LENGTHS_SETUP_CALLS_ROW_IDX.html | 2 +- ...T_ARRAY_LENGTHS_TEARDOWN_CALL_ROW_IDX.html | 2 +- ...TS_PUBLIC_SETUP_CALL_REQUESTS_ROW_IDX.html | 2 +- ..._PUBLIC_TEARDOWN_CALL_REQUEST_ROW_IDX.html | 2 +- ...al.AVM_PUBLIC_INPUTS_REVERTED_ROW_IDX.html | 2 +- ..._PUBLIC_INPUTS_START_GAS_USED_ROW_IDX.html | 2 +- ...APSHOTS_L1_TO_L2_MESSAGE_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NOTE_HASH_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NULLIFIER_TREE_ROW_IDX.html | 2 +- ...EE_SNAPSHOTS_PUBLIC_DATA_TREE_ROW_IDX.html | 2 +- ...C_INPUTS_START_TREE_SNAPSHOTS_ROW_IDX.html | 2 +- ...PUBLIC_INPUTS_TRANSACTION_FEE_ROW_IDX.html | 2 +- ...l.AVM_RETRIEVED_BYTECODES_TREE_HEIGHT.html | 2 +- ...RETRIEVED_BYTECODES_TREE_INITIAL_ROOT.html | 2 +- ...RETRIEVED_BYTECODES_TREE_INITIAL_SIZE.html | 2 +- ...global.AVM_RETURNDATACOPY_BASE_L2_GAS.html | 2 +- .../global.AVM_RETURNDATACOPY_DYN_L2_GAS.html | 2 +- ...global.AVM_RETURNDATASIZE_BASE_L2_GAS.html | 2 +- .../global.AVM_RETURN_BASE_L2_GAS.html | 2 +- .../global.AVM_REVERT_BASE_L2_GAS.html | 2 +- .../global.AVM_SENDL2TOL1MSG_BASE_DA_GAS.html | 2 +- .../global.AVM_SENDL2TOL1MSG_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SET_BASE_L2_GAS.html | 2 +- ...bal.AVM_SHA256COMPRESSION_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SHL_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SHR_BASE_L2_GAS.html | 2 +- .../global.AVM_SLOAD_BASE_L2_GAS.html | 2 +- .../global.AVM_SSTORE_BASE_L2_GAS.html | 2 +- .../global.AVM_SSTORE_DYN_DA_GAS.html | 2 +- .../global.AVM_STATICCALL_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SUBTRACE_ID_ALU.html | 2 +- .../global.AVM_SUBTRACE_ID_BITWISE.html | 2 +- .../global.AVM_SUBTRACE_ID_CALLDATA_COPY.html | 2 +- .../global.AVM_SUBTRACE_ID_CAST.html | 2 +- .../constants/global.AVM_SUBTRACE_ID_ECC.html | 2 +- .../global.AVM_SUBTRACE_ID_EMITPUBLICLOG.html | 2 +- .../global.AVM_SUBTRACE_ID_EXECUTION.html | 2 +- ...l.AVM_SUBTRACE_ID_GETCONTRACTINSTANCE.html | 2 +- .../global.AVM_SUBTRACE_ID_KECCAKF1600.html | 2 +- ...global.AVM_SUBTRACE_ID_POSEIDON2_PERM.html | 2 +- ...lobal.AVM_SUBTRACE_ID_RETURNDATA_COPY.html | 2 +- .../constants/global.AVM_SUBTRACE_ID_SET.html | 2 +- ...al.AVM_SUBTRACE_ID_SHA256_COMPRESSION.html | 2 +- .../global.AVM_SUBTRACE_ID_TO_RADIX.html | 2 +- .../constants/global.AVM_SUB_BASE_L2_GAS.html | 2 +- .../global.AVM_SUCCESSCOPY_BASE_L2_GAS.html | 2 +- .../global.AVM_TORADIXBE_BASE_L2_GAS.html | 2 +- .../global.AVM_TORADIXBE_DYN_L2_GAS.html | 2 +- .../global.AVM_TX_PHASE_VALUE_LAST.html | 2 +- .../global.AVM_TX_PHASE_VALUE_SETUP.html | 2 +- .../global.AVM_TX_PHASE_VALUE_START.html | 2 +- ....AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED.html | 2 +- ...IFICATION_KEY_LENGTH_IN_FIELDS_PADDED.html | 2 +- ...AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS.html | 2 +- ...WRITTEN_PUBLIC_DATA_SLOTS_TREE_HEIGHT.html | 2 +- ...N_PUBLIC_DATA_SLOTS_TREE_INITIAL_ROOT.html | 2 +- ...N_PUBLIC_DATA_SLOTS_TREE_INITIAL_SIZE.html | 2 +- .../constants/global.AVM_XOR_BASE_L2_GAS.html | 2 +- .../global.AZTEC_ADDRESS_LENGTH.html | 2 +- .../global.BLOBS_PER_CHECKPOINT.html | 2 +- .../global.BLOB_ACCUMULATOR_LENGTH.html | 2 +- .../global.BLOCK_CONSTANT_DATA_LENGTH.html | 2 +- .../constants/global.BLOCK_END_PREFIX.html | 2 +- .../constants/global.BLOCK_HEADER_LENGTH.html | 2 +- .../global.BLOCK_MERGE_ROLLUP_VK_INDEX.html | 2 +- ...bal.BLOCK_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- ...K_ROOT_EMPTY_TX_FIRST_ROLLUP_VK_INDEX.html | 2 +- ...obal.BLOCK_ROOT_FIRST_ROLLUP_VK_INDEX.html | 2 +- .../global.BLOCK_ROOT_ROLLUP_VK_INDEX.html | 2 +- ..._ROOT_SINGLE_TX_FIRST_ROLLUP_VK_INDEX.html | 2 +- ....BLOCK_ROOT_SINGLE_TX_ROLLUP_VK_INDEX.html | 2 +- .../constants/global.BLS12_FQ_LIMBS.html | 2 +- .../constants/global.BLS12_FR_LIMBS.html | 2 +- .../global.BLS12_POINT_COMPRESSED_BYTES.html | 2 +- .../constants/global.BLS12_POINT_LENGTH.html | 2 +- .../constants/global.CALL_CONTEXT_LENGTH.html | 2 +- ...lobal.CANONICAL_AUTH_REGISTRY_ADDRESS.html | 2 +- ...lobal.CHECKPOINT_CONSTANT_DATA_LENGTH.html | 2 +- .../global.CHECKPOINT_END_PREFIX.html | 2 +- .../global.CHECKPOINT_HEADER_LENGTH.html | 2 +- ...lobal.CHECKPOINT_HEADER_SIZE_IN_BYTES.html | 2 +- ...obal.CHECKPOINT_MERGE_ROLLUP_VK_INDEX.html | 2 +- ...al.CHECKPOINT_PADDING_ROLLUP_VK_INDEX.html | 2 +- ...HECKPOINT_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- ...lobal.CHECKPOINT_ROOT_ROLLUP_VK_INDEX.html | 2 +- ...INT_ROOT_SINGLE_BLOCK_ROLLUP_VK_INDEX.html | 2 +- .../constants/global.CHONK_PROOF_LENGTH.html | 2 +- .../global.CHONK_VK_LENGTH_IN_FIELDS.html | 2 +- ...UNCTION_BROADCASTED_ADDITIONAL_FIELDS.html | 2 +- ...UNCTION_BROADCASTED_ADDITIONAL_FIELDS.html | 2 +- .../global.COMBINED_CONSTANT_DATA_LENGTH.html | 2 +- .../global.CONTRACT_CLASS_LOG_LENGTH.html | 2 +- ...bal.CONTRACT_CLASS_LOG_SIZE_IN_FIELDS.html | 2 +- ....CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE.html | 2 +- ..._CLASS_REGISTRY_BYTECODE_CAPSULE_SLOT.html | 2 +- ...TRACT_CLASS_REGISTRY_CONTRACT_ADDRESS.html | 2 +- ...VATE_FUNCTION_BROADCASTED_MAGIC_VALUE.html | 2 +- ...LITY_FUNCTION_BROADCASTED_MAGIC_VALUE.html | 2 +- .../global.CONTRACT_INSTANCE_LENGTH.html | 2 +- ...NTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE.html | 2 +- ...CT_INSTANCE_REGISTRY_CONTRACT_ADDRESS.html | 2 +- ...CONTRACT_INSTANCE_UPDATED_MAGIC_VALUE.html | 2 +- .../global.CONTRACT_STORAGE_READ_LENGTH.html | 2 +- ...ONTRACT_STORAGE_UPDATE_REQUEST_LENGTH.html | 2 +- ...lobal.COUNTED_L2_TO_L1_MESSAGE_LENGTH.html | 2 +- .../global.COUNTED_LOG_HASH_LENGTH.html | 2 +- ...al.COUNTED_PUBLIC_CALL_REQUEST_LENGTH.html | 2 +- .../constants/global.DA_BYTES_PER_FIELD.html | 2 +- .../constants/global.DA_GAS_PER_BYTE.html | 2 +- .../global.DEFAULT_DA_GAS_LIMIT.html | 2 +- .../constants/global.DEFAULT_IVPK_M_X.html | 2 +- .../constants/global.DEFAULT_IVPK_M_Y.html | 2 +- .../global.DEFAULT_L2_GAS_LIMIT.html | 2 +- ...al.DEFAULT_MAX_DEBUG_LOG_MEMORY_READS.html | 2 +- .../constants/global.DEFAULT_NPK_M_X.html | 2 +- .../constants/global.DEFAULT_NPK_M_Y.html | 2 +- .../constants/global.DEFAULT_OVPK_M_X.html | 2 +- .../constants/global.DEFAULT_OVPK_M_Y.html | 2 +- .../global.DEFAULT_TEARDOWN_DA_GAS_LIMIT.html | 2 +- .../global.DEFAULT_TEARDOWN_L2_GAS_LIMIT.html | 2 +- .../constants/global.DEFAULT_TPK_M_X.html | 2 +- .../constants/global.DEFAULT_TPK_M_Y.html | 2 +- .../global.DEFAULT_UPDATE_DELAY.html | 2 +- .../global.DOM_SEP__AUTHWIT_INNER.html | 2 +- .../global.DOM_SEP__AUTHWIT_NULLIFIER.html | 2 +- .../global.DOM_SEP__AUTHWIT_OUTER.html | 2 +- .../global.DOM_SEP__BLOCK_HEADER_HASH.html | 2 +- .../global.DOM_SEP__CONTRACT_ADDRESS_V1.html | 2 +- .../global.DOM_SEP__CONTRACT_CLASS_ID.html | 2 +- .../global.DOM_SEP__EVENT_COMMITMENT.html | 2 +- .../global.DOM_SEP__FUNCTION_ARGS.html | 2 +- ...bal.DOM_SEP__INITIALIZATION_NULLIFIER.html | 2 +- .../global.DOM_SEP__INITIALIZER.html | 2 +- .../constants/global.DOM_SEP__IVSK_M.html | 2 +- .../global.DOM_SEP__MESSAGE_NULLIFIER.html | 2 +- .../constants/global.DOM_SEP__NHK_M.html | 2 +- .../constants/global.DOM_SEP__NOTE_HASH.html | 2 +- .../global.DOM_SEP__NOTE_HASH_NONCE.html | 2 +- .../global.DOM_SEP__NOTE_NULLIFIER.html | 2 +- .../constants/global.DOM_SEP__OVSK_M.html | 2 +- .../global.DOM_SEP__PARTIAL_ADDRESS.html | 2 +- ...SEP__PARTIAL_NOTE_VALIDITY_COMMITMENT.html | 2 +- ...global.DOM_SEP__PRIVATE_FUNCTION_LEAF.html | 2 +- ...obal.DOM_SEP__PRIVATE_LOG_FIRST_FIELD.html | 2 +- .../global.DOM_SEP__PRIVATE_TX_HASH.html | 2 +- .../global.DOM_SEP__PROTOCOL_CONTRACTS.html | 2 +- .../global.DOM_SEP__PUBLIC_BYTECODE.html | 2 +- .../global.DOM_SEP__PUBLIC_CALLDATA.html | 2 +- .../global.DOM_SEP__PUBLIC_KEYS_HASH.html | 2 +- .../global.DOM_SEP__PUBLIC_LEAF_SLOT.html | 2 +- ...obal.DOM_SEP__PUBLIC_STORAGE_MAP_SLOT.html | 2 +- .../global.DOM_SEP__PUBLIC_TX_HASH.html | 2 +- .../global.DOM_SEP__SECRET_HASH.html | 2 +- .../global.DOM_SEP__SIGNATURE_PAYLOAD.html | 2 +- .../global.DOM_SEP__SILOED_NOTE_HASH.html | 2 +- .../global.DOM_SEP__SILOED_NULLIFIER.html | 2 +- .../global.DOM_SEP__SYMMETRIC_KEY.html | 2 +- .../global.DOM_SEP__SYMMETRIC_KEY_2.html | 2 +- .../constants/global.DOM_SEP__TSK_M.html | 2 +- .../global.DOM_SEP__TX_NULLIFIER.html | 2 +- .../constants/global.DOM_SEP__TX_REQUEST.html | 2 +- .../global.DOM_SEP__UNIQUE_NOTE_HASH.html | 2 +- .../global.EMPTY_EPOCH_OUT_HASH.html | 2 +- .../global.EPOCH_CONSTANT_DATA_LENGTH.html | 2 +- .../constants/global.ETH_ADDRESS_LENGTH.html | 2 +- .../constants/global.FEE_JUICE_ADDRESS.html | 2 +- .../global.FEE_JUICE_BALANCES_SLOT.html | 2 +- .../global.FEE_RECIPIENT_LENGTH.html | 2 +- .../constants/global.FIELDS_PER_BLOB.html | 2 +- .../global.FINAL_BLOB_ACCUMULATOR_LENGTH.html | 2 +- ...FINAL_BLOB_BATCHING_CHALLENGES_LENGTH.html | 2 +- .../global.FIXED_AVM_STARTUP_L2_GAS.html | 2 +- .../constants/global.FIXED_DA_GAS.html | 2 +- .../constants/global.FIXED_L2_GAS.html | 2 +- ...global.FLAT_PUBLIC_LOGS_HEADER_LENGTH.html | 2 +- ...lobal.FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH.html | 2 +- .../global.FUNCTION_DATA_LENGTH.html | 2 +- .../global.FUNCTION_LEAF_PREIMAGE_LENGTH.html | 2 +- .../global.FUNCTION_SELECTOR_NUM_BYTES.html | 2 +- .../global.FUNCTION_TREE_HEIGHT.html | 2 +- .../global.GAS_ESTIMATION_DA_GAS_LIMIT.html | 2 +- .../global.GAS_ESTIMATION_L2_GAS_LIMIT.html | 2 +- ....GAS_ESTIMATION_TEARDOWN_DA_GAS_LIMIT.html | 2 +- ....GAS_ESTIMATION_TEARDOWN_L2_GAS_LIMIT.html | 2 +- .../constants/global.GAS_FEES_LENGTH.html | 2 +- .../protocol/constants/global.GAS_LENGTH.html | 2 +- .../constants/global.GAS_SETTINGS_LENGTH.html | 2 +- .../global.GENESIS_ARCHIVE_ROOT.html | 2 +- .../global.GENESIS_BLOCK_HEADER_HASH.html | 2 +- ..._INDEX_CONTRACT_CLASS_LOG_HASH_OFFSET.html | 2 +- ...REVERTIBLE_SIDE_EFFECT_COUNTER_OFFSET.html | 2 +- ...obal.GLOBAL_INDEX_L2_TO_L1_MSG_OFFSET.html | 2 +- .../global.GLOBAL_INDEX_NOTE_HASH_OFFSET.html | 2 +- ...L_INDEX_NOTE_HASH_READ_REQUEST_OFFSET.html | 2 +- .../global.GLOBAL_INDEX_NULLIFIER_OFFSET.html | 2 +- ...L_INDEX_NULLIFIER_READ_REQUEST_OFFSET.html | 2 +- ...INDEX_PRIVATE_CALL_REQUEST_END_OFFSET.html | 2 +- ...DEX_PRIVATE_CALL_REQUEST_START_OFFSET.html | 2 +- ...lobal.GLOBAL_INDEX_PRIVATE_LOG_OFFSET.html | 2 +- ...OBAL_INDEX_PUBLIC_CALL_REQUEST_OFFSET.html | 2 +- .../global.GLOBAL_VARIABLES_LENGTH.html | 2 +- .../constants/global.GRUMPKIN_ONE_X.html | 2 +- .../constants/global.GRUMPKIN_ONE_Y.html | 2 +- ...l.HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE.html | 2 +- ...obal.HIDING_KERNEL_TO_PUBLIC_VK_INDEX.html | 2 +- ...obal.HIDING_KERNEL_TO_ROLLUP_VK_INDEX.html | 2 +- .../global.INITIAL_CHECKPOINT_NUMBER.html | 2 +- .../global.INITIAL_L2_BLOCK_NUM.html | 2 +- .../constants/global.IPA_CLAIM_SIZE.html | 2 +- .../constants/global.IPA_PROOF_LENGTH.html | 2 +- ...LIDATION_REQUEST_AND_GENERATOR_LENGTH.html | 2 +- .../global.KEY_VALIDATION_REQUEST_LENGTH.html | 2 +- .../global.L1_TO_L2_MESSAGE_LENGTH.html | 2 +- .../global.L1_TO_L2_MESSAGE_TREE_ID.html | 2 +- .../global.L1_TO_L2_MSG_SUBTREE_HEIGHT.html | 2 +- ..._MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH.html | 2 +- .../global.L1_TO_L2_MSG_TREE_HEIGHT.html | 2 +- .../global.L1_TO_L2_MSG_TREE_LEAF_COUNT.html | 2 +- ...al.L2_GAS_DISTRIBUTED_STORAGE_PREMIUM.html | 2 +- .../global.L2_GAS_PER_CONTRACT_CLASS_LOG.html | 2 +- .../global.L2_GAS_PER_L2_TO_L1_MSG.html | 2 +- .../global.L2_GAS_PER_NOTE_HASH.html | 2 +- .../global.L2_GAS_PER_NULLIFIER.html | 2 +- .../global.L2_GAS_PER_PRIVATE_LOG.html | 2 +- .../global.L2_TO_L1_MESSAGE_LENGTH.html | 2 +- .../constants/global.LOG_HASH_LENGTH.html | 2 +- .../global.MAX_CHECKPOINTS_PER_EPOCH.html | 2 +- ...obal.MAX_CONTRACT_CLASS_LOGS_PER_CALL.html | 2 +- ...global.MAX_CONTRACT_CLASS_LOGS_PER_TX.html | 2 +- .../global.MAX_ENQUEUED_CALLS_PER_CALL.html | 2 +- .../global.MAX_ENQUEUED_CALLS_PER_TX.html | 2 +- .../global.MAX_ETH_ADDRESS_BIT_SIZE.html | 2 +- .../global.MAX_ETH_ADDRESS_VALUE.html | 2 +- .../constants/global.MAX_FIELD_VALUE.html | 2 +- ...MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS.html | 2 +- ....MAX_KEY_VALIDATION_REQUESTS_PER_CALL.html | 2 +- ...al.MAX_KEY_VALIDATION_REQUESTS_PER_TX.html | 2 +- .../global.MAX_L2_TO_L1_MSGS_PER_CALL.html | 2 +- .../global.MAX_L2_TO_L1_MSGS_PER_TX.html | 2 +- ...obal.MAX_L2_TO_L1_MSG_SUBTREES_PER_TX.html | 2 +- .../global.MAX_NOTE_HASHES_PER_CALL.html | 2 +- .../global.MAX_NOTE_HASHES_PER_TX.html | 2 +- ....MAX_NOTE_HASH_READ_REQUESTS_PER_CALL.html | 2 +- ...al.MAX_NOTE_HASH_READ_REQUESTS_PER_TX.html | 2 +- .../global.MAX_NULLIFIERS_PER_CALL.html | 2 +- .../global.MAX_NULLIFIERS_PER_TX.html | 2 +- ....MAX_NULLIFIER_READ_REQUESTS_PER_CALL.html | 2 +- ...al.MAX_NULLIFIER_READ_REQUESTS_PER_TX.html | 2 +- ...E_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS.html | 2 +- ...E_SIZE_PER_UTILITY_FUNCTION_IN_FIELDS.html | 2 +- ...PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS.html | 2 +- ...AX_PRIVATE_CALL_STACK_LENGTH_PER_CALL.html | 2 +- ....MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX.html | 2 +- .../global.MAX_PRIVATE_LOGS_PER_CALL.html | 2 +- .../global.MAX_PRIVATE_LOGS_PER_TX.html | 2 +- ...MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT.html | 2 +- .../global.MAX_PROTOCOL_CONTRACTS.html | 2 +- ...bal.MAX_PUBLIC_BYTECODE_SIZE_IN_BYTES.html | 2 +- ...IC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS.html | 2 +- .../global.MAX_PUBLIC_DATA_READS_PER_TX.html | 2 +- ...AX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX.html | 2 +- .../global.MAX_PUBLIC_LOG_SIZE_IN_FIELDS.html | 2 +- ...AL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX.html | 2 +- ...ATION.html => global.MAX_TX_LIFETIME.html} | 10 ++-- .../constants/global.MAX_U32_VALUE.html | 2 +- .../constants/global.MAX_U64_VALUE.html | 2 +- .../global.MEGA_VK_LENGTH_IN_FIELDS.html | 2 +- .../protocol/constants/global.MEM_TAG_FF.html | 2 +- .../protocol/constants/global.MEM_TAG_U1.html | 2 +- .../constants/global.MEM_TAG_U128.html | 2 +- .../constants/global.MEM_TAG_U16.html | 2 +- .../constants/global.MEM_TAG_U32.html | 2 +- .../constants/global.MEM_TAG_U64.html | 2 +- .../protocol/constants/global.MEM_TAG_U8.html | 2 +- .../global.MINIMUM_UPDATE_DELAY.html | 2 +- .../global.MULTI_CALL_ENTRYPOINT_ADDRESS.html | 2 +- .../global.NESTED_RECURSIVE_PROOF_LENGTH.html | 2 +- ...ED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH.html | 2 +- .../constants/global.NOTE_HASH_LENGTH.html | 2 +- .../global.NOTE_HASH_SUBTREE_HEIGHT.html | 2 +- ...HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH.html | 2 +- .../global.NOTE_HASH_TREE_HEIGHT.html | 2 +- .../constants/global.NOTE_HASH_TREE_ID.html | 2 +- .../global.NOTE_HASH_TREE_LEAF_COUNT.html | 2 +- .../constants/global.NULLIFIER_LENGTH.html | 2 +- .../global.NULLIFIER_SUBTREE_HEIGHT.html | 2 +- ...FIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH.html | 2 +- .../global.NULLIFIER_TREE_HEIGHT.html | 2 +- .../constants/global.NULLIFIER_TREE_ID.html | 2 +- ...obal.NULL_MSG_SENDER_CONTRACT_ADDRESS.html | 2 +- ...l.NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP.html | 2 +- ...lobal.NUM_AVM_ACCUMULATED_DATA_ARRAYS.html | 2 +- ...lobal.NUM_BASE_PARITY_PER_ROOT_PARITY.html | 2 +- .../global.NUM_MSGS_PER_BASE_PARITY.html | 2 +- ...RIVATE_TO_AVM_ACCUMULATED_DATA_ARRAYS.html | 2 +- ...global.NUM_PUBLIC_CALL_REQUEST_ARRAYS.html | 2 +- .../global.OUT_HASH_TREE_HEIGHT.html | 2 +- .../global.OUT_HASH_TREE_LEAF_COUNT.html | 2 +- .../constants/global.PAIRING_POINTS_SIZE.html | 2 +- .../global.PARITY_BASE_VK_INDEX.html | 2 +- .../global.PARITY_ROOT_VK_INDEX.html | 2 +- ...global.PARTIAL_STATE_REFERENCE_LENGTH.html | 2 +- ...lobal.PRIVATE_ACCUMULATED_DATA_LENGTH.html | 2 +- .../global.PRIVATE_CALL_REQUEST_LENGTH.html | 2 +- ....PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.PRIVATE_CONTEXT_INPUTS_LENGTH.html | 2 +- ...E_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.PRIVATE_KERNEL_INIT_VK_INDEX.html | 2 +- .../global.PRIVATE_KERNEL_INNER_VK_INDEX.html | 2 +- .../global.PRIVATE_KERNEL_RESET_VK_INDEX.html | 2 +- ...RIVATE_KERNEL_TAIL_TO_PUBLIC_VK_INDEX.html | 2 +- .../global.PRIVATE_KERNEL_TAIL_VK_INDEX.html | 2 +- .../global.PRIVATE_LOG_CIPHERTEXT_LEN.html | 2 +- .../global.PRIVATE_LOG_DATA_LENGTH.html | 2 +- .../constants/global.PRIVATE_LOG_LENGTH.html | 2 +- .../global.PRIVATE_LOG_SIZE_IN_FIELDS.html | 2 +- ...RIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH.html | 2 +- ...ATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH.html | 2 +- ...C_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- ...ATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH.html | 2 +- ...P_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- ...lobal.PRIVATE_TX_BASE_ROLLUP_VK_INDEX.html | 2 +- ...al.PRIVATE_VALIDATION_REQUESTS_LENGTH.html | 2 +- .../constants/global.PROOF_TYPE_AVM.html | 2 +- .../constants/global.PROOF_TYPE_CHONK.html | 2 +- .../constants/global.PROOF_TYPE_HN.html | 2 +- .../constants/global.PROOF_TYPE_HN_FINAL.html | 2 +- .../constants/global.PROOF_TYPE_HN_TAIL.html | 2 +- .../constants/global.PROOF_TYPE_HONK.html | 2 +- .../constants/global.PROOF_TYPE_OINK.html | 2 +- .../global.PROOF_TYPE_ROLLUP_HONK.html | 2 +- .../global.PROOF_TYPE_ROOT_ROLLUP_HONK.html | 2 +- ...OL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX.html | 2 +- .../global.PUBLIC_CALL_REQUEST_LENGTH.html | 2 +- ...LIC_CALL_STACK_ITEM_COMPRESSED_LENGTH.html | 2 +- .../global.PUBLIC_CHECKS_ADDRESS.html | 2 +- ...global.PUBLIC_CHONK_VERIFIER_VK_INDEX.html | 2 +- .../global.PUBLIC_DATA_READ_LENGTH.html | 2 +- .../global.PUBLIC_DATA_SUBTREE_HEIGHT.html | 2 +- .../global.PUBLIC_DATA_TREE_HEIGHT.html | 2 +- .../constants/global.PUBLIC_DATA_TREE_ID.html | 2 +- .../global.PUBLIC_DATA_WRITE_LENGTH.html | 2 +- ...obal.PUBLIC_INNER_CALL_REQUEST_LENGTH.html | 2 +- .../constants/global.PUBLIC_LOGS_LENGTH.html | 2 +- .../global.PUBLIC_LOG_HEADER_LENGTH.html | 2 +- ...global.PUBLIC_TX_BASE_ROLLUP_VK_INDEX.html | 2 +- .../global.RECURSIVE_PROOF_LENGTH.html | 2 +- ...al.RECURSIVE_ROLLUP_HONK_PROOF_LENGTH.html | 2 +- ...obal.ROOT_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.ROOT_ROLLUP_VK_INDEX.html | 2 +- ...COPED_COUNTED_L2_TO_L1_MESSAGE_LENGTH.html | 2 +- ...global.SCOPED_COUNTED_LOG_HASH_LENGTH.html | 2 +- ...LIDATION_REQUEST_AND_GENERATOR_LENGTH.html | 2 +- ...global.SCOPED_L2_TO_L1_MESSAGE_LENGTH.html | 2 +- .../global.SCOPED_LOG_HASH_LENGTH.html | 2 +- .../global.SCOPED_NOTE_HASH_LENGTH.html | 2 +- .../global.SCOPED_NULLIFIER_LENGTH.html | 2 +- ...global.SCOPED_PRIVATE_LOG_DATA_LENGTH.html | 2 +- .../global.SCOPED_READ_REQUEST_LEN.html | 2 +- .../global.SIDE_EFFECT_MASKING_ADDRESS.html | 2 +- .../constants/global.SPONGE_BLOB_LENGTH.html | 2 +- .../global.STATE_REFERENCE_LENGTH.html | 2 +- .../global.TIMESTAMP_OF_CHANGE_BIT_SIZE.html | 2 +- ...l.TOTAL_COUNTED_SIDE_EFFECTS_PER_CALL.html | 2 +- .../constants/global.TOTAL_FEES_LENGTH.html | 2 +- .../global.TOTAL_MANA_USED_LENGTH.html | 2 +- .../global.TREE_LEAF_READ_REQUEST_LENGTH.html | 2 +- .../global.TREE_SNAPSHOTS_LENGTH.html | 2 +- .../protocol/constants/global.TWO_POW_64.html | 2 +- .../global.TX_CONSTANT_DATA_LENGTH.html | 2 +- .../constants/global.TX_CONTEXT_LENGTH.html | 2 +- .../global.TX_MERGE_ROLLUP_VK_INDEX.html | 2 +- .../constants/global.TX_REQUEST_LENGTH.html | 2 +- ...global.TX_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- .../constants/global.TX_START_PREFIX.html | 2 +- .../global.ULTRA_KECCAK_PROOF_LENGTH.html | 2 +- .../global.ULTRA_VK_LENGTH_IN_FIELDS.html | 2 +- .../global.UPDATED_CLASS_IDS_SLOT.html | 2 +- ...AYED_PUBLIC_MUTABLE_METADATA_BIT_SIZE.html | 2 +- ...YED_PUBLIC_MUTABLE_SDC_DELAY_BIT_SIZE.html | 2 +- ...D_PUBLIC_MUTABLE_SDC_IS_SOME_BIT_SIZE.html | 2 +- ...LIC_MUTABLE_SDC_OPTION_DELAY_BIT_SIZE.html | 2 +- ...TES_DELAYED_PUBLIC_MUTABLE_VALUES_LEN.html | 2 +- .../constants/global.UPDATES_VALUE_SIZE.html | 2 +- .../constants/global.VK_TREE_HEIGHT.html | 2 +- .../noir_aztec/protocol/constants/index.html | 2 +- .../struct.ScheduledDelayChange.html | 2 +- .../struct.ScheduledValueChange.html | 4 +- .../struct.FixtureBuilder.html | 6 +-- ...ruct.PrivateKernelCircuitPublicInputs.html | 6 +-- ...vateToPublicKernelCircuitPublicInputs.html | 6 +-- ...vateToRollupKernelCircuitPublicInputs.html | 6 +-- .../struct.PrivateCircuitPublicInputs.html | 6 +-- ...obal.APPEND_ONLY_TREE_SNAPSHOT_LENGTH.html | 2 +- ...PPEND_ONLY_TREE_SNAPSHOT_LENGTH_BYTES.html | 2 +- .../constants/global.ARCHIVE_HEIGHT.html | 2 +- .../constants/global.ARCHIVE_TREE_ID.html | 2 +- ...bal.ARTIFACT_FUNCTION_TREE_MAX_HEIGHT.html | 2 +- .../global.AVM_ACCUMULATED_DATA_LENGTH.html | 2 +- ...AVM_ADDRESSING_BASE_RESOLUTION_L2_GAS.html | 2 +- ...global.AVM_ADDRESSING_INDIRECT_L2_GAS.html | 2 +- ...global.AVM_ADDRESSING_RELATIVE_L2_GAS.html | 2 +- .../constants/global.AVM_ADD_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_AND_BASE_L2_GAS.html | 2 +- .../global.AVM_BITWISE_AND_OP_ID.html | 2 +- .../global.AVM_BITWISE_DYN_L2_GAS.html | 2 +- .../global.AVM_BITWISE_OR_OP_ID.html | 2 +- .../global.AVM_BITWISE_XOR_OP_ID.html | 2 +- .../global.AVM_CALLDATACOPY_BASE_L2_GAS.html | 2 +- .../global.AVM_CALLDATACOPY_DYN_L2_GAS.html | 2 +- .../global.AVM_CALL_BASE_L2_GAS.html | 2 +- .../global.AVM_CAST_BASE_L2_GAS.html | 2 +- ...obal.AVM_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.AVM_DEBUGLOG_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_DIV_BASE_L2_GAS.html | 2 +- .../global.AVM_DYN_GAS_ID_BITWISE.html | 2 +- .../global.AVM_DYN_GAS_ID_CALLDATACOPY.html | 2 +- .../global.AVM_DYN_GAS_ID_EMITPUBLICLOG.html | 2 +- .../global.AVM_DYN_GAS_ID_RETURNDATACOPY.html | 2 +- .../global.AVM_DYN_GAS_ID_SSTORE.html | 2 +- .../global.AVM_DYN_GAS_ID_TORADIX.html | 2 +- .../global.AVM_ECADD_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITNOTEHASH_BASE_DA_GAS.html | 2 +- .../global.AVM_EMITNOTEHASH_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITNULLIFIER_BASE_DA_GAS.html | 2 +- .../global.AVM_EMITNULLIFIER_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_BASE_DA_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_BASE_L2_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_DYN_DA_GAS.html | 2 +- .../global.AVM_EMITPUBLICLOG_DYN_L2_GAS.html | 2 +- .../constants/global.AVM_EQ_BASE_L2_GAS.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_ADD.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_DIV.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_EQ.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_FDIV.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_LT.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_LTE.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_MUL.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_NOT.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_SHL.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_SHR.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_SUB.html | 2 +- .../global.AVM_EXEC_OP_ID_ALU_TRUNCATE.html | 2 +- .../constants/global.AVM_EXEC_OP_ID_CALL.html | 2 +- .../global.AVM_EXEC_OP_ID_DEBUGLOG.html | 2 +- .../global.AVM_EXEC_OP_ID_EMIT_NOTEHASH.html | 2 +- .../global.AVM_EXEC_OP_ID_EMIT_NULLIFIER.html | 2 +- .../global.AVM_EXEC_OP_ID_GETENVVAR.html | 2 +- .../global.AVM_EXEC_OP_ID_INTERNALCALL.html | 2 +- .../global.AVM_EXEC_OP_ID_INTERNALRETURN.html | 2 +- .../constants/global.AVM_EXEC_OP_ID_JUMP.html | 2 +- .../global.AVM_EXEC_OP_ID_JUMPI.html | 2 +- ...VM_EXEC_OP_ID_L1_TO_L2_MESSAGE_EXISTS.html | 2 +- .../constants/global.AVM_EXEC_OP_ID_MOV.html | 2 +- ...global.AVM_EXEC_OP_ID_NOTEHASH_EXISTS.html | 2 +- ...lobal.AVM_EXEC_OP_ID_NULLIFIER_EXISTS.html | 2 +- .../global.AVM_EXEC_OP_ID_RETURN.html | 2 +- .../global.AVM_EXEC_OP_ID_RETURNDATASIZE.html | 2 +- .../global.AVM_EXEC_OP_ID_REVERT.html | 2 +- .../global.AVM_EXEC_OP_ID_SENDL2TOL1MSG.html | 2 +- .../global.AVM_EXEC_OP_ID_SLOAD.html | 2 +- .../global.AVM_EXEC_OP_ID_SSTORE.html | 2 +- .../global.AVM_EXEC_OP_ID_STATICCALL.html | 2 +- .../global.AVM_EXEC_OP_ID_SUCCESSCOPY.html | 2 +- .../global.AVM_FDIV_BASE_L2_GAS.html | 2 +- ...l.AVM_GETCONTRACTINSTANCE_BASE_L2_GAS.html | 2 +- .../global.AVM_GETENVVAR_BASE_L2_GAS.html | 2 +- .../global.AVM_HIGHEST_MEM_ADDRESS.html | 2 +- .../global.AVM_INTERNALCALL_BASE_L2_GAS.html | 2 +- ...global.AVM_INTERNALRETURN_BASE_L2_GAS.html | 2 +- .../global.AVM_JUMPI_BASE_L2_GAS.html | 2 +- .../global.AVM_JUMP_BASE_L2_GAS.html | 2 +- .../global.AVM_KECCAKF1600_BASE_L2_GAS.html | 2 +- .../global.AVM_KECCAKF1600_NUM_ROUNDS.html | 2 +- .../global.AVM_KECCAKF1600_STATE_SIZE.html | 2 +- ...lobal.AVM_L1TOL2MSGEXISTS_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_LTE_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_LT_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_MAX_OPERANDS.html | 2 +- .../global.AVM_MAX_PROCESSABLE_L2_GAS.html | 2 +- .../constants/global.AVM_MAX_REGISTERS.html | 2 +- .../constants/global.AVM_MEMORY_NUM_BITS.html | 2 +- .../constants/global.AVM_MEMORY_SIZE.html | 2 +- .../constants/global.AVM_MOV_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_MUL_BASE_L2_GAS.html | 2 +- ...global.AVM_NOTEHASHEXISTS_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_NOT_BASE_L2_GAS.html | 2 +- ...lobal.AVM_NULLIFIEREXISTS_BASE_L2_GAS.html | 2 +- .../global.AVM_NUM_PUBLIC_INPUT_COLUMNS.html | 2 +- .../constants/global.AVM_OR_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_PC_SIZE_IN_BITS.html | 2 +- .../global.AVM_POSEIDON2_BASE_L2_GAS.html | 2 +- ...A_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ...ATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX.html | 2 +- ...DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX.html | 2 +- ...AY_LENGTHS_PUBLIC_DATA_WRITES_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX.html | 2 +- ...M_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX.html | 2 +- ...LATED_DATA_PUBLIC_DATA_WRITES_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_PUBLIC_LOGS_ROW_IDX.html | 2 +- ...C_INPUTS_AVM_ACCUMULATED_DATA_ROW_IDX.html | 2 +- ...PUBLIC_INPUTS_COLUMNS_COMBINED_LENGTH.html | 2 +- ....AVM_PUBLIC_INPUTS_COLUMNS_MAX_LENGTH.html | 2 +- ...LIC_INPUTS_EFFECTIVE_GAS_FEES_ROW_IDX.html | 2 +- ...VM_PUBLIC_INPUTS_END_GAS_USED_ROW_IDX.html | 2 +- ...APSHOTS_L1_TO_L2_MESSAGE_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NOTE_HASH_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NULLIFIER_TREE_ROW_IDX.html | 2 +- ...EE_SNAPSHOTS_PUBLIC_DATA_TREE_ROW_IDX.html | 2 +- ...LIC_INPUTS_END_TREE_SNAPSHOTS_ROW_IDX.html | 2 +- ...l.AVM_PUBLIC_INPUTS_FEE_PAYER_ROW_IDX.html | 2 +- ...NPUTS_GAS_SETTINGS_GAS_LIMITS_ROW_IDX.html | 2 +- ...GAS_SETTINGS_MAX_FEES_PER_GAS_ROW_IDX.html | 2 +- ...NGS_MAX_PRIORITY_FEES_PER_GAS_ROW_IDX.html | 2 +- ...VM_PUBLIC_INPUTS_GAS_SETTINGS_ROW_IDX.html | 2 +- ..._SETTINGS_TEARDOWN_GAS_LIMITS_ROW_IDX.html | 2 +- ...GLOBAL_VARIABLES_BLOCK_NUMBER_ROW_IDX.html | 2 +- ...UTS_GLOBAL_VARIABLES_CHAIN_ID_ROW_IDX.html | 2 +- ...UTS_GLOBAL_VARIABLES_COINBASE_ROW_IDX.html | 2 +- ...LOBAL_VARIABLES_FEE_RECIPIENT_ROW_IDX.html | 2 +- ...UTS_GLOBAL_VARIABLES_GAS_FEES_ROW_IDX.html | 2 +- ...UBLIC_INPUTS_GLOBAL_VARIABLES_ROW_IDX.html | 2 +- ..._GLOBAL_VARIABLES_SLOT_NUMBER_ROW_IDX.html | 2 +- ...TS_GLOBAL_VARIABLES_TIMESTAMP_ROW_IDX.html | 2 +- ...PUTS_GLOBAL_VARIABLES_VERSION_ROW_IDX.html | 2 +- ...A_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ...ATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX.html | 2 +- ...DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX.html | 2 +- ...E_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX.html | 2 +- ...N_REVERTIBLE_ACCUMULATED_DATA_ROW_IDX.html | 2 +- ...A_ARRAY_LENGTHS_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ...ATA_ARRAY_LENGTHS_NOTE_HASHES_ROW_IDX.html | 2 +- ...DATA_ARRAY_LENGTHS_NULLIFIERS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...CCUMULATED_DATA_L2_TO_L1_MSGS_ROW_IDX.html | 2 +- ..._ACCUMULATED_DATA_NOTE_HASHES_ROW_IDX.html | 2 +- ...E_ACCUMULATED_DATA_NULLIFIERS_ROW_IDX.html | 2 +- ...S_REVERTIBLE_ACCUMULATED_DATA_ROW_IDX.html | 2 +- ...LIC_INPUTS_PROTOCOL_CONTRACTS_ROW_IDX.html | 2 +- ...l.AVM_PUBLIC_INPUTS_PROVER_ID_ROW_IDX.html | 2 +- ...UBLIC_APP_LOGIC_CALL_REQUESTS_ROW_IDX.html | 2 +- ...ARRAY_LENGTHS_APP_LOGIC_CALLS_ROW_IDX.html | 2 +- ...IC_CALL_REQUEST_ARRAY_LENGTHS_ROW_IDX.html | 2 +- ...EST_ARRAY_LENGTHS_SETUP_CALLS_ROW_IDX.html | 2 +- ...T_ARRAY_LENGTHS_TEARDOWN_CALL_ROW_IDX.html | 2 +- ...TS_PUBLIC_SETUP_CALL_REQUESTS_ROW_IDX.html | 2 +- ..._PUBLIC_TEARDOWN_CALL_REQUEST_ROW_IDX.html | 2 +- ...al.AVM_PUBLIC_INPUTS_REVERTED_ROW_IDX.html | 2 +- ..._PUBLIC_INPUTS_START_GAS_USED_ROW_IDX.html | 2 +- ...APSHOTS_L1_TO_L2_MESSAGE_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NOTE_HASH_TREE_ROW_IDX.html | 2 +- ...TREE_SNAPSHOTS_NULLIFIER_TREE_ROW_IDX.html | 2 +- ...EE_SNAPSHOTS_PUBLIC_DATA_TREE_ROW_IDX.html | 2 +- ...C_INPUTS_START_TREE_SNAPSHOTS_ROW_IDX.html | 2 +- ...PUBLIC_INPUTS_TRANSACTION_FEE_ROW_IDX.html | 2 +- ...l.AVM_RETRIEVED_BYTECODES_TREE_HEIGHT.html | 2 +- ...RETRIEVED_BYTECODES_TREE_INITIAL_ROOT.html | 2 +- ...RETRIEVED_BYTECODES_TREE_INITIAL_SIZE.html | 2 +- ...global.AVM_RETURNDATACOPY_BASE_L2_GAS.html | 2 +- .../global.AVM_RETURNDATACOPY_DYN_L2_GAS.html | 2 +- ...global.AVM_RETURNDATASIZE_BASE_L2_GAS.html | 2 +- .../global.AVM_RETURN_BASE_L2_GAS.html | 2 +- .../global.AVM_REVERT_BASE_L2_GAS.html | 2 +- .../global.AVM_SENDL2TOL1MSG_BASE_DA_GAS.html | 2 +- .../global.AVM_SENDL2TOL1MSG_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SET_BASE_L2_GAS.html | 2 +- ...bal.AVM_SHA256COMPRESSION_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SHL_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SHR_BASE_L2_GAS.html | 2 +- .../global.AVM_SLOAD_BASE_L2_GAS.html | 2 +- .../global.AVM_SSTORE_BASE_L2_GAS.html | 2 +- .../global.AVM_SSTORE_DYN_DA_GAS.html | 2 +- .../global.AVM_STATICCALL_BASE_L2_GAS.html | 2 +- .../constants/global.AVM_SUBTRACE_ID_ALU.html | 2 +- .../global.AVM_SUBTRACE_ID_BITWISE.html | 2 +- .../global.AVM_SUBTRACE_ID_CALLDATA_COPY.html | 2 +- .../global.AVM_SUBTRACE_ID_CAST.html | 2 +- .../constants/global.AVM_SUBTRACE_ID_ECC.html | 2 +- .../global.AVM_SUBTRACE_ID_EMITPUBLICLOG.html | 2 +- .../global.AVM_SUBTRACE_ID_EXECUTION.html | 2 +- ...l.AVM_SUBTRACE_ID_GETCONTRACTINSTANCE.html | 2 +- .../global.AVM_SUBTRACE_ID_KECCAKF1600.html | 2 +- ...global.AVM_SUBTRACE_ID_POSEIDON2_PERM.html | 2 +- ...lobal.AVM_SUBTRACE_ID_RETURNDATA_COPY.html | 2 +- .../constants/global.AVM_SUBTRACE_ID_SET.html | 2 +- ...al.AVM_SUBTRACE_ID_SHA256_COMPRESSION.html | 2 +- .../global.AVM_SUBTRACE_ID_TO_RADIX.html | 2 +- .../constants/global.AVM_SUB_BASE_L2_GAS.html | 2 +- .../global.AVM_SUCCESSCOPY_BASE_L2_GAS.html | 2 +- .../global.AVM_TORADIXBE_BASE_L2_GAS.html | 2 +- .../global.AVM_TORADIXBE_DYN_L2_GAS.html | 2 +- .../global.AVM_TX_PHASE_VALUE_LAST.html | 2 +- .../global.AVM_TX_PHASE_VALUE_SETUP.html | 2 +- .../global.AVM_TX_PHASE_VALUE_START.html | 2 +- ....AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED.html | 2 +- ...IFICATION_KEY_LENGTH_IN_FIELDS_PADDED.html | 2 +- ...AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS.html | 2 +- ...WRITTEN_PUBLIC_DATA_SLOTS_TREE_HEIGHT.html | 2 +- ...N_PUBLIC_DATA_SLOTS_TREE_INITIAL_ROOT.html | 2 +- ...N_PUBLIC_DATA_SLOTS_TREE_INITIAL_SIZE.html | 2 +- .../constants/global.AVM_XOR_BASE_L2_GAS.html | 2 +- .../global.AZTEC_ADDRESS_LENGTH.html | 2 +- .../global.BLOBS_PER_CHECKPOINT.html | 2 +- .../global.BLOB_ACCUMULATOR_LENGTH.html | 2 +- .../global.BLOCK_CONSTANT_DATA_LENGTH.html | 2 +- .../constants/global.BLOCK_END_PREFIX.html | 2 +- .../constants/global.BLOCK_HEADER_LENGTH.html | 2 +- .../global.BLOCK_MERGE_ROLLUP_VK_INDEX.html | 2 +- ...bal.BLOCK_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- ...K_ROOT_EMPTY_TX_FIRST_ROLLUP_VK_INDEX.html | 2 +- ...obal.BLOCK_ROOT_FIRST_ROLLUP_VK_INDEX.html | 2 +- .../global.BLOCK_ROOT_ROLLUP_VK_INDEX.html | 2 +- ..._ROOT_SINGLE_TX_FIRST_ROLLUP_VK_INDEX.html | 2 +- ....BLOCK_ROOT_SINGLE_TX_ROLLUP_VK_INDEX.html | 2 +- .../constants/global.BLS12_FQ_LIMBS.html | 2 +- .../constants/global.BLS12_FR_LIMBS.html | 2 +- .../global.BLS12_POINT_COMPRESSED_BYTES.html | 2 +- .../constants/global.BLS12_POINT_LENGTH.html | 2 +- .../constants/global.CALL_CONTEXT_LENGTH.html | 2 +- ...lobal.CANONICAL_AUTH_REGISTRY_ADDRESS.html | 2 +- ...lobal.CHECKPOINT_CONSTANT_DATA_LENGTH.html | 2 +- .../global.CHECKPOINT_END_PREFIX.html | 2 +- .../global.CHECKPOINT_HEADER_LENGTH.html | 2 +- ...lobal.CHECKPOINT_HEADER_SIZE_IN_BYTES.html | 2 +- ...obal.CHECKPOINT_MERGE_ROLLUP_VK_INDEX.html | 2 +- ...al.CHECKPOINT_PADDING_ROLLUP_VK_INDEX.html | 2 +- ...HECKPOINT_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- ...lobal.CHECKPOINT_ROOT_ROLLUP_VK_INDEX.html | 2 +- ...INT_ROOT_SINGLE_BLOCK_ROLLUP_VK_INDEX.html | 2 +- .../constants/global.CHONK_PROOF_LENGTH.html | 2 +- .../global.CHONK_VK_LENGTH_IN_FIELDS.html | 2 +- ...UNCTION_BROADCASTED_ADDITIONAL_FIELDS.html | 2 +- ...UNCTION_BROADCASTED_ADDITIONAL_FIELDS.html | 2 +- .../global.COMBINED_CONSTANT_DATA_LENGTH.html | 2 +- .../global.CONTRACT_CLASS_LOG_LENGTH.html | 2 +- ...bal.CONTRACT_CLASS_LOG_SIZE_IN_FIELDS.html | 2 +- ....CONTRACT_CLASS_PUBLISHED_MAGIC_VALUE.html | 2 +- ..._CLASS_REGISTRY_BYTECODE_CAPSULE_SLOT.html | 2 +- ...TRACT_CLASS_REGISTRY_CONTRACT_ADDRESS.html | 2 +- ...VATE_FUNCTION_BROADCASTED_MAGIC_VALUE.html | 2 +- ...LITY_FUNCTION_BROADCASTED_MAGIC_VALUE.html | 2 +- .../global.CONTRACT_INSTANCE_LENGTH.html | 2 +- ...NTRACT_INSTANCE_PUBLISHED_MAGIC_VALUE.html | 2 +- ...CT_INSTANCE_REGISTRY_CONTRACT_ADDRESS.html | 2 +- ...CONTRACT_INSTANCE_UPDATED_MAGIC_VALUE.html | 2 +- .../global.CONTRACT_STORAGE_READ_LENGTH.html | 2 +- ...ONTRACT_STORAGE_UPDATE_REQUEST_LENGTH.html | 2 +- ...lobal.COUNTED_L2_TO_L1_MESSAGE_LENGTH.html | 2 +- .../global.COUNTED_LOG_HASH_LENGTH.html | 2 +- ...al.COUNTED_PUBLIC_CALL_REQUEST_LENGTH.html | 2 +- .../constants/global.DA_BYTES_PER_FIELD.html | 2 +- .../constants/global.DA_GAS_PER_BYTE.html | 2 +- .../global.DEFAULT_DA_GAS_LIMIT.html | 2 +- .../constants/global.DEFAULT_IVPK_M_X.html | 2 +- .../constants/global.DEFAULT_IVPK_M_Y.html | 2 +- .../global.DEFAULT_L2_GAS_LIMIT.html | 2 +- ...al.DEFAULT_MAX_DEBUG_LOG_MEMORY_READS.html | 2 +- .../constants/global.DEFAULT_NPK_M_X.html | 2 +- .../constants/global.DEFAULT_NPK_M_Y.html | 2 +- .../constants/global.DEFAULT_OVPK_M_X.html | 2 +- .../constants/global.DEFAULT_OVPK_M_Y.html | 2 +- .../global.DEFAULT_TEARDOWN_DA_GAS_LIMIT.html | 2 +- .../global.DEFAULT_TEARDOWN_L2_GAS_LIMIT.html | 2 +- .../constants/global.DEFAULT_TPK_M_X.html | 2 +- .../constants/global.DEFAULT_TPK_M_Y.html | 2 +- .../global.DEFAULT_UPDATE_DELAY.html | 2 +- .../global.DOM_SEP__AUTHWIT_INNER.html | 2 +- .../global.DOM_SEP__AUTHWIT_NULLIFIER.html | 2 +- .../global.DOM_SEP__AUTHWIT_OUTER.html | 2 +- .../global.DOM_SEP__BLOCK_HEADER_HASH.html | 2 +- .../global.DOM_SEP__CONTRACT_ADDRESS_V1.html | 2 +- .../global.DOM_SEP__CONTRACT_CLASS_ID.html | 2 +- .../global.DOM_SEP__EVENT_COMMITMENT.html | 2 +- .../global.DOM_SEP__FUNCTION_ARGS.html | 2 +- ...bal.DOM_SEP__INITIALIZATION_NULLIFIER.html | 2 +- .../global.DOM_SEP__INITIALIZER.html | 2 +- .../constants/global.DOM_SEP__IVSK_M.html | 2 +- .../global.DOM_SEP__MESSAGE_NULLIFIER.html | 2 +- .../constants/global.DOM_SEP__NHK_M.html | 2 +- .../constants/global.DOM_SEP__NOTE_HASH.html | 2 +- .../global.DOM_SEP__NOTE_HASH_NONCE.html | 2 +- .../global.DOM_SEP__NOTE_NULLIFIER.html | 2 +- .../constants/global.DOM_SEP__OVSK_M.html | 2 +- .../global.DOM_SEP__PARTIAL_ADDRESS.html | 2 +- ...SEP__PARTIAL_NOTE_VALIDITY_COMMITMENT.html | 2 +- ...global.DOM_SEP__PRIVATE_FUNCTION_LEAF.html | 2 +- ...obal.DOM_SEP__PRIVATE_LOG_FIRST_FIELD.html | 2 +- .../global.DOM_SEP__PRIVATE_TX_HASH.html | 2 +- .../global.DOM_SEP__PROTOCOL_CONTRACTS.html | 2 +- .../global.DOM_SEP__PUBLIC_BYTECODE.html | 2 +- .../global.DOM_SEP__PUBLIC_CALLDATA.html | 2 +- .../global.DOM_SEP__PUBLIC_KEYS_HASH.html | 2 +- .../global.DOM_SEP__PUBLIC_LEAF_SLOT.html | 2 +- ...obal.DOM_SEP__PUBLIC_STORAGE_MAP_SLOT.html | 2 +- .../global.DOM_SEP__PUBLIC_TX_HASH.html | 2 +- .../global.DOM_SEP__SECRET_HASH.html | 2 +- .../global.DOM_SEP__SIGNATURE_PAYLOAD.html | 2 +- .../global.DOM_SEP__SILOED_NOTE_HASH.html | 2 +- .../global.DOM_SEP__SILOED_NULLIFIER.html | 2 +- .../global.DOM_SEP__SYMMETRIC_KEY.html | 2 +- .../global.DOM_SEP__SYMMETRIC_KEY_2.html | 2 +- .../constants/global.DOM_SEP__TSK_M.html | 2 +- .../global.DOM_SEP__TX_NULLIFIER.html | 2 +- .../constants/global.DOM_SEP__TX_REQUEST.html | 2 +- .../global.DOM_SEP__UNIQUE_NOTE_HASH.html | 2 +- .../global.EMPTY_EPOCH_OUT_HASH.html | 2 +- .../global.EPOCH_CONSTANT_DATA_LENGTH.html | 2 +- .../constants/global.ETH_ADDRESS_LENGTH.html | 2 +- .../constants/global.FEE_JUICE_ADDRESS.html | 2 +- .../global.FEE_JUICE_BALANCES_SLOT.html | 2 +- .../global.FEE_RECIPIENT_LENGTH.html | 2 +- .../constants/global.FIELDS_PER_BLOB.html | 2 +- .../global.FINAL_BLOB_ACCUMULATOR_LENGTH.html | 2 +- ...FINAL_BLOB_BATCHING_CHALLENGES_LENGTH.html | 2 +- .../global.FIXED_AVM_STARTUP_L2_GAS.html | 2 +- .../constants/global.FIXED_DA_GAS.html | 2 +- .../constants/global.FIXED_L2_GAS.html | 2 +- ...global.FLAT_PUBLIC_LOGS_HEADER_LENGTH.html | 2 +- ...lobal.FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH.html | 2 +- .../global.FUNCTION_DATA_LENGTH.html | 2 +- .../global.FUNCTION_LEAF_PREIMAGE_LENGTH.html | 2 +- .../global.FUNCTION_SELECTOR_NUM_BYTES.html | 2 +- .../global.FUNCTION_TREE_HEIGHT.html | 2 +- .../global.GAS_ESTIMATION_DA_GAS_LIMIT.html | 2 +- .../global.GAS_ESTIMATION_L2_GAS_LIMIT.html | 2 +- ....GAS_ESTIMATION_TEARDOWN_DA_GAS_LIMIT.html | 2 +- ....GAS_ESTIMATION_TEARDOWN_L2_GAS_LIMIT.html | 2 +- .../constants/global.GAS_FEES_LENGTH.html | 2 +- .../constants/global.GAS_LENGTH.html | 2 +- .../constants/global.GAS_SETTINGS_LENGTH.html | 2 +- .../global.GENESIS_ARCHIVE_ROOT.html | 2 +- .../global.GENESIS_BLOCK_HEADER_HASH.html | 2 +- ..._INDEX_CONTRACT_CLASS_LOG_HASH_OFFSET.html | 2 +- ...REVERTIBLE_SIDE_EFFECT_COUNTER_OFFSET.html | 2 +- ...obal.GLOBAL_INDEX_L2_TO_L1_MSG_OFFSET.html | 2 +- .../global.GLOBAL_INDEX_NOTE_HASH_OFFSET.html | 2 +- ...L_INDEX_NOTE_HASH_READ_REQUEST_OFFSET.html | 2 +- .../global.GLOBAL_INDEX_NULLIFIER_OFFSET.html | 2 +- ...L_INDEX_NULLIFIER_READ_REQUEST_OFFSET.html | 2 +- ...INDEX_PRIVATE_CALL_REQUEST_END_OFFSET.html | 2 +- ...DEX_PRIVATE_CALL_REQUEST_START_OFFSET.html | 2 +- ...lobal.GLOBAL_INDEX_PRIVATE_LOG_OFFSET.html | 2 +- ...OBAL_INDEX_PUBLIC_CALL_REQUEST_OFFSET.html | 2 +- .../global.GLOBAL_VARIABLES_LENGTH.html | 2 +- .../constants/global.GRUMPKIN_ONE_X.html | 2 +- .../constants/global.GRUMPKIN_ONE_Y.html | 2 +- ...l.HIDING_KERNEL_IO_PUBLIC_INPUTS_SIZE.html | 2 +- ...obal.HIDING_KERNEL_TO_PUBLIC_VK_INDEX.html | 2 +- ...obal.HIDING_KERNEL_TO_ROLLUP_VK_INDEX.html | 2 +- .../global.INITIAL_CHECKPOINT_NUMBER.html | 2 +- .../global.INITIAL_L2_BLOCK_NUM.html | 2 +- .../constants/global.IPA_CLAIM_SIZE.html | 2 +- .../constants/global.IPA_PROOF_LENGTH.html | 2 +- ...LIDATION_REQUEST_AND_GENERATOR_LENGTH.html | 2 +- .../global.KEY_VALIDATION_REQUEST_LENGTH.html | 2 +- .../global.L1_TO_L2_MESSAGE_LENGTH.html | 2 +- .../global.L1_TO_L2_MESSAGE_TREE_ID.html | 2 +- .../global.L1_TO_L2_MSG_SUBTREE_HEIGHT.html | 2 +- ..._MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH.html | 2 +- .../global.L1_TO_L2_MSG_TREE_HEIGHT.html | 2 +- .../global.L1_TO_L2_MSG_TREE_LEAF_COUNT.html | 2 +- ...al.L2_GAS_DISTRIBUTED_STORAGE_PREMIUM.html | 2 +- .../global.L2_GAS_PER_CONTRACT_CLASS_LOG.html | 2 +- .../global.L2_GAS_PER_L2_TO_L1_MSG.html | 2 +- .../global.L2_GAS_PER_NOTE_HASH.html | 2 +- .../global.L2_GAS_PER_NULLIFIER.html | 2 +- .../global.L2_GAS_PER_PRIVATE_LOG.html | 2 +- .../global.L2_TO_L1_MESSAGE_LENGTH.html | 2 +- .../constants/global.LOG_HASH_LENGTH.html | 2 +- .../global.MAX_CHECKPOINTS_PER_EPOCH.html | 2 +- ...obal.MAX_CONTRACT_CLASS_LOGS_PER_CALL.html | 2 +- ...global.MAX_CONTRACT_CLASS_LOGS_PER_TX.html | 2 +- .../global.MAX_ENQUEUED_CALLS_PER_CALL.html | 2 +- .../global.MAX_ENQUEUED_CALLS_PER_TX.html | 2 +- .../global.MAX_ETH_ADDRESS_BIT_SIZE.html | 2 +- .../global.MAX_ETH_ADDRESS_VALUE.html | 2 +- .../constants/global.MAX_FIELD_VALUE.html | 2 +- ...MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS.html | 2 +- ....MAX_KEY_VALIDATION_REQUESTS_PER_CALL.html | 2 +- ...al.MAX_KEY_VALIDATION_REQUESTS_PER_TX.html | 2 +- .../global.MAX_L2_TO_L1_MSGS_PER_CALL.html | 2 +- .../global.MAX_L2_TO_L1_MSGS_PER_TX.html | 2 +- ...obal.MAX_L2_TO_L1_MSG_SUBTREES_PER_TX.html | 2 +- .../global.MAX_NOTE_HASHES_PER_CALL.html | 2 +- .../global.MAX_NOTE_HASHES_PER_TX.html | 2 +- ....MAX_NOTE_HASH_READ_REQUESTS_PER_CALL.html | 2 +- ...al.MAX_NOTE_HASH_READ_REQUESTS_PER_TX.html | 2 +- .../global.MAX_NULLIFIERS_PER_CALL.html | 2 +- .../global.MAX_NULLIFIERS_PER_TX.html | 2 +- ....MAX_NULLIFIER_READ_REQUESTS_PER_CALL.html | 2 +- ...al.MAX_NULLIFIER_READ_REQUESTS_PER_TX.html | 2 +- ...E_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS.html | 2 +- ...E_SIZE_PER_UTILITY_FUNCTION_IN_FIELDS.html | 2 +- ...PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS.html | 2 +- ...AX_PRIVATE_CALL_STACK_LENGTH_PER_CALL.html | 2 +- ....MAX_PRIVATE_CALL_STACK_LENGTH_PER_TX.html | 2 +- .../global.MAX_PRIVATE_LOGS_PER_CALL.html | 2 +- .../global.MAX_PRIVATE_LOGS_PER_TX.html | 2 +- ...MAX_PROCESSABLE_DA_GAS_PER_CHECKPOINT.html | 2 +- .../global.MAX_PROTOCOL_CONTRACTS.html | 2 +- ...bal.MAX_PUBLIC_BYTECODE_SIZE_IN_BYTES.html | 2 +- ...IC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS.html | 2 +- .../global.MAX_PUBLIC_DATA_READS_PER_TX.html | 2 +- ...AX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX.html | 2 +- .../global.MAX_PUBLIC_LOG_SIZE_IN_FIELDS.html | 2 +- ...AL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX.html | 2 +- ...ATION.html => global.MAX_TX_LIFETIME.html} | 10 ++-- .../constants/global.MAX_U32_VALUE.html | 2 +- .../constants/global.MAX_U64_VALUE.html | 2 +- .../global.MEGA_VK_LENGTH_IN_FIELDS.html | 2 +- .../constants/global.MEM_TAG_FF.html | 2 +- .../constants/global.MEM_TAG_U1.html | 2 +- .../constants/global.MEM_TAG_U128.html | 2 +- .../constants/global.MEM_TAG_U16.html | 2 +- .../constants/global.MEM_TAG_U32.html | 2 +- .../constants/global.MEM_TAG_U64.html | 2 +- .../constants/global.MEM_TAG_U8.html | 2 +- .../global.MINIMUM_UPDATE_DELAY.html | 2 +- .../global.MULTI_CALL_ENTRYPOINT_ADDRESS.html | 2 +- .../global.NESTED_RECURSIVE_PROOF_LENGTH.html | 2 +- ...ED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH.html | 2 +- .../constants/global.NOTE_HASH_LENGTH.html | 2 +- .../global.NOTE_HASH_SUBTREE_HEIGHT.html | 2 +- ...HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH.html | 2 +- .../global.NOTE_HASH_TREE_HEIGHT.html | 2 +- .../constants/global.NOTE_HASH_TREE_ID.html | 2 +- .../global.NOTE_HASH_TREE_LEAF_COUNT.html | 2 +- .../constants/global.NULLIFIER_LENGTH.html | 2 +- .../global.NULLIFIER_SUBTREE_HEIGHT.html | 2 +- ...FIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH.html | 2 +- .../global.NULLIFIER_TREE_HEIGHT.html | 2 +- .../constants/global.NULLIFIER_TREE_ID.html | 2 +- ...obal.NULL_MSG_SENDER_CONTRACT_ADDRESS.html | 2 +- ...l.NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP.html | 2 +- ...lobal.NUM_AVM_ACCUMULATED_DATA_ARRAYS.html | 2 +- ...lobal.NUM_BASE_PARITY_PER_ROOT_PARITY.html | 2 +- .../global.NUM_MSGS_PER_BASE_PARITY.html | 2 +- ...RIVATE_TO_AVM_ACCUMULATED_DATA_ARRAYS.html | 2 +- ...global.NUM_PUBLIC_CALL_REQUEST_ARRAYS.html | 2 +- .../global.OUT_HASH_TREE_HEIGHT.html | 2 +- .../global.OUT_HASH_TREE_LEAF_COUNT.html | 2 +- .../constants/global.PAIRING_POINTS_SIZE.html | 2 +- .../global.PARITY_BASE_VK_INDEX.html | 2 +- .../global.PARITY_ROOT_VK_INDEX.html | 2 +- ...global.PARTIAL_STATE_REFERENCE_LENGTH.html | 2 +- ...lobal.PRIVATE_ACCUMULATED_DATA_LENGTH.html | 2 +- .../global.PRIVATE_CALL_REQUEST_LENGTH.html | 2 +- ....PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.PRIVATE_CONTEXT_INPUTS_LENGTH.html | 2 +- ...E_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.PRIVATE_KERNEL_INIT_VK_INDEX.html | 2 +- .../global.PRIVATE_KERNEL_INNER_VK_INDEX.html | 2 +- .../global.PRIVATE_KERNEL_RESET_VK_INDEX.html | 2 +- ...RIVATE_KERNEL_TAIL_TO_PUBLIC_VK_INDEX.html | 2 +- .../global.PRIVATE_KERNEL_TAIL_VK_INDEX.html | 2 +- .../global.PRIVATE_LOG_CIPHERTEXT_LEN.html | 2 +- .../global.PRIVATE_LOG_DATA_LENGTH.html | 2 +- .../constants/global.PRIVATE_LOG_LENGTH.html | 2 +- .../global.PRIVATE_LOG_SIZE_IN_FIELDS.html | 2 +- ...RIVATE_TO_AVM_ACCUMULATED_DATA_LENGTH.html | 2 +- ...ATE_TO_PUBLIC_ACCUMULATED_DATA_LENGTH.html | 2 +- ...C_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- ...ATE_TO_ROLLUP_ACCUMULATED_DATA_LENGTH.html | 2 +- ...P_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH.html | 2 +- ...lobal.PRIVATE_TX_BASE_ROLLUP_VK_INDEX.html | 2 +- ...al.PRIVATE_VALIDATION_REQUESTS_LENGTH.html | 2 +- .../constants/global.PROOF_TYPE_AVM.html | 2 +- .../constants/global.PROOF_TYPE_CHONK.html | 2 +- .../constants/global.PROOF_TYPE_HN.html | 2 +- .../constants/global.PROOF_TYPE_HN_FINAL.html | 2 +- .../constants/global.PROOF_TYPE_HN_TAIL.html | 2 +- .../constants/global.PROOF_TYPE_HONK.html | 2 +- .../constants/global.PROOF_TYPE_OINK.html | 2 +- .../global.PROOF_TYPE_ROLLUP_HONK.html | 2 +- .../global.PROOF_TYPE_ROOT_ROLLUP_HONK.html | 2 +- ...OL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX.html | 2 +- .../global.PUBLIC_CALL_REQUEST_LENGTH.html | 2 +- ...LIC_CALL_STACK_ITEM_COMPRESSED_LENGTH.html | 2 +- .../global.PUBLIC_CHECKS_ADDRESS.html | 2 +- ...global.PUBLIC_CHONK_VERIFIER_VK_INDEX.html | 2 +- .../global.PUBLIC_DATA_READ_LENGTH.html | 2 +- .../global.PUBLIC_DATA_SUBTREE_HEIGHT.html | 2 +- .../global.PUBLIC_DATA_TREE_HEIGHT.html | 2 +- .../constants/global.PUBLIC_DATA_TREE_ID.html | 2 +- .../global.PUBLIC_DATA_WRITE_LENGTH.html | 2 +- ...obal.PUBLIC_INNER_CALL_REQUEST_LENGTH.html | 2 +- .../constants/global.PUBLIC_LOGS_LENGTH.html | 2 +- .../global.PUBLIC_LOG_HEADER_LENGTH.html | 2 +- ...global.PUBLIC_TX_BASE_ROLLUP_VK_INDEX.html | 2 +- .../global.RECURSIVE_PROOF_LENGTH.html | 2 +- ...al.RECURSIVE_ROLLUP_HONK_PROOF_LENGTH.html | 2 +- ...obal.ROOT_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- .../global.ROOT_ROLLUP_VK_INDEX.html | 2 +- ...COPED_COUNTED_L2_TO_L1_MESSAGE_LENGTH.html | 2 +- ...global.SCOPED_COUNTED_LOG_HASH_LENGTH.html | 2 +- ...LIDATION_REQUEST_AND_GENERATOR_LENGTH.html | 2 +- ...global.SCOPED_L2_TO_L1_MESSAGE_LENGTH.html | 2 +- .../global.SCOPED_LOG_HASH_LENGTH.html | 2 +- .../global.SCOPED_NOTE_HASH_LENGTH.html | 2 +- .../global.SCOPED_NULLIFIER_LENGTH.html | 2 +- ...global.SCOPED_PRIVATE_LOG_DATA_LENGTH.html | 2 +- .../global.SCOPED_READ_REQUEST_LEN.html | 2 +- .../global.SIDE_EFFECT_MASKING_ADDRESS.html | 2 +- .../constants/global.SPONGE_BLOB_LENGTH.html | 2 +- .../global.STATE_REFERENCE_LENGTH.html | 2 +- .../global.TIMESTAMP_OF_CHANGE_BIT_SIZE.html | 2 +- ...l.TOTAL_COUNTED_SIDE_EFFECTS_PER_CALL.html | 2 +- .../constants/global.TOTAL_FEES_LENGTH.html | 2 +- .../global.TOTAL_MANA_USED_LENGTH.html | 2 +- .../global.TREE_LEAF_READ_REQUEST_LENGTH.html | 2 +- .../global.TREE_SNAPSHOTS_LENGTH.html | 2 +- .../constants/global.TWO_POW_64.html | 2 +- .../global.TX_CONSTANT_DATA_LENGTH.html | 2 +- .../constants/global.TX_CONTEXT_LENGTH.html | 2 +- .../global.TX_MERGE_ROLLUP_VK_INDEX.html | 2 +- .../constants/global.TX_REQUEST_LENGTH.html | 2 +- ...global.TX_ROLLUP_PUBLIC_INPUTS_LENGTH.html | 2 +- .../constants/global.TX_START_PREFIX.html | 2 +- .../global.ULTRA_KECCAK_PROOF_LENGTH.html | 2 +- .../global.ULTRA_VK_LENGTH_IN_FIELDS.html | 2 +- .../global.UPDATED_CLASS_IDS_SLOT.html | 2 +- ...AYED_PUBLIC_MUTABLE_METADATA_BIT_SIZE.html | 2 +- ...YED_PUBLIC_MUTABLE_SDC_DELAY_BIT_SIZE.html | 2 +- ...D_PUBLIC_MUTABLE_SDC_IS_SOME_BIT_SIZE.html | 2 +- ...LIC_MUTABLE_SDC_OPTION_DELAY_BIT_SIZE.html | 2 +- ...TES_DELAYED_PUBLIC_MUTABLE_VALUES_LEN.html | 2 +- .../constants/global.UPDATES_VALUE_SIZE.html | 2 +- .../constants/global.VK_TREE_HEIGHT.html | 2 +- .../protocol_types/constants/index.html | 2 +- .../struct.ScheduledDelayChange.html | 2 +- .../struct.ScheduledValueChange.html | 4 +- .../struct.FixtureBuilder.html | 6 +-- .../nightly/std/default/trait.Default.html | 4 +- .../static/typescript-api/nightly/accounts.md | 2 +- .../static/typescript-api/nightly/aztec.js.md | 2 +- .../typescript-api/nightly/constants.md | 12 ++--- .../typescript-api/nightly/entrypoints.md | 2 +- .../typescript-api/nightly/llm-summary.txt | 4 +- docs/static/typescript-api/nightly/stdlib.md | 6 +-- .../typescript-api/nightly/wallet-sdk.md | 5 +- 1223 files changed, 1459 insertions(+), 1448 deletions(-) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/bb-cli-reference.md (99%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/explainers/advanced/_category_.json (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/explainers/advanced/chonk.md (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/explainers/recursive_aggregation.md (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/getting_started.md (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/how_to_guides/_category_.json (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/how_to_guides/how-to-solidity-verifier.md (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/how_to_guides/on-the-browser.md (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/how_to_guides/recursive_aggregation.md (100%) rename barretenberg/docs/versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/index.md (100%) rename barretenberg/docs/versioned_sidebars/{version-v4.0.0-nightly.20260216-sidebars.json => version-v4.0.0-nightly.20260217-sidebars.json} (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/aztec_js_reference.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_connect_to_local_network.md (92%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_create_account.md (93%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_deploy_contract.md (94%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_pay_fees.md (98%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_read_data.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_send_transaction.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_test.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/how_to_use_authwit.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/index.md (89%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-js/typescript_api_reference.mdx (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/api.mdx (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/compiling_contracts.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/contract_readiness_states.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/debugging.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/how_to_profile_transactions.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/how_to_use_capsules.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/partial_notes.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/protocol_oracles.md (90%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/advanced/writing_efficient_contracts.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/authentication_witnesses.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/calling_contracts.md (94%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/contract_artifact.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/contract_structure.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/contract_upgrades.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/custom_notes.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/dependencies.md (80%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/events_and_logs.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/functions/attributes.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/functions/context.md (94%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/functions/function_transforms.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/functions/how_to_define_functions.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/functions/index.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/functions/visibility.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/globals.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/macros.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/note_delivery.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/framework-description/state_variables.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/index.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/installation.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/aztec-nr/testing_contracts.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/cli/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/cli/aztec_cli_reference.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/cli/aztec_up_cli_reference.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/cli/aztec_wallet_cli_reference.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/accounts/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/accounts/index.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/accounts/keys.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/authwit.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/circuits/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/circuits/index.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/circuits/private_kernel.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/circuits/public_execution.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/circuits/rollup_circuits.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/storage/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/storage/indexed_merkle_tree.mdx (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/storage/note_discovery.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/advanced/storage/storage_slots.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/call_types.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/contract_creation.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/ethereum-aztec-messaging/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md (90%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/ethereum-aztec-messaging/inbox.md (94%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/ethereum-aztec-messaging/index.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/ethereum-aztec-messaging/outbox.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/ethereum-aztec-messaging/registry.md (90%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/fees.md (98%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/index.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/pxe/index.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/state_management.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/transactions.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/foundational-topics/wallets.md (98%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/community_calls.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/considerations/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/considerations/limitations.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/considerations/privacy_considerations.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/glossary.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/resources/migration_notes.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/contract_tutorials/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/contract_tutorials/counter_contract.md (92%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/contract_tutorials/recursive_verification.md (97%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/contract_tutorials/token_contract.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/faceid_wallet.md (98%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/js_tutorials/_category_.json (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/js_tutorials/aztecjs-getting-started.md (90%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/js_tutorials/token_bridge.md (95%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/local_network.md (96%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/docs/tutorials/testing_governance_rollup_upgrade.md (99%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/getting_started_on_devnet.md (100%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/getting_started_on_local_network.md (98%) rename docs/developer_versioned_docs/{version-v4.0.0-nightly.20260216 => version-v4.0.0-nightly.20260217}/overview.md (100%) rename docs/developer_versioned_sidebars/{version-v4.0.0-nightly.20260216-sidebars.json => version-v4.0.0-nightly.20260217-sidebars.json} (100%) rename docs/static/aztec-nr-api/nightly/noir_aztec/protocol/constants/{global.MAX_INCLUDE_BY_TIMESTAMP_DURATION.html => global.MAX_TX_LIFETIME.html} (99%) rename docs/static/aztec-nr-api/nightly/protocol_types/constants/{global.MAX_INCLUDE_BY_TIMESTAMP_DURATION.html => global.MAX_TX_LIFETIME.html} (99%) diff --git a/barretenberg/docs/docs/bb-cli-reference.md b/barretenberg/docs/docs/bb-cli-reference.md index 8998cd6c2af0..d56d5bfc32aa 100644 --- a/barretenberg/docs/docs/bb-cli-reference.md +++ b/barretenberg/docs/docs/bb-cli-reference.md @@ -10,7 +10,7 @@ sidebar_position: 1000 *This documentation is auto-generated from the `bb` CLI help output.* -*Generated: Mon 16 Feb 2026 04:50:07 UTC* +*Generated: Tue 17 Feb 2026 04:44:25 UTC* *Command: `bb`* diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/bb-cli-reference.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/bb-cli-reference.md similarity index 99% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/bb-cli-reference.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/bb-cli-reference.md index 8998cd6c2af0..d56d5bfc32aa 100644 --- a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/bb-cli-reference.md +++ b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/bb-cli-reference.md @@ -10,7 +10,7 @@ sidebar_position: 1000 *This documentation is auto-generated from the `bb` CLI help output.* -*Generated: Mon 16 Feb 2026 04:50:07 UTC* +*Generated: Tue 17 Feb 2026 04:44:25 UTC* *Command: `bb`* diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/explainers/advanced/_category_.json b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/explainers/advanced/_category_.json similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/explainers/advanced/_category_.json rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/explainers/advanced/_category_.json diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/explainers/advanced/chonk.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/explainers/advanced/chonk.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/explainers/advanced/chonk.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/explainers/advanced/chonk.md diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/explainers/recursive_aggregation.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/explainers/recursive_aggregation.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/explainers/recursive_aggregation.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/explainers/recursive_aggregation.md diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/getting_started.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/getting_started.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/getting_started.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/getting_started.md diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/_category_.json b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/_category_.json similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/_category_.json rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/_category_.json diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/how-to-solidity-verifier.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/how-to-solidity-verifier.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/how-to-solidity-verifier.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/how-to-solidity-verifier.md diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/on-the-browser.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/on-the-browser.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/on-the-browser.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/on-the-browser.md diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/recursive_aggregation.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/recursive_aggregation.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/how_to_guides/recursive_aggregation.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/how_to_guides/recursive_aggregation.md diff --git a/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/index.md b/barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/index.md similarity index 100% rename from barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260216/index.md rename to barretenberg/docs/versioned_docs/version-v4.0.0-nightly.20260217/index.md diff --git a/barretenberg/docs/versioned_sidebars/version-v4.0.0-nightly.20260216-sidebars.json b/barretenberg/docs/versioned_sidebars/version-v4.0.0-nightly.20260217-sidebars.json similarity index 100% rename from barretenberg/docs/versioned_sidebars/version-v4.0.0-nightly.20260216-sidebars.json rename to barretenberg/docs/versioned_sidebars/version-v4.0.0-nightly.20260217-sidebars.json diff --git a/barretenberg/docs/versions.json b/barretenberg/docs/versions.json index 72d4ba6b264e..1f0a17ae46f1 100644 --- a/barretenberg/docs/versions.json +++ b/barretenberg/docs/versions.json @@ -1,4 +1,4 @@ [ "v0.87.0", - "v4.0.0-nightly.20260216" + "v4.0.0-nightly.20260217" ] diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/aztec_js_reference.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/aztec_js_reference.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/aztec_js_reference.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/aztec_js_reference.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_connect_to_local_network.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_connect_to_local_network.md similarity index 92% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_connect_to_local_network.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_connect_to_local_network.md index 12f26a311219..d3c34a9078a8 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_connect_to_local_network.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_connect_to_local_network.md @@ -16,7 +16,7 @@ This guide shows you how to connect your application to the Aztec local network ## Install dependencies ```bash -yarn add @aztec/aztec.js@4.0.0-nightly.20260216 @aztec/wallets@4.0.0-nightly.20260216 +yarn add @aztec/aztec.js@4.0.0-nightly.20260217 @aztec/wallets@4.0.0-nightly.20260217 ``` ## Connect to the network @@ -37,7 +37,7 @@ await waitForNode(node); // Create an EmbeddedWallet connected to the node const wallet = await EmbeddedWallet.create(node); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L1-L14 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L1-L14 :::note About EmbeddedWallet @@ -57,7 +57,7 @@ const nodeInfo = await node.getNodeInfo(); console.log("Connected to local network version:", nodeInfo.nodeVersion); console.log("Chain ID:", nodeInfo.l1ChainId); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L16-L20 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L16-L20 ### Load pre-funded accounts @@ -75,7 +75,7 @@ const [aliceAddress, bobAddress] = await Promise.all( console.log(`Alice's address: ${aliceAddress.toString()}`); console.log(`Bob's address: ${bobAddress.toString()}`); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L22-L32 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L22-L32 These accounts are pre-funded with fee juice (the native gas token) at genesis, so you can immediately send transactions without needing to bridge funds from L1. @@ -90,7 +90,7 @@ import { getFeeJuiceBalance } from "@aztec/aztec.js/utils"; const aliceBalance = await getFeeJuiceBalance(aliceAddress, node); console.log(`Alice's fee juice balance: ${aliceBalance}`); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L34-L39 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L34-L39 ## Next steps diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_create_account.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_create_account.md similarity index 93% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_create_account.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_create_account.md index 18cb4ec9e32f..626a82ad921e 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_create_account.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_create_account.md @@ -15,7 +15,7 @@ This guide shows you how to create and deploy a new account on Aztec. ## Install dependencies ```bash -yarn add @aztec/aztec.js@4.0.0-nightly.20260216 @aztec/wallets@4.0.0-nightly.20260216 +yarn add @aztec/aztec.js@4.0.0-nightly.20260217 @aztec/wallets@4.0.0-nightly.20260217 ``` ## Create a new account @@ -30,7 +30,7 @@ const salt = Fr.random(); const newAccount = await wallet.createSchnorrAccount(secret, salt); console.log("New account address:", newAccount.address.toString()); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L41-L48 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L41-L48 The secret is used to derive the account's encryption keys, and the salt ensures address uniqueness. The signing key is automatically derived from the secret. @@ -74,7 +74,7 @@ await deployMethod.send({ fee: { paymentMethod: sponsoredPaymentMethod }, }); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L50-L76 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L50-L76 :::info @@ -92,7 +92,7 @@ await deployMethodFeeJuice.send({ from: AztecAddress.ZERO, }); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L78-L84 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L78-L84 The `from: AztecAddress.ZERO` is required because there's no existing account to send from—the transaction itself creates the account. @@ -105,7 +105,7 @@ Confirm the account was deployed successfully: const metadata = await wallet.getContractMetadata(newAccount.address); console.log("Account deployed:", metadata.isContractInitialized); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L86-L89 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L86-L89 ## Next steps diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_deploy_contract.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_deploy_contract.md similarity index 94% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_deploy_contract.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_deploy_contract.md index bb14dc1fab4b..f3972921bd73 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_deploy_contract.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_deploy_contract.md @@ -60,7 +60,7 @@ const token = await TokenContract.deploy( 18, ).send({ from: aliceAddress }); // alice has fee juice and is registered in the wallet ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L30-L40 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L30-L40 On testnet, your account likely won't have Fee Juice. Instead, pay fees using the [Sponsored Fee Payment Contract method](./how_to_pay_fees.md): @@ -83,7 +83,7 @@ const sponsoredContract = await TokenContract.deploy( 18, ).send({ from: aliceAddress, fee: { paymentMethod: sponsoredPaymentMethod } }); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L42-L59 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L42-L59 Here's a complete example from the test suite: @@ -91,7 +91,7 @@ Here's a complete example from the test suite: ```typescript title="deploy_basic" showLineNumbers const contract = await StatefulTestContract.deploy(wallet, owner, 42).send({ from: defaultAccountAddress }); ``` -> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L42-L44 +> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L42-L44 ## Use deployment options @@ -115,7 +115,7 @@ const saltedContract = await TokenContract.deploy( contractAddressSalt: customSalt, }); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L61-L75 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L61-L75 ### Deploy universally @@ -126,7 +126,7 @@ Deploy to the same address across networks by setting `universalDeploy: true`: const opts = { universalDeploy: true, from: defaultAccountAddress }; const contract = await StatefulTestContract.deploy(wallet, owner, 42).send(opts); ``` -> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L59-L62 +> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L59-L62 :::info @@ -159,7 +159,7 @@ await delayedToken.methods console.log("Contract initialized"); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L250-L271 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L250-L271 ### Deploy with a specific initializer @@ -175,7 +175,7 @@ const contract = await StatefulTestContract.deployWithOpts( from: defaultAccountAddress, }); ``` -> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L81-L89 +> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L81-L89 The `deployWithOpts` method accepts an options object as its first argument: @@ -210,7 +210,7 @@ const predictedAddress = instance.address; console.log(`Contract will deploy at: ${predictedAddress}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L77-L92 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L77-L92 :::warning @@ -242,7 +242,7 @@ console.log(`Deployment tx: ${txHash}`); const receipt = await waitForTx(node, txHash); console.log(`Deployed in block ${receipt.blockNumber}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L129-L147 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L129-L147 For most use cases, simply await the deployment to get the contract directly: @@ -260,7 +260,7 @@ const token = await TokenContract.deploy( console.log(`Token deployed at: ${token.address.toString()}`); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L91-L103 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L91-L103 ## Deploy multiple contracts @@ -274,7 +274,7 @@ const token = await TokenContract.deploy(wallet, owner, 'TOKEN', 'TKN', 18).send from: defaultAccountAddress, }); ``` -> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L70-L74 +> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L70-L74 ### Deploy contracts with dependencies @@ -303,7 +303,7 @@ const derivedToken = await TokenContract.deploy( console.log(`Base token at: ${baseToken.address.toString()}`); console.log(`Derived token at: ${derivedToken.address.toString()}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L208-L229 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L208-L229 ### Deploy contracts in parallel @@ -326,7 +326,7 @@ console.log(`Contract 1 at: ${contracts[0].address}`); console.log(`Contract 2 at: ${contracts[1].address}`); console.log(`Contract 3 at: ${contracts[2].address}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L231-L248 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L231-L248 :::tip[Parallel deployment considerations] @@ -350,7 +350,7 @@ const contract = await deployMethod.register(); const publicCall = contract.methods.increment_public_value(owner, 84); await new BatchCall(wallet, [deployMethod, publicCall]).send({ from: defaultAccountAddress }); ``` -> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L127-L135 +> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L127-L135 ## Verify deployment @@ -378,7 +378,7 @@ const metadata = await wallet.getContractMetadata(contract.address); const classMetadata = await wallet.getContractClassMetadata(metadata.instance!.currentContractClassId); const isPublished = classMetadata.isContractClassPubliclyRegistered; ``` -> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L49-L53 +> Source code: yarn-project/end-to-end/src/e2e_deploy_contract/deploy_method.test.ts#L49-L53 ### What the PXE checks automatically @@ -411,7 +411,7 @@ try { console.error("Contract not accessible:", (error as Error).message); } ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L94-L105 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L94-L105 ## Register deployed contracts @@ -437,7 +437,7 @@ await wallet.registerContract(metadata.instance!, TokenContract.artifact); // Now you can interact with the contract const externalContract = await TokenContract.at(contractAddress, wallet); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L107-L123 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L107-L123 :::warning @@ -463,7 +463,7 @@ console.log( `Reconstructed contract address: ${reconstructedInstance.address.toString()}`, ); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L173-L192 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L173-L192 ::: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_pay_fees.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_pay_fees.md similarity index 98% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_pay_fees.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_pay_fees.md index 9ef2804ea981..3fe3439bb5bc 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_pay_fees.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_pay_fees.md @@ -136,7 +136,7 @@ const sponsoredContract = await TokenContract.deploy( 18, ).send({ from: aliceAddress, fee: { paymentMethod: sponsoredPaymentMethod } }); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L42-L59 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L42-L59 Here's a simpler example from the test suite: @@ -151,7 +151,7 @@ const tx = await bananaCoin.methods.transfer_in_public(aliceAddress, bobAddress, }, }); ``` -> Source code: yarn-project/end-to-end/src/e2e_fees/sponsored_payments.test.ts#L57-L66 +> Source code: yarn-project/end-to-end/src/e2e_fees/sponsored_payments.test.ts#L57-L66 ### Use other Fee Paying Contracts @@ -180,7 +180,7 @@ const receiptForAlice = await bananaCoin.methods .transfer(bob, amountTransferToBob) .send({ from: alice, fee: { paymentMethod } }); ``` -> Source code: yarn-project/end-to-end/src/composed/e2e_local_network_example.test.ts#L185-L194 +> Source code: yarn-project/end-to-end/src/composed/e2e_local_network_example.test.ts#L185-L194 Public FPCs can be used in the same way: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_read_data.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_read_data.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_read_data.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_read_data.md index 363191ebdacf..21945880c8d9 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_read_data.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_read_data.md @@ -23,7 +23,7 @@ const balance = await token.methods console.log(`Alice's token balance: ${balance}`); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L114-L120 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L114-L120 The `from` option specifies which address context to use for the simulation. This is required for all simulations, though it only affects private function execution (public functions ignore this value). @@ -34,7 +34,7 @@ The `from` option specifies which address context to use for the simulation. Thi const balance = await contract.methods.balance_of_public(newAccountAddress).simulate({ from: newAccountAddress }); expect(balance).toEqual(1n); ``` -> Source code: yarn-project/end-to-end/src/composed/docs_examples.test.ts#L49-L52 +> Source code: yarn-project/end-to-end/src/composed/docs_examples.test.ts#L49-L52 ### Handling return values @@ -151,7 +151,7 @@ const collectedEvent1s = await getPublicEvents( publicEventFilter, ); ``` -> Source code: yarn-project/end-to-end/src/e2e_event_logs.test.ts#L137-L154 +> Source code: yarn-project/end-to-end/src/e2e_event_logs.test.ts#L137-L154 The function parameters are: @@ -197,7 +197,7 @@ const collectedEvent1s = await wallet.getPrivateEvents( eventFilter, ); ``` -> Source code: yarn-project/end-to-end/src/e2e_event_logs.test.ts#L68-L87 +> Source code: yarn-project/end-to-end/src/e2e_event_logs.test.ts#L68-L87 The `PrivateEventFilter` includes: @@ -249,7 +249,7 @@ async function pollForTransferEvents() { // Example: poll once (in production, use setInterval) await pollForTransferEvents(); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L273-L302 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L273-L302 For private events, use the same pattern with `wallet.getPrivateEvents()` and update the `fromBlock` in your filter accordingly. diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_send_transaction.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_send_transaction.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_send_transaction.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_send_transaction.md index 999c0ffbd3a3..1339e1734350 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_send_transaction.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_send_transaction.md @@ -58,7 +58,7 @@ console.log(`Transaction sent: ${transferTxHash.toString()}`); const transferReceipt = await waitForTx(node, transferTxHash); console.log(`Transaction mined in block ${transferReceipt.blockNumber}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L149-L160 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L149-L160 ## Send batch transactions @@ -75,7 +75,7 @@ const batch = new BatchCall(wallet, [ const batchReceipt = await batch.send({ from: aliceAddress }); console.log(`Batch executed in block ${batchReceipt.blockNumber}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L162-L171 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L162-L171 :::warning @@ -99,7 +99,7 @@ console.log(`Status: ${txReceipt.status}`); console.log(`Block number: ${txReceipt.blockNumber}`); console.log(`Transaction fee: ${txReceipt.transactionFee}`); ``` -> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L194-L206 +> Source code: docs/examples/ts/aztecjs_advanced/index.ts#L194-L206 The receipt includes: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_test.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_test.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_test.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_test.md index ace165531e97..de5afc95afac 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_test.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_test.md @@ -30,7 +30,7 @@ const nodeInfo = await node.getNodeInfo(); logger.info(format('Aztec Local Network Info ', nodeInfo)); ``` -> Source code: yarn-project/end-to-end/src/composed/e2e_local_network_example.test.ts#L37-L50 +> Source code: yarn-project/end-to-end/src/composed/e2e_local_network_example.test.ts#L37-L50 The `EmbeddedWallet` manages accounts, tracks deployed contracts, and handles transaction proving. It connects to the Aztec node which provides access to both the Private eXecution Environment (PXE) and the network. @@ -71,7 +71,7 @@ Use `.simulate()` to read contract state without creating a transaction: const balance = await contract.methods.balance_of_public(newAccountAddress).simulate({ from: newAccountAddress }); expect(balance).toEqual(1n); ``` -> Source code: yarn-project/end-to-end/src/composed/docs_examples.test.ts#L49-L52 +> Source code: yarn-project/end-to-end/src/composed/docs_examples.test.ts#L49-L52 Simulations are free (no gas cost) and return the function's result directly. Use them for: @@ -92,7 +92,7 @@ const receipt = await token.methods console.log(`Transaction mined in block ${receipt.blockNumber}`); console.log(`Transaction fee: ${receipt.transactionFee}`); ``` -> Source code: docs/examples/ts/aztecjs_connection/index.ts#L105-L112 +> Source code: docs/examples/ts/aztecjs_connection/index.ts#L105-L112 The `send()` method returns when the transaction is included in a block. @@ -206,7 +206,7 @@ async function runTests() { runTests().catch(console.error); ``` -> Source code: docs/examples/ts/aztecjs_testing/index.ts#L1-L105 +> Source code: docs/examples/ts/aztecjs_testing/index.ts#L1-L105 ## Testing failure cases diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_use_authwit.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_use_authwit.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_use_authwit.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_use_authwit.md index 7402c2921053..dc208ec836ec 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/how_to_use_authwit.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/how_to_use_authwit.md @@ -55,7 +55,7 @@ const privateWitness = await wallet.createAuthWit(aliceAddress, { // Bob executes the transfer, providing the authwit await privateAction.send({ from: bobAddress, authWitnesses: [privateWitness] }); ``` -> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L43-L63 +> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L43-L63 :::tip @@ -90,7 +90,7 @@ await authwit.send(); // Now Bob can execute the transfer await publicAction.send({ from: bobAddress }); ``` -> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L65-L88 +> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L65-L88 ## Create arbitrary message authwits @@ -116,7 +116,7 @@ const intent = { const arbitraryWitness = await wallet.createAuthWit(aliceAddress, intent); console.log("Arbitrary authwit created:", arbitraryWitness); ``` -> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L90-L108 +> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L90-L108 The `consumer` is the contract address that will verify this authwit. @@ -153,7 +153,7 @@ const revokeInteraction = await SetPublicAuthwitContractInteraction.create( ); await revokeInteraction.send(); ``` -> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L110-L137 +> Source code: docs/examples/ts/aztecjs_authwit/index.ts#L110-L137 ## Next steps diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/index.md similarity index 89% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/index.md index 6dab11805423..dcd03b0a2cff 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/index.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/index.md @@ -12,7 +12,7 @@ Aztec.js is a library that provides APIs for managing accounts and interacting w ## Installing ```bash -npm install @aztec/aztec.js@4.0.0-nightly.20260216 +npm install @aztec/aztec.js@4.0.0-nightly.20260217 ``` ## Common Dependencies @@ -20,10 +20,10 @@ npm install @aztec/aztec.js@4.0.0-nightly.20260216 Most applications will need additional packages alongside `@aztec/aztec.js`, e.g.: ```bash -npm install @aztec/aztec.js@4.0.0-nightly.20260216 \ - @aztec/accounts@4.0.0-nightly.20260216 \ - @aztec/wallets@4.0.0-nightly.20260216 \ - @aztec/noir-contracts.js@4.0.0-nightly.20260216 +npm install @aztec/aztec.js@4.0.0-nightly.20260217 \ + @aztec/accounts@4.0.0-nightly.20260217 \ + @aztec/wallets@4.0.0-nightly.20260217 \ + @aztec/noir-contracts.js@4.0.0-nightly.20260217 ``` | Package | Description | diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/typescript_api_reference.mdx b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/typescript_api_reference.mdx similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-js/typescript_api_reference.mdx rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-js/typescript_api_reference.mdx diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/api.mdx b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/api.mdx similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/api.mdx rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/api.mdx diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/compiling_contracts.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/compiling_contracts.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/compiling_contracts.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/compiling_contracts.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/contract_readiness_states.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/contract_readiness_states.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/contract_readiness_states.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/contract_readiness_states.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/debugging.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/debugging.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/debugging.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/debugging.md index 9b26cb8a3b99..15890de58779 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/debugging.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/debugging.md @@ -90,7 +90,7 @@ LOG_LEVEL="info;debug:simulator:client_execution_context;debug:simulator:client_ | Error | Solution | | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `Aztec dependency not found` | Add to Nargo.toml: `aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/aztec" }` | +| `Aztec dependency not found` | Add to Nargo.toml: `aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/aztec" }` | | `Public state writes only supported in public functions` | Move state writes to public functions | | `Unknown contract 0x0` | Call `wallet.registerContract(...)` to register contract | | `No public key registered for address` | Call `wallet.registerSender(...)` | diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_profile_transactions.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_profile_transactions.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_profile_transactions.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_profile_transactions.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md index 841aec5e2df3..ab221f88353b 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_prove_history.md @@ -34,7 +34,7 @@ Import the function: ```rust title="history_import" showLineNumbers use aztec::history::note::assert_note_existed_by; ``` -> Source code: noir-projects/noir-contracts/contracts/app/claim_contract/src/main.nr#L5-L7 +> Source code: noir-projects/noir-contracts/contracts/app/claim_contract/src/main.nr#L5-L7 Prove a note exists in the note hash tree: @@ -43,7 +43,7 @@ Prove a note exists in the note hash tree: let header = self.context.get_anchor_block_header(); let _ = assert_note_existed_by(header, hinted_note); ``` -> Source code: noir-projects/noir-contracts/contracts/app/claim_contract/src/main.nr#L49-L52 +> Source code: noir-projects/noir-contracts/contracts/app/claim_contract/src/main.nr#L49-L52 ## Prove note validity diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md index b58728a44216..4f0e49a1ea5c 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_retrieve_filter_notes.md @@ -52,7 +52,7 @@ let notes = nfts.at(from).pop_notes(NoteGetterOptions::new() .set_limit(1)); assert(notes.len() == 1, "NFT not found when transferring"); ``` -> Source code: noir-projects/noir-contracts/contracts/app/nft_contract/src/main.nr#L249-L254 +> Source code: noir-projects/noir-contracts/contracts/app/nft_contract/src/main.nr#L249-L254 ## Filter notes by properties @@ -122,7 +122,7 @@ pub fn filter_notes_min_sum( selected } ``` -> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/filter.nr#L9-L27 +> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/filter.nr#L9-L27 Then use it with `NoteGetterOptions`: @@ -182,7 +182,7 @@ unconstrained fn get_private_nfts( (owned_nft_ids, page_limit_reached) } ``` -> Source code: noir-projects/noir-contracts/contracts/app/nft_contract/src/main.nr#L294-L314 +> Source code: noir-projects/noir-contracts/contracts/app/nft_contract/src/main.nr#L294-L314 :::tip Viewer vs Getter diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_use_capsules.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_use_capsules.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/how_to_use_capsules.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/how_to_use_capsules.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/partial_notes.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/partial_notes.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/partial_notes.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/partial_notes.md index c46892266014..56d1143a08d4 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/partial_notes.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/partial_notes.md @@ -22,7 +22,7 @@ pub struct UintNote { pub value: u128, } ``` -> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L27-L34 +> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L27-L34 The `UintNote` struct itself only contains the `value` field. Additional fields including `owner`, `randomness`, and `storage_slot` are passed as parameters during note hash computation. @@ -55,7 +55,7 @@ pub struct UintNote { pub value: u128, } ``` -> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L27-L34 +> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L27-L34 ### Two-Phase Commitment Process @@ -72,7 +72,7 @@ fn compute_partial_commitment(owner: AztecAddress, storage_slot: Field, randomne ) } ``` -> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L156-L163 +> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L156-L163 This creates a partial note commitment: @@ -92,7 +92,7 @@ fn compute_complete_note_hash(self, value: u128) -> Field { poseidon2_hash_with_separator([self.commitment, value.to_field()], DOM_SEP__NOTE_HASH) } ``` -> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L270-L276 +> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L270-L276 The resulting structure is a nested commitment: @@ -129,7 +129,7 @@ fn compute_note_hash(self, owner: AztecAddress, storage_slot: Field, randomness: partial_note.compute_complete_note_hash(self.value) } ``` -> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L37-L54 +> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L37-L54 This two-step process ensures that notes with identical field values produce identical note hashes, regardless of whether they were created as partial notes or complete notes. diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/protocol_oracles.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/protocol_oracles.md similarity index 90% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/protocol_oracles.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/protocol_oracles.md index e22d0f16173a..97e972bc08d3 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/protocol_oracles.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/protocol_oracles.md @@ -25,17 +25,17 @@ Oracles introduce **non-determinism** into a circuit, and thus are `unconstraine ```rust title="oracles-module" showLineNumbers /// Oracles module ``` -> Source code: noir-projects/aztec-nr/aztec/src/oracle/mod.nr#L3-L5 +> Source code: noir-projects/aztec-nr/aztec/src/oracle/mod.nr#L3-L5 ## Inbuilt oracles -- [`debug_log`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr) - Provides debug functions that can be used to log information to the console. Read more about debugging [here](../../debugging.md). -- [`auth_witness`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/oracle/auth_witness.nr) - Provides a way to fetch the authentication witness for a given address. This is useful when building account contracts to support approve-like functionality. -- [`get_l1_to_l2_membership_witness`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/oracle/get_l1_to_l2_membership_witness.nr) - Returns the leaf index and sibling path for an L1 to L2 message, used to prove message existence in cross-chain applications like token bridges. -- [`notes`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/oracle/notes.nr) - Provides functions related to notes, such as fetching notes from storage, used behind the scenes for value notes and other pre-built note implementations. -- [`logs`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/oracle/logs.nr) - Provides functions to log encrypted and unencrypted data. +- [`debug_log`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr) - Provides debug functions that can be used to log information to the console. Read more about debugging [here](../../debugging.md). +- [`auth_witness`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/oracle/auth_witness.nr) - Provides a way to fetch the authentication witness for a given address. This is useful when building account contracts to support approve-like functionality. +- [`get_l1_to_l2_membership_witness`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/oracle/get_l1_to_l2_membership_witness.nr) - Returns the leaf index and sibling path for an L1 to L2 message, used to prove message existence in cross-chain applications like token bridges. +- [`notes`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/oracle/notes.nr) - Provides functions related to notes, such as fetching notes from storage, used behind the scenes for value notes and other pre-built note implementations. +- [`logs`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/oracle/logs.nr) - Provides functions to log encrypted and unencrypted data. -Find a full list [on GitHub](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/oracle). +Find a full list [on GitHub](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/oracle). Please note that it is **not** possible to write a custom oracle for your dapp. Oracles are implemented in the PXE, so all users of your dapp would have to use a PXE with your custom oracle included. If you want to inject some arbitrary data that does not have a dedicated oracle, you can use [capsules](./how_to_use_capsules.md). diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/writing_efficient_contracts.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/writing_efficient_contracts.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/advanced/writing_efficient_contracts.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/advanced/writing_efficient_contracts.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/authentication_witnesses.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/authentication_witnesses.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/authentication_witnesses.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/authentication_witnesses.md index 706219c6e110..e12759d0672f 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/authentication_witnesses.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/authentication_witnesses.md @@ -45,7 +45,7 @@ fn transfer_in_private( self.storage.balances.at(to).add(amount).deliver(MessageDelivery.ONCHAIN_CONSTRAINED); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L306-L320 +> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L306-L320 ### Public function example @@ -65,7 +65,7 @@ fn transfer_in_public( self.storage.public_balances.at(to).write(to_balance); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L166-L180 +> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L166-L180 The macro parameters specify: @@ -117,7 +117,7 @@ fn _approve_bridge_and_exit_input_asset_to_L1( )); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/uniswap_contract/src/main.nr#L180-L219 +> Source code: noir-projects/noir-contracts/contracts/app/uniswap_contract/src/main.nr#L180-L219 Key steps: @@ -140,7 +140,7 @@ fn cancel_authwit(inner_hash: Field) { self.context.push_nullifier(nullifier); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L297-L304 +> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L297-L304 :::note diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/calling_contracts.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/calling_contracts.md similarity index 94% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/calling_contracts.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/calling_contracts.md index 5a2c6c601f55..1d8d4b1a4c38 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/calling_contracts.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/calling_contracts.md @@ -14,7 +14,7 @@ Add the contract you want to call to your `Nargo.toml` dependencies: ```toml [dependencies] -token = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/noir-contracts/contracts/app/token_contract" } +token = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/noir-contracts/contracts/app/token_contract" } ``` Then import the contract interface at the top of your contract file: @@ -41,7 +41,7 @@ The pattern is: ```rust title="private_call" showLineNumbers let _ = self.call(Token::at(stable_coin).burn_private(from, amount, authwit_nonce)); ``` -> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L255-L257 +> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L255-L257 ### Public-to-public calls diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/contract_artifact.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/contract_artifact.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/contract_artifact.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/contract_artifact.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/contract_structure.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/contract_structure.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/contract_structure.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/contract_structure.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/contract_upgrades.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/contract_upgrades.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/contract_upgrades.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/contract_upgrades.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/custom_notes.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/custom_notes.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/custom_notes.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/custom_notes.md index 97d29f824159..f5a6416aa046 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/custom_notes.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/custom_notes.md @@ -29,21 +29,21 @@ Aztec.nr provides pre-built note types for common use cases: ```toml # In Nargo.toml -uint_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/uint-note" } +uint_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/uint-note" } ``` **FieldNote** - For storing single Field values: ```toml # In Nargo.toml -field_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/field-note" } +field_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/field-note" } ``` **AddressNote** - For storing Aztec addresses: ```toml # In Nargo.toml -address_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/address-note" } +address_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/address-note" } ``` ::: @@ -61,7 +61,7 @@ pub struct NFTNote { pub token_id: Field, } ``` -> Source code: docs/examples/contracts/nft/src/nft.nr#L1-L9 +> Source code: docs/examples/contracts/nft/src/nft.nr#L1-L9 The `#[note]` macro generates the following for your struct: @@ -125,7 +125,7 @@ fn mint(to: AztecAddress, token_id: Field) { self.enqueue_self._mark_nft_exists(token_id, true); } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L50-L65 +> Source code: docs/examples/contracts/nft/src/main.nr#L50-L65 ### Reading and removing notes @@ -150,7 +150,7 @@ fn burn(from: AztecAddress, token_id: Field) { self.enqueue_self._mark_nft_exists(token_id, false); } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L75-L92 +> Source code: docs/examples/contracts/nft/src/main.nr#L75-L92 :::warning @@ -255,7 +255,7 @@ unconstrained fn get_private_nfts( (owned_nft_ids, page_limit_reached) } ``` -> Source code: noir-projects/noir-contracts/contracts/app/nft_contract/src/main.nr#L294-L314 +> Source code: noir-projects/noir-contracts/contracts/app/nft_contract/src/main.nr#L294-L314 ## Further reading diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/dependencies.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/dependencies.md similarity index 80% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/dependencies.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/dependencies.md index 00e85f5f8377..d3e102b4dbe1 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/dependencies.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/dependencies.md @@ -9,7 +9,7 @@ This page lists the available Aztec.nr libraries. Add dependencies to the `[depe ```toml [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="aztec" } +aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="aztec" } # Add other libraries as needed ``` @@ -18,7 +18,7 @@ aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly. ### Aztec (required) ```toml -aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/aztec" } +aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/aztec" } ``` The core Aztec library required for every Aztec.nr smart contract. @@ -26,7 +26,7 @@ The core Aztec library required for every Aztec.nr smart contract. ### Protocol Types ```toml -protocol = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/noir-protocol-circuits/crates/types"} +protocol = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/noir-protocol-circuits/crates/types"} ``` Contains types used in the Aztec protocol (addresses, constants, hashes, etc.). @@ -36,7 +36,7 @@ Contains types used in the Aztec protocol (addresses, constants, hashes, etc.). ### Address Note ```toml -address_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/address-note" } +address_note = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/address-note" } ``` Provides `AddressNote`, a note type for storing `AztecAddress` values. @@ -44,7 +44,7 @@ Provides `AddressNote`, a note type for storing `AztecAddress` values. ### Field Note ```toml -field_note = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="field-note" } +field_note = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="field-note" } ``` Provides `FieldNote`, a note type for storing a single `Field` value. @@ -52,7 +52,7 @@ Provides `FieldNote`, a note type for storing a single `Field` value. ### Uint Note ```toml -uint_note = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="uint-note" } +uint_note = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="uint-note" } ``` Provides `UintNote`, a note type for storing `u128` values. Also includes `PartialUintNote` for partial note workflows where the value is completed in public execution. @@ -62,7 +62,7 @@ Provides `UintNote`, a note type for storing `u128` values. Also includes `Parti ### Balance Set ```toml -balance_set = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="balance-set" } +balance_set = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="balance-set" } ``` Provides `BalanceSet`, a state variable for managing private balances. Includes helper functions for adding, subtracting, and querying balances. @@ -72,7 +72,7 @@ Provides `BalanceSet`, a state variable for managing private balances. Includes ### Compressed String ```toml -compressed_string = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="compressed-string" } +compressed_string = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="compressed-string" } ``` Provides `CompressedString` and `FieldCompressedString` utilities for working with compressed string data. diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md index 32badf5d8fdc..0ad0574a9084 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/ethereum_aztec_messaging.md @@ -41,7 +41,7 @@ function depositToAztecPublic(bytes32 _to, uint256 _amount, bytes32 _secretHash) external returns (bytes32, uint256) ``` -> Source code: l1-contracts/test/portals/TokenPortal.sol#L48-L60 +> Source code: l1-contracts/test/portals/TokenPortal.sol#L48-L60 :::note Message availability @@ -52,7 +52,7 @@ L1 to L2 messages are not available immediately. The proposer batches messages f Call `consume_l1_to_l2_message` on the context. The `content` must match the hash sent from L1, and the `secret` must be the pre-image of the `secretHash`. Consuming a message emits a nullifier to prevent double-spending. -The content hash must be computed identically on both L1 and L2. Create a shared library for your content hash functions—see [`token_portal_content_hash_lib`](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/noir-contracts/contracts/app/token_portal_content_hash_lib) for an example. +The content hash must be computed identically on both L1 and L2. Create a shared library for your content hash functions—see [`token_portal_content_hash_lib`](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/noir-contracts/contracts/app/token_portal_content_hash_lib) for an example. ```rust title="claim_public" showLineNumbers // Consumes a L1->L2 message and calls the token contract to mint the appropriate amount publicly @@ -74,7 +74,7 @@ fn claim_public(to: AztecAddress, amount: u128, secret: Field, message_leaf_inde self.call(Token::at(config.token).mint_to_public(to, amount)); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_bridge_contract/src/main.nr#L50-L69 +> Source code: noir-projects/noir-contracts/contracts/app/token_bridge_contract/src/main.nr#L50-L69 This function works in both public and private contexts. @@ -105,7 +105,7 @@ fn exit_to_l1_public( self.call(Token::at(config.token).burn_public(self.msg_sender(), amount, authwit_nonce)); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_bridge_contract/src/main.nr#L71-L90 +> Source code: noir-projects/noir-contracts/contracts/app/token_bridge_contract/src/main.nr#L71-L90 This function works in both public and private contexts. @@ -155,7 +155,7 @@ function withdraw( underlying.safeTransfer(_recipient, _amount); } ``` -> Source code: l1-contracts/test/portals/TokenPortal.sol#L114-L150 +> Source code: l1-contracts/test/portals/TokenPortal.sol#L114-L150 :::info Getting the membership witness @@ -187,8 +187,8 @@ const witness = await computeL2ToL1MembershipWitness( ## Example implementations -- [Token Portal (L1)](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/test/portals/TokenPortal.sol) -- [Token Bridge (L2)](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/noir-contracts/contracts/app/token_bridge_contract/src/main.nr) +- [Token Portal (L1)](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/test/portals/TokenPortal.sol) +- [Token Bridge (L2)](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/noir-contracts/contracts/app/token_bridge_contract/src/main.nr) ## Next steps diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/events_and_logs.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/events_and_logs.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/events_and_logs.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/events_and_logs.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/attributes.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/attributes.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/attributes.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/attributes.md index 765b2ee96b44..f768bd8545b2 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/attributes.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/attributes.md @@ -66,7 +66,7 @@ unconstrained fn balance_of_private(owner: AztecAddress) -> u128 { self.storage.balances.at(owner).balance_of() } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L518-L523 +> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L518-L523 :::info @@ -90,7 +90,7 @@ fn set_minter(minter: AztecAddress, approve: bool) { self.storage.minters.at(minter).write(approve); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L149-L155 +> Source code: noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr#L149-L155 Under the hood, the macro: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/context.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/context.md similarity index 94% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/context.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/context.md index 0431000311c1..d9becb054447 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/context.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/context.md @@ -46,7 +46,7 @@ pub is_fee_payer: bool, pub args_hash: Field, pub return_hash: Field, -pub include_by_timestamp: u64, +pub expiration_timestamp: u64, pub(crate) note_hash_read_requests: BoundedVec>, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL>, pub(crate) nullifier_read_requests: BoundedVec>, MAX_NULLIFIER_READ_REQUESTS_PER_CALL>, @@ -60,7 +60,7 @@ pub public_call_requests: BoundedVec, MAX_ENQUEUED_CA pub public_teardown_call_request: PublicCallRequest, pub l2_to_l1_msgs: BoundedVec, MAX_L2_TO_L1_MSGS_PER_CALL>, ``` -> Source code: noir-projects/aztec-nr/aztec/src/context/private_context.nr#L141-L164 +> Source code: noir-projects/aztec-nr/aztec/src/context/private_context.nr#L141-L164 ### Private Context Broken Down @@ -78,7 +78,7 @@ pub struct PrivateContextInputs { pub start_side_effect_counter: u32, } ``` -> Source code: noir-projects/aztec-nr/aztec/src/context/inputs/private_context_inputs.nr#L7-L15 +> Source code: noir-projects/aztec-nr/aztec/src/context/inputs/private_context_inputs.nr#L7-L15 As shown in the snippet, the application context is made up of 4 main structures. The call context, the block header, and the private global variables. @@ -98,7 +98,7 @@ pub struct CallContext { pub is_static_call: bool, } ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr#L8-L20 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/call_context.nr#L8-L20 The call context contains information about the current call being made: @@ -141,7 +141,7 @@ pub struct BlockHeader { pub total_mana_used: Field, } ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/block_header.nr#L12-L29 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/block_header.nr#L12-L29 ### Transaction Context @@ -159,7 +159,7 @@ pub struct TxContext { pub gas_settings: GasSettings, } ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/transaction/tx_context.nr#L8-L18 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/transaction/tx_context.nr#L8-L18 ### Args Hash @@ -175,14 +175,14 @@ The return values are a set of values that are returned from an applications exe ```rust return_values : BoundedVec\, ``` -## Include By Timestamp +## Expiration Timestamp -Some data structures impose time constraints, e.g. they may make it so that a value can only be changed after a certain delay. Interacting with these in private involves creating proofs that are only valid as long as they are included before a certain future point in time. To achieve this, the `set_include_by_timestamp` function can be used to set this property: +Some data structures impose time constraints, e.g. they may make it so that a value can only be changed after a certain delay. Interacting with these in private involves creating proofs that are only valid as long as they are included before a certain future point in time. To achieve this, the `set_expiration_timestamp` function can be used to set this property: -```rust title="include-by-timestamp" showLineNumbers -pub fn set_include_by_timestamp(&mut self, include_by_timestamp: u64) { +```rust title="expiration-timestamp" showLineNumbers +pub fn set_expiration_timestamp(&mut self, expiration_timestamp: u64) { ``` -> Source code: noir-projects/aztec-nr/aztec/src/context/private_context.nr#L620-L622 +> Source code: noir-projects/aztec-nr/aztec/src/context/private_context.nr#L618-L620 A transaction that sets this value will never be included in a block with a timestamp larger than the requested value, since it would be considered invalid. This can also be used to make transactions automatically expire after some time if not included. @@ -238,5 +238,5 @@ pub struct GlobalVariables { pub gas_fees: GasFees, } ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr#L7-L19 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr#L7-L19 diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/function_transforms.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/function_transforms.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/function_transforms.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/function_transforms.md index b39318e305fa..e1ab2f9ce4f9 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/function_transforms.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/function_transforms.md @@ -170,4 +170,4 @@ Contract artifacts enable: ## Further reading - [Function attributes and macros](./attributes.md) -- [Aztec.nr macro source code](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/macros) - for those who want to see the actual transformation implementation +- [Aztec.nr macro source code](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/macros) - for those who want to see the actual transformation implementation diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/how_to_define_functions.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/how_to_define_functions.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/how_to_define_functions.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/how_to_define_functions.md index 56c877e0ef0e..06848aa8cbcc 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/how_to_define_functions.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/how_to_define_functions.md @@ -40,7 +40,7 @@ fn increment(owner: AztecAddress) { self.storage.counters.at(owner).add(1).deliver(MessageDelivery.ONCHAIN_CONSTRAINED); } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L36-L42 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L36-L42 Private functions run in a private context, can access private state, and can read certain public values through storage types like [`DelayedPublicMutable`](../state_variables.md#delayedpublicmutable). @@ -60,7 +60,7 @@ fn mint_public(employee: AztecAddress, amount: u64) { self.storage.public_balances.at(employee).write(current_balance + amount); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L41-L51 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L41-L51 Public functions operate on public state, similar to EVM contracts. They can write to private storage, but any data written from a public function is publicly visible. @@ -77,7 +77,7 @@ unconstrained fn get_counter(owner: AztecAddress) -> pub u128 { self.storage.counters.at(owner).balance_of() } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L44-L49 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L44-L49 Use `aztec.js` `simulate` to execute utility functions and read their return values. For details, see [Call Types](../../../foundational-topics/call_types.md#simulate). @@ -108,7 +108,7 @@ fn _assert_is_owner(address: AztecAddress) { assert_eq(address, self.storage.owner.read(), "Only Giggle can mint BOB tokens"); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L131-L137 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L131-L137 Only-self functions are only callable by the same contract, which is useful when a private function enqueues a public call that should only be callable internally. @@ -127,7 +127,7 @@ fn initialize(headstart: u64, owner: AztecAddress) { ); } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L25-L34 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L25-L34 ### Use multiple initializers diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/index.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/index.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/visibility.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/visibility.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/functions/visibility.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/functions/visibility.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/globals.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/globals.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/globals.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/globals.md index fbb0ae6c7fd8..3baee75c669e 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/globals.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/globals.md @@ -26,7 +26,7 @@ pub struct TxContext { pub gas_settings: GasSettings, } ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/transaction/tx_context.nr#L8-L18 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/transaction/tx_context.nr#L8-L18 The following fields are accessible via `context` methods: @@ -72,7 +72,7 @@ pub struct GlobalVariables { pub gas_fees: GasFees, } ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr#L7-L19 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/abis/global_variables.nr#L7-L19 :::note diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/macros.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/macros.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/macros.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/macros.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/note_delivery.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/note_delivery.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/note_delivery.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/note_delivery.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/state_variables.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/state_variables.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/state_variables.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/state_variables.md index 6d585c33ec40..5a0896063bfd 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/framework-description/state_variables.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/framework-description/state_variables.md @@ -125,7 +125,7 @@ For example, storing the address of the collateral asset in a lending contract: ```rust title="public_mutable" showLineNumbers collateral_asset: PublicMutable, ``` -> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L34-L36 +> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L34-L36 #### `read` @@ -139,7 +139,7 @@ fn get_assets() -> pub [AztecAddress; 2] { [self.storage.collateral_asset.read(), self.storage.stable_coin.read()] } ``` -> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L303-L309 +> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L303-L309 #### `write` @@ -149,7 +149,7 @@ The `write` method on `PublicMutable` variables takes the value to write as an i ```rust title="public_mutable_write" showLineNumbers self.storage.collateral_asset.write(collateral_asset); ``` -> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L76-L78 +> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L76-L78 ### PublicImmutable @@ -167,7 +167,7 @@ symbol: PublicImmutable, name: PublicImmutable, decimals: PublicImmutable, ``` -> Source code: noir-projects/noir-contracts/contracts/app/simple_token_contract/src/main.nr#L45-L49 +> Source code: noir-projects/noir-contracts/contracts/app/simple_token_contract/src/main.nr#L45-L49 #### `initialize` @@ -179,7 +179,7 @@ self.storage.name.initialize(FieldCompressedString::from_string(name)); self.storage.symbol.initialize(FieldCompressedString::from_string(symbol)); self.storage.decimals.initialize(decimals); ``` -> Source code: noir-projects/noir-contracts/contracts/app/simple_token_contract/src/main.nr#L55-L59 +> Source code: noir-projects/noir-contracts/contracts/app/simple_token_contract/src/main.nr#L55-L59 :::warning @@ -197,7 +197,7 @@ fn public_get_name() -> FieldCompressedString { self.storage.name.read() } ``` -> Source code: noir-projects/noir-contracts/contracts/app/simple_token_contract/src/main.nr#L62-L68 +> Source code: noir-projects/noir-contracts/contracts/app/simple_token_contract/src/main.nr#L62-L68 ### DelayedPublicMutable @@ -206,7 +206,7 @@ It is sometimes necessary to read public mutable state in private. For example, `DelayedPublicMutable` is the same as a `PublicMutable` in that it is a public value that can be read and written, but with a caveat: writes only take effect _after some time delay_. These delays are configurable, but they're typically on the order of a couple hours, if not days, making this state variable unsuitable for actions that must be executed immediately - such as an emergency shutdown. It is these very delays that enable private contract functions to _read the current value of a public state variable_, which is otherwise typically impossible. -The existence of minimum delays means that a private function that reads a public value at an anchor block has a guarantee that said historical value will remain the current value until _at least_ some time in the future - before the delay elapses. As long as the transaction gets included in a block before that time (by using the `include_by_timestamp` tx property), the read value is valid. +The existence of minimum delays means that a private function that reads a public value at an anchor block has a guarantee that said historical value will remain the current value until _at least_ some time in the future - before the delay elapses. As long as the transaction gets included in a block before that time (by using the `expiration_timestamp` tx property), the read value is valid. #### Declaration @@ -223,7 +223,7 @@ struct Storage { authorized: DelayedPublicMutable, } ``` -> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L15-L25 +> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L15-L25 #### `schedule_value_change` @@ -237,7 +237,7 @@ fn set_authorized(authorized: AztecAddress) { self.storage.authorized.schedule_value_change(authorized); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L34-L40 +> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L34-L40 #### `get_current_value` @@ -251,11 +251,11 @@ fn get_authorized() -> AztecAddress { self.storage.authorized.get_current_value() } ``` -> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L42-L48 +> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L42-L48 :::warning Privacy Consideration -Reading `DelayedPublicMutable` in private sets the `include_by_timestamp` property, which may reveal timing information. Choose delays that align with common values to maximize privacy sets. +Reading `DelayedPublicMutable` in private sets the `expiration_timestamp` property, which may reveal timing information. Choose delays that align with common values to maximize privacy sets. ::: #### `get_scheduled_value` @@ -269,7 +269,7 @@ fn get_scheduled_authorized() -> (AztecAddress, u64) { self.storage.authorized.get_scheduled_value() } ``` -> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L50-L56 +> Source code: noir-projects/noir-contracts/contracts/app/auth_contract/src/main.nr#L50-L56 ## Private State Variables @@ -371,7 +371,7 @@ fn mint(amount: u128, recipient: AztecAddress) { self.storage.balances.at(recipient).add(amount).deliver(MessageDelivery.ONCHAIN_CONSTRAINED); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/private_token_contract/src/main.nr#L55-L78 +> Source code: noir-projects/noir-contracts/contracts/app/private_token_contract/src/main.nr#L55-L78 Methods that return `NoteMessage` include `initialize()`, `get_note()`, and `replace()` on `PrivateMutable`, `initialize()` on `PrivateImmutable`, and `insert()` on `PrivateSet` (more on these methods and private state variable types shortly). @@ -457,7 +457,7 @@ Access the underlying state variable for a specific owner using `.at(owner)` ```rust title="owned_private_mutable" showLineNumbers subscriptions: Owned, Context>, ``` -> Source code: noir-projects/noir-contracts/contracts/app/app_subscription_contract/src/main.nr#L60-L62 +> Source code: noir-projects/noir-contracts/contracts/app/app_subscription_contract/src/main.nr#L60-L62 #### `is_initialized` @@ -470,7 +470,7 @@ unconstrained fn is_initialized(subscriber: AztecAddress) -> bool { self.storage.subscriptions.at(subscriber).is_initialized() } ``` -> Source code: noir-projects/noir-contracts/contracts/app/app_subscription_contract/src/main.nr#L172-L177 +> Source code: noir-projects/noir-contracts/contracts/app/app_subscription_contract/src/main.nr#L172-L177 #### `initialize` and `initialize_or_replace` @@ -487,7 +487,7 @@ self }) .deliver(MessageDelivery.ONCHAIN_CONSTRAINED); ``` -> Source code: noir-projects/noir-contracts/contracts/app/app_subscription_contract/src/main.nr#L160-L169 +> Source code: noir-projects/noir-contracts/contracts/app/app_subscription_contract/src/main.nr#L160-L169 #### `get_note` @@ -531,7 +531,7 @@ fn transfer_admin(new_admin: AztecAddress) { .deliver(MessageDelivery.ONCHAIN_CONSTRAINED); } ``` -> Source code: noir-projects/noir-contracts/contracts/app/private_token_contract/src/main.nr#L81-L99 +> Source code: noir-projects/noir-contracts/contracts/app/private_token_contract/src/main.nr#L81-L99 ### PrivateImmutable @@ -545,7 +545,7 @@ Unlike `PrivateMutable`, the `get_note` function for a `PrivateImmutable` doesn' ```rust title="private_immutable" showLineNumbers note_in_private_immutable: Owned, Context>, ``` -> Source code: noir-projects/noir-contracts/contracts/test/test_contract/src/main.nr#L85-L87 +> Source code: noir-projects/noir-contracts/contracts/test/test_contract/src/main.nr#L85-L87 `PrivateImmutable` variables also have the `initialize` and `get_note` functions on them but no `initialize_or_replace` since they cannot be modified. @@ -569,7 +569,7 @@ struct Storage { balances: Owned, Context>, } ``` -> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L27-L32 +> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L27-L32 #### `insert` @@ -579,7 +579,7 @@ Allows us to modify the storage by inserting a note into the `PrivateSet`: ```rust title="private_set_insert" showLineNumbers owner_balance.insert(note).deliver(MessageDelivery.ONCHAIN_CONSTRAINED); ``` -> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L51-L53 +> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L51-L53 Note: The `Owned` wrapper requires calling `.at(owner)` to access the underlying `PrivateSet` for a specific owner. This binds the owner to the state variable instance. @@ -593,7 +593,7 @@ let options = NoteGetterOptions::with_filter(filter_notes_min_sum, amount); // get note (note inserted at bottom of function shouldn't exist yet) let notes = owner_balance.get_notes(options); ``` -> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L70-L74 +> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L70-L74 #### `pop_notes` @@ -604,7 +604,7 @@ This function pops (gets, removes and returns) the notes the account has access let options = NoteGetterOptions::new().set_limit(1); let note = owner_balance.pop_notes(options).get(0); ``` -> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L137-L140 +> Source code: noir-projects/noir-contracts/contracts/test/pending_note_hashes_contract/src/main.nr#L137-L140 #### `remove` diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/index.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/index.md index 47c904ba6f5c..fe69995a6ef7 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/index.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/index.md @@ -48,7 +48,7 @@ storage.votes.insert(new_vote).deliver(vote_counter); // the vote counter accoun ```toml # Nargo.toml [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="aztec" } +aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="aztec" } ``` Update your `main.nr` contract file to use the Aztec.nr macros for writing contracts. @@ -59,7 +59,7 @@ use aztec::macros::aztec; #[aztec] pub contract Counter { ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L1-L6 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L1-L6 and import dependencies from the Aztec.nr library. @@ -74,12 +74,12 @@ use aztec::{ }; use balance_set::BalanceSet; ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L7-L16 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L7-L16 :::info -You can see a complete example of a simple counter contract written with Aztec.nr [here](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/docs/examples/contracts/counter_contract/src/main.nr). +You can see a complete example of a simple counter contract written with Aztec.nr [here](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/docs/examples/contracts/counter_contract/src/main.nr). ::: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/installation.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/installation.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/installation.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/installation.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/testing_contracts.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/testing_contracts.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/testing_contracts.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/testing_contracts.md index 110d9d16248c..7faa7422e434 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/aztec-nr/testing_contracts.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/aztec-nr/testing_contracts.md @@ -67,7 +67,7 @@ unconstrained fn test_basic_flow() { - Tests run in parallel by default - Use `unconstrained` functions for faster execution -- See all `TestEnvironment` methods [here](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/test/helpers/test_environment.nr) +- See all `TestEnvironment` methods [here](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/test/helpers/test_environment.nr) ::: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/aztec_cli_reference.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/aztec_cli_reference.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/aztec_cli_reference.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/aztec_cli_reference.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/aztec_up_cli_reference.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/aztec_up_cli_reference.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/aztec_up_cli_reference.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/aztec_up_cli_reference.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/aztec_wallet_cli_reference.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/aztec_wallet_cli_reference.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/cli/aztec_wallet_cli_reference.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/cli/aztec_wallet_cli_reference.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/index.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/index.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/keys.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/keys.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/keys.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/keys.md index d937b362b5d0..00c20a8750ab 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/accounts/keys.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/accounts/keys.md @@ -115,7 +115,7 @@ let pub_key = std::embedded_curve_ops::EmbeddedCurvePoint { // Verify signature of the payload bytes schnorr::verify_signature(pub_key, signature, outer_hash.to_be_bytes::<32>()) ``` -> Source code: noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L93-L114 +> Source code: noir-projects/noir-contracts/contracts/account/schnorr_account_contract/src/main.nr#L93-L114 The flexibility of signing key storage and rotation is entirely up to your account contract implementation. diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/authwit.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/authwit.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/authwit.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/authwit.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/index.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/index.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/private_kernel.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/private_kernel.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/private_kernel.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/private_kernel.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/public_execution.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/public_execution.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/public_execution.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/public_execution.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/rollup_circuits.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/rollup_circuits.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/circuits/rollup_circuits.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/circuits/rollup_circuits.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/indexed_merkle_tree.mdx b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/indexed_merkle_tree.mdx similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/indexed_merkle_tree.mdx rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/indexed_merkle_tree.mdx diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/note_discovery.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/note_discovery.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/note_discovery.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/note_discovery.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/storage_slots.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/storage_slots.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/advanced/storage/storage_slots.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/advanced/storage/storage_slots.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/call_types.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/call_types.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/call_types.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/call_types.md index a366cc655b1b..793c9b0eef3f 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/call_types.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/call_types.md @@ -118,7 +118,7 @@ Private functions from other contracts can be called either regularly or statica ```rust title="private_call" showLineNumbers let _ = self.call(Token::at(stable_coin).burn_private(from, amount, authwit_nonce)); ``` -> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L255-L257 +> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L255-L257 Unlike the EVM however, private execution doesn't revert in the traditional way: in case of error (e.g. a failed assertion, a state changing operation in a static context, etc.) the proof generation simply fails and no transaction request is generated, spending no network gas or user funds. @@ -132,7 +132,7 @@ Since the public call is made asynchronously, any return values or side effects ```rust title="enqueue_public" showLineNumbers self.enqueue_self._deposit(AztecAddress::from_field(on_behalf_of), amount, collateral_asset); ``` -> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L125-L127 +> Source code: noir-projects/noir-contracts/contracts/app/lending_contract/src/main.nr#L125-L127 It is also possible to create public functions that can _only_ be invoked by privately enqueueing a call from the same contract, which can be very useful to update public state after private execution (e.g. update a token's supply after privately minting). This is achieved by annotating functions with `#[only_self]`. @@ -144,7 +144,7 @@ PublicChecks::at(PUBLIC_CHECKS_ADDRESS) .check_block_number(operation, value) .enqueue_view_incognito(context); ``` -> Source code: noir-projects/noir-contracts/contracts/protocol/public_checks_contract/src/utils.nr#L19-L23 +> Source code: noir-projects/noir-contracts/contracts/protocol/public_checks_contract/src/utils.nr#L19-L23 Note that this reveals what public function is being called on what contract, and perhaps more importantly which contract enqueued the call during private execution. @@ -158,7 +158,7 @@ An example of how a deadline can be checked using the `PublicChecks` contract fo ```rust title="call-check-deadline" showLineNumbers privately_check_timestamp(Comparator.LT, config.deadline, self.context); ``` -> Source code: noir-projects/noir-contracts/contracts/app/crowdfunding_contract/src/main.nr#L48-L50 +> Source code: noir-projects/noir-contracts/contracts/app/crowdfunding_contract/src/main.nr#L48-L50 `privately_check_timestamp` and `privately_check_block_number` are helper functions around the call to the `PublicChecks` contract: @@ -182,7 +182,7 @@ pub fn privately_check_block_number(operation: u8, value: u32, context: &mut Pri .enqueue_view_incognito(context); } ``` -> Source code: noir-projects/noir-contracts/contracts/protocol/public_checks_contract/src/utils.nr#L5-L25 +> Source code: noir-projects/noir-contracts/contracts/protocol/public_checks_contract/src/utils.nr#L5-L25 This is what the implementation of the check timestamp functionality looks like: @@ -198,7 +198,7 @@ fn check_timestamp(operation: u8, value: u64) { assert(compare(lhs_field, operation, rhs_field), "Timestamp mismatch."); } ``` -> Source code: noir-projects/noir-contracts/contracts/protocol/public_checks_contract/src/main.nr#L15-L25 +> Source code: noir-projects/noir-contracts/contracts/protocol/public_checks_contract/src/main.nr#L15-L25 :::note @@ -207,7 +207,7 @@ To add it as a dependency, point to the aztec-packages repository: ```toml [dependencies] -public_checks = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "v4.0.0-nightly.20260216", directory = "noir-projects/noir-contracts/contracts/protocol/public_checks_contract" } +public_checks = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "v4.0.0-nightly.20260217", directory = "noir-projects/noir-contracts/contracts/protocol/public_checks_contract" } ``` ::: @@ -232,7 +232,7 @@ self.enqueue(Token::at(config.accepted_asset).transfer_in_public( authwit_nonce, )); ``` -> Source code: noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L165-L172 +> Source code: noir-projects/noir-contracts/contracts/fees/fpc_contract/src/main.nr#L165-L172 :::note @@ -260,7 +260,7 @@ This is used to get a result out of an execution, either private or public. It c const balance = await contract.methods.balance_of_public(newAccountAddress).simulate({ from: newAccountAddress }); expect(balance).toEqual(1n); ``` -> Source code: yarn-project/end-to-end/src/composed/docs_examples.test.ts#L49-L52 +> Source code: yarn-project/end-to-end/src/composed/docs_examples.test.ts#L49-L52 :::warning @@ -274,7 +274,7 @@ This creates a transaction, generates proofs for private execution, broadcasts t ```typescript title="send_tx" showLineNumbers await contract.methods.buy_pack(seed).send({ from: firstPlayer }); ``` -> Source code: yarn-project/end-to-end/src/e2e_card_game.test.ts#L113-L115 +> Source code: yarn-project/end-to-end/src/e2e_card_game.test.ts#L113-L115 You can also use `send` to check for execution failures in testing contexts by expecting the transaction to throw: @@ -284,7 +284,7 @@ await expect( claimContract.methods.claim(anotherDonationNote, donorAddress).send({ from: unrelatedAddress }), ).rejects.toThrow('hinted_note.owner == self.msg_sender()'); ``` -> Source code: yarn-project/end-to-end/src/e2e_crowdfunding_and_claim.test.ts#L195-L199 +> Source code: yarn-project/end-to-end/src/e2e_crowdfunding_and_claim.test.ts#L195-L199 ## Next Steps diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/contract_creation.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/contract_creation.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/contract_creation.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/contract_creation.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md similarity index 90% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md index fda11b4bfd4f..8295301cfed4 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/data_structures.md @@ -6,7 +6,7 @@ references: ["l1-contracts/src/core/libraries/DataStructures.sol"] This page documents the Solidity structs used for L1-L2 message passing in the Aztec protocol. -**Source**: [DataStructures.sol](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/core/libraries/DataStructures.sol) +**Source**: [DataStructures.sol](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/core/libraries/DataStructures.sol) ## `L1Actor` @@ -23,7 +23,7 @@ struct L1Actor { uint256 chainId; } ``` -> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L11-L22 +> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L11-L22 ## `L2Actor` @@ -41,12 +41,12 @@ struct L2Actor { uint256 version; } ``` -> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L24-L35 +> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L24-L35 ## `L1ToL2Msg` -A message sent from L1 to L2. The `secretHash` field contains the hash of a secret pre-image that must be known to consume the message on L2. Use [`computeSecretHash`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/yarn-project/stdlib/src/hash/hash.ts) to compute it from a secret. +A message sent from L1 to L2. The `secretHash` field contains the hash of a secret pre-image that must be known to consume the message on L2. Use [`computeSecretHash`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/yarn-project/stdlib/src/hash/hash.ts) to compute it from a secret. ```solidity title="l1_to_l2_msg" showLineNumbers /** @@ -66,7 +66,7 @@ struct L1ToL2Msg { uint256 index; } ``` -> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L37-L55 +> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L37-L55 ## `L2ToL1Msg` @@ -87,7 +87,7 @@ struct L2ToL1Msg { bytes32 content; } ``` -> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L57-L70 +> Source code: l1-contracts/src/core/libraries/DataStructures.sol#L57-L70 ## See also diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/inbox.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/inbox.md similarity index 94% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/inbox.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/inbox.md index ce728c27e2a2..49459d76b217 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/inbox.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/inbox.md @@ -7,7 +7,7 @@ references: ["l1-contracts/src/core/interfaces/messagebridge/IInbox.sol"] The `Inbox` is a contract deployed on L1 that handles message passing from L1 to L2. -**Links**: [Interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/core/interfaces/messagebridge/IInbox.sol), [Implementation](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/core/messagebridge/Inbox.sol). +**Links**: [Interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/core/interfaces/messagebridge/IInbox.sol), [Implementation](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/core/messagebridge/Inbox.sol). ## `sendL2Message()` @@ -27,14 +27,14 @@ function sendL2Message(DataStructures.L2Actor memory _recipient, bytes32 _conten external returns (bytes32, uint256); ``` -> Source code: l1-contracts/src/core/interfaces/messagebridge/IInbox.sol#L35-L48 +> Source code: l1-contracts/src/core/interfaces/messagebridge/IInbox.sol#L35-L48 | Name | Type | Description | | ----------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Recipient | [`L2Actor`](./data_structures.md#l2actor) | The recipient of the message. The recipient's version **MUST** match the inbox version and the actor must be an Aztec contract that is **attached** to the contract making this call. If the recipient is not attached to the caller, the message cannot be consumed by it. | -| Content | `field` (~254 bits) | The content of the message. This is the data that will be passed to the recipient. The content is limited to a single field for rollup purposes. If the content is small enough it can be passed directly, otherwise it should be hashed and the hash passed along (you can use our [`Hash`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/core/libraries/crypto/Hash.sol) utilities with `sha256ToField` functions). | -| Secret Hash | `field` (~254 bits) | A hash of a secret used when consuming the message on L2. Keep this preimage secret to make the consumption private. To consume the message the caller must know the pre-image (the value that was hashed). Use [`computeSecretHash`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/yarn-project/stdlib/src/hash/hash.ts) to compute it from a secret. | +| Content | `field` (~254 bits) | The content of the message. This is the data that will be passed to the recipient. The content is limited to a single field for rollup purposes. If the content is small enough it can be passed directly, otherwise it should be hashed and the hash passed along (you can use our [`Hash`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/core/libraries/crypto/Hash.sol) utilities with `sha256ToField` functions). | +| Secret Hash | `field` (~254 bits) | A hash of a secret used when consuming the message on L2. Keep this preimage secret to make the consumption private. To consume the message the caller must know the pre-image (the value that was hashed). Use [`computeSecretHash`](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/yarn-project/stdlib/src/hash/hash.ts) to compute it from a secret. | | ReturnValue | `(bytes32, uint256)` | The message hash (used as an identifier) and the leaf index in the tree. | #### Edge cases @@ -80,7 +80,7 @@ Consumes a message tree for a given checkpoint number. */ function consume(uint256 _toConsume) external returns (bytes32); ``` -> Source code: l1-contracts/src/core/interfaces/messagebridge/IInbox.sol#L50-L62 +> Source code: l1-contracts/src/core/interfaces/messagebridge/IInbox.sol#L50-L62 | Name | Type | Description | diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/index.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/index.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/outbox.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/outbox.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/outbox.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/outbox.md index 7871e84dce11..0c9c42fb0dd5 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/outbox.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/outbox.md @@ -7,7 +7,7 @@ references: ["l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol"] The `Outbox` is a contract deployed on L1 that handles message passing from L2 to L1. Portal contracts call `consume()` to receive and process messages that were sent from L2 contracts. The Rollup contract inserts message roots via `insert()` when epochs are proven. -**Links**: [Interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol), [Implementation](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/core/messagebridge/Outbox.sol). +**Links**: [Interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol), [Implementation](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/core/messagebridge/Outbox.sol). ## `insert()` @@ -23,7 +23,7 @@ Inserts the root of a merkle tree containing all of the L2 to L1 messages in an */ function insert(Epoch _epoch, bytes32 _root) external; ``` -> Source code: l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol#L18-L27 +> Source code: l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol#L18-L27 | Name | Type | Description | @@ -57,7 +57,7 @@ function consume( bytes32[] calldata _path ) external; ``` -> Source code: l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol#L29-L46 +> Source code: l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol#L29-L46 | Name | Type | Description | @@ -92,7 +92,7 @@ Checks if an L2 to L1 message in a specific epoch has been consumed. */ function hasMessageBeenConsumedAtEpoch(Epoch _epoch, uint256 _leafId) external view returns (bool); ``` -> Source code: l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol#L48-L56 +> Source code: l1-contracts/src/core/interfaces/messagebridge/IOutbox.sol#L48-L56 | Name | Type | Description | diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/registry.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/registry.md similarity index 90% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/registry.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/registry.md index e3229e2c6a4a..1a845a1cddad 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/ethereum-aztec-messaging/registry.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/ethereum-aztec-messaging/registry.md @@ -7,7 +7,7 @@ references: ["l1-contracts/src/governance/interfaces/IRegistry.sol"] The Registry is a contract deployed on L1 that tracks canonical and historical rollup instances. It allows you to query the current rollup contract and look up prior deployments by version. -**Links**: [Interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/governance/interfaces/IRegistry.sol), [Implementation](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/l1-contracts/src/governance/Registry.sol). +**Links**: [Interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/governance/interfaces/IRegistry.sol), [Implementation](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/l1-contracts/src/governance/Registry.sol). ## `numberOfVersions()` @@ -16,7 +16,7 @@ Retrieves the number of versions that have been deployed. ```solidity title="registry_number_of_versions" showLineNumbers function numberOfVersions() external view returns (uint256); ``` -> Source code: l1-contracts/src/governance/interfaces/IRegistry.sol#L25-L27 +> Source code: l1-contracts/src/governance/interfaces/IRegistry.sol#L25-L27 | Name | Description | @@ -30,7 +30,7 @@ Retrieves the current rollup contract. ```solidity title="registry_get_canonical_rollup" showLineNumbers function getCanonicalRollup() external view returns (IHaveVersion); ``` -> Source code: l1-contracts/src/governance/interfaces/IRegistry.sol#L17-L19 +> Source code: l1-contracts/src/governance/interfaces/IRegistry.sol#L17-L19 | Name | Description | @@ -44,7 +44,7 @@ Retrieves the rollup contract for a specific version. ```solidity title="registry_get_rollup" showLineNumbers function getRollup(uint256 _chainId) external view returns (IHaveVersion); ``` -> Source code: l1-contracts/src/governance/interfaces/IRegistry.sol#L21-L23 +> Source code: l1-contracts/src/governance/interfaces/IRegistry.sol#L21-L23 | Name | Description | diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/fees.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/fees.md similarity index 98% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/fees.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/fees.md index 8e4acd2d9003..360f8ce08ebd 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/fees.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/fees.md @@ -79,7 +79,7 @@ export class GasSettings { public readonly maxPriorityFeesPerGas: GasFees, ) {} ``` -> Source code: yarn-project/stdlib/src/gas/gas_settings.ts#L17-L26 +> Source code: yarn-project/stdlib/src/gas/gas_settings.ts#L17-L26 diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/index.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/index.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/pxe/index.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/pxe/index.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/pxe/index.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/pxe/index.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/state_management.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/state_management.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/state_management.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/state_management.md index 3ee16cc559ca..1d2908942fdf 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/state_management.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/state_management.md @@ -99,14 +99,14 @@ pub struct UintNote { pub value: u128, } ``` -> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L27-L34 +> Source code: noir-projects/aztec-nr/uint-note/src/uint_note.nr#L27-L34 **`FieldNote`** - Stores a single `Field` value. ### Creating and Destroying Notes -The [lifecycle module](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr) contains functions for note management: +The [lifecycle module](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/note/lifecycle.nr) contains functions for note management: - `create_note` - Creates a new note, computing its hash and pushing it to the context - `destroy_note` - Nullifies a note by computing and emitting its nullifier @@ -115,7 +115,7 @@ Notes created and nullified within the same transaction are called **transient n ### Note Interface -Notes must implement the `NoteHash` trait from [note_interface.nr](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/aztec-nr/aztec/src/note/note_interface.nr): +Notes must implement the `NoteHash` trait from [note_interface.nr](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/aztec-nr/aztec/src/note/note_interface.nr): - `compute_note_hash(self, owner, storage_slot, randomness)` - Computes the note's commitment - `compute_nullifier(self, context, owner, note_hash_for_nullification)` - Computes the nullifier for consumption diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/transactions.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/transactions.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/transactions.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/transactions.md index 55ccef94a9b7..87c48b79ead5 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/transactions.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/transactions.md @@ -59,7 +59,7 @@ constructor( public salt: Fr, ) {} ``` -> Source code: yarn-project/stdlib/src/tx/tx_request.ts#L15-L28 +> Source code: yarn-project/stdlib/src/tx/tx_request.ts#L15-L28 Where: @@ -114,7 +114,7 @@ export class TxExecutionRequest { public salt = Fr.random(), ) {} ``` -> Source code: yarn-project/stdlib/src/tx/tx_execution_request.ts#L23-L64 +> Source code: yarn-project/stdlib/src/tx/tx_execution_request.ts#L23-L64 An account contract validates that the transaction request has been authorized via its specified authorization mechanism, via the `is_valid_impl` function. Here is an example using an ECDSA signature: @@ -147,7 +147,7 @@ fn is_valid_impl(context: &mut PrivateContext, outer_hash: Field) -> bool { ) } ``` -> Source code: noir-projects/noir-contracts/contracts/account/ecdsa_k_account_contract/src/main.nr#L77-L104 +> Source code: noir-projects/noir-contracts/contracts/account/ecdsa_k_account_contract/src/main.nr#L77-L104 Transaction requests are simulated in the PXE in order to generate the necessary inputs for generating proofs. Once transactions are proven, a `Tx` object is created and can be sent to the network to be included in a block: @@ -190,7 +190,7 @@ export class Tx extends Gossipable { super(); } ``` -> Source code: yarn-project/stdlib/src/tx/tx.ts#L26-L63 +> Source code: yarn-project/stdlib/src/tx/tx.ts#L26-L63 #### Contract Interaction Methods @@ -226,7 +226,7 @@ public async simulate( options: SimulateInteractionOptions, ): Promise> { ``` -> Source code: yarn-project/aztec.js/src/contract/contract_function_interaction.ts#L88-L111 +> Source code: yarn-project/aztec.js/src/contract/contract_function_interaction.ts#L88-L111 ##### `send` @@ -251,7 +251,7 @@ public async send( options: SendInteractionOptions, ): Promise> { ``` -> Source code: yarn-project/aztec.js/src/contract/base_contract_interaction.ts#L36-L55 +> Source code: yarn-project/aztec.js/src/contract/base_contract_interaction.ts#L36-L55 ### Batch Transactions @@ -267,7 +267,7 @@ export class BatchCall extends BaseContractInteraction { super(wallet); } ``` -> Source code: yarn-project/aztec.js/src/contract/batch_call.ts#L18-L26 +> Source code: yarn-project/aztec.js/src/contract/batch_call.ts#L18-L26 ### Enabling Transaction Semantics diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/wallets.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/wallets.md similarity index 98% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/wallets.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/wallets.md index a45e28f0d640..ab743d8ddefa 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/foundational-topics/wallets.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/foundational-topics/wallets.md @@ -18,7 +18,7 @@ In addition to these usual responsibilities, wallets in Aztec also need to track The first step for any wallet is to let the user set up their [accounts](./accounts/index.md). An account in Aztec is represented onchain by its corresponding account contract that the user must deploy to begin interacting with the network. This account contract dictates how transactions are authenticated and executed. -A wallet must support at least one specific account contract implementation, which means being able to deploy such a contract, as well as interacting with it when sending transactions. Code-wise, this requires [implementing the `AccountContract` interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/yarn-project/aztec.js/src/account/account_contract.ts). +A wallet must support at least one specific account contract implementation, which means being able to deploy such a contract, as well as interacting with it when sending transactions. Code-wise, this requires [implementing the `AccountContract` interface](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/yarn-project/aztec.js/src/account/account_contract.ts). Note that users must be able to receive funds in Aztec before deploying their account. A wallet should let a user generate a [deterministic complete address](./accounts/keys.md#address-derivation) without having to interact with the network, so they can share it with others to receive funds. This requires that the wallet pins a specific contract implementation, its initialization arguments, a deployment salt, and the user's keys. These values yield a deterministic address, so when the account contract is actually deployed, it is available at the precalculated address. Once the account contract is deployed, the user can start sending transactions using it as the transaction origin. @@ -26,7 +26,7 @@ Note that users must be able to receive funds in Aztec before deploying their ac Every transaction in Aztec is broadcast to the network as a zero-knowledge proof of correct execution, in order to preserve privacy. This means that transaction proofs are generated on the wallet and not on a remote node. This is one of the biggest differences with regard to EVM chain wallets. -A wallet is responsible for **creating** an _execution request_ out of one or more _function calls_ requested by a dapp. For example, a dapp may request a wallet to "invoke the `transfer` function on the contract at `0x1234` with the following arguments", in response to a user action. The wallet turns that into an execution request with the signed instructions to execute that function call from the user's account contract. In an [ECDSA-based account](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/noir-projects/noir-contracts/contracts/account/ecdsa_k_account_contract/src/main.nr), for instance, this is an execution request that encodes the function call in the _entrypoint payload_, and includes its ECDSA signature with the account's signing private key. +A wallet is responsible for **creating** an _execution request_ out of one or more _function calls_ requested by a dapp. For example, a dapp may request a wallet to "invoke the `transfer` function on the contract at `0x1234` with the following arguments", in response to a user action. The wallet turns that into an execution request with the signed instructions to execute that function call from the user's account contract. In an [ECDSA-based account](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/noir-projects/noir-contracts/contracts/account/ecdsa_k_account_contract/src/main.nr), for instance, this is an execution request that encodes the function call in the _entrypoint payload_, and includes its ECDSA signature with the account's signing private key. Once the _execution request_ is created, the wallet is responsible for **simulating** and **proving** the execution of its private functions. The simulation yields an execution trace, which can be used to provide the user with a list of side effects of the private execution of the transaction. During this simulation, the wallet is responsible for providing data to the virtual machine, such as private notes, encryption keys, or nullifier secrets. This execution trace is fed into the prover, which returns a zero-knowledge proof that guarantees correct execution and hides all private information. The output of this process is a _transaction object_. @@ -84,5 +84,5 @@ export type Account = EntrypointInterface & getAddress(): AztecAddress; }; ``` -> Source code: yarn-project/aztec.js/src/account/account.ts#L23-L34 +> Source code: yarn-project/aztec.js/src/account/account.ts#L23-L34 diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/community_calls.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/community_calls.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/community_calls.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/community_calls.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/limitations.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/limitations.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/limitations.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/limitations.md index 32c15e226c50..fd303557429a 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/limitations.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/limitations.md @@ -197,7 +197,7 @@ pub global MAX_NOTE_HASH_READ_REQUESTS_PER_CALL: u32 = 16; pub global MAX_NULLIFIER_READ_REQUESTS_PER_CALL: u32 = 16; pub global MAX_KEY_VALIDATION_REQUESTS_PER_CALL: u32 = MAX_PRIVATE_LOGS_PER_CALL; ``` -> Source code: noir-projects/noir-protocol-circuits/crates/types/src/constants.nr#L33-L100 +> Source code: noir-projects/noir-protocol-circuits/crates/types/src/constants.nr#L33-L100 #### What are the consequences? diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/privacy_considerations.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/privacy_considerations.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/considerations/privacy_considerations.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/considerations/privacy_considerations.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/glossary.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/glossary.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/glossary.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/glossary.md index d6fb6acc16f0..02ebf629a5f0 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/glossary.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/glossary.md @@ -34,7 +34,7 @@ Full reference [here](../cli/aztec_wallet_cli_reference). A [Node package](https://www.npmjs.com/package/@aztec/aztec.js) to help make Aztec dApps. -Read more and review the source code [here](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260216/yarn-project/aztec.js). +Read more and review the source code [here](https://github.com/AztecProtocol/aztec-packages/blob/v4.0.0-nightly.20260217/yarn-project/aztec.js). ### Aztec.nr diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/migration_notes.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/migration_notes.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/migration_notes.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/migration_notes.md index 80221b44dbbd..474d7dc366e3 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/resources/migration_notes.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/resources/migration_notes.md @@ -9,6 +9,16 @@ Aztec is in active development. Each version may introduce breaking changes that ## TBD +### [Protocol] `include_by_timestamp` renamed to `expiration_timestamp` + +The `include_by_timestamp` field has been renamed to `expiration_timestamp` across the protocol to better convey its meaning. +**Noir:** + +```diff +- context.set_tx_include_by_timestamp(123456789); ++ context.set_expiration_timestamp(123456789); +``` + ### [CLI] Dockerless CLI Installation The Aztec CLI is now installed without Docker. The installation command has changed: @@ -24,9 +34,9 @@ aztec-up VERSION= bash -i <(curl -sL https://install.aztec.network/) ``` -For example, to install version `4.0.0-nightly.20260216`: +For example, to install version `4.0.0-nightly.20260217`: ```bash -VERSION=4.0.0-nightly.20260216 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260216) +VERSION=4.0.0-nightly.20260217 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260217) ``` **Key changes:** @@ -5426,7 +5436,7 @@ impl Storage { The `protocol` package is now being reexported from `aztec`. It can be accessed through `dep::aztec::protocol`. ```toml -aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="yarn-project/aztec-nr/aztec" } +aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="yarn-project/aztec-nr/aztec" } ``` ### [Aztec.nr] key type definition in Map @@ -5516,8 +5526,8 @@ const tokenBigInt = (await bridge.methods.token().simulate()).inner; ### [Aztec.nr] Add `protocol` to Nargo.toml ```toml -aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="yarn-project/aztec-nr/aztec" } -protocol = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260216", directory="yarn-project/noir-protocol-circuits/crates/types"} +aztec = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="yarn-project/aztec-nr/aztec" } +protocol = { git="https://github.com/AztecProtocol/aztec-packages/", tag="v4.0.0-nightly.20260217", directory="yarn-project/noir-protocol-circuits/crates/types"} ``` ### [Aztec.nr] moving compute_address func to AztecAddress diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/counter_contract.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/counter_contract.md similarity index 92% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/counter_contract.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/counter_contract.md index 2158073f4f03..351fd6bd1f51 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/counter_contract.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/counter_contract.md @@ -9,7 +9,7 @@ import Image from "@theme/IdealImage"; In this guide, we will create our first Aztec.nr smart contract. We will build a simple private counter, where you can keep your own private counter - so no one knows what ID you are at or when you increment! This contract will get you started with the basic setup and syntax of Aztec.nr, but doesn't showcase all of the awesome stuff Aztec is capable of. -This tutorial is compatible with the Aztec version `v4.0.0-nightly.20260216`. Install the correct version with `VERSION=4.0.0-nightly.20260216 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260216)`. Or if you'd like to use a different version, you can find the relevant tutorial by clicking the version dropdown at the top of the page. +This tutorial is compatible with the Aztec version `v4.0.0-nightly.20260217`. Install the correct version with `VERSION=4.0.0-nightly.20260217 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260217)`. Or if you'd like to use a different version, you can find the relevant tutorial by clicking the version dropdown at the top of the page. ## Prerequisites @@ -41,8 +41,8 @@ Add the following dependencies to `Nargo.toml` under the autogenerated content: ```toml [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="aztec" } -balance_set = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260216", directory="balance-set" } +aztec = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="aztec" } +balance_set = { git="https://github.com/AztecProtocol/aztec-nr/", tag="v4.0.0-nightly.20260217", directory="balance-set" } ``` ## Define the functions @@ -81,7 +81,7 @@ use aztec::{ }; use balance_set::BalanceSet; ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L7-L16 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L7-L16 - `macros::{functions::{external, initializer}, storage::storage}` @@ -112,7 +112,7 @@ struct Storage { counters: Owned, Context>, } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L18-L23 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L18-L23 ## Keep the counter private @@ -131,7 +131,7 @@ fn initialize(headstart: u64, owner: AztecAddress) { ); } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L25-L34 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L25-L34 This function accesses the counters from storage. It adds the `headstart` value to the `owner`'s counter using `at().add()`, then calls `.deliver(MessageDelivery.ONCHAIN_CONSTRAINED)` to ensure the note is delivered onchain. @@ -149,7 +149,7 @@ fn increment(owner: AztecAddress) { self.storage.counters.at(owner).add(1).deliver(MessageDelivery.ONCHAIN_CONSTRAINED); } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L36-L42 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L36-L42 The `increment` function works similarly to the `initialize` function. It logs a debug message, then adds 1 to the owner's counter and delivers the note onchain. @@ -164,7 +164,7 @@ unconstrained fn get_counter(owner: AztecAddress) -> pub u128 { self.storage.counters.at(owner).balance_of() } ``` -> Source code: docs/examples/contracts/counter_contract/src/main.nr#L44-L49 +> Source code: docs/examples/contracts/counter_contract/src/main.nr#L44-L49 This is a `utility` function used to obtain the counter value outside of a transaction. We access the `owner`'s balance from the `counters` storage variable using `at(owner)`, then call `balance_of()` to retrieve the current count. This yields a private counter that only the owner can decrypt. diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/recursive_verification.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/recursive_verification.md similarity index 97% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/recursive_verification.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/recursive_verification.md index fbd6c1098b6e..d77f6b6d7a53 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/recursive_verification.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/recursive_verification.md @@ -12,7 +12,7 @@ This is called "recursive" verification because the proof is verified inside an ::: :::tip Full Working Example -The complete code for this tutorial is available in the [docs/examples](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/docs/examples) directory. Clone it to follow along or use it as a reference. +The complete code for this tutorial is available in the [docs/examples](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/docs/examples) directory. Clone it to follow along or use it as a reference. ::: ## Prerequisites @@ -21,7 +21,7 @@ Before starting, ensure you have the following installed and configured: - Node.js (v22 or later) - yarn package manager -- Aztec CLI (version v4.0.0-nightly.20260216) +- Aztec CLI (version v4.0.0-nightly.20260217) - Nargo (version 1.0.0-beta.15) - Familiarity with [Noir syntax](https://noir-lang.org/docs) and [Aztec contract basics](../../aztec-nr/index.md) @@ -29,7 +29,7 @@ Install the required tools: ```bash # Install Aztec CLI -VERSION=4.0.0-nightly.20260216 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260216) +VERSION=4.0.0-nightly.20260217 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260217) # Install Nargo via noirup curl -L https://raw.githubusercontent.com/noir-lang/noirup/refs/heads/main/install | bash @@ -139,7 +139,7 @@ fn test_main() { main(1, 2); } ``` -> Source code: docs/examples/circuits/hello_circuit/src/main.nr#L1-L10 +> Source code: docs/examples/circuits/hello_circuit/src/main.nr#L1-L10 This is intentionally minimal to focus on the verification pattern. In production, you would replace `assert(x != y)` with meaningful computations like: @@ -178,7 +178,7 @@ authors = [""] [dependencies] ``` -> Source code: docs/examples/circuits/hello_circuit/Nargo.toml#L1-L8 +> Source code: docs/examples/circuits/hello_circuit/Nargo.toml#L1-L8 **Note**: This is a vanilla Noir circuit, not an Aztec contract. It has `type = "bin"` (binary) and no Aztec dependencies. The circuit is compiled with `nargo`, not `aztec compile`. This distinction is important—you can verify proofs from _any_ Noir circuit inside Aztec contracts. @@ -255,8 +255,8 @@ type = "contract" authors = ["[YOUR_NAME]"] [dependencies] -aztec = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v4.0.0-nightly.20260216", directory = "aztec" } -bb_proof_verification = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "v4.0.0-nightly.20260216", directory = "barretenberg/noir/bb_proof_verification" } +aztec = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v4.0.0-nightly.20260217", directory = "aztec" } +bb_proof_verification = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "v4.0.0-nightly.20260217", directory = "barretenberg/noir/bb_proof_verification" } ``` **Key differences from the circuit's Nargo.toml**: @@ -333,7 +333,7 @@ pub contract ValueNotEqual { } } ``` -> Source code: docs/examples/contracts/recursive_verification_contract/src/main.nr#L1-L78 +> Source code: docs/examples/contracts/recursive_verification_contract/src/main.nr#L1-L78 ### Storage Variables Explained @@ -469,14 +469,14 @@ Create the following files in your project root directory. "recursion": "tsx scripts/run_recursion.ts" }, "dependencies": { - "@aztec/accounts": "4.0.0-nightly.20260216", - "@aztec/aztec.js": "4.0.0-nightly.20260216", - "@aztec/bb.js": "4.0.0-nightly.20260216", - "@aztec/kv-store": "4.0.0-nightly.20260216", - "@aztec/noir-contracts.js": "4.0.0-nightly.20260216", - "@aztec/noir-noir_js": "4.0.0-nightly.20260216", - "@aztec/pxe": "4.0.0-nightly.20260216", - "@aztec/test-wallet": "4.0.0-nightly.20260216", + "@aztec/accounts": "4.0.0-nightly.20260217", + "@aztec/aztec.js": "4.0.0-nightly.20260217", + "@aztec/bb.js": "4.0.0-nightly.20260217", + "@aztec/kv-store": "4.0.0-nightly.20260217", + "@aztec/noir-contracts.js": "4.0.0-nightly.20260217", + "@aztec/noir-noir_js": "4.0.0-nightly.20260217", + "@aztec/pxe": "4.0.0-nightly.20260217", + "@aztec/test-wallet": "4.0.0-nightly.20260217", "tsx": "^4.20.6" }, "devDependencies": { @@ -617,7 +617,7 @@ await barretenbergAPI.destroy(); console.log("Done"); exit(); ``` -> Source code: docs/examples/ts/recursive_verification/scripts/generate_data.ts#L1-L74 +> Source code: docs/examples/ts/recursive_verification/scripts/generate_data.ts#L1-L74 ### Understanding the Proof Generation Pipeline @@ -921,7 +921,7 @@ export async function getSponsoredFPCInstance() { ); } ``` -> Source code: docs/examples/ts/recursive_verification/scripts/sponsored_fpc.ts#L1-L16 +> Source code: docs/examples/ts/recursive_verification/scripts/sponsored_fpc.ts#L1-L16 This utility computes the address of the pre-deployed sponsored FPC contract. The salt ensures we get the same address every time. For more information about fee payment options, see [Paying Fees](../../aztec-js/how_to_pay_fees.md). @@ -962,7 +962,7 @@ The counter starts at 10 (set during deployment), and after successful proof ver ## Quick Reference -If you want to run all commands at once, or if you're starting fresh, here's the complete workflow. You can also reference the [full working example](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/docs/examples) in the main repository. +If you want to run all commands at once, or if you're starting fresh, here's the complete workflow. You can also reference the [full working example](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/docs/examples) in the main repository. ```bash # Install dependencies (after creating package.json and tsconfig.json) diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/token_contract.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/token_contract.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/token_contract.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/token_contract.md index bbbb1b277724..74cf9d7e5110 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/contract_tutorials/token_contract.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/contract_tutorials/token_contract.md @@ -23,7 +23,7 @@ This is an intermediate tutorial that assumes you have: - Completed the [Counter Contract tutorial](./counter_contract.md) - A Running Aztec local network (see the Counter tutorial for setup) - Basic understanding of Aztec.nr syntax and structure -- Aztec toolchain installed (`VERSION=4.0.0-nightly.20260216 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260216)`) +- Aztec toolchain installed (`VERSION=4.0.0-nightly.20260217 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260217)`) If you haven't completed the Counter Contract tutorial, please do so first as we'll skip the basic setup steps covered there. @@ -44,7 +44,7 @@ cd bob_token_contract yarn init # This is to ensure yarn uses node_modules instead of pnp for dependency installation yarn config set nodeLinker node-modules -yarn add @aztec/aztec.js@v4.0.0-nightly.20260216 @aztec/accounts@v4.0.0-nightly.20260216 @aztec/test-wallet@v4.0.0-nightly.20260216 @aztec/kv-store@v4.0.0-nightly.20260216 +yarn add @aztec/aztec.js@v4.0.0-nightly.20260217 @aztec/accounts@v4.0.0-nightly.20260217 @aztec/test-wallet@v4.0.0-nightly.20260217 @aztec/kv-store@v4.0.0-nightly.20260217 aztec init ``` @@ -71,7 +71,7 @@ name = "bob_token_contract" type = "contract" [dependencies] -aztec = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v4.0.0-nightly.20260216", directory = "aztec" } +aztec = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v4.0.0-nightly.20260217", directory = "aztec" } ``` Since we're here, let's import more specific stuff from this library: @@ -152,7 +152,7 @@ fn setup() { self.storage.owner.write(self.msg_sender()); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L32-L39 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L32-L39 The `#[initializer]` decorator ensures this runs once during deployment. Only Giggle's address will have the power to mint new BOB tokens for employees. @@ -172,7 +172,7 @@ fn mint_public(employee: AztecAddress, amount: u64) { self.storage.public_balances.at(employee).write(current_balance + amount); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L41-L51 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L41-L51 This public minting function: @@ -204,7 +204,7 @@ fn transfer_public(to: AztecAddress, amount: u64) { self.storage.public_balances.at(to).write(recipient_balance + amount); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L53-L67 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L53-L67 This might be used when: @@ -228,7 +228,7 @@ fn transfer_ownership(new_owner: AztecAddress) { self.storage.owner.write(new_owner); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L69-L79 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L69-L79 ## Your First Deployment - Let's See It Work @@ -361,8 +361,8 @@ For something like balances, you can use a simple library called `easy_private_s ```toml [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-nr", tag="v4.0.0-nightly.20260216", directory="aztec" } -balance_set = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v4.0.0-nightly.20260216", directory = "balance-set" } +aztec = { git="https://github.com/AztecProtocol/aztec-nr", tag="v4.0.0-nightly.20260217", directory="aztec" } +balance_set = { git = "https://github.com/AztecProtocol/aztec-nr/", tag = "v4.0.0-nightly.20260217", directory = "balance-set" } ``` Then import `BalanceSet` in our contract: @@ -391,7 +391,7 @@ struct Storage { private_balances: Owned, Context>, } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L19-L30 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L19-L30 The `private_balances` use `BalanceSet` which manages encrypted notes automatically. @@ -412,7 +412,7 @@ fn public_to_private(amount: u64) { ); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L81-L92 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L81-L92 And the helper function: @@ -426,7 +426,7 @@ fn _deduct_public_balance(owner: AztecAddress, amount: u64) { self.storage.public_balances.at(owner).write(balance - amount); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L94-L102 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L94-L102 By calling `public_to_private` we're telling the network "deduct this amount from my balance" while simultaneously creating a Note with that balance in privateland. @@ -449,7 +449,7 @@ fn transfer_private(to: AztecAddress, amount: u64) { ); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L104-L117 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L104-L117 This function simply nullifies the sender's notes, while adding them to the recipient. @@ -479,7 +479,7 @@ unconstrained fn public_balance_of(owner: AztecAddress) -> pub u64 { self.storage.public_balances.at(owner).read() } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L119-L129 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L119-L129 ## Part 3: Securing Private Minting @@ -516,7 +516,7 @@ fn _assert_is_owner(address: AztecAddress) { assert_eq(address, self.storage.owner.read(), "Only Giggle can mint BOB tokens"); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L131-L137 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L131-L137 Now we can add a secure private minting function. It looks pretty easy, and it is, since the whole thing will revert if the public function fails: @@ -533,7 +533,7 @@ fn mint_private(employee: AztecAddress, amount: u64) { ); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L139-L150 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L139-L150 This pattern ensures: @@ -566,7 +566,7 @@ fn _credit_public_balance(owner: AztecAddress, amount: u64) { self.storage.public_balances.at(owner).write(balance + amount); } ``` -> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L152-L170 +> Source code: docs/examples/contracts/bob_token_contract/src/main.nr#L152-L170 Now you've made changes to your contract, you need to recompile your contract. diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/faceid_wallet.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/faceid_wallet.md similarity index 98% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/faceid_wallet.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/faceid_wallet.md index ba915795f241..d6381cbdb4ce 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/faceid_wallet.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/faceid_wallet.md @@ -90,4 +90,4 @@ Check out the [CLI Wallet Reference](../cli/aztec_wallet_cli_reference.md) for t In this tutorial, we created an account with the Aztec's [CLI Wallet](../cli/aztec_wallet_cli_reference.md), using the Apple Mac's Secure Enclave to store the private key. -You can use a multitude of authentication methods, for example with RSA you could use a passport as a recovery, or even as a signer in a multisig. All of this is based on the [account contract](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/noir-contracts/contracts/account). +You can use a multitude of authentication methods, for example with RSA you could use a passport as a recovery, or even as a signer in a multisig. All of this is based on the [account contract](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/noir-contracts/contracts/account). diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/_category_.json b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/_category_.json similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/_category_.json rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/_category_.json diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/aztecjs-getting-started.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/aztecjs-getting-started.md similarity index 90% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/aztecjs-getting-started.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/aztecjs-getting-started.md index b0c69ea1fa15..b8f59e82dd97 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/aztecjs-getting-started.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/aztecjs-getting-started.md @@ -9,7 +9,7 @@ import Image from "@theme/IdealImage"; In this guide, we will retrieving the local network and deploy a pre-written token contract to it using Aztec.js. [Check out the source code](https://github.com/AztecProtocol/aztec-packages/blob/master/noir-projects/noir-contracts/contracts/app/token_contract/src/main.nr). We will then use Aztec.js to interact with this contract and transfer tokens. -Before starting, make sure to be running Aztec local network at version 4.0.0-nightly.20260216. Check out [the guide](../../tutorials/local_network.md) for info about that. +Before starting, make sure to be running Aztec local network at version 4.0.0-nightly.20260217. Check out [the guide](../../tutorials/local_network.md) for info about that. ## Set up the project @@ -36,7 +36,7 @@ Never heard of `tsx`? Well, it will just run `typescript` with reasonable defaul Let's also import the Aztec dependencies for this tutorial: ```sh -yarn add @aztec/aztec.js@4.0.0-nightly.20260216 @aztec/accounts@4.0.0-nightly.20260216 @aztec/noir-contracts.js@4.0.0-nightly.20260216 @aztec/wallets@4.0.0-nightly.20260216 +yarn add @aztec/aztec.js@4.0.0-nightly.20260217 @aztec/accounts@4.0.0-nightly.20260217 @aztec/noir-contracts.js@4.0.0-nightly.20260217 @aztec/wallets@4.0.0-nightly.20260217 ``` Aztec.js assumes your project is using ESM, so make sure you add `"type": "module"` to `package.json`. You probably also want at least a `start` script. For example: @@ -79,7 +79,7 @@ const [alice, bob] = await getInitialTestAccountsData(); await wallet.createSchnorrAccount(alice.secret, alice.salt); await wallet.createSchnorrAccount(bob.secret, bob.salt); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L1-L11 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L1-L11 **Step 3: Verify the script runs** @@ -94,7 +94,7 @@ If there are no errors, you're ready to continue. For more details on connecting ## Deploy the token contract -Now that we have our accounts loaded, let's deploy a pre-compiled token contract from the Aztec library. You can find the full code for the contract [here (GitHub link)](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/noir-contracts/contracts/app/token_contract/src). +Now that we have our accounts loaded, let's deploy a pre-compiled token contract from the Aztec library. You can find the full code for the contract [here (GitHub link)](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/noir-contracts/contracts/app/token_contract/src). Add the following to `index.ts` to import the contract and deploy it with Alice as the admin: @@ -109,7 +109,7 @@ const token = await TokenContract.deploy( 18, ).send({ from: alice.address }); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L13-L23 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L13-L23 ## Mint and transfer @@ -121,7 +121,7 @@ await token.methods .mint_to_private(alice.address, 100) .send({ from: alice.address }); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L25-L29 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L25-L29 Let's check both Alice's and Bob's balances now: @@ -136,7 +136,7 @@ let bobBalance = await token.methods .simulate({ from: bob.address }); console.log(`Bob's balance: ${bobBalance}`); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L31-L40 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L31-L40 Alice should have 100 tokens, while Bob has none yet. @@ -150,7 +150,7 @@ bobBalance = await token.methods .simulate({ from: bob.address }); console.log(`Bob's balance: ${bobBalance}`); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L42-L48 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L42-L48 Bob should now see 10 tokens in his balance. @@ -162,7 +162,7 @@ Say that Alice is nice and wants to set Bob as a minter. Even though it's a publ ```typescript title="set_minter" showLineNumbers await token.methods.set_minter(bob.address, true).send({ from: alice.address }); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L50-L52 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L50-L52 Bob is now the minter, so he can mint some tokens to himself: @@ -176,7 +176,7 @@ bobBalance = await token.methods .simulate({ from: bob.address }); console.log(`Bob's balance: ${bobBalance}`); ``` -> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L54-L62 +> Source code: docs/examples/ts/aztecjs_getting_started/index.ts#L54-L62 :::info diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/token_bridge.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/token_bridge.md similarity index 95% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/token_bridge.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/token_bridge.md index 041ed4785b6e..1774129a786a 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/js_tutorials/token_bridge.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/js_tutorials/token_bridge.md @@ -11,7 +11,7 @@ Imagine you own a CryptoPunk NFT on Ethereum. You want to use it in games, socia In this tutorial, you'll build a **private NFT bridge**. By the end, you'll understand how **portals** work and how **cross-chain messages** flow between L1 and L2. -Before starting, make sure you have the Aztec local network running at version v4.0.0-nightly.20260216. Check out [the local network guide](../../../getting_started_on_local_network.md) for setup instructions. +Before starting, make sure you have the Aztec local network running at version v4.0.0-nightly.20260217. Check out [the local network guide](../../../getting_started_on_local_network.md) for setup instructions. ## What You'll Build @@ -36,7 +36,7 @@ We want to add a few more dependencies now before we start: ```bash cd hardhat-aztec-example -yarn add @aztec/aztec.js@4.0.0-nightly.20260216 @aztec/accounts@4.0.0-nightly.20260216 @aztec/stdlib@4.0.0-nightly.20260216 @aztec/wallets@4.0.0-nightly.20260216 tsx +yarn add @aztec/aztec.js@4.0.0-nightly.20260217 @aztec/accounts@4.0.0-nightly.20260217 @aztec/stdlib@4.0.0-nightly.20260217 @aztec/wallets@4.0.0-nightly.20260217 tsx ``` Now start the local network in another terminal: @@ -96,7 +96,7 @@ Open `Nargo.toml` and make sure `aztec` is a dependency: ```toml [dependencies] -aztec = { git = "https://github.com/AztecProtocol/aztec-nr", tag = "v4.0.0-nightly.20260216", directory = "aztec" } +aztec = { git = "https://github.com/AztecProtocol/aztec-nr", tag = "v4.0.0-nightly.20260217", directory = "aztec" } ``` ### Create the NFT Note @@ -118,7 +118,7 @@ pub struct NFTNote { pub token_id: Field, } ``` -> Source code: docs/examples/contracts/nft/src/nft.nr#L1-L9 +> Source code: docs/examples/contracts/nft/src/nft.nr#L1-L9 You now have a note that represents the owner of a particular NFT. Next, move on to the contract itself. @@ -189,7 +189,7 @@ fn _mark_nft_exists(token_id: Field, exists: bool) { self.storage.nfts.at(token_id).schedule_value_change(exists); } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L42-L48 +> Source code: docs/examples/contracts/nft/src/main.nr#L42-L48 This function is marked with `#[only_self]`, meaning only the contract itself can call it. It uses `schedule_value_change` to update the `nfts` storage, preventing the same NFT from being minted twice or burned when it doesn't exist. You'll call this public function from a private function later using `enqueue_self`. @@ -203,7 +203,7 @@ unconstrained fn notes_of(from: AztecAddress) -> Field { notes.len() as Field } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L67-L73 +> Source code: docs/examples/contracts/nft/src/main.nr#L67-L73 ### Add Minting and Burning @@ -217,7 +217,7 @@ fn set_minter(minter: AztecAddress) { self.storage.minter.initialize(minter); } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L34-L40 +> Source code: docs/examples/contracts/nft/src/main.nr#L34-L40 Now for the magic - minting NFTs **privately**. The bridge will call this to mint to a user, deliver the note using [constrained message delivery](../../aztec-nr/framework-description/events_and_logs.md) (best practice when "sending someone a @@ -239,7 +239,7 @@ fn mint(to: AztecAddress, token_id: Field) { self.enqueue_self._mark_nft_exists(token_id, true); } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L50-L65 +> Source code: docs/examples/contracts/nft/src/main.nr#L50-L65 The bridge will also need to burn NFTs when users withdraw back to L1: @@ -262,7 +262,7 @@ fn burn(from: AztecAddress, token_id: Field) { self.enqueue_self._mark_nft_exists(token_id, false); } ``` -> Source code: docs/examples/contracts/nft/src/main.nr#L75-L92 +> Source code: docs/examples/contracts/nft/src/main.nr#L75-L92 ### Compiling! @@ -321,7 +321,7 @@ And again, add the `aztec-nr` dependency to `Nargo.toml`. We also need to add th ```toml [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-nr", tag = "v4.0.0-nightly.20260216", directory = "aztec" } +aztec = { git="https://github.com/AztecProtocol/aztec-nr", tag = "v4.0.0-nightly.20260217", directory = "aztec" } NFTPunk = { path = "../nft" } ``` @@ -401,7 +401,7 @@ fn claim(to: AztecAddress, token_id: Field, secret: Field, message_leaf_index: F self.call(NFTPunk::at(nft).mint(to, token_id)); } ``` -> Source code: docs/examples/contracts/nft_bridge/src/main.nr#L31-L50 +> Source code: docs/examples/contracts/nft_bridge/src/main.nr#L31-L50 :::tip Secret @@ -426,7 +426,7 @@ fn exit(token_id: Field, recipient: EthAddress) { self.call(NFTPunk::at(nft).burn(self.msg_sender(), token_id)); } ``` -> Source code: docs/examples/contracts/nft_bridge/src/main.nr#L52-L65 +> Source code: docs/examples/contracts/nft_bridge/src/main.nr#L52-L65 Cross-chain messaging on Aztec is powerful because it doesn't conform to any specific format—you can structure messages however you want. @@ -498,7 +498,7 @@ contract SimpleNFT is ERC721 { } } ``` -> Source code: docs/examples/solidity/nft_bridge/SimpleNFT.sol#L2-L18 +> Source code: docs/examples/solidity/nft_bridge/SimpleNFT.sol#L2-L18 ### Create the NFT Portal @@ -583,7 +583,7 @@ function withdraw( nftContract.transferFrom(address(this), msg.sender, tokenId); } ``` -> Source code: docs/examples/solidity/nft_bridge/NFTPortal.sol#L36-L70 +> Source code: docs/examples/solidity/nft_bridge/NFTPortal.sol#L36-L70 The portal handles two flows: @@ -675,7 +675,7 @@ const rollupAddress = nodeInfo.l1ContractAddresses.rollupAddress.toString(); // Create rollup contract instance for querying epoch information const rollup = new RollupContract(l1Client, rollupAddress); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L1-L48 +> Source code: docs/examples/ts/token_bridge/index.ts#L1-L48 You now have wallets for both chains, correctly connected to their respective chains. Next, deploy the L1 contracts: @@ -698,7 +698,7 @@ const { address: portalAddress } = await deployL1Contract( console.log(`SimpleNFT: ${nftAddress}`); console.log(`NFTPortal: ${portalAddress}\n`); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L50-L67 +> Source code: docs/examples/ts/token_bridge/index.ts#L50-L67 Now deploy the L2 contracts. Thanks to the TypeScript bindings generated with `aztec codegen`, deployment is straightforward: @@ -718,7 +718,7 @@ const l2Bridge = await NFTBridgeContract.deploy( console.log(`L2 NFT: ${l2Nft.address.toString()}`); console.log(`L2 Bridge: ${l2Bridge.address.toString()}\n`); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L69-L83 +> Source code: docs/examples/ts/token_bridge/index.ts#L69-L83 Now that you have the L2 bridge's contract address, initialize the L1 bridge: @@ -738,7 +738,7 @@ await l1Client.waitForTransactionReceipt({ hash: initHash }); console.log("Portal initialized\n"); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L85-L99 +> Source code: docs/examples/ts/token_bridge/index.ts#L85-L99 The L2 contracts were already initialized when you deployed them, but you still need to: @@ -761,7 +761,7 @@ await l2Nft.methods console.log("Bridge configured\n"); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L101-L113 +> Source code: docs/examples/ts/token_bridge/index.ts#L101-L113 This completes the setup. It's a lot of configuration, but you're dealing with four contracts across two chains. @@ -787,7 +787,7 @@ const tokenId = 0n; console.log(`Minted tokenId: ${tokenId}\n`); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L115-L131 +> Source code: docs/examples/ts/token_bridge/index.ts#L115-L131 To bridge, first approve the portal address to transfer the NFT, then transfer it by calling `depositToAztec`: @@ -823,7 +823,7 @@ const depositReceipt = await l1Client.waitForTransactionReceipt({ hash: depositHash, }); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L133-L163 +> Source code: docs/examples/ts/token_bridge/index.ts#L133-L163 The `Inbox` contract will emit an important log: `MessageSent(inProgress, index, leaf, updatedRollingHash);`. This log provides the **leaf index** of the message in the [L1-L2 Message Tree](../../foundational-topics/ethereum-aztec-messaging/index.md)—the location of the message in the tree that will appear on L2. You need this index, plus the secret, to correctly claim and decrypt the message. @@ -867,7 +867,7 @@ const messageSentLogs = depositReceipt.logs const messageLeafIndex = new Fr(messageSentLogs[0].decoded.args.index); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L165-L201 +> Source code: docs/examples/ts/token_bridge/index.ts#L165-L201 This extracts the logs from the deposit and retrieves the leaf index. You can now claim it on L2. However, for security reasons, at least 2 blocks must pass before a message can be claimed on L2. If you called `claim` on the L2 contract immediately, it would return "no message available". @@ -889,7 +889,7 @@ async function mine2Blocks( }); } ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L203-L217 +> Source code: docs/examples/ts/token_bridge/index.ts#L203-L217 Now claim the message on L2: @@ -918,7 +918,7 @@ const notesAfterClaim = await l2Nft.methods .simulate({ from: account.address }); console.log(` Notes count: ${notesAfterClaim}\n`); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L219-L242 +> Source code: docs/examples/ts/token_bridge/index.ts#L219-L242 ### L2 → L1 Flow @@ -946,7 +946,7 @@ const notesAfterBurn = await l2Nft.methods .simulate({ from: account.address }); console.log(` Notes count: ${notesAfterBurn}\n`); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L244-L264 +> Source code: docs/examples/ts/token_bridge/index.ts#L244-L264 Just like in the L1 → L2 flow, you need to know what to claim on L1. Where in the message tree is the message you want to claim? Use the utility `computeL2ToL1MembershipWitness`, which provides the leaf and the sibling path of the message: @@ -1009,7 +1009,7 @@ const siblingPathHex = witness!.siblingPath .toBufferArray() .map((buf: Buffer) => `0x${buf.toString("hex")}` as `0x${string}`); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L266-L323 +> Source code: docs/examples/ts/token_bridge/index.ts#L266-L323 With this information, call the L1 contract and use the index and the sibling path to claim the L1 NFT: @@ -1026,7 +1026,7 @@ const withdrawHash = await l1Client.writeContract({ await l1Client.waitForTransactionReceipt({ hash: withdrawHash }); console.log("NFT withdrawn to L1\n"); ``` -> Source code: docs/examples/ts/token_bridge/index.ts#L325-L336 +> Source code: docs/examples/ts/token_bridge/index.ts#L325-L336 You can now try the whole flow with: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/local_network.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/local_network.md similarity index 96% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/local_network.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/local_network.md index 8fcdd6ca1fbe..39eb9c3d55c7 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/local_network.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/local_network.md @@ -7,8 +7,8 @@ description: Information about running the Aztec local network development envir -- Current version: `v4.0.0-nightly.20260216` -- Update with `aztec-up 4.0.0-nightly.20260216` +- Current version: `v4.0.0-nightly.20260217` +- Update with `aztec-up 4.0.0-nightly.20260217` On this page you will find @@ -43,7 +43,7 @@ Check the `git=` github url, tag, and directory. Example contracts serve as a helpful reference between versions of the Aztec.nr framework since they are strictly maintained with each release. -Code referenced in the documentation is sourced from contracts within [this directory (GitHub link)](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260216/noir-projects/noir-contracts/contracts). +Code referenced in the documentation is sourced from contracts within [this directory (GitHub link)](https://github.com/AztecProtocol/aztec-packages/tree/v4.0.0-nightly.20260217/noir-projects/noir-contracts/contracts). As in the previous section, the location of the noir contracts moved at version `0.24.0`, from `yarn-project/noir-contracts` before, to `noir-projects/noir-contracts`. @@ -136,9 +136,9 @@ To update the aztec.nr packages manually, update the tags of the `aztec.nr` depe ```diff [dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="v0.7.5", directory="noir-projects/aztec-nr/aztec" } -+aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/aztec" } ++aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/aztec" } -value_note = { git="https://github.com/AztecProtocol/aztec-packages", tag="v0.7.5", directory="noir-projects/aztec-nr/value-note" } -+value_note = { git="https://github.com/AztecProtocol/aztec-packages", tag="v4.0.0-nightly.20260216", directory="noir-projects/aztec-nr/value-note" } ++value_note = { git="https://github.com/AztecProtocol/aztec-packages", tag="v4.0.0-nightly.20260217", directory="noir-projects/aztec-nr/value-note" } ``` Go to the contract directory and try compiling it to verify that the update was successful: @@ -157,9 +157,9 @@ To update Aztec.js packages, go to your `package.json` and replace the versions ```diff [dependencies] -"@aztec/accounts": "0.7.5", -+"@aztec/accounts": "v4.0.0-nightly.20260216", ++"@aztec/accounts": "v4.0.0-nightly.20260217", -"@aztec/noir-contracts.js": "0.35.1", -+"@aztec/accounts": "v4.0.0-nightly.20260216", ++"@aztec/accounts": "v4.0.0-nightly.20260217", ``` ## Local Network PXE Proving diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/testing_governance_rollup_upgrade.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/testing_governance_rollup_upgrade.md similarity index 99% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/testing_governance_rollup_upgrade.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/testing_governance_rollup_upgrade.md index 3b98f829028e..906ded826777 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/docs/tutorials/testing_governance_rollup_upgrade.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/docs/tutorials/testing_governance_rollup_upgrade.md @@ -32,7 +32,7 @@ The default governance configuration for local networks: Ensure you are on the correct Aztec version: ```bash -aztec-up 4.0.0-nightly.20260216 +aztec-up 4.0.0-nightly.20260217 ``` ```bash @@ -57,7 +57,7 @@ Clone the l1-contracts repo and checkout the version matching your Aztec install ```bash git clone https://github.com/AztecProtocol/l1-contracts.git cd l1-contracts -git checkout 4.0.0-nightly.20260216 +git checkout 4.0.0-nightly.20260217 ``` Install dependencies and set up the build environment: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/getting_started_on_devnet.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/getting_started_on_devnet.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/getting_started_on_devnet.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/getting_started_on_devnet.md diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/getting_started_on_local_network.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/getting_started_on_local_network.md similarity index 98% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/getting_started_on_local_network.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/getting_started_on_local_network.md index 8692f494dd00..e8f5195b8159 100644 --- a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/getting_started_on_local_network.md +++ b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/getting_started_on_local_network.md @@ -34,7 +34,7 @@ import { General, Fees } from '@site/src/components/Snippets/general_snippets'; Run: ```bash -VERSION=4.0.0-nightly.20260216 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260216) +VERSION=4.0.0-nightly.20260217 bash -i <(curl -sL https://install.aztec.network/4.0.0-nightly.20260217) ``` This will install the following tools: diff --git a/docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/overview.md b/docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/overview.md similarity index 100% rename from docs/developer_versioned_docs/version-v4.0.0-nightly.20260216/overview.md rename to docs/developer_versioned_docs/version-v4.0.0-nightly.20260217/overview.md diff --git a/docs/developer_versioned_sidebars/version-v4.0.0-nightly.20260216-sidebars.json b/docs/developer_versioned_sidebars/version-v4.0.0-nightly.20260217-sidebars.json similarity index 100% rename from docs/developer_versioned_sidebars/version-v4.0.0-nightly.20260216-sidebars.json rename to docs/developer_versioned_sidebars/version-v4.0.0-nightly.20260217-sidebars.json diff --git a/docs/developer_versions.json b/docs/developer_versions.json index 3d3e0ea192eb..df816fd76070 100644 --- a/docs/developer_versions.json +++ b/docs/developer_versions.json @@ -1,4 +1,4 @@ [ "v3.0.0-devnet.6-patch.1", - "v4.0.0-nightly.20260216" + "v4.0.0-nightly.20260217" ] diff --git a/docs/static/aztec-nr-api/nightly/all.html b/docs/static/aztec-nr-api/nightly/all.html index b148acb2722b..f7fb57c71135 100644 --- a/docs/static/aztec-nr-api/nightly/all.html +++ b/docs/static/aztec-nr-api/nightly/all.html @@ -650,7 +650,6 @@

All items in aztec-nr

  • noir_aztec::protocol::constants::MAX_ETH_ADDRESS_VALUE
  • noir_aztec::protocol::constants::MAX_FIELD_VALUE
  • noir_aztec::protocol::constants::MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS
  • -
  • noir_aztec::protocol::constants::MAX_INCLUDE_BY_TIMESTAMP_DURATION
  • noir_aztec::protocol::constants::MAX_KEY_VALIDATION_REQUESTS_PER_CALL
  • noir_aztec::protocol::constants::MAX_KEY_VALIDATION_REQUESTS_PER_TX
  • noir_aztec::protocol::constants::MAX_L2_TO_L1_MSGS_PER_CALL
  • @@ -679,6 +678,7 @@

    All items in aztec-nr

  • noir_aztec::protocol::constants::MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
  • noir_aztec::protocol::constants::MAX_PUBLIC_LOG_SIZE_IN_FIELDS
  • noir_aztec::protocol::constants::MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
  • +
  • noir_aztec::protocol::constants::MAX_TX_LIFETIME
  • noir_aztec::protocol::constants::MAX_U32_VALUE
  • noir_aztec::protocol::constants::MAX_U64_VALUE
  • noir_aztec::protocol::constants::MEGA_VK_LENGTH_IN_FIELDS
  • diff --git a/docs/static/aztec-nr-api/nightly/noir_aztec/context/struct.PrivateContext.html b/docs/static/aztec-nr-api/nightly/noir_aztec/context/struct.PrivateContext.html index ed7ad8dc4d82..d7896efb742f 100644 --- a/docs/static/aztec-nr-api/nightly/noir_aztec/context/struct.PrivateContext.html +++ b/docs/static/aztec-nr-api/nightly/noir_aztec/context/struct.PrivateContext.html @@ -25,7 +25,7 @@

    Fields

  • contract_class_logs_hashes
  • expected_non_revertible_side_effect_counter
  • expected_revertible_side_effect_counter
  • -
  • include_by_timestamp
  • +
  • expiration_timestamp
  • inputs
  • is_fee_payer
  • l2_to_l1_msgs
  • @@ -72,7 +72,7 @@

    Methods

  • request_ovsk_app
  • selector
  • set_as_fee_payer
  • -
  • set_include_by_timestamp
  • +
  • set_expiration_timestamp
  • set_public_teardown_function
  • set_public_teardown_function_with_calldata_hash
  • set_return_hash
  • @@ -113,7 +113,7 @@

    Struct PrivateContext

    pub is_fee_payer: bool, pub args_hash: Field, pub return_hash: Field, - pub include_by_timestamp: u64, + pub expiration_timestamp: u64, pub note_hashes: BoundedVec<Counted<NoteHash>, 16>, pub nullifiers: BoundedVec<Counted<Nullifier>, 16>, pub private_call_requests: BoundedVec<PrivateCallRequest, 8>, @@ -231,7 +231,7 @@

    Fields

    is_fee_payer: bool
    args_hash: Field
    return_hash: Field
    -
    include_by_timestamp: u64
    +
    expiration_timestamp: u64
    note_hashes: BoundedVec<Counted<NoteHash>, 16>
    nullifiers: BoundedVec<Counted<Nullifier>, 16>
    private_call_requests: BoundedVec<PrivateCallRequest, 8>
    @@ -447,7 +447,7 @@

    Returns

    Advanced

    • All private functions of a tx read from the same anchor block header.
    • -
    • The protocol asserts that the include_by_timestamp of every tx is at most 24 hours beyond the timestamp of +
    • The protocol asserts that the expiration_timestamp of every tx is at most 24 hours beyond the timestamp of the tx's chosen anchor block header. This enables the network's nodes to safely prune old txs from the mempool. Therefore, the chosen block header must be one from within the last 24 hours.
    @@ -533,7 +533,7 @@

    Advanced

    counter. -pub fn set_include_by_timestamp(&mut self, include_by_timestamp: u64) +pub fn set_expiration_timestamp(&mut self, expiration_timestamp: u64)

    Sets a deadline (an "include-by timestamp") for when this transaction must be included in a block.

    @@ -545,12 +545,12 @@

    Advanced

    This expiry timestamp is publicly visible. See the "Advanced" section for privacy concerns.

    Arguments

      -
    • include_by_timestamp - Unix timestamp (seconds) deadline for inclusion. The include-by timestamp of this tx +
    • expiration_timestamp - Unix timestamp (seconds) deadline for inclusion. The include-by timestamp of this tx will be at most the timestamp specified.

    Advanced

      -
    • If multiple functions set differing include_by_timestamps, the kernel circuits will set it to be the +
    • If multiple functions set differing expiration_timestamps, the kernel circuits will set it to be the minimum of the two. This ensures the tx expiry requirements of all functions in the tx are met.
    • Rollup circuits will reject expired txs.
    • The protocol enforces that all transactions must be included within 24 hours of their chosen anchor block's diff --git a/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs/struct.PrivateKernelCircuitPublicInputs.html b/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs/struct.PrivateKernelCircuitPublicInputs.html index 8a142e81cf50..b7251b1dd3c8 100644 --- a/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs/struct.PrivateKernelCircuitPublicInputs.html +++ b/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_kernel_circuit_public_inputs/struct.PrivateKernelCircuitPublicInputs.html @@ -24,8 +24,8 @@

      Fields

    • claimed_revertible_counter
    • constants
    • end
    • +
    • expiration_timestamp
    • fee_payer
    • -
    • include_by_timestamp
    • is_private_only
    • min_revertible_side_effect_counter
    • public_teardown_call_request
    • @@ -46,7 +46,7 @@

      Struct PrivateKernelCircuitPublicInputsPrivateAccumulatedData, pub public_teardown_call_request: PublicCallRequest, pub fee_payer: AztecAddress, - pub include_by_timestamp: u64, + pub expiration_timestamp: u64, pub is_private_only: bool, pub claimed_first_nullifier: Field, pub claimed_revertible_counter: u32, @@ -62,7 +62,7 @@

      Fields

      public_teardown_call_request: PublicCallRequest
      fee_payer: AztecAddress
      -
      include_by_timestamp: u64
      +
      expiration_timestamp: u64
      is_private_only: bool
      claimed_first_nullifier: Field
      claimed_revertible_counter: u32
      diff --git a/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_to_public_kernel_circuit_public_inputs/struct.PrivateToPublicKernelCircuitPublicInputs.html b/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_to_public_kernel_circuit_public_inputs/struct.PrivateToPublicKernelCircuitPublicInputs.html index 49beeb7d9a3a..f0aad99b6bd8 100644 --- a/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_to_public_kernel_circuit_public_inputs/struct.PrivateToPublicKernelCircuitPublicInputs.html +++ b/docs/static/aztec-nr-api/nightly/noir_aztec/protocol/abis/kernel_circuit_public_inputs/private_to_public_kernel_circuit_public_inputs/struct.PrivateToPublicKernelCircuitPublicInputs.html @@ -21,9 +21,9 @@

      Struct PrivateToPublicKernelCircuitPublicInputs

      Fields

  • MAX_FIELD_VALUE
  • MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS
  • -
  • MAX_INCLUDE_BY_TIMESTAMP_DURATION
  • MAX_KEY_VALIDATION_REQUESTS_PER_CALL
  • MAX_KEY_VALIDATION_REQUESTS_PER_TX
  • MAX_L2_TO_L1_MSG_SUBTREES_PER_TX
  • @@ -438,6 +437,7 @@

    Globals