From aeec0e275ae6507d6202dc3b3762bc522f32c527 Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 25 Jun 2026 12:33:43 +0800 Subject: [PATCH 1/5] chore: remove redundant circuits installation --- .github/workflows/corpus-update.yml | 8 -------- .github/workflows/fuzz-afl.yml | 15 --------------- .github/workflows/fuzz.yml | 17 ----------------- .github/workflows/lez-compat.yml | 8 +++----- .github/workflows/lint.yml | 5 ----- .github/workflows/mutants.yml | 10 ---------- 6 files changed, 3 insertions(+), 60 deletions(-) diff --git a/.github/workflows/corpus-update.yml b/.github/workflows/corpus-update.yml index f2d9b8a1..708bcd40 100644 --- a/.github/workflows/corpus-update.yml +++ b/.github/workflows/corpus-update.yml @@ -80,10 +80,6 @@ jobs: steps: - uses: actions/checkout@v4 - uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - uses: ./.github/actions/setup-libfuzzer - name: Build fuzz target @@ -134,10 +130,6 @@ jobs: steps: - uses: actions/checkout@v4 - uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - uses: ./.github/actions/setup-afl - name: Build AFL++ target diff --git a/.github/workflows/fuzz-afl.yml b/.github/workflows/fuzz-afl.yml index d9188052..ce019cc3 100644 --- a/.github/workflows/fuzz-afl.yml +++ b/.github/workflows/fuzz-afl.yml @@ -75,11 +75,6 @@ jobs: - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Set up AFL++ toolchain uses: ./.github/actions/setup-afl @@ -270,11 +265,6 @@ jobs: - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install Rust nightly + llvm-tools-preview uses: dtolnay/rust-toolchain@nightly with: @@ -376,11 +366,6 @@ jobs: - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install Rust nightly + llvm-tools-preview uses: dtolnay/rust-toolchain@nightly with: diff --git a/.github/workflows/fuzz.yml b/.github/workflows/fuzz.yml index 7a1046b0..94e8cf11 100644 --- a/.github/workflows/fuzz.yml +++ b/.github/workflows/fuzz.yml @@ -64,11 +64,6 @@ jobs: target key: fuzz-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - uses: ./.github/actions/setup-libfuzzer - name: Build fuzz target @@ -236,10 +231,6 @@ jobs: - uses: actions/checkout@v4 - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - uses: ./.github/actions/setup-libfuzzer - name: Reproduce corpus run: | @@ -256,10 +247,6 @@ jobs: - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - uses: dtolnay/rust-toolchain@stable - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - run: cargo test -p fuzz_props --release - name: Run tests which require RISC0_DEV_MODE off. run: env -u RISC0_DEV_MODE cargo test -p fuzz_props --release synthesized_proof_is_rejected_without_dev_mode @@ -273,10 +260,6 @@ jobs: - uses: actions/checkout@v4 - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - uses: ./.github/actions/setup-libfuzzer - name: Measure throughput (30 s per target) run: | diff --git a/.github/workflows/lez-compat.yml b/.github/workflows/lez-compat.yml index f5265833..873ce95e 100644 --- a/.github/workflows/lez-compat.yml +++ b/.github/workflows/lez-compat.yml @@ -8,6 +8,9 @@ on: schedule: - cron: "0 4 * * *" workflow_dispatch: + push: + branches: + - chore-sync-with-lez env: RISC0_DEV_MODE: "1" @@ -39,11 +42,6 @@ jobs: target key: lez-compat-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Build shared fuzz harness against upstream main run: cargo build -p fuzz_props --release diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9be35000..8ea7f608 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -53,11 +53,6 @@ jobs: - name: Checkout logos-execution-zone uses: ./.github/actions/checkout-lez - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install nightly toolchain with clippy uses: dtolnay/rust-toolchain@nightly with: diff --git a/.github/workflows/mutants.yml b/.github/workflows/mutants.yml index 8ac9f7ef..829503a3 100644 --- a/.github/workflows/mutants.yml +++ b/.github/workflows/mutants.yml @@ -36,11 +36,6 @@ jobs: - name: Install stable Rust toolchain uses: dtolnay/rust-toolchain@stable - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Cache cargo registry uses: actions/cache@v4 with: @@ -127,11 +122,6 @@ jobs: with: components: llvm-tools-preview - - name: Install logos-blockchain-circuits - uses: ./logos-execution-zone/.github/actions/install-logos-blockchain-circuits - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - - name: Cache cargo registry uses: actions/cache@v4 with: From e4c4d1eca7805717e00941acc4b488531d4ad537 Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 25 Jun 2026 13:15:33 +0800 Subject: [PATCH 2/5] fix: sync with updated LEZ API --- .github/actions/checkout-lez/action.yml | 2 +- Cargo.lock | 570 +++---- Cargo.toml | 6 +- .../fuzz_state_transition/seed_empty_tx | Bin 149 -> 149 bytes .../fuzz_stateless_verification/seed_empty_tx | Bin 149 -> 149 bytes .../fuzz_transaction_decoding/seed_empty_tx | Bin 149 -> 149 bytes fuzz/Cargo.lock | 1436 +++++++---------- fuzz/Cargo.toml | 2 + .../fuzz_apply_state_diff_split_path.rs | 3 +- fuzz/fuzz_targets/fuzz_merkle_tree.rs | 5 +- .../fuzz_multi_block_state_sequence.rs | 3 +- .../fuzz_nullifier_set_roundtrip.rs | 8 +- ...uzz_privacy_preserving_state_transition.rs | 4 +- .../fuzz_program_deployment_lifecycle.rs | 3 +- fuzz/fuzz_targets/fuzz_replay_prevention.rs | 3 +- .../fuzz_sequencer_vs_replayer.rs | 3 +- .../fuzz_state_diff_computation.rs | 4 +- fuzz/fuzz_targets/fuzz_state_transition.rs | 3 +- .../fuzz_transaction_properties.rs | 11 +- .../fuzz_validate_execute_consistency.rs | 3 +- fuzz_props/Cargo.toml | 4 + fuzz_props/src/genesis.rs | 64 + fuzz_props/src/lib.rs | 1 + fuzz_props/src/tests/invariants.rs | 22 +- fuzz_props/src/tests/privacy.rs | 8 +- fuzz_props/src/tests/replay_proptest.rs | 2 +- 26 files changed, 911 insertions(+), 1259 deletions(-) create mode 100644 fuzz_props/src/genesis.rs diff --git a/.github/actions/checkout-lez/action.yml b/.github/actions/checkout-lez/action.yml index 1f949cf9..c965b943 100644 --- a/.github/actions/checkout-lez/action.yml +++ b/.github/actions/checkout-lez/action.yml @@ -14,7 +14,7 @@ inputs: `just update-lez`, replace this SHA, and open a PR. The scheduled lez-compat workflow overrides this with `main` to detect upstream drift. required: false - default: dac429a94af932b0c827544fff8b9de85b83e6f3 + default: 64f8444a67e5cc93fb755f9c9292034bed2a657d runs: using: composite diff --git a/Cargo.lock b/Cargo.lock index d822ce5b..0ff50d77 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -130,45 +130,16 @@ dependencies = [ "triomphe", ] -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-bn254" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", + "ark-ec", + "ark-ff", "ark-r1cs-std", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark 0.4.0", - "ark-std 0.4.0", - "blake2", - "derivative", - "digest 0.10.7", - "sha2", + "ark-std", ] [[package]] @@ -179,12 +150,12 @@ checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" dependencies = [ "ahash", "ark-crypto-primitives-macros", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-relations 0.5.1", - "ark-serialize 0.5.0", - "ark-snark 0.5.1", - "ark-std 0.5.0", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-snark", + "ark-std", "blake2", "derivative", "digest 0.10.7", @@ -204,23 +175,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", - "num-traits", - "zeroize", -] - [[package]] name = "ark-ec" version = "0.5.0" @@ -228,10 +182,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" dependencies = [ "ahash", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", "educe", "fnv", "hashbrown 0.15.5", @@ -242,36 +196,16 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint 0.4.6", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - [[package]] name = "ark-ff" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" dependencies = [ - "ark-ff-asm 0.5.0", - "ark-ff-macros 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", "arrayvec", "digest 0.10.7", "educe", @@ -282,16 +216,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "ark-ff-asm" version = "0.5.0" @@ -302,19 +226,6 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ark-ff-macros" version = "0.5.0" @@ -328,47 +239,19 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives 0.4.0", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-groth16" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" dependencies = [ - "ark-crypto-primitives 0.5.0", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-relations 0.5.1", - "ark-serialize 0.5.0", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-relations", + "ark-serialize", + "ark-std", ] [[package]] @@ -378,9 +261,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" dependencies = [ "ahash", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", + "ark-ff", + "ark-serialize", + "ark-std", "educe", "fnv", "hashbrown 0.15.5", @@ -392,10 +275,10 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-relations 0.5.1", - "ark-std 0.5.0", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-std", "educe", "num-bigint 0.4.6", "num-integer", @@ -403,66 +286,31 @@ dependencies = [ "tracing", ] -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "tracing", - "tracing-subscriber 0.2.25", -] - [[package]] name = "ark-relations" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" dependencies = [ - "ark-ff 0.5.0", - "ark-std 0.5.0", + "ark-ff", + "ark-std", "tracing", "tracing-subscriber 0.2.25", ] -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive 0.4.2", - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint 0.4.6", -] - [[package]] name = "ark-serialize" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" dependencies = [ - "ark-serialize-derive 0.5.0", - "ark-std 0.5.0", + "ark-serialize-derive", + "ark-std", "arrayvec", "digest 0.10.7", "num-bigint 0.4.6", ] -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ark-serialize-derive" version = "0.5.0" @@ -474,38 +322,16 @@ dependencies = [ "syn 2.0.117", ] -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-snark" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" dependencies = [ - "ark-ff 0.5.0", - "ark-relations 0.5.1", - "ark-serialize 0.5.0", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", ] [[package]] @@ -987,6 +813,14 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "build_utils" +version = "0.1.0" +dependencies = [ + "anyhow", + "risc0-binfmt", +] + [[package]] name = "bumpalo" version = "3.20.2" @@ -1104,6 +938,15 @@ dependencies = [ "cpufeatures 0.3.0", ] +[[package]] +name = "chkstk_stub" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "047f6ab2f3b9bcaf23b593d1580898e4244d27eadf1a1fae99212ee5735d3d1c" +dependencies = [ + "cc", +] + [[package]] name = "chrono" version = "0.4.44" @@ -1174,9 +1017,11 @@ dependencies = [ "lee_core", "log", "logos-blockchain-common-http-client", + "programs", "serde", "serde_with", "sha2", + "system_accounts", "thiserror 2.0.18", ] @@ -2250,8 +2095,10 @@ dependencies = [ "common", "lee", "lee_core", + "programs", "proptest", "risc0-zkvm", + "system_accounts", "testnet_initial_state", ] @@ -2414,15 +2261,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -3091,26 +2929,26 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jf-crhf" -version = "0.1.1" -source = "git+https://github.com/EspressoSystems/jellyfish?tag=jf-crhf-v0.1.1#8f3dce0bc2bd161b4648f6ac029dcc1a23aaf4c5" +version = "0.2.0" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=jf-crhf-v0.2.0#f1538793f7f0e391495cb17bbb0c8703ec5f689d" dependencies = [ - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "ark-serialize", + "ark-std", ] [[package]] name = "jf-poseidon2" -version = "0.1.0" -source = "git+https://github.com/EspressoSystems/jellyfish.git?rev=dc166cf0f803c3e5067f9dfcc21e3dade986a447#dc166cf0f803c3e5067f9dfcc21e3dade986a447" +version = "0.2.0" +source = "git+https://github.com/EspressoSystems/jellyfish.git?rev=8d80230358e900f8d63765a937f63f4978ca1daa#8d80230358e900f8d63765a937f63f4978ca1daa" dependencies = [ - "ark-bn254 0.4.0", - "ark-ff 0.4.2", - "ark-std 0.4.0", + "ark-bn254", + "ark-ff", + "ark-std", "displaydoc", "hex", "jf-crhf", "lazy_static", - "nimue", + "spongefish", "zeroize", ] @@ -3245,16 +3083,13 @@ version = "0.1.0" dependencies = [ "anyhow", "borsh", - "bridge_core", - "clock_core", - "faucet_core", + "build_utils", "hex", "k256", "lee_core", "log", "rand 0.8.5", "risc0-binfmt", - "risc0-build", "risc0-zkvm", "serde", "serde_with", @@ -3722,8 +3557,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47a1ccadd0bb5a32c196da536fd72c59183de24a055f6bf0513bf845fefab862" dependencies = [ - "ark-bn254 0.5.0", - "ark-ff 0.5.0", + "ark-bn254", + "ark-ff", "num-bigint 0.4.6", "thiserror 1.0.69", ] @@ -3758,7 +3593,7 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "logos-blockchain-blend-crypto" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "blake2", "logos-blockchain-groth16", @@ -3772,7 +3607,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-message" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "blake2", "derivative", @@ -3781,12 +3616,12 @@ dependencies = [ "logos-blockchain-blend-crypto", "logos-blockchain-blend-proofs", "logos-blockchain-core", + "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", "logos-blockchain-log-targets", "logos-blockchain-utils", "serde", - "serde-big-array", "serde_with", "thiserror 2.0.18", "tracing", @@ -3796,7 +3631,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-proofs" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ed25519-dalek", "generic-array 1.3.5", @@ -3816,23 +3651,21 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-broadcast-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "derivative", - "futures", "logos-blockchain-core", "overwatch", "serde", "tokio", - "tokio-stream", "tracing", ] [[package]] name = "logos-blockchain-chain-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -3853,7 +3686,6 @@ dependencies = [ "overwatch", "serde", "serde_with", - "strum", "thiserror 2.0.18", "time", "tokio", @@ -3863,8 +3695,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-build" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "dirs", "fd-lock", @@ -3875,16 +3707,16 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-common" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-types", ] [[package]] name = "logos-blockchain-circuits-poc-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3893,8 +3725,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-pol-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3903,8 +3735,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-poq-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3914,16 +3746,15 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-prover" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "logos-blockchain-circuits-utils", - "tempfile", + "rust-rapidsnark", ] [[package]] name = "logos-blockchain-circuits-signature-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3932,25 +3763,17 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-types" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "bytes", "libc", ] -[[package]] -name = "logos-blockchain-circuits-utils" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" -dependencies = [ - "dirs", -] - [[package]] name = "logos-blockchain-common-http-client" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "futures", "hex", @@ -3961,6 +3784,7 @@ dependencies = [ "logos-blockchain-groth16", "logos-blockchain-http-api-common", "logos-blockchain-key-management-system-keys", + "logos-blockchain-log-targets", "reqwest", "serde", "serde_json", @@ -3972,9 +3796,9 @@ dependencies = [ [[package]] name = "logos-blockchain-core" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-ff 0.4.2", + "ark-ff", "bincode", "blake2", "bytes", @@ -3985,6 +3809,7 @@ dependencies = [ "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", + "logos-blockchain-log-targets", "logos-blockchain-mmr", "logos-blockchain-poc", "logos-blockchain-pol", @@ -4005,7 +3830,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-engine" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-pol", "logos-blockchain-utils", @@ -4020,7 +3845,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-sync" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "bytes", "futures", @@ -4039,13 +3864,13 @@ dependencies = [ [[package]] name = "logos-blockchain-groth16" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-bn254 0.4.0", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-groth16 0.4.0", - "ark-serialize 0.4.2", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-groth16", + "ark-serialize", "generic-array 1.3.5", "hex", "num-bigint 0.4.6", @@ -4057,11 +3882,12 @@ dependencies = [ [[package]] name = "logos-blockchain-http-api-common" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "axum", "logos-blockchain-core", "logos-blockchain-key-management-system-keys", + "logos-blockchain-log-targets", "logos-blockchain-tracing", "serde", "serde_json", @@ -4077,7 +3903,7 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-keys" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -4086,6 +3912,7 @@ dependencies = [ "hex", "logos-blockchain-groth16", "logos-blockchain-key-management-system-macros", + "logos-blockchain-log-targets", "logos-blockchain-poseidon2", "logos-blockchain-utils", "logos-blockchain-zksign", @@ -4103,7 +3930,7 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-macros" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "proc-macro2", "quote", @@ -4113,7 +3940,7 @@ dependencies = [ [[package]] name = "logos-blockchain-ledger" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "derivative", "logos-blockchain-blend-crypto", @@ -4139,7 +3966,7 @@ dependencies = [ [[package]] name = "logos-blockchain-libp2p" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "backon", @@ -4168,7 +3995,7 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-log-targets-macros", ] @@ -4176,7 +4003,7 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets-macros" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "proc-macro2", "quote", @@ -4186,9 +4013,9 @@ dependencies = [ [[package]] name = "logos-blockchain-mmr" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-ff 0.4.2", + "ark-ff", "logos-blockchain-groth16", "logos-blockchain-poseidon2", "rpds", @@ -4199,7 +4026,7 @@ dependencies = [ [[package]] name = "logos-blockchain-network-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -4220,13 +4047,13 @@ dependencies = [ [[package]] name = "logos-blockchain-poc" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-poc-sys", "logos-blockchain-circuits-prover", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-proofs-error", "num-bigint 0.4.6", "serde", @@ -4237,14 +4064,14 @@ dependencies = [ [[package]] name = "logos-blockchain-pol" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "astro-float", "logos-blockchain-circuits-pol-sys", "logos-blockchain-circuits-prover", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-proofs-error", "logos-blockchain-utils", "num-bigint 0.4.6", @@ -4257,13 +4084,13 @@ dependencies = [ [[package]] name = "logos-blockchain-poq" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-poq-sys", "logos-blockchain-circuits-prover", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-pol", "logos-blockchain-proofs-error", "num-bigint 0.4.6", @@ -4276,10 +4103,10 @@ dependencies = [ [[package]] name = "logos-blockchain-poseidon2" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-bn254 0.4.0", - "ark-ff 0.4.2", + "ark-bn254", + "ark-ff", "jf-poseidon2", "num-bigint 0.4.6", ] @@ -4287,7 +4114,7 @@ dependencies = [ [[package]] name = "logos-blockchain-proofs-error" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-types", "logos-blockchain-groth16", @@ -4298,11 +4125,12 @@ dependencies = [ [[package]] name = "logos-blockchain-services-utils" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", "log", + "logos-blockchain-log-targets", "overwatch", "serde", "serde_json", @@ -4313,7 +4141,7 @@ dependencies = [ [[package]] name = "logos-blockchain-storage-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -4332,7 +4160,7 @@ dependencies = [ [[package]] name = "logos-blockchain-time-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -4355,7 +4183,7 @@ dependencies = [ [[package]] name = "logos-blockchain-tracing" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "flate2", "logos-blockchain-log-targets", @@ -4381,28 +4209,31 @@ dependencies = [ [[package]] name = "logos-blockchain-utils" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "blake2", "cipher 0.4.4", "const-hex", "humantime", + "logos-blockchain-log-targets", "overwatch", "rand 0.8.5", "serde", + "serde_ignored", "serde_with", "serde_yaml", "thiserror 2.0.18", "time", + "tracing", ] [[package]] name = "logos-blockchain-utxotree" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-ff 0.4.2", + "ark-ff", "logos-blockchain-groth16", "logos-blockchain-poseidon2", "num-bigint 0.4.6", @@ -4414,13 +4245,13 @@ dependencies = [ [[package]] name = "logos-blockchain-zksign" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-signature-sys", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-poseidon2", "logos-blockchain-proofs-error", "num-bigint 0.4.6", @@ -4667,7 +4498,7 @@ dependencies = [ "module-lattice", "pkcs8 0.11.0", "rand_core 0.10.1", - "sha3", + "sha3 0.11.0", ] [[package]] @@ -4884,24 +4715,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "nimue" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0dc7d3b2b7bd112c0cecf7d6f4f16a174ee7a98e27615b1d08256d0176588f2" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "digest 0.10.7", - "generic-array 0.14.7", - "hex", - "keccak 0.1.6", - "log", - "rand 0.8.5", - "zeroize", -] - [[package]] name = "nix" version = "0.30.1" @@ -5530,6 +5343,14 @@ dependencies = [ "version_check", ] +[[package]] +name = "programs" +version = "0.1.0" +dependencies = [ + "build_utils", + "lee", +] + [[package]] name = "prometheus-client" version = "0.22.3" @@ -6213,11 +6034,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc57e76bb87193d154ac5ee6ee352fbd7edabddab36f02a81f40a048e5ca14f9" dependencies = [ "anyhow", - "ark-bn254 0.5.0", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-groth16 0.5.0", - "ark-serialize 0.5.0", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-groth16", + "ark-serialize", "bytemuck", "cfg-if", "hex", @@ -6377,8 +6198,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7a3ef170810c387d31b64c0b59734abb0839dac2a8d137909e271bfdec9b1e0" dependencies = [ - "ark-bn254 0.5.0", - "ark-ff 0.5.0", + "ark-bn254", + "ark-ff", "byteorder", "futures", "light-poseidon", @@ -6450,6 +6271,18 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" +[[package]] +name = "rust-rapidsnark" +version = "0.1.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-rust-rapidsnark.git?rev=e91187f8ccb5bbfc7bb00dac88169112428da78f#e91187f8ccb5bbfc7bb00dac88169112428da78f" +dependencies = [ + "anyhow", + "cc", + "chkstk_stub", + "num-bigint 0.4.6", + "num-traits", +] + [[package]] name = "rustc-demangle" version = "0.1.27" @@ -6666,15 +6499,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-big-array" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" -dependencies = [ - "serde", -] - [[package]] name = "serde_arrays" version = "0.2.0" @@ -6704,6 +6528,16 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "serde_ignored" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115dffd5f3853e06e746965a20dcbae6ee747ae30b543d91b0e089668bb07798" +dependencies = [ + "serde", + "serde_core", +] + [[package]] name = "serde_json" version = "1.0.149" @@ -6814,6 +6648,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" +dependencies = [ + "digest 0.10.7", + "keccak 0.1.6", +] + [[package]] name = "sha3" version = "0.11.0" @@ -6942,6 +6786,24 @@ dependencies = [ "der 0.8.0", ] +[[package]] +name = "spongefish" +version = "0.2.0" +source = "git+https://github.com/arkworks-rs/spongefish.git?rev=3ded547f7f56d7f8a1fc4c9a5c0ce965310bba5f#3ded547f7f56d7f8a1fc4c9a5c0ce965310bba5f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "digest 0.10.7", + "hex", + "keccak 0.1.6", + "rand 0.8.5", + "sha3 0.10.9", + "thiserror 2.0.18", + "zerocopy", + "zeroize", +] + [[package]] name = "stability" version = "0.2.1" @@ -7077,6 +6939,17 @@ dependencies = [ "libc", ] +[[package]] +name = "system_accounts" +version = "0.1.0" +dependencies = [ + "bridge_core", + "clock_core", + "faucet_core", + "lee_core", + "programs", +] + [[package]] name = "tagptr" version = "0.2.0" @@ -7117,11 +6990,12 @@ dependencies = [ name = "testnet_initial_state" version = "0.1.0" dependencies = [ - "common", "key_protocol", "lee", "lee_core", + "programs", "serde", + "system_accounts", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index f6b0861f..c60830d2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,8 +59,10 @@ nssa_core = { path = "../logos-execution-zone/lee/state_machine/core common = { path = "../logos-execution-zone/lez/common" } key_protocol = { path = "../logos-execution-zone/lee/key_protocol" } testnet_initial_state = { path = "../logos-execution-zone/lez/testnet_initial_state" } -token_core = { path = "../logos-execution-zone/programs/token/core" } -test_program_methods = { path = "../logos-execution-zone/test_program_methods" } +programs = { path = "../logos-execution-zone/lez/programs" } +system_accounts = { path = "../logos-execution-zone/lez/system_accounts" } +token_core = { path = "../logos-execution-zone/lez/programs/token/core" } +test_program_methods = { path = "../logos-execution-zone/test_programs", package = "test_programs" } # ── Third-party dependencies (versions mirrored from logos-execution-zone) ──── anyhow = "1.0.98" diff --git a/corpus/libfuzz/fuzz_state_transition/seed_empty_tx b/corpus/libfuzz/fuzz_state_transition/seed_empty_tx index 030f7189152c5c170affa85ab6c775ba8eda8e6e..9785e4414f6e9293a17d4f9028447bb86cf5a35b 100644 GIT binary patch delta 109 zcmV-z0FwWe0hIwE0CwLL$^HIWOF-gYJn+g=dbB4Rv+J2K^g?VAo+wb1@{u7FK%5q( zSqUm6W!1+v?Po!9cKh#zs}Opqlq5YRgR#XE P%d~+SBz(FcwUKoo1x+=4 delta 109 zcmV-z0FwWe0hIwE02IO)`e#7z$YzTQGiOc$wM@d3#y?a)gsi#ZF84)w(vcw)KqH03 zyf7$Yq{`*(Uz)o;v-Co$yGne3D=${WFJ8wS{60V5BCE_}UVQOpHD+XVN}D&XjJyfQ PDX!2;+)agdH<5K9oC7k& diff --git a/corpus/libfuzz/fuzz_stateless_verification/seed_empty_tx b/corpus/libfuzz/fuzz_stateless_verification/seed_empty_tx index 030f7189152c5c170affa85ab6c775ba8eda8e6e..9785e4414f6e9293a17d4f9028447bb86cf5a35b 100644 GIT binary patch delta 109 zcmV-z0FwWe0hIwE0CwLL$^HIWOF-gYJn+g=dbB4Rv+J2K^g?VAo+wb1@{u7FK%5q( zSqUm6W!1+v?Po!9cKh#zs}Opqlq5YRgR#XE P%d~+SBz(FcwUKoo1x+=4 delta 109 zcmV-z0FwWe0hIwE02IO)`e#7z$YzTQGiOc$wM@d3#y?a)gsi#ZF84)w(vcw)KqH03 zyf7$Yq{`*(Uz)o;v-Co$yGne3D=${WFJ8wS{60V5BCE_}UVQOpHD+XVN}D&XjJyfQ PDX!2;+)agdH<5K9oC7k& diff --git a/corpus/libfuzz/fuzz_transaction_decoding/seed_empty_tx b/corpus/libfuzz/fuzz_transaction_decoding/seed_empty_tx index 030f7189152c5c170affa85ab6c775ba8eda8e6e..9785e4414f6e9293a17d4f9028447bb86cf5a35b 100644 GIT binary patch delta 109 zcmV-z0FwWe0hIwE0CwLL$^HIWOF-gYJn+g=dbB4Rv+J2K^g?VAo+wb1@{u7FK%5q( zSqUm6W!1+v?Po!9cKh#zs}Opqlq5YRgR#XE P%d~+SBz(FcwUKoo1x+=4 delta 109 zcmV-z0FwWe0hIwE02IO)`e#7z$YzTQGiOc$wM@d3#y?a)gsi#ZF84)w(vcw)KqH03 zyf7$Yq{`*(Uz)o;v-Co$yGne3D=${WFJ8wS{60V5BCE_}UVQOpHD+XVN}D&XjJyfQ PDX!2;+)agdH<5K9oC7k& diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 6983fa36..4d938213 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -115,45 +115,16 @@ dependencies = [ "triomphe", ] -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-std 0.4.0", -] - [[package]] name = "ark-bn254" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d69eab57e8d2663efa5c63135b2af4f396d66424f88954c21104125ab6b3e6bc" dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", + "ark-ec", + "ark-ff", "ark-r1cs-std", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-crypto-primitives" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3a13b34da09176a8baba701233fdffbaa7c1b1192ce031a3da4e55ce1f1a56" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-snark 0.4.0", - "ark-std 0.4.0", - "blake2", - "derivative", - "digest 0.10.7", - "sha2", + "ark-std", ] [[package]] @@ -164,12 +135,12 @@ checksum = "1e0c292754729c8a190e50414fd1a37093c786c709899f29c9f7daccecfa855e" dependencies = [ "ahash", "ark-crypto-primitives-macros", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-relations 0.5.1", - "ark-serialize 0.5.0", - "ark-snark 0.5.1", - "ark-std 0.5.0", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-snark", + "ark-std", "blake2", "derivative", "digest 0.10.7", @@ -186,24 +157,7 @@ checksum = "e7e89fe77d1f0f4fe5b96dfc940923d88d17b6a773808124f21e764dfb063c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", - "num-traits", - "zeroize", + "syn 2.0.118", ] [[package]] @@ -213,10 +167,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" dependencies = [ "ahash", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", "educe", "fnv", "hashbrown 0.15.5", @@ -227,36 +181,16 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - [[package]] name = "ark-ff" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" dependencies = [ - "ark-ff-asm 0.5.0", - "ark-ff-macros 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", "arrayvec", "digest 0.10.7", "educe", @@ -267,16 +201,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "ark-ff-asm" version = "0.5.0" @@ -284,20 +208,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.117", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", + "syn 2.0.118", ] [[package]] @@ -310,22 +221,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "ark-groth16" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20ceafa83848c3e390f1cbf124bc3193b3e639b3f02009e0e290809a501b95fc" -dependencies = [ - "ark-crypto-primitives 0.4.0", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-poly 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "syn 2.0.118", ] [[package]] @@ -334,26 +230,13 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88f1d0f3a534bb54188b8dcc104307db6c56cdae574ddc3212aec0625740fc7e" dependencies = [ - "ark-crypto-primitives 0.5.0", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-poly 0.5.0", - "ark-relations 0.5.1", - "ark-serialize 0.5.0", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "hashbrown 0.13.2", + "ark-crypto-primitives", + "ark-ec", + "ark-ff", + "ark-poly", + "ark-relations", + "ark-serialize", + "ark-std", ] [[package]] @@ -363,9 +246,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" dependencies = [ "ahash", - "ark-ff 0.5.0", - "ark-serialize 0.5.0", - "ark-std 0.5.0", + "ark-ff", + "ark-serialize", + "ark-std", "educe", "fnv", "hashbrown 0.15.5", @@ -377,10 +260,10 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "941551ef1df4c7a401de7068758db6503598e6f01850bdb2cfdb614a1f9dbea1" dependencies = [ - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-relations 0.5.1", - "ark-std 0.5.0", + "ark-ec", + "ark-ff", + "ark-relations", + "ark-std", "educe", "num-bigint", "num-integer", @@ -388,66 +271,31 @@ dependencies = [ "tracing", ] -[[package]] -name = "ark-relations" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00796b6efc05a3f48225e59cb6a2cda78881e7c390872d5786aaf112f31fb4f0" -dependencies = [ - "ark-ff 0.4.2", - "ark-std 0.4.0", - "tracing", - "tracing-subscriber 0.2.25", -] - [[package]] name = "ark-relations" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec46ddc93e7af44bcab5230937635b06fb5744464dd6a7e7b083e80ebd274384" dependencies = [ - "ark-ff 0.5.0", - "ark-std 0.5.0", + "ark-ff", + "ark-std", "tracing", "tracing-subscriber 0.2.25", ] -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive 0.4.2", - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint", -] - [[package]] name = "ark-serialize" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" dependencies = [ - "ark-serialize-derive 0.5.0", - "ark-std 0.5.0", + "ark-serialize-derive", + "ark-std", "arrayvec", "digest 0.10.7", "num-bigint", ] -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "ark-serialize-derive" version = "0.5.0" @@ -456,19 +304,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "ark-snark" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d3cc6833a335bb8a600241889ead68ee89a3cf8448081fb7694c0fe503da63" -dependencies = [ - "ark-ff 0.4.2", - "ark-relations 0.4.0", - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "syn 2.0.118", ] [[package]] @@ -477,20 +313,10 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d368e2848c2d4c129ce7679a7d0d2d612b6a274d3ea6a13bad4445d61b381b88" dependencies = [ - "ark-ff 0.5.0", - "ark-relations 0.5.1", - "ark-serialize 0.5.0", - "ark-std 0.5.0", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", + "ark-ff", + "ark-relations", + "ark-serialize", + "ark-std", ] [[package]] @@ -500,7 +326,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -517,15 +343,15 @@ checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" [[package]] name = "asn1-rs" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56624a96882bb8c26d61312ae18cb45868e5a9992ea73c58e45c3101e56a1e60" +checksum = "b7f43a50ac4fdca5df8e885c21b835997f0a1cdee65494a6847694a98652d9d8" dependencies = [ "asn1-rs-derive", "asn1-rs-impl", @@ -545,7 +371,7 @@ checksum = "3109e49b1e4909e9db6515a30c633684d68cdeaa252f215214cb4fa1a5bfee2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] @@ -557,7 +383,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -636,7 +462,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -647,7 +473,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -687,7 +513,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9" dependencies = [ "base64", - "http 1.4.0", + "http 1.4.2", "log", "url", ] @@ -701,9 +527,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "axum" @@ -715,7 +541,7 @@ dependencies = [ "axum-core", "bytes", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body", "http-body-util", "hyper", @@ -747,7 +573,7 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body", "http-body-util", "mime", @@ -845,9 +671,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitcoin_hashes" -version = "0.14.1" +version = "0.14.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26ec84b80c482df901772e931a9a681e26a1b9ee2302edeff23cb30328745c8b" +checksum = "bca4c7abb40c8817d77403c880988cfd484f23ab2365726afb2f798363e2c4a2" dependencies = [ "hex-conservative", ] @@ -860,9 +686,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.0" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "blake2" @@ -890,9 +716,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd35008169921d80bc60d3d0ab416eecb028c4cd653352907921d95084790be" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" dependencies = [ "hybrid-array", ] @@ -912,9 +738,9 @@ dependencies = [ [[package]] name = "borsh" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" +checksum = "2f3f6da4992df95bbcd9af42a6c7dcb994498fc9048230405f3b36ff7cd3f145" dependencies = [ "borsh-derive", "bytes", @@ -923,15 +749,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfcfdc083699101d5a7965e49925975f2f55060f94f9a05e7187be95d530ca59" +checksum = "3ae8fb4fb5740e4b2c4884ff95f5f32f5e8479db1e8fd8eb49ddbe09eb09bb7c" dependencies = [ "once_cell", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -951,11 +777,19 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "build_utils" +version = "0.1.0" +dependencies = [ + "anyhow", + "risc0-binfmt", +] + [[package]] name = "bumpalo" -version = "3.20.2" +version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" +checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" [[package]] name = "bytemuck" @@ -974,7 +808,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -985,27 +819,27 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" dependencies = [ "serde", ] [[package]] name = "bytesize" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bd91ee7b2422bcb158d90ef4d14f75ef67f340943fc4149891dcce8f8b972a3" +checksum = "49e78e506b9d7633710dab98996f22f95f3d0f488e8f1aa162830556ed9fc14d" dependencies = [ "serde_core", ] [[package]] name = "camino" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +checksum = "b4ce8d3bd5823c7504d3f579f13e7b2f3da252fcb938c594d5680ee508bf846f" dependencies = [ "serde_core", ] @@ -1035,9 +869,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.60" +version = "1.2.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20" +checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96" dependencies = [ "find-msvc-tools", "jobserver", @@ -1059,20 +893,29 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chacha20" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" +checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81" dependencies = [ "cfg-if", - "cipher 0.5.1", + "cipher 0.5.2", "cpufeatures 0.3.0", ] [[package]] -name = "chrono" -version = "0.4.44" +name = "chkstk_stub" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +checksum = "047f6ab2f3b9bcaf23b593d1580898e4244d27eadf1a1fae99212ee5735d3d1c" +dependencies = [ + "cc", +] + +[[package]] +name = "chrono" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327" dependencies = [ "iana-time-zone", "num-traits", @@ -1092,12 +935,12 @@ dependencies = [ [[package]] name = "cipher" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34d8227fe1ba289043aeb13792056ff80fd6de1a9f49137a5f499de8e8c78ea" +checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c" dependencies = [ - "block-buffer 0.12.0", - "crypto-common 0.2.1", + "block-buffer 0.12.1", + "crypto-common 0.2.2", "inout 0.2.2", ] @@ -1138,9 +981,11 @@ dependencies = [ "lee_core", "log", "logos-blockchain-common-http-client", + "programs", "serde", "serde_with", "sha2", + "system_accounts", "thiserror 2.0.18", ] @@ -1155,9 +1000,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.18.1" +version = "1.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" +checksum = "33e2a781ebdf4467d1428dc4593067825fb646f6871475098d8577421af73558" dependencies = [ "cfg-if", "cpufeatures 0.2.17", @@ -1219,15 +1064,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - [[package]] name = "cpufeatures" version = "0.2.17" @@ -1310,11 +1146,11 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77727bb15fa921304124b128af125e7e3b968275d1b108b379190264f4423710" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" dependencies = [ - "getrandom 0.4.2", + "getrandom 0.4.3", "hybrid-array", "rand_core 0.10.1", ] @@ -1362,7 +1198,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1396,7 +1232,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1409,7 +1245,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1420,7 +1256,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1431,20 +1267,20 @@ checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ "darling_core 0.23.0", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "data-encoding" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" +checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" [[package]] name = "data-encoding-macro" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" +checksum = "3259c913752a86488b501ed8680446a5ed2d5aeac6e596cb23ba3800768ea32c" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1452,12 +1288,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" +checksum = "ccc2776f0c61eca1ca32528f85548abd1a4be8fb53d1b21c013e4f18da1e7090" dependencies = [ "data-encoding", - "syn 1.0.109", + "syn 2.0.118", ] [[package]] @@ -1501,7 +1337,6 @@ version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ - "powerfmt", "serde_core", ] @@ -1524,7 +1359,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1545,7 +1380,7 @@ dependencies = [ "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1555,7 +1390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1576,7 +1411,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.117", + "syn 2.0.118", "unicode-xid", ] @@ -1598,8 +1433,8 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" dependencies = [ - "block-buffer 0.12.0", - "crypto-common 0.2.1", + "block-buffer 0.12.1", + "crypto-common 0.2.2", ] [[package]] @@ -1620,18 +1455,18 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] name = "displaydoc" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1730,14 +1565,14 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "either" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +checksum = "91622ff5e7162018101f2fea40d6ebf4a78bbe5a49736a2020649edf9693679e" [[package]] name = "elf" @@ -1796,7 +1631,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1816,7 +1651,7 @@ checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -1832,7 +1667,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -1878,7 +1713,7 @@ checksum = "0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78" dependencies = [ "cfg-if", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1953,7 +1788,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2047,7 +1882,7 @@ checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -2075,9 +1910,9 @@ checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +checksum = "af43fadb8a98512d547e37b4e92e0ced13e205c061b87b4623eff01d918d6968" [[package]] name = "futures-util" @@ -2108,6 +1943,8 @@ dependencies = [ "lee", "lee_core", "libfuzzer-sys", + "programs", + "system_accounts", "testnet_initial_state", ] @@ -2120,8 +1957,10 @@ dependencies = [ "common", "lee", "lee_core", + "programs", "proptest", "risc0-zkvm", + "system_accounts", "testnet_initial_state", ] @@ -2138,9 +1977,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "1.3.5" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf57c49a95fd1fe24b90b3033bee6dc7e8f1288d51494cb44e627c295e38542" +checksum = "c2e55f16dcf0e9c00efbe2e655ffe45fc98e7066b52bc92f8a79e64060a79351" dependencies = [ "rustversion", "serde_core", @@ -2176,16 +2015,14 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", "rand_core 0.10.1", - "wasip2", - "wasip3", ] [[package]] @@ -2211,16 +2048,16 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" +checksum = "6cb093c84e8bd9b188d4c4a8cb6579fc016968d14c99882163cd3ff402a4f155" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.4.0", + "http 1.4.2", "indexmap 2.14.0", "slab", "tokio", @@ -2234,15 +2071,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.14.5" @@ -2265,9 +2093,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" [[package]] name = "hashlink" @@ -2343,7 +2171,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.3", + "rand 0.9.4", "socket2 0.5.10", "thiserror 2.0.18", "tinyvec", @@ -2365,7 +2193,7 @@ dependencies = [ "moka", "once_cell", "parking_lot", - "rand 0.9.3", + "rand 0.9.4", "resolv-conf", "smallvec", "thiserror 2.0.18", @@ -2430,9 +2258,9 @@ dependencies = [ [[package]] name = "http" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425" dependencies = [ "bytes", "itoa", @@ -2445,7 +2273,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.4.0", + "http 1.4.2", ] [[package]] @@ -2456,7 +2284,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.4.0", + "http 1.4.2", "http-body", "pin-project-lite", ] @@ -2481,9 +2309,9 @@ checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hybrid-array" -version = "0.4.10" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214" +checksum = "9155a582abd142abc056962c29e3ce5ff2ad5469f4246b537ed42c5deba857da" dependencies = [ "ctutils", "typenum", @@ -2491,16 +2319,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.9.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498" dependencies = [ "atomic-waker", "bytes", "futures-channel", "futures-core", "h2", - "http 1.4.0", + "http 1.4.2", "http-body", "httparse", "httpdate", @@ -2513,11 +2341,11 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.8" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2b52f86d1d4bc0d6b4e6826d960b1b333217e07d36b882dca570a5e1c48895b" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ - "http 1.4.0", + "http 1.4.2", "hyper", "hyper-util", "rustls", @@ -2550,14 +2378,14 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body", "hyper", "ipnet", "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.6.4", "tokio", "tower-service", "tracing", @@ -2669,12 +2497,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "ident_case" version = "1.0.1" @@ -2694,9 +2516,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" dependencies = [ "icu_normalizer", "icu_properties", @@ -2745,12 +2567,12 @@ dependencies = [ "attohttpc 0.24.1", "bytes", "futures", - "http 1.4.0", + "http 1.4.2", "http-body-util", "hyper", "hyper-util", "log", - "rand 0.8.5", + "rand 0.8.6", "tokio", "url", "xmltree", @@ -2766,12 +2588,12 @@ dependencies = [ "attohttpc 0.30.1", "bytes", "futures", - "http 1.4.0", + "http 1.4.2", "http-body-util", "hyper", "hyper-util", "log", - "rand 0.9.3", + "rand 0.9.4", "tokio", "url", "xmltree", @@ -2801,7 +2623,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "serde", "serde_core", ] @@ -2830,7 +2652,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" dependencies = [ - "socket2 0.6.3", + "socket2 0.6.4", "widestring", "windows-registry", "windows-result", @@ -2843,16 +2665,6 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" -[[package]] -name = "iri-string" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25e659a4bb38e810ebc252e53b5814ff908a8c58c2a9ce2fae1bbec24cbf4e20" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "itertools" version = "0.10.5" @@ -2888,26 +2700,26 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jf-crhf" -version = "0.1.1" -source = "git+https://github.com/EspressoSystems/jellyfish?tag=jf-crhf-v0.1.1#8f3dce0bc2bd161b4648f6ac029dcc1a23aaf4c5" +version = "0.2.0" +source = "git+https://github.com/EspressoSystems/jellyfish?tag=jf-crhf-v0.2.0#f1538793f7f0e391495cb17bbb0c8703ec5f689d" dependencies = [ - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "ark-serialize", + "ark-std", ] [[package]] name = "jf-poseidon2" -version = "0.1.0" -source = "git+https://github.com/EspressoSystems/jellyfish.git?rev=dc166cf0f803c3e5067f9dfcc21e3dade986a447#dc166cf0f803c3e5067f9dfcc21e3dade986a447" +version = "0.2.0" +source = "git+https://github.com/EspressoSystems/jellyfish.git?rev=8d80230358e900f8d63765a937f63f4978ca1daa#8d80230358e900f8d63765a937f63f4978ca1daa" dependencies = [ - "ark-bn254 0.4.0", - "ark-ff 0.4.2", - "ark-std 0.4.0", + "ark-bn254", + "ark-ff", + "ark-std", "displaydoc", "hex", "jf-crhf", "lazy_static", - "nimue", + "spongefish", "zeroize", ] @@ -2923,13 +2735,12 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.95" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca" +checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" dependencies = [ "cfg-if", "futures-util", - "once_cell", "wasm-bindgen", ] @@ -2973,7 +2784,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01737161ba802849cfd486b5bd209d38ba4943494c249a8126005170c7621edd" dependencies = [ - "crypto-common 0.2.1", + "crypto-common 0.2.2", "rand_core 0.10.1", ] @@ -2992,7 +2803,7 @@ dependencies = [ "lee", "lee_core", "ml-kem", - "rand 0.8.5", + "rand 0.8.6", "serde", "sha2", "thiserror 2.0.18", @@ -3018,7 +2829,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3030,28 +2841,19 @@ dependencies = [ "spin", ] -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "lee" version = "0.1.0" dependencies = [ "anyhow", "borsh", - "bridge_core", - "clock_core", - "faucet_core", + "build_utils", "hex", "k256", "lee_core", "log", - "rand 0.8.5", + "rand 0.8.6", "risc0-binfmt", - "risc0-build", "risc0-zkvm", "serde", "serde_with", @@ -3077,15 +2879,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.184" +version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af" +checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" [[package]] name = "libfuzzer-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d" +checksum = "a9fd2f41a1cba099f79a0b6b6c35656cf7c03351a7bae8ff0f28f25270f929d2" dependencies = [ "arbitrary", "cc", @@ -3158,7 +2960,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "rand_core 0.6.4", "thiserror 2.0.18", "tracing", @@ -3193,7 +2995,7 @@ dependencies = [ "parking_lot", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand 0.8.6", "rw-stream-sink", "thiserror 2.0.18", "tracing", @@ -3241,7 +3043,7 @@ dependencies = [ "prometheus-client", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "regex", "serde", "sha2", @@ -3272,9 +3074,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c7892c221730ba55f7196e98b0b8ba5e04b4155651736036628e9f73ed6fc3" +checksum = "9525f3831544f7ae497bde79adf114ef127b0fbbb97edbbf692a80408636421c" dependencies = [ "asn1_der", "bs58", @@ -3282,8 +3084,8 @@ dependencies = [ "hkdf", "k256", "multihash", - "quick-protobuf", - "rand 0.8.5", + "prost 0.14.4", + "rand 0.8.6", "serde", "sha2", "thiserror 2.0.18", @@ -3309,7 +3111,7 @@ dependencies = [ "libp2p-swarm", "quick-protobuf", "quick-protobuf-codec", - "rand 0.8.5", + "rand 0.8.6", "serde", "sha2", "smallvec", @@ -3331,7 +3133,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "socket2 0.5.10", "tokio", @@ -3369,7 +3171,7 @@ dependencies = [ "libp2p-identity", "libp2p-tls", "quinn", - "rand 0.8.5", + "rand 0.8.6", "ring", "rustls", "socket2 0.5.10", @@ -3390,7 +3192,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "tracing", ] @@ -3405,7 +3207,7 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "rand 0.8.6", "tracing", ] @@ -3425,7 +3227,7 @@ dependencies = [ "lru", "multistream-select", "once_cell", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "tokio", "tracing", @@ -3441,7 +3243,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -3496,9 +3298,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" +checksum = "f02ab6bace2054fb888a3c16f990117b579d14a3088e472d63c6011fa185c9d3" dependencies = [ "libc", ] @@ -3509,8 +3311,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47a1ccadd0bb5a32c196da536fd72c59183de24a055f6bf0513bf845fefab862" dependencies = [ - "ark-bn254 0.5.0", - "ark-ff 0.5.0", + "ark-bn254", + "ark-ff", "num-bigint", "thiserror 1.0.69", ] @@ -3538,14 +3340,14 @@ dependencies = [ [[package]] name = "log" -version = "0.4.29" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" [[package]] name = "logos-blockchain-blend-crypto" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "blake2", "logos-blockchain-groth16", @@ -3559,7 +3361,7 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-message" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "blake2", "derivative", @@ -3568,12 +3370,12 @@ dependencies = [ "logos-blockchain-blend-crypto", "logos-blockchain-blend-proofs", "logos-blockchain-core", + "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", "logos-blockchain-log-targets", "logos-blockchain-utils", "serde", - "serde-big-array", "serde_with", "thiserror 2.0.18", "tracing", @@ -3583,10 +3385,10 @@ dependencies = [ [[package]] name = "logos-blockchain-blend-proofs" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "ed25519-dalek", - "generic-array 1.3.5", + "generic-array 1.4.3", "hex", "logos-blockchain-blend-crypto", "logos-blockchain-groth16", @@ -3603,23 +3405,21 @@ dependencies = [ [[package]] name = "logos-blockchain-chain-broadcast-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "derivative", - "futures", "logos-blockchain-core", "overwatch", "serde", "tokio", - "tokio-stream", "tracing", ] [[package]] name = "logos-blockchain-chain-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -3640,7 +3440,6 @@ dependencies = [ "overwatch", "serde", "serde_with", - "strum", "thiserror 2.0.18", "time", "tokio", @@ -3650,8 +3449,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-build" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "dirs", "fd-lock", @@ -3662,16 +3461,16 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-common" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-types", ] [[package]] name = "logos-blockchain-circuits-poc-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3680,8 +3479,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-pol-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3690,8 +3489,8 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-poq-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3701,16 +3500,15 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-prover" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "logos-blockchain-circuits-utils", - "tempfile", + "rust-rapidsnark", ] [[package]] name = "logos-blockchain-circuits-signature-sys" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "logos-blockchain-circuits-build", "logos-blockchain-circuits-common", @@ -3719,25 +3517,17 @@ dependencies = [ [[package]] name = "logos-blockchain-circuits-types" -version = "0.5.0" -source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?rev=2e79ac30831d89e6a349720c08d5b8b9978970e0#2e79ac30831d89e6a349720c08d5b8b9978970e0" +version = "0.5.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-circuits.git?tag=v0.5.3#127626881faa975aa8e9868422cf6bbb08fcb512" dependencies = [ "bytes", "libc", ] -[[package]] -name = "logos-blockchain-circuits-utils" -version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" -dependencies = [ - "dirs", -] - [[package]] name = "logos-blockchain-common-http-client" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "futures", "hex", @@ -3748,6 +3538,7 @@ dependencies = [ "logos-blockchain-groth16", "logos-blockchain-http-api-common", "logos-blockchain-key-management-system-keys", + "logos-blockchain-log-targets", "reqwest", "serde", "serde_json", @@ -3759,9 +3550,9 @@ dependencies = [ [[package]] name = "logos-blockchain-core" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-ff 0.4.2", + "ark-ff", "bincode", "blake2", "bytes", @@ -3772,6 +3563,7 @@ dependencies = [ "logos-blockchain-cryptarchia-engine", "logos-blockchain-groth16", "logos-blockchain-key-management-system-keys", + "logos-blockchain-log-targets", "logos-blockchain-mmr", "logos-blockchain-poc", "logos-blockchain-pol", @@ -3792,7 +3584,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-engine" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-pol", "logos-blockchain-utils", @@ -3807,7 +3599,7 @@ dependencies = [ [[package]] name = "logos-blockchain-cryptarchia-sync" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "bytes", "futures", @@ -3815,7 +3607,7 @@ dependencies = [ "libp2p-stream", "logos-blockchain-core", "logos-blockchain-cryptarchia-engine", - "rand 0.8.5", + "rand 0.8.6", "serde", "serde_with", "thiserror 2.0.18", @@ -3826,14 +3618,14 @@ dependencies = [ [[package]] name = "logos-blockchain-groth16" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-bn254 0.4.0", - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-groth16 0.4.0", - "ark-serialize 0.4.2", - "generic-array 1.3.5", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-groth16", + "ark-serialize", + "generic-array 1.4.3", "hex", "num-bigint", "serde", @@ -3844,11 +3636,12 @@ dependencies = [ [[package]] name = "logos-blockchain-http-api-common" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "axum", "logos-blockchain-core", "logos-blockchain-key-management-system-keys", + "logos-blockchain-log-targets", "logos-blockchain-tracing", "serde", "serde_json", @@ -3864,15 +3657,16 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-keys" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", "ed25519-dalek", - "generic-array 1.3.5", + "generic-array 1.4.3", "hex", "logos-blockchain-groth16", "logos-blockchain-key-management-system-macros", + "logos-blockchain-log-targets", "logos-blockchain-poseidon2", "logos-blockchain-utils", "logos-blockchain-zksign", @@ -3890,17 +3684,17 @@ dependencies = [ [[package]] name = "logos-blockchain-key-management-system-macros" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "logos-blockchain-ledger" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "derivative", "logos-blockchain-blend-crypto", @@ -3915,7 +3709,7 @@ dependencies = [ "logos-blockchain-utils", "logos-blockchain-utxotree", "num-bigint", - "rand 0.8.5", + "rand 0.8.6", "rpds", "serde", "serde_arrays", @@ -3926,7 +3720,7 @@ dependencies = [ [[package]] name = "logos-blockchain-libp2p" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "backon", @@ -3943,7 +3737,7 @@ dependencies = [ "natpmp", "netdev", "num_enum", - "rand 0.8.5", + "rand 0.8.6", "serde", "serde_with", "thiserror 2.0.18", @@ -3955,7 +3749,7 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-log-targets-macros", ] @@ -3963,19 +3757,19 @@ dependencies = [ [[package]] name = "logos-blockchain-log-targets-macros" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "logos-blockchain-mmr" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-ff 0.4.2", + "ark-ff", "logos-blockchain-groth16", "logos-blockchain-poseidon2", "rpds", @@ -3986,7 +3780,7 @@ dependencies = [ [[package]] name = "logos-blockchain-network-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -3996,7 +3790,7 @@ dependencies = [ "logos-blockchain-log-targets", "logos-blockchain-tracing", "overwatch", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "serde", "tokio", @@ -4007,13 +3801,13 @@ dependencies = [ [[package]] name = "logos-blockchain-poc" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-poc-sys", "logos-blockchain-circuits-prover", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-proofs-error", "num-bigint", "serde", @@ -4024,14 +3818,14 @@ dependencies = [ [[package]] name = "logos-blockchain-pol" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "astro-float", "logos-blockchain-circuits-pol-sys", "logos-blockchain-circuits-prover", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-proofs-error", "logos-blockchain-utils", "num-bigint", @@ -4044,13 +3838,13 @@ dependencies = [ [[package]] name = "logos-blockchain-poq" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-poq-sys", "logos-blockchain-circuits-prover", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-pol", "logos-blockchain-proofs-error", "num-bigint", @@ -4063,10 +3857,10 @@ dependencies = [ [[package]] name = "logos-blockchain-poseidon2" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-bn254 0.4.0", - "ark-ff 0.4.2", + "ark-bn254", + "ark-ff", "jf-poseidon2", "num-bigint", ] @@ -4074,7 +3868,7 @@ dependencies = [ [[package]] name = "logos-blockchain-proofs-error" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-types", "logos-blockchain-groth16", @@ -4085,11 +3879,12 @@ dependencies = [ [[package]] name = "logos-blockchain-services-utils" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", "log", + "logos-blockchain-log-targets", "overwatch", "serde", "serde_json", @@ -4100,7 +3895,7 @@ dependencies = [ [[package]] name = "logos-blockchain-storage-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "bytes", @@ -4119,7 +3914,7 @@ dependencies = [ [[package]] name = "logos-blockchain-time-service" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "futures", @@ -4142,7 +3937,7 @@ dependencies = [ [[package]] name = "logos-blockchain-tracing" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "flate2", "logos-blockchain-log-targets", @@ -4152,7 +3947,7 @@ dependencies = [ "opentelemetry-otlp", "opentelemetry-semantic-conventions", "opentelemetry_sdk", - "rand 0.8.5", + "rand 0.8.6", "serde", "tokio", "tonic", @@ -4168,28 +3963,31 @@ dependencies = [ [[package]] name = "logos-blockchain-utils" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "async-trait", "blake2", "cipher 0.4.4", "const-hex", "humantime", + "logos-blockchain-log-targets", "overwatch", - "rand 0.8.5", + "rand 0.8.6", "serde", + "serde_ignored", "serde_with", "serde_yaml", "thiserror 2.0.18", "time", + "tracing", ] [[package]] name = "logos-blockchain-utxotree" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ - "ark-ff 0.4.2", + "ark-ff", "logos-blockchain-groth16", "logos-blockchain-poseidon2", "num-bigint", @@ -4201,13 +3999,13 @@ dependencies = [ [[package]] name = "logos-blockchain-zksign" version = "0.1.2" -source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=db9a8d821c1b20f29b03d02072817150cf969b8e#db9a8d821c1b20f29b03d02072817150cf969b8e" +source = "git+https://github.com/logos-blockchain/logos-blockchain.git?rev=d8711bbc3d43d3ef9755ef9b73af32fd0f703160#d8711bbc3d43d3ef9755ef9b73af32fd0f703160" dependencies = [ "logos-blockchain-circuits-prover", "logos-blockchain-circuits-signature-sys", "logos-blockchain-circuits-types", - "logos-blockchain-circuits-utils", "logos-blockchain-groth16", + "logos-blockchain-log-targets", "logos-blockchain-poseidon2", "logos-blockchain-proofs-error", "num-bigint", @@ -4259,7 +4057,7 @@ checksum = "757aee279b8bdbb9f9e676796fd459e4207a1f986e87886700abf589f5abf771" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4291,14 +4089,14 @@ checksum = "746873a384ad60adc5db74471dfaba74bd278afbdcfd81db93fafcdfc8b5ca0c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "memchr" -version = "2.8.0" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" +checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" [[package]] name = "merlin" @@ -4318,7 +4116,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "block", "core-graphics-types", "foreign-types", @@ -4351,9 +4149,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1" +checksum = "02bd0af71c67b473010cbbc60715ee815645a4dc942899111f494b4b737d6fda" dependencies = [ "libc", "wasi", @@ -4371,7 +4169,7 @@ dependencies = [ "module-lattice", "pkcs8 0.11.0", "rand_core 0.10.1", - "sha3", + "sha3 0.11.0", ] [[package]] @@ -4435,11 +4233,10 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.3" +version = "0.19.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" +checksum = "577c63b00ad74d57e8c9aa870b5fccebf2fd64a308a5aee9f1bb88e4aea19447" dependencies = [ - "core2", "serde", "unsigned-varint 0.8.0", ] @@ -4527,7 +4324,7 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ce3636fa715e988114552619582b530481fd5ef176a1e5c1bf024077c2c9445" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "libc", "log", "netlink-packet-core 0.8.1", @@ -4572,31 +4369,13 @@ dependencies = [ "tokio", ] -[[package]] -name = "nimue" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0dc7d3b2b7bd112c0cecf7d6f4f16a174ee7a98e27615b1d08256d0176588f2" -dependencies = [ - "ark-ec 0.4.2", - "ark-ff 0.4.2", - "ark-serialize 0.4.2", - "digest 0.10.7", - "generic-array 0.14.7", - "hex", - "keccak 0.1.6", - "log", - "rand 0.8.5", - "zeroize", -] - [[package]] name = "nix" version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "cfg-if", "cfg_aliases", "libc", @@ -4633,7 +4412,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -4657,16 +4436,16 @@ dependencies = [ "num-integer", "num-iter", "num-traits", - "rand 0.8.5", + "rand 0.8.6", "smallvec", "zeroize", ] [[package]] name = "num-conv" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967" +checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441" [[package]] name = "num-integer" @@ -4716,7 +4495,7 @@ checksum = "680998035259dcfcafe653688bf2aa6d3e2dc05e98be6ab46afb089dc84f1df8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4782,7 +4561,7 @@ checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" dependencies = [ "async-trait", "bytes", - "http 1.4.0", + "http 1.4.2", "opentelemetry", "reqwest", ] @@ -4793,12 +4572,12 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f69cd6acbb9af919df949cd1ec9e5e7fdc2ef15d234b6b795aaa525cc02f71f" dependencies = [ - "http 1.4.0", + "http 1.4.2", "opentelemetry", "opentelemetry-http", "opentelemetry-proto", "opentelemetry_sdk", - "prost 0.14.3", + "prost 0.14.4", "reqwest", "thiserror 2.0.18", "tokio", @@ -4813,7 +4592,7 @@ checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" dependencies = [ "opentelemetry", "opentelemetry_sdk", - "prost 0.14.3", + "prost 0.14.4", "tonic", "tonic-prost", ] @@ -4835,7 +4614,7 @@ dependencies = [ "futures-util", "opentelemetry", "percent-encoding", - "rand 0.9.3", + "rand 0.9.4", "thiserror 2.0.18", "tokio", "tokio-stream", @@ -4871,7 +4650,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -4936,22 +4715,22 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pin-project" -version = "1.1.11" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" +checksum = "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.11" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" +checksum = "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5059,23 +4838,13 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.117", -] - [[package]] name = "proc-macro-crate" version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.25.11+spec-1.1.0", + "toml_edit 0.25.12+spec-1.1.0", ] [[package]] @@ -5121,7 +4890,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5141,10 +4910,18 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "version_check", ] +[[package]] +name = "programs" +version = "0.1.0" +dependencies = [ + "build_utils", + "lee", +] + [[package]] name = "prometheus-client" version = "0.22.3" @@ -5165,7 +4942,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5176,9 +4953,9 @@ checksum = "4b45fcc2344c680f5025fe57779faef368840d0bd1f42f216291f0dc4ace4744" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.11.0", + "bitflags 2.13.0", "num-traits", - "rand 0.9.3", + "rand 0.9.4", "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", @@ -5199,12 +4976,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +checksum = "528ac67416ff8646872a3c02cad9cc4ee5dc9f9540c9b10771855c95cb2e5ae1" dependencies = [ "bytes", - "prost-derive 0.14.3", + "prost-derive 0.14.4", ] [[package]] @@ -5217,20 +4994,20 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "prost-derive" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" dependencies = [ "anyhow", "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -5272,9 +5049,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.9" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" dependencies = [ "bytes", "cfg_aliases", @@ -5284,7 +5061,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls", - "socket2 0.6.3", + "socket2 0.6.4", "thiserror 2.0.18", "tokio", "tracing", @@ -5293,14 +5070,14 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +checksum = "4fcb935c5bec503c2f0e306bdd3e58bb9029dcb14fa8d9ac76e3a5256ac0763e" dependencies = [ "bytes", "getrandom 0.3.4", "lru-slab", - "rand 0.9.3", + "rand 0.9.4", "ring", "rustc-hash", "rustls", @@ -5321,16 +5098,16 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.6.4", "tracing", "windows-sys 0.60.2", ] [[package]] name = "quote" -version = "1.0.45" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" dependencies = [ "proc-macro2", ] @@ -5349,9 +5126,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -5360,9 +5137,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ec095654a25171c2124e9e3393a930bddbffdc939556c914957a4c3e0a87166" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.5", @@ -5440,7 +5217,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", ] [[package]] @@ -5471,14 +5248,14 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "regex" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" +checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba" dependencies = [ "aho-corasick", "memchr", @@ -5499,9 +5276,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "reqwest" @@ -5515,7 +5292,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 1.4.0", + "http 1.4.2", "http-body", "http-body-util", "hyper", @@ -5589,7 +5366,7 @@ dependencies = [ "elf", "lazy_static", "postcard", - "rand 0.9.3", + "rand 0.9.4", "risc0-zkp", "risc0-zkvm-platform", "ruint", @@ -5688,11 +5465,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc57e76bb87193d154ac5ee6ee352fbd7edabddab36f02a81f40a048e5ca14f9" dependencies = [ "anyhow", - "ark-bn254 0.5.0", - "ark-ec 0.5.0", - "ark-ff 0.5.0", - "ark-groth16 0.5.0", - "ark-serialize 0.5.0", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-groth16", + "ark-serialize", "bytemuck", "hex", "num-bigint", @@ -5792,12 +5569,13 @@ dependencies = [ [[package]] name = "rpds" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e75f485e819d4d3015e6c0d55d02a4fd3db47c1993d9e603e0361fba2bffb34" +checksum = "e025feb26210bc196b908e72deb063b1b4000754304341cbc168a1e72c857ebc" dependencies = [ "archery", "serde", + "smallvec", ] [[package]] @@ -5816,13 +5594,13 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7a3ef170810c387d31b64c0b59734abb0839dac2a8d137909e271bfdec9b1e0" dependencies = [ - "ark-bn254 0.5.0", - "ark-ff 0.5.0", + "ark-bn254", + "ark-ff", "byteorder", "futures", "light-poseidon", "quote", - "rand 0.9.3", + "rand 0.9.4", "syn 1.0.109", "thiserror 2.0.18", "tiny-keccak", @@ -5869,14 +5647,14 @@ dependencies = [ [[package]] name = "ruint" -version = "1.17.2" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" +checksum = "0298da754d1395046b0afdc2f20ee76d29a8ae310cd30ffa84ed42acba9cb12a" dependencies = [ "borsh", "proptest", - "rand 0.8.5", - "rand 0.9.3", + "rand 0.8.6", + "rand 0.9.4", "ruint-macro", "serde_core", "valuable", @@ -5889,6 +5667,18 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" +[[package]] +name = "rust-rapidsnark" +version = "0.1.3" +source = "git+https://github.com/logos-blockchain/logos-blockchain-rust-rapidsnark.git?rev=e91187f8ccb5bbfc7bb00dac88169112428da78f#e91187f8ccb5bbfc7bb00dac88169112428da78f" +dependencies = [ + "anyhow", + "cc", + "chkstk_stub", + "num-bigint", + "num-traits", +] + [[package]] name = "rustc-hash" version = "2.1.2" @@ -5919,18 +5709,18 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.38" +version = "0.23.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21" +checksum = "6b92b125634d9b795e7beca796cc790df15a7fb38323bf3196fda83292d06b1f" dependencies = [ "log", "once_cell", @@ -5943,9 +5733,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.14.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" dependencies = [ "web-time", "zeroize", @@ -5953,9 +5743,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.11" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ "ring", "rustls-pki-types", @@ -6081,15 +5871,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-big-array" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" -dependencies = [ - "serde", -] - [[package]] name = "serde_arrays" version = "0.2.0" @@ -6116,14 +5897,24 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", +] + +[[package]] +name = "serde_ignored" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115dffd5f3853e06e746965a20dcbae6ee747ae30b543d91b0e089668bb07798" +dependencies = [ + "serde", + "serde_core", ] [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", @@ -6166,11 +5957,12 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.18.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5414fad8e6907dbdd5bc441a50ae8d6e26151a03b1de04d89a5576de61d01f" +checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c" dependencies = [ "base64", + "bs58", "chrono", "hex", "indexmap 1.9.3", @@ -6185,14 +5977,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.18.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3db8978e608f1fe7357e211969fd9abdcae80bac1ba7a3369bb7eb6b404eb65" +checksum = "84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660" dependencies = [ "darling 0.23.0", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6229,6 +6021,16 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha3" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77fd7028345d415a4034cf8777cd4f8ab1851274233b45f84e3d955502d93874" +dependencies = [ + "digest 0.10.7", + "keccak 0.1.6", +] + [[package]] name = "sha3" version = "0.11.0" @@ -6250,9 +6052,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.3.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba" [[package]] name = "signal-hook-registry" @@ -6288,9 +6090,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" -version = "1.15.1" +version = "1.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" [[package]] name = "snap" @@ -6320,12 +6122,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -6354,6 +6156,24 @@ dependencies = [ "der 0.8.0", ] +[[package]] +name = "spongefish" +version = "0.2.0" +source = "git+https://github.com/arkworks-rs/spongefish.git?rev=3ded547f7f56d7f8a1fc4c9a5c0ce965310bba5f#3ded547f7f56d7f8a1fc4c9a5c0ce965310bba5f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-serialize", + "digest 0.10.7", + "hex", + "keccak 0.1.6", + "rand 0.8.6", + "sha3 0.10.9", + "thiserror 2.0.18", + "zerocopy", + "zeroize", +] + [[package]] name = "stability" version = "0.2.1" @@ -6361,7 +6181,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6400,7 +6220,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6428,9 +6248,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.117" +version = "2.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422" dependencies = [ "proc-macro2", "quote", @@ -6454,7 +6274,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6463,7 +6283,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "core-foundation", "system-configuration-sys", ] @@ -6474,7 +6294,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "core-foundation", "system-configuration-sys", ] @@ -6489,6 +6309,17 @@ dependencies = [ "libc", ] +[[package]] +name = "system_accounts" +version = "0.1.0" +dependencies = [ + "bridge_core", + "clock_core", + "faucet_core", + "lee_core", + "programs", +] + [[package]] name = "tagptr" version = "0.2.0" @@ -6513,21 +6344,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.4.2", + "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "testnet_initial_state" version = "0.1.0" dependencies = [ - "common", "key_protocol", "lee", "lee_core", + "programs", "serde", + "system_accounts", ] [[package]] @@ -6556,7 +6388,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6567,7 +6399,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6581,12 +6413,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.47" +version = "0.3.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" +checksum = "85c17d80feb7334b40c484e45ed1a5273dfd8bfda537c3be2e74a06a6686f327" dependencies = [ "deranged", - "itoa", "num-conv", "powerfmt", "serde_core", @@ -6596,15 +6427,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" +checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" [[package]] name = "time-macros" -version = "0.2.27" +version = "0.2.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" +checksum = "dcef1a61bdb119096e153208ec5cbec23944ce8bca13be5c7f60c634f7403935" dependencies = [ "num-conv", "time-core", @@ -6646,9 +6477,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.51.1" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "bytes", "libc", @@ -6656,7 +6487,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.6.3", + "socket2 0.6.4", "tokio-macros", "windows-sys 0.61.2", ] @@ -6669,7 +6500,7 @@ checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6753,14 +6584,14 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.25.11+spec-1.1.0" +version = "0.25.12+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b" +checksum = "d2153edc6955a6c354fad8f5efd38b6a8769bdccf9fe50f8e1329f81b0baa5d7" dependencies = [ "indexmap 2.14.0", "toml_datetime 1.1.1+spec-1.1.0", "toml_parser", - "winnow 1.0.1", + "winnow 1.0.3", ] [[package]] @@ -6769,7 +6600,7 @@ version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow 1.0.1", + "winnow 1.0.3", ] [[package]] @@ -6780,14 +6611,14 @@ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" [[package]] name = "tonic" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" dependencies = [ "async-trait", "base64", "bytes", - "http 1.4.0", + "http 1.4.2", "http-body", "http-body-util", "hyper", @@ -6806,12 +6637,12 @@ dependencies = [ [[package]] name = "tonic-prost" -version = "0.14.5" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +checksum = "50849f68853be452acf590cde0b146665b8d507b3b8af17261df47e02c209ea0" dependencies = [ "bytes", - "prost 0.14.3", + "prost 0.14.4", "tonic", ] @@ -6836,20 +6667,20 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +checksum = "4cfcf7e2740e6fc6d4d688b4ef00650406bb94adf4731e43c096c3a19fe40840" dependencies = [ - "bitflags 2.11.0", + "bitflags 2.13.0", "bytes", "futures-util", - "http 1.4.0", + "http 1.4.2", "http-body", - "iri-string", "pin-project-lite", "tower", "tower-layer", "tower-service", + "url", ] [[package]] @@ -6897,7 +6728,7 @@ checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -6952,9 +6783,9 @@ dependencies = [ [[package]] name = "tracing-loki" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3beec919fbdf99d719de8eda6adae3281f8a5b71ae40431f44dc7423053d34" +checksum = "a8d1ad78bf74c1790b0825ddc35ad1bb9498736c51c8437796b81cadf4916cd8" dependencies = [ "loki-api", "reqwest", @@ -6962,7 +6793,6 @@ dependencies = [ "serde_json", "snap", "tokio", - "tokio-stream", "tracing", "tracing-core", "tracing-log", @@ -7037,9 +6867,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" -version = "1.19.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "uint" @@ -7076,9 +6906,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.13.2" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c" +checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" [[package]] name = "unicode-xid" @@ -7144,7 +6974,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e994ba84b0bd1b1b0cf92878b7ef898a5c1760108fe7b6010327e274917a808c" dependencies = [ "base64", - "http 1.4.0", + "http 1.4.2", "httparse", "log", ] @@ -7195,16 +7025,16 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "uuid" -version = "1.23.1" +version = "1.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" +checksum = "bf80a72845275afea99e7f2b434723d3bc7e38470fcd1c7ed39a599c73319a53" dependencies = [ - "getrandom 0.4.2", + "getrandom 0.4.3", "js-sys", "wasm-bindgen", ] @@ -7236,7 +7066,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -7277,27 +7107,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.2+wasi-0.2.9" +version = "1.0.4+wasi-0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" dependencies = [ "wit-bindgen", ] [[package]] name = "wasm-bindgen" -version = "0.2.118" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89" +checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" dependencies = [ "cfg-if", "once_cell", @@ -7308,9 +7129,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.68" +version = "0.4.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f371d383f2fb139252e0bfac3b81b265689bf45b6874af544ffa4c975ac1ebf8" +checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" dependencies = [ "js-sys", "wasm-bindgen", @@ -7318,9 +7139,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.118" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed" +checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7328,48 +7149,26 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.118" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904" +checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" dependencies = [ "bumpalo", "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.118" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129" +checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap 2.14.0", - "wasm-encoder", - "wasmparser", -] - [[package]] name = "wasm-streams" version = "0.4.2" @@ -7383,23 +7182,11 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags 2.11.0", - "hashbrown 0.15.5", - "indexmap 2.14.0", - "semver", -] - [[package]] name = "web-sys" -version = "0.3.95" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2dfbb17949fa2088e5d39408c48368947b86f7834484e87b73de55bc14d97d" +checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" dependencies = [ "js-sys", "wasm-bindgen", @@ -7417,9 +7204,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +checksum = "bf85cb06032201fa7c6f829d7db5a7e5aa45bcc0655327713065f6f0576731bf" dependencies = [ "rustls-pki-types", ] @@ -7505,7 +7292,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -7516,7 +7303,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -7573,6 +7360,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.60.2" @@ -7740,100 +7536,18 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" +checksum = "0592e1c9d151f854e6fd382574c3a0855250e1d9b2f99d9281c6e6391af352f1" dependencies = [ "memchr", ] [[package]] name = "wit-bindgen" -version = "0.51.0" +version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap 2.14.0", - "prettyplease", - "syn 2.0.117", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.117", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags 2.11.0", - "indexmap 2.14.0", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap 2.14.0", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] name = "writeable" @@ -7923,9 +7637,9 @@ dependencies = [ [[package]] name = "yoke" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca" +checksum = "709fe23a0424b6a435d82152b1bd3fdfb0833487d5fa90d05d42762a9891fef5" dependencies = [ "stable_deref_trait", "yoke-derive", @@ -7940,35 +7654,35 @@ checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.48" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9" +checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.48" +version = "0.8.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4" +checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] name = "zerofrom" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" dependencies = [ "zerofrom-derive", ] @@ -7981,28 +7695,28 @@ checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.2" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" +checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" +checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] @@ -8035,7 +7749,7 @@ checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn 2.0.118", ] [[package]] diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 632b844f..ef906cde 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -49,6 +49,8 @@ nssa_core = { path = "../../logos-execution-zone/lee/state_machine/core", pa common = { path = "../../logos-execution-zone/lez/common" } fuzz_props = { path = "../fuzz_props" } testnet_initial_state = { path = "../../logos-execution-zone/lez/testnet_initial_state" } +programs = { path = "../../logos-execution-zone/lez/programs" } +system_accounts = { path = "../../logos-execution-zone/lez/system_accounts" } [profile.release] debug = true diff --git a/fuzz/fuzz_targets/fuzz_apply_state_diff_split_path.rs b/fuzz/fuzz_targets/fuzz_apply_state_diff_split_path.rs index 3564cae0..716d10d7 100644 --- a/fuzz/fuzz_targets/fuzz_apply_state_diff_split_path.rs +++ b/fuzz/fuzz_targets/fuzz_apply_state_diff_split_path.rs @@ -36,7 +36,6 @@ use arbitrary::{Arbitrary, Unstructured}; use fuzz_props::arbitrary_types::ArbLeeTransaction; use fuzz_props::generators::{arbitrary_fuzz_state, signer_account_ids}; use fuzz_props::invariants::{NonceSnapshot, assert_nonce_increment_correctness}; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -60,7 +59,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { return; }; - let state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // ── Split path: validate → apply ───────────────────────────────────────── // `validate_on_state` borrows `tx`; the transaction is still usable after. diff --git a/fuzz/fuzz_targets/fuzz_merkle_tree.rs b/fuzz/fuzz_targets/fuzz_merkle_tree.rs index 3e54be66..df691f0b 100644 --- a/fuzz/fuzz_targets/fuzz_merkle_tree.rs +++ b/fuzz/fuzz_targets/fuzz_merkle_tree.rs @@ -12,7 +12,7 @@ //! compute_digest_for_path(c, proof) → canonical leaf→root recomputation //! ``` //! -//! Inserting commitments via `V03State::new_with_genesis_accounts` therefore +//! Inserting commitments via `fuzz_props::genesis::genesis_state` therefore //! drives `insert`, `root`/`root_index`, `get_authentication_path_for`, `depth`, //! `get_node`/`set_node`, and — once the count exceeds the genesis capacity (32) //! — `reallocate_to_double_capacity` and `prev_power_of_two`. @@ -47,7 +47,6 @@ use std::collections::HashSet; -use nssa::V03State; use nssa_core::{ Commitment, Nullifier, account::{Account, AccountId}, @@ -78,7 +77,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { let commitments: Vec = pairs.iter().map(|(c, _)| c.clone()).collect(); // Genesis inserts DUMMY_COMMITMENT at index 0, then our commitments at 1..=N. - let state = V03State::new_with_genesis_accounts(&[], pairs, 0); + let state = fuzz_props::genesis::genesis_state(&[], pairs); let digest = state.commitment_set_digest(); let mut indices: Vec = Vec::with_capacity(commitments.len()); diff --git a/fuzz/fuzz_targets/fuzz_multi_block_state_sequence.rs b/fuzz/fuzz_targets/fuzz_multi_block_state_sequence.rs index 0f263cc3..2fe96042 100644 --- a/fuzz/fuzz_targets/fuzz_multi_block_state_sequence.rs +++ b/fuzz/fuzz_targets/fuzz_multi_block_state_sequence.rs @@ -36,7 +36,6 @@ use arbitrary::{Arbitrary, Unstructured}; use fuzz_props::generators::{arb_fuzz_native_transfer, arbitrary_fuzz_state, arbitrary_transaction}; use fuzz_props::invariants::{BalanceSnapshot, NonceSnapshot, assert_tx_execution_invariants}; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -51,7 +50,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { .map(|a| (a.account_id, a.balance)) .collect(); - let mut state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let mut state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Record starting balances for the long-range conservation check. let starting_total: u128 = init_accs diff --git a/fuzz/fuzz_targets/fuzz_nullifier_set_roundtrip.rs b/fuzz/fuzz_targets/fuzz_nullifier_set_roundtrip.rs index 4a7338df..0b9edbd7 100644 --- a/fuzz/fuzz_targets/fuzz_nullifier_set_roundtrip.rs +++ b/fuzz/fuzz_targets/fuzz_nullifier_set_roundtrip.rs @@ -16,8 +16,9 @@ //! A single `\x00` seed is sufficient — Part 1 uses fixed inputs and catches the //! `delete-!` mutation without fuzz-driven state. -use nssa::{Account, AccountId, V03State, system_faucet_account_id}; +use nssa::{Account, AccountId, V03State}; use nssa_core::{Commitment, Nullifier}; +use system_accounts::faucet_account_id; fuzz_props::fuzz_entry!(|data: &[u8]| { // ── Part 1: State with nullifiers — Borsh round-trip ───────────────────── @@ -37,10 +38,9 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { let comm2 = Commitment::new(&AccountId::new([0x22_u8; 32]), &Account::default()); // Build a state that holds two nullifiers in its private state. - let state = V03State::new_with_genesis_accounts( - &[(system_faucet_account_id(), 0)], + let state = fuzz_props::genesis::genesis_state( + &[(faucet_account_id(), 0)], vec![(comm1, null1), (comm2, null2)], - 0, ); // Serialise the state: diff --git a/fuzz/fuzz_targets/fuzz_privacy_preserving_state_transition.rs b/fuzz/fuzz_targets/fuzz_privacy_preserving_state_transition.rs index 264aedcf..7cd92c4a 100644 --- a/fuzz/fuzz_targets/fuzz_privacy_preserving_state_transition.rs +++ b/fuzz/fuzz_targets/fuzz_privacy_preserving_state_transition.rs @@ -36,7 +36,7 @@ use fuzz_props::invariants::{ StateIsolationOnFailure, assert_nonce_increment_correctness, assert_replay_rejection, }; use fuzz_props::privacy::arb_privacy_preserving_tx; -use nssa::{AccountId, V03State}; +use nssa::AccountId; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -50,7 +50,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { .iter() .map(|a| (a.account_id, a.balance)) .collect(); - let mut state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let mut state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Apply a short sequence so multi-transaction state evolution (commitment growth, // signer-nonce advance) is exercised. Each transaction's proof is synthesised against diff --git a/fuzz/fuzz_targets/fuzz_program_deployment_lifecycle.rs b/fuzz/fuzz_targets/fuzz_program_deployment_lifecycle.rs index 03040ac4..72970723 100644 --- a/fuzz/fuzz_targets/fuzz_program_deployment_lifecycle.rs +++ b/fuzz/fuzz_targets/fuzz_program_deployment_lifecycle.rs @@ -24,7 +24,6 @@ use arbitrary::{Arbitrary, Unstructured}; use fuzz_props::arbitrary_types::ArbProgramDeploymentTransaction; use fuzz_props::generators::arbitrary_fuzz_state; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -46,7 +45,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { }; let tx = tx_wrap.0; - let mut state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let mut state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Capture per-account state snapshots before the deployment attempt. let balances_before: Vec = init_accs diff --git a/fuzz/fuzz_targets/fuzz_replay_prevention.rs b/fuzz/fuzz_targets/fuzz_replay_prevention.rs index bdeb1b89..292576f3 100644 --- a/fuzz/fuzz_targets/fuzz_replay_prevention.rs +++ b/fuzz/fuzz_targets/fuzz_replay_prevention.rs @@ -25,7 +25,6 @@ use arbitrary::{Arbitrary, Unstructured}; use fuzz_props::generators::{arb_fuzz_native_transfer, arbitrary_fuzz_state, arbitrary_transaction}; use fuzz_props::invariants::{BalanceSnapshot, NonceSnapshot, assert_tx_execution_invariants}; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -39,7 +38,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { .iter() .map(|a| (a.account_id, a.balance)) .collect(); - let mut state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let mut state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Mix correlated transactions (correctly signed, referencing a fuzz account) // with random ones. Correlated transactions have a higher chance of being diff --git a/fuzz/fuzz_targets/fuzz_sequencer_vs_replayer.rs b/fuzz/fuzz_targets/fuzz_sequencer_vs_replayer.rs index 9f20ddac..dd433044 100644 --- a/fuzz/fuzz_targets/fuzz_sequencer_vs_replayer.rs +++ b/fuzz/fuzz_targets/fuzz_sequencer_vs_replayer.rs @@ -40,7 +40,6 @@ use std::collections::HashSet; use arbitrary::{Arbitrary, Unstructured}; use common::transaction::{LeeTransaction, clock_invocation}; use fuzz_props::generators::{arb_fuzz_native_transfer, arbitrary_fuzz_state, arbitrary_transaction}; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -67,7 +66,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { let timestamp: u64 = u64::arbitrary(&mut u).unwrap_or(1_000); // Shared base state — cloned once for each pipeline. - let base_state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let base_state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Track all account IDs touched by accepted transactions so we can compare // them across both pipelines after the full block is applied. diff --git a/fuzz/fuzz_targets/fuzz_state_diff_computation.rs b/fuzz/fuzz_targets/fuzz_state_diff_computation.rs index e2520465..163110ab 100644 --- a/fuzz/fuzz_targets/fuzz_state_diff_computation.rs +++ b/fuzz/fuzz_targets/fuzz_state_diff_computation.rs @@ -22,7 +22,7 @@ use arbitrary::{Arbitrary, Unstructured}; use common::transaction::LeeTransaction; use fuzz_props::arbitrary_types::ArbPublicTransaction; use fuzz_props::generators::arbitrary_fuzz_state; -use nssa::{V03State, ValidatedStateDiff}; +use nssa::ValidatedStateDiff; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -36,7 +36,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { .iter() .map(|a| (a.account_id, a.balance)) .collect(); - let state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Generate the public transaction from remaining fuzz bytes. let pub_tx = match ArbPublicTransaction::arbitrary(&mut u) { diff --git a/fuzz/fuzz_targets/fuzz_state_transition.rs b/fuzz/fuzz_targets/fuzz_state_transition.rs index b8924365..7728fda7 100644 --- a/fuzz/fuzz_targets/fuzz_state_transition.rs +++ b/fuzz/fuzz_targets/fuzz_state_transition.rs @@ -3,7 +3,6 @@ use arbitrary::{Arbitrary, Unstructured}; use fuzz_props::generators::{arb_fuzz_native_transfer, arbitrary_fuzz_state, arbitrary_transaction}; use fuzz_props::invariants::{BalanceSnapshot, NonceSnapshot, assert_tx_execution_invariants}; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -22,7 +21,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { .collect(); // Construct the initial state - let mut state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let mut state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Generate up to 8 transactions and apply them let n_txs: u8 = u8::arbitrary(&mut u).unwrap_or(0) % 8; diff --git a/fuzz/fuzz_targets/fuzz_transaction_properties.rs b/fuzz/fuzz_targets/fuzz_transaction_properties.rs index 4c11c7bb..8c8ecc9b 100644 --- a/fuzz/fuzz_targets/fuzz_transaction_properties.rs +++ b/fuzz/fuzz_targets/fuzz_transaction_properties.rs @@ -9,10 +9,9 @@ use common::transaction::LeeTransaction; use fuzz_props::arbitrary_types::ArbPrivateKey; use fuzz_props::generators::{arb_fuzz_native_transfer, arbitrary_fuzz_state}; use nssa::{ - AccountId, PrivateKey, PublicKey, ValidatedStateDiff, V03State, + AccountId, PrivateKey, PublicKey, ValidatedStateDiff, public_transaction::{Message, WitnessSet}, PublicTransaction, - program::Program, }; use nssa_core::account::Nonce; @@ -33,7 +32,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { let nonces = vec![Nonce::from(0_u128), Nonce::from(0_u128)]; let message = Message::try_new( - Program::authenticated_transfer_program().id(), + programs::authenticated_transfer().id(), vec![addr1, addr2], nonces, 1337_u64, @@ -139,7 +138,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { if signer_addr != other1 && signer_addr != other2 { let nonces = vec![Nonce::from(0_u128)]; if let Ok(msg) = Message::try_new( - Program::authenticated_transfer_program().id(), + programs::authenticated_transfer().id(), vec![other1, other2], nonces, 7_u64, @@ -173,7 +172,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { .iter() .map(|a| (a.account_id, a.balance)) .collect(); - let state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); let Ok(tx) = arb_fuzz_native_transfer(&mut u, &fuzz_accs) else { return; @@ -235,7 +234,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { let nonces = vec![Nonce::from(0_u128)]; if let Ok(msg) = Message::try_new( - Program::authenticated_transfer_program().id(), + programs::authenticated_transfer().id(), vec![addr], nonces, 42_u64, diff --git a/fuzz/fuzz_targets/fuzz_validate_execute_consistency.rs b/fuzz/fuzz_targets/fuzz_validate_execute_consistency.rs index 522154db..3db6b32b 100644 --- a/fuzz/fuzz_targets/fuzz_validate_execute_consistency.rs +++ b/fuzz/fuzz_targets/fuzz_validate_execute_consistency.rs @@ -28,7 +28,6 @@ use arbitrary::{Arbitrary, Unstructured}; use fuzz_props::arbitrary_types::ArbLeeTransaction; use fuzz_props::generators::{arbitrary_fuzz_state, signer_account_ids}; use fuzz_props::invariants::{NonceSnapshot, assert_nonce_increment_correctness}; -use nssa::V03State; fuzz_props::fuzz_entry!(|data: &[u8]| { let mut u = Unstructured::new(data); @@ -55,7 +54,7 @@ fuzz_props::fuzz_entry!(|data: &[u8]| { // Stateless gate — skip structurally malformed transactions. let Ok(tx) = tx.transaction_stateless_check() else { return; }; - let state = V03State::new_with_genesis_accounts(&init_accs, vec![], 0); + let state = fuzz_props::genesis::genesis_state(&init_accs, vec![]); // Capture nonces of all known accounts before execution so that // assert_nonce_increment_correctness can verify the +1 step on success. diff --git a/fuzz_props/Cargo.toml b/fuzz_props/Cargo.toml index c9803ac1..b4454f85 100644 --- a/fuzz_props/Cargo.toml +++ b/fuzz_props/Cargo.toml @@ -21,6 +21,10 @@ risc0-zkvm = { workspace = true } proptest = "1.4" arbitrary = { version = "1", features = ["derive"] } testnet_initial_state = { workspace = true } +# Reproduce LEZ genesis (builtin programs + system accounts) in `genesis_state`, +# which LEZ moved out of the state machine into these crates. +programs = { workspace = true } +system_accounts = { workspace = true } [dev-dependencies] proptest = "1.4" diff --git a/fuzz_props/src/genesis.rs b/fuzz_props/src/genesis.rs new file mode 100644 index 00000000..b867160e --- /dev/null +++ b/fuzz_props/src/genesis.rs @@ -0,0 +1,64 @@ +//! Genesis state construction for fuzz targets and tests. +//! +//! LEZ moved builtin-program and system-account assembly out of the state machine +//! (the former `V03State::new_with_genesis_accounts`) into the `programs` / +//! `system_accounts` crates. [`genesis_state`] reproduces that genesis setup so fuzz +//! targets and tests can build a realistic starting state from arbitrary account data. + +use nssa::{Account, AccountId, V03State}; +use nssa_core::{Commitment, Nullifier}; + +/// Build a genesis [`V03State`] from the given public account balances and private accounts. +/// +/// Mirrors the former `V03State::new_with_genesis_accounts(balances, private_accounts, 0)`: +/// every public account is owned by the authenticated-transfer program, the faucet/bridge/clock +/// system accounts are present, and the eight builtin programs are registered. The genesis +/// timestamp is fixed at 0, matching `system_accounts::clock_account()`'s default (every former +/// caller passed `0`). +#[must_use] +pub fn genesis_state( + balances: &[(AccountId, u128)], + private_accounts: Vec<(Commitment, Nullifier)>, +) -> V03State { + let public_accounts = balances + .iter() + .map(|&(account_id, balance)| { + ( + account_id, + Account { + program_owner: programs::authenticated_transfer().id(), + balance, + ..Account::default() + }, + ) + }) + .chain([ + ( + system_accounts::faucet_account_id(), + system_accounts::faucet_account(), + ), + ( + system_accounts::bridge_account_id(), + system_accounts::bridge_account(), + ), + ]) + .chain( + system_accounts::clock_account_ids() + .into_iter() + .map(|clock_id| (clock_id, system_accounts::clock_account())), + ); + + V03State::new() + .with_public_accounts(public_accounts) + .with_private_accounts(private_accounts) + .with_programs([ + programs::authenticated_transfer(), + programs::token(), + programs::amm(), + programs::clock(), + programs::ata(), + programs::vault(), + programs::faucet(), + programs::bridge(), + ]) +} diff --git a/fuzz_props/src/lib.rs b/fuzz_props/src/lib.rs index d85740a5..6db2fc20 100644 --- a/fuzz_props/src/lib.rs +++ b/fuzz_props/src/lib.rs @@ -68,6 +68,7 @@ pub mod arbitrary_types; pub mod generators; +pub mod genesis; pub mod invariants; pub mod privacy; diff --git a/fuzz_props/src/tests/invariants.rs b/fuzz_props/src/tests/invariants.rs index 0d62fb36..b8cb9327 100644 --- a/fuzz_props/src/tests/invariants.rs +++ b/fuzz_props/src/tests/invariants.rs @@ -9,7 +9,7 @@ use nssa::V03State; use nssa_core::account::Nonce; fn make_empty_state() -> V03State { - V03State::new_with_genesis_accounts(&[], vec![], 0) + crate::genesis::genesis_state(&[], vec![]) } fn make_empty_snapshot() -> BalanceSnapshot { @@ -49,8 +49,8 @@ fn assert_invariants_does_not_panic_on_success_with_empty_state() { #[test] fn balance_conservation_catches_inflation_on_success() { let acc_id = nssa::AccountId::new([1_u8; 32]); - let state_before = V03State::new_with_genesis_accounts(&[(acc_id, 100)], vec![], 0); - let state_after = V03State::new_with_genesis_accounts(&[(acc_id, 200)], vec![], 0); + let state_before = crate::genesis::genesis_state(&[(acc_id, 100)], vec![]); + let state_after = crate::genesis::genesis_state(&[(acc_id, 200)], vec![]); let mut balances = std::collections::HashMap::new(); balances.insert(acc_id, 100_u128); @@ -83,7 +83,7 @@ fn nonce_increment_correctness_passes_when_signer_not_in_snapshot() { #[test] fn nonce_increment_correctness_catches_unchanged_nonce() { let acc_id = nssa::AccountId::new([3_u8; 32]); - let state = V03State::new_with_genesis_accounts(&[], vec![], 0); + let state = crate::genesis::genesis_state(&[], vec![]); let mut nonces = std::collections::HashMap::new(); nonces.insert(acc_id, Nonce(5)); @@ -97,8 +97,8 @@ fn nonce_increment_correctness_catches_unchanged_nonce() { #[test] fn failed_tx_nonce_stability_catches_nonce_mutation() { let acc_id = nssa::AccountId::new([2_u8; 32]); - let state_before = V03State::new_with_genesis_accounts(&[(acc_id, 100)], vec![], 0); - let state_after = V03State::new_with_genesis_accounts(&[(acc_id, 100)], vec![], 0); + let state_before = crate::genesis::genesis_state(&[(acc_id, 100)], vec![]); + let state_after = crate::genesis::genesis_state(&[(acc_id, 100)], vec![]); let mut nonces = std::collections::HashMap::new(); nonces.insert(acc_id, Nonce(1)); @@ -208,7 +208,7 @@ fn failed_tx_nonce_stability_name_is_nonempty_and_not_placeholder() { fn state_isolation_check_detects_balance_change_on_failure() { let acc_id = nssa::AccountId::new([1_u8; 32]); // State has balance 100 for acc_id. - let state = V03State::new_with_genesis_accounts(&[(acc_id, 100)], vec![], 0); + let state = crate::genesis::genesis_state(&[(acc_id, 100)], vec![]); // balances_before claims balance was 50, but state_after (== state) has 100. let mut balances = std::collections::HashMap::new(); @@ -251,7 +251,7 @@ fn assert_replay_rejection_panics_when_replay_not_rejected() { let validated = tx .transaction_stateless_check() .expect("test setup: transaction must pass stateless validation"); - let mut scratch_state = V03State::new_with_genesis_accounts(&genesis, vec![], 0); + let mut scratch_state = crate::genesis::genesis_state(&genesis, vec![]); let applied_tx = validated .execute_check_on_state(&mut scratch_state, 1, 1) .expect("test setup: first execution must succeed (block_id=1, timestamp=1)"); @@ -259,7 +259,7 @@ fn assert_replay_rejection_panics_when_replay_not_rejected() { // Replay `applied_tx` (nonce 0) against a FRESH state still at nonce 0. // The nonce matches → execute_check_on_state ACCEPTS the replay — a protocol // violation that assert_replay_rejection must detect and panic on. - let mut fresh_state = V03State::new_with_genesis_accounts(&genesis, vec![], 0); + let mut fresh_state = crate::genesis::genesis_state(&genesis, vec![]); let result = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| { assert_replay_rejection(applied_tx, &mut fresh_state, 1, 1); })); @@ -277,8 +277,8 @@ fn assert_replay_rejection_panics_when_replay_not_rejected() { fn assert_tx_execution_invariants_is_not_noop() { let acc_id = nssa::AccountId::new([5_u8; 32]); // Both state_before and state_after have the account at balance 100. - let state_before = V03State::new_with_genesis_accounts(&[(acc_id, 100)], vec![], 0); - let mut state_after = V03State::new_with_genesis_accounts(&[(acc_id, 100)], vec![], 0); + let state_before = crate::genesis::genesis_state(&[(acc_id, 100)], vec![]); + let mut state_after = crate::genesis::genesis_state(&[(acc_id, 100)], vec![]); // Lie: claim balance was 50 before. State_after shows 100. // With execution_succeeded=false, StateIsolationOnFailure detects the discrepancy. diff --git a/fuzz_props/src/tests/privacy.rs b/fuzz_props/src/tests/privacy.rs index ad4a0d08..abb58a1b 100644 --- a/fuzz_props/src/tests/privacy.rs +++ b/fuzz_props/src/tests/privacy.rs @@ -5,7 +5,7 @@ use crate::privacy::{ arb_account, arb_privacy_preserving_tx, arb_validity_window, synthesize_passing_proof, }; use nssa::privacy_preserving_transaction::{Message as PPMessage, WitnessSet as PPWitnessSet}; -use nssa::{AccountId, PrivacyPreservingTransaction, PrivateKey, V03State}; +use nssa::{AccountId, PrivacyPreservingTransaction, PrivateKey}; use nssa_core::Commitment; use nssa_core::account::Account; use nssa_core::program::{BlockValidityWindow, TimestampValidityWindow}; @@ -25,7 +25,7 @@ fn synthesized_proof_reaches_checks_5_6_and_applies() { return; } - let mut state = V03State::new_with_genesis_accounts(&[], vec![], 0); + let mut state = crate::genesis::genesis_state(&[], vec![]); // No signers and a single fresh commitment: checks 1–3 are vacuous/trivially met, so // the only way to reach checks 5–6 is for the synthesised proof to pass check 4. @@ -84,7 +84,7 @@ fn synthesized_proof_is_rejected_without_dev_mode() { return; } - let mut state = V03State::new_with_genesis_accounts(&[], vec![], 0); + let mut state = crate::genesis::genesis_state(&[], vec![]); // Same well-formed message as the positive test: checks 1–3 are vacuous/trivially met, so a // rejection can only come from check 4 (proof verification) failing on the fake receipt. @@ -268,7 +268,7 @@ fn arb_privacy_preserving_tx_generator_invariants() { .collect(); let genesis: Vec<(AccountId, u128)> = accounts.iter().map(|a| (a.account_id, a.balance)).collect(); - let state = V03State::new_with_genesis_accounts(&genesis, vec![], 0); + let state = crate::genesis::genesis_state(&genesis, vec![]); let mut rng = Rng::new(); let mut buf = vec![0_u8; 8192]; diff --git a/fuzz_props/src/tests/replay_proptest.rs b/fuzz_props/src/tests/replay_proptest.rs index 6be98a8f..efc19d21 100644 --- a/fuzz_props/src/tests/replay_proptest.rs +++ b/fuzz_props/src/tests/replay_proptest.rs @@ -9,7 +9,7 @@ fn make_test_state() -> V03State { .iter() .map(|(id, _)| (*id, 1_000_000_u128)) .collect(); - V03State::new_with_genesis_accounts(&init_accs, vec![], 0) + crate::genesis::genesis_state(&init_accs, vec![]) } proptest! { From e8cd1a767e6774437b5344d6b69a997ff62cab5a Mon Sep 17 00:00:00 2001 From: Roman Date: Fri, 26 Jun 2026 14:06:37 +0800 Subject: [PATCH 3/5] fix: derive account_id from private_key --- fuzz_props/src/generators.rs | 39 ++++++++++++++++++++++++++---------- fuzz_props/src/privacy.rs | 12 +++++------ 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/fuzz_props/src/generators.rs b/fuzz_props/src/generators.rs index ca79628c..a11488b8 100644 --- a/fuzz_props/src/generators.rs +++ b/fuzz_props/src/generators.rs @@ -1,8 +1,8 @@ use arbitrary::{Arbitrary, Unstructured}; use common::{block::HashableBlockData, transaction::LeeTransaction}; -use nssa::{AccountId, PrivateKey}; +use nssa::{AccountId, PrivateKey, PublicKey}; -use crate::arbitrary_types::{ArbAccountId, ArbLeeTransaction, ArbPrivateKey}; +use crate::arbitrary_types::{ArbLeeTransaction, ArbPrivateKey}; use proptest::prelude::*; use testnet_initial_state::initial_pub_accounts_private_keys; @@ -31,16 +31,29 @@ pub fn signer_account_ids(tx: &common::transaction::LeeTransaction) -> Vec AccountId { + AccountId::from(&PublicKey::new_from_private_key(key)) +} + // ── Fuzz-driven state generation ───────────────────────────────────────────── -/// An account with an arbitrary identifier, balance, and private key, -/// generated entirely from unstructured fuzzer bytes. +/// An account with a fuzz-driven balance and private key, plus the [`AccountId`] +/// **derived from that key**. /// -/// Using random account IDs (rather than the fixed `testnet_initial_state` set) -/// exposes state-dependent bugs that only manifest with specific account shapes — -/// for example: zero balance, [`u128::MAX`] balance, or a nonce at the -/// wrap-around boundary. The [`PrivateKey`] field lets downstream generators -/// produce correctly-signed transfers referencing accounts present in this state. +/// Deriving `account_id` from `private_key` (rather than drawing it independently) +/// is what makes the funded account and its signer the *same* account: a transfer +/// signed by `private_key` is then authorized to spend `account_id`, so downstream +/// generators like [`arb_fuzz_native_transfer`] can actually reach the **successful** +/// state-transition path instead of always being rejected as unauthorized. The key +/// is still fuzz-driven, so account shapes (zero balance, [`u128::MAX`] balance, +/// nonce wrap-around) remain controlled by the fuzzer. pub struct FuzzAccount { pub account_id: AccountId, pub balance: u128, @@ -62,12 +75,16 @@ pub struct FuzzAccount { pub fn arbitrary_fuzz_state(u: &mut Unstructured<'_>) -> arbitrary::Result> { let n = ((u8::arbitrary(u)? as usize) % 8) + 1; // 1..=8 std::iter::repeat_with(|| { + let private_key = ArbPrivateKey::arbitrary(u)?.0; + // Derive the account id from the key so the funded account *is* the signer; + // otherwise every "biased-valid" transfer is unauthorized and rejected. + let account_id = account_id_for_key(&private_key); Ok(FuzzAccount { - account_id: ArbAccountId::arbitrary(u)?.0, + account_id, // Divide by 8 so the sum of 8 accounts is at most u128::MAX, preventing // false-positive checked_add panics that would mask real inflation bugs. balance: u128::arbitrary(u)? / 8, - private_key: ArbPrivateKey::arbitrary(u)?.0, + private_key, }) }) .take(n) diff --git a/fuzz_props/src/privacy.rs b/fuzz_props/src/privacy.rs index 180700d7..a45656f1 100644 --- a/fuzz_props/src/privacy.rs +++ b/fuzz_props/src/privacy.rs @@ -40,8 +40,7 @@ use arbitrary::{Arbitrary, Result as ArbResult, Unstructured}; use borsh::to_vec as borsh_to_vec; use nssa::{ - AccountId, PRIVACY_PRESERVING_CIRCUIT_ID, PrivacyPreservingTransaction, PrivateKey, PublicKey, - V03State, + AccountId, PRIVACY_PRESERVING_CIRCUIT_ID, PrivacyPreservingTransaction, PrivateKey, V03State, privacy_preserving_transaction::{ Message as PPMessage, WitnessSet as PPWitnessSet, circuit::Proof, }, @@ -54,7 +53,7 @@ use nssa_core::{ }; use risc0_zkvm::{FakeReceipt, InnerReceipt, ReceiptClaim}; -use crate::generators::FuzzAccount; +use crate::generators::{FuzzAccount, account_id_for_key}; /// Synthesise a [`Proof`] that **passes** `Proof::is_valid_for` for `message` against /// `state`, under `RISC0_DEV_MODE`. @@ -193,8 +192,9 @@ pub fn arb_privacy_preserving_tx( ) -> ArbResult { // ── Signers ────────────────────────────────────────────────────────────────────── // 0..=3 distinct signers drawn from the keyed fuzz accounts. A signer's public-account - // id is `AccountId::from(&its_public_key)` — exactly what the validator derives from the - // witness set — and is independent of `FuzzAccount.account_id`. + // id is `account_id_for_key(key)` — exactly what the validator derives from the witness + // set. Since `arbitrary_fuzz_state` now derives `FuzzAccount.account_id` the same way, + // this id also equals that account's `account_id`, so the funded account is the signer. let max_signers = accounts.len().min(3); let n_signers = if max_signers == 0 { 0 @@ -205,7 +205,7 @@ pub fn arb_privacy_preserving_tx( let mut signer_ids: Vec = Vec::with_capacity(n_signers); for _ in 0..n_signers { let key = &accounts[(u8::arbitrary(u)? as usize) % accounts.len()].private_key; - let id = AccountId::from(&PublicKey::new_from_private_key(key)); + let id = account_id_for_key(key); if signer_ids.contains(&id) { continue; // keep signer ids distinct so `nonces` stays 1:1 with `keys` } From 0f644daf6d39f7ab6a78ce9a566d537098b274d5 Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 30 Jun 2026 09:31:06 +0200 Subject: [PATCH 4/5] fix: reflect on the moved system_accounts --- fuzz_props/src/generators.rs | 37 +++++++++++++++++++----------- fuzz_props/src/tests/generators.rs | 4 ++-- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/fuzz_props/src/generators.rs b/fuzz_props/src/generators.rs index 81bd0c65..7e9de9ce 100644 --- a/fuzz_props/src/generators.rs +++ b/fuzz_props/src/generators.rs @@ -78,9 +78,9 @@ pub struct FuzzAccount { /// The cap above is only sound if every generated balance survives genesis construction /// unchanged. Two failure modes break that: /// -/// * **Reserved system accounts.** [`nssa::V03State::new_with_genesis_accounts`] inserts -/// the faucet account (`balance = u128::MAX`) and bridge account *after* the supplied -/// genesis accounts, overwriting any generated account whose ID collides. A fuzzer that +/// * **Reserved system accounts.** [`crate::genesis::genesis_state`] inserts the faucet +/// account (`balance = u128::MAX`) and bridge account *after* the supplied genesis +/// accounts, overwriting any generated account whose ID collides. A fuzzer that /// lands on the faucet ID would make a caller read back `u128::MAX` instead of the capped /// balance it generated, overflowing the conservation sum — a harness false positive, not /// a protocol bug. @@ -94,25 +94,34 @@ pub struct FuzzAccount { /// accounts are returned (an empty state is a valid degenerate case). pub fn arbitrary_fuzz_state(u: &mut Unstructured<'_>) -> arbitrary::Result> { let reserved = [ - nssa::system_faucet_account_id(), - nssa::system_bridge_account_id(), + system_accounts::faucet_account_id(), + system_accounts::bridge_account_id(), ]; let n = ((u8::arbitrary(u)? as usize) % 8) + 1; // 1..=8 - std::iter::repeat_with(|| { + + let mut seen = std::collections::HashSet::with_capacity(n); + let mut accounts = Vec::with_capacity(n); + for _ in 0..n { let private_key = ArbPrivateKey::arbitrary(u)?.0; // Derive the account id from the key so the funded account *is* the signer; // otherwise every "biased-valid" transfer is unauthorized and rejected. let account_id = account_id_for_key(&private_key); - Ok(FuzzAccount { + // Divide by 8 so the sum of 8 accounts is at most u128::MAX, preventing + // false-positive checked_add panics that would mask real inflation bugs. + let balance = u128::arbitrary(u)? / 8; + + // Skip IDs that genesis would overwrite (reserved system accounts) or that would + // collapse on insertion (duplicates); see the doc comment above. + if reserved.contains(&account_id) || !seen.insert(account_id) { + continue; + } + accounts.push(FuzzAccount { account_id, - // Divide by 8 so the sum of 8 accounts is at most u128::MAX, preventing - // false-positive checked_add panics that would mask real inflation bugs. - balance: u128::arbitrary(u)? / 8, + balance, private_key, - }) - }) - .take(n) - .collect() + }); + } + Ok(accounts) } /// Reduce raw fuzzer draws into a *biased-valid* `(nonce, amount)` pair. diff --git a/fuzz_props/src/tests/generators.rs b/fuzz_props/src/tests/generators.rs index b3f2cfce..9d62e575 100644 --- a/fuzz_props/src/tests/generators.rs +++ b/fuzz_props/src/tests/generators.rs @@ -98,8 +98,8 @@ fn fuzz_state_excludes_reserved_system_ids() { // would read back a balance the cap never produced, overflowing conservation sums. // The generator must therefore never emit a reserved system ID. let reserved = [ - nssa::system_faucet_account_id(), - nssa::system_bridge_account_id(), + system_accounts::faucet_account_id(), + system_accounts::bridge_account_id(), ]; let buf = distinct_byte_buffer(10_000); let mut u = Unstructured::new(&buf); From 4768d581b3c2157d8e30dcd43de28ba623a0d33f Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 30 Jun 2026 09:47:37 +0200 Subject: [PATCH 5/5] fix: bump to the latest hash --- .github/actions/checkout-lez/action.yml | 2 +- .../libfuzz/fuzz_state_transition/seed_empty_tx | Bin 0 -> 149 bytes .../fuzz_stateless_verification/seed_empty_tx | Bin 0 -> 149 bytes .../fuzz_transaction_decoding/seed_empty_tx | Bin 0 -> 149 bytes 4 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 corpus/libfuzz/fuzz_state_transition/seed_empty_tx create mode 100644 corpus/libfuzz/fuzz_stateless_verification/seed_empty_tx create mode 100644 corpus/libfuzz/fuzz_transaction_decoding/seed_empty_tx diff --git a/.github/actions/checkout-lez/action.yml b/.github/actions/checkout-lez/action.yml index c965b943..e9beeded 100644 --- a/.github/actions/checkout-lez/action.yml +++ b/.github/actions/checkout-lez/action.yml @@ -14,7 +14,7 @@ inputs: `just update-lez`, replace this SHA, and open a PR. The scheduled lez-compat workflow overrides this with `main` to detect upstream drift. required: false - default: 64f8444a67e5cc93fb755f9c9292034bed2a657d + default: e37876a64028a335eb693198a1ed6a0e875ec5b4 runs: using: composite diff --git a/corpus/libfuzz/fuzz_state_transition/seed_empty_tx b/corpus/libfuzz/fuzz_state_transition/seed_empty_tx new file mode 100644 index 0000000000000000000000000000000000000000..b00ba8713272de3f59aa4066cc5913d33a92b319 GIT binary patch literal 149 zcmZQ5yDxI`@4rZIhevTXA5H~TZBdun{CcLr7pEM-c^UyzJ~2Q6Bant+?xR;HF3QwA z#BnK<7zB0n+_rxE3@ui1N8@_%hpQ0ux{@GdN|J~V1?c1_8 tgdDhHnj3aky5(qCwNQ$~%vigtt9G%bUYC7zB0n+_rxE3@ui1N8@_%hpQ0ux{@GdN|J~V1?c1_8 tgdDhHnj3aky5(qCwNQ$~%vigtt9G%bUYC7zB0n+_rxE3@ui1N8@_%hpQ0ux{@GdN|J~V1?c1_8 tgdDhHnj3aky5(qCwNQ$~%vigtt9G%bUYC