From 09d29b60890e69a6683936f3bfc92ea342fbef1e Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 07:08:28 +0200 Subject: [PATCH 01/11] update risc0 --- Cargo.lock | 96 +-- Cargo.toml | 15 +- crates/core/Cargo.toml | 1 + crates/zeth/Cargo.toml | 2 +- guests/reth-ethereum/Cargo.lock | 1069 +++++++++++++++++++++++++++--- guests/reth-ethereum/Cargo.toml | 13 +- guests/reth-optimism/Cargo.lock | 1071 ++++++++++++++++++++++++++++--- guests/reth-optimism/Cargo.toml | 11 +- 8 files changed, 2024 insertions(+), 254 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8b05da8e..79890841 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -300,7 +300,7 @@ dependencies = [ "derive_more 1.0.0", "foldhash", "getrandom", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "hex-literal", "indexmap 2.6.0", "itoa", @@ -1205,8 +1205,9 @@ dependencies = [ [[package]] name = "bonsai-sdk" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa98bac2c125e6f7d5f73fd5bc99d3cf1c633993b4c603a973731e0b358e3e9c" dependencies = [ "duplicate", "maybe-async", @@ -2407,13 +2408,14 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ "allocator-api2", "equivalent", "foldhash", + "rayon", "serde", ] @@ -2664,7 +2666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "serde", ] @@ -2865,7 +2867,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.0", + "hashbrown 0.15.2", ] [[package]] @@ -4563,8 +4565,9 @@ dependencies = [ [[package]] name = "risc0-binfmt" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421b1d25e39b0a7c0bbb5bf662824bc102ef97b0ca1ddca7bfe142378e4e9127" dependencies = [ "anyhow", "borsh", @@ -4577,8 +4580,9 @@ dependencies = [ [[package]] name = "risc0-build" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21f1cd28e2ff0d478d7714d710efd739d9876cbf81dab145a57bc8582433b028" dependencies = [ "anyhow", "cargo_metadata", @@ -4595,8 +4599,9 @@ dependencies = [ [[package]] name = "risc0-build-kernel" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63e1e7e2bb775b3e4e656c2cefaee417f7b0e32a67a481098da7ddd434e216b" dependencies = [ "cc", "directories", @@ -4609,12 +4614,14 @@ dependencies = [ [[package]] name = "risc0-circuit-keccak" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3806bfd8212934741033e424b5eafa86c67c660c7ba98e9492e0762e57afc21e" dependencies = [ "anyhow", "bytemuck", "cfg-if", + "keccak", "paste", "rayon", "risc0-binfmt", @@ -4629,8 +4636,9 @@ dependencies = [ [[package]] name = "risc0-circuit-keccak-sys" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4afcc5a9a32865043a2bb9a3c59bb425dc7f86a887f44b0602da1495a9d85534" dependencies = [ "cc", "cust", @@ -4644,8 +4652,9 @@ dependencies = [ [[package]] name = "risc0-circuit-recursion" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea982a66c4f3337366454afc9d3c80eb3333c95ae94570ddc4c6c0fe53cf9f4" dependencies = [ "anyhow", "bytemuck", @@ -4669,8 +4678,9 @@ dependencies = [ [[package]] name = "risc0-circuit-recursion-sys" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb152d44fe4458f1137b8a7fe7abe35ac81f55e198733450af7365bab418989" dependencies = [ "glob", "risc0-build-kernel", @@ -4681,8 +4691,9 @@ dependencies = [ [[package]] name = "risc0-circuit-rv32im" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da32b112b4bc86b35b6706fb7959a0bcfb8954ac9d040ad7f7aa88c8a054af1f" dependencies = [ "anyhow", "auto_ops", @@ -4714,8 +4725,9 @@ dependencies = [ [[package]] name = "risc0-circuit-rv32im-sys" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a811905f9eeed92ca1e2d11d1d3bba3315e05e842ceaa70ace6b37a154e1c9" dependencies = [ "glob", "risc0-build-kernel", @@ -4726,8 +4738,9 @@ dependencies = [ [[package]] name = "risc0-core" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa498c93c2ec128b410639df28796bd7e0a20cac95fadb39595fb6cb3147fc0" dependencies = [ "bytemuck", "nvtx", @@ -4737,8 +4750,9 @@ dependencies = [ [[package]] name = "risc0-groth16" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e194641f6f14397da30b4627889113c0033b3ff2a6dfb4a4ba1962d24033dbc" dependencies = [ "anyhow", "ark-bn254", @@ -4761,8 +4775,9 @@ dependencies = [ [[package]] name = "risc0-sys" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d68b8b0aa5ee99718fb73a5349d94eca88584a3373e4f5ca61256e09e9b6d46" dependencies = [ "anyhow", "cust", @@ -4772,8 +4787,9 @@ dependencies = [ [[package]] name = "risc0-zkp" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f9973ed2591391c8d90bc5ff3102512879274102c6f12d63b0a20b1c132286a" dependencies = [ "anyhow", "blake2", @@ -4802,8 +4818,9 @@ dependencies = [ [[package]] name = "risc0-zkvm" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61d800cb93c9f711b9f78a9e3ea09b396d279134281529a5032dafbbc713ede6" dependencies = [ "addr2line 0.22.0", "anyhow", @@ -4845,10 +4862,12 @@ dependencies = [ [[package]] name = "risc0-zkvm-platform" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2127f726a7d6ecf76c53110d3b6070c08a40111c5ef7e8c0fb58c40c4618244" dependencies = [ "bytemuck", + "cfg-if", "getrandom", "libm", "stability", @@ -4862,7 +4881,7 @@ checksum = "b11a153aec4a6ab60795f8ebe2923c597b16b05bb1504377451e705ef1a45323" dependencies = [ "bytecheck", "bytes", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "indexmap 2.6.0", "munge", "ptr_meta", @@ -6551,6 +6570,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "anyhow", + "hashbrown 0.15.2", "k256", "pot", "reth-chainspec", diff --git a/Cargo.toml b/Cargo.toml index 60afc797..7c673e02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,20 +18,16 @@ opt-level = 3 # RISC Zero [workspace.dependencies.bonsai-sdk] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" features = ["non_blocking"] [workspace.dependencies.risc0-build] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" features = ["unstable"] [workspace.dependencies.risc0-zkvm] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" -default-features = false -features = ["bonsai"] +version = "1.2.1-rc.1" +features = ["unstable"] # External [workspace.dependencies] @@ -92,12 +88,13 @@ bincode = "1.3.3" bytemuck = "1.19.0" clap = { version = "4.0", features = ["derive"] } env_logger = "0.11.5" +hashbrown = { version = "0.15.2", features = ["rayon"] } k256 = { version = "0.13.3", features = ["serde", "pem"] } log = "0.4.22" flate2 = "1.0.34" once_cell = "1.20.2" pot = "3.0.1" -rkyv = "0.8.9" +rkyv = { version = "0.8.9", features = ["hashbrown-0_15"] } serde = { version = "1.0.210", features = ["derive"] } serde_json = { version = "1.0.128", features = ["alloc"] } serde_with = "3.11.0" diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 73f78caa..89ac1141 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -8,6 +8,7 @@ anyhow.workspace = true alloy-consensus.workspace = true alloy-primitives.workspace = true alloy-rlp.workspace = true +hashbrown.workspace = true k256.workspace = true pot.workspace = true rkyv.workspace = true diff --git a/crates/zeth/Cargo.toml b/crates/zeth/Cargo.toml index 30babcc6..d4a73224 100644 --- a/crates/zeth/Cargo.toml +++ b/crates/zeth/Cargo.toml @@ -8,7 +8,7 @@ workspace = true [dependencies.risc0-zkvm] workspace = true -features = ["std", "client", "unstable"] +features = ["client"] [dependencies.zeth-guests] workspace = true diff --git a/guests/reth-ethereum/Cargo.lock b/guests/reth-ethereum/Cargo.lock index f7bf3b7c..930c3007 100644 --- a/guests/reth-ethereum/Cargo.lock +++ b/guests/reth-ethereum/Cargo.lock @@ -2,6 +2,21 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "ahash" version = "0.8.11" @@ -23,6 +38,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "alloy-chains" version = "0.1.43" @@ -142,7 +163,7 @@ dependencies = [ "derive_more", "foldhash", "getrandom", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "hex-literal", "indexmap 2.6.0", "itoa", @@ -177,7 +198,7 @@ checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -233,7 +254,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -244,12 +265,12 @@ checksum = "6672337f19d837b9f7073c45853aeb528ed9f7dd6a4154ce683e9e5cb7794014" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck", + "heck 0.5.0", "indexmap 2.6.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "syn-solidity", "tiny-keccak", ] @@ -262,10 +283,10 @@ checksum = "0dff37dd20bfb118b777c96eda83b2067f4226d2644c5cfa00187b3bc01770ba" dependencies = [ "const-hex", "dunce", - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "syn-solidity", ] @@ -586,7 +607,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -595,6 +616,21 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + [[package]] name = "base16ct" version = "0.2.0" @@ -619,6 +655,15 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -698,6 +743,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "bonsai-sdk" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa98bac2c125e6f7d5f73fd5bc99d3cf1c633993b4c603a973731e0b358e3e9c" +dependencies = [ + "duplicate", + "maybe-async", + "reqwest", + "serde", + "thiserror 1.0.65", +] + [[package]] name = "borsh" version = "1.5.1" @@ -718,7 +776,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "syn_derive", ] @@ -754,7 +812,7 @@ checksum = "523363cbe1df49b68215efdf500b103ac3b0fb4836aed6d15689a076eadb8fff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -774,7 +832,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -806,6 +864,38 @@ dependencies = [ "serde", ] +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror 1.0.65", +] + [[package]] name = "cc" version = "1.1.31" @@ -839,7 +929,7 @@ dependencies = [ "iana-time-zone", "num-traits", "serde", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -995,7 +1085,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1006,7 +1096,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1059,7 +1149,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "unicode-xid", ] @@ -1084,6 +1174,33 @@ dependencies = [ "subtle", ] +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "docker-generate" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf673e0848ef09fa4aeeba78e681cf651c0c7d35f76ee38cec8e55bc32fa111" + [[package]] name = "downcast-rs" version = "1.2.1" @@ -1096,6 +1213,16 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "duplicate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de78e66ac9061e030587b2a2e75cc88f22304913c907b11307bca737141230cb" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", +] + [[package]] name = "dyn-clone" version = "1.0.17" @@ -1174,7 +1301,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1262,7 +1389,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1286,12 +1413,28 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + [[package]] name = "futures-core" version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + [[package]] name = "futures-macro" version = "0.3.31" @@ -1300,9 +1443,15 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + [[package]] name = "futures-task" version = "0.3.31" @@ -1316,8 +1465,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", + "futures-io", "futures-macro", + "futures-sink", "futures-task", + "memchr", "pin-project-lite", "pin-utils", "slab", @@ -1341,10 +1493,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + [[package]] name = "glob" version = "0.3.1" @@ -1389,14 +1549,23 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "allocator-api2", + "equivalent", "foldhash", + "rayon", "serde", ] +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -1433,6 +1602,102 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "hyper" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.61" @@ -1516,10 +1781,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "serde", ] +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + [[package]] name = "itertools" version = "0.10.5" @@ -1597,6 +1868,29 @@ dependencies = [ "sha3-asm", ] +[[package]] +name = "lazy-regex" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.96", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -1618,6 +1912,16 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -1649,6 +1953,17 @@ dependencies = [ "libc", ] +[[package]] +name = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "memchr" version = "2.7.4" @@ -1689,7 +2004,33 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.85", + "syn 2.0.96", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.52.0", ] [[package]] @@ -1730,7 +2071,7 @@ checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1840,7 +2181,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1865,6 +2206,15 @@ dependencies = [ "malloc_buf", ] +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" version = "1.20.2" @@ -1904,6 +2254,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "parity-scale-codec" version = "3.6.12" @@ -1959,7 +2315,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.65", "ucd-trie", ] @@ -2052,6 +2408,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", + "syn 1.0.109", "version_check", ] @@ -2085,14 +2442,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2117,6 +2474,29 @@ dependencies = [ "unarray", ] +[[package]] +name = "prost" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "ptr_meta" version = "0.3.0" @@ -2134,7 +2514,7 @@ checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -2144,27 +2524,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] -name = "quote" -version = "1.0.37" +name = "quinn" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ - "proc-macro2", + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.11", + "tokio", + "tracing", ] [[package]] -name = "radium" -version = "0.7.0" +name = "quinn-proto" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom", + "rand", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.11", + "tinyvec", + "tracing", + "web-time", +] [[package]] -name = "rancor" -version = "0.1.0" +name = "quinn-udp" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ - "ptr_meta", + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rancor" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947" +dependencies = [ + "ptr_meta", ] [[package]] @@ -2227,6 +2659,17 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror 1.0.65", +] + [[package]] name = "regex" version = "1.11.1" @@ -2265,6 +2708,52 @@ dependencies = [ "bytecheck", ] +[[package]] +name = "reqwest" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "windows-registry", +] + [[package]] name = "reth-chainspec" version = "1.1.0" @@ -2308,7 +2797,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -2477,7 +2966,7 @@ source = "git+https://github.com/risc0/reth?branch=p1.1.0_zstd#760183fd601f61a3f dependencies = [ "serde", "serde_json", - "thiserror", + "thiserror 1.0.65", ] [[package]] @@ -2498,7 +2987,7 @@ dependencies = [ "alloy-rlp", "enr", "serde_with", - "thiserror", + "thiserror 1.0.65", "url", ] @@ -2561,7 +3050,7 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "thiserror", + "thiserror 1.0.65", ] [[package]] @@ -2750,6 +3239,21 @@ dependencies = [ "subtle", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + [[package]] name = "ripemd" version = "0.1.3" @@ -2771,8 +3275,9 @@ dependencies = [ [[package]] name = "risc0-binfmt" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421b1d25e39b0a7c0bbb5bf662824bc102ef97b0ca1ddca7bfe142378e4e9127" dependencies = [ "anyhow", "borsh", @@ -2783,10 +3288,30 @@ dependencies = [ "tracing", ] +[[package]] +name = "risc0-build" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21f1cd28e2ff0d478d7714d710efd739d9876cbf81dab145a57bc8582433b028" +dependencies = [ + "anyhow", + "cargo_metadata", + "dirs", + "docker-generate", + "hex", + "risc0-binfmt", + "risc0-zkp", + "risc0-zkvm-platform", + "serde", + "serde_json", + "tempfile", +] + [[package]] name = "risc0-circuit-keccak" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3806bfd8212934741033e424b5eafa86c67c660c7ba98e9492e0762e57afc21e" dependencies = [ "anyhow", "bytemuck", @@ -2800,8 +3325,9 @@ dependencies = [ [[package]] name = "risc0-circuit-recursion" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea982a66c4f3337366454afc9d3c80eb3333c95ae94570ddc4c6c0fe53cf9f4" dependencies = [ "anyhow", "bytemuck", @@ -2814,8 +3340,9 @@ dependencies = [ [[package]] name = "risc0-circuit-rv32im" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da32b112b4bc86b35b6706fb7959a0bcfb8954ac9d040ad7f7aa88c8a054af1f" dependencies = [ "anyhow", "metal", @@ -2829,8 +3356,9 @@ dependencies = [ [[package]] name = "risc0-core" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa498c93c2ec128b410639df28796bd7e0a20cac95fadb39595fb6cb3147fc0" dependencies = [ "bytemuck", "rand_core", @@ -2838,8 +3366,9 @@ dependencies = [ [[package]] name = "risc0-groth16" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e194641f6f14397da30b4627889113c0033b3ff2a6dfb4a4ba1962d24033dbc" dependencies = [ "anyhow", "ark-bn254", @@ -2858,8 +3387,9 @@ dependencies = [ [[package]] name = "risc0-zkp" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f9973ed2591391c8d90bc5ff3102512879274102c6f12d63b0a20b1c132286a" dependencies = [ "anyhow", "blake2", @@ -2881,15 +3411,22 @@ dependencies = [ [[package]] name = "risc0-zkvm" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61d800cb93c9f711b9f78a9e3ea09b396d279134281529a5032dafbbc713ede6" dependencies = [ "anyhow", + "bincode", + "bonsai-sdk", "borsh", "bytemuck", + "bytes", "getrandom", "hex", + "lazy-regex", + "prost", "risc0-binfmt", + "risc0-build", "risc0-circuit-keccak", "risc0-circuit-recursion", "risc0-circuit-rv32im", @@ -2902,15 +3439,18 @@ dependencies = [ "serde", "sha2", "stability", + "tempfile", "tracing", ] [[package]] name = "risc0-zkvm-platform" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2127f726a7d6ecf76c53110d3b6070c08a40111c5ef7e8c0fb58c40c4618244" dependencies = [ "bytemuck", + "cfg-if", "getrandom", "libm", "stability", @@ -2924,7 +3464,7 @@ checksum = "b11a153aec4a6ab60795f8ebe2923c597b16b05bb1504377451e705ef1a45323" dependencies = [ "bytecheck", "bytes", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "indexmap 2.6.0", "munge", "ptr_meta", @@ -2943,7 +3483,7 @@ checksum = "beb382a4d9f53bd5c0be86b10d8179c3f8a14c30bf774ff77096ed6581e35981" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3006,6 +3546,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + [[package]] name = "rustc-hash" version = "2.0.0" @@ -3052,6 +3598,49 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.23.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.18" @@ -3130,6 +3719,9 @@ name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] [[package]] name = "semver-parser" @@ -3157,7 +3749,7 @@ checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3173,6 +3765,18 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "serde_with" version = "3.11.0" @@ -3200,7 +3804,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3215,8 +3819,8 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" -source = "git+https://github.com/risc0/RustCrypto-hashes?tag=sha2-v0.10.6-risczero.0#7fd6900c4f637bd15ee2642dfa77110f8f1ad065" +version = "0.10.8" +source = "git+https://github.com/risc0/RustCrypto-hashes?tag=sha2-v0.10.8-risczero.0#244dc3b08788f7a4ccce14c66896ae3b4f24c166" dependencies = [ "cfg-if", "cpufeatures", @@ -3283,6 +3887,16 @@ dependencies = [ "serde", ] +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "spin" version = "0.9.8" @@ -3309,7 +3923,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3339,11 +3953,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3378,9 +3992,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" dependencies = [ "proc-macro2", "quote", @@ -3396,7 +4010,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3408,7 +4022,16 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", ] [[package]] @@ -3436,7 +4059,16 @@ version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.65", +] + +[[package]] +name = "thiserror" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +dependencies = [ + "thiserror-impl 2.0.11", ] [[package]] @@ -3447,7 +4079,18 @@ checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", ] [[package]] @@ -3513,10 +4156,9 @@ dependencies = [ [[package]] name = "tiny-keccak" version = "2.0.2" -source = "git+https://github.com/risc0/tiny-keccak?rev=01e787dcb9b8a5d21857af37c4d51a4028a03fc4#01e787dcb9b8a5d21857af37c4d51a4028a03fc4" +source = "git+https://github.com/risc0/tiny-keccak?tag=tiny-keccak/v2.0.2-risczero.0#8fcc866dc94dcec3e79c3b2bc8fbc51b22f2d5e1" dependencies = [ "crunchy", - "risc0-zkvm", ] [[package]] @@ -3534,6 +4176,44 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "tokio" +version = "1.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml_datetime" version = "0.6.8" @@ -3551,6 +4231,33 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + [[package]] name = "tracing" version = "0.1.40" @@ -3571,7 +4278,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3593,6 +4300,12 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + [[package]] name = "typenum" version = "1.17.0" @@ -3656,6 +4369,12 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.2" @@ -3694,6 +4413,15 @@ dependencies = [ "libc", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3722,10 +4450,22 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.95" @@ -3744,7 +4484,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3755,13 +4495,94 @@ version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "windows-core" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", ] [[package]] @@ -3770,7 +4591,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -3779,7 +4600,22 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -3788,28 +4624,46 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -3822,24 +4676,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -3882,7 +4760,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3902,7 +4780,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3913,6 +4791,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "anyhow", + "hashbrown 0.15.2", "k256", "pot", "reth-chainspec", @@ -3921,7 +4800,7 @@ dependencies = [ "reth-storage-errors", "rkyv", "serde", - "thiserror", + "thiserror 1.0.65", "tiny-keccak", ] diff --git a/guests/reth-ethereum/Cargo.toml b/guests/reth-ethereum/Cargo.toml index 8b33eb70..8be0ba0c 100644 --- a/guests/reth-ethereum/Cargo.toml +++ b/guests/reth-ethereum/Cargo.toml @@ -15,14 +15,11 @@ codegen-units = 1 opt-level = 3 [dependencies.risc0-zkvm] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" -default-features = false -features = ["std", "unstable"] +version = "1.2.1-rc.1" +features = ["unstable"] [dependencies.risc0-zkvm-platform] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" features = ["sys-getenv"] [dependencies.zeth-core] @@ -40,5 +37,5 @@ c-kzg = { version = "=1.0.3", features = ["risc0-ffi"] } c-kzg = { git = "https://github.com/risc0/c-kzg-4844.git", branch = "p1.0.3" } crypto-bigint = { git = "https://github.com/risc0/RustCrypto-crypto-bigint", tag = "v0.5.5-risczero.0" } k256 = { git = "https://github.com/risc0/RustCrypto-elliptic-curves", tag = "k256/v0.13.3-risczero.1" } -sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.6-risczero.0" } -tiny-keccak = { git = "https://github.com/risc0/tiny-keccak", rev = "01e787dcb9b8a5d21857af37c4d51a4028a03fc4" } +sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.8-risczero.0" } +tiny-keccak = { git = "https://github.com/risc0/tiny-keccak", tag = "tiny-keccak/v2.0.2-risczero.0" } diff --git a/guests/reth-optimism/Cargo.lock b/guests/reth-optimism/Cargo.lock index 0f25a72b..72fccf23 100644 --- a/guests/reth-optimism/Cargo.lock +++ b/guests/reth-optimism/Cargo.lock @@ -2,6 +2,21 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "ahash" version = "0.8.11" @@ -23,6 +38,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "alloy-chains" version = "0.1.43" @@ -130,7 +151,7 @@ dependencies = [ "derive_more", "foldhash", "getrandom", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "hex-literal", "indexmap 2.6.0", "itoa", @@ -165,7 +186,7 @@ checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -221,7 +242,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -232,12 +253,12 @@ checksum = "9ed5047c9a241df94327879c2b0729155b58b941eae7805a7ada2e19436e6b39" dependencies = [ "alloy-sol-macro-input", "const-hex", - "heck", + "heck 0.5.0", "indexmap 2.6.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "syn-solidity", "tiny-keccak", ] @@ -250,10 +271,10 @@ checksum = "5dee02a81f529c415082235129f0df8b8e60aa1601b9c9298ffe54d75f57210b" dependencies = [ "const-hex", "dunce", - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "syn-solidity", ] @@ -562,7 +583,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -571,6 +592,21 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + [[package]] name = "base16ct" version = "0.2.0" @@ -595,6 +631,15 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -674,6 +719,19 @@ dependencies = [ "zeroize", ] +[[package]] +name = "bonsai-sdk" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa98bac2c125e6f7d5f73fd5bc99d3cf1c633993b4c603a973731e0b358e3e9c" +dependencies = [ + "duplicate", + "maybe-async", + "reqwest", + "serde", + "thiserror 1.0.65", +] + [[package]] name = "borsh" version = "1.5.1" @@ -694,7 +752,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "syn_derive", ] @@ -730,7 +788,7 @@ checksum = "523363cbe1df49b68215efdf500b103ac3b0fb4836aed6d15689a076eadb8fff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -750,7 +808,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -782,6 +840,38 @@ dependencies = [ "serde", ] +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror 1.0.65", +] + [[package]] name = "cc" version = "1.1.31" @@ -815,7 +905,7 @@ dependencies = [ "iana-time-zone", "num-traits", "serde", - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -971,7 +1061,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -982,7 +1072,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1035,7 +1125,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "unicode-xid", ] @@ -1060,6 +1150,33 @@ dependencies = [ "subtle", ] +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "docker-generate" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf673e0848ef09fa4aeeba78e681cf651c0c7d35f76ee38cec8e55bc32fa111" + [[package]] name = "downcast-rs" version = "1.2.1" @@ -1072,6 +1189,16 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "duplicate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de78e66ac9061e030587b2a2e75cc88f22304913c907b11307bca737141230cb" +dependencies = [ + "heck 0.4.1", + "proc-macro-error", +] + [[package]] name = "dyn-clone" version = "1.0.17" @@ -1150,7 +1277,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1238,7 +1365,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1262,12 +1389,28 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + [[package]] name = "futures-core" version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + [[package]] name = "futures-macro" version = "0.3.31" @@ -1276,9 +1419,15 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + [[package]] name = "futures-task" version = "0.3.31" @@ -1292,8 +1441,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", + "futures-io", "futures-macro", + "futures-sink", "futures-task", + "memchr", "pin-project-lite", "pin-utils", "slab", @@ -1317,10 +1469,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + [[package]] name = "glob" version = "0.3.1" @@ -1365,14 +1525,23 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "allocator-api2", + "equivalent", "foldhash", + "rayon", "serde", ] +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -1409,6 +1578,102 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "hyper" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + [[package]] name = "iana-time-zone" version = "0.1.61" @@ -1492,10 +1757,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "serde", ] +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + [[package]] name = "itertools" version = "0.10.5" @@ -1573,6 +1844,29 @@ dependencies = [ "sha3-asm", ] +[[package]] +name = "lazy-regex" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126" +dependencies = [ + "lazy-regex-proc_macros", + "once_cell", + "regex", +] + +[[package]] +name = "lazy-regex-proc_macros" +version = "3.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.96", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -1594,6 +1888,16 @@ version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + [[package]] name = "linux-raw-sys" version = "0.4.14" @@ -1625,6 +1929,17 @@ dependencies = [ "libc", ] +[[package]] +name = "maybe-async" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "memchr" version = "2.7.4" @@ -1665,7 +1980,33 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.85", + "syn 2.0.96", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.52.0", ] [[package]] @@ -1706,7 +2047,7 @@ checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1816,7 +2157,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -1841,6 +2182,15 @@ dependencies = [ "malloc_buf", ] +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" version = "1.20.2" @@ -1880,6 +2230,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + [[package]] name = "p256" version = "0.13.2" @@ -1947,7 +2303,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.65", "ucd-trie", ] @@ -2049,6 +2405,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", + "syn 1.0.109", "version_check", ] @@ -2082,14 +2439,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -2114,6 +2471,29 @@ dependencies = [ "unarray", ] +[[package]] +name = "prost" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2", + "quote", + "syn 2.0.96", +] + [[package]] name = "ptr_meta" version = "0.3.0" @@ -2131,7 +2511,7 @@ checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -2141,27 +2521,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] -name = "quote" -version = "1.0.37" +name = "quinn" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ - "proc-macro2", + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.11", + "tokio", + "tracing", ] [[package]] -name = "radium" -version = "0.7.0" +name = "quinn-proto" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom", + "rand", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.11", + "tinyvec", + "tracing", + "web-time", +] [[package]] -name = "rancor" -version = "0.1.0" +name = "quinn-udp" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ - "ptr_meta", + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rancor" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947" +dependencies = [ + "ptr_meta", ] [[package]] @@ -2224,6 +2656,17 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom", + "libredox", + "thiserror 1.0.65", +] + [[package]] name = "regex" version = "1.11.1" @@ -2262,6 +2705,52 @@ dependencies = [ "bytecheck", ] +[[package]] +name = "reqwest" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "windows-registry", +] + [[package]] name = "reth-chainspec" version = "1.1.0" @@ -2307,7 +2796,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -2444,7 +2933,7 @@ source = "git+https://github.com/risc0/reth?branch=p1.1.0_zstd#760183fd601f61a3f dependencies = [ "serde", "serde_json", - "thiserror", + "thiserror 1.0.65", ] [[package]] @@ -2465,7 +2954,7 @@ dependencies = [ "alloy-rlp", "enr", "serde_with", - "thiserror", + "thiserror 1.0.65", "url", ] @@ -2524,7 +3013,7 @@ dependencies = [ "reth-revm", "revm", "revm-primitives", - "thiserror", + "thiserror 1.0.65", "tracing", ] @@ -2600,7 +3089,7 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "thiserror", + "thiserror 1.0.65", ] [[package]] @@ -2790,6 +3279,21 @@ dependencies = [ "subtle", ] +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + [[package]] name = "ripemd" version = "0.1.3" @@ -2811,8 +3315,9 @@ dependencies = [ [[package]] name = "risc0-binfmt" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421b1d25e39b0a7c0bbb5bf662824bc102ef97b0ca1ddca7bfe142378e4e9127" dependencies = [ "anyhow", "borsh", @@ -2823,10 +3328,30 @@ dependencies = [ "tracing", ] +[[package]] +name = "risc0-build" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21f1cd28e2ff0d478d7714d710efd739d9876cbf81dab145a57bc8582433b028" +dependencies = [ + "anyhow", + "cargo_metadata", + "dirs", + "docker-generate", + "hex", + "risc0-binfmt", + "risc0-zkp", + "risc0-zkvm-platform", + "serde", + "serde_json", + "tempfile", +] + [[package]] name = "risc0-circuit-keccak" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3806bfd8212934741033e424b5eafa86c67c660c7ba98e9492e0762e57afc21e" dependencies = [ "anyhow", "bytemuck", @@ -2840,8 +3365,9 @@ dependencies = [ [[package]] name = "risc0-circuit-recursion" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea982a66c4f3337366454afc9d3c80eb3333c95ae94570ddc4c6c0fe53cf9f4" dependencies = [ "anyhow", "bytemuck", @@ -2854,8 +3380,9 @@ dependencies = [ [[package]] name = "risc0-circuit-rv32im" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da32b112b4bc86b35b6706fb7959a0bcfb8954ac9d040ad7f7aa88c8a054af1f" dependencies = [ "anyhow", "metal", @@ -2869,8 +3396,9 @@ dependencies = [ [[package]] name = "risc0-core" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baa498c93c2ec128b410639df28796bd7e0a20cac95fadb39595fb6cb3147fc0" dependencies = [ "bytemuck", "rand_core", @@ -2878,8 +3406,9 @@ dependencies = [ [[package]] name = "risc0-groth16" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e194641f6f14397da30b4627889113c0033b3ff2a6dfb4a4ba1962d24033dbc" dependencies = [ "anyhow", "ark-bn254", @@ -2898,8 +3427,9 @@ dependencies = [ [[package]] name = "risc0-zkp" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f9973ed2591391c8d90bc5ff3102512879274102c6f12d63b0a20b1c132286a" dependencies = [ "anyhow", "blake2", @@ -2921,15 +3451,22 @@ dependencies = [ [[package]] name = "risc0-zkvm" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61d800cb93c9f711b9f78a9e3ea09b396d279134281529a5032dafbbc713ede6" dependencies = [ "anyhow", + "bincode", + "bonsai-sdk", "borsh", "bytemuck", + "bytes", "getrandom", "hex", + "lazy-regex", + "prost", "risc0-binfmt", + "risc0-build", "risc0-circuit-keccak", "risc0-circuit-recursion", "risc0-circuit-rv32im", @@ -2942,15 +3479,18 @@ dependencies = [ "serde", "sha2", "stability", + "tempfile", "tracing", ] [[package]] name = "risc0-zkvm-platform" -version = "1.3.0-alpha.1" -source = "git+https://github.com/risc0/risc0?rev=8801e2e3cd030acea2f03f01bd91f37e47e79e23#8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2127f726a7d6ecf76c53110d3b6070c08a40111c5ef7e8c0fb58c40c4618244" dependencies = [ "bytemuck", + "cfg-if", "getrandom", "libm", "stability", @@ -2964,7 +3504,7 @@ checksum = "b11a153aec4a6ab60795f8ebe2923c597b16b05bb1504377451e705ef1a45323" dependencies = [ "bytecheck", "bytes", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "indexmap 2.6.0", "munge", "ptr_meta", @@ -2983,7 +3523,7 @@ checksum = "beb382a4d9f53bd5c0be86b10d8179c3f8a14c30bf774ff77096ed6581e35981" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3046,6 +3586,12 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + [[package]] name = "rustc-hash" version = "2.0.0" @@ -3092,6 +3638,49 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.23.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.18" @@ -3170,6 +3759,9 @@ name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] [[package]] name = "semver-parser" @@ -3197,7 +3789,7 @@ checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3213,6 +3805,18 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "serde_with" version = "3.11.0" @@ -3240,7 +3844,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3255,8 +3859,8 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" -source = "git+https://github.com/risc0/RustCrypto-hashes?tag=sha2-v0.10.6-risczero.0#7fd6900c4f637bd15ee2642dfa77110f8f1ad065" +version = "0.10.8" +source = "git+https://github.com/risc0/RustCrypto-hashes?tag=sha2-v0.10.8-risczero.0#244dc3b08788f7a4ccce14c66896ae3b4f24c166" dependencies = [ "cfg-if", "cpufeatures", @@ -3323,6 +3927,16 @@ dependencies = [ "serde", ] +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "spin" version = "0.9.8" @@ -3349,7 +3963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3379,11 +3993,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3418,9 +4032,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" dependencies = [ "proc-macro2", "quote", @@ -3436,7 +4050,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3448,7 +4062,16 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", ] [[package]] @@ -3476,7 +4099,16 @@ version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.65", +] + +[[package]] +name = "thiserror" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" +dependencies = [ + "thiserror-impl 2.0.11", ] [[package]] @@ -3487,7 +4119,18 @@ checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.96", ] [[package]] @@ -3553,10 +4196,9 @@ dependencies = [ [[package]] name = "tiny-keccak" version = "2.0.2" -source = "git+https://github.com/risc0/tiny-keccak?rev=01e787dcb9b8a5d21857af37c4d51a4028a03fc4#01e787dcb9b8a5d21857af37c4d51a4028a03fc4" +source = "git+https://github.com/risc0/tiny-keccak?tag=tiny-keccak/v2.0.2-risczero.0#8fcc866dc94dcec3e79c3b2bc8fbc51b22f2d5e1" dependencies = [ "crunchy", - "risc0-zkvm", ] [[package]] @@ -3574,6 +4216,44 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" +[[package]] +name = "tokio" +version = "1.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml_datetime" version = "0.6.8" @@ -3591,6 +4271,33 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + [[package]] name = "tracing" version = "0.1.40" @@ -3611,7 +4318,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3633,6 +4340,12 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + [[package]] name = "typenum" version = "1.17.0" @@ -3696,6 +4409,12 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.2" @@ -3734,6 +4453,15 @@ dependencies = [ "libc", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -3762,10 +4490,22 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.95" @@ -3784,7 +4524,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3795,13 +4535,94 @@ version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "windows-core" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", ] [[package]] @@ -3810,7 +4631,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", ] [[package]] @@ -3819,7 +4640,22 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", ] [[package]] @@ -3828,28 +4664,46 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -3862,24 +4716,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -3922,7 +4800,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3942,7 +4820,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.96", ] [[package]] @@ -3953,6 +4831,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "anyhow", + "hashbrown 0.15.2", "k256", "pot", "reth-chainspec", @@ -3961,7 +4840,7 @@ dependencies = [ "reth-storage-errors", "rkyv", "serde", - "thiserror", + "thiserror 1.0.65", "tiny-keccak", ] diff --git a/guests/reth-optimism/Cargo.toml b/guests/reth-optimism/Cargo.toml index 6b981d83..9794634b 100644 --- a/guests/reth-optimism/Cargo.toml +++ b/guests/reth-optimism/Cargo.toml @@ -15,14 +15,11 @@ codegen-units = 1 opt-level = 3 [dependencies.risc0-zkvm] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" -default-features = false +version = "1.2.1-rc.1" features = ["std", "unstable"] [dependencies.risc0-zkvm-platform] -git = "https://github.com/risc0/risc0" -rev = "8801e2e3cd030acea2f03f01bd91f37e47e79e23" +version = "1.2.1-rc.1" features = ["sys-getenv"] [dependencies.zeth-core] @@ -40,5 +37,5 @@ c-kzg = { version = "=1.0.3", features = ["risc0-ffi"] } c-kzg = { git = "https://github.com/risc0/c-kzg-4844.git", branch = "p1.0.3" } crypto-bigint = { git = "https://github.com/risc0/RustCrypto-crypto-bigint", tag = "v0.5.5-risczero.0" } k256 = { git = "https://github.com/risc0/RustCrypto-elliptic-curves", tag = "k256/v0.13.3-risczero.1" } -sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.6-risczero.0" } -tiny-keccak = { git = "https://github.com/risc0/tiny-keccak", rev = "01e787dcb9b8a5d21857af37c4d51a4028a03fc4" } +sha2 = { git = "https://github.com/risc0/RustCrypto-hashes", tag = "sha2-v0.10.8-risczero.0" } +tiny-keccak = { git = "https://github.com/risc0/tiny-keccak", tag = "tiny-keccak/v2.0.2-risczero.0" } From 788371ce9768dfa843736ea3e4eb4f20fd594407 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 07:15:01 +0200 Subject: [PATCH 02/11] patch homestead sigs --- crates/core-ethereum/src/lib.rs | 13 ++++++++++--- crates/core/src/stateless/engine.rs | 2 ++ crates/preflight/src/client.rs | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/crates/core-ethereum/src/lib.rs b/crates/core-ethereum/src/lib.rs index e5ed95e6..73a0b8e6 100644 --- a/crates/core-ethereum/src/lib.rs +++ b/crates/core-ethereum/src/lib.rs @@ -18,7 +18,7 @@ use crate::chain_spec::{DEV, HOLESKY, MAINNET, SEPOLIA}; use anyhow::Context; use k256::ecdsa::signature::hazmat::PrehashVerifier; use k256::ecdsa::VerifyingKey; -use reth_chainspec::{ChainSpec, NamedChain}; +use reth_chainspec::{ChainSpec, EthereumHardforks, NamedChain}; use reth_consensus::Consensus; use reth_ethereum_consensus::EthBeaconConsensus; use reth_evm::execute::{ @@ -126,8 +126,15 @@ where let vk = &signers[i]; let sig = tx.signature(); - sig.to_k256() - .and_then(|sig| vk.verify_prehash(tx.signature_hash().as_slice(), &sig)) + let sig = if !chain_spec.is_homestead_active_at_block(block.number) { + sig.normalize_s() + .map(|s| s.to_k256()) + .unwrap_or_else(|| sig.to_k256()) + } else { + sig.to_k256() + }; + + sig.and_then(|sig| vk.verify_prehash(tx.signature_hash().as_slice(), &sig)) .with_context(|| format!("invalid signature for tx {i}"))?; senders.push(Address::from_public_key(vk)) diff --git a/crates/core/src/stateless/engine.rs b/crates/core/src/stateless/engine.rs index 878d00df..e216791e 100644 --- a/crates/core/src/stateless/engine.rs +++ b/crates/core/src/stateless/engine.rs @@ -154,6 +154,7 @@ impl StatelessClientEngine StatelessClientEngine Date: Wed, 15 Jan 2025 07:30:56 +0200 Subject: [PATCH 03/11] patch trie db --- crates/core/src/stateless/initialize.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/crates/core/src/stateless/initialize.rs b/crates/core/src/stateless/initialize.rs index 5bd42ddd..51a16a71 100644 --- a/crates/core/src/stateless/initialize.rs +++ b/crates/core/src/stateless/initialize.rs @@ -64,6 +64,23 @@ impl InitializationStrategy for TrieDbInitia .map(|bytes| (keccak(&bytes).into(), Bytecode::new_raw(bytes))) .collect(); + // Verify account data in db + for (address, StorageEntry { storage_trie, .. }) in storage_tries.iter() { + // load the account from the state trie + let state_account = state_trie.get_rlp::(&keccak(address))?; + + // check that the account storage root matches the storage trie root of the input + let storage_root = state_account.map_or(EMPTY_ROOT_HASH, |a| a.storage_root); + if storage_root != storage_trie.hash() { + bail!( + "Invalid storage trie for {}: expected {}, got {}", + address, + storage_root, + storage_trie.hash() + ) + } + } + // prepare block hash history let mut block_hashes: HashMap = HashMap::with_capacity_and_hasher(ancestor_headers.len() + 1, Default::default()); From 2babce83f5320ba89ca96e582952f25a44d674e1 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 07:36:56 +0200 Subject: [PATCH 04/11] revert to MemDB --- guests/reth-ethereum/src/main.rs | 6 +++--- guests/reth-optimism/src/main.rs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/guests/reth-ethereum/src/main.rs b/guests/reth-ethereum/src/main.rs index 2db0d6a5..9cfe50e3 100644 --- a/guests/reth-ethereum/src/main.rs +++ b/guests/reth-ethereum/src/main.rs @@ -13,7 +13,7 @@ // limitations under the License. use risc0_zkvm::guest::env; -use zeth_core::db::trie::TrieDB; +use zeth_core::db::memory::MemoryDB; use zeth_core::stateless::client::StatelessClient; use zeth_core_ethereum::{RethCoreDriver, RethStatelessClient}; @@ -28,7 +28,7 @@ fn main() { let stateless_client_data_pot = env::read_frame(); env::log("Deserializing input data"); let stateless_client_data = - >::data_from_parts( + >::data_from_parts( &stateless_client_data_rkyv, &stateless_client_data_pot, ) @@ -41,7 +41,7 @@ fn main() { let chain_id = stateless_client_data.chain as u64; // Build the block env::log("Validating blocks"); - let engine = >::validate( + let engine = >::validate( stateless_client_data, ) .expect("block validation failed"); diff --git a/guests/reth-optimism/src/main.rs b/guests/reth-optimism/src/main.rs index e86f9c36..68eb7200 100644 --- a/guests/reth-optimism/src/main.rs +++ b/guests/reth-optimism/src/main.rs @@ -13,7 +13,7 @@ // limitations under the License. use risc0_zkvm::guest::env; -use zeth_core::db::trie::TrieDB; +use zeth_core::db::memory::MemoryDB; use zeth_core::stateless::client::StatelessClient; use zeth_core_optimism::{OpRethCoreDriver, OpRethStatelessClient}; @@ -28,7 +28,7 @@ fn main() { let stateless_client_data_pot = env::read_frame(); env::log("Deserializing input data"); let stateless_client_data = - >::data_from_parts( + >::data_from_parts( &stateless_client_data_rkyv, &stateless_client_data_pot, ) @@ -41,7 +41,7 @@ fn main() { let chain_id = stateless_client_data.chain as u64; // Build the block env::log("Validating blocks"); - let engine = >::validate( + let engine = >::validate( stateless_client_data, ) .expect("block validation failed"); From fa55f28d72b69f5b411f8c221a4d9f6b0c6fb3f3 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 07:52:05 +0200 Subject: [PATCH 05/11] feat: hashbrown perf --- Cargo.toml | 2 +- crates/core/src/db/trie.rs | 7 +++-- crates/core/src/lib.rs | 1 + crates/core/src/map.rs | 40 +++++++++++++++++++++++++ crates/core/src/stateless/data.rs | 7 +++-- crates/core/src/stateless/finalize.rs | 7 +++-- crates/core/src/stateless/initialize.rs | 9 +++--- crates/preflight/src/client.rs | 5 ++-- crates/preflight/src/trie.rs | 3 +- 9 files changed, 64 insertions(+), 17 deletions(-) create mode 100644 crates/core/src/map.rs diff --git a/Cargo.toml b/Cargo.toml index 7c673e02..dfa020c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ alloy = { version = "0.4.2", features = ["full"] } alloy-chains = "0.1.38" alloy-consensus = "0.4.2" alloy-genesis = "0.4.2" -alloy-primitives = { version = "0.8.8", default-features = false, features = ["k256"] } +alloy-primitives = { version = "0.8.8", default-features = false, features = ["k256", "map-hashbrown"] } alloy-rlp = "0.3.8" op-alloy-consensus = "0.4.0" op-alloy-network = "0.4.0" diff --git a/crates/core/src/db/trie.rs b/crates/core/src/db/trie.rs index 7398b0c0..2d9f93ad 100644 --- a/crates/core/src/db/trie.rs +++ b/crates/core/src/db/trie.rs @@ -13,6 +13,7 @@ // limitations under the License. use crate::keccak::keccak; +use crate::map::NoMapHasher; use crate::mpt::MptNode; use crate::rescue::Recoverable; use crate::stateless::data::StorageEntry; @@ -27,9 +28,9 @@ use reth_storage_errors::provider::ProviderError; #[derive(Default)] pub struct TrieDB { pub accounts: MptNode, - pub storage: HashMap, - pub contracts: HashMap, - pub block_hashes: HashMap, + pub storage: HashMap, + pub contracts: HashMap, + pub block_hashes: HashMap, } impl Recoverable for TrieDB { diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 2916eb9c..a1e34ceb 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -15,6 +15,7 @@ pub mod db; pub mod driver; pub mod keccak; +pub mod map; pub mod mpt; pub mod rescue; pub mod stateless; diff --git a/crates/core/src/map.rs b/crates/core/src/map.rs new file mode 100644 index 00000000..b7938d51 --- /dev/null +++ b/crates/core/src/map.rs @@ -0,0 +1,40 @@ +// Copyright 2025 RISC Zero, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +use std::hash::{BuildHasher, Hasher}; + +#[derive(Clone, Default)] +pub struct NoMapHasher; + +impl BuildHasher for NoMapHasher { + type Hasher = NoHasher; + + fn build_hasher(&self) -> Self::Hasher { + NoHasher::default() + } +} + +#[derive(Default)] +pub struct NoHasher([u8; 8]); + +impl Hasher for NoHasher { + fn finish(&self) -> u64 { + u64::from_be_bytes(self.0) + } + + fn write(&mut self, bytes: &[u8]) { + let l = std::cmp::min(8, bytes.len()); + self.0[..l].copy_from_slice(&bytes[..l]); + } +} diff --git a/crates/core/src/stateless/data.rs b/crates/core/src/stateless/data.rs index 910693ae..54015ad9 100644 --- a/crates/core/src/stateless/data.rs +++ b/crates/core/src/stateless/data.rs @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +use crate::map::NoMapHasher; use crate::mpt::MptNode; use alloy_primitives::map::HashMap; use alloy_primitives::{Address, Bytes, U256}; @@ -92,7 +93,7 @@ pub struct _StatelessClientData { /// State trie of the parent block. pub state_trie: MptNode, /// Maps each address with its storage trie and the used storage slots. - pub storage_tries: HashMap, + pub storage_tries: HashMap, /// The code for each account pub contracts: Vec, /// Immediate parent header @@ -129,7 +130,7 @@ pub struct StatelessClientData { pub state_trie: MptNode, /// Maps each address with its storage trie and the used storage slots. #[rkyv(with = rkyv::with::MapKV)] - pub storage_tries: HashMap, + pub storage_tries: HashMap, /// The code for each account #[rkyv(with = rkyv::with::Map)] pub contracts: Vec, @@ -166,7 +167,7 @@ pub struct RkyvStatelessClientData { pub state_trie: MptNode, /// Maps each address with its storage trie and the used storage slots. #[rkyv(with = rkyv::with::MapKV)] - pub storage_tries: HashMap, + pub storage_tries: HashMap, /// The code for each account #[rkyv(with = rkyv::with::Map)] pub contracts: Vec, diff --git a/crates/core/src/stateless/finalize.rs b/crates/core/src/stateless/finalize.rs index 1310b529..a7567442 100644 --- a/crates/core/src/stateless/finalize.rs +++ b/crates/core/src/stateless/finalize.rs @@ -17,6 +17,7 @@ use crate::db::trie::TrieDB; use crate::db::update::{into_plain_state, Update}; use crate::driver::CoreDriver; use crate::keccak::keccak; +use crate::map::NoMapHasher; use crate::mpt::MptNode; use crate::stateless::data::StorageEntry; use alloy_consensus::Account; @@ -30,7 +31,7 @@ pub trait FinalizationStrategy { fn finalize_state( block: &mut Driver::Block, state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut HashMap, parent_header: &mut Driver::Header, db: Option<&mut Database>, bundle_state: BundleState, @@ -44,7 +45,7 @@ impl FinalizationStrategy for TrieDbFinaliza fn finalize_state( block: &mut Driver::Block, _state_trie: &mut MptNode, - _storage_tries: &mut HashMap, + _storage_tries: &mut HashMap, parent_header: &mut Driver::Header, db: Option<&mut TrieDB>, bundle_state: BundleState, @@ -89,7 +90,7 @@ impl FinalizationStrategy for MemoryDbFina fn finalize_state( block: &mut Driver::Block, state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut HashMap, parent_header: &mut Driver::Header, db: Option<&mut MemoryDB>, bundle_state: BundleState, diff --git a/crates/core/src/stateless/initialize.rs b/crates/core/src/stateless/initialize.rs index 51a16a71..78c18cdb 100644 --- a/crates/core/src/stateless/initialize.rs +++ b/crates/core/src/stateless/initialize.rs @@ -16,6 +16,7 @@ use crate::db::memory::MemoryDB; use crate::db::trie::TrieDB; use crate::driver::CoreDriver; use crate::keccak::keccak; +use crate::map::NoMapHasher; use crate::mpt::MptNode; use crate::stateless::data::StorageEntry; use alloy_consensus::constants::EMPTY_ROOT_HASH; @@ -32,7 +33,7 @@ use std::default::Default; pub trait InitializationStrategy { fn initialize_database( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut HashMap, contracts: &mut Vec, parent_header: &mut Driver::Header, ancestor_headers: &mut Vec, @@ -44,7 +45,7 @@ pub struct TrieDbInitializationStrategy; impl InitializationStrategy for TrieDbInitializationStrategy { fn initialize_database( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut HashMap, contracts: &mut Vec, parent_header: &mut Driver::Header, ancestor_headers: &mut Vec, @@ -82,7 +83,7 @@ impl InitializationStrategy for TrieDbInitia } // prepare block hash history - let mut block_hashes: HashMap = + let mut block_hashes: HashMap = HashMap::with_capacity_and_hasher(ancestor_headers.len() + 1, Default::default()); block_hashes.insert( Driver::block_number(parent_header), @@ -127,7 +128,7 @@ impl InitializationStrategy { fn initialize_database( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut HashMap, contracts: &mut Vec, parent_header: &mut Driver::Header, ancestor_headers: &mut Vec, diff --git a/crates/preflight/src/client.rs b/crates/preflight/src/client.rs index 82e8823b..80ee28bf 100644 --- a/crates/preflight/src/client.rs +++ b/crates/preflight/src/client.rs @@ -20,7 +20,7 @@ use crate::provider::{new_provider, Provider}; use crate::trie::extend_proof_tries; use alloy::network::Network; use alloy::primitives::map::HashMap; -use alloy::primitives::Bytes; +use alloy::primitives::{Address, Bytes}; use anyhow::Context; use log::{debug, info, warn}; use std::cell::RefCell; @@ -29,6 +29,7 @@ use std::path::PathBuf; use std::rc::Rc; use zeth_core::db::update::into_plain_state; use zeth_core::driver::CoreDriver; +use zeth_core::map::NoMapHasher; use zeth_core::mpt::{ parse_proof, resolve_nodes_in_place, shorten_node_path, MptNode, MptNodeReference, }; @@ -168,7 +169,7 @@ where let core_parent_header = P::derive_header(data.parent_header.clone()); let mut state_trie = MptNode::from(R::state_root(&core_parent_header)); - let mut storage_tries = Default::default(); + let mut storage_tries = HashMap::::default(); let mut contracts: Vec = Default::default(); let mut ancestor_headers: Vec = Default::default(); diff --git a/crates/preflight/src/trie.rs b/crates/preflight/src/trie.rs index 47d84a38..04356baf 100644 --- a/crates/preflight/src/trie.rs +++ b/crates/preflight/src/trie.rs @@ -19,6 +19,7 @@ use anyhow::Context; use std::collections::VecDeque; use std::iter; use zeth_core::keccak::keccak; +use zeth_core::map::NoMapHasher; use zeth_core::mpt::{ is_not_included, mpt_from_proof, parse_proof, prefix_nibs, resolve_nodes, resolve_nodes_in_place, shorten_node_path, MptNode, MptNodeData, MptNodeReference, @@ -29,7 +30,7 @@ pub type TrieOrphan = (B256, B256); pub type OrphanPair = (Vec, Vec<(Address, TrieOrphan)>); pub fn extend_proof_tries( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut HashMap, initialization_proofs: HashMap, finalization_proofs: HashMap, ) -> anyhow::Result { From e410346bde7bedd14454cdc76f570bc2416627d0 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 09:49:55 +0200 Subject: [PATCH 06/11] fix batching changeset updates --- crates/core/src/db/memory.rs | 25 +++++-------------------- crates/core/src/stateless/finalize.rs | 9 ++++++++- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/crates/core/src/db/memory.rs b/crates/core/src/db/memory.rs index 3982293c..07aa8cf4 100644 --- a/crates/core/src/db/memory.rs +++ b/crates/core/src/db/memory.rs @@ -15,9 +15,7 @@ use crate::db::unreachable::UnreachableDB; use crate::db::update::Update; use crate::rescue::Recoverable; -use alloy_primitives::map::HashSet; use alloy_primitives::{B256, U256}; -use reth_primitives::revm_primitives::AccountInfo; use reth_revm::db::states::{PlainStorageChangeset, StateChangeset}; use reth_revm::db::{AccountState, CacheDB}; @@ -32,22 +30,12 @@ impl Recoverable for CacheDB { impl Update for CacheDB { fn apply_changeset(&mut self, changeset: StateChangeset) -> anyhow::Result<()> { // Update accounts in state trie - let mut was_destroyed = HashSet::new(); for (address, account_info) in changeset.accounts { let db_account = self.accounts.get_mut(&address).unwrap(); - let Some(info) = account_info else { - db_account.storage.clear(); - db_account.account_state = AccountState::NotExisting; - db_account.info = AccountInfo::default(); - was_destroyed.insert(address); - continue; - }; - if info.code_hash != db_account.info.code_hash { - db_account.info = info; - } else { - db_account.info.balance = info.balance; - db_account.info.nonce = info.nonce; - } + // Reset the account state + db_account.account_state = AccountState::None; + // Update account info + db_account.info = account_info.unwrap_or_default(); } // Update account storages for PlainStorageChangeset { @@ -56,13 +44,10 @@ impl Update for CacheDB { storage, } in changeset.storage { - if was_destroyed.contains(&address) { - continue; - } let db_account = self.accounts.get_mut(&address).unwrap(); + db_account.account_state = AccountState::None; if wipe_storage { db_account.storage.clear(); - db_account.account_state = AccountState::StorageCleared; } for (key, val) in storage { db_account.storage.insert(key, val); diff --git a/crates/core/src/stateless/finalize.rs b/crates/core/src/stateless/finalize.rs index a7567442..474c2dd8 100644 --- a/crates/core/src/stateless/finalize.rs +++ b/crates/core/src/stateless/finalize.rs @@ -191,7 +191,14 @@ impl FinalizationStrategy for MemoryDbFina // Validate final state trie let header = Driver::block_header(block); - assert_eq!(Driver::state_root(header), state_trie.hash()); + if Driver::state_root(header) != state_trie.hash() { + bail!( + "Invalid state root (expected {:?}, got {:?}) at block #{}", + state_trie.hash(), + Driver::state_root(header), + Driver::block_number(header) + ); + } // Update the database if available if with_further_updates { From ca0b317ba3e1c3906687c950702822f31e12ab90 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 09:53:47 +0200 Subject: [PATCH 07/11] downgrade journal mismatch to warning message --- crates/preflight/src/lib.rs | 4 ++-- crates/zeth/src/lib.rs | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/preflight/src/lib.rs b/crates/preflight/src/lib.rs index 915f2c48..ad15aae6 100644 --- a/crates/preflight/src/lib.rs +++ b/crates/preflight/src/lib.rs @@ -18,7 +18,7 @@ use crate::provider::new_provider; use alloy::network::Network; use alloy::primitives::B256; use anyhow::Context; -use log::{info, warn}; +use log::{error, info, warn}; use provider::query::BlockQuery; use reth_chainspec::NamedChain; use std::path::PathBuf; @@ -166,7 +166,7 @@ where ); if final_difficulty.is_zero() { - warn!("Expecting a proof with a final chain difficulty value of zero in the journal.") + error!("Expecting a proof with a final chain difficulty value of zero in the journal.") } let journal = [ chain.to_be_bytes().as_slice(), diff --git a/crates/zeth/src/lib.rs b/crates/zeth/src/lib.rs index a2c9dd6e..3f2e6042 100644 --- a/crates/zeth/src/lib.rs +++ b/crates/zeth/src/lib.rs @@ -17,7 +17,7 @@ use crate::executor::build_executor_env; use alloy::network::Network; use alloy::primitives::B256; use clap::Parser; -use log::{error, info}; +use log::{error, info, warn}; use reth_chainspec::NamedChain; use risc0_zkvm::{default_executor, default_prover, is_dev_mode, ProverOpts, Receipt}; use std::fs::File; @@ -192,7 +192,9 @@ where session_info.journal.bytes }; // sanity check - assert_eq!(expected_journal, computed_journal); + if expected_journal != computed_journal { + warn!("Journal mismatch.") + } Ok(()) } From 64f79a6f52ee838d102d3206513efc097cbcf663 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 10:00:42 +0200 Subject: [PATCH 08/11] copyright years --- crates/core-ethereum/src/lib.rs | 2 +- crates/core/src/db/memory.rs | 2 +- crates/core/src/db/trie.rs | 2 +- crates/core/src/lib.rs | 2 +- crates/core/src/stateless/data.rs | 2 +- crates/core/src/stateless/engine.rs | 2 +- crates/core/src/stateless/finalize.rs | 2 +- crates/core/src/stateless/initialize.rs | 2 +- crates/preflight/src/client.rs | 2 +- crates/preflight/src/lib.rs | 2 +- crates/preflight/src/trie.rs | 2 +- crates/zeth/src/lib.rs | 2 +- guests/reth-ethereum/src/main.rs | 2 +- guests/reth-optimism/src/main.rs | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/crates/core-ethereum/src/lib.rs b/crates/core-ethereum/src/lib.rs index 73a0b8e6..e1ca01d8 100644 --- a/crates/core-ethereum/src/lib.rs +++ b/crates/core-ethereum/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/db/memory.rs b/crates/core/src/db/memory.rs index 07aa8cf4..56d599d1 100644 --- a/crates/core/src/db/memory.rs +++ b/crates/core/src/db/memory.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/db/trie.rs b/crates/core/src/db/trie.rs index 2d9f93ad..5a0836c7 100644 --- a/crates/core/src/db/trie.rs +++ b/crates/core/src/db/trie.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index a1e34ceb..b9a8fd4f 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/stateless/data.rs b/crates/core/src/stateless/data.rs index 54015ad9..3f4be5ce 100644 --- a/crates/core/src/stateless/data.rs +++ b/crates/core/src/stateless/data.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/stateless/engine.rs b/crates/core/src/stateless/engine.rs index e216791e..9eb300ee 100644 --- a/crates/core/src/stateless/engine.rs +++ b/crates/core/src/stateless/engine.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/stateless/finalize.rs b/crates/core/src/stateless/finalize.rs index 474c2dd8..34ef1856 100644 --- a/crates/core/src/stateless/finalize.rs +++ b/crates/core/src/stateless/finalize.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/core/src/stateless/initialize.rs b/crates/core/src/stateless/initialize.rs index 78c18cdb..5b974f33 100644 --- a/crates/core/src/stateless/initialize.rs +++ b/crates/core/src/stateless/initialize.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/preflight/src/client.rs b/crates/preflight/src/client.rs index 80ee28bf..e0ddd4fe 100644 --- a/crates/preflight/src/client.rs +++ b/crates/preflight/src/client.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/preflight/src/lib.rs b/crates/preflight/src/lib.rs index ad15aae6..bcf82a41 100644 --- a/crates/preflight/src/lib.rs +++ b/crates/preflight/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/preflight/src/trie.rs b/crates/preflight/src/trie.rs index 04356baf..b4ed4938 100644 --- a/crates/preflight/src/trie.rs +++ b/crates/preflight/src/trie.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/crates/zeth/src/lib.rs b/crates/zeth/src/lib.rs index 3f2e6042..9a61968c 100644 --- a/crates/zeth/src/lib.rs +++ b/crates/zeth/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/guests/reth-ethereum/src/main.rs b/guests/reth-ethereum/src/main.rs index 9cfe50e3..38bbeb46 100644 --- a/guests/reth-ethereum/src/main.rs +++ b/guests/reth-ethereum/src/main.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/guests/reth-optimism/src/main.rs b/guests/reth-optimism/src/main.rs index 68eb7200..fd78a7c5 100644 --- a/guests/reth-optimism/src/main.rs +++ b/guests/reth-optimism/src/main.rs @@ -1,4 +1,4 @@ -// Copyright 2024 RISC Zero, Inc. +// Copyright 2024, 2025 RISC Zero, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. From 75620704210d5243f2f19939f45ac3c1111e256f Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 10:01:47 +0200 Subject: [PATCH 09/11] todo nit --- guests/reth-ethereum/src/main.rs | 1 - guests/reth-optimism/src/main.rs | 1 - 2 files changed, 2 deletions(-) diff --git a/guests/reth-ethereum/src/main.rs b/guests/reth-ethereum/src/main.rs index 38bbeb46..630abccf 100644 --- a/guests/reth-ethereum/src/main.rs +++ b/guests/reth-ethereum/src/main.rs @@ -23,7 +23,6 @@ pub extern "C" fn __ctzsi2(x: u32) -> usize { } fn main() { - // todo: load up revm with hashbrown feat let stateless_client_data_rkyv = env::read_frame(); let stateless_client_data_pot = env::read_frame(); env::log("Deserializing input data"); diff --git a/guests/reth-optimism/src/main.rs b/guests/reth-optimism/src/main.rs index fd78a7c5..198c5f64 100644 --- a/guests/reth-optimism/src/main.rs +++ b/guests/reth-optimism/src/main.rs @@ -23,7 +23,6 @@ pub extern "C" fn __ctzsi2(x: u32) -> usize { } fn main() { - // todo: load up revm with hashbrown feat let stateless_client_data_rkyv = env::read_frame(); let stateless_client_data_pot = env::read_frame(); env::log("Deserializing input data"); From 8270a7bddd432afc97e2093d9bc82c0e30446c1f Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 10:06:15 +0200 Subject: [PATCH 10/11] readme nit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 902d5b3f..47b94e9b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ By using reth to run the block execution process within the zkVM, we obtain a ZK ## Status -Zeth uses version 1.1.3 of the RISC Zero zkVM and version 1.1.0 of reth (backed by revm 14.0.3), but its other components are not audited for use in production. +Zeth uses version `1.2.1-rc.1` of the RISC Zero zkVM and version 1.1.0 of reth (backed by revm 14.0.3), but its other components are not audited for use in production. ## Prerequisites 1. [rust](https://www.rust-lang.org/tools/install) From c42c73b9d851c416f6ffe2e39bc1f037b655b955 Mon Sep 17 00:00:00 2001 From: Rami Khalil Date: Wed, 15 Jan 2025 19:13:50 +0200 Subject: [PATCH 11/11] use alloy-primitives hashmap --- Cargo.lock | 17 ++++++++--------- Cargo.toml | 2 +- crates/core/src/db/trie.rs | 6 +++--- crates/core/src/stateless/data.rs | 9 ++++----- crates/core/src/stateless/finalize.rs | 11 +++++------ crates/core/src/stateless/initialize.rs | 10 +++++----- crates/preflight/src/client.rs | 7 +++---- crates/preflight/src/trie.rs | 5 ++--- guests/reth-ethereum/Cargo.lock | 17 ++++++++--------- guests/reth-optimism/Cargo.lock | 17 ++++++++--------- 10 files changed, 47 insertions(+), 54 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 79890841..0edd273b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -289,9 +289,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.8" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f35429a652765189c1c5092870d8360ee7b7769b09b06d89ebaefd34676446" +checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92" dependencies = [ "alloy-rlp", "bytes", @@ -301,7 +301,6 @@ dependencies = [ "foldhash", "getrandom", "hashbrown 0.15.2", - "hex-literal", "indexmap 2.6.0", "itoa", "k256", @@ -1442,9 +1441,9 @@ checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "const-hex" -version = "1.11.3" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -2149,9 +2148,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "foreign-types" @@ -5001,9 +5000,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" dependencies = [ "rand", ] diff --git a/Cargo.toml b/Cargo.toml index dfa020c0..342f60c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,7 @@ alloy = { version = "0.4.2", features = ["full"] } alloy-chains = "0.1.38" alloy-consensus = "0.4.2" alloy-genesis = "0.4.2" -alloy-primitives = { version = "0.8.8", default-features = false, features = ["k256", "map-hashbrown"] } +alloy-primitives = { version = "0.8.18", default-features = false, features = ["k256", "map-hashbrown"] } alloy-rlp = "0.3.8" op-alloy-consensus = "0.4.0" op-alloy-network = "0.4.0" diff --git a/crates/core/src/db/trie.rs b/crates/core/src/db/trie.rs index 5a0836c7..6206be44 100644 --- a/crates/core/src/db/trie.rs +++ b/crates/core/src/db/trie.rs @@ -18,7 +18,7 @@ use crate::mpt::MptNode; use crate::rescue::Recoverable; use crate::stateless::data::StorageEntry; use alloy_consensus::Account; -use alloy_primitives::map::HashMap; +use alloy_primitives::map::{AddressHashMap, B256HashMap, HashMap}; use alloy_primitives::{Address, B256, U256}; use reth_primitives::revm_primitives::db::Database; use reth_primitives::revm_primitives::{AccountInfo, Bytecode}; @@ -28,8 +28,8 @@ use reth_storage_errors::provider::ProviderError; #[derive(Default)] pub struct TrieDB { pub accounts: MptNode, - pub storage: HashMap, - pub contracts: HashMap, + pub storage: AddressHashMap, + pub contracts: B256HashMap, pub block_hashes: HashMap, } diff --git a/crates/core/src/stateless/data.rs b/crates/core/src/stateless/data.rs index 3f4be5ce..ed178126 100644 --- a/crates/core/src/stateless/data.rs +++ b/crates/core/src/stateless/data.rs @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -use crate::map::NoMapHasher; use crate::mpt::MptNode; -use alloy_primitives::map::HashMap; +use alloy_primitives::map::AddressHashMap; use alloy_primitives::{Address, Bytes, U256}; use k256::ecdsa::VerifyingKey; use k256::elliptic_curve::sec1::EncodedPoint; @@ -93,7 +92,7 @@ pub struct _StatelessClientData { /// State trie of the parent block. pub state_trie: MptNode, /// Maps each address with its storage trie and the used storage slots. - pub storage_tries: HashMap, + pub storage_tries: AddressHashMap, /// The code for each account pub contracts: Vec, /// Immediate parent header @@ -130,7 +129,7 @@ pub struct StatelessClientData { pub state_trie: MptNode, /// Maps each address with its storage trie and the used storage slots. #[rkyv(with = rkyv::with::MapKV)] - pub storage_tries: HashMap, + pub storage_tries: AddressHashMap, /// The code for each account #[rkyv(with = rkyv::with::Map)] pub contracts: Vec, @@ -167,7 +166,7 @@ pub struct RkyvStatelessClientData { pub state_trie: MptNode, /// Maps each address with its storage trie and the used storage slots. #[rkyv(with = rkyv::with::MapKV)] - pub storage_tries: HashMap, + pub storage_tries: AddressHashMap, /// The code for each account #[rkyv(with = rkyv::with::Map)] pub contracts: Vec, diff --git a/crates/core/src/stateless/finalize.rs b/crates/core/src/stateless/finalize.rs index 34ef1856..5b662601 100644 --- a/crates/core/src/stateless/finalize.rs +++ b/crates/core/src/stateless/finalize.rs @@ -17,12 +17,11 @@ use crate::db::trie::TrieDB; use crate::db::update::{into_plain_state, Update}; use crate::driver::CoreDriver; use crate::keccak::keccak; -use crate::map::NoMapHasher; use crate::mpt::MptNode; use crate::stateless::data::StorageEntry; use alloy_consensus::Account; -use alloy_primitives::map::HashMap; -use alloy_primitives::{Address, U256}; +use alloy_primitives::map::AddressHashMap; +use alloy_primitives::U256; use anyhow::{bail, Context}; use reth_revm::db::states::StateChangeset; use reth_revm::db::BundleState; @@ -31,7 +30,7 @@ pub trait FinalizationStrategy { fn finalize_state( block: &mut Driver::Block, state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut AddressHashMap, parent_header: &mut Driver::Header, db: Option<&mut Database>, bundle_state: BundleState, @@ -45,7 +44,7 @@ impl FinalizationStrategy for TrieDbFinaliza fn finalize_state( block: &mut Driver::Block, _state_trie: &mut MptNode, - _storage_tries: &mut HashMap, + _storage_tries: &mut AddressHashMap, parent_header: &mut Driver::Header, db: Option<&mut TrieDB>, bundle_state: BundleState, @@ -90,7 +89,7 @@ impl FinalizationStrategy for MemoryDbFina fn finalize_state( block: &mut Driver::Block, state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut AddressHashMap, parent_header: &mut Driver::Header, db: Option<&mut MemoryDB>, bundle_state: BundleState, diff --git a/crates/core/src/stateless/initialize.rs b/crates/core/src/stateless/initialize.rs index 5b974f33..6f9dbdee 100644 --- a/crates/core/src/stateless/initialize.rs +++ b/crates/core/src/stateless/initialize.rs @@ -21,8 +21,8 @@ use crate::mpt::MptNode; use crate::stateless::data::StorageEntry; use alloy_consensus::constants::EMPTY_ROOT_HASH; use alloy_consensus::Account; -use alloy_primitives::map::HashMap; -use alloy_primitives::{Address, Bytes, B256, U256}; +use alloy_primitives::map::{AddressHashMap, HashMap}; +use alloy_primitives::{Bytes, B256, U256}; use anyhow::{bail, ensure}; use core::mem::take; use reth_primitives::revm_primitives::Bytecode; @@ -33,7 +33,7 @@ use std::default::Default; pub trait InitializationStrategy { fn initialize_database( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut AddressHashMap, contracts: &mut Vec, parent_header: &mut Driver::Header, ancestor_headers: &mut Vec, @@ -45,7 +45,7 @@ pub struct TrieDbInitializationStrategy; impl InitializationStrategy for TrieDbInitializationStrategy { fn initialize_database( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut AddressHashMap, contracts: &mut Vec, parent_header: &mut Driver::Header, ancestor_headers: &mut Vec, @@ -128,7 +128,7 @@ impl InitializationStrategy { fn initialize_database( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut AddressHashMap, contracts: &mut Vec, parent_header: &mut Driver::Header, ancestor_headers: &mut Vec, diff --git a/crates/preflight/src/client.rs b/crates/preflight/src/client.rs index e0ddd4fe..7d6e0314 100644 --- a/crates/preflight/src/client.rs +++ b/crates/preflight/src/client.rs @@ -19,8 +19,8 @@ use crate::provider::query::{BlockQuery, UncleQuery}; use crate::provider::{new_provider, Provider}; use crate::trie::extend_proof_tries; use alloy::network::Network; -use alloy::primitives::map::HashMap; -use alloy::primitives::{Address, Bytes}; +use alloy::primitives::map::{AddressHashMap, HashMap}; +use alloy::primitives::Bytes; use anyhow::Context; use log::{debug, info, warn}; use std::cell::RefCell; @@ -29,7 +29,6 @@ use std::path::PathBuf; use std::rc::Rc; use zeth_core::db::update::into_plain_state; use zeth_core::driver::CoreDriver; -use zeth_core::map::NoMapHasher; use zeth_core::mpt::{ parse_proof, resolve_nodes_in_place, shorten_node_path, MptNode, MptNodeReference, }; @@ -169,7 +168,7 @@ where let core_parent_header = P::derive_header(data.parent_header.clone()); let mut state_trie = MptNode::from(R::state_root(&core_parent_header)); - let mut storage_tries = HashMap::::default(); + let mut storage_tries = AddressHashMap::::default(); let mut contracts: Vec = Default::default(); let mut ancestor_headers: Vec = Default::default(); diff --git a/crates/preflight/src/trie.rs b/crates/preflight/src/trie.rs index b4ed4938..1ba475f0 100644 --- a/crates/preflight/src/trie.rs +++ b/crates/preflight/src/trie.rs @@ -12,14 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -use alloy::primitives::map::HashMap; +use alloy::primitives::map::{AddressHashMap, HashMap}; use alloy::primitives::{Address, B256, U256}; use alloy::rpc::types::EIP1186AccountProofResponse; use anyhow::Context; use std::collections::VecDeque; use std::iter; use zeth_core::keccak::keccak; -use zeth_core::map::NoMapHasher; use zeth_core::mpt::{ is_not_included, mpt_from_proof, parse_proof, prefix_nibs, resolve_nodes, resolve_nodes_in_place, shorten_node_path, MptNode, MptNodeData, MptNodeReference, @@ -30,7 +29,7 @@ pub type TrieOrphan = (B256, B256); pub type OrphanPair = (Vec, Vec<(Address, TrieOrphan)>); pub fn extend_proof_tries( state_trie: &mut MptNode, - storage_tries: &mut HashMap, + storage_tries: &mut AddressHashMap, initialization_proofs: HashMap, finalization_proofs: HashMap, ) -> anyhow::Result { diff --git a/guests/reth-ethereum/Cargo.lock b/guests/reth-ethereum/Cargo.lock index 930c3007..523c962e 100644 --- a/guests/reth-ethereum/Cargo.lock +++ b/guests/reth-ethereum/Cargo.lock @@ -152,9 +152,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.8" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f35429a652765189c1c5092870d8360ee7b7769b09b06d89ebaefd34676446" +checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92" dependencies = [ "alloy-rlp", "bytes", @@ -164,7 +164,6 @@ dependencies = [ "foldhash", "getrandom", "hashbrown 0.15.2", - "hex-literal", "indexmap 2.6.0", "itoa", "k256", @@ -934,9 +933,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -1367,9 +1366,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "foreign-types" @@ -3554,9 +3553,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" dependencies = [ "rand", ] diff --git a/guests/reth-optimism/Cargo.lock b/guests/reth-optimism/Cargo.lock index 72fccf23..06c761ff 100644 --- a/guests/reth-optimism/Cargo.lock +++ b/guests/reth-optimism/Cargo.lock @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.8" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f35429a652765189c1c5092870d8360ee7b7769b09b06d89ebaefd34676446" +checksum = "ec878088ec6283ce1e90d280316aadd3d6ce3de06ff63d68953c855e7e447e92" dependencies = [ "alloy-rlp", "bytes", @@ -152,7 +152,6 @@ dependencies = [ "foldhash", "getrandom", "hashbrown 0.15.2", - "hex-literal", "indexmap 2.6.0", "itoa", "k256", @@ -910,9 +909,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -1343,9 +1342,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "foreign-types" @@ -3594,9 +3593,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" dependencies = [ "rand", ]