diff --git a/.github/workflows/unit.yml b/.github/workflows/unit.yml index 50f5fa6e38e8..fe76e1a4ceb7 100644 --- a/.github/workflows/unit.yml +++ b/.github/workflows/unit.yml @@ -26,23 +26,27 @@ jobs: matrix: include: - type: ethereum - args: --features "asm-keccak ethereum" --locked + args: --features "asm-keccak ethereum" --locked --workspace --exclude ef-tests partition: 1 total_partitions: 2 - type: ethereum - args: --features "asm-keccak ethereum" --locked + args: --features "asm-keccak ethereum" --locked --workspace --exclude ef-tests partition: 2 total_partitions: 2 - type: optimism - args: --features "asm-keccak optimism" --locked --exclude reth --exclude reth-bench --exclude "example-*" --exclude "reth-ethereum-*" --exclude "*-ethereum" + args: --features "asm-keccak optimism" --locked --exclude reth --exclude reth-bench --exclude "example-*" --exclude "reth-ethereum-*" --exclude "*-ethereum" --workspace --exclude ef-tests partition: 1 total_partitions: 2 - type: optimism - args: --features "asm-keccak optimism" --locked --exclude reth --exclude reth-bench --exclude "example-*" --exclude "reth-ethereum-*" --exclude "*-ethereum" + args: --features "asm-keccak optimism" --locked --exclude reth --exclude reth-bench --exclude "example-*" --exclude "reth-ethereum-*" --exclude "*-ethereum" --workspace --exclude ef-tests partition: 2 total_partitions: 2 + - type: scroll + args: -p reth-scroll-state-commitment --locked --features "scroll" + partition: 1 + total_partitions: 1 - type: book - args: --manifest-path book/sources/Cargo.toml + args: --manifest-path book/sources/Cargo.toml --workspace --exclude ef-tests partition: 1 total_partitions: 1 timeout-minutes: 30 @@ -62,9 +66,9 @@ jobs: - name: Run tests run: | cargo nextest run \ - ${{ matrix.args }} --workspace \ - --exclude ef-tests --no-tests=warn \ - --partition hash:${{ matrix.partition }}/2 \ + ${{ matrix.args }} \ + --no-tests=warn \ + --partition hash:${{ matrix.partition }}/${{ matrix.total_partitions }} \ -E "!kind(test)" state: diff --git a/Cargo.lock b/Cargo.lock index f59707bbf87f..2e06364b2c0b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli", + "gimli", ] [[package]] @@ -23,8 +23,8 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ - "crypto-common", - "generic-array", + "crypto-common", + "generic-array", ] [[package]] @@ -33,9 +33,9 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", + "cfg-if", + "cipher", + "cpufeatures", ] [[package]] @@ -44,12 +44,12 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", ] [[package]] @@ -58,11 +58,11 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "cfg-if", - "getrandom 0.2.15", - "once_cell", - "version_check", - "zerocopy", + "cfg-if", + "getrandom 0.2.15", + "once_cell", + "version_check", + "zerocopy", ] [[package]] @@ -71,7 +71,7 @@ version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ - "memchr", + "memchr", ] [[package]] @@ -80,7 +80,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e0966165eaf052580bd70eb1b32cb3d6245774c0104d1b2793e9650bf83b52a" dependencies = [ - "equator", + "equator", ] [[package]] @@ -95,27 +95,27 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" dependencies = [ - "alloc-no-stdlib", + "alloc-no-stdlib", ] [[package]] name = "allocator-api2" -version = "0.2.20" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.1.32" +version = "0.1.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf770dad29577cd3580f3dd09005799224a912b8cdfdd6dc04d030d42b3df4e" +checksum = "a0161082e0edd9013d23083465cc04b20e44b7a15646d36ba7b0cdb7cd6fe18f" dependencies = [ - "alloy-rlp", - "arbitrary", - "num_enum", - "proptest", - "serde", - "strum", + "alloy-rlp", + "arbitrary", + "num_enum", + "proptest", + "serde", + "strum 0.26.3", ] [[package]] @@ -124,17 +124,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae09ffd7c29062431dd86061deefe4e3c6f07fa0d674930095f8dcedb0baf02c" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "arbitrary", - "auto_impl", - "c-kzg", - "derive_more", - "rand 0.8.5", - "serde", - "serde_with", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "arbitrary", + "auto_impl", + "c-kzg", + "derive_more", + "rand 0.8.5", + "serde", + "serde_with", ] [[package]] @@ -143,36 +143,36 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66430a72d5bf5edead101c8c2f0a24bada5ec9f3cf9909b3e08b6d6899b4803e" dependencies = [ - "alloy-dyn-abi", - "alloy-json-abi", - "alloy-network", - "alloy-network-primitives", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-eth", - "alloy-sol-types", - "alloy-transport", - "futures", - "futures-util", - "thiserror 1.0.69", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-types-eth", + "alloy-sol-types", + "alloy-transport", + "futures", + "futures-util", + "thiserror 1.0.69", ] [[package]] name = "alloy-dyn-abi" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef2364c782a245cf8725ea6dbfca5f530162702b5d685992ea03ce64529136cc" +checksum = "80759b3f57b3b20fa7cd8fef6479930fc95461b58ff8adea6e87e618449c8a1d" dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-type-parser", - "alloy-sol-types", - "const-hex", - "derive_more", - "itoa", - "serde", - "serde_json", - "winnow", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", + "const-hex", + "derive_more", + "itoa", + "serde", + "serde_json", + "winnow", ] [[package]] @@ -181,27 +181,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "rand 0.8.5", - "serde", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "rand 0.8.5", + "serde", ] [[package]] name = "alloy-eip7702" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6cee6a35793f3db8a5ffe60e86c695f321d081a567211245f503e8c498fce8" +checksum = "4c986539255fb839d1533c128e190e557e52ff652c9ef62939e233a81dd93f7e" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "derive_more", - "k256", - "rand 0.8.5", - "serde", - "serde_with", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "derive_more", + "k256", + "rand 0.8.5", + "serde", + "serde_with", ] [[package]] @@ -210,19 +210,19 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b6aa3961694b30ba53d41006131a2fca3bdab22e4c344e46db2c639e7c2dfdd" dependencies = [ - "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "arbitrary", - "c-kzg", - "derive_more", - "ethereum_ssz", - "ethereum_ssz_derive", - "once_cell", - "serde", - "sha2 0.10.8", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "arbitrary", + "c-kzg", + "derive_more", + "ethereum_ssz", + "ethereum_ssz_derive", + "once_cell", + "serde", + "sha2 0.10.8", ] [[package]] @@ -231,21 +231,21 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e53f7877ded3921d18a0a9556d55bedf84535567198c9edab2aa23106da91855" dependencies = [ - "alloy-primitives", - "alloy-serde", - "serde", + "alloy-primitives", + "alloy-serde", + "serde", ] [[package]] name = "alloy-json-abi" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84c506bf264110fa7e90d9924f742f40ef53c6572ea56a0b0bd714a567ed389" +checksum = "ac4b22b3e51cac09fd2adfcc73b55f447b4df669f983c13f7894ec82b607c63f" dependencies = [ - "alloy-primitives", - "alloy-sol-type-parser", - "serde", - "serde_json", + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", ] [[package]] @@ -254,12 +254,12 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3694b7e480728c0b3e228384f223937f14c10caef5a4c766021190fc8f283d35" dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror 1.0.69", + "tracing", ] [[package]] @@ -268,21 +268,21 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea94b8ceb5c75d7df0a93ba0acc53b55a22b47b532b600a800a87ef04eb5b0b4" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "alloy-signer", - "alloy-sol-types", - "async-trait", - "auto_impl", - "futures-utils-wasm", - "serde", - "serde_json", - "thiserror 1.0.69", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] @@ -291,11 +291,11 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df9f3e281005943944d15ee8491534a1c7b3cbf7a7de26f8c433b842b93eb5f9" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-serde", - "serde", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", ] [[package]] @@ -304,47 +304,47 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9805d126f24be459b958973c0569c73e1aadd27d4535eee82b2b6764aa03616" dependencies = [ - "alloy-genesis", - "alloy-primitives", - "k256", - "rand 0.8.5", - "serde_json", - "tempfile", - "thiserror 1.0.69", - "tracing", - "url", + "alloy-genesis", + "alloy-primitives", + "k256", + "rand 0.8.5", + "serde_json", + "tempfile", + "thiserror 1.0.69", + "tracing", + "url", ] [[package]] name = "alloy-primitives" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fce5dbd6a4f118eecc4719eaa9c7ffc31c315e6c5ccde3642db927802312425" -dependencies = [ - "alloy-rlp", - "arbitrary", - "bytes", - "cfg-if", - "const-hex", - "derive_arbitrary", - "derive_more", - "foldhash", - "getrandom 0.2.15", - "hashbrown 0.15.1", - "hex-literal", - "indexmap 2.6.0", - "itoa", - "k256", - "keccak-asm", - "paste", - "proptest", - "proptest-derive", - "rand 0.8.5", - "ruint", - "rustc-hash 2.0.0", - "serde", - "sha3", - "tiny-keccak", +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9db948902dfbae96a73c2fbf1f7abec62af034ab883e4c777c3fd29702bd6e2c" +dependencies = [ + "alloy-rlp", + "arbitrary", + "bytes", + "cfg-if", + "const-hex", + "derive_arbitrary", + "derive_more", + "foldhash", + "getrandom 0.2.15", + "hashbrown 0.15.2", + "hex-literal", + "indexmap 2.7.0", + "itoa", + "k256", + "keccak-asm", + "paste", + "proptest", + "proptest-derive", + "rand 0.8.5", + "ruint", + "rustc-hash 2.1.0", + "serde", + "sha3", + "tiny-keccak", ] [[package]] @@ -353,39 +353,39 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c1f9eede27bf4c13c099e8e64d54efd7ce80ef6ea47478aa75d5d74e2dba3b" dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-network-primitives", - "alloy-primitives", - "alloy-pubsub", - "alloy-rpc-client", - "alloy-rpc-types-admin", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-transport", - "alloy-transport-http", - "alloy-transport-ws", - "async-stream", - "async-trait", - "auto_impl", - "dashmap 6.1.0", - "futures", - "futures-utils-wasm", - "lru", - "parking_lot", - "pin-project", - "reqwest", - "schnellru", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "url", - "wasmtimer", + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types-admin", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ws", + "async-stream", + "async-trait", + "auto_impl", + "dashmap 6.1.0", + "futures", + "futures-utils-wasm", + "lru", + "parking_lot", + "pin-project", + "reqwest", + "schnellru", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tracing", + "url", + "wasmtimer", ] [[package]] @@ -394,17 +394,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90f1f34232f77341076541c405482e4ae12f0ee7153d8f9969fc1691201b2247" dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-transport", - "bimap", - "futures", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower 0.5.1", - "tracing", + "alloy-json-rpc", + "alloy-primitives", + "alloy-transport", + "bimap", + "futures", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.5.1", + "tracing", ] [[package]] @@ -413,9 +413,9 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" dependencies = [ - "alloy-rlp-derive", - "arrayvec", - "bytes", + "alloy-rlp-derive", + "arrayvec", + "bytes", ] [[package]] @@ -424,9 +424,9 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -435,23 +435,23 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "374dbe0dc3abdc2c964f36b3d3edf9cdb3db29d16bda34aa123f03d810bec1dd" dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-pubsub", - "alloy-transport", - "alloy-transport-http", - "alloy-transport-ws", - "futures", - "pin-project", - "reqwest", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower 0.5.1", - "tracing", - "url", - "wasmtimer", + "alloy-json-rpc", + "alloy-primitives", + "alloy-pubsub", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ws", + "futures", + "pin-project", + "reqwest", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower 0.5.1", + "tracing", + "url", + "wasmtimer", ] [[package]] @@ -460,11 +460,11 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c74832aa474b670309c20fffc2a869fa141edab7c79ff7963fad0a08de60bae1" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-serde", - "serde", + "alloy-primitives", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", ] [[package]] @@ -473,10 +473,10 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bfd9b2cc3a1985f1f6da5afc41120256f9f9316fcd89e054cea99dbb10172f6" dependencies = [ - "alloy-genesis", - "alloy-primitives", - "serde", - "serde_json", + "alloy-genesis", + "alloy-primitives", + "serde", + "serde_json", ] [[package]] @@ -485,10 +485,10 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca97963132f78ddfc60e43a017348e6d52eea983925c23652f5b330e8e02291" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "serde", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", ] [[package]] @@ -497,12 +497,12 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "922fa76678d2f9f07ea1b19309b5cfbf244c6029dcba3515227b515fdd6ed4a7" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "serde", - "serde_with", - "thiserror 1.0.69", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "serde", + "serde_with", + "thiserror 1.0.69", ] [[package]] @@ -511,8 +511,8 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba2253bee958658ebd614c07a61c40580e09dd1fad3f017684314442332ab753" dependencies = [ - "alloy-primitives", - "serde", + "alloy-primitives", + "serde", ] [[package]] @@ -521,19 +521,19 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f56294dce86af23ad6ee8df46cf8b0d292eb5d1ff67dc88a0886051e32b1faf" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "derive_more", - "ethereum_ssz", - "ethereum_ssz_derive", - "jsonrpsee-types", - "jsonwebtoken", - "rand 0.8.5", - "serde", - "strum", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "derive_more", + "ethereum_ssz", + "ethereum_ssz_derive", + "jsonrpsee-types", + "jsonwebtoken", + "rand 0.8.5", + "serde", + "strum 0.26.3", ] [[package]] @@ -542,19 +542,19 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8a477281940d82d29315846c7216db45b15e90bcd52309da9f54bcf7ad94a11" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "alloy-sol-types", - "arbitrary", - "derive_more", - "itertools 0.13.0", - "jsonrpsee-types", - "serde", - "serde_json", + "alloy-consensus", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "arbitrary", + "derive_more", + "itertools 0.13.0", + "jsonrpsee-types", + "serde", + "serde_json", ] [[package]] @@ -563,11 +563,11 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8647f8135ee3d5de1cf196706c905c05728a4e38bb4a5b61a7214bd1ba8f60a6" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-serde", - "serde", - "serde_json", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", + "serde_json", ] [[package]] @@ -576,12 +576,12 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecd8b4877ef520c138af702097477cdd19504a8e1e4675ba37e92ba40f2d3c6f" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "serde", - "serde_json", - "thiserror 1.0.69", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] @@ -590,10 +590,10 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d4ab49acf90a71f7fb894dc5fd485f1f07a1e348966c714c4d1e0b7478850a8" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "serde", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "serde", ] [[package]] @@ -602,10 +602,10 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dfa4a7ccf15b2492bb68088692481fd6b2604ccbee1d0d6c44c21427ae4df83" dependencies = [ - "alloy-primitives", - "arbitrary", - "serde", - "serde_json", + "alloy-primitives", + "arbitrary", + "serde", + "serde_json", ] [[package]] @@ -614,12 +614,12 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e10aec39d60dc27edcac447302c7803d2371946fb737245320a05b78eb2fafd" dependencies = [ - "alloy-primitives", - "async-trait", - "auto_impl", - "elliptic-curve", - "k256", - "thiserror 1.0.69", + "alloy-primitives", + "async-trait", + "auto_impl", + "elliptic-curve", + "k256", + "thiserror 1.0.69", ] [[package]] @@ -628,86 +628,86 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8396f6dff60700bc1d215ee03d86ff56de268af96e2bf833a14d0bafcab9882" dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-signer", - "async-trait", - "coins-bip32", - "coins-bip39", - "k256", - "rand 0.8.5", - "thiserror 1.0.69", + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "coins-bip32", + "coins-bip39", + "k256", + "rand 0.8.5", + "thiserror 1.0.69", ] [[package]] name = "alloy-sol-macro" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9343289b4a7461ed8bab8618504c995c049c082b70c7332efd7b32125633dc05" +checksum = "3bfd7853b65a2b4f49629ec975fee274faf6dff15ab8894c620943398ef283c0" dependencies = [ - "alloy-sol-macro-expander", - "alloy-sol-macro-input", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.89", + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4222d70bec485ceccc5d8fd4f2909edd65b5d5e43d4aca0b5dcee65d519ae98f" +checksum = "82ec42f342d9a9261699f8078e57a7a4fda8aaa73c1a212ed3987080e6a9cd13" dependencies = [ - "alloy-sol-macro-input", - "const-hex", - "heck", - "indexmap 2.6.0", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.89", - "syn-solidity", - "tiny-keccak", + "alloy-sol-macro-input", + "const-hex", + "heck 0.5.0", + "indexmap 2.7.0", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.90", + "syn-solidity", + "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e17f2677369571b976e51ea1430eb41c3690d344fef567b840bfc0b01b6f83a" +checksum = "ed2c50e6a62ee2b4f7ab3c6d0366e5770a21cad426e109c2f40335a1b3aff3df" dependencies = [ - "const-hex", - "dunce", - "heck", - "proc-macro2", - "quote", - "syn 2.0.89", - "syn-solidity", + "const-hex", + "dunce", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", + "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa64d80ae58ffaafdff9d5d84f58d03775f66c84433916dc9a64ed16af5755da" +checksum = "ac17c6e89a50fb4a758012e4b409d9a0ba575228e69b539fe37d7a1bd507ca4a" dependencies = [ - "serde", - "winnow", + "serde", + "winnow", ] [[package]] name = "alloy-sol-types" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6520d427d4a8eb7aa803d852d7a52ceb0c519e784c292f64bb339e636918cf27" +checksum = "c9dc0fffe397aa17628160e16b89f704098bf3c9d74d5d369ebc239575936de5" dependencies = [ - "alloy-json-abi", - "alloy-primitives", - "alloy-sol-macro", - "const-hex", - "serde", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", ] [[package]] @@ -716,18 +716,18 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f99acddb34000d104961897dbb0240298e8b775a7efffb9fda2a1a3efedd65b3" dependencies = [ - "alloy-json-rpc", - "base64 0.22.1", - "futures-util", - "futures-utils-wasm", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tower 0.5.1", - "tracing", - "url", - "wasmtimer", + "alloy-json-rpc", + "base64 0.22.1", + "futures-util", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower 0.5.1", + "tracing", + "url", + "wasmtimer", ] [[package]] @@ -736,13 +736,13 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dc013132e34eeadaa0add7e74164c1503988bfba8bae885b32e0918ba85a8a6" dependencies = [ - "alloy-json-rpc", - "alloy-transport", - "reqwest", - "serde_json", - "tower 0.5.1", - "tracing", - "url", + "alloy-json-rpc", + "alloy-transport", + "reqwest", + "serde_json", + "tower 0.5.1", + "tracing", + "url", ] [[package]] @@ -751,17 +751,17 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063edc0660e81260653cc6a95777c29d54c2543a668aa5da2359fb450d25a1ba" dependencies = [ - "alloy-json-rpc", - "alloy-pubsub", - "alloy-transport", - "bytes", - "futures", - "interprocess", - "pin-project", - "serde_json", - "tokio", - "tokio-util", - "tracing", + "alloy-json-rpc", + "alloy-pubsub", + "alloy-transport", + "bytes", + "futures", + "interprocess", + "pin-project", + "serde_json", + "tokio", + "tokio-util", + "tracing", ] [[package]] @@ -770,36 +770,36 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abd170e600801116d5efe64f74a4fc073dbbb35c807013a7d0a388742aeebba0" dependencies = [ - "alloy-pubsub", - "alloy-transport", - "futures", - "http", - "rustls", - "serde_json", - "tokio", - "tokio-tungstenite", - "tracing", - "ws_stream_wasm", + "alloy-pubsub", + "alloy-transport", + "futures", + "http", + "rustls", + "serde_json", + "tokio", + "tokio-tungstenite", + "tracing", + "ws_stream_wasm", ] [[package]] name = "alloy-trie" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b2e366c0debf0af77766c23694a3f863b02633050e71e096e257ffbd395e50" +checksum = "3a5fd8fea044cc9a8c8a50bb6f28e31f0385d820f116c5b98f6f4e55d6e5590b" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "arrayvec", - "derive_arbitrary", - "derive_more", - "nybbles", - "proptest", - "proptest-derive", - "serde", - "smallvec", - "tracing", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "arrayvec", + "derive_arbitrary", + "derive_more", + "nybbles", + "proptest", + "proptest-derive", + "serde", + "smallvec", + "tracing", ] [[package]] @@ -814,7 +814,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ - "libc", + "libc", ] [[package]] @@ -829,13 +829,13 @@ version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", ] [[package]] @@ -850,7 +850,7 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ - "utf8parse", + "utf8parse", ] [[package]] @@ -859,7 +859,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.59.0", ] [[package]] @@ -868,15 +868,15 @@ version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ - "anstyle", - "windows-sys 0.59.0", + "anstyle", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" [[package]] name = "aquamarine" @@ -884,12 +884,12 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f50776554130342de4836ba542aa85a4ddb361690d7e8df13774d7284c3d5c2" dependencies = [ - "include_dir", - "itertools 0.10.5", - "proc-macro-error2", - "proc-macro2", - "quote", - "syn 2.0.89", + "include_dir", + "itertools 0.10.5", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -898,7 +898,7 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" dependencies = [ - "derive_arbitrary", + "derive_arbitrary", ] [[package]] @@ -907,16 +907,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" dependencies = [ - "ark-ff-asm 0.3.0", - "ark-ff-macros 0.3.0", - "ark-serialize 0.3.0", - "ark-std 0.3.0", - "derivative", - "num-bigint", - "num-traits", - "paste", - "rustc_version 0.3.3", - "zeroize", + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", ] [[package]] @@ -925,18 +925,18 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" dependencies = [ - "ark-ff-asm 0.4.2", - "ark-ff-macros 0.4.2", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "derivative", - "digest 0.10.7", - "itertools 0.10.5", - "num-bigint", - "num-traits", - "paste", - "rustc_version 0.4.1", - "zeroize", + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.1", + "zeroize", ] [[package]] @@ -945,8 +945,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" dependencies = [ - "quote", - "syn 1.0.109", + "quote", + "syn 1.0.109", ] [[package]] @@ -955,8 +955,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote", - "syn 1.0.109", + "quote", + "syn 1.0.109", ] [[package]] @@ -965,10 +965,10 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ - "num-bigint", - "num-traits", - "quote", - "syn 1.0.109", + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", ] [[package]] @@ -977,11 +977,11 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ - "num-bigint", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -990,8 +990,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" dependencies = [ - "ark-std 0.3.0", - "digest 0.9.0", + "ark-std 0.3.0", + "digest 0.9.0", ] [[package]] @@ -1000,9 +1000,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "ark-std 0.4.0", - "digest 0.10.7", - "num-bigint", + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", ] [[package]] @@ -1011,8 +1011,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" dependencies = [ - "num-traits", - "rand 0.8.5", + "num-traits", + "rand 0.8.5", ] [[package]] @@ -1021,8 +1021,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ - "num-traits", - "rand 0.8.5", + "num-traits", + "rand 0.8.5", ] [[package]] @@ -1037,7 +1037,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" dependencies = [ - "serde", + "serde", ] [[package]] @@ -1058,9 +1058,9 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", + "concurrent-queue", + "event-listener", + "futures-core", ] [[package]] @@ -1069,14 +1069,14 @@ version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df895a515f70646414f4b45c0b79082783b80552b373a68283012928df56f522" dependencies = [ - "brotli", - "flate2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", - "zstd", - "zstd-safe", + "brotli", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "zstd", + "zstd-safe", ] [[package]] @@ -1085,12 +1085,12 @@ version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e6fa871e4334a622afd6bb2f611635e8083a6f5e2936c0f90f37c7ef9856298" dependencies = [ - "async-channel", - "futures-lite", - "http-types", - "log", - "memchr", - "pin-project-lite", + "async-channel", + "futures-lite", + "http-types", + "log", + "memchr", + "pin-project-lite", ] [[package]] @@ -1099,9 +1099,9 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", + "async-stream-impl", + "futures-core", + "pin-project-lite", ] [[package]] @@ -1110,9 +1110,9 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -1121,9 +1121,9 @@ version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -1132,9 +1132,9 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ - "futures", - "pharos", - "rustc_version 0.4.1", + "futures", + "pharos", + "rustc_version 0.4.1", ] [[package]] @@ -1149,8 +1149,8 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0aef7712851e524f35fbbb74fa6599c5cd8692056a1c36f9ca0d2001b670e7e5" dependencies = [ - "hex", - "num", + "hex", + "num", ] [[package]] @@ -1159,9 +1159,9 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -1176,8 +1176,8 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba5289ec98f68f28dd809fd601059e6aa908bb8f6108620930828283d4ee23d7" dependencies = [ - "fastrand 2.2.0", - "tokio", + "fastrand 2.2.0", + "tokio", ] [[package]] @@ -1186,13 +1186,13 @@ 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", + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -1249,7 +1249,7 @@ version = "1.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" dependencies = [ - "serde", + "serde", ] [[package]] @@ -1258,16 +1258,16 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.89", + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.90", ] [[package]] @@ -1276,7 +1276,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" dependencies = [ - "bit-vec", + "bit-vec", ] [[package]] @@ -1297,8 +1297,8 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ - "arbitrary", - "serde", + "arbitrary", + "serde", ] [[package]] @@ -1307,11 +1307,11 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" dependencies = [ - "funty", - "radium", - "serde", - "tap", - "wyz", + "funty", + "radium", + "serde", + "tap", + "wyz", ] [[package]] @@ -1320,7 +1320,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array", + "generic-array", ] [[package]] @@ -1329,7 +1329,7 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array", + "generic-array", ] [[package]] @@ -1338,7 +1338,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" dependencies = [ - "generic-array", + "generic-array", ] [[package]] @@ -1347,10 +1347,10 @@ version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" dependencies = [ - "cc", - "glob", - "threadpool", - "zeroize", + "cc", + "glob", + "threadpool", + "zeroize", ] [[package]] @@ -1358,12 +1358,12 @@ name = "bn254" version = "0.1.0" source = "git+https://github.com/scroll-tech/bn254#81e1dcc92ee9a2798b13b84b24de182e9c42256e" dependencies = [ - "ff", - "getrandom 0.2.15", - "rand 0.8.5", - "rand_core 0.6.4", - "sp1-intrinsics", - "subtle", + "ff", + "getrandom 0.2.15", + "rand 0.8.5", + "rand_core 0.6.4", + "sp1-intrinsics", + "subtle", ] [[package]] @@ -1372,12 +1372,12 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a69ee3a749ea36d4e56d92941e7b25076b493d4917c3d155b6cf369e23547d9" dependencies = [ - "bitflags 2.6.0", - "boa_interner", - "boa_macros", - "indexmap 2.6.0", - "num-bigint", - "rustc-hash 2.0.0", + "bitflags 2.6.0", + "boa_interner", + "boa_macros", + "indexmap 2.7.0", + "num-bigint", + "rustc-hash 2.1.0", ] [[package]] @@ -1386,43 +1386,43 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06e4559b35b80ceb2e6328481c0eca9a24506663ea33ee1e279be6b5b618b25c" dependencies = [ - "arrayvec", - "bitflags 2.6.0", - "boa_ast", - "boa_gc", - "boa_interner", - "boa_macros", - "boa_parser", - "boa_profiler", - "boa_string", - "bytemuck", - "cfg-if", - "dashmap 5.5.3", - "fast-float", - "hashbrown 0.14.5", - "icu_normalizer", - "indexmap 2.6.0", - "intrusive-collections", - "itertools 0.13.0", - "num-bigint", - "num-integer", - "num-traits", - "num_enum", - "once_cell", - "pollster", - "portable-atomic", - "rand 0.8.5", - "regress", - "rustc-hash 2.0.0", - "ryu-js", - "serde", - "serde_json", - "sptr", - "static_assertions", - "tap", - "thin-vec", - "thiserror 1.0.69", - "time", + "arrayvec", + "bitflags 2.6.0", + "boa_ast", + "boa_gc", + "boa_interner", + "boa_macros", + "boa_parser", + "boa_profiler", + "boa_string", + "bytemuck", + "cfg-if", + "dashmap 5.5.3", + "fast-float", + "hashbrown 0.14.5", + "icu_normalizer", + "indexmap 2.7.0", + "intrusive-collections", + "itertools 0.13.0", + "num-bigint", + "num-integer", + "num-traits", + "num_enum", + "once_cell", + "pollster", + "portable-atomic", + "rand 0.8.5", + "regress", + "rustc-hash 2.1.0", + "ryu-js", + "serde", + "serde_json", + "sptr", + "static_assertions", + "tap", + "thin-vec", + "thiserror 1.0.69", + "time", ] [[package]] @@ -1431,11 +1431,11 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "716406f57d67bc3ac7fd227d5513b42df401dff14a3be22cbd8ee29817225363" dependencies = [ - "boa_macros", - "boa_profiler", - "boa_string", - "hashbrown 0.14.5", - "thin-vec", + "boa_macros", + "boa_profiler", + "boa_string", + "hashbrown 0.14.5", + "thin-vec", ] [[package]] @@ -1444,14 +1444,14 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e18df2272616e1ba0322a69333d37dbb78797f1aa0595aad9dc41e8ecd06ad9" dependencies = [ - "boa_gc", - "boa_macros", - "hashbrown 0.14.5", - "indexmap 2.6.0", - "once_cell", - "phf", - "rustc-hash 2.0.0", - "static_assertions", + "boa_gc", + "boa_macros", + "hashbrown 0.14.5", + "indexmap 2.7.0", + "once_cell", + "phf", + "rustc-hash 2.1.0", + "static_assertions", ] [[package]] @@ -1460,10 +1460,10 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240f4126219a83519bad05c9a40bfc0303921eeb571fc2d7e44c17ffac99d3f1" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", - "synstructure", + "proc-macro2", + "quote", + "syn 2.0.90", + "synstructure", ] [[package]] @@ -1472,17 +1472,17 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62b59dc05bf1dc019b11478a92986f590cff43fced4d20e866eefb913493e91c" dependencies = [ - "bitflags 2.6.0", - "boa_ast", - "boa_interner", - "boa_macros", - "boa_profiler", - "fast-float", - "icu_properties", - "num-bigint", - "num-traits", - "regress", - "rustc-hash 2.0.0", + "bitflags 2.6.0", + "boa_ast", + "boa_interner", + "boa_macros", + "boa_profiler", + "fast-float", + "icu_properties", + "num-bigint", + "num-traits", + "regress", + "rustc-hash 2.1.0", ] [[package]] @@ -1497,11 +1497,11 @@ version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae85205289bab1f2c7c8a30ddf0541cf89ba2ff7dbd144feef50bbfa664288d4" dependencies = [ - "fast-float", - "paste", - "rustc-hash 2.0.0", - "sptr", - "static_assertions", + "fast-float", + "paste", + "rustc-hash 2.1.0", + "sptr", + "static_assertions", ] [[package]] @@ -1510,7 +1510,7 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95e6233f2d926b5b123caf9d58e3885885255567fbe7776a7fdcae2a4d7241c4" dependencies = [ - "debug-helper", + "debug-helper", ] [[package]] @@ -1519,9 +1519,9 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", ] [[package]] @@ -1530,8 +1530,8 @@ version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", + "alloc-no-stdlib", + "alloc-stdlib", ] [[package]] @@ -1540,8 +1540,8 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2 0.10.8", - "tinyvec", + "sha2 0.10.8", + "tinyvec", ] [[package]] @@ -1550,9 +1550,9 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ - "memchr", - "regex-automata 0.4.9", - "serde", + "memchr", + "regex-automata 0.4.9", + "serde", ] [[package]] @@ -1573,7 +1573,7 @@ version = "1.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b37c88a63ffd85d15b406896cc343916d7cf57838a847b3a6f2ca5d39a5695a" dependencies = [ - "bytemuck_derive", + "bytemuck_derive", ] [[package]] @@ -1582,9 +1582,9 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -1595,11 +1595,11 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" dependencies = [ - "serde", + "serde", ] [[package]] @@ -1608,13 +1608,13 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" dependencies = [ - "blst", - "cc", - "glob", - "hex", - "libc", - "once_cell", - "serde", + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", ] [[package]] @@ -1623,16 +1623,16 @@ version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ - "serde", + "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ - "serde", + "serde", ] [[package]] @@ -1641,12 +1641,12 @@ 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.69", + "camino", + "cargo-platform", + "semver 1.0.23", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] @@ -1667,18 +1667,18 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" dependencies = [ - "rustversion", + "rustversion", ] [[package]] name = "cc" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" dependencies = [ - "jobserver", - "libc", - "shlex", + "jobserver", + "libc", + "shlex", ] [[package]] @@ -1693,7 +1693,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom", + "nom", ] [[package]] @@ -1714,13 +1714,13 @@ version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets 0.52.6", + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-targets 0.52.6", ] [[package]] @@ -1729,9 +1729,9 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", + "ciborium-io", + "ciborium-ll", + "serde", ] [[package]] @@ -1746,8 +1746,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ - "ciborium-io", - "half", + "ciborium-io", + "half", ] [[package]] @@ -1756,8 +1756,8 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common", - "inout", + "crypto-common", + "inout", ] [[package]] @@ -1766,31 +1766,31 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ - "glob", - "libc", - "libloading", + "glob", + "libc", + "libloading", ] [[package]] name = "clap" -version = "4.5.21" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ - "clap_builder", - "clap_derive", + "clap_builder", + "clap_derive", ] [[package]] name = "clap_builder" -version = "4.5.21" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", + "anstream", + "anstyle", + "clap_lex", + "strsim", ] [[package]] @@ -1799,17 +1799,17 @@ version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.89", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "clap_lex" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "coins-bip32" @@ -1817,14 +1817,14 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2073678591747aed4000dd468b97b14d7007f7936851d3f2f01846899f5ebf08" dependencies = [ - "bs58", - "coins-core", - "digest 0.10.7", - "hmac 0.12.1", - "k256", - "serde", - "sha2 0.10.8", - "thiserror 1.0.69", + "bs58", + "coins-core", + "digest 0.10.7", + "hmac 0.12.1", + "k256", + "serde", + "sha2 0.10.8", + "thiserror 1.0.69", ] [[package]] @@ -1833,14 +1833,14 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74b169b26623ff17e9db37a539fe4f15342080df39f129ef7631df7683d6d9d4" dependencies = [ - "bitvec", - "coins-bip32", - "hmac 0.12.1", - "once_cell", - "pbkdf2", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror 1.0.69", + "bitvec", + "coins-bip32", + "hmac 0.12.1", + "once_cell", + "pbkdf2", + "rand 0.8.5", + "sha2 0.10.8", + "thiserror 1.0.69", ] [[package]] @@ -1849,17 +1849,17 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62b962ad8545e43a28e14e87377812ba9ae748dd4fd963f4c10e9fcc6d13475b" dependencies = [ - "base64 0.21.7", - "bech32", - "bs58", - "const-hex", - "digest 0.10.7", - "generic-array", - "ripemd", - "serde", - "sha2 0.10.8", - "sha3", - "thiserror 1.0.69", + "base64 0.21.7", + "bech32", + "bs58", + "const-hex", + "digest 0.10.7", + "generic-array", + "ripemd", + "serde", + "sha2 0.10.8", + "sha3", + "thiserror 1.0.69", ] [[package]] @@ -1874,8 +1874,8 @@ version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ - "bytes", - "memchr", + "bytes", + "memchr", ] [[package]] @@ -1884,10 +1884,10 @@ version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24f165e7b643266ea80cb858aed492ad9280e3e05ce24d4a99d7d7b889b6a4d9" dependencies = [ - "crossterm", - "strum", - "strum_macros", - "unicode-width 0.2.0", + "crossterm", + "strum 0.26.3", + "strum_macros 0.26.4", + "unicode-width 0.2.0", ] [[package]] @@ -1896,12 +1896,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644" dependencies = [ - "castaway", - "cfg-if", - "itoa", - "rustversion", - "ryu", - "static_assertions", + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "static_assertions", ] [[package]] @@ -1910,7 +1910,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d72c1252426a83be2092dd5884a5f6e3b8e7180f6891b6263d2c21b92ec8816" dependencies = [ - "digest 0.10.7", + "digest 0.10.7", ] [[package]] @@ -1919,7 +1919,7 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "crossbeam-utils", + "crossbeam-utils", ] [[package]] @@ -1928,23 +1928,23 @@ version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "windows-sys 0.52.0", + "encode_unicode", + "lazy_static", + "libc", + "windows-sys 0.52.0", ] [[package]] name = "const-hex" -version = "1.13.2" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487981fa1af147182687064d0a2c336586d337a606595ced9ffb0c685c250c73" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ - "cfg-if", - "cpufeatures", - "hex", - "proptest", - "serde", + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", ] [[package]] @@ -1959,8 +1959,8 @@ version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50c655d81ff1114fb0dcdea9225ea9f0cc712a6f8d189378e82bdf62a473a64b" dependencies = [ - "const_format_proc_macros", - "konst", + "const_format_proc_macros", + "konst", ] [[package]] @@ -1969,9 +1969,9 @@ version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eff1a44b93f47b1bac19a27932f5c591e43d1ba357ee4f61526c8a25603f0eb1" dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", + "proc-macro2", + "quote", + "unicode-xid", ] [[package]] @@ -1980,7 +1980,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" dependencies = [ - "unicode-segmentation", + "unicode-segmentation", ] [[package]] @@ -1989,8 +1989,8 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ - "core-foundation-sys", - "libc", + "core-foundation-sys", + "libc", ] [[package]] @@ -1999,8 +1999,8 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ - "core-foundation-sys", - "libc", + "core-foundation-sys", + "libc", ] [[package]] @@ -2015,7 +2015,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" dependencies = [ - "memchr", + "memchr", ] [[package]] @@ -2024,7 +2024,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96e58d342ad113c2b878f16d5d034c03be492ae460cdbc02b7f0f2284d310c7d" dependencies = [ - "cfg-if", + "cfg-if", ] [[package]] @@ -2033,7 +2033,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ - "libc", + "libc", ] [[package]] @@ -2042,7 +2042,7 @@ version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" dependencies = [ - "crc-catalog", + "crc-catalog", ] [[package]] @@ -2057,7 +2057,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ - "cfg-if", + "cfg-if", ] [[package]] @@ -2066,26 +2066,26 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" dependencies = [ - "anes", - "cast", - "ciborium", - "clap", - "criterion-plot", - "futures", - "is-terminal", - "itertools 0.10.5", - "num-traits", - "once_cell", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "tokio", - "walkdir", + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "futures", + "is-terminal", + "itertools 0.10.5", + "num-traits", + "once_cell", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "tokio", + "walkdir", ] [[package]] @@ -2094,8 +2094,8 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ - "cast", - "itertools 0.10.5", + "cast", + "itertools 0.10.5", ] [[package]] @@ -2110,7 +2110,7 @@ version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "crossbeam-utils", + "crossbeam-utils", ] [[package]] @@ -2119,8 +2119,8 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", + "crossbeam-epoch", + "crossbeam-utils", ] [[package]] @@ -2129,7 +2129,7 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils", + "crossbeam-utils", ] [[package]] @@ -2144,14 +2144,14 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.6.0", - "crossterm_winapi", - "mio 1.0.2", - "parking_lot", - "rustix", - "signal-hook", - "signal-hook-mio", - "winapi", + "bitflags 2.6.0", + "crossterm_winapi", + "mio 1.0.3", + "parking_lot", + "rustix", + "signal-hook", + "signal-hook-mio", + "winapi", ] [[package]] @@ -2160,7 +2160,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" dependencies = [ - "winapi", + "winapi", ] [[package]] @@ -2175,10 +2175,10 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "generic-array", - "rand_core 0.6.4", - "subtle", - "zeroize", + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", ] [[package]] @@ -2187,9 +2187,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array", - "rand_core 0.6.4", - "typenum", + "generic-array", + "rand_core 0.6.4", + "typenum", ] [[package]] @@ -2198,8 +2198,8 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array", - "subtle", + "generic-array", + "subtle", ] [[package]] @@ -2208,10 +2208,10 @@ version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", + "csv-core", + "itoa", + "ryu", + "serde", ] [[package]] @@ -2220,7 +2220,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" dependencies = [ - "memchr", + "memchr", ] [[package]] @@ -2229,7 +2229,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher", + "cipher", ] [[package]] @@ -2238,14 +2238,14 @@ version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest 0.10.7", - "fiat-crypto", - "rustc_version 0.4.1", - "subtle", - "zeroize", + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rustc_version 0.4.1", + "subtle", + "zeroize", ] [[package]] @@ -2254,9 +2254,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2265,8 +2265,8 @@ version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core", - "darling_macro", + "darling_core", + "darling_macro", ] [[package]] @@ -2275,12 +2275,12 @@ version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.89", + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.90", ] [[package]] @@ -2289,9 +2289,9 @@ version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core", - "quote", - "syn 2.0.89", + "darling_core", + "quote", + "syn 2.0.90", ] [[package]] @@ -2300,11 +2300,11 @@ version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", ] [[package]] @@ -2313,13 +2313,13 @@ version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", - "serde", + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", + "serde", ] [[package]] @@ -2334,8 +2334,8 @@ version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ - "data-encoding", - "data-encoding-macro-internal", + "data-encoding", + "data-encoding-macro-internal", ] [[package]] @@ -2344,8 +2344,8 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ - "data-encoding", - "syn 1.0.109", + "data-encoding", + "syn 1.0.109", ] [[package]] @@ -2360,7 +2360,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d" dependencies = [ - "uuid", + "uuid", ] [[package]] @@ -2369,9 +2369,9 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df941644b671f05f59433e481ba0d31ac10e3667de725236a4c0d587c496fba1" dependencies = [ - "futures", - "tokio", - "tokio-util", + "futures", + "tokio", + "tokio-util", ] [[package]] @@ -2380,8 +2380,8 @@ version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ - "const-oid", - "zeroize", + "const-oid", + "zeroize", ] [[package]] @@ -2390,8 +2390,8 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ - "powerfmt", - "serde", + "powerfmt", + "serde", ] [[package]] @@ -2400,9 +2400,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -2411,9 +2411,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2422,7 +2422,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" dependencies = [ - "derive_more-impl", + "derive_more-impl", ] [[package]] @@ -2431,11 +2431,11 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "syn 2.0.89", - "unicode-xid", + "convert_case", + "proc-macro2", + "quote", + "syn 2.0.90", + "unicode-xid", ] [[package]] @@ -2450,7 +2450,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array", + "generic-array", ] [[package]] @@ -2459,10 +2459,10 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.4", - "const-oid", - "crypto-common", - "subtle", + "block-buffer 0.10.4", + "const-oid", + "crypto-common", + "subtle", ] [[package]] @@ -2471,7 +2471,7 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys", ] [[package]] @@ -2480,8 +2480,8 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" dependencies = [ - "cfg-if", - "dirs-sys-next", + "cfg-if", + "dirs-sys-next", ] [[package]] @@ -2490,10 +2490,10 @@ 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", + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", ] [[package]] @@ -2502,9 +2502,9 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ - "libc", - "redox_users", - "winapi", + "libc", + "redox_users", + "winapi", ] [[package]] @@ -2513,31 +2513,31 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23e6b70634e26c909d1edbb3142b3eaf3b89da0e52f284f00ca7c80d9901ad9e" dependencies = [ - "aes", - "aes-gcm", - "alloy-rlp", - "arrayvec", - "ctr", - "delay_map", - "enr", - "fnv", - "futures", - "hashlink", - "hex", - "hkdf", - "lazy_static", - "libp2p-identity", - "lru", - "more-asserts", - "multiaddr", - "parking_lot", - "rand 0.8.5", - "smallvec", - "socket2", - "tokio", - "tracing", - "uint 0.10.0", - "zeroize", + "aes", + "aes-gcm", + "alloy-rlp", + "arrayvec", + "ctr", + "delay_map", + "enr", + "fnv", + "futures", + "hashlink", + "hex", + "hkdf", + "lazy_static", + "libp2p-identity", + "lru", + "more-asserts", + "multiaddr", + "parking_lot", + "rand 0.8.5", + "smallvec", + "socket2", + "tokio", + "tracing", + "uint 0.10.0", + "zeroize", ] [[package]] @@ -2546,9 +2546,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2581,12 +2581,12 @@ version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der", - "digest 0.10.7", - "elliptic-curve", - "rfc6979", - "signature", - "spki", + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", ] [[package]] @@ -2595,8 +2595,8 @@ version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ - "pkcs8", - "signature", + "pkcs8", + "signature", ] [[package]] @@ -2605,38 +2605,38 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek", - "ed25519", - "rand_core 0.6.4", - "serde", - "sha2 0.10.8", - "subtle", - "zeroize", + "curve25519-dalek", + "ed25519", + "rand_core 0.6.4", + "serde", + "sha2 0.10.8", + "subtle", + "zeroize", ] [[package]] name = "ef-tests" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "rayon", - "reth-chainspec", - "reth-db", - "reth-db-api", - "reth-evm-ethereum", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-scroll-primitives", - "reth-scroll-revm", - "reth-stages", - "serde", - "serde_json", - "thiserror 1.0.69", - "walkdir", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "rayon", + "reth-chainspec", + "reth-db", + "reth-db-api", + "reth-evm-ethereum", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-scroll-primitives", + "reth-scroll-revm", + "reth-stages", + "serde", + "serde_json", + "thiserror 1.0.69", + "walkdir", ] [[package]] @@ -2651,17 +2651,17 @@ version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct", - "crypto-bigint", - "digest 0.10.7", - "ff", - "generic-array", - "group", - "pkcs8", - "rand_core 0.6.4", - "sec1", - "subtle", - "zeroize", + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", ] [[package]] @@ -2676,18 +2676,18 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "972070166c68827e64bd1ebc8159dd8e32d9bc2da7ebe8f20b61308f7974ad30" dependencies = [ - "alloy-rlp", - "base64 0.21.7", - "bytes", - "ed25519-dalek", - "hex", - "k256", - "log", - "rand 0.8.5", - "secp256k1", - "serde", - "sha3", - "zeroize", + "alloy-rlp", + "base64 0.21.7", + "bytes", + "ed25519-dalek", + "hex", + "k256", + "log", + "rand 0.8.5", + "secp256k1", + "serde", + "sha3", + "zeroize", ] [[package]] @@ -2696,10 +2696,10 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.89", + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2708,9 +2708,9 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2719,7 +2719,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c35da53b5a021d2484a7cc49b2ac7f2d840f8236a286f84202369bd338d761ea" dependencies = [ - "equator-macro", + "equator-macro", ] [[package]] @@ -2728,9 +2728,9 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bf679796c0322556351f287a51b49e48f7c4986e727b5dd78c972d30e2e16cc" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2741,12 +2741,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ - "libc", - "windows-sys 0.52.0", + "libc", + "windows-sys 0.59.0", ] [[package]] @@ -2755,39 +2755,38 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70cbccfccf81d67bff0ab36e591fa536c8a935b078a7b0e58c1d00d418332fc9" dependencies = [ - "alloy-primitives", - "hex", - "serde", - "serde_derive", - "serde_json", + "alloy-primitives", + "hex", + "serde", + "serde_derive", + "serde_json", ] [[package]] name = "ethereum_ssz" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbba28f4f3f32d92c06a64f5bf6c4537b5d4e21f28c689bd2bbaecfea4e0d3e" +checksum = "036c84bd29bff35e29bbee3c8fc0e2fb95db12b6f2f3cae82a827fbc97256f3a" dependencies = [ - "alloy-primitives", - "derivative", - "ethereum_serde_utils", - "itertools 0.13.0", - "serde", - "serde_derive", - "smallvec", - "typenum", + "alloy-primitives", + "ethereum_serde_utils", + "itertools 0.13.0", + "serde", + "serde_derive", + "smallvec", + "typenum", ] [[package]] name = "ethereum_ssz_derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d37845ba7c16bf4be8be4b5786f03a2ba5f2fda0d7f9e7cb2282f69cff420d7" +checksum = "9dc8e67e1f770f5aa4c2c2069aaaf9daee7ac21bed357a71b911b37a58966cfb" dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.89", + "darling", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -2800,326 +2799,326 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" name = "example-beacon-api-sidecar-fetcher" version = "0.1.0" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rpc-types-beacon", - "clap", - "eyre", - "futures-util", - "reqwest", - "reth", - "reth-node-ethereum", - "serde", - "serde_json", - "thiserror 1.0.69", + "alloy-consensus", + "alloy-primitives", + "alloy-rpc-types-beacon", + "clap", + "eyre", + "futures-util", + "reqwest", + "reth", + "reth-node-ethereum", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] name = "example-beacon-api-sse" version = "0.0.0" dependencies = [ - "alloy-rpc-types-beacon", - "clap", - "futures-util", - "mev-share-sse", - "reth", - "reth-node-ethereum", - "tokio", - "tracing", + "alloy-rpc-types-beacon", + "clap", + "futures-util", + "mev-share-sse", + "reth", + "reth-node-ethereum", + "tokio", + "tracing", ] [[package]] name = "example-bsc-p2p" version = "0.0.0" dependencies = [ - "alloy-primitives", - "reth-chainspec", - "reth-discv4", - "reth-network", - "reth-network-api", - "reth-network-peers", - "reth-primitives", - "reth-tracing", - "secp256k1", - "serde_json", - "tokio", - "tokio-stream", + "alloy-primitives", + "reth-chainspec", + "reth-discv4", + "reth-network", + "reth-network-api", + "reth-network-peers", + "reth-primitives", + "reth-tracing", + "secp256k1", + "serde_json", + "tokio", + "tokio-stream", ] [[package]] name = "example-custom-beacon-withdrawals" version = "0.0.0" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-sol-macro", - "alloy-sol-types", - "eyre", - "reth", - "reth-chainspec", - "reth-evm", - "reth-evm-ethereum", - "reth-node-ethereum", - "reth-primitives", - "reth-scroll-execution", + "alloy-consensus", + "alloy-eips", + "alloy-sol-macro", + "alloy-sol-types", + "eyre", + "reth", + "reth-chainspec", + "reth-evm", + "reth-evm-ethereum", + "reth-node-ethereum", + "reth-primitives", + "reth-scroll-execution", ] [[package]] name = "example-custom-dev-node" version = "0.0.0" dependencies = [ - "alloy-genesis", - "alloy-primitives", - "eyre", - "futures-util", - "reth", - "reth-chainspec", - "reth-node-core", - "reth-node-ethereum", - "serde_json", - "tokio", + "alloy-genesis", + "alloy-primitives", + "eyre", + "futures-util", + "reth", + "reth-chainspec", + "reth-node-core", + "reth-node-ethereum", + "serde_json", + "tokio", ] [[package]] name = "example-custom-engine-types" version = "0.0.0" dependencies = [ - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-rpc-types", - "eyre", - "reth", - "reth-basic-payload-builder", - "reth-chainspec", - "reth-ethereum-payload-builder", - "reth-node-api", - "reth-node-core", - "reth-node-ethereum", - "reth-payload-builder", - "reth-tracing", - "reth-trie-db", - "serde", - "thiserror 1.0.69", - "tokio", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rpc-types", + "eyre", + "reth", + "reth-basic-payload-builder", + "reth-chainspec", + "reth-ethereum-payload-builder", + "reth-node-api", + "reth-node-core", + "reth-node-ethereum", + "reth-payload-builder", + "reth-tracing", + "reth-trie-db", + "serde", + "thiserror 1.0.69", + "tokio", ] [[package]] name = "example-custom-evm" version = "0.0.0" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", - "eyre", - "reth", - "reth-chainspec", - "reth-evm-ethereum", - "reth-node-api", - "reth-node-core", - "reth-node-ethereum", - "reth-primitives", - "reth-tracing", - "tokio", + "alloy-consensus", + "alloy-genesis", + "alloy-primitives", + "eyre", + "reth", + "reth-chainspec", + "reth-evm-ethereum", + "reth-node-api", + "reth-node-core", + "reth-node-ethereum", + "reth-primitives", + "reth-tracing", + "tokio", ] [[package]] name = "example-custom-inspector" version = "0.0.0" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-eth", - "clap", - "futures-util", - "reth", - "reth-node-ethereum", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-eth", + "clap", + "futures-util", + "reth", + "reth-node-ethereum", ] [[package]] name = "example-custom-node-components" version = "0.0.0" dependencies = [ - "eyre", - "reth", - "reth-node-ethereum", - "reth-tracing", - "reth-transaction-pool", + "eyre", + "reth", + "reth-node-ethereum", + "reth-tracing", + "reth-transaction-pool", ] [[package]] name = "example-custom-payload-builder" version = "0.0.0" dependencies = [ - "alloy-eips", - "alloy-primitives", - "eyre", - "futures-util", - "reth", - "reth-basic-payload-builder", - "reth-chainspec", - "reth-ethereum-payload-builder", - "reth-node-api", - "reth-node-ethereum", - "reth-payload-builder", - "reth-primitives", - "tracing", + "alloy-eips", + "alloy-primitives", + "eyre", + "futures-util", + "reth", + "reth-basic-payload-builder", + "reth-chainspec", + "reth-ethereum-payload-builder", + "reth-node-api", + "reth-node-ethereum", + "reth-payload-builder", + "reth-primitives", + "tracing", ] [[package]] name = "example-custom-rlpx-subprotocol" version = "0.0.0" dependencies = [ - "alloy-primitives", - "eyre", - "futures", - "rand 0.8.5", - "reth", - "reth-eth-wire", - "reth-network", - "reth-network-api", - "reth-node-ethereum", - "tokio", - "tokio-stream", - "tracing", + "alloy-primitives", + "eyre", + "futures", + "rand 0.8.5", + "reth", + "reth-eth-wire", + "reth-network", + "reth-network-api", + "reth-node-ethereum", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "example-db-access" version = "0.0.0" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "eyre", - "reth-chainspec", - "reth-db", - "reth-node-ethereum", - "reth-node-types", - "reth-primitives", - "reth-provider", + "alloy-primitives", + "alloy-rpc-types-eth", + "eyre", + "reth-chainspec", + "reth-db", + "reth-node-ethereum", + "reth-node-types", + "reth-primitives", + "reth-provider", ] [[package]] name = "example-manual-p2p" version = "0.0.0" dependencies = [ - "alloy-consensus", - "eyre", - "futures", - "reth-chainspec", - "reth-discv4", - "reth-ecies", - "reth-eth-wire", - "reth-network", - "reth-network-peers", - "reth-primitives", - "secp256k1", - "tokio", + "alloy-consensus", + "eyre", + "futures", + "reth-chainspec", + "reth-discv4", + "reth-ecies", + "reth-eth-wire", + "reth-network", + "reth-network-peers", + "reth-primitives", + "secp256k1", + "tokio", ] [[package]] name = "example-network" version = "0.0.0" dependencies = [ - "eyre", - "futures", - "reth-network", - "reth-provider", - "tokio", + "eyre", + "futures", + "reth-network", + "reth-provider", + "tokio", ] [[package]] name = "example-network-txpool" version = "0.0.0" dependencies = [ - "eyre", - "reth-network", - "reth-provider", - "reth-transaction-pool", - "tokio", + "eyre", + "reth-network", + "reth-provider", + "reth-transaction-pool", + "tokio", ] [[package]] name = "example-node-custom-rpc" version = "0.0.0" dependencies = [ - "clap", - "jsonrpsee", - "reth", - "reth-node-ethereum", - "reth-transaction-pool", - "tokio", + "clap", + "jsonrpsee", + "reth", + "reth-node-ethereum", + "reth-transaction-pool", + "tokio", ] [[package]] name = "example-node-event-hooks" version = "0.0.0" dependencies = [ - "reth", - "reth-node-ethereum", + "reth", + "reth-node-ethereum", ] [[package]] name = "example-polygon-p2p" version = "0.0.0" dependencies = [ - "alloy-primitives", - "reth-chainspec", - "reth-discv4", - "reth-network", - "reth-primitives", - "reth-tracing", - "secp256k1", - "serde_json", - "tokio", - "tokio-stream", + "alloy-primitives", + "reth-chainspec", + "reth-discv4", + "reth-network", + "reth-primitives", + "reth-tracing", + "secp256k1", + "serde_json", + "tokio", + "tokio-stream", ] [[package]] name = "example-rpc-db" version = "0.0.0" dependencies = [ - "eyre", - "futures", - "jsonrpsee", - "reth", - "reth-chainspec", - "reth-db", - "reth-node-ethereum", - "reth-provider", - "tokio", + "eyre", + "futures", + "jsonrpsee", + "reth", + "reth-chainspec", + "reth-db", + "reth-node-ethereum", + "reth-provider", + "tokio", ] [[package]] name = "example-stateful-precompile" version = "0.0.0" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", - "eyre", - "parking_lot", - "reth", - "reth-chainspec", - "reth-node-api", - "reth-node-core", - "reth-node-ethereum", - "reth-primitives", - "reth-tracing", - "schnellru", - "tokio", + "alloy-consensus", + "alloy-genesis", + "alloy-primitives", + "eyre", + "parking_lot", + "reth", + "reth-chainspec", + "reth-node-api", + "reth-node-core", + "reth-node-ethereum", + "reth-primitives", + "reth-tracing", + "schnellru", + "tokio", ] [[package]] name = "example-txpool-tracing" version = "0.0.0" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-trace", - "clap", - "futures-util", - "reth", - "reth-node-ethereum", + "alloy-primitives", + "alloy-rpc-types-trace", + "clap", + "futures-util", + "reth", + "reth-node-ethereum", ] [[package]] @@ -3128,8 +3127,8 @@ version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ - "indenter", - "once_cell", + "indenter", + "once_cell", ] [[package]] @@ -3144,7 +3143,7 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" dependencies = [ - "instant", + "instant", ] [[package]] @@ -3159,9 +3158,9 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" dependencies = [ - "arrayvec", - "auto_impl", - "bytes", + "arrayvec", + "auto_impl", + "bytes", ] [[package]] @@ -3170,8 +3169,8 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ - "libc", - "thiserror 1.0.69", + "libc", + "thiserror 1.0.69", ] [[package]] @@ -3180,9 +3179,9 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "bitvec", - "rand_core 0.6.4", - "subtle", + "bitvec", + "rand_core 0.6.4", + "subtle", ] [[package]] @@ -3197,10 +3196,10 @@ version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -3209,10 +3208,10 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40b9e59cd0f7e0806cca4be089683ecb6434e602038df21fe6bf6711b2f07f64" dependencies = [ - "cc", - "lazy_static", - "libc", - "winapi", + "cc", + "lazy_static", + "libc", + "winapi", ] [[package]] @@ -3221,10 +3220,10 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ - "byteorder", - "rand 0.8.5", - "rustc-hex", - "static_assertions", + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", ] [[package]] @@ -3233,8 +3232,8 @@ version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ - "crc32fast", - "miniz_oxide", + "crc32fast", + "miniz_oxide", ] [[package]] @@ -3255,7 +3254,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ - "percent-encoding", + "percent-encoding", ] [[package]] @@ -3270,7 +3269,7 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" dependencies = [ - "libc", + "libc", ] [[package]] @@ -3285,13 +3284,13 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", ] [[package]] @@ -3300,8 +3299,8 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ - "futures-core", - "futures-sink", + "futures-core", + "futures-sink", ] [[package]] @@ -3316,9 +3315,9 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ - "futures-core", - "futures-task", - "futures-util", + "futures-core", + "futures-task", + "futures-util", ] [[package]] @@ -3333,13 +3332,13 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", ] [[package]] @@ -3348,9 +3347,9 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -3371,8 +3370,8 @@ version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", + "gloo-timers", + "send_wrapper 0.4.0", ] [[package]] @@ -3381,16 +3380,16 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", ] [[package]] @@ -3401,15 +3400,15 @@ checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" [[package]] name = "generator" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb949699c3e4df3a183b1d2142cb24277057055ed23c68ed58894f76c517223" +checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" dependencies = [ - "cfg-if", - "libc", - "log", - "rustversion", - "windows 0.58.0", + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.58.0", ] [[package]] @@ -3418,10 +3417,10 @@ version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ - "serde", - "typenum", - "version_check", - "zeroize", + "serde", + "typenum", + "version_check", + "zeroize", ] [[package]] @@ -3430,9 +3429,9 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", ] [[package]] @@ -3441,11 +3440,11 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -3454,8 +3453,8 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ - "opaque-debug", - "polyval", + "opaque-debug", + "polyval", ] [[package]] @@ -3476,19 +3475,19 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils", - "http", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror 1.0.69", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", + "futures-channel", + "futures-core", + "futures-sink", + "gloo-utils", + "http", + "js-sys", + "pin-project", + "serde", + "serde_json", + "thiserror 1.0.69", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] @@ -3497,10 +3496,10 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -3509,11 +3508,19 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", + "js-sys", + "serde", + "serde_json", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "gobuild" +version = "0.1.0-alpha.2" +source = "git+https://github.com/scroll-tech/gobuild.git#24935c2b8f677841f22acd6710957621bb294e0e" +dependencies = [ + "cc", ] [[package]] @@ -3522,9 +3529,9 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", + "ff", + "rand_core 0.6.4", + "subtle", ] [[package]] @@ -3533,17 +3540,17 @@ version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap 2.6.0", - "slab", - "tokio", - "tokio-util", - "tracing", + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.7.0", + "slab", + "tokio", + "tokio-util", + "tracing", ] [[package]] @@ -3552,8 +3559,8 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ - "cfg-if", - "crunchy", + "cfg-if", + "crunchy", ] [[package]] @@ -3580,20 +3587,20 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ - "ahash", - "allocator-api2", + "ahash", + "allocator-api2", ] [[package]] name = "hashbrown" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ - "allocator-api2", - "equivalent", - "foldhash", - "serde", + "allocator-api2", + "equivalent", + "foldhash", + "serde", ] [[package]] @@ -3602,7 +3609,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.14.5", ] [[package]] @@ -3611,10 +3618,16 @@ version = "7.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" dependencies = [ - "byteorder", - "num-traits", + "byteorder", + "num-traits", ] +[[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" @@ -3639,7 +3652,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" dependencies = [ - "serde", + "serde", ] [[package]] @@ -3654,7 +3667,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac 0.12.1", + "hmac 0.12.1", ] [[package]] @@ -3663,8 +3676,8 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" dependencies = [ - "crypto-mac", - "digest 0.9.0", + "crypto-mac", + "digest 0.9.0", ] [[package]] @@ -3673,7 +3686,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.7", + "digest 0.10.7", ] [[package]] @@ -3682,9 +3695,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", + "digest 0.9.0", + "generic-array", + "hmac 0.8.1", ] [[package]] @@ -3693,20 +3706,20 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" dependencies = [ - "libc", - "match_cfg", - "winapi", + "libc", + "match_cfg", + "winapi", ] [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ - "bytes", - "fnv", - "itoa", + "bytes", + "fnv", + "itoa", ] [[package]] @@ -3715,8 +3728,8 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ - "bytes", - "http", + "bytes", + "http", ] [[package]] @@ -3725,18 +3738,18 @@ 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", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", ] [[package]] name = "http-range-header" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" +checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" [[package]] name = "http-types" @@ -3744,18 +3757,18 @@ version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad" dependencies = [ - "anyhow", - "async-channel", - "base64 0.13.1", - "futures-lite", - "infer", - "pin-project-lite", - "rand 0.7.3", - "serde", - "serde_json", - "serde_qs", - "serde_urlencoded", - "url", + "anyhow", + "async-channel", + "base64 0.13.1", + "futures-lite", + "infer", + "pin-project-lite", + "rand 0.7.3", + "serde", + "serde_json", + "serde_qs", + "serde_urlencoded", + "url", ] [[package]] @@ -3788,8 +3801,8 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" dependencies = [ - "humantime", - "serde", + "humantime", + "serde", ] [[package]] @@ -3798,19 +3811,19 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "smallvec", - "tokio", - "want", + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", ] [[package]] @@ -3819,18 +3832,18 @@ version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ - "futures-util", - "http", - "hyper", - "hyper-util", - "log", - "rustls", - "rustls-native-certs 0.8.1", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tower-service", - "webpki-roots", + "futures-util", + "http", + "hyper", + "hyper-util", + "log", + "rustls", + "rustls-native-certs 0.8.1", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", ] [[package]] @@ -3839,17 +3852,17 @@ 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", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", ] [[package]] @@ -3858,10 +3871,10 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22275f8051874cd2f05b2aa1e0098d5cbec34df30ff92f1a1e2686a4cefed870" dependencies = [ - "bincode", - "derive_more", - "iai-callgrind-macros", - "iai-callgrind-runner", + "bincode", + "derive_more", + "iai-callgrind-macros", + "iai-callgrind-runner", ] [[package]] @@ -3870,13 +3883,13 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8e6677dc52bd798b988e62ffd6831bf7eb46e4348cb1c74c1164954ebd0e5a1" dependencies = [ - "derive_more", - "proc-macro-error2", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn 2.0.89", + "derive_more", + "proc-macro-error2", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 2.0.90", ] [[package]] @@ -3885,7 +3898,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a02dd95fe4949513b45a328b5b18f527ee02e96f3428b48090aa7cf9043ab0b8" dependencies = [ - "serde", + "serde", ] [[package]] @@ -3894,12 +3907,12 @@ version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core 0.52.0", + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", ] [[package]] @@ -3908,7 +3921,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cc", + "cc", ] [[package]] @@ -3917,10 +3930,10 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ - "displaydoc", - "yoke", - "zerofrom", - "zerovec", + "displaydoc", + "yoke", + "zerofrom", + "zerovec", ] [[package]] @@ -3929,11 +3942,11 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", ] [[package]] @@ -3942,12 +3955,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", ] [[package]] @@ -3962,16 +3975,16 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "utf16_iter", - "utf8_iter", - "write16", - "zerovec", + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", ] [[package]] @@ -3986,13 +3999,13 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" dependencies = [ - "displaydoc", - "icu_collections", - "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", ] [[package]] @@ -4007,15 +4020,15 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" dependencies = [ - "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerovec", + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", ] [[package]] @@ -4024,9 +4037,9 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4041,8 +4054,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "unicode-bidi", + "unicode-normalization", ] [[package]] @@ -4051,9 +4064,9 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", + "idna_adapter", + "smallvec", + "utf8_iter", ] [[package]] @@ -4062,8 +4075,8 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "icu_normalizer", - "icu_properties", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -4072,8 +4085,8 @@ version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78a89907582615b19f6f0da1af18abf6ff08be259395669b834b057a7ee92d8" dependencies = [ - "libc", - "windows-sys 0.52.0", + "libc", + "windows-sys 0.52.0", ] [[package]] @@ -4082,7 +4095,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" dependencies = [ - "parity-scale-codec", + "parity-scale-codec", ] [[package]] @@ -4091,9 +4104,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4102,7 +4115,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ - "include_dir_macros", + "include_dir_macros", ] [[package]] @@ -4111,8 +4124,8 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2", + "quote", ] [[package]] @@ -4127,21 +4140,21 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", + "autocfg", + "hashbrown 0.12.3", + "serde", ] [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ - "arbitrary", - "equivalent", - "hashbrown 0.15.1", - "serde", + "arbitrary", + "equivalent", + "hashbrown 0.15.2", + "serde", ] [[package]] @@ -4162,16 +4175,16 @@ version = "0.11.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" dependencies = [ - "ahash", - "indexmap 2.6.0", - "is-terminal", - "itoa", - "log", - "num-format", - "once_cell", - "quick-xml", - "rgb", - "str_stack", + "ahash", + "indexmap 2.7.0", + "is-terminal", + "itoa", + "log", + "num-format", + "once_cell", + "quick-xml", + "rgb", + "str_stack", ] [[package]] @@ -4180,9 +4193,9 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", + "bitflags 1.3.2", + "inotify-sys", + "libc", ] [[package]] @@ -4191,7 +4204,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" dependencies = [ - "libc", + "libc", ] [[package]] @@ -4200,8 +4213,8 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ - "block-padding", - "generic-array", + "block-padding", + "generic-array", ] [[package]] @@ -4210,12 +4223,12 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b829f37dead9dc39df40c2d3376c179fdfd2ac771f53f55d3c30dc096a3c0c6e" dependencies = [ - "darling", - "indoc", - "pretty_assertions", - "proc-macro2", - "quote", - "syn 2.0.89", + "darling", + "indoc", + "pretty_assertions", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4224,7 +4237,7 @@ version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ - "cfg-if", + "cfg-if", ] [[package]] @@ -4233,13 +4246,13 @@ version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb" dependencies = [ - "doctest-file", - "futures-core", - "libc", - "recvmsg", - "tokio", - "widestring", - "windows-sys 0.52.0", + "doctest-file", + "futures-core", + "libc", + "recvmsg", + "tokio", + "widestring", + "windows-sys 0.52.0", ] [[package]] @@ -4248,7 +4261,7 @@ version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86" dependencies = [ - "memoffset", + "memoffset", ] [[package]] @@ -4257,10 +4270,10 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", - "widestring", - "windows-sys 0.48.0", - "winreg", + "socket2", + "widestring", + "windows-sys 0.48.0", + "winreg", ] [[package]] @@ -4275,8 +4288,8 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc0f0a572e8ffe56e2ff4f769f32ffe919282c3916799f8b68688b6030063bea" dependencies = [ - "memchr", - "serde", + "memchr", + "serde", ] [[package]] @@ -4285,9 +4298,9 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", + "hermit-abi 0.4.0", + "libc", + "windows-sys 0.52.0", ] [[package]] @@ -4302,7 +4315,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ - "either", + "either", ] [[package]] @@ -4311,14 +4324,14 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ - "either", + "either", ] [[package]] name = "itoa" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "540654e97a3f4470a492cd30ff187bc95d89557a903a2bbf112e2fae98104ef2" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jni" @@ -4326,12 +4339,12 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" dependencies = [ - "cesu8", - "combine", - "jni-sys", - "log", - "thiserror 1.0.69", - "walkdir", + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", ] [[package]] @@ -4346,16 +4359,17 @@ version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ - "libc", + "libc", ] [[package]] name = "js-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" +checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" dependencies = [ - "wasm-bindgen", + "once_cell", + "wasm-bindgen", ] [[package]] @@ -4364,16 +4378,16 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-http-client", - "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", - "jsonrpsee-wasm-client", - "jsonrpsee-ws-client", - "tokio", - "tracing", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-http-client", + "jsonrpsee-proc-macros", + "jsonrpsee-server", + "jsonrpsee-types", + "jsonrpsee-wasm-client", + "jsonrpsee-ws-client", + "tokio", + "tracing", ] [[package]] @@ -4382,23 +4396,23 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "548125b159ba1314104f5bb5f38519e03a41862786aa3925cf349aae9cdd546e" dependencies = [ - "base64 0.22.1", - "futures-channel", - "futures-util", - "gloo-net", - "http", - "jsonrpsee-core", - "pin-project", - "rustls", - "rustls-pki-types", - "rustls-platform-verifier", - "soketto", - "thiserror 1.0.69", - "tokio", - "tokio-rustls", - "tokio-util", - "tracing", - "url", + "base64 0.22.1", + "futures-channel", + "futures-util", + "gloo-net", + "http", + "jsonrpsee-core", + "pin-project", + "rustls", + "rustls-pki-types", + "rustls-platform-verifier", + "soketto", + "thiserror 1.0.69", + "tokio", + "tokio-rustls", + "tokio-util", + "tracing", + "url", ] [[package]] @@ -4407,25 +4421,25 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280" dependencies = [ - "async-trait", - "bytes", - "futures-timer", - "futures-util", - "http", - "http-body", - "http-body-util", - "jsonrpsee-types", - "parking_lot", - "pin-project", - "rand 0.8.5", - "rustc-hash 2.0.0", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", - "wasm-bindgen-futures", + "async-trait", + "bytes", + "futures-timer", + "futures-util", + "http", + "http-body", + "http-body-util", + "jsonrpsee-types", + "parking_lot", + "pin-project", + "rand 0.8.5", + "rustc-hash 2.1.0", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", + "wasm-bindgen-futures", ] [[package]] @@ -4434,23 +4448,23 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3638bc4617f96675973253b3a45006933bde93c2fd8a6170b33c777cc389e5b" dependencies = [ - "async-trait", - "base64 0.22.1", - "http-body", - "hyper", - "hyper-rustls", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "rustls", - "rustls-platform-verifier", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tower 0.4.13", - "tracing", - "url", + "async-trait", + "base64 0.22.1", + "http-body", + "hyper", + "hyper-rustls", + "hyper-util", + "jsonrpsee-core", + "jsonrpsee-types", + "rustls", + "rustls-platform-verifier", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tower 0.4.13", + "tracing", + "url", ] [[package]] @@ -4459,11 +4473,11 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" dependencies = [ - "heck", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.89", + "heck 0.5.0", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -4472,25 +4486,25 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c" dependencies = [ - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "pin-project", - "route-recognizer", - "serde", - "serde_json", - "soketto", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tower 0.4.13", - "tracing", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "route-recognizer", + "serde", + "serde_json", + "soketto", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tower 0.4.13", + "tracing", ] [[package]] @@ -4499,10 +4513,10 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1" dependencies = [ - "http", - "serde", - "serde_json", - "thiserror 1.0.69", + "http", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] @@ -4511,9 +4525,9 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a01cd500915d24ab28ca17527e23901ef1be6d659a2322451e1045532516c25" dependencies = [ - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", ] [[package]] @@ -4522,11 +4536,11 @@ version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fe322e0896d0955a3ebdd5bf813571c53fea29edd713bc315b76620b327e86d" dependencies = [ - "http", - "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", - "url", + "http", + "jsonrpsee-client-transport", + "jsonrpsee-core", + "jsonrpsee-types", + "url", ] [[package]] @@ -4535,13 +4549,13 @@ version = "9.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" dependencies = [ - "base64 0.21.7", - "js-sys", - "pem", - "ring", - "serde", - "serde_json", - "simple_asn1", + "base64 0.21.7", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", ] [[package]] @@ -4550,12 +4564,12 @@ version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ - "cfg-if", - "ecdsa", - "elliptic-curve", - "once_cell", - "sha2 0.10.8", - "signature", + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2 0.10.8", + "signature", ] [[package]] @@ -4564,7 +4578,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ - "cpufeatures", + "cpufeatures", ] [[package]] @@ -4573,8 +4587,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ - "digest 0.10.7", - "sha3-asm", + "digest 0.10.7", + "sha3-asm", ] [[package]] @@ -4583,7 +4597,7 @@ version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330f0e13e6483b8c34885f7e6c9f19b1a7bd449c673fbb948a51c99d66ef74f4" dependencies = [ - "konst_macro_rules", + "konst_macro_rules", ] [[package]] @@ -4598,8 +4612,8 @@ version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" dependencies = [ - "kqueue-sys", - "libc", + "kqueue-sys", + "libc", ] [[package]] @@ -4608,8 +4622,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" dependencies = [ - "bitflags 1.3.2", - "libc", + "bitflags 1.3.2", + "libc", ] [[package]] @@ -4618,7 +4632,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin", + "spin", ] [[package]] @@ -4629,12 +4643,12 @@ checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ - "cfg-if", - "windows-targets 0.48.5", + "cfg-if", + "windows-targets 0.48.5", ] [[package]] @@ -4649,17 +4663,17 @@ version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "hkdf", - "libsecp256k1", - "multihash", - "quick-protobuf", - "sha2 0.10.8", - "thiserror 1.0.69", - "tracing", - "zeroize", + "asn1_der", + "bs58", + "ed25519-dalek", + "hkdf", + "libsecp256k1", + "multihash", + "quick-protobuf", + "sha2 0.10.8", + "thiserror 1.0.69", + "tracing", + "zeroize", ] [[package]] @@ -4668,9 +4682,9 @@ version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" dependencies = [ - "bindgen", - "errno", - "libc", + "bindgen", + "errno", + "libc", ] [[package]] @@ -4679,9 +4693,9 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall", + "bitflags 2.6.0", + "libc", + "redox_syscall", ] [[package]] @@ -4690,17 +4704,17 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" dependencies = [ - "arrayref", - "base64 0.13.1", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.8.5", - "serde", - "sha2 0.9.9", - "typenum", + "arrayref", + "base64 0.13.1", + "digest 0.9.0", + "hmac-drbg", + "libsecp256k1-core", + "libsecp256k1-gen-ecmult", + "libsecp256k1-gen-genmult", + "rand 0.8.5", + "serde", + "sha2 0.9.9", + "typenum", ] [[package]] @@ -4709,9 +4723,9 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", + "crunchy", + "digest 0.9.0", + "subtle", ] [[package]] @@ -4720,7 +4734,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" dependencies = [ - "libsecp256k1-core", + "libsecp256k1-core", ] [[package]] @@ -4729,7 +4743,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" dependencies = [ - "libsecp256k1-core", + "libsecp256k1-core", ] [[package]] @@ -4744,8 +4758,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" dependencies = [ - "linked-hash-map", - "serde", + "linked-hash-map", + "serde", ] [[package]] @@ -4766,9 +4780,9 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ - "autocfg", - "scopeguard", - "serde", + "autocfg", + "scopeguard", + "serde", ] [[package]] @@ -4783,11 +4797,11 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca" dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "tracing", - "tracing-subscriber", + "cfg-if", + "generator", + "scoped-tls", + "tracing", + "tracing-subscriber", ] [[package]] @@ -4796,7 +4810,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.1", + "hashbrown 0.15.2", ] [[package]] @@ -4805,7 +4819,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" dependencies = [ - "linked-hash-map", + "linked-hash-map", ] [[package]] @@ -4820,7 +4834,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" dependencies = [ - "libc", + "libc", ] [[package]] @@ -4835,7 +4849,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata 0.1.10", + "regex-automata 0.1.10", ] [[package]] @@ -4850,7 +4864,7 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ - "libc", + "libc", ] [[package]] @@ -4859,17 +4873,17 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "autocfg", + "autocfg", ] [[package]] name = "metrics" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae428771d17306715c5091d446327d1cfdedc82185c65ba8423ab404e45bf10" +checksum = "7a7deb012b3b2767169ff203fadb4c6b0b82b947512e5eb9e0b78c2e186ad9e3" dependencies = [ - "ahash", - "portable-atomic", + "ahash", + "portable-atomic", ] [[package]] @@ -4878,10 +4892,10 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn 2.0.89", + "proc-macro2", + "quote", + "regex", + "syn 2.0.90", ] [[package]] @@ -4890,28 +4904,28 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b6f8152da6d7892ff1b7a1c0fa3f435e92b5918ad67035c3bb432111d9a29b" dependencies = [ - "base64 0.22.1", - "indexmap 2.6.0", - "metrics", - "metrics-util", - "quanta", - "thiserror 1.0.69", + "base64 0.22.1", + "indexmap 2.7.0", + "metrics", + "metrics-util", + "quanta", + "thiserror 1.0.69", ] [[package]] name = "metrics-process" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ca8ecd85575fbb143b2678cb123bb818779391ec0f745b1c4a9dbabadde407" +checksum = "4a82c8add4382f29a122fa64fff1891453ed0f6b2867d971e7d60cb8dfa322ff" dependencies = [ - "libc", - "libproc", - "mach2", - "metrics", - "once_cell", - "procfs 0.17.0", - "rlimit", - "windows 0.58.0", + "libc", + "libproc", + "mach2", + "metrics", + "once_cell", + "procfs 0.17.0", + "rlimit", + "windows 0.58.0", ] [[package]] @@ -4920,14 +4934,14 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15b482df36c13dd1869d73d14d28cd4855fbd6cfc32294bee109908a9f4a4ed7" dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", - "hashbrown 0.15.1", - "indexmap 2.6.0", - "metrics", - "ordered-float", - "quanta", - "sketches-ddsketch", + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.15.2", + "indexmap 2.7.0", + "metrics", + "ordered-float", + "quanta", + "sketches-ddsketch", ] [[package]] @@ -4936,18 +4950,18 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc8342aaf4a3c2a1b2612bdf5cd1aa423918e0f1a0d9242aaeefbffd49457cad" dependencies = [ - "alloy-primitives", - "async-sse", - "bytes", - "futures-util", - "http-types", - "pin-project-lite", - "reqwest", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-primitives", + "async-sse", + "bytes", + "futures-util", + "http-types", + "pin-project-lite", + "reqwest", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] @@ -4962,8 +4976,8 @@ version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ - "mime", - "unicase", + "mime", + "unicase", ] [[package]] @@ -4978,7 +4992,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ - "adler2", + "adler2", ] [[package]] @@ -4987,23 +5001,22 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", ] [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", ] [[package]] @@ -5012,12 +5025,12 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39a6bfcc6c8c7eed5ee98b9c3e33adc726054389233e201c95dab2d41a3839d2" dependencies = [ - "cfg-if", - "downcast", - "fragile", - "mockall_derive", - "predicates", - "predicates-tree", + "cfg-if", + "downcast", + "fragile", + "mockall_derive", + "predicates", + "predicates-tree", ] [[package]] @@ -5026,10 +5039,10 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25ca3004c2efe9011bd4e461bd8256445052b9615405b4f7ea43fc8ca5c20898" dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 2.0.89", + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5038,8 +5051,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" dependencies = [ - "modular-bitfield-impl", - "static_assertions", + "modular-bitfield-impl", + "static_assertions", ] [[package]] @@ -5048,9 +5061,9 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -5065,17 +5078,17 @@ version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity", - "multibase", - "multihash", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint", - "url", + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint", + "url", ] [[package]] @@ -5084,9 +5097,9 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", + "base-x", + "data-encoding", + "data-encoding-macro", ] [[package]] @@ -5095,8 +5108,8 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" dependencies = [ - "core2", - "unsigned-varint", + "core2", + "unsigned-varint", ] [[package]] @@ -5105,9 +5118,9 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", + "bitflags 1.3.2", + "cfg-if", + "libc", ] [[package]] @@ -5116,8 +5129,8 @@ version = "7.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" dependencies = [ - "memchr", - "minimal-lexical", + "memchr", + "minimal-lexical", ] [[package]] @@ -5126,17 +5139,17 @@ version = "6.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" dependencies = [ - "bitflags 2.6.0", - "filetime", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "log", - "mio 0.8.11", - "serde", - "walkdir", - "windows-sys 0.48.0", + "bitflags 2.6.0", + "filetime", + "fsevent-sys", + "inotify", + "kqueue", + "libc", + "log", + "mio 0.8.11", + "serde", + "walkdir", + "windows-sys 0.48.0", ] [[package]] @@ -5145,7 +5158,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" dependencies = [ - "winapi", + "winapi", ] [[package]] @@ -5154,8 +5167,8 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" dependencies = [ - "overload", - "winapi", + "overload", + "winapi", ] [[package]] @@ -5164,12 +5177,12 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" dependencies = [ - "num-bigint", - "num-complex", - "num-integer", - "num-iter", - "num-rational", - "num-traits", + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", ] [[package]] @@ -5178,9 +5191,9 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "num-integer", - "num-traits", - "serde", + "num-integer", + "num-traits", + "serde", ] [[package]] @@ -5189,7 +5202,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ - "num-traits", + "num-traits", ] [[package]] @@ -5198,14 +5211,25 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "num-format" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec", - "itoa", + "arrayvec", + "itoa", ] [[package]] @@ -5214,7 +5238,7 @@ version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "num-traits", + "num-traits", ] [[package]] @@ -5223,9 +5247,9 @@ version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "autocfg", - "num-integer", - "num-traits", + "autocfg", + "num-integer", + "num-traits", ] [[package]] @@ -5234,9 +5258,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "num-bigint", - "num-integer", - "num-traits", + "num-bigint", + "num-integer", + "num-traits", ] [[package]] @@ -5245,8 +5269,8 @@ version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "autocfg", - "libm", + "autocfg", + "libm", ] [[package]] @@ -5255,8 +5279,8 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.9", - "libc", + "hermit-abi 0.3.9", + "libc", ] [[package]] @@ -5265,7 +5289,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "num_enum_derive", + "num_enum_derive", ] [[package]] @@ -5274,10 +5298,10 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5286,7 +5310,7 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ - "libc", + "libc", ] [[package]] @@ -5295,12 +5319,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95f06be0417d97f81fe4e5c86d7d01b392655a9cac9c19a848aa033e18937b23" dependencies = [ - "alloy-rlp", - "arbitrary", - "const-hex", - "proptest", - "serde", - "smallvec", + "alloy-rlp", + "arbitrary", + "const-hex", + "proptest", + "serde", + "smallvec", ] [[package]] @@ -5309,7 +5333,7 @@ version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ - "memchr", + "memchr", ] [[package]] @@ -5318,8 +5342,8 @@ version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" dependencies = [ - "critical-section", - "portable-atomic", + "critical-section", + "portable-atomic", ] [[package]] @@ -5334,16 +5358,16 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fce158d886815d419222daa67fcdf949a34f7950653a4498ebeb4963331f70ed" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "arbitrary", - "derive_more", - "serde", - "serde_with", - "thiserror 2.0.3", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "arbitrary", + "derive_more", + "serde", + "serde_with", + "thiserror 2.0.4", ] [[package]] @@ -5352,13 +5376,13 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2734e9a65efb90fe4520303f984c124766b7d2f2e5dd51cbe54d6269c85a3c91" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-sol-types", - "serde", - "serde_repr", - "thiserror 2.0.3", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_repr", + "thiserror 2.0.4", ] [[package]] @@ -5367,13 +5391,13 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87e4aef8ed017004a176ab1de49df419f59c0fb4a6ce3b693a10fe099fe1afe7" dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-signer", - "op-alloy-consensus", - "op-alloy-rpc-types", + "alloy-consensus", + "alloy-network", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-signer", + "op-alloy-consensus", + "op-alloy-rpc-types", ] [[package]] @@ -5382,21 +5406,21 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c68a3e2770890da3ad2fd20d7fe0c8e15672707577b4168a60e388c8eceaca0" dependencies = [ - "alloc-no-stdlib", - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "async-trait", - "brotli", - "miniz_oxide", - "op-alloy-consensus", - "op-alloy-genesis", - "serde", - "thiserror 2.0.3", - "tracing", - "unsigned-varint", + "alloc-no-stdlib", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "async-trait", + "brotli", + "miniz_oxide", + "op-alloy-consensus", + "op-alloy-genesis", + "serde", + "thiserror 2.0.4", + "tracing", + "unsigned-varint", ] [[package]] @@ -5405,17 +5429,17 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "060ebeaea8c772e396215f69bb86d231ec8b7f36aca0dd6ce367ceaa9a8c33e6" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "derive_more", - "op-alloy-consensus", - "serde", - "serde_json", + "alloy-consensus", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde", + "arbitrary", + "derive_more", + "op-alloy-consensus", + "serde", + "serde_json", ] [[package]] @@ -5424,37 +5448,37 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "864dbd5511ef4ef00b6c2c980739259b25b24048007b7751ca0069b30b1e3fee" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-serde", - "derive_more", - "ethereum_ssz", - "op-alloy-consensus", - "op-alloy-protocol", - "serde", - "snap", - "thiserror 2.0.3", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "alloy-serde", + "derive_more", + "ethereum_ssz", + "op-alloy-consensus", + "op-alloy-protocol", + "serde", + "snap", + "thiserror 2.0.4", ] [[package]] name = "op-reth" version = "1.1.2" dependencies = [ - "clap", - "reth-cli-util", - "reth-node-builder", - "reth-optimism-chainspec", - "reth-optimism-cli", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-node", - "reth-optimism-payload-builder", - "reth-optimism-primitives", - "reth-optimism-rpc", - "reth-provider", - "tracing", + "clap", + "reth-cli-util", + "reth-node-builder", + "reth-optimism-chainspec", + "reth-optimism-cli", + "reth-optimism-consensus", + "reth-optimism-evm", + "reth-optimism-forks", + "reth-optimism-node", + "reth-optimism-payload-builder", + "reth-optimism-primitives", + "reth-optimism-rpc", + "reth-provider", + "tracing", ] [[package]] @@ -5481,7 +5505,7 @@ version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c65ee1f9701bf938026630b455d5315f490640234259037edb259798b3bcf85e" dependencies = [ - "num-traits", + "num-traits", ] [[package]] @@ -5496,10 +5520,10 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2 0.10.8", + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2 0.10.8", ] [[package]] @@ -5508,37 +5532,36 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" dependencies = [ - "libc", - "winapi", + "libc", + "winapi", ] [[package]] name = "parity-scale-codec" -version = "3.7.0" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be4817d39f3272f69c59fe05d0535ae6456c2dc2fa1ba02910296c7e0a5c590" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "arbitrary", - "arrayvec", - "bitvec", - "byte-slice-cast", - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec-derive", - "rustversion", - "serde", + "arbitrary", + "arrayvec", + "bitvec", + "byte-slice-cast", + "bytes", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "serde", ] [[package]] name = "parity-scale-codec-derive" -version = "3.7.0" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -5553,8 +5576,8 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ - "lock_api", - "parking_lot_core", + "lock_api", + "parking_lot_core", ] [[package]] @@ -5563,11 +5586,11 @@ version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", ] [[package]] @@ -5582,8 +5605,8 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ - "digest 0.10.7", - "hmac 0.12.1", + "digest 0.10.7", + "hmac 0.12.1", ] [[package]] @@ -5592,8 +5615,8 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "base64 0.22.1", - "serde", + "base64 0.22.1", + "serde", ] [[package]] @@ -5608,9 +5631,9 @@ version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ - "memchr", - "thiserror 1.0.69", - "ucd-trie", + "memchr", + "thiserror 1.0.69", + "ucd-trie", ] [[package]] @@ -5619,8 +5642,8 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ - "futures", - "rustc_version 0.4.1", + "futures", + "rustc_version 0.4.1", ] [[package]] @@ -5629,8 +5652,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" dependencies = [ - "phf_macros", - "phf_shared", + "phf_macros", + "phf_shared", ] [[package]] @@ -5639,8 +5662,8 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ - "phf_shared", - "rand 0.8.5", + "phf_shared", + "rand 0.8.5", ] [[package]] @@ -5649,11 +5672,11 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", - "syn 2.0.89", + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5662,7 +5685,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "siphasher", + "siphasher", ] [[package]] @@ -5671,7 +5694,7 @@ version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ - "pin-project-internal", + "pin-project-internal", ] [[package]] @@ -5680,9 +5703,9 @@ version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5703,8 +5726,8 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der", - "spki", + "der", + "spki", ] [[package]] @@ -5719,7 +5742,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e19e6491bdde87c2c43d70f4c194bc8a758f2eb732df00f61e43f7362e3b4cc" dependencies = [ - "crunchy", + "crunchy", ] [[package]] @@ -5728,11 +5751,11 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -5747,7 +5770,7 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" dependencies = [ - "plotters-backend", + "plotters-backend", ] [[package]] @@ -5762,10 +5785,10 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", ] [[package]] @@ -5779,8 +5802,8 @@ name = "poseidon-bn254" version = "0.1.0" source = "git+https://github.com/scroll-tech/poseidon-bn254?rev=526a64a#526a64a81419bcab6bd8280a8a3f9808189e0373" dependencies = [ - "bn254", - "itertools 0.13.0", + "bn254", + "itertools 0.13.0", ] [[package]] @@ -5795,21 +5818,21 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebbe2f8898beba44815fdc9e5a4ae9c929e21c5dc29b0c774a15555f7f58d6d0" dependencies = [ - "aligned-vec", - "backtrace", - "cfg-if", - "criterion", - "findshlibs", - "inferno", - "libc", - "log", - "nix", - "once_cell", - "parking_lot", - "smallvec", - "symbolic-demangle", - "tempfile", - "thiserror 1.0.69", + "aligned-vec", + "backtrace", + "cfg-if", + "criterion", + "findshlibs", + "inferno", + "libc", + "log", + "nix", + "once_cell", + "parking_lot", + "smallvec", + "symbolic-demangle", + "tempfile", + "thiserror 1.0.69", ] [[package]] @@ -5818,7 +5841,7 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy", + "zerocopy", ] [[package]] @@ -5827,8 +5850,8 @@ version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" dependencies = [ - "anstyle", - "predicates-core", + "anstyle", + "predicates-core", ] [[package]] @@ -5843,8 +5866,8 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ - "predicates-core", - "termtree", + "predicates-core", + "termtree", ] [[package]] @@ -5853,8 +5876,8 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ - "diff", - "yansi", + "diff", + "yansi", ] [[package]] @@ -5863,8 +5886,8 @@ version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ - "proc-macro2", - "syn 2.0.89", + "proc-macro2", + "syn 2.0.90", ] [[package]] @@ -5873,7 +5896,7 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" dependencies = [ - "elliptic-curve", + "elliptic-curve", ] [[package]] @@ -5882,9 +5905,9 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ - "fixed-hash", - "impl-codec", - "uint 0.9.5", + "fixed-hash", + "impl-codec", + "uint 0.9.5", ] [[package]] @@ -5893,7 +5916,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit", + "toml_edit", ] [[package]] @@ -5902,8 +5925,8 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro2", - "quote", + "proc-macro2", + "quote", ] [[package]] @@ -5912,10 +5935,10 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -5924,7 +5947,7 @@ version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ - "unicode-ident", + "unicode-ident", ] [[package]] @@ -5933,13 +5956,13 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.6.0", - "chrono", - "flate2", - "hex", - "lazy_static", - "procfs-core 0.16.0", - "rustix", + "bitflags 2.6.0", + "chrono", + "flate2", + "hex", + "lazy_static", + "procfs-core 0.16.0", + "rustix", ] [[package]] @@ -5948,10 +5971,10 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ - "bitflags 2.6.0", - "hex", - "procfs-core 0.17.0", - "rustix", + "bitflags 2.6.0", + "hex", + "procfs-core 0.17.0", + "rustix", ] [[package]] @@ -5960,9 +5983,9 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "bitflags 2.6.0", - "chrono", - "hex", + "bitflags 2.6.0", + "chrono", + "hex", ] [[package]] @@ -5971,8 +5994,8 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ - "bitflags 2.6.0", - "hex", + "bitflags 2.6.0", + "hex", ] [[package]] @@ -5981,18 +6004,18 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d" dependencies = [ - "bit-set", - "bit-vec", - "bitflags 2.6.0", - "lazy_static", - "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift", - "regex-syntax 0.8.5", - "rusty-fork", - "tempfile", - "unarray", + "bit-set", + "bit-vec", + "bitflags 2.6.0", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax 0.8.5", + "rusty-fork", + "tempfile", + "unarray", ] [[package]] @@ -6001,8 +6024,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1981e49bd2432249da8b0e11e5557099a8e74690d6b94e721f7dc0bb7f3555f" dependencies = [ - "arbitrary", - "proptest", + "arbitrary", + "proptest", ] [[package]] @@ -6011,9 +6034,9 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -6022,13 +6045,13 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" dependencies = [ - "crossbeam-utils", - "libc", - "once_cell", - "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", - "web-sys", - "winapi", + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.0+wasi-snapshot-preview1", + "web-sys", + "winapi", ] [[package]] @@ -6043,7 +6066,7 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" dependencies = [ - "byteorder", + "byteorder", ] [[package]] @@ -6052,7 +6075,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" dependencies = [ - "memchr", + "memchr", ] [[package]] @@ -6061,16 +6084,16 @@ version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ - "bytes", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash 2.0.0", - "rustls", - "socket2", - "thiserror 2.0.3", - "tokio", - "tracing", + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash 2.1.0", + "rustls", + "socket2", + "thiserror 2.0.4", + "tokio", + "tracing", ] [[package]] @@ -6079,18 +6102,18 @@ version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ - "bytes", - "getrandom 0.2.15", - "rand 0.8.5", - "ring", - "rustc-hash 2.0.0", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.3", - "tinyvec", - "tracing", - "web-time", + "bytes", + "getrandom 0.2.15", + "rand 0.8.5", + "ring", + "rustc-hash 2.1.0", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.4", + "tinyvec", + "tracing", + "web-time", ] [[package]] @@ -6099,12 +6122,12 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2", - "tracing", - "windows-sys 0.59.0", + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", ] [[package]] @@ -6113,7 +6136,7 @@ version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ - "proc-macro2", + "proc-macro2", ] [[package]] @@ -6128,11 +6151,11 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", ] [[package]] @@ -6141,10 +6164,10 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "serde", + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", ] [[package]] @@ -6153,8 +6176,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] @@ -6163,8 +6186,8 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "ppv-lite86", + "rand_core 0.6.4", ] [[package]] @@ -6173,7 +6196,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" dependencies = [ - "getrandom 0.1.16", + "getrandom 0.1.16", ] [[package]] @@ -6182,7 +6205,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.15", ] [[package]] @@ -6191,7 +6214,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core 0.5.1", + "rand_core 0.5.1", ] [[package]] @@ -6200,7 +6223,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.6.4", ] [[package]] @@ -6209,19 +6232,19 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdef7f9be5c0122f890d58bdf4d964349ba6a6161f705907526d891efabba57d" dependencies = [ - "bitflags 2.6.0", - "cassowary", - "compact_str", - "crossterm", - "instability", - "itertools 0.13.0", - "lru", - "paste", - "strum", - "strum_macros", - "unicode-segmentation", - "unicode-truncate", - "unicode-width 0.1.14", + "bitflags 2.6.0", + "cassowary", + "compact_str", + "crossterm", + "instability", + "itertools 0.13.0", + "lru", + "paste", + "strum 0.26.3", + "strum_macros 0.26.4", + "unicode-segmentation", + "unicode-truncate", + "unicode-width 0.1.14", ] [[package]] @@ -6230,7 +6253,7 @@ version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.6.0", ] [[package]] @@ -6239,8 +6262,8 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" dependencies = [ - "either", - "rayon-core", + "either", + "rayon-core", ] [[package]] @@ -6249,8 +6272,8 @@ version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-deque", - "crossbeam-utils", + "crossbeam-deque", + "crossbeam-utils", ] [[package]] @@ -6265,7 +6288,7 @@ version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ - "bitflags 2.6.0", + "bitflags 2.6.0", ] [[package]] @@ -6274,9 +6297,9 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror 1.0.69", + "getrandom 0.2.15", + "libredox", + "thiserror 1.0.69", ] [[package]] @@ -6285,10 +6308,10 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "aho-corasick", + "memchr", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -6297,7 +6320,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax 0.6.29", + "regex-syntax 0.6.29", ] [[package]] @@ -6306,9 +6329,9 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.5", + "aho-corasick", + "memchr", + "regex-syntax 0.8.5", ] [[package]] @@ -6329,8 +6352,8 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" dependencies = [ - "hashbrown 0.14.5", - "memchr", + "hashbrown 0.14.5", + "memchr", ] [[package]] @@ -6345,43 +6368,43 @@ version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ - "base64 0.22.1", - "bytes", - "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-native-certs 0.8.1", - "rustls-pemfile", - "rustls-pki-types", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 1.0.2", - "tokio", - "tokio-rustls", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots", - "windows-registry", + "base64 0.22.1", + "bytes", + "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-native-certs 0.8.1", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "windows-registry", ] [[package]] @@ -6390,3264 +6413,3308 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" dependencies = [ - "hostname", - "quick-error", + "hostname", + "quick-error", ] [[package]] name = "reth" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types", - "aquamarine", - "backon", - "clap", - "eyre", - "futures", - "reth-basic-payload-builder", - "reth-beacon-consensus", - "reth-blockchain-tree", - "reth-chainspec", - "reth-cli", - "reth-cli-commands", - "reth-cli-runner", - "reth-cli-util", - "reth-config", - "reth-consensus", - "reth-consensus-common", - "reth-db", - "reth-db-api", - "reth-downloaders", - "reth-engine-util", - "reth-errors", - "reth-ethereum-cli", - "reth-ethereum-payload-builder", - "reth-evm", - "reth-execution-types", - "reth-exex", - "reth-fs-util", - "reth-network", - "reth-network-api", - "reth-network-p2p", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-node-ethereum", - "reth-node-events", - "reth-node-metrics", - "reth-payload-builder", - "reth-payload-primitives", - "reth-payload-validator", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-prune", - "reth-revm", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-builder", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-rpc-types-compat", - "reth-stages", - "reth-static-file", - "reth-tasks", - "reth-tracing", - "reth-transaction-pool", - "serde_json", - "similar-asserts", - "tempfile", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types", + "aquamarine", + "backon", + "clap", + "eyre", + "futures", + "reth-basic-payload-builder", + "reth-beacon-consensus", + "reth-blockchain-tree", + "reth-chainspec", + "reth-cli", + "reth-cli-commands", + "reth-cli-runner", + "reth-cli-util", + "reth-config", + "reth-consensus", + "reth-consensus-common", + "reth-db", + "reth-db-api", + "reth-downloaders", + "reth-engine-util", + "reth-errors", + "reth-ethereum-cli", + "reth-ethereum-payload-builder", + "reth-evm", + "reth-execution-types", + "reth-exex", + "reth-fs-util", + "reth-network", + "reth-network-api", + "reth-network-p2p", + "reth-node-api", + "reth-node-builder", + "reth-node-core", + "reth-node-ethereum", + "reth-node-events", + "reth-node-metrics", + "reth-payload-builder", + "reth-payload-primitives", + "reth-payload-validator", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-prune", + "reth-revm", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-builder", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-stages", + "reth-static-file", + "reth-tasks", + "reth-tracing", + "reth-transaction-pool", + "serde_json", + "similar-asserts", + "tempfile", + "tokio", + "tracing", ] [[package]] name = "reth-basic-payload-builder" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "futures-core", - "futures-util", - "metrics", - "reth-chainspec", - "reth-evm", - "reth-metrics", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-revm", - "reth-scroll-revm", - "reth-tasks", - "reth-transaction-pool", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "futures-core", + "futures-util", + "metrics", + "reth-chainspec", + "reth-evm", + "reth-metrics", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-revm", + "reth-scroll-revm", + "reth-tasks", + "reth-transaction-pool", + "tokio", + "tracing", ] [[package]] name = "reth-beacon-consensus" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-rpc-types-engine", - "assert_matches", - "futures", - "itertools 0.13.0", - "metrics", - "reth-blockchain-tree", - "reth-blockchain-tree-api", - "reth-chainspec", - "reth-codecs", - "reth-config", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-downloaders", - "reth-engine-primitives", - "reth-errors", - "reth-ethereum-consensus", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-evm-ethereum", - "reth-exex-types", - "reth-metrics", - "reth-network-p2p", - "reth-node-types", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-payload-validator", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-prune", - "reth-prune-types", - "reth-rpc-types-compat", - "reth-stages", - "reth-stages-api", - "reth-static-file", - "reth-tasks", - "reth-testing-utils", - "reth-tokio-util", - "reth-tracing", - "schnellru", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rpc-types-engine", + "assert_matches", + "futures", + "itertools 0.13.0", + "metrics", + "reth-blockchain-tree", + "reth-blockchain-tree-api", + "reth-chainspec", + "reth-codecs", + "reth-config", + "reth-consensus", + "reth-db", + "reth-db-api", + "reth-downloaders", + "reth-engine-primitives", + "reth-errors", + "reth-ethereum-consensus", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-evm-ethereum", + "reth-exex-types", + "reth-metrics", + "reth-network-p2p", + "reth-node-types", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-payload-validator", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-prune", + "reth-prune-types", + "reth-rpc-types-compat", + "reth-stages", + "reth-stages-api", + "reth-static-file", + "reth-tasks", + "reth-testing-utils", + "reth-tokio-util", + "reth-tracing", + "schnellru", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-bench" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-json-rpc", - "alloy-primitives", - "alloy-provider", - "alloy-pubsub", - "alloy-rpc-client", - "alloy-rpc-types-engine", - "alloy-transport", - "alloy-transport-http", - "alloy-transport-ipc", - "alloy-transport-ws", - "async-trait", - "clap", - "csv", - "eyre", - "futures", - "reqwest", - "reth-cli-runner", - "reth-cli-util", - "reth-node-api", - "reth-node-core", - "reth-primitives", - "reth-primitives-traits", - "reth-rpc-types-compat", - "reth-tracing", - "serde", - "thiserror 1.0.69", - "tokio", - "tower 0.4.13", - "tracing", + "alloy-eips", + "alloy-json-rpc", + "alloy-primitives", + "alloy-provider", + "alloy-pubsub", + "alloy-rpc-client", + "alloy-rpc-types-engine", + "alloy-transport", + "alloy-transport-http", + "alloy-transport-ipc", + "alloy-transport-ws", + "async-trait", + "clap", + "csv", + "eyre", + "futures", + "reqwest", + "reth-cli-runner", + "reth-cli-util", + "reth-node-api", + "reth-node-core", + "reth-primitives", + "reth-primitives-traits", + "reth-rpc-types-compat", + "reth-tracing", + "serde", + "thiserror 1.0.69", + "tokio", + "tower 0.4.13", + "tracing", ] [[package]] name = "reth-blockchain-tree" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "aquamarine", - "assert_matches", - "linked_hash_set", - "metrics", - "parking_lot", - "reth-blockchain-tree-api", - "reth-chainspec", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-evm", - "reth-evm-ethereum", - "reth-execution-errors", - "reth-execution-types", - "reth-metrics", - "reth-network", - "reth-node-types", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-scroll-revm", - "reth-scroll-storage", - "reth-stages-api", - "reth-storage-errors", - "reth-testing-utils", - "reth-trie", - "reth-trie-db", - "reth-trie-parallel", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "aquamarine", + "assert_matches", + "linked_hash_set", + "metrics", + "parking_lot", + "reth-blockchain-tree-api", + "reth-chainspec", + "reth-consensus", + "reth-db", + "reth-db-api", + "reth-evm", + "reth-evm-ethereum", + "reth-execution-errors", + "reth-execution-types", + "reth-metrics", + "reth-network", + "reth-node-types", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-scroll-revm", + "reth-scroll-storage", + "reth-stages-api", + "reth-storage-errors", + "reth-testing-utils", + "reth-trie", + "reth-trie-db", + "reth-trie-parallel", + "tokio", + "tracing", ] [[package]] name = "reth-blockchain-tree-api" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "reth-consensus", - "reth-execution-errors", - "reth-primitives", - "reth-storage-errors", - "thiserror 1.0.69", + "alloy-eips", + "alloy-primitives", + "reth-consensus", + "reth-execution-errors", + "reth-primitives", + "reth-storage-errors", + "thiserror 1.0.69", ] [[package]] name = "reth-chain-state" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-signer", - "alloy-signer-local", - "derive_more", - "metrics", - "parking_lot", - "pin-project", - "rand 0.8.5", - "reth-chainspec", - "reth-errors", - "reth-execution-types", - "reth-metrics", - "reth-primitives", - "reth-primitives-traits", - "reth-scroll-revm", - "reth-storage-api", - "reth-testing-utils", - "reth-trie", - "tokio", - "tokio-stream", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", + "derive_more", + "metrics", + "parking_lot", + "pin-project", + "rand 0.8.5", + "reth-chainspec", + "reth-errors", + "reth-execution-types", + "reth-metrics", + "reth-primitives", + "reth-primitives-traits", + "reth-scroll-revm", + "reth-storage-api", + "reth-testing-utils", + "reth-trie", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-chainspec" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-rlp", - "alloy-trie", - "auto_impl", - "derive_more", - "once_cell", - "reth-ethereum-forks", - "reth-network-peers", - "reth-primitives-traits", - "reth-trie-common", - "serde_json", + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "alloy-trie", + "auto_impl", + "derive_more", + "once_cell", + "reth-ethereum-forks", + "reth-network-peers", + "reth-primitives-traits", + "reth-trie-common", + "serde_json", ] [[package]] name = "reth-cli" version = "1.1.2" dependencies = [ - "alloy-genesis", - "clap", - "eyre", - "reth-cli-runner", - "reth-db", - "serde_json", - "shellexpand", + "alloy-genesis", + "clap", + "eyre", + "reth-cli-runner", + "reth-db", + "serde_json", + "shellexpand", ] [[package]] name = "reth-cli-commands" version = "1.1.2" dependencies = [ - "ahash", - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "backon", - "clap", - "comfy-table", - "crossterm", - "eyre", - "fdlimit", - "futures", - "human_bytes", - "itertools 0.13.0", - "proptest", - "proptest-arbitrary-interop", - "ratatui", - "reth-beacon-consensus", - "reth-chainspec", - "reth-cli", - "reth-cli-runner", - "reth-cli-util", - "reth-codecs", - "reth-config", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-db-common", - "reth-discv4", - "reth-downloaders", - "reth-ecies", - "reth-eth-wire", - "reth-ethereum-cli", - "reth-evm", - "reth-exex", - "reth-fs-util", - "reth-network", - "reth-network-p2p", - "reth-network-peers", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-node-events", - "reth-node-metrics", - "reth-primitives", - "reth-provider", - "reth-prune", - "reth-prune-types", - "reth-stages", - "reth-stages-types", - "reth-static-file", - "reth-static-file-types", - "reth-trie", - "reth-trie-common", - "secp256k1", - "serde", - "serde_json", - "tokio", - "toml", - "tracing", + "ahash", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "backon", + "clap", + "comfy-table", + "crossterm", + "eyre", + "fdlimit", + "futures", + "human_bytes", + "itertools 0.13.0", + "proptest", + "proptest-arbitrary-interop", + "ratatui", + "reth-beacon-consensus", + "reth-chainspec", + "reth-cli", + "reth-cli-runner", + "reth-cli-util", + "reth-codecs", + "reth-config", + "reth-consensus", + "reth-db", + "reth-db-api", + "reth-db-common", + "reth-discv4", + "reth-downloaders", + "reth-ecies", + "reth-eth-wire", + "reth-ethereum-cli", + "reth-evm", + "reth-exex", + "reth-fs-util", + "reth-network", + "reth-network-p2p", + "reth-network-peers", + "reth-node-api", + "reth-node-builder", + "reth-node-core", + "reth-node-events", + "reth-node-metrics", + "reth-primitives", + "reth-provider", + "reth-prune", + "reth-prune-types", + "reth-stages", + "reth-stages-types", + "reth-static-file", + "reth-static-file-types", + "reth-trie", + "reth-trie-common", + "secp256k1", + "serde", + "serde_json", + "tokio", + "toml", + "tracing", ] [[package]] name = "reth-cli-runner" version = "1.1.2" dependencies = [ - "reth-tasks", - "tokio", - "tracing", + "reth-tasks", + "tokio", + "tracing", ] [[package]] name = "reth-cli-util" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "cfg-if", - "eyre", - "libc", - "rand 0.8.5", - "reth-fs-util", - "secp256k1", - "serde", - "thiserror 1.0.69", - "tikv-jemallocator", - "tracy-client", + "alloy-eips", + "alloy-primitives", + "cfg-if", + "eyre", + "libc", + "rand 0.8.5", + "reth-fs-util", + "secp256k1", + "serde", + "thiserror 1.0.69", + "tikv-jemallocator", + "tracy-client", ] [[package]] name = "reth-codecs" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-trie", - "arbitrary", - "bytes", - "modular-bitfield", - "op-alloy-consensus", - "proptest", - "proptest-arbitrary-interop", - "reth-codecs-derive", - "serde", - "serde_json", - "test-fuzz", - "visibility", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-trie", + "arbitrary", + "bytes", + "modular-bitfield", + "op-alloy-consensus", + "proptest", + "proptest-arbitrary-interop", + "reth-codecs-derive", + "serde", + "serde_json", + "test-fuzz", + "visibility", ] [[package]] name = "reth-codecs-derive" version = "1.1.2" dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "similar-asserts", - "syn 2.0.89", + "convert_case", + "proc-macro2", + "quote", + "similar-asserts", + "syn 2.0.90", ] [[package]] name = "reth-config" version = "1.1.2" dependencies = [ - "alloy-primitives", - "eyre", - "humantime-serde", - "reth-network-peers", - "reth-network-types", - "reth-prune-types", - "reth-stages-types", - "serde", - "tempfile", - "toml", + "alloy-primitives", + "eyre", + "humantime-serde", + "reth-network-peers", + "reth-network-types", + "reth-prune-types", + "reth-stages-types", + "serde", + "tempfile", + "toml", ] [[package]] name = "reth-consensus" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "auto_impl", - "derive_more", - "reth-primitives", - "reth-primitives-traits", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "auto_impl", + "derive_more", + "reth-primitives", + "reth-primitives-traits", ] [[package]] name = "reth-consensus-common" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "mockall", - "rand 0.8.5", - "reth-chainspec", - "reth-consensus", - "reth-primitives", - "reth-primitives-traits", - "reth-storage-api", - "revm-primitives", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "mockall", + "rand 0.8.5", + "reth-chainspec", + "reth-consensus", + "reth-primitives", + "reth-primitives-traits", + "reth-storage-api", + "revm-primitives", ] [[package]] name = "reth-consensus-debug-client" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "auto_impl", - "eyre", - "futures", - "reqwest", - "reth-node-api", - "reth-rpc-api", - "reth-rpc-builder", - "reth-tracing", - "ringbuffer", - "serde", - "tokio", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "auto_impl", + "eyre", + "futures", + "reqwest", + "reth-node-api", + "reth-rpc-api", + "reth-rpc-builder", + "reth-tracing", + "ringbuffer", + "serde", + "tokio", ] [[package]] name = "reth-db" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "arbitrary", - "assert_matches", - "bytes", - "criterion", - "derive_more", - "eyre", - "iai-callgrind", - "metrics", - "page_size", - "parking_lot", - "paste", - "pprof", - "proptest", - "reth-db-api", - "reth-fs-util", - "reth-libmdbx", - "reth-metrics", - "reth-nippy-jar", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-scroll-primitives", - "reth-stages-types", - "reth-storage-errors", - "reth-tracing", - "reth-trie-common", - "rustc-hash 2.0.0", - "serde", - "serde_json", - "strum", - "sysinfo", - "tempfile", - "test-fuzz", - "thiserror 1.0.69", + "alloy-consensus", + "alloy-primitives", + "arbitrary", + "assert_matches", + "bytes", + "criterion", + "derive_more", + "eyre", + "iai-callgrind", + "metrics", + "page_size", + "parking_lot", + "paste", + "pprof", + "proptest", + "reth-db-api", + "reth-fs-util", + "reth-libmdbx", + "reth-metrics", + "reth-nippy-jar", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-scroll-primitives", + "reth-stages-types", + "reth-storage-errors", + "reth-tracing", + "reth-trie-common", + "rustc-hash 2.1.0", + "serde", + "serde_json", + "strum 0.26.3", + "sysinfo", + "tempfile", + "test-fuzz", + "thiserror 1.0.69", ] [[package]] name = "reth-db-api" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", - "arbitrary", - "bytes", - "derive_more", - "metrics", - "modular-bitfield", - "parity-scale-codec", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-codecs", - "reth-db-models", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-stages-types", - "reth-storage-errors", - "reth-trie-common", - "serde", - "test-fuzz", + "alloy-consensus", + "alloy-genesis", + "alloy-primitives", + "arbitrary", + "bytes", + "derive_more", + "metrics", + "modular-bitfield", + "parity-scale-codec", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-codecs", + "reth-db-models", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-stages-types", + "reth-storage-errors", + "reth-trie-common", + "serde", + "test-fuzz", ] [[package]] name = "reth-db-common" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", - "boyer-moore-magiclen", - "eyre", - "reth-chainspec", - "reth-codecs", - "reth-config", - "reth-db", - "reth-db-api", - "reth-etl", - "reth-fs-util", - "reth-node-types", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-scroll-primitives", - "reth-stages-types", - "reth-trie", - "reth-trie-db", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", + "alloy-consensus", + "alloy-genesis", + "alloy-primitives", + "boyer-moore-magiclen", + "eyre", + "reth-chainspec", + "reth-codecs", + "reth-config", + "reth-db", + "reth-db-api", + "reth-etl", + "reth-fs-util", + "reth-node-types", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-scroll-primitives", + "reth-stages-types", + "reth-trie", + "reth-trie-db", + "serde", + "serde_json", + "thiserror 1.0.69", + "tracing", ] [[package]] name = "reth-db-models" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "arbitrary", - "bytes", - "modular-bitfield", - "proptest", - "proptest-arbitrary-interop", - "reth-codecs", - "reth-primitives-traits", - "serde", - "test-fuzz", + "alloy-eips", + "alloy-primitives", + "arbitrary", + "bytes", + "modular-bitfield", + "proptest", + "proptest-arbitrary-interop", + "reth-codecs", + "reth-primitives-traits", + "serde", + "test-fuzz", ] [[package]] name = "reth-discv4" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "assert_matches", - "discv5", - "enr", - "generic-array", - "itertools 0.13.0", - "parking_lot", - "rand 0.8.5", - "reth-ethereum-forks", - "reth-net-banlist", - "reth-net-nat", - "reth-network-peers", - "reth-tracing", - "schnellru", - "secp256k1", - "serde", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", + "alloy-primitives", + "alloy-rlp", + "assert_matches", + "discv5", + "enr", + "generic-array", + "itertools 0.13.0", + "parking_lot", + "rand 0.8.5", + "reth-ethereum-forks", + "reth-net-banlist", + "reth-net-nat", + "reth-network-peers", + "reth-tracing", + "schnellru", + "secp256k1", + "serde", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-discv5" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "derive_more", - "discv5", - "enr", - "futures", - "itertools 0.13.0", - "metrics", - "rand 0.8.5", - "reth-chainspec", - "reth-ethereum-forks", - "reth-metrics", - "reth-network-peers", - "reth-tracing", - "secp256k1", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-primitives", + "alloy-rlp", + "derive_more", + "discv5", + "enr", + "futures", + "itertools 0.13.0", + "metrics", + "rand 0.8.5", + "reth-chainspec", + "reth-ethereum-forks", + "reth-metrics", + "reth-network-peers", + "reth-tracing", + "secp256k1", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-dns-discovery" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-primitives", - "alloy-rlp", - "data-encoding", - "enr", - "linked_hash_set", - "parking_lot", - "rand 0.8.5", - "reth-chainspec", - "reth-ethereum-forks", - "reth-network-peers", - "reth-tokio-util", - "reth-tracing", - "schnellru", - "secp256k1", - "serde", - "serde_with", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", - "trust-dns-resolver", + "alloy-chains", + "alloy-primitives", + "alloy-rlp", + "data-encoding", + "enr", + "linked_hash_set", + "parking_lot", + "rand 0.8.5", + "reth-chainspec", + "reth-ethereum-forks", + "reth-network-peers", + "reth-tokio-util", + "reth-tracing", + "schnellru", + "secp256k1", + "serde", + "serde_with", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", + "trust-dns-resolver", ] [[package]] name = "reth-downloaders" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "assert_matches", - "futures", - "futures-util", - "itertools 0.13.0", - "metrics", - "pin-project", - "rand 0.8.5", - "rayon", - "reth-chainspec", - "reth-config", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-metrics", - "reth-network-p2p", - "reth-network-peers", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-storage-api", - "reth-tasks", - "reth-testing-utils", - "reth-tracing", - "tempfile", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "assert_matches", + "futures", + "futures-util", + "itertools 0.13.0", + "metrics", + "pin-project", + "rand 0.8.5", + "rayon", + "reth-chainspec", + "reth-config", + "reth-consensus", + "reth-db", + "reth-db-api", + "reth-metrics", + "reth-network-p2p", + "reth-network-peers", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-storage-api", + "reth-tasks", + "reth-testing-utils", + "reth-tracing", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", ] [[package]] name = "reth-e2e-test-utils" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-signer", - "alloy-signer-local", - "derive_more", - "eyre", - "futures-util", - "jsonrpsee", - "op-alloy-rpc-types-engine", - "reth-chainspec", - "reth-db", - "reth-engine-local", - "reth-network", - "reth-network-api", - "reth-network-peers", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-optimism-primitives", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-provider", - "reth-rpc-api", - "reth-rpc-eth-api", - "reth-rpc-layer", - "reth-rpc-server-types", - "reth-stages-types", - "reth-tasks", - "reth-tokio-util", - "reth-tracing", - "serde_json", - "tokio", - "tokio-stream", - "tracing", - "url", + "alloy-consensus", + "alloy-eips", + "alloy-network", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-signer", + "alloy-signer-local", + "derive_more", + "eyre", + "futures-util", + "jsonrpsee", + "op-alloy-rpc-types-engine", + "reth-chainspec", + "reth-db", + "reth-engine-local", + "reth-network", + "reth-network-api", + "reth-network-peers", + "reth-node-api", + "reth-node-builder", + "reth-node-core", + "reth-optimism-primitives", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-provider", + "reth-rpc-api", + "reth-rpc-eth-api", + "reth-rpc-layer", + "reth-rpc-server-types", + "reth-stages-types", + "reth-tasks", + "reth-tokio-util", + "reth-tracing", + "serde_json", + "tokio", + "tokio-stream", + "tracing", + "url", ] [[package]] name = "reth-ecies" version = "1.1.2" dependencies = [ - "aes", - "alloy-primitives", - "alloy-rlp", - "block-padding", - "byteorder", - "cipher", - "concat-kdf", - "ctr", - "digest 0.10.7", - "futures", - "generic-array", - "hmac 0.12.1", - "pin-project", - "rand 0.8.5", - "reth-network-peers", - "secp256k1", - "sha2 0.10.8", - "sha3", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "typenum", + "aes", + "alloy-primitives", + "alloy-rlp", + "block-padding", + "byteorder", + "cipher", + "concat-kdf", + "ctr", + "digest 0.10.7", + "futures", + "generic-array", + "hmac 0.12.1", + "pin-project", + "rand 0.8.5", + "reth-network-peers", + "secp256k1", + "sha2 0.10.8", + "sha3", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", + "typenum", ] [[package]] name = "reth-engine-local" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-engine", - "eyre", - "futures-util", - "op-alloy-rpc-types-engine", - "reth-beacon-consensus", - "reth-chainspec", - "reth-consensus", - "reth-engine-primitives", - "reth-engine-service", - "reth-engine-tree", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-node-types", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-provider", - "reth-prune", - "reth-rpc-types-compat", - "reth-stages-api", - "reth-transaction-pool", - "tokio", - "tokio-stream", - "tracing", + "alloy-primitives", + "alloy-rpc-types-engine", + "eyre", + "futures-util", + "op-alloy-rpc-types-engine", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-engine-primitives", + "reth-engine-service", + "reth-engine-tree", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-node-types", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-provider", + "reth-prune", + "reth-rpc-types-compat", + "reth-stages-api", + "reth-transaction-pool", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-engine-primitives" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rpc-types-engine", - "futures", - "reth-errors", - "reth-execution-types", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-primitives-traits", - "reth-trie", - "serde", - "thiserror 1.0.69", - "tokio", + "alloy-consensus", + "alloy-primitives", + "alloy-rpc-types-engine", + "futures", + "reth-errors", + "reth-execution-types", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-primitives-traits", + "reth-trie", + "serde", + "thiserror 1.0.69", + "tokio", ] [[package]] name = "reth-engine-service" version = "1.1.2" dependencies = [ - "futures", - "pin-project", - "reth-beacon-consensus", - "reth-chainspec", - "reth-consensus", - "reth-engine-primitives", - "reth-engine-tree", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-evm-ethereum", - "reth-exex-types", - "reth-network-p2p", - "reth-node-types", - "reth-payload-builder", - "reth-primitives", - "reth-provider", - "reth-prune", - "reth-stages-api", - "reth-tasks", - "thiserror 1.0.69", - "tokio", - "tokio-stream", + "futures", + "pin-project", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-engine-primitives", + "reth-engine-tree", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-evm-ethereum", + "reth-exex-types", + "reth-network-p2p", + "reth-node-types", + "reth-payload-builder", + "reth-primitives", + "reth-provider", + "reth-prune", + "reth-stages-api", + "reth-tasks", + "thiserror 1.0.69", + "tokio", + "tokio-stream", ] [[package]] name = "reth-engine-tree" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "assert_matches", - "criterion", - "crossbeam-channel", - "futures", - "metrics", - "rand 0.8.5", - "rayon", - "reth-beacon-consensus", - "reth-blockchain-tree", - "reth-blockchain-tree-api", - "reth-chain-state", - "reth-chainspec", - "reth-consensus", - "reth-db", - "reth-engine-primitives", - "reth-errors", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-exex-types", - "reth-metrics", - "reth-network-p2p", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-provider", - "reth-prune", - "reth-prune-types", - "reth-revm", - "reth-rpc-types-compat", - "reth-scroll-primitives", - "reth-stages", - "reth-stages-api", - "reth-static-file", - "reth-tasks", - "reth-testing-utils", - "reth-tracing", - "reth-trie", - "reth-trie-db", - "reth-trie-parallel", - "reth-trie-sparse", - "revm-primitives", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "assert_matches", + "criterion", + "crossbeam-channel", + "futures", + "metrics", + "rand 0.8.5", + "rayon", + "reth-beacon-consensus", + "reth-blockchain-tree", + "reth-blockchain-tree-api", + "reth-chain-state", + "reth-chainspec", + "reth-consensus", + "reth-db", + "reth-engine-primitives", + "reth-errors", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-exex-types", + "reth-metrics", + "reth-network-p2p", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-provider", + "reth-prune", + "reth-prune-types", + "reth-revm", + "reth-rpc-types-compat", + "reth-scroll-primitives", + "reth-stages", + "reth-stages-api", + "reth-static-file", + "reth-tasks", + "reth-testing-utils", + "reth-tracing", + "reth-trie", + "reth-trie-db", + "reth-trie-parallel", + "reth-trie-sparse", + "revm-primitives", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-engine-util" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "eyre", - "futures", - "itertools 0.13.0", - "pin-project", - "reth-engine-primitives", - "reth-errors", - "reth-ethereum-forks", - "reth-evm", - "reth-fs-util", - "reth-payload-validator", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-rpc-types-compat", - "reth-scroll-execution", - "reth-scroll-storage", - "reth-trie", - "revm-primitives", - "serde", - "serde_json", - "tokio", - "tokio-util", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "eyre", + "futures", + "itertools 0.13.0", + "pin-project", + "reth-engine-primitives", + "reth-errors", + "reth-ethereum-forks", + "reth-evm", + "reth-fs-util", + "reth-payload-validator", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-rpc-types-compat", + "reth-scroll-execution", + "reth-scroll-storage", + "reth-trie", + "revm-primitives", + "serde", + "serde_json", + "tokio", + "tokio-util", + "tracing", ] [[package]] name = "reth-errors" version = "1.1.2" dependencies = [ - "reth-blockchain-tree-api", - "reth-consensus", - "reth-execution-errors", - "reth-fs-util", - "reth-storage-errors", - "thiserror 1.0.69", + "reth-blockchain-tree-api", + "reth-consensus", + "reth-execution-errors", + "reth-fs-util", + "reth-storage-errors", + "thiserror 1.0.69", ] [[package]] name = "reth-eth-wire" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "async-stream", - "bytes", - "derive_more", - "futures", - "pin-project", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-codecs", - "reth-ecies", - "reth-eth-wire-types", - "reth-ethereum-forks", - "reth-metrics", - "reth-network-peers", - "reth-primitives", - "reth-primitives-traits", - "reth-tracing", - "secp256k1", - "serde", - "snap", - "test-fuzz", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", + "alloy-chains", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "async-stream", + "bytes", + "derive_more", + "futures", + "pin-project", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-codecs", + "reth-ecies", + "reth-eth-wire-types", + "reth-ethereum-forks", + "reth-metrics", + "reth-network-peers", + "reth-primitives", + "reth-primitives-traits", + "reth-tracing", + "secp256k1", + "serde", + "snap", + "test-fuzz", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", ] [[package]] name = "reth-eth-wire-types" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "bytes", - "derive_more", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-chainspec", - "reth-codecs-derive", - "reth-primitives", - "reth-primitives-traits", - "serde", - "thiserror 1.0.69", + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "bytes", + "derive_more", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-chainspec", + "reth-codecs-derive", + "reth-primitives", + "reth-primitives-traits", + "serde", + "thiserror 1.0.69", ] [[package]] name = "reth-ethereum-cli" version = "1.1.2" dependencies = [ - "clap", - "eyre", - "reth-chainspec", - "reth-cli", - "reth-cli-commands", + "clap", + "eyre", + "reth-chainspec", + "reth-cli", + "reth-cli-commands", ] [[package]] name = "reth-ethereum-consensus" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "reth-chainspec", - "reth-consensus", - "reth-consensus-common", - "reth-primitives", - "reth-primitives-traits", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-primitives", + "reth-primitives-traits", + "tracing", ] [[package]] name = "reth-ethereum-engine-primitives" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "reth-chain-state", - "reth-chainspec", - "reth-engine-primitives", - "reth-payload-primitives", - "reth-payload-validator", - "reth-primitives", - "reth-rpc-types-compat", - "serde", - "serde_json", - "sha2 0.10.8", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "reth-chain-state", + "reth-chainspec", + "reth-engine-primitives", + "reth-payload-primitives", + "reth-payload-validator", + "reth-primitives", + "reth-rpc-types-compat", + "serde", + "serde_json", + "sha2 0.10.8", ] [[package]] name = "reth-ethereum-forks" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "auto_impl", - "crc", - "dyn-clone", - "once_cell", - "proptest", - "proptest-derive", - "rustc-hash 2.0.0", - "serde", - "thiserror-no-std", + "alloy-chains", + "alloy-consensus", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "auto_impl", + "crc", + "dyn-clone", + "once_cell", + "proptest", + "proptest-derive", + "rustc-hash 2.1.0", + "serde", + "thiserror-no-std", ] [[package]] name = "reth-ethereum-payload-builder" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "reth-basic-payload-builder", - "reth-chain-state", - "reth-chainspec", - "reth-errors", - "reth-evm", - "reth-evm-ethereum", - "reth-execution-types", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-scroll-revm", - "reth-transaction-pool", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "reth-basic-payload-builder", + "reth-chain-state", + "reth-chainspec", + "reth-errors", + "reth-evm", + "reth-evm-ethereum", + "reth-execution-types", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-scroll-revm", + "reth-transaction-pool", + "tracing", ] [[package]] name = "reth-etl" version = "1.1.2" dependencies = [ - "alloy-primitives", - "rayon", - "reth-db-api", - "tempfile", + "alloy-primitives", + "rayon", + "reth-db-api", + "tempfile", ] [[package]] name = "reth-evm" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "auto_impl", - "futures-util", - "metrics", - "metrics-util", - "parking_lot", - "reth-chainspec", - "reth-consensus", - "reth-consensus-common", - "reth-ethereum-forks", - "reth-execution-errors", - "reth-execution-types", - "reth-metrics", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-revm", - "reth-scroll-execution", - "reth-scroll-revm", - "reth-storage-errors", - "revm-primitives", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "auto_impl", + "futures-util", + "metrics", + "metrics-util", + "parking_lot", + "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-ethereum-forks", + "reth-execution-errors", + "reth-execution-types", + "reth-metrics", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-revm", + "reth-scroll-execution", + "reth-scroll-revm", + "reth-storage-errors", + "revm-primitives", ] [[package]] name = "reth-evm-ethereum" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-sol-types", - "reth-chainspec", - "reth-consensus", - "reth-ethereum-consensus", - "reth-ethereum-forks", - "reth-evm", - "reth-execution-types", - "reth-primitives", - "reth-revm", - "reth-scroll-execution", - "reth-scroll-primitives", - "reth-testing-utils", - "revm-primitives", - "secp256k1", - "serde_json", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-sol-types", + "reth-chainspec", + "reth-consensus", + "reth-ethereum-consensus", + "reth-ethereum-forks", + "reth-evm", + "reth-execution-types", + "reth-primitives", + "reth-revm", + "reth-scroll-execution", + "reth-scroll-primitives", + "reth-testing-utils", + "revm-primitives", + "secp256k1", + "serde_json", ] [[package]] name = "reth-execution-errors" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "derive_more", - "nybbles", - "reth-consensus", - "reth-prune-types", - "reth-storage-errors", - "revm-primitives", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "derive_more", + "nybbles", + "reth-consensus", + "reth-prune-types", + "reth-storage-errors", + "revm-primitives", ] [[package]] name = "reth-execution-types" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "arbitrary", - "bincode", - "rand 0.8.5", - "reth-execution-errors", - "reth-primitives", - "reth-primitives-traits", - "reth-scroll-revm", - "reth-trie", - "reth-trie-common", - "serde", - "serde_with", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "arbitrary", + "bincode", + "rand 0.8.5", + "reth-execution-errors", + "reth-primitives", + "reth-primitives-traits", + "reth-scroll-revm", + "reth-trie", + "reth-trie-common", + "serde", + "serde_with", ] [[package]] name = "reth-exex" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "eyre", - "futures", - "itertools 0.13.0", - "metrics", - "parking_lot", - "rand 0.8.5", - "reth-blockchain-tree", - "reth-chain-state", - "reth-chainspec", - "reth-config", - "reth-db-common", - "reth-evm", - "reth-evm-ethereum", - "reth-exex-types", - "reth-fs-util", - "reth-metrics", - "reth-node-api", - "reth-node-core", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-prune-types", - "reth-revm", - "reth-scroll-storage", - "reth-stages-api", - "reth-tasks", - "reth-testing-utils", - "reth-tracing", - "rmp-serde", - "secp256k1", - "tempfile", - "tokio", - "tokio-util", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "eyre", + "futures", + "itertools 0.13.0", + "metrics", + "parking_lot", + "rand 0.8.5", + "reth-blockchain-tree", + "reth-chain-state", + "reth-chainspec", + "reth-config", + "reth-db-common", + "reth-evm", + "reth-evm-ethereum", + "reth-exex-types", + "reth-fs-util", + "reth-metrics", + "reth-node-api", + "reth-node-core", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-prune-types", + "reth-revm", + "reth-scroll-storage", + "reth-stages-api", + "reth-tasks", + "reth-testing-utils", + "reth-tracing", + "rmp-serde", + "secp256k1", + "tempfile", + "tokio", + "tokio-util", + "tracing", ] [[package]] name = "reth-exex-test-utils" version = "1.1.2" dependencies = [ - "alloy-eips", - "eyre", - "futures-util", - "rand 0.8.5", - "reth-blockchain-tree", - "reth-chainspec", - "reth-config", - "reth-consensus", - "reth-db", - "reth-db-common", - "reth-evm", - "reth-execution-types", - "reth-exex", - "reth-network", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-node-ethereum", - "reth-payload-builder", - "reth-primitives", - "reth-provider", - "reth-tasks", - "reth-transaction-pool", - "reth-trie-db", - "tempfile", - "thiserror 1.0.69", - "tokio", + "alloy-eips", + "eyre", + "futures-util", + "rand 0.8.5", + "reth-blockchain-tree", + "reth-chainspec", + "reth-config", + "reth-consensus", + "reth-db", + "reth-db-common", + "reth-evm", + "reth-execution-types", + "reth-exex", + "reth-network", + "reth-node-api", + "reth-node-builder", + "reth-node-core", + "reth-node-ethereum", + "reth-payload-builder", + "reth-primitives", + "reth-provider", + "reth-tasks", + "reth-transaction-pool", + "reth-trie-db", + "tempfile", + "thiserror 1.0.69", + "tokio", ] [[package]] name = "reth-exex-types" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "arbitrary", - "bincode", - "rand 0.8.5", - "reth-chain-state", - "reth-execution-types", - "reth-primitives", - "reth-primitives-traits", - "serde", - "serde_with", + "alloy-eips", + "alloy-primitives", + "arbitrary", + "bincode", + "rand 0.8.5", + "reth-chain-state", + "reth-execution-types", + "reth-primitives", + "reth-primitives-traits", + "serde", + "serde_with", ] [[package]] name = "reth-fs-util" version = "1.1.2" dependencies = [ - "serde", - "serde_json", - "thiserror 1.0.69", + "serde", + "serde_json", + "thiserror 1.0.69", ] [[package]] name = "reth-invalid-block-hooks" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-debug", - "eyre", - "futures", - "jsonrpsee", - "pretty_assertions", - "reth-chainspec", - "reth-engine-primitives", - "reth-evm", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-revm", - "reth-rpc-api", - "reth-scroll-execution", - "reth-scroll-revm", - "reth-scroll-storage", - "reth-tracing", - "reth-trie", - "serde", - "serde_json", + "alloy-consensus", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-debug", + "eyre", + "futures", + "jsonrpsee", + "pretty_assertions", + "reth-chainspec", + "reth-engine-primitives", + "reth-evm", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-revm", + "reth-rpc-api", + "reth-scroll-execution", + "reth-scroll-revm", + "reth-scroll-storage", + "reth-tracing", + "reth-trie", + "serde", + "serde_json", ] [[package]] name = "reth-ipc" version = "1.1.2" dependencies = [ - "async-trait", - "bytes", - "futures", - "futures-util", - "interprocess", - "jsonrpsee", - "pin-project", - "rand 0.8.5", - "reth-tracing", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tower 0.4.13", - "tracing", + "async-trait", + "bytes", + "futures", + "futures-util", + "interprocess", + "jsonrpsee", + "pin-project", + "rand 0.8.5", + "reth-tracing", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tower 0.4.13", + "tracing", ] [[package]] name = "reth-libmdbx" version = "1.1.2" dependencies = [ - "bitflags 2.6.0", - "byteorder", - "criterion", - "dashmap 6.1.0", - "derive_more", - "indexmap 2.6.0", - "parking_lot", - "pprof", - "rand 0.8.5", - "rand_xorshift", - "reth-mdbx-sys", - "smallvec", - "tempfile", - "thiserror 1.0.69", - "tracing", + "bitflags 2.6.0", + "byteorder", + "criterion", + "dashmap 6.1.0", + "derive_more", + "indexmap 2.7.0", + "parking_lot", + "pprof", + "rand 0.8.5", + "rand_xorshift", + "reth-mdbx-sys", + "smallvec", + "tempfile", + "thiserror 1.0.69", + "tracing", ] [[package]] name = "reth-mdbx-sys" version = "1.1.2" dependencies = [ - "bindgen", - "cc", + "bindgen", + "cc", ] [[package]] name = "reth-metrics" version = "1.1.2" dependencies = [ - "futures", - "metrics", - "metrics-derive", - "tokio", - "tokio-util", + "futures", + "metrics", + "metrics-derive", + "tokio", + "tokio-util", ] [[package]] name = "reth-net-banlist" version = "1.1.2" dependencies = [ - "alloy-primitives", + "alloy-primitives", ] [[package]] name = "reth-net-nat" version = "1.1.2" dependencies = [ - "futures-util", - "if-addrs", - "reqwest", - "reth-tracing", - "serde_with", - "thiserror 1.0.69", - "tokio", - "tracing", + "futures-util", + "if-addrs", + "reqwest", + "reth-tracing", + "serde_with", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-network" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-node-bindings", - "alloy-primitives", - "alloy-provider", - "alloy-rlp", - "aquamarine", - "auto_impl", - "criterion", - "derive_more", - "discv5", - "enr", - "futures", - "itertools 0.13.0", - "metrics", - "parking_lot", - "pin-project", - "pprof", - "rand 0.8.5", - "reth-chainspec", - "reth-consensus", - "reth-discv4", - "reth-discv5", - "reth-dns-discovery", - "reth-ecies", - "reth-eth-wire", - "reth-eth-wire-types", - "reth-ethereum-forks", - "reth-fs-util", - "reth-metrics", - "reth-net-banlist", - "reth-network", - "reth-network-api", - "reth-network-p2p", - "reth-network-peers", - "reth-network-types", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-storage-api", - "reth-tasks", - "reth-tokio-util", - "reth-tracing", - "reth-transaction-pool", - "rustc-hash 2.0.0", - "schnellru", - "secp256k1", - "serde", - "serial_test", - "smallvec", - "tempfile", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "url", + "alloy-consensus", + "alloy-eips", + "alloy-node-bindings", + "alloy-primitives", + "alloy-provider", + "alloy-rlp", + "aquamarine", + "auto_impl", + "criterion", + "derive_more", + "discv5", + "enr", + "futures", + "itertools 0.13.0", + "metrics", + "parking_lot", + "pin-project", + "pprof", + "rand 0.8.5", + "reth-chainspec", + "reth-consensus", + "reth-discv4", + "reth-discv5", + "reth-dns-discovery", + "reth-ecies", + "reth-eth-wire", + "reth-eth-wire-types", + "reth-ethereum-forks", + "reth-fs-util", + "reth-metrics", + "reth-net-banlist", + "reth-network", + "reth-network-api", + "reth-network-p2p", + "reth-network-peers", + "reth-network-types", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-storage-api", + "reth-tasks", + "reth-tokio-util", + "reth-tracing", + "reth-transaction-pool", + "rustc-hash 2.1.0", + "schnellru", + "secp256k1", + "serde", + "serial_test", + "smallvec", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", + "url", ] [[package]] name = "reth-network-api" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-admin", - "auto_impl", - "derive_more", - "enr", - "futures", - "reth-eth-wire-types", - "reth-ethereum-forks", - "reth-network-p2p", - "reth-network-peers", - "reth-network-types", - "reth-tokio-util", - "serde", - "thiserror 1.0.69", - "tokio", - "tokio-stream", + "alloy-primitives", + "alloy-rpc-types-admin", + "auto_impl", + "derive_more", + "enr", + "futures", + "reth-eth-wire-types", + "reth-ethereum-forks", + "reth-network-p2p", + "reth-network-peers", + "reth-network-types", + "reth-tokio-util", + "serde", + "thiserror 1.0.69", + "tokio", + "tokio-stream", ] [[package]] name = "reth-network-p2p" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "auto_impl", - "derive_more", - "futures", - "parking_lot", - "reth-consensus", - "reth-eth-wire-types", - "reth-network-peers", - "reth-network-types", - "reth-primitives", - "reth-primitives-traits", - "reth-storage-errors", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "auto_impl", + "derive_more", + "futures", + "parking_lot", + "reth-consensus", + "reth-eth-wire-types", + "reth-network-peers", + "reth-network-types", + "reth-primitives", + "reth-primitives-traits", + "reth-storage-errors", + "tokio", + "tracing", ] [[package]] name = "reth-network-peers" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "enr", - "rand 0.8.5", - "secp256k1", - "serde_json", - "serde_with", - "thiserror 1.0.69", - "tokio", - "url", + "alloy-primitives", + "alloy-rlp", + "enr", + "rand 0.8.5", + "secp256k1", + "serde_json", + "serde_with", + "thiserror 1.0.69", + "tokio", + "url", ] [[package]] name = "reth-network-types" version = "1.1.2" dependencies = [ - "humantime-serde", - "reth-ethereum-forks", - "reth-net-banlist", - "reth-network-peers", - "serde", - "serde_json", - "tracing", + "humantime-serde", + "reth-ethereum-forks", + "reth-net-banlist", + "reth-network-peers", + "serde", + "serde_json", + "tracing", ] [[package]] name = "reth-nippy-jar" version = "1.1.2" dependencies = [ - "anyhow", - "bincode", - "derive_more", - "lz4_flex", - "memmap2", - "rand 0.8.5", - "reth-fs-util", - "serde", - "tempfile", - "thiserror 1.0.69", - "tracing", - "zstd", + "anyhow", + "bincode", + "derive_more", + "lz4_flex", + "memmap2", + "rand 0.8.5", + "reth-fs-util", + "serde", + "tempfile", + "thiserror 1.0.69", + "tracing", + "zstd", ] [[package]] name = "reth-node-api" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-rpc-types-engine", - "eyre", - "reth-beacon-consensus", - "reth-consensus", - "reth-engine-primitives", - "reth-evm", - "reth-network-api", - "reth-node-core", - "reth-node-types", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-provider", - "reth-tasks", - "reth-transaction-pool", + "alloy-consensus", + "alloy-rpc-types-engine", + "eyre", + "reth-beacon-consensus", + "reth-consensus", + "reth-engine-primitives", + "reth-evm", + "reth-network-api", + "reth-node-core", + "reth-node-types", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-provider", + "reth-tasks", + "reth-transaction-pool", ] [[package]] name = "reth-node-builder" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rpc-types", - "aquamarine", - "eyre", - "fdlimit", - "futures", - "jsonrpsee", - "rayon", - "reth-beacon-consensus", - "reth-blockchain-tree", - "reth-chain-state", - "reth-chainspec", - "reth-cli-util", - "reth-config", - "reth-consensus", - "reth-consensus-debug-client", - "reth-db", - "reth-db-api", - "reth-db-common", - "reth-downloaders", - "reth-engine-local", - "reth-engine-service", - "reth-engine-tree", - "reth-engine-util", - "reth-evm", - "reth-exex", - "reth-fs-util", - "reth-invalid-block-hooks", - "reth-network", - "reth-network-api", - "reth-network-p2p", - "reth-node-api", - "reth-node-core", - "reth-node-events", - "reth-node-metrics", - "reth-payload-builder", - "reth-payload-validator", - "reth-primitives", - "reth-provider", - "reth-prune", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-builder", - "reth-rpc-engine-api", - "reth-rpc-eth-types", - "reth-rpc-layer", - "reth-stages", - "reth-static-file", - "reth-tasks", - "reth-tokio-util", - "reth-tracing", - "reth-transaction-pool", - "revm-primitives", - "secp256k1", - "tempfile", - "tokio", - "tokio-stream", - "tracing", + "alloy-consensus", + "alloy-primitives", + "alloy-rpc-types", + "aquamarine", + "eyre", + "fdlimit", + "futures", + "jsonrpsee", + "rayon", + "reth-beacon-consensus", + "reth-blockchain-tree", + "reth-chain-state", + "reth-chainspec", + "reth-cli-util", + "reth-config", + "reth-consensus", + "reth-consensus-debug-client", + "reth-db", + "reth-db-api", + "reth-db-common", + "reth-downloaders", + "reth-engine-local", + "reth-engine-service", + "reth-engine-tree", + "reth-engine-util", + "reth-evm", + "reth-exex", + "reth-fs-util", + "reth-invalid-block-hooks", + "reth-network", + "reth-network-api", + "reth-network-p2p", + "reth-node-api", + "reth-node-core", + "reth-node-events", + "reth-node-metrics", + "reth-payload-builder", + "reth-payload-validator", + "reth-primitives", + "reth-provider", + "reth-prune", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-builder", + "reth-rpc-engine-api", + "reth-rpc-eth-types", + "reth-rpc-layer", + "reth-stages", + "reth-static-file", + "reth-tasks", + "reth-tokio-util", + "reth-tracing", + "reth-transaction-pool", + "revm-primitives", + "secp256k1", + "tempfile", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-node-core" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "clap", - "const_format", - "derive_more", - "dirs-next", - "eyre", - "futures", - "humantime", - "proptest", - "rand 0.8.5", - "reth-chainspec", - "reth-cli-util", - "reth-config", - "reth-consensus", - "reth-db", - "reth-discv4", - "reth-discv5", - "reth-net-nat", - "reth-network", - "reth-network-p2p", - "reth-network-peers", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-rpc-types-compat", - "reth-stages-types", - "reth-storage-api", - "reth-storage-errors", - "reth-tracing", - "reth-transaction-pool", - "secp256k1", - "serde", - "shellexpand", - "strum", - "thiserror 1.0.69", - "tokio", - "toml", - "tracing", - "vergen", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "clap", + "const_format", + "derive_more", + "dirs-next", + "eyre", + "futures", + "humantime", + "proptest", + "rand 0.8.5", + "reth-chainspec", + "reth-cli-util", + "reth-config", + "reth-consensus", + "reth-db", + "reth-discv4", + "reth-discv5", + "reth-net-nat", + "reth-network", + "reth-network-p2p", + "reth-network-peers", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-stages-types", + "reth-storage-api", + "reth-storage-errors", + "reth-tracing", + "reth-transaction-pool", + "secp256k1", + "serde", + "shellexpand", + "strum 0.26.3", + "thiserror 1.0.69", + "tokio", + "toml", + "tracing", + "vergen", ] [[package]] name = "reth-node-ethereum" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-contract", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-beacon", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-signer", - "alloy-sol-types", - "eyre", - "futures", - "rand 0.8.5", - "reth-basic-payload-builder", - "reth-beacon-consensus", - "reth-chainspec", - "reth-consensus", - "reth-db", - "reth-e2e-test-utils", - "reth-ethereum-engine-primitives", - "reth-ethereum-payload-builder", - "reth-evm", - "reth-evm-ethereum", - "reth-exex", - "reth-network", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-payload-builder", - "reth-payload-primitives", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-rpc", - "reth-rpc-eth-api", - "reth-scroll-revm", - "reth-tasks", - "reth-tracing", - "reth-transaction-pool", - "reth-trie-db", - "serde_json", - "tokio", + "alloy-consensus", + "alloy-contract", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-provider", + "alloy-rpc-types-beacon", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-signer", + "alloy-sol-types", + "eyre", + "futures", + "rand 0.8.5", + "reth-basic-payload-builder", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-db", + "reth-e2e-test-utils", + "reth-ethereum-engine-primitives", + "reth-ethereum-payload-builder", + "reth-evm", + "reth-evm-ethereum", + "reth-exex", + "reth-network", + "reth-node-api", + "reth-node-builder", + "reth-node-core", + "reth-payload-builder", + "reth-payload-primitives", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-rpc", + "reth-rpc-eth-api", + "reth-scroll-revm", + "reth-tasks", + "reth-tracing", + "reth-transaction-pool", + "reth-trie-db", + "serde_json", + "tokio", ] [[package]] name = "reth-node-events" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "futures", - "humantime", - "pin-project", - "reth-beacon-consensus", - "reth-engine-primitives", - "reth-network-api", - "reth-primitives-traits", - "reth-prune-types", - "reth-stages", - "reth-static-file-types", - "reth-storage-api", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "futures", + "humantime", + "pin-project", + "reth-beacon-consensus", + "reth-engine-primitives", + "reth-network-api", + "reth-primitives-traits", + "reth-prune-types", + "reth-stages", + "reth-static-file-types", + "reth-storage-api", + "tokio", + "tracing", ] [[package]] name = "reth-node-metrics" version = "1.1.2" dependencies = [ - "eyre", - "http", - "jsonrpsee-server", - "metrics", - "metrics-exporter-prometheus", - "metrics-process", - "metrics-util", - "procfs 0.16.0", - "reqwest", - "reth-metrics", - "reth-tasks", - "socket2", - "tikv-jemalloc-ctl", - "tokio", - "tower 0.4.13", - "tracing", - "vergen", + "eyre", + "http", + "jsonrpsee-server", + "metrics", + "metrics-exporter-prometheus", + "metrics-process", + "metrics-util", + "procfs 0.16.0", + "reqwest", + "reth-metrics", + "reth-tasks", + "socket2", + "tikv-jemalloc-ctl", + "tokio", + "tower 0.4.13", + "tracing", + "vergen", ] [[package]] name = "reth-node-types" version = "1.1.2" dependencies = [ - "reth-chainspec", - "reth-db-api", - "reth-engine-primitives", - "reth-primitives-traits", - "reth-trie-db", + "reth-chainspec", + "reth-db-api", + "reth-engine-primitives", + "reth-primitives-traits", + "reth-trie-db", ] [[package]] name = "reth-optimism-chainspec" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "derive_more", - "once_cell", - "op-alloy-rpc-types", - "reth-chainspec", - "reth-ethereum-forks", - "reth-network-peers", - "reth-optimism-forks", - "reth-primitives-traits", - "serde_json", + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "derive_more", + "once_cell", + "op-alloy-rpc-types", + "reth-chainspec", + "reth-ethereum-forks", + "reth-network-peers", + "reth-optimism-forks", + "reth-primitives-traits", + "serde_json", ] [[package]] name = "reth-optimism-cli" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "clap", - "derive_more", - "eyre", - "futures-util", - "op-alloy-consensus", - "proptest", - "reth-chainspec", - "reth-cli", - "reth-cli-commands", - "reth-cli-runner", - "reth-config", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-db-common", - "reth-downloaders", - "reth-errors", - "reth-execution-types", - "reth-fs-util", - "reth-network-p2p", - "reth-node-builder", - "reth-node-core", - "reth-node-events", - "reth-node-metrics", - "reth-optimism-chainspec", - "reth-optimism-evm", - "reth-optimism-node", - "reth-optimism-primitives", - "reth-primitives", - "reth-provider", - "reth-prune", - "reth-stages", - "reth-stages-types", - "reth-static-file", - "reth-static-file-types", - "reth-tracing", - "serde", - "tempfile", - "tokio", - "tokio-util", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "clap", + "derive_more", + "eyre", + "futures-util", + "op-alloy-consensus", + "proptest", + "reth-chainspec", + "reth-cli", + "reth-cli-commands", + "reth-cli-runner", + "reth-config", + "reth-consensus", + "reth-db", + "reth-db-api", + "reth-db-common", + "reth-downloaders", + "reth-errors", + "reth-execution-types", + "reth-fs-util", + "reth-network-p2p", + "reth-node-builder", + "reth-node-core", + "reth-node-events", + "reth-node-metrics", + "reth-optimism-chainspec", + "reth-optimism-evm", + "reth-optimism-node", + "reth-optimism-primitives", + "reth-primitives", + "reth-provider", + "reth-prune", + "reth-stages", + "reth-stages-types", + "reth-static-file", + "reth-static-file-types", + "reth-tracing", + "serde", + "tempfile", + "tokio", + "tokio-util", + "tracing", ] [[package]] name = "reth-optimism-consensus" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-trie", - "reth-chainspec", - "reth-consensus", - "reth-consensus-common", - "reth-optimism-chainspec", - "reth-optimism-forks", - "reth-primitives", - "reth-trie-common", - "tracing", + "alloy-consensus", + "alloy-primitives", + "alloy-trie", + "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-optimism-chainspec", + "reth-optimism-forks", + "reth-primitives", + "reth-trie-common", + "tracing", ] [[package]] name = "reth-optimism-evm" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "derive_more", - "op-alloy-consensus", - "reth-chainspec", - "reth-consensus", - "reth-ethereum-forks", - "reth-evm", - "reth-execution-errors", - "reth-execution-types", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-forks", - "reth-optimism-primitives", - "reth-primitives", - "reth-prune-types", - "reth-revm", - "reth-scroll-execution", - "reth-scroll-revm", - "revm-primitives", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "derive_more", + "op-alloy-consensus", + "reth-chainspec", + "reth-consensus", + "reth-ethereum-forks", + "reth-evm", + "reth-execution-errors", + "reth-execution-types", + "reth-optimism-chainspec", + "reth-optimism-consensus", + "reth-optimism-forks", + "reth-optimism-primitives", + "reth-primitives", + "reth-prune-types", + "reth-revm", + "reth-scroll-execution", + "reth-scroll-revm", + "revm-primitives", + "tracing", ] [[package]] name = "reth-optimism-forks" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-primitives", - "once_cell", - "reth-ethereum-forks", - "serde", + "alloy-chains", + "alloy-primitives", + "once_cell", + "reth-ethereum-forks", + "serde", ] [[package]] name = "reth-optimism-node" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-network", - "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-signer-local", - "clap", - "eyre", - "futures", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", - "parking_lot", - "reth-basic-payload-builder", - "reth-beacon-consensus", - "reth-chainspec", - "reth-consensus", - "reth-db", - "reth-e2e-test-utils", - "reth-engine-local", - "reth-evm", - "reth-network", - "reth-node-api", - "reth-node-builder", - "reth-node-core", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-node", - "reth-optimism-payload-builder", - "reth-optimism-primitives", - "reth-optimism-rpc", - "reth-payload-builder", - "reth-payload-util", - "reth-payload-validator", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-rpc-server-types", - "reth-scroll-revm", - "reth-tasks", - "reth-tracing", - "reth-transaction-pool", - "reth-trie-db", - "serde", - "serde_json", - "tokio", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-network", + "alloy-primitives", + "alloy-rpc-types-engine", + "alloy-signer-local", + "clap", + "eyre", + "futures", + "op-alloy-consensus", + "op-alloy-rpc-types-engine", + "parking_lot", + "reth-basic-payload-builder", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-db", + "reth-e2e-test-utils", + "reth-engine-local", + "reth-evm", + "reth-network", + "reth-node-api", + "reth-node-builder", + "reth-node-core", + "reth-optimism-chainspec", + "reth-optimism-consensus", + "reth-optimism-evm", + "reth-optimism-forks", + "reth-optimism-node", + "reth-optimism-payload-builder", + "reth-optimism-primitives", + "reth-optimism-rpc", + "reth-payload-builder", + "reth-payload-util", + "reth-payload-validator", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-rpc-server-types", + "reth-scroll-revm", + "reth-tasks", + "reth-tracing", + "reth-transaction-pool", + "reth-trie-db", + "serde", + "serde_json", + "tokio", ] [[package]] name = "reth-optimism-payload-builder" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", - "reth-basic-payload-builder", - "reth-chain-state", - "reth-chainspec", - "reth-evm", - "reth-execution-types", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-payload-util", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-rpc-types-compat", - "reth-scroll-revm", - "reth-transaction-pool", - "sha2 0.10.8", - "thiserror 1.0.69", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", + "op-alloy-consensus", + "op-alloy-rpc-types-engine", + "reth-basic-payload-builder", + "reth-chain-state", + "reth-chainspec", + "reth-evm", + "reth-execution-types", + "reth-optimism-chainspec", + "reth-optimism-consensus", + "reth-optimism-evm", + "reth-optimism-forks", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-payload-util", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-rpc-types-compat", + "reth-scroll-revm", + "reth-transaction-pool", + "sha2 0.10.8", + "thiserror 1.0.69", + "tracing", ] [[package]] name = "reth-optimism-primitives" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "bytes", - "derive_more", - "op-alloy-consensus", - "reth-codecs", - "reth-primitives", - "reth-primitives-traits", - "rstest", - "serde", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "bytes", + "derive_more", + "op-alloy-consensus", + "reth-codecs", + "reth-primitives", + "reth-primitives-traits", + "rstest", + "serde", ] [[package]] name = "reth-optimism-rpc" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-debug", - "alloy-rpc-types-eth", - "derive_more", - "jsonrpsee-core", - "jsonrpsee-types", - "op-alloy-consensus", - "op-alloy-network", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", - "parking_lot", - "reqwest", - "reth-chainspec", - "reth-evm", - "reth-network-api", - "reth-node-api", - "reth-node-builder", - "reth-optimism-chainspec", - "reth-optimism-consensus", - "reth-optimism-evm", - "reth-optimism-forks", - "reth-optimism-payload-builder", - "reth-optimism-primitives", - "reth-primitives", - "reth-provider", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-eth-api", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-scroll-revm", - "reth-tasks", - "reth-transaction-pool", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-debug", + "alloy-rpc-types-eth", + "derive_more", + "jsonrpsee-core", + "jsonrpsee-types", + "op-alloy-consensus", + "op-alloy-network", + "op-alloy-rpc-types", + "op-alloy-rpc-types-engine", + "parking_lot", + "reqwest", + "reth-chainspec", + "reth-evm", + "reth-network-api", + "reth-node-api", + "reth-node-builder", + "reth-optimism-chainspec", + "reth-optimism-consensus", + "reth-optimism-evm", + "reth-optimism-forks", + "reth-optimism-payload-builder", + "reth-optimism-primitives", + "reth-primitives", + "reth-provider", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-scroll-revm", + "reth-tasks", + "reth-transaction-pool", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-optimism-storage" version = "1.1.2" dependencies = [ - "reth-codecs", - "reth-db-api", - "reth-primitives", - "reth-prune-types", - "reth-stages-types", + "reth-codecs", + "reth-db-api", + "reth-primitives", + "reth-prune-types", + "reth-stages-types", ] [[package]] name = "reth-payload-builder" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rpc-types", - "async-trait", - "futures-util", - "metrics", - "reth-chain-state", - "reth-ethereum-engine-primitives", - "reth-metrics", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-scroll-revm", - "tokio", - "tokio-stream", - "tracing", + "alloy-consensus", + "alloy-primitives", + "alloy-rpc-types", + "async-trait", + "futures-util", + "metrics", + "reth-chain-state", + "reth-ethereum-engine-primitives", + "reth-metrics", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-scroll-revm", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-payload-builder-primitives" version = "1.1.2" dependencies = [ - "alloy-rpc-types-engine", - "async-trait", - "pin-project", - "reth-payload-primitives", - "tokio", - "tokio-stream", - "tracing", + "alloy-rpc-types-engine", + "async-trait", + "pin-project", + "reth-payload-primitives", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-payload-primitives" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "op-alloy-rpc-types-engine", - "reth-chain-state", - "reth-chainspec", - "reth-errors", - "reth-primitives", - "revm-primitives", - "serde", - "thiserror 1.0.69", - "tokio", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "op-alloy-rpc-types-engine", + "reth-chain-state", + "reth-chainspec", + "reth-errors", + "reth-primitives", + "revm-primitives", + "serde", + "thiserror 1.0.69", + "tokio", ] [[package]] name = "reth-payload-util" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "reth-primitives", + "alloy-consensus", + "alloy-primitives", + "reth-primitives", ] [[package]] name = "reth-payload-validator" version = "1.1.2" dependencies = [ - "alloy-rpc-types", - "reth-chainspec", - "reth-primitives", - "reth-rpc-types-compat", + "alloy-rpc-types", + "reth-chainspec", + "reth-primitives", + "reth-rpc-types-compat", ] [[package]] name = "reth-primitives" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-network", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types", - "alloy-serde", - "alloy-trie", - "arbitrary", - "assert_matches", - "bincode", - "bytes", - "c-kzg", - "criterion", - "derive_more", - "k256", - "modular-bitfield", - "once_cell", - "op-alloy-consensus", - "op-alloy-rpc-types", - "pprof", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "rayon", - "reth-chainspec", - "reth-codecs", - "reth-ethereum-forks", - "reth-primitives-traits", - "reth-scroll-primitives", - "reth-scroll-revm", - "reth-static-file-types", - "reth-testing-utils", - "reth-trie-common", - "rstest", - "secp256k1", - "serde", - "serde_json", - "serde_with", - "test-fuzz", - "zstd", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-network", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types", + "alloy-serde", + "alloy-trie", + "arbitrary", + "assert_matches", + "bincode", + "bytes", + "c-kzg", + "criterion", + "derive_more", + "k256", + "modular-bitfield", + "once_cell", + "op-alloy-consensus", + "op-alloy-rpc-types", + "pprof", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "rayon", + "reth-chainspec", + "reth-codecs", + "reth-ethereum-forks", + "reth-primitives-traits", + "reth-scroll-primitives", + "reth-scroll-revm", + "reth-static-file-types", + "reth-testing-utils", + "reth-trie-common", + "rstest", + "secp256k1", + "serde", + "serde_json", + "serde_with", + "test-fuzz", + "zstd", ] [[package]] name = "reth-primitives-traits" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "auto_impl", - "bincode", - "byteorder", - "bytes", - "derive_more", - "modular-bitfield", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-codecs", - "reth-scroll-primitives", - "reth-scroll-revm", - "roaring", - "serde", - "serde_json", - "serde_with", - "test-fuzz", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "auto_impl", + "bincode", + "byteorder", + "bytes", + "derive_more", + "modular-bitfield", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-codecs", + "reth-scroll-primitives", + "reth-scroll-revm", + "roaring", + "serde", + "serde_json", + "serde_with", + "test-fuzz", ] [[package]] name = "reth-provider" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "assert_matches", - "auto_impl", - "dashmap 6.1.0", - "eyre", - "itertools 0.13.0", - "metrics", - "notify", - "parking_lot", - "rand 0.8.5", - "rayon", - "reth-blockchain-tree-api", - "reth-chain-state", - "reth-chainspec", - "reth-codecs", - "reth-db", - "reth-db-api", - "reth-errors", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-execution-types", - "reth-fs-util", - "reth-metrics", - "reth-network-p2p", - "reth-nippy-jar", - "reth-node-types", - "reth-optimism-primitives", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-scroll-primitives", - "reth-scroll-revm", - "reth-stages-types", - "reth-storage-api", - "reth-storage-errors", - "reth-testing-utils", - "reth-trie", - "reth-trie-db", - "strum", - "tempfile", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "assert_matches", + "auto_impl", + "dashmap 6.1.0", + "eyre", + "itertools 0.13.0", + "metrics", + "notify", + "parking_lot", + "rand 0.8.5", + "rayon", + "reth-blockchain-tree-api", + "reth-chain-state", + "reth-chainspec", + "reth-codecs", + "reth-db", + "reth-db-api", + "reth-errors", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-execution-types", + "reth-fs-util", + "reth-metrics", + "reth-network-p2p", + "reth-nippy-jar", + "reth-node-types", + "reth-optimism-primitives", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-scroll-primitives", + "reth-scroll-revm", + "reth-stages-types", + "reth-storage-api", + "reth-storage-errors", + "reth-testing-utils", + "reth-trie", + "reth-trie-db", + "strum 0.26.3", + "tempfile", + "tokio", + "tracing", ] [[package]] name = "reth-prune" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "assert_matches", - "itertools 0.13.0", - "metrics", - "rayon", - "reth-chainspec", - "reth-config", - "reth-db", - "reth-db-api", - "reth-errors", - "reth-exex-types", - "reth-metrics", - "reth-primitives-traits", - "reth-provider", - "reth-prune-types", - "reth-stages", - "reth-static-file-types", - "reth-testing-utils", - "reth-tokio-util", - "reth-tracing", - "rustc-hash 2.0.0", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "assert_matches", + "itertools 0.13.0", + "metrics", + "rayon", + "reth-chainspec", + "reth-config", + "reth-db", + "reth-db-api", + "reth-errors", + "reth-exex-types", + "reth-metrics", + "reth-primitives-traits", + "reth-provider", + "reth-prune-types", + "reth-stages", + "reth-static-file-types", + "reth-testing-utils", + "reth-tokio-util", + "reth-tracing", + "rustc-hash 2.1.0", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-prune-types" version = "1.1.2" dependencies = [ - "alloy-primitives", - "arbitrary", - "assert_matches", - "bytes", - "derive_more", - "modular-bitfield", - "proptest", - "proptest-arbitrary-interop", - "reth-codecs", - "serde", - "serde_json", - "test-fuzz", - "thiserror 1.0.69", - "toml", + "alloy-primitives", + "arbitrary", + "assert_matches", + "bytes", + "derive_more", + "modular-bitfield", + "proptest", + "proptest-arbitrary-interop", + "reth-codecs", + "serde", + "serde_json", + "test-fuzz", + "thiserror 1.0.69", + "toml", ] [[package]] name = "reth-revm" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "reth-ethereum-forks", - "reth-execution-errors", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-scroll-primitives", - "reth-scroll-revm", - "reth-storage-api", - "reth-storage-errors", - "reth-trie", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "reth-ethereum-forks", + "reth-execution-errors", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-scroll-primitives", + "reth-scroll-revm", + "reth-storage-api", + "reth-storage-errors", + "reth-trie", ] [[package]] name = "reth-rpc" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-dyn-abi", - "alloy-eips", - "alloy-genesis", - "alloy-network", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types", - "alloy-rpc-types-admin", - "alloy-rpc-types-beacon", - "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-rpc-types-trace", - "alloy-rpc-types-txpool", - "alloy-serde", - "alloy-signer", - "alloy-signer-local", - "async-trait", - "derive_more", - "futures", - "http", - "http-body", - "hyper", - "jsonrpsee", - "jsonrpsee-types", - "jsonwebtoken", - "parking_lot", - "pin-project", - "rand 0.8.5", - "reth-chainspec", - "reth-consensus", - "reth-consensus-common", - "reth-errors", - "reth-ethereum-consensus", - "reth-evm", - "reth-evm-ethereum", - "reth-network-api", - "reth-network-peers", - "reth-network-types", - "reth-payload-validator", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-revm", - "reth-rpc-api", - "reth-rpc-engine-api", - "reth-rpc-eth-api", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-rpc-types-compat", - "reth-scroll-revm", - "reth-scroll-storage", - "reth-tasks", - "reth-testing-utils", - "reth-transaction-pool", - "revm-inspectors", - "revm-primitives", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tower 0.4.13", - "tracing", - "tracing-futures", + "alloy-consensus", + "alloy-dyn-abi", + "alloy-eips", + "alloy-genesis", + "alloy-network", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-beacon", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde", + "alloy-signer", + "alloy-signer-local", + "async-trait", + "derive_more", + "futures", + "http", + "http-body", + "hyper", + "jsonrpsee", + "jsonrpsee-types", + "jsonwebtoken", + "parking_lot", + "pin-project", + "rand 0.8.5", + "reth-chainspec", + "reth-consensus", + "reth-consensus-common", + "reth-errors", + "reth-ethereum-consensus", + "reth-evm", + "reth-evm-ethereum", + "reth-network-api", + "reth-network-peers", + "reth-network-types", + "reth-payload-validator", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-revm", + "reth-rpc-api", + "reth-rpc-engine-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-scroll-revm", + "reth-scroll-storage", + "reth-tasks", + "reth-testing-utils", + "reth-transaction-pool", + "revm-inspectors", + "revm-primitives", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tracing", + "tracing-futures", ] [[package]] name = "reth-rpc-api" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-json-rpc", - "alloy-primitives", - "alloy-rpc-types", - "alloy-rpc-types-admin", - "alloy-rpc-types-anvil", - "alloy-rpc-types-beacon", - "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-rpc-types-trace", - "alloy-rpc-types-txpool", - "alloy-serde", - "jsonrpsee", - "reth-engine-primitives", - "reth-network-peers", - "reth-rpc-eth-api", + "alloy-eips", + "alloy-json-rpc", + "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-anvil", + "alloy-rpc-types-beacon", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde", + "jsonrpsee", + "reth-engine-primitives", + "reth-network-peers", + "reth-rpc-eth-api", ] [[package]] name = "reth-rpc-api-testing-util" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "futures", - "jsonrpsee", - "jsonrpsee-http-client", - "reth-primitives", - "reth-rpc-api", - "reth-rpc-eth-api", - "serde_json", - "similar-asserts", - "tokio", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "futures", + "jsonrpsee", + "jsonrpsee-http-client", + "reth-primitives", + "reth-rpc-api", + "reth-rpc-eth-api", + "serde_json", + "similar-asserts", + "tokio", ] [[package]] name = "reth-rpc-builder" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "clap", - "http", - "jsonrpsee", - "metrics", - "pin-project", - "reth-beacon-consensus", - "reth-chainspec", - "reth-consensus", - "reth-engine-primitives", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-evm-ethereum", - "reth-ipc", - "reth-metrics", - "reth-network-api", - "reth-network-peers", - "reth-node-core", - "reth-payload-builder", - "reth-primitives", - "reth-provider", - "reth-rpc", - "reth-rpc-api", - "reth-rpc-engine-api", - "reth-rpc-eth-api", - "reth-rpc-eth-types", - "reth-rpc-layer", - "reth-rpc-server-types", - "reth-rpc-types-compat", - "reth-tasks", - "reth-tracing", - "reth-transaction-pool", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tokio-util", - "tower 0.4.13", - "tower-http", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "clap", + "http", + "jsonrpsee", + "metrics", + "pin-project", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-engine-primitives", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-evm-ethereum", + "reth-ipc", + "reth-metrics", + "reth-network-api", + "reth-network-peers", + "reth-node-core", + "reth-payload-builder", + "reth-primitives", + "reth-provider", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-engine-api", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-rpc-layer", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-tasks", + "reth-tracing", + "reth-transaction-pool", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-util", + "tower 0.4.13", + "tower-http", + "tracing", ] [[package]] name = "reth-rpc-engine-api" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "assert_matches", - "async-trait", - "jsonrpsee-core", - "jsonrpsee-types", - "metrics", - "parking_lot", - "reth-beacon-consensus", - "reth-chainspec", - "reth-engine-primitives", - "reth-ethereum-engine-primitives", - "reth-evm", - "reth-metrics", - "reth-payload-builder", - "reth-payload-builder-primitives", - "reth-payload-primitives", - "reth-primitives", - "reth-provider", - "reth-rpc-api", - "reth-rpc-types-compat", - "reth-storage-api", - "reth-tasks", - "reth-testing-utils", - "reth-tokio-util", - "reth-transaction-pool", - "serde", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "assert_matches", + "async-trait", + "jsonrpsee-core", + "jsonrpsee-types", + "metrics", + "parking_lot", + "reth-beacon-consensus", + "reth-chainspec", + "reth-engine-primitives", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-metrics", + "reth-payload-builder", + "reth-payload-builder-primitives", + "reth-payload-primitives", + "reth-primitives", + "reth-provider", + "reth-rpc-api", + "reth-rpc-types-compat", + "reth-storage-api", + "reth-tasks", + "reth-testing-utils", + "reth-tokio-util", + "reth-transaction-pool", + "serde", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-rpc-eth-api" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-dyn-abi", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-rpc-types-mev", - "alloy-serde", - "async-trait", - "auto_impl", - "dyn-clone", - "futures", - "jsonrpsee", - "jsonrpsee-types", - "parking_lot", - "reth-chainspec", - "reth-errors", - "reth-evm", - "reth-execution-types", - "reth-network-api", - "reth-node-api", - "reth-primitives", - "reth-provider", - "reth-revm", - "reth-rpc-eth-types", - "reth-rpc-server-types", - "reth-rpc-types-compat", - "reth-scroll-execution", - "reth-scroll-revm", - "reth-scroll-storage", - "reth-tasks", - "reth-transaction-pool", - "revm-inspectors", - "revm-primitives", - "tokio", - "tracing", + "alloy-consensus", + "alloy-dyn-abi", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-serde", + "async-trait", + "auto_impl", + "dyn-clone", + "futures", + "jsonrpsee", + "jsonrpsee-types", + "parking_lot", + "reth-chainspec", + "reth-errors", + "reth-evm", + "reth-execution-types", + "reth-network-api", + "reth-node-api", + "reth-primitives", + "reth-provider", + "reth-revm", + "reth-rpc-eth-types", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-scroll-execution", + "reth-scroll-revm", + "reth-scroll-storage", + "reth-tasks", + "reth-transaction-pool", + "revm-inspectors", + "revm-primitives", + "tokio", + "tracing", ] [[package]] name = "reth-rpc-eth-types" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-sol-types", - "derive_more", - "futures", - "itertools 0.13.0", - "jsonrpsee-core", - "jsonrpsee-types", - "metrics", - "rand 0.8.5", - "reth-chain-state", - "reth-chainspec", - "reth-errors", - "reth-evm", - "reth-execution-types", - "reth-metrics", - "reth-primitives", - "reth-primitives-traits", - "reth-revm", - "reth-rpc-server-types", - "reth-rpc-types-compat", - "reth-scroll-revm", - "reth-storage-api", - "reth-tasks", - "reth-transaction-pool", - "reth-trie", - "revm-inspectors", - "revm-primitives", - "schnellru", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-sol-types", + "derive_more", + "futures", + "itertools 0.13.0", + "jsonrpsee-core", + "jsonrpsee-types", + "metrics", + "rand 0.8.5", + "reth-chain-state", + "reth-chainspec", + "reth-errors", + "reth-evm", + "reth-execution-types", + "reth-metrics", + "reth-primitives", + "reth-primitives-traits", + "reth-revm", + "reth-rpc-server-types", + "reth-rpc-types-compat", + "reth-scroll-revm", + "reth-storage-api", + "reth-tasks", + "reth-transaction-pool", + "reth-trie", + "revm-inspectors", + "revm-primitives", + "schnellru", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-rpc-layer" version = "1.1.2" dependencies = [ - "alloy-rpc-types-engine", - "http", - "http-body-util", - "jsonrpsee", - "jsonrpsee-http-client", - "pin-project", - "reqwest", - "tokio", - "tower 0.4.13", - "tower-http", - "tracing", + "alloy-rpc-types-engine", + "http", + "http-body-util", + "jsonrpsee", + "jsonrpsee-http-client", + "pin-project", + "reqwest", + "tokio", + "tower 0.4.13", + "tower-http", + "tracing", ] [[package]] name = "reth-rpc-server-types" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "jsonrpsee-core", - "jsonrpsee-types", - "reth-errors", - "reth-network-api", - "serde", - "strum", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "jsonrpsee-core", + "jsonrpsee-types", + "reth-errors", + "reth-network-api", + "serde", + "strum 0.26.3", ] [[package]] name = "reth-rpc-types-compat" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "alloy-rpc-types-eth", - "alloy-serde", - "jsonrpsee-types", - "reth-primitives", - "reth-trie-common", - "serde", - "serde_json", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-serde", + "jsonrpsee-types", + "reth-primitives", + "reth-trie-common", + "serde", + "serde_json", ] [[package]] name = "reth-scroll-chainspec" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "alloy-serde", - "derive_more", - "once_cell", - "reth-chainspec", - "reth-ethereum-forks", - "reth-network-peers", - "reth-primitives-traits", - "reth-scroll-forks", - "serde", - "serde_json", + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "alloy-serde", + "derive_more", + "once_cell", + "reth-chainspec", + "reth-ethereum-forks", + "reth-network-peers", + "reth-primitives-traits", + "reth-scroll-forks", + "serde", + "serde_json", ] [[package]] name = "reth-scroll-execution" version = "1.1.2" dependencies = [ - "reth-revm", - "reth-scroll-storage", + "reth-revm", + "reth-scroll-storage", ] [[package]] name = "reth-scroll-forks" version = "1.1.2" dependencies = [ - "alloy-chains", - "alloy-primitives", - "once_cell", - "reth-ethereum-forks", - "serde", + "alloy-chains", + "alloy-primitives", + "once_cell", + "reth-ethereum-forks", + "serde", ] [[package]] name = "reth-scroll-primitives" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "arbitrary", - "bincode", - "bytes", - "modular-bitfield", - "poseidon-bn254", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-codecs", - "reth-codecs-derive", - "serde", - "test-fuzz", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "arbitrary", + "bincode", + "bytes", + "modular-bitfield", + "poseidon-bn254", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-codecs", + "reth-codecs-derive", + "serde", + "test-fuzz", ] [[package]] name = "reth-scroll-revm" version = "1.1.2" dependencies = [ - "reth-scroll-primitives", - "revm", - "serde", + "reth-scroll-primitives", + "revm", + "serde", +] + +[[package]] +name = "reth-scroll-state-commitment" +version = "1.1.2" +dependencies = [ + "alloy-consensus", + "alloy-primitives", + "alloy-rlp", + "metrics", + "poseidon-bn254", + "proptest", + "proptest-arbitrary-interop", + "reth-db", + "reth-db-api", + "reth-execution-errors", + "reth-metrics", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-scroll-execution", + "reth-scroll-primitives", + "reth-scroll-state-commitment", + "reth-scroll-trie", + "reth-trie", + "reth-trie-common", + "reth-trie-db", + "tracing", + "zktrie", + "zktrie_rust", ] [[package]] name = "reth-scroll-storage" version = "1.1.2" dependencies = [ - "alloy-primitives", - "eyre", - "reth-codecs", - "reth-primitives-traits", - "reth-revm", - "reth-scroll-primitives", - "reth-scroll-revm", - "reth-storage-errors", + "alloy-primitives", + "eyre", + "reth-codecs", + "reth-primitives-traits", + "reth-revm", + "reth-scroll-primitives", + "reth-scroll-revm", + "reth-storage-errors", +] + +[[package]] +name = "reth-scroll-trie" +version = "1.1.2" +dependencies = [ + "alloy-primitives", + "alloy-trie", + "hex-literal", + "proptest-arbitrary-interop", + "reth-scroll-primitives", + "reth-trie", + "tracing", ] [[package]] name = "reth-stages" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "assert_matches", - "bincode", - "criterion", - "futures-util", - "itertools 0.13.0", - "num-traits", - "paste", - "pprof", - "rand 0.8.5", - "rayon", - "reth-chainspec", - "reth-codecs", - "reth-config", - "reth-consensus", - "reth-db", - "reth-db-api", - "reth-downloaders", - "reth-etl", - "reth-evm", - "reth-evm-ethereum", - "reth-execution-errors", - "reth-execution-types", - "reth-exex", - "reth-network-p2p", - "reth-network-peers", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-prune", - "reth-prune-types", - "reth-revm", - "reth-scroll-primitives", - "reth-scroll-storage", - "reth-stages-api", - "reth-static-file", - "reth-storage-errors", - "reth-testing-utils", - "reth-trie", - "reth-trie-db", - "tempfile", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "assert_matches", + "bincode", + "criterion", + "futures-util", + "itertools 0.13.0", + "num-traits", + "paste", + "pprof", + "rand 0.8.5", + "rayon", + "reth-chainspec", + "reth-codecs", + "reth-config", + "reth-consensus", + "reth-db", + "reth-db-api", + "reth-downloaders", + "reth-etl", + "reth-evm", + "reth-evm-ethereum", + "reth-execution-errors", + "reth-execution-types", + "reth-exex", + "reth-network-p2p", + "reth-network-peers", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-prune", + "reth-prune-types", + "reth-revm", + "reth-scroll-primitives", + "reth-scroll-storage", + "reth-stages-api", + "reth-static-file", + "reth-storage-errors", + "reth-testing-utils", + "reth-trie", + "reth-trie-db", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-stages-api" version = "1.1.2" dependencies = [ - "alloy-primitives", - "aquamarine", - "assert_matches", - "auto_impl", - "futures-util", - "metrics", - "reth-consensus", - "reth-errors", - "reth-metrics", - "reth-network-p2p", - "reth-primitives-traits", - "reth-provider", - "reth-prune", - "reth-stages-types", - "reth-static-file", - "reth-static-file-types", - "reth-testing-utils", - "reth-tokio-util", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", + "alloy-primitives", + "aquamarine", + "assert_matches", + "auto_impl", + "futures-util", + "metrics", + "reth-consensus", + "reth-errors", + "reth-metrics", + "reth-network-p2p", + "reth-primitives-traits", + "reth-provider", + "reth-prune", + "reth-stages-types", + "reth-static-file", + "reth-static-file-types", + "reth-testing-utils", + "reth-tokio-util", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-stages-types" version = "1.1.2" dependencies = [ - "alloy-primitives", - "arbitrary", - "bytes", - "modular-bitfield", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-codecs", - "reth-trie-common", - "serde", - "test-fuzz", + "alloy-primitives", + "arbitrary", + "bytes", + "modular-bitfield", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-codecs", + "reth-trie-common", + "serde", + "test-fuzz", ] [[package]] name = "reth-static-file" version = "1.1.2" dependencies = [ - "alloy-primitives", - "assert_matches", - "parking_lot", - "rayon", - "reth-codecs", - "reth-db", - "reth-db-api", - "reth-primitives-traits", - "reth-provider", - "reth-prune-types", - "reth-stages", - "reth-stages-types", - "reth-static-file-types", - "reth-storage-errors", - "reth-testing-utils", - "reth-tokio-util", - "tempfile", - "tracing", + "alloy-primitives", + "assert_matches", + "parking_lot", + "rayon", + "reth-codecs", + "reth-db", + "reth-db-api", + "reth-primitives-traits", + "reth-provider", + "reth-prune-types", + "reth-stages", + "reth-stages-types", + "reth-static-file-types", + "reth-storage-errors", + "reth-testing-utils", + "reth-tokio-util", + "tempfile", + "tracing", ] [[package]] name = "reth-static-file-types" version = "1.1.2" dependencies = [ - "alloy-primitives", - "clap", - "derive_more", - "serde", - "strum", + "alloy-primitives", + "clap", + "derive_more", + "serde", + "strum 0.26.3", ] [[package]] name = "reth-storage-api" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rpc-types-engine", - "auto_impl", - "reth-chainspec", - "reth-db", - "reth-db-api", - "reth-db-models", - "reth-execution-types", - "reth-primitives", - "reth-primitives-traits", - "reth-prune-types", - "reth-scroll-revm", - "reth-stages-types", - "reth-storage-errors", - "reth-trie", - "reth-trie-db", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "auto_impl", + "reth-chainspec", + "reth-db", + "reth-db-api", + "reth-db-models", + "reth-execution-types", + "reth-primitives", + "reth-primitives-traits", + "reth-prune-types", + "reth-scroll-revm", + "reth-stages-types", + "reth-storage-errors", + "reth-trie", + "reth-trie-db", ] [[package]] name = "reth-storage-errors" version = "1.1.2" dependencies = [ - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "derive_more", - "reth-fs-util", - "reth-primitives", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "derive_more", + "reth-fs-util", + "reth-primitives", ] [[package]] name = "reth-tasks" version = "1.1.2" dependencies = [ - "auto_impl", - "dyn-clone", - "futures-util", - "metrics", - "pin-project", - "rayon", - "reth-metrics", - "thiserror 1.0.69", - "tokio", - "tracing", - "tracing-futures", + "auto_impl", + "dyn-clone", + "futures-util", + "metrics", + "pin-project", + "rayon", + "reth-metrics", + "thiserror 1.0.69", + "tokio", + "tracing", + "tracing-futures", ] [[package]] name = "reth-testing-utils" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", - "alloy-primitives", - "rand 0.8.5", - "reth-primitives", - "reth-primitives-traits", - "secp256k1", + "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives", + "rand 0.8.5", + "reth-primitives", + "reth-primitives-traits", + "secp256k1", ] [[package]] name = "reth-tokio-util" version = "1.1.2" dependencies = [ - "tokio", - "tokio-stream", - "tracing", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-tracing" version = "1.1.2" dependencies = [ - "clap", - "eyre", - "rolling-file", - "tracing", - "tracing-appender", - "tracing-journald", - "tracing-logfmt", - "tracing-subscriber", + "clap", + "eyre", + "rolling-file", + "tracing", + "tracing-appender", + "tracing-journald", + "tracing-logfmt", + "tracing-subscriber", ] [[package]] name = "reth-transaction-pool" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "aquamarine", - "assert_matches", - "auto_impl", - "bitflags 2.6.0", - "criterion", - "futures-util", - "metrics", - "parking_lot", - "paste", - "pprof", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-chain-state", - "reth-chainspec", - "reth-eth-wire-types", - "reth-execution-types", - "reth-fs-util", - "reth-metrics", - "reth-payload-util", - "reth-primitives", - "reth-primitives-traits", - "reth-provider", - "reth-scroll-revm", - "reth-storage-api", - "reth-tasks", - "reth-tracing", - "rustc-hash 2.0.0", - "schnellru", - "serde", - "serde_json", - "smallvec", - "tempfile", - "thiserror 1.0.69", - "tokio", - "tokio-stream", - "tracing", + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "aquamarine", + "assert_matches", + "auto_impl", + "bitflags 2.6.0", + "criterion", + "futures-util", + "metrics", + "parking_lot", + "paste", + "pprof", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-chain-state", + "reth-chainspec", + "reth-eth-wire-types", + "reth-execution-types", + "reth-fs-util", + "reth-metrics", + "reth-payload-util", + "reth-primitives", + "reth-primitives-traits", + "reth-provider", + "reth-scroll-revm", + "reth-storage-api", + "reth-tasks", + "reth-tracing", + "rustc-hash 2.1.0", + "schnellru", + "serde", + "serde_json", + "smallvec", + "tempfile", + "thiserror 1.0.69", + "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-trie" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rlp", - "alloy-trie", - "auto_impl", - "criterion", - "itertools 0.13.0", - "metrics", - "proptest", - "proptest-arbitrary-interop", - "rayon", - "reth-execution-errors", - "reth-metrics", - "reth-primitives", - "reth-primitives-traits", - "reth-scroll-revm", - "reth-stages-types", - "reth-storage-errors", - "reth-trie-common", - "serde_json", - "tracing", - "triehash", + "alloy-consensus", + "alloy-primitives", + "alloy-rlp", + "alloy-trie", + "auto_impl", + "criterion", + "itertools 0.13.0", + "metrics", + "proptest", + "proptest-arbitrary-interop", + "rayon", + "reth-execution-errors", + "reth-metrics", + "reth-primitives", + "reth-primitives-traits", + "reth-scroll-revm", + "reth-stages-types", + "reth-storage-errors", + "reth-trie-common", + "serde_json", + "smallvec", + "tracing", + "triehash", ] [[package]] name = "reth-trie-common" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-genesis", - "alloy-primitives", - "alloy-rlp", - "alloy-trie", - "arbitrary", - "bincode", - "bytes", - "criterion", - "derive_more", - "hash-db", - "itertools 0.13.0", - "nybbles", - "plain_hasher", - "proptest", - "proptest-arbitrary-interop", - "reth-codecs", - "reth-primitives-traits", - "reth-scroll-primitives", - "reth-scroll-revm", - "serde", - "serde_json", - "serde_with", + "alloy-consensus", + "alloy-genesis", + "alloy-primitives", + "alloy-rlp", + "alloy-trie", + "arbitrary", + "bincode", + "bytes", + "criterion", + "derive_more", + "hash-db", + "itertools 0.13.0", + "nybbles", + "plain_hasher", + "proptest", + "proptest-arbitrary-interop", + "reth-codecs", + "reth-primitives-traits", + "reth-scroll-primitives", + "reth-scroll-revm", + "serde", + "serde_json", + "serde_with", ] [[package]] name = "reth-trie-db" version = "1.1.2" dependencies = [ - "alloy-consensus", - "alloy-primitives", - "alloy-rlp", - "derive_more", - "metrics", - "proptest", - "proptest-arbitrary-interop", - "reth-chainspec", - "reth-db", - "reth-db-api", - "reth-execution-errors", - "reth-metrics", - "reth-primitives", - "reth-provider", - "reth-scroll-primitives", - "reth-scroll-revm", - "reth-storage-errors", - "reth-trie", - "reth-trie-common", - "serde", - "serde_json", - "similar-asserts", - "tracing", - "triehash", + "alloy-consensus", + "alloy-primitives", + "alloy-rlp", + "derive_more", + "metrics", + "proptest", + "proptest-arbitrary-interop", + "reth-chainspec", + "reth-db", + "reth-db-api", + "reth-execution-errors", + "reth-metrics", + "reth-primitives", + "reth-provider", + "reth-scroll-primitives", + "reth-scroll-revm", + "reth-storage-errors", + "reth-trie", + "reth-trie-common", + "serde", + "serde_json", + "similar-asserts", + "tracing", + "triehash", ] [[package]] name = "reth-trie-parallel" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "criterion", - "derive_more", - "itertools 0.13.0", - "metrics", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "rayon", - "reth-db", - "reth-execution-errors", - "reth-metrics", - "reth-primitives", - "reth-provider", - "reth-trie", - "reth-trie-common", - "reth-trie-db", - "thiserror 1.0.69", - "tokio", - "tracing", + "alloy-primitives", + "alloy-rlp", + "criterion", + "derive_more", + "itertools 0.13.0", + "metrics", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "rayon", + "reth-db", + "reth-execution-errors", + "reth-metrics", + "reth-primitives", + "reth-provider", + "reth-trie", + "reth-trie-common", + "reth-trie-db", + "thiserror 1.0.69", + "tokio", + "tracing", ] [[package]] name = "reth-trie-sparse" version = "1.1.2" dependencies = [ - "alloy-primitives", - "alloy-rlp", - "arbitrary", - "assert_matches", - "criterion", - "itertools 0.13.0", - "pretty_assertions", - "proptest", - "proptest-arbitrary-interop", - "rand 0.8.5", - "reth-primitives-traits", - "reth-testing-utils", - "reth-tracing", - "reth-trie", - "reth-trie-common", - "smallvec", - "thiserror 1.0.69", + "alloy-primitives", + "alloy-rlp", + "arbitrary", + "assert_matches", + "criterion", + "itertools 0.13.0", + "pretty_assertions", + "proptest", + "proptest-arbitrary-interop", + "rand 0.8.5", + "reth-primitives-traits", + "reth-testing-utils", + "reth-tracing", + "reth-trie", + "reth-trie-common", + "smallvec", + "thiserror 1.0.69", ] [[package]] @@ -9656,13 +9723,13 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15689a3c6a8d14b647b4666f2e236ef47b5a5133cdfd423f545947986fff7013" dependencies = [ - "auto_impl", - "cfg-if", - "dyn-clone", - "revm-interpreter", - "revm-precompile", - "serde", - "serde_json", + "auto_impl", + "cfg-if", + "dyn-clone", + "revm-interpreter", + "revm-precompile", + "serde", + "serde_json", ] [[package]] @@ -9671,17 +9738,17 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "747291a18ad6726a08dd73f8b6a6b3a844db582ecae2063ccf0a04880c44f482" dependencies = [ - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-rpc-types-trace", - "alloy-sol-types", - "anstyle", - "boa_engine", - "boa_gc", - "colorchoice", - "revm", - "serde_json", - "thiserror 1.0.69", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-rpc-types-trace", + "alloy-sol-types", + "anstyle", + "boa_engine", + "boa_gc", + "colorchoice", + "revm", + "serde_json", + "thiserror 1.0.69", ] [[package]] @@ -9690,8 +9757,8 @@ version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74e3f11d0fed049a4a10f79820c59113a79b38aed4ebec786a79d5c667bfeb51" dependencies = [ - "revm-primitives", - "serde", + "revm-primitives", + "serde", ] [[package]] @@ -9700,18 +9767,18 @@ version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e381060af24b750069a2b2d2c54bba273d84e8f5f9e8026fc9262298e26cc336" dependencies = [ - "aurora-engine-modexp", - "blst", - "c-kzg", - "cfg-if", - "k256", - "once_cell", - "p256", - "revm-primitives", - "ripemd", - "secp256k1", - "sha2 0.10.8", - "substrate-bn", + "aurora-engine-modexp", + "blst", + "c-kzg", + "cfg-if", + "k256", + "once_cell", + "p256", + "revm-primitives", + "ripemd", + "secp256k1", + "sha2 0.10.8", + "substrate-bn", ] [[package]] @@ -9720,18 +9787,18 @@ version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3702f132bb484f4f0d0ca4f6fbde3c82cfd745041abbedd6eda67730e1868ef0" dependencies = [ - "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives", - "auto_impl", - "bitflags 2.6.0", - "bitvec", - "c-kzg", - "cfg-if", - "dyn-clone", - "enumn", - "hex", - "serde", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "auto_impl", + "bitflags 2.6.0", + "bitvec", + "c-kzg", + "cfg-if", + "dyn-clone", + "enumn", + "hex", + "serde", ] [[package]] @@ -9740,8 +9807,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.12.1", - "subtle", + "hmac 0.12.1", + "subtle", ] [[package]] @@ -9750,7 +9817,7 @@ version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ - "bytemuck", + "bytemuck", ] [[package]] @@ -9759,13 +9826,13 @@ version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "spin", - "untrusted", - "windows-sys 0.52.0", + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", ] [[package]] @@ -9780,7 +9847,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest 0.10.7", + "digest 0.10.7", ] [[package]] @@ -9789,7 +9856,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" dependencies = [ - "libc", + "libc", ] [[package]] @@ -9798,8 +9865,8 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" dependencies = [ - "bytes", - "rustc-hex", + "bytes", + "rustc-hex", ] [[package]] @@ -9808,9 +9875,9 @@ version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" dependencies = [ - "byteorder", - "num-traits", - "paste", + "byteorder", + "num-traits", + "paste", ] [[package]] @@ -9819,20 +9886,20 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" dependencies = [ - "byteorder", - "rmp", - "serde", + "byteorder", + "rmp", + "serde", ] [[package]] name = "roaring" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4b84ba6e838ceb47b41de5194a60244fac43d9fe03b71dbe8c5a201081d6d1" +checksum = "f81dc953b2244ddd5e7860cb0bb2a790494b898ef321d4aff8e260efab60cc88" dependencies = [ - "bytemuck", - "byteorder", - "serde", + "bytemuck", + "byteorder", + "serde", ] [[package]] @@ -9841,7 +9908,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8395b4f860856b740f20a296ea2cd4d823e81a2658cf05ef61be22916026a906" dependencies = [ - "chrono", + "chrono", ] [[package]] @@ -9856,10 +9923,10 @@ version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a2c585be59b6b5dd66a9d2084aa1d8bd52fbdb806eafdeffb52791147862035" dependencies = [ - "futures", - "futures-timer", - "rstest_macros", - "rustc_version 0.4.1", + "futures", + "futures-timer", + "rstest_macros", + "rustc_version 0.4.1", ] [[package]] @@ -9868,16 +9935,16 @@ version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "825ea780781b15345a146be27eaefb05085e337e869bff01b4306a4fd4a9ad5a" dependencies = [ - "cfg-if", - "glob", - "proc-macro-crate", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version 0.4.1", - "syn 2.0.89", - "unicode-ident", + "cfg-if", + "glob", + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "relative-path", + "rustc_version 0.4.1", + "syn 2.0.90", + "unicode-ident", ] [[package]] @@ -9886,23 +9953,23 @@ version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" dependencies = [ - "alloy-rlp", - "arbitrary", - "ark-ff 0.3.0", - "ark-ff 0.4.2", - "bytes", - "fastrlp", - "num-bigint", - "num-traits", - "parity-scale-codec", - "primitive-types", - "proptest", - "rand 0.8.5", - "rlp", - "ruint-macro", - "serde", - "valuable", - "zeroize", + "alloy-rlp", + "arbitrary", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp", + "num-bigint", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand 0.8.5", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", ] [[package]] @@ -9925,11 +9992,11 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[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 0.8.5", + "rand 0.8.5", ] [[package]] @@ -9944,7 +10011,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" dependencies = [ - "semver 0.11.0", + "semver 0.11.0", ] [[package]] @@ -9953,7 +10020,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.23", ] [[package]] @@ -9962,26 +10029,26 @@ version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.23.18" +version = "0.23.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9cc1d47e243d655ace55ed38201c19ae02c148ae56412ab8750e8f0166ab7f" +checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" dependencies = [ - "log", - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", + "log", + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", ] [[package]] @@ -9990,11 +10057,11 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ - "openssl-probe", - "rustls-pemfile", - "rustls-pki-types", - "schannel", - "security-framework 2.11.1", + "openssl-probe", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework 2.11.1", ] [[package]] @@ -10003,10 +10070,10 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ - "openssl-probe", - "rustls-pki-types", - "schannel", - "security-framework 3.0.1", + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework 3.0.1", ] [[package]] @@ -10015,7 +10082,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "rustls-pki-types", + "rustls-pki-types", ] [[package]] @@ -10024,7 +10091,7 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" dependencies = [ - "web-time", + "web-time", ] [[package]] @@ -10033,19 +10100,19 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" dependencies = [ - "core-foundation 0.9.4", - "core-foundation-sys", - "jni", - "log", - "once_cell", - "rustls", - "rustls-native-certs 0.7.3", - "rustls-platform-verifier-android", - "rustls-webpki", - "security-framework 2.11.1", - "security-framework-sys", - "webpki-roots", - "winapi", + "core-foundation 0.9.4", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs 0.7.3", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework 2.11.1", + "security-framework-sys", + "webpki-roots", + "winapi", ] [[package]] @@ -10060,9 +10127,9 @@ version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", + "ring", + "rustls-pki-types", + "untrusted", ] [[package]] @@ -10077,10 +10144,10 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" dependencies = [ - "fnv", - "quick-error", - "tempfile", - "wait-timeout", + "fnv", + "quick-error", + "tempfile", + "wait-timeout", ] [[package]] @@ -10101,7 +10168,7 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" dependencies = [ - "winapi-util", + "winapi-util", ] [[package]] @@ -10110,7 +10177,7 @@ version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66b202022bb57c049555430e11fc22fea12909276a80a4c3d368da36ac1d88ed" dependencies = [ - "sdd", + "sdd", ] [[package]] @@ -10119,7 +10186,7 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.59.0", ] [[package]] @@ -10128,9 +10195,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9a8ef13a93c54d20580de1e5c413e624e53121d42fc7e2c11d10ef7f8b02367" dependencies = [ - "ahash", - "cfg-if", - "hashbrown 0.13.2", + "ahash", + "cfg-if", + "hashbrown 0.13.2", ] [[package]] @@ -10157,12 +10224,12 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct", - "der", - "generic-array", - "pkcs8", - "subtle", - "zeroize", + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", ] [[package]] @@ -10171,9 +10238,9 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113" dependencies = [ - "rand 0.8.5", - "secp256k1-sys", - "serde", + "rand 0.8.5", + "secp256k1-sys", + "serde", ] [[package]] @@ -10182,7 +10249,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4387882333d3aa8cb20530a17c69a3752e97837832f34f6dccc760e715001d9" dependencies = [ - "cc", + "cc", ] [[package]] @@ -10191,12 +10258,12 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.6.0", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", - "num-bigint", - "security-framework-sys", + "bitflags 2.6.0", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "num-bigint", + "security-framework-sys", ] [[package]] @@ -10205,11 +10272,11 @@ version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1415a607e92bec364ea2cf9264646dcce0f91e6d65281bd6f2819cca3bf39c8" dependencies = [ - "bitflags 2.6.0", - "core-foundation 0.10.0", - "core-foundation-sys", - "libc", - "security-framework-sys", + "bitflags 2.6.0", + "core-foundation 0.10.0", + "core-foundation-sys", + "libc", + "security-framework-sys", ] [[package]] @@ -10218,8 +10285,8 @@ version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" dependencies = [ - "core-foundation-sys", - "libc", + "core-foundation-sys", + "libc", ] [[package]] @@ -10228,7 +10295,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser", + "semver-parser", ] [[package]] @@ -10237,7 +10304,7 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ - "serde", + "serde", ] [[package]] @@ -10246,7 +10313,7 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ - "pest", + "pest", ] [[package]] @@ -10267,7 +10334,7 @@ version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ - "serde_derive", + "serde_derive", ] [[package]] @@ -10276,9 +10343,9 @@ version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10287,11 +10354,11 @@ version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ - "indexmap 2.6.0", - "itoa", - "memchr", - "ryu", - "serde", + "indexmap 2.7.0", + "itoa", + "memchr", + "ryu", + "serde", ] [[package]] @@ -10300,9 +10367,9 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" dependencies = [ - "percent-encoding", - "serde", - "thiserror 1.0.69", + "percent-encoding", + "serde", + "thiserror 1.0.69", ] [[package]] @@ -10311,9 +10378,9 @@ version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10322,7 +10389,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ - "serde", + "serde", ] [[package]] @@ -10331,10 +10398,10 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", + "form_urlencoded", + "itoa", + "ryu", + "serde", ] [[package]] @@ -10343,16 +10410,16 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.6.0", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.7.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", ] [[package]] @@ -10361,10 +10428,10 @@ version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.89", + "darling", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10373,10 +10440,10 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" dependencies = [ - "once_cell", - "parking_lot", - "scc", - "serial_test_derive", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", ] [[package]] @@ -10385,9 +10452,9 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10396,9 +10463,9 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", + "cfg-if", + "cpufeatures", + "digest 0.10.7", ] [[package]] @@ -10407,11 +10474,11 @@ version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", ] [[package]] @@ -10420,9 +10487,9 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", + "cfg-if", + "cpufeatures", + "digest 0.10.7", ] [[package]] @@ -10431,8 +10498,8 @@ version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.7", - "keccak", + "digest 0.10.7", + "keccak", ] [[package]] @@ -10441,8 +10508,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ - "cc", - "cfg-if", + "cc", + "cfg-if", ] [[package]] @@ -10451,7 +10518,7 @@ version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ - "lazy_static", + "lazy_static", ] [[package]] @@ -10460,7 +10527,7 @@ version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" dependencies = [ - "dirs", + "dirs", ] [[package]] @@ -10475,8 +10542,8 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" dependencies = [ - "libc", - "signal-hook-registry", + "libc", + "signal-hook-registry", ] [[package]] @@ -10485,9 +10552,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ - "libc", - "mio 1.0.2", - "signal-hook", + "libc", + "mio 1.0.3", + "signal-hook", ] [[package]] @@ -10496,7 +10563,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ - "libc", + "libc", ] [[package]] @@ -10505,8 +10572,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ - "digest 0.10.7", - "rand_core 0.6.4", + "digest 0.10.7", + "rand_core 0.6.4", ] [[package]] @@ -10515,8 +10582,8 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" dependencies = [ - "bstr", - "unicode-segmentation", + "bstr", + "unicode-segmentation", ] [[package]] @@ -10525,9 +10592,9 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" dependencies = [ - "console", - "serde", - "similar", + "console", + "serde", + "similar", ] [[package]] @@ -10536,10 +10603,10 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ - "num-bigint", - "num-traits", - "thiserror 1.0.69", - "time", + "num-bigint", + "num-traits", + "thiserror 1.0.69", + "time", ] [[package]] @@ -10560,7 +10627,7 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ - "autocfg", + "autocfg", ] [[package]] @@ -10569,8 +10636,8 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" dependencies = [ - "arbitrary", - "serde", + "arbitrary", + "serde", ] [[package]] @@ -10581,28 +10648,28 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ - "libc", - "windows-sys 0.52.0", + "libc", + "windows-sys 0.52.0", ] [[package]] name = "soketto" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" dependencies = [ - "base64 0.22.1", - "bytes", - "futures", - "http", - "httparse", - "log", - "rand 0.8.5", - "sha1", + "base64 0.22.1", + "bytes", + "futures", + "http", + "httparse", + "log", + "rand 0.8.5", + "sha1", ] [[package]] @@ -10610,7 +10677,7 @@ name = "sp1-intrinsics" version = "0.0.0" source = "git+https://github.com/scroll-tech/sp1-intrinsics.git?branch=master#7e038e60db0b2e847f6d8f49e148ccac8c6fc394" dependencies = [ - "cfg-if", + "cfg-if", ] [[package]] @@ -10625,8 +10692,8 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ - "base64ct", - "der", + "base64ct", + "der", ] [[package]] @@ -10659,13 +10726,32 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" + [[package]] name = "strum" version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ - "strum_macros", + "strum_macros 0.26.4", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.109", ] [[package]] @@ -10674,11 +10760,11 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.89", + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.90", ] [[package]] @@ -10687,11 +10773,11 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b5bbfa79abbae15dd642ea8176a21a635ff3c00059961d1ea27ad04e5b441c" dependencies = [ - "byteorder", - "crunchy", - "lazy_static", - "rand 0.8.5", - "rustc-hex", + "byteorder", + "crunchy", + "lazy_static", + "rand 0.8.5", + "rustc-hex", ] [[package]] @@ -10702,25 +10788,25 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "symbolic-common" -version = "12.12.1" +version = "12.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d4d73159efebfb389d819fd479afb2dbd57dcb3e3f4b7fcfa0e675f5a46c1cb" +checksum = "e5ba5365997a4e375660bed52f5b42766475d5bc8ceb1bb13fea09c469ea0f49" dependencies = [ - "debugid", - "memmap2", - "stable_deref_trait", - "uuid", + "debugid", + "memmap2", + "stable_deref_trait", + "uuid", ] [[package]] name = "symbolic-demangle" -version = "12.12.1" +version = "12.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a767859f6549c665011970874c3f541838b4835d5aaaa493d3ee383918be9f10" +checksum = "beff338b2788519120f38c59ff4bb15174f52a183e547bac3d6072c2c0aa48aa" dependencies = [ - "cpp_demangle", - "rustc-demangle", - "symbolic-common", + "cpp_demangle", + "rustc-demangle", + "symbolic-common", ] [[package]] @@ -10729,32 +10815,32 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] name = "syn" -version = "2.0.89" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", + "proc-macro2", + "quote", + "unicode-ident", ] [[package]] name = "syn-solidity" -version = "0.8.12" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f76fe0a3e1476bdaa0775b9aec5b869ed9520c2b2fedfe9c6df3618f8ea6290b" +checksum = "da0523f59468a2696391f2a772edc089342aacd53c3caa2ac3264e598edf119b" dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.89", + "paste", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10769,7 +10855,7 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ - "futures-core", + "futures-core", ] [[package]] @@ -10778,9 +10864,9 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10789,11 +10875,11 @@ version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c33cd241af0f2e9e3b5c32163b873b29956890b5342e6745b917ce9d490f4af" dependencies = [ - "core-foundation-sys", - "libc", - "memchr", - "ntapi", - "windows 0.57.0", + "core-foundation-sys", + "libc", + "memchr", + "ntapi", + "windows 0.57.0", ] [[package]] @@ -10808,11 +10894,11 @@ version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ - "cfg-if", - "fastrand 2.2.0", - "once_cell", - "rustix", - "windows-sys 0.59.0", + "cfg-if", + "fastrand 2.2.0", + "once_cell", + "rustix", + "windows-sys 0.59.0", ] [[package]] @@ -10827,10 +10913,10 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ab7a9bb33d134e863862ab9dad2ac7e022ac89707914627f498fe0f29248d9b" dependencies = [ - "serde", - "test-fuzz-internal", - "test-fuzz-macro", - "test-fuzz-runtime", + "serde", + "test-fuzz-internal", + "test-fuzz-macro", + "test-fuzz-runtime", ] [[package]] @@ -10839,9 +10925,9 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0bef5dd380747bd7b6e636a8032a24aa34fcecaf843e59fc97d299681922e86" dependencies = [ - "bincode", - "cargo_metadata", - "serde", + "bincode", + "cargo_metadata", + "serde", ] [[package]] @@ -10850,14 +10936,14 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7e6b4c7391a38f0f026972ec2200bcfd1ec45533aa266fdae5858d011afc500" dependencies = [ - "darling", - "heck", - "itertools 0.13.0", - "once_cell", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.89", + "darling", + "heck 0.5.0", + "itertools 0.13.0", + "once_cell", + "prettyplease", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10866,11 +10952,11 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9fbe6fb7481ec6d9bf64ae2c5d49cb1b40f8da624a91031482af7b08168c679" dependencies = [ - "hex", - "num-traits", - "serde", - "sha1", - "test-fuzz-internal", + "hex", + "num-traits", + "serde", + "sha1", + "test-fuzz-internal", ] [[package]] @@ -10885,16 +10971,16 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.69", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" dependencies = [ - "thiserror-impl 2.0.3", + "thiserror-impl 2.0.4", ] [[package]] @@ -10903,20 +10989,20 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "thiserror-impl" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -10925,9 +11011,9 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58e6318948b519ba6dc2b442a6d0b904ebfb8d411a3ad3e07843615a72249758" dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -10936,7 +11022,7 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3ad459d94dd517257cc96add8a43190ee620011bb6e6cdc82dafd97dfafafea" dependencies = [ - "thiserror-impl-no-std", + "thiserror-impl-no-std", ] [[package]] @@ -10945,8 +11031,8 @@ version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ - "cfg-if", - "once_cell", + "cfg-if", + "once_cell", ] [[package]] @@ -10955,7 +11041,7 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" dependencies = [ - "num_cpus", + "num_cpus", ] [[package]] @@ -10964,9 +11050,9 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f21f216790c8df74ce3ab25b534e0718da5a1916719771d3fec23315c99e468b" dependencies = [ - "libc", - "paste", - "tikv-jemalloc-sys", + "libc", + "paste", + "tikv-jemalloc-sys", ] [[package]] @@ -10975,8 +11061,8 @@ version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" dependencies = [ - "cc", - "libc", + "cc", + "libc", ] [[package]] @@ -10985,26 +11071,26 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" dependencies = [ - "libc", - "tikv-jemalloc-sys", + "libc", + "tikv-jemalloc-sys", ] [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ - "deranged", - "itoa", - "js-sys", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", + "deranged", + "itoa", + "js-sys", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", ] [[package]] @@ -11015,12 +11101,12 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ - "num-conv", - "time-core", + "num-conv", + "time-core", ] [[package]] @@ -11029,7 +11115,7 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" dependencies = [ - "crunchy", + "crunchy", ] [[package]] @@ -11038,8 +11124,8 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ - "displaydoc", - "zerovec", + "displaydoc", + "zerovec", ] [[package]] @@ -11048,8 +11134,8 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" dependencies = [ - "serde", - "serde_json", + "serde", + "serde_json", ] [[package]] @@ -11058,7 +11144,7 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ - "tinyvec_macros", + "tinyvec_macros", ] [[package]] @@ -11069,20 +11155,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.1" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ - "backtrace", - "bytes", - "libc", - "mio 1.0.2", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", + "backtrace", + "bytes", + "libc", + "mio 1.0.3", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", ] [[package]] @@ -11091,20 +11177,19 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls", - "rustls-pki-types", - "tokio", + "rustls", + "tokio", ] [[package]] @@ -11113,10 +11198,10 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", ] [[package]] @@ -11125,29 +11210,29 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" dependencies = [ - "futures-util", - "log", - "rustls", - "rustls-pki-types", - "tokio", - "tokio-rustls", - "tungstenite", - "webpki-roots", + "futures-util", + "log", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots", ] [[package]] name = "tokio-util" -version = "0.7.12" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "pin-project-lite", - "slab", - "tokio", + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "slab", + "tokio", ] [[package]] @@ -11156,10 +11241,10 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", ] [[package]] @@ -11168,7 +11253,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ - "serde", + "serde", ] [[package]] @@ -11177,11 +11262,11 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.6.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", ] [[package]] @@ -11190,19 +11275,19 @@ version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ - "futures-core", - "futures-util", - "hdrhistogram", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", + "futures-core", + "futures-util", + "hdrhistogram", + "indexmap 1.9.3", + "pin-project", + "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", ] [[package]] @@ -11211,12 +11296,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" dependencies = [ - "futures-core", - "futures-util", - "pin-project-lite", - "sync_wrapper 0.1.2", - "tower-layer", - "tower-service", + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", ] [[package]] @@ -11225,29 +11310,29 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" dependencies = [ - "async-compression", - "base64 0.22.1", - "bitflags 2.6.0", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-body-util", - "http-range-header", - "httpdate", - "iri-string", - "mime", - "mime_guess", - "percent-encoding", - "pin-project-lite", - "tokio", - "tokio-util", - "tower 0.5.1", - "tower-layer", - "tower-service", - "tracing", - "uuid", + "async-compression", + "base64 0.22.1", + "bitflags 2.6.0", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "http-range-header", + "httpdate", + "iri-string", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", + "tokio", + "tokio-util", + "tower 0.5.1", + "tower-layer", + "tower-service", + "tracing", + "uuid", ] [[package]] @@ -11264,14 +11349,14 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", ] [[package]] @@ -11280,31 +11365,31 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ - "crossbeam-channel", - "thiserror 1.0.69", - "time", - "tracing-subscriber", + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ - "once_cell", - "valuable", + "once_cell", + "valuable", ] [[package]] @@ -11313,19 +11398,19 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "pin-project", - "tracing", + "pin-project", + "tracing", ] [[package]] name = "tracing-journald" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba316a74e8fc3c3896a850dba2375928a9fa171b085ecddfc7c054d39970f3fd" +checksum = "fc0b4143302cf1022dac868d521e36e8b27691f72c84b3311750d5188ebba657" dependencies = [ - "libc", - "tracing-core", - "tracing-subscriber", + "libc", + "tracing-core", + "tracing-subscriber", ] [[package]] @@ -11334,9 +11419,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "log", - "once_cell", - "tracing-core", + "log", + "once_cell", + "tracing-core", ] [[package]] @@ -11345,41 +11430,41 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b1f47d22deb79c3f59fcf2a1f00f60cbdc05462bf17d1cd356c1fefa3f444bd" dependencies = [ - "time", - "tracing", - "tracing-core", - "tracing-subscriber", + "time", + "tracing", + "tracing-core", + "tracing-subscriber", ] [[package]] name = "tracing-serde" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" dependencies = [ - "serde", - "tracing-core", + "serde", + "tracing-core", ] [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "serde", - "serde_json", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", - "tracing-serde", + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "serde", + "serde_json", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", + "tracing-serde", ] [[package]] @@ -11388,10 +11473,10 @@ version = "0.17.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "746b078c6a09ebfd5594609049e07116735c304671eaab06ce749854d23435bc" dependencies = [ - "loom", - "once_cell", - "rustc-demangle", - "tracy-client-sys", + "loom", + "once_cell", + "rustc-demangle", + "tracy-client-sys", ] [[package]] @@ -11400,8 +11485,8 @@ version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3637e734239e12ab152cd269302500bd063f37624ee210cd04b4936ed671f3b1" dependencies = [ - "cc", - "windows-targets 0.48.5", + "cc", + "windows-targets 0.48.5", ] [[package]] @@ -11410,8 +11495,8 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1631b201eb031b563d2e85ca18ec8092508e262a3196ce9bd10a67ec87b9f5c" dependencies = [ - "hash-db", - "rlp", + "hash-db", + "rlp", ] [[package]] @@ -11420,23 +11505,23 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3119112651c157f4488931a01e586aa459736e9d6046d3bd9105ffb69352d374" dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna 0.4.0", - "ipnet", - "once_cell", - "rand 0.8.5", - "smallvec", - "thiserror 1.0.69", - "tinyvec", - "tokio", - "tracing", - "url", + "async-trait", + "cfg-if", + "data-encoding", + "enum-as-inner", + "futures-channel", + "futures-io", + "futures-util", + "idna 0.4.0", + "ipnet", + "once_cell", + "rand 0.8.5", + "smallvec", + "thiserror 1.0.69", + "tinyvec", + "tokio", + "tracing", + "url", ] [[package]] @@ -11445,20 +11530,20 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10a3e6c3aff1718b3c73e395d1f35202ba2ffa847c6a62eea0db8fb4cfe30be6" dependencies = [ - "cfg-if", - "futures-util", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot", - "rand 0.8.5", - "resolv-conf", - "serde", - "smallvec", - "thiserror 1.0.69", - "tokio", - "tracing", - "trust-dns-proto", + "cfg-if", + "futures-util", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot", + "rand 0.8.5", + "resolv-conf", + "serde", + "smallvec", + "thiserror 1.0.69", + "tokio", + "tracing", + "trust-dns-proto", ] [[package]] @@ -11473,18 +11558,18 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http", - "httparse", - "log", - "rand 0.8.5", - "rustls", - "rustls-pki-types", - "sha1", - "thiserror 1.0.69", - "utf-8", + "byteorder", + "bytes", + "data-encoding", + "http", + "httparse", + "log", + "rand 0.8.5", + "rustls", + "rustls-pki-types", + "sha1", + "thiserror 1.0.69", + "utf-8", ] [[package]] @@ -11505,10 +11590,10 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", + "byteorder", + "crunchy", + "hex", + "static_assertions", ] [[package]] @@ -11517,10 +11602,10 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", + "byteorder", + "crunchy", + "hex", + "static_assertions", ] [[package]] @@ -11553,7 +11638,7 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ - "tinyvec", + "tinyvec", ] [[package]] @@ -11568,9 +11653,9 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" dependencies = [ - "itertools 0.13.0", - "unicode-segmentation", - "unicode-width 0.1.14", + "itertools 0.13.0", + "unicode-segmentation", + "unicode-width 0.1.14", ] [[package]] @@ -11597,8 +11682,8 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "crypto-common", - "subtle", + "crypto-common", + "subtle", ] [[package]] @@ -11619,10 +11704,10 @@ version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ - "form_urlencoded", - "idna 1.0.3", - "percent-encoding", - "serde", + "form_urlencoded", + "idna 1.0.3", + "percent-encoding", + "serde", ] [[package]] @@ -11655,7 +11740,7 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.15", ] [[package]] @@ -11670,12 +11755,12 @@ version = "8.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566" dependencies = [ - "anyhow", - "cargo_metadata", - "cfg-if", - "regex", - "rustversion", - "time", + "anyhow", + "cargo_metadata", + "cfg-if", + "regex", + "rustversion", + "time", ] [[package]] @@ -11690,9 +11775,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -11701,7 +11786,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" dependencies = [ - "libc", + "libc", ] [[package]] @@ -11716,8 +11801,8 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ - "same-file", - "winapi-util", + "same-file", + "winapi-util", ] [[package]] @@ -11726,7 +11811,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "try-lock", + "try-lock", ] [[package]] @@ -11743,70 +11828,71 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" +checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", + "cfg-if", + "once_cell", + "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" +checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.89", - "wasm-bindgen-shared", + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.90", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.45" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" +checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" +checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" dependencies = [ - "quote", - "wasm-bindgen-macro-support", + "quote", + "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" +checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", - "wasm-bindgen-backend", - "wasm-bindgen-shared", + "proc-macro2", + "quote", + "syn 2.0.90", + "wasm-bindgen-backend", + "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.95" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" [[package]] name = "wasm-streams" @@ -11814,11 +11900,11 @@ 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", + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] @@ -11827,22 +11913,22 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" dependencies = [ - "futures", - "js-sys", - "parking_lot", - "pin-utils", - "slab", - "wasm-bindgen", + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", ] [[package]] name = "web-sys" -version = "0.3.72" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" dependencies = [ - "js-sys", - "wasm-bindgen", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -11851,8 +11937,8 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ - "js-sys", - "wasm-bindgen", + "js-sys", + "wasm-bindgen", ] [[package]] @@ -11861,7 +11947,7 @@ version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ - "rustls-pki-types", + "rustls-pki-types", ] [[package]] @@ -11876,8 +11962,8 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", ] [[package]] @@ -11892,7 +11978,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.48.0", ] [[package]] @@ -11907,8 +11993,8 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", + "windows-core 0.57.0", + "windows-targets 0.52.6", ] [[package]] @@ -11917,8 +12003,8 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", + "windows-core 0.58.0", + "windows-targets 0.52.6", ] [[package]] @@ -11927,7 +12013,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.6", ] [[package]] @@ -11936,10 +12022,10 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", ] [[package]] @@ -11948,11 +12034,11 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings", - "windows-targets 0.52.6", + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", ] [[package]] @@ -11961,9 +12047,9 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -11972,9 +12058,9 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -11983,9 +12069,9 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -11994,9 +12080,9 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -12005,9 +12091,9 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result 0.2.0", - "windows-strings", - "windows-targets 0.52.6", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", ] [[package]] @@ -12016,7 +12102,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.6", ] [[package]] @@ -12025,7 +12111,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.6", ] [[package]] @@ -12034,8 +12120,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", + "windows-result 0.2.0", + "windows-targets 0.52.6", ] [[package]] @@ -12044,7 +12130,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets 0.48.5", ] [[package]] @@ -12053,7 +12139,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.6", ] [[package]] @@ -12062,7 +12148,7 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.52.6", ] [[package]] @@ -12071,13 +12157,13 @@ 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", + "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]] @@ -12086,14 +12172,14 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "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", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "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]] @@ -12192,7 +12278,7 @@ version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ - "memchr", + "memchr", ] [[package]] @@ -12201,8 +12287,8 @@ version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "cfg-if", - "windows-sys 0.48.0", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] @@ -12223,17 +12309,17 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version 0.4.1", - "send_wrapper 0.6.0", - "thiserror 1.0.69", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.1", + "send_wrapper 0.6.0", + "thiserror 1.0.69", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", ] [[package]] @@ -12242,7 +12328,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" dependencies = [ - "tap", + "tap", ] [[package]] @@ -12257,10 +12343,10 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", ] [[package]] @@ -12269,10 +12355,10 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", - "synstructure", + "proc-macro2", + "quote", + "syn 2.0.90", + "synstructure", ] [[package]] @@ -12281,8 +12367,8 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "byteorder", - "zerocopy-derive", + "byteorder", + "zerocopy-derive", ] [[package]] @@ -12291,9 +12377,9 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -12302,7 +12388,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" dependencies = [ - "zerofrom-derive", + "zerofrom-derive", ] [[package]] @@ -12311,10 +12397,10 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", - "synstructure", + "proc-macro2", + "quote", + "syn 2.0.90", + "synstructure", ] [[package]] @@ -12323,7 +12409,7 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ - "zeroize_derive", + "zeroize_derive", ] [[package]] @@ -12332,9 +12418,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -12343,9 +12429,9 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", + "yoke", + "zerofrom", + "zerovec-derive", ] [[package]] @@ -12354,9 +12440,33 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.89", + "proc-macro2", + "quote", + "syn 2.0.90", +] + +[[package]] +name = "zktrie" +version = "0.3.0" +source = "git+https://github.com/scroll-tech/zktrie.git?rev=309160464c1cd2b87a578ed6d9b6e98205ae4640#309160464c1cd2b87a578ed6d9b6e98205ae4640" +dependencies = [ + "gobuild", + "zktrie_rust", +] + +[[package]] +name = "zktrie_rust" +version = "0.3.0" +source = "git+https://github.com/scroll-tech/zktrie.git?rev=309160464c1cd2b87a578ed6d9b6e98205ae4640#309160464c1cd2b87a578ed6d9b6e98205ae4640" +dependencies = [ + "hex", + "lazy_static", + "log", + "num", + "num-derive", + "num-traits", + "strum 0.24.1", + "strum_macros 0.24.3", ] [[package]] @@ -12365,7 +12475,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ - "zstd-safe", + "zstd-safe", ] [[package]] @@ -12374,7 +12484,7 @@ version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ - "zstd-sys", + "zstd-sys", ] [[package]] @@ -12383,6 +12493,6 @@ version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ - "cc", - "pkg-config", + "cc", + "pkg-config", ] diff --git a/Cargo.toml b/Cargo.toml index 7cc036e88d64..c66aafc2d71f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -106,6 +106,8 @@ members = [ "crates/scroll/primitives", "crates/scroll/revm", "crates/scroll/storage", + "crates/scroll/state-commitment", + "crates/scroll/trie", "crates/stages/api/", "crates/stages/stages/", "crates/stages/types/", @@ -411,6 +413,8 @@ reth-rpc-server-types = { path = "crates/rpc/rpc-server-types" } reth-rpc-types-compat = { path = "crates/rpc/rpc-types-compat" } reth-scroll-execution = { path = "crates/scroll/execution" } reth-scroll-primitives = { path = "crates/scroll/primitives" } +reth-scroll-state-commitment = { path = "crates/scroll/state-commitment" } +reth-scroll-trie = { path = "crates/scroll/trie" } reth-scroll-revm = { path = "crates/scroll/revm" } reth-scroll-storage = { path = "crates/scroll/storage" } reth-scroll-forks = { path = "crates/scroll/hardforks" } diff --git a/crates/primitives-traits/src/account.rs b/crates/primitives-traits/src/account.rs index 27c03dc96b6e..d2d6dffb5723 100644 --- a/crates/primitives-traits/src/account.rs +++ b/crates/primitives-traits/src/account.rs @@ -87,6 +87,25 @@ impl Account { } } +#[cfg(feature = "scroll")] +impl Account { + /// Returns the code size (number of bytes) for the code in this account. + /// In case of no bytecode, returns 0. + pub fn get_code_size(&self) -> u64 { + self.account_extension.as_ref().unwrap().code_size + } + + /// Returns the account poseidon code hash. + /// In the case of no bytecode returns [`reth_scroll_primitives::poseidon::POSEIDON_EMPTY`] + pub fn get_poseidon_code_hash(&self) -> B256 { + self.account_extension + .as_ref() + .unwrap() + .poseidon_code_hash + .unwrap_or(reth_scroll_primitives::poseidon::POSEIDON_EMPTY) + } +} + /// Bytecode for an account. /// /// A wrapper around [`revm::primitives::Bytecode`][RevmBytecode] with encoding/decoding support. @@ -235,7 +254,7 @@ impl From for AccountInfo { .account_extension .unwrap_or_default() .poseidon_code_hash - .unwrap_or(reth_scroll_primitives::POSEIDON_EMPTY), + .unwrap_or(reth_scroll_primitives::poseidon::POSEIDON_EMPTY), } } } diff --git a/crates/primitives/src/alloy_compat.rs b/crates/primitives/src/alloy_compat.rs index f190316bcc8e..550b79f6d682 100644 --- a/crates/primitives/src/alloy_compat.rs +++ b/crates/primitives/src/alloy_compat.rs @@ -166,7 +166,7 @@ impl TryFrom for TransactionSigned { Transaction::L1Message(reth_scroll_primitives::TxL1Message { queue_index: fields.queue_index, gas_limit: inner.gas_limit(), - to: inner.to().ok_or(ConversionError::Custom( + to: inner.to().ok_or_else(|| ConversionError::Custom( "Scroll L1 message transaction do not support create transaction" .to_string(), ))?, diff --git a/crates/primitives/src/transaction/mod.rs b/crates/primitives/src/transaction/mod.rs index eff579cba59e..ef3037db505a 100644 --- a/crates/primitives/src/transaction/mod.rs +++ b/crates/primitives/src/transaction/mod.rs @@ -425,7 +425,7 @@ impl Transaction { /// Returns true if the transaction is a Scroll L1 messaging transaction. #[cfg(all(feature = "scroll", not(feature = "optimism")))] #[inline] - pub fn is_l1_message(&self) -> bool { + pub const fn is_l1_message(&self) -> bool { matches!(self, Self::L1Message(_)) } diff --git a/crates/rpc/rpc-eth-types/src/simulate.rs b/crates/rpc/rpc-eth-types/src/simulate.rs index a10b4afff9d7..323253216e11 100644 --- a/crates/rpc/rpc-eth-types/src/simulate.rs +++ b/crates/rpc/rpc-eth-types/src/simulate.rs @@ -233,7 +233,8 @@ pub fn build_block>( // let storage = hashed_state // .storages // .entry(hashed_address) - // .or_insert_with(|| HashedStorage::new(account.account_state.is_storage_cleared())); + // .or_insert_with(|| + // HashedStorage::new(account.account_state.is_storage_cleared())); // for (slot, value) in &account.storage { // let slot = B256::from(*slot); diff --git a/crates/scroll/primitives/src/account_extension.rs b/crates/scroll/primitives/src/account_extension.rs index 6c732c18c38f..39709b55dd03 100644 --- a/crates/scroll/primitives/src/account_extension.rs +++ b/crates/scroll/primitives/src/account_extension.rs @@ -1,4 +1,4 @@ -use crate::{hash_code, POSEIDON_EMPTY}; +use crate::poseidon::{hash_code, POSEIDON_EMPTY}; use alloy_primitives::B256; use serde::{Deserialize, Serialize}; @@ -35,6 +35,8 @@ impl AccountExtension { impl From<(u64, B256)> for AccountExtension { fn from(value: (u64, B256)) -> Self { + // TODO (scroll): Looks like we can create an [`AccountExtension`] with non-zero + // code size with poseidon_code_hash = None Self { code_size: value.0, poseidon_code_hash: (value.1 != POSEIDON_EMPTY).then_some(value.1), diff --git a/crates/scroll/primitives/src/lib.rs b/crates/scroll/primitives/src/lib.rs index 2f2796db6e23..ac4d81a40525 100644 --- a/crates/scroll/primitives/src/lib.rs +++ b/crates/scroll/primitives/src/lib.rs @@ -13,5 +13,5 @@ pub use l1_transaction::{ }; pub mod l1_transaction; -pub use poseidon::{hash_code, POSEIDON_EMPTY}; -mod poseidon; +/// Poseidon hashing primitives. +pub mod poseidon; diff --git a/crates/scroll/primitives/src/poseidon.rs b/crates/scroll/primitives/src/poseidon.rs index 4a5010167f51..4a559c551d40 100644 --- a/crates/scroll/primitives/src/poseidon.rs +++ b/crates/scroll/primitives/src/poseidon.rs @@ -1,10 +1,87 @@ use alloy_primitives::{b256, B256}; +pub use poseidon_bn254::{hash_with_domain, Fr, PrimeField}; /// The Poseidon hash of the empty string `""`. pub const POSEIDON_EMPTY: B256 = b256!("2098f5fb9e239eab3ceac3f27b81e481dc3124d55ffed523a839ee8446b64864"); +/// The root hash of an empty binary Merle Patricia trie. +pub const EMPTY_ROOT_HASH: B256 = B256::ZERO; + +/// Type that is used to represent a field element in binary representation. +pub type FieldElementBytes = ::Repr; + +/// The number of bytes in the binary representation of a field element. +pub const FIELD_ELEMENT_REPR_BYTES: usize = core::mem::size_of::(); + +// Half the number of bytes in the binary representation of a field element. +const HALF_FIELD_ELEMENT_REPR_BYTES: usize = FIELD_ELEMENT_REPR_BYTES / 2; + +/// The domain multiplier per field element. +pub const DOMAIN_MULTIPLIER_PER_FIELD_ELEMENT: u64 = 256; + +/// The domain for hashing two field elements. +pub const DOMAIN_TWO_FIELD_ELEMENTS: Fr = + Fr::from_raw([DOMAIN_MULTIPLIER_PER_FIELD_ELEMENT * 2, 0, 0, 0]); + +/// Hash two field elements using poseidon. +pub fn hash(element_1: Fr, element_2: Fr) -> Fr { + hash_with_domain(&[element_1, element_2], DOMAIN_TWO_FIELD_ELEMENTS) +} + /// Poseidon code hash pub fn hash_code(code: &[u8]) -> B256 { poseidon_bn254::hash_code(code).into() } + +/// Split and transform input be bytes into two field elements and hash using poseidon. +/// +/// # Panics +/// +/// This function will panic if more than 32 bytes are provided as input. +pub fn split_and_hash_be_bytes>(bytes: T) -> Fr { + debug_assert!( + bytes.as_ref().len() <= FIELD_ELEMENT_REPR_BYTES, + "bytes length should be less than or equal to field element bytes" + ); + let (bytes_lo, bytes_hi) = split_and_parse_field_elements(bytes.as_ref()); + hash(bytes_lo, bytes_hi) +} + +/// Parse input bytes into two field elements which represent the lower bytes and the upper bytes. +/// +/// # Panics +/// +/// This function will panic if more than 32 bytes are provided as input. +fn split_and_parse_field_elements(bytes: &[u8]) -> (Fr, Fr) { + debug_assert!( + bytes.len() <= FIELD_ELEMENT_REPR_BYTES, + "bytes length should be less than or equal to field element bytes" + ); + let mut bytes_lo = FieldElementBytes::default(); + let mut bytes_hi = FieldElementBytes::default(); + + if bytes.len() > (HALF_FIELD_ELEMENT_REPR_BYTES) { + bytes_lo[HALF_FIELD_ELEMENT_REPR_BYTES..] + .copy_from_slice(&bytes[..HALF_FIELD_ELEMENT_REPR_BYTES]); + bytes_hi[HALF_FIELD_ELEMENT_REPR_BYTES..bytes.len()] + .copy_from_slice(&bytes[HALF_FIELD_ELEMENT_REPR_BYTES..]); + } else { + bytes_lo[HALF_FIELD_ELEMENT_REPR_BYTES..(HALF_FIELD_ELEMENT_REPR_BYTES + bytes.len())] + .copy_from_slice(bytes) + } + + let bytes_lo = field_element_from_be_bytes(bytes_lo); + let bytes_hi = field_element_from_be_bytes(bytes_hi); + (bytes_lo, bytes_hi) +} + +/// Parses a field element from big endian bytes. +/// +/// # Panics +/// +/// This function will panic if the bytes are not a valid field element. +pub fn field_element_from_be_bytes(mut bytes: FieldElementBytes) -> Fr { + bytes.reverse(); + Fr::from_repr_vartime(bytes).expect("valid field element") +} diff --git a/crates/scroll/revm/src/states/account_info.rs b/crates/scroll/revm/src/states/account_info.rs index ad21e46f14ce..ffd6785118ed 100644 --- a/crates/scroll/revm/src/states/account_info.rs +++ b/crates/scroll/revm/src/states/account_info.rs @@ -1,4 +1,7 @@ -use reth_scroll_primitives::{hash_code, ScrollPostExecutionContext, POSEIDON_EMPTY}; +use reth_scroll_primitives::{ + poseidon::{hash_code, POSEIDON_EMPTY}, + ScrollPostExecutionContext, +}; use revm::primitives::{AccountInfo, Bytecode, B256, KECCAK_EMPTY, U256}; /// The Scroll account information. Code copy of [`AccountInfo`]. Provides additional `code_size` diff --git a/crates/scroll/revm/src/test_utils.rs b/crates/scroll/revm/src/test_utils.rs index f6538100dd87..b06844699178 100644 --- a/crates/scroll/revm/src/test_utils.rs +++ b/crates/scroll/revm/src/test_utils.rs @@ -5,7 +5,7 @@ use crate::{ }, ScrollAccountInfo, }; -use reth_scroll_primitives::{hash_code, POSEIDON_EMPTY}; +use reth_scroll_primitives::poseidon::{hash_code, POSEIDON_EMPTY}; use revm::db::{ states::{reverts::AccountInfoRevert, PlainStateReverts, StateChangeset}, AccountRevert, diff --git a/crates/scroll/state-commitment/Cargo.toml b/crates/scroll/state-commitment/Cargo.toml new file mode 100644 index 000000000000..cb90692ccaaa --- /dev/null +++ b/crates/scroll/state-commitment/Cargo.toml @@ -0,0 +1,79 @@ +[package] +name = "reth-scroll-state-commitment" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +homepage.workspace = true +repository.workspace = true +exclude.workspace = true + +[lints] +workspace = true + +[dependencies] +reth-db.workspace = true +reth-execution-errors.workspace = true +reth-primitives.workspace = true +reth-primitives-traits.workspace = true +reth-scroll-execution.workspace = true +reth-scroll-primitives.workspace = true +reth-scroll-trie.workspace = true +reth-trie.workspace = true +reth-trie-db.workspace = true + +# alloy +alloy-consensus = { workspace = true, optional = true} +alloy-primitives.workspace = true +alloy-rlp.workspace = true + +# `metrics` feature +reth-metrics = { workspace = true, optional = true } +metrics = { workspace = true, optional = true } + +# zktrie +poseidon-bn254.workspace = true +zktrie_rust = { git = "https://github.com/scroll-tech/zktrie.git", rev = "309160464c1cd2b87a578ed6d9b6e98205ae4640", optional = true } +zktrie = { git = "https://github.com/scroll-tech/zktrie.git", rev = "309160464c1cd2b87a578ed6d9b6e98205ae4640", features = ["rs_zktrie"], optional = true } + +# misc +tracing.workspace = true + +[dev-dependencies] +reth-db-api.workspace = true +reth-primitives = { workspace = true, features = ["test-utils", "arbitrary"] } +reth-scroll-state-commitment = { workspace = true, features = ["test-utils"]} +reth-trie = { workspace = true, features = ["test-utils" ] } +reth-trie-common = { workspace = true, features = ["test-utils", "arbitrary"] } +reth-provider = { workspace = true, features = ["test-utils" ] } +alloy-consensus.workspace = true +zktrie_rust = { git = "https://github.com/scroll-tech/zktrie.git", rev = "309160464c1cd2b87a578ed6d9b6e98205ae4640" } +zktrie = { git = "https://github.com/scroll-tech/zktrie.git", rev = "309160464c1cd2b87a578ed6d9b6e98205ae4640", features = ["rs_zktrie"] } +proptest.workspace = true +proptest-arbitrary-interop.workspace = true + +[features] +scroll = [ + "reth-trie/scroll", + "reth-primitives-traits/scroll", + "reth-provider/scroll", + "reth-trie/scroll" +] +test-utils = [ + "dep:zktrie_rust", + "dep:zktrie", + "dep:alloy-consensus", + "reth-db/test-utils", + "reth-db-api/test-utils", + "reth-primitives/test-utils", + "reth-primitives-traits/test-utils", + "reth-provider/test-utils", + "reth-scroll-execution/test-utils", + "reth-scroll-state-commitment/test-utils", + "reth-trie/test-utils", + "reth-trie-common/test-utils", + "reth-trie-db/test-utils" +] +metrics = ["reth-metrics", "dep:metrics"] + + diff --git a/crates/scroll/state-commitment/src/account.rs b/crates/scroll/state-commitment/src/account.rs new file mode 100644 index 000000000000..ba615b5c20eb --- /dev/null +++ b/crates/scroll/state-commitment/src/account.rs @@ -0,0 +1,38 @@ +use alloy_primitives::{B256, U256}; +use reth_primitives_traits::Account; + +/// A Scroll account as represented in the trie. +#[derive(Debug)] +pub struct ScrollTrieAccount { + /// nonce + pub nonce: u64, + /// code size + pub code_size: u64, + /// balance + pub balance: U256, + /// storage root + pub storage_root: B256, + /// keccak code hash + pub code_hash: B256, + /// poseidon code hash + pub poseidon_code_hash: B256, +} + +impl From<(Account, B256)> for ScrollTrieAccount { + fn from((account, storage_root): (Account, B256)) -> Self { + Self { + nonce: account.nonce, + balance: account.balance, + storage_root, + code_hash: account.get_bytecode_hash(), + #[cfg(feature = "scroll")] + poseidon_code_hash: account.get_poseidon_code_hash(), + #[cfg(feature = "scroll")] + code_size: account.get_code_size(), + #[cfg(not(feature = "scroll"))] + poseidon_code_hash: B256::default(), + #[cfg(not(feature = "scroll"))] + code_size: 0, + } + } +} diff --git a/crates/scroll/state-commitment/src/commitment.rs b/crates/scroll/state-commitment/src/commitment.rs new file mode 100644 index 000000000000..bf6c27721706 --- /dev/null +++ b/crates/scroll/state-commitment/src/commitment.rs @@ -0,0 +1,26 @@ +use super::{PoseidonKeyHasher, StateRoot, StorageRoot}; +use reth_db::transaction::DbTx; +use reth_trie_db::{DatabaseHashedCursorFactory, DatabaseTrieCursorFactory, StateCommitment}; + +/// The state commitment type for Scroll's binary Merkle Patricia Trie. +#[derive(Debug)] +#[non_exhaustive] +pub struct BinaryMerklePatriciaTrie; + +impl StateCommitment for BinaryMerklePatriciaTrie { + type KeyHasher = PoseidonKeyHasher; + type StateRoot<'a, TX: DbTx + 'a> = + StateRoot, DatabaseHashedCursorFactory<'a, TX>>; + type StorageRoot<'a, TX: DbTx + 'a> = + StorageRoot, DatabaseHashedCursorFactory<'a, TX>>; + // TODO(scroll): replace with scroll proof type + type StateProof<'a, TX: DbTx + 'a> = reth_trie::proof::Proof< + DatabaseTrieCursorFactory<'a, TX>, + DatabaseHashedCursorFactory<'a, TX>, + >; + // TODO(scroll): replace with scroll witness type + type StateWitness<'a, TX: DbTx + 'a> = reth_trie::witness::TrieWitness< + DatabaseTrieCursorFactory<'a, TX>, + DatabaseHashedCursorFactory<'a, TX>, + >; +} diff --git a/crates/scroll/state-commitment/src/key.rs b/crates/scroll/state-commitment/src/key.rs new file mode 100644 index 000000000000..844f2c4f70f7 --- /dev/null +++ b/crates/scroll/state-commitment/src/key.rs @@ -0,0 +1,26 @@ +use alloy_primitives::B256; +use reth_scroll_primitives::poseidon::{ + split_and_hash_be_bytes, PrimeField, FIELD_ELEMENT_REPR_BYTES, +}; +use reth_trie::KeyHasher; + +/// An implementation of a key hasher that uses Poseidon. +#[derive(Clone, Debug, Default)] +pub struct PoseidonKeyHasher; + +impl KeyHasher for PoseidonKeyHasher { + /// Hashes the key using the Poseidon hash function. + /// + /// The bytes are expected to be provided in big endian format. + /// + /// Panics if the number of bytes provided is greater than the number of bytes in the + /// binary representation of a field element (32). + /// + /// Returns the hash digest in little endian representation with bits reversed. + fn hash_key>(bytes: T) -> B256 { + debug_assert!(bytes.as_ref().len() <= FIELD_ELEMENT_REPR_BYTES); + let mut bytes = split_and_hash_be_bytes(bytes.as_ref()).to_repr(); + bytes.iter_mut().for_each(|byte| *byte = byte.reverse_bits()); + bytes.into() + } +} diff --git a/crates/scroll/state-commitment/src/lib.rs b/crates/scroll/state-commitment/src/lib.rs new file mode 100644 index 000000000000..a6995479e175 --- /dev/null +++ b/crates/scroll/state-commitment/src/lib.rs @@ -0,0 +1,23 @@ +//! The implementation of scrolls binary Merkle Patricia Trie used a cryptographic state commitment. + +mod account; +pub use account::ScrollTrieAccount; + +mod commitment; +pub use commitment::BinaryMerklePatriciaTrie; + +mod root; +pub use root::{StateRoot, StorageRoot}; + +mod key; +pub use key::PoseidonKeyHasher; + +mod value; +pub use value::PoseidonValueHasher; + +/// test utils for the state commitment +#[cfg(feature = "test-utils")] +pub mod test_utils; + +#[cfg(all(test, feature = "scroll"))] +mod test; diff --git a/crates/scroll/state-commitment/src/root.rs b/crates/scroll/state-commitment/src/root.rs new file mode 100644 index 000000000000..675a2dbdbbaf --- /dev/null +++ b/crates/scroll/state-commitment/src/root.rs @@ -0,0 +1,633 @@ +use super::{PoseidonKeyHasher, PoseidonValueHasher, ScrollTrieAccount}; +use alloy_primitives::{Address, BlockNumber, B256}; +use reth_db::transaction::DbTx; +use reth_execution_errors::{StateRootError, StorageRootError}; +use reth_scroll_primitives::poseidon::EMPTY_ROOT_HASH; +use reth_scroll_trie::HashBuilder; +use reth_trie::{ + hashed_cursor::{HashedCursorFactory, HashedPostStateCursorFactory, HashedStorageCursor}, + key::BitsCompatibility, + node_iter::{TrieElement, TrieNodeIter}, + prefix_set::{PrefixSet, TriePrefixSets}, + stats::TrieTracker, + trie_cursor::{InMemoryTrieCursorFactory, TrieCursorFactory}, + updates::{StorageTrieUpdates, TrieUpdates}, + walker::TrieWalker, + HashedPostState, HashedPostStateSorted, HashedStorage, IntermediateStateRootState, KeyHasher, + Nibbles, StateRootProgress, TrieInput, +}; +use tracing::{debug, trace}; + +#[cfg(feature = "metrics")] +use reth_trie::metrics::{StateRootMetrics, TrieRootMetrics, TrieType}; + +// TODO(scroll): Instead of introducing this new type we should make StateRoot generic over +// the [`HashBuilder`] and key traversal types + +/// `StateRoot` is used to compute the root node of a state trie. +#[derive(Debug)] +pub struct StateRoot { + /// The factory for trie cursors. + pub trie_cursor_factory: T, + /// The factory for hashed cursors. + pub hashed_cursor_factory: H, + /// A set of prefix sets that have changed. + pub prefix_sets: TriePrefixSets, + /// Previous intermediate state. + previous_state: Option, + /// The number of updates after which the intermediate progress should be returned. + threshold: u64, + #[cfg(feature = "metrics")] + /// State root metrics. + metrics: StateRootMetrics, +} + +impl StateRoot { + /// Creates [`StateRoot`] with `trie_cursor_factory` and `hashed_cursor_factory`. All other + /// parameters are set to reasonable defaults. + /// + /// The cursors created by given factories are then used to walk through the accounts and + /// calculate the state root value with. + pub fn new(trie_cursor_factory: T, hashed_cursor_factory: H) -> Self { + Self { + trie_cursor_factory, + hashed_cursor_factory, + prefix_sets: TriePrefixSets::default(), + previous_state: None, + threshold: 100_000, + #[cfg(feature = "metrics")] + metrics: StateRootMetrics::default(), + } + } + + /// Set the prefix sets. + pub fn with_prefix_sets(mut self, prefix_sets: TriePrefixSets) -> Self { + self.prefix_sets = prefix_sets; + self + } + + /// Set the threshold. + pub const fn with_threshold(mut self, threshold: u64) -> Self { + self.threshold = threshold; + self + } + + /// Set the threshold to maximum value so that intermediate progress is not returned. + pub const fn with_no_threshold(mut self) -> Self { + self.threshold = u64::MAX; + self + } + + /// Set the previously recorded intermediate state. + pub fn with_intermediate_state(mut self, state: Option) -> Self { + self.previous_state = state; + self + } + + /// Set the hashed cursor factory. + pub fn with_hashed_cursor_factory(self, hashed_cursor_factory: HF) -> StateRoot { + StateRoot { + trie_cursor_factory: self.trie_cursor_factory, + hashed_cursor_factory, + prefix_sets: self.prefix_sets, + threshold: self.threshold, + previous_state: self.previous_state, + #[cfg(feature = "metrics")] + metrics: self.metrics, + } + } + + /// Set the trie cursor factory. + pub fn with_trie_cursor_factory(self, trie_cursor_factory: TF) -> StateRoot { + StateRoot { + trie_cursor_factory, + hashed_cursor_factory: self.hashed_cursor_factory, + prefix_sets: self.prefix_sets, + threshold: self.threshold, + previous_state: self.previous_state, + #[cfg(feature = "metrics")] + metrics: self.metrics, + } + } +} + +impl StateRoot +where + T: TrieCursorFactory + Clone, + H: HashedCursorFactory + Clone, +{ + /// Walks the intermediate nodes of existing state trie (if any) and hashed entries. Feeds the + /// nodes into the hash builder. Collects the updates in the process. + /// + /// Ignores the threshold. + /// + /// # Returns + /// + /// The intermediate progress of state root computation and the trie updates. + pub fn root_with_updates(self) -> Result<(B256, TrieUpdates), StateRootError> { + match self.with_no_threshold().calculate(true)? { + StateRootProgress::Complete(root, _, updates) => Ok((root, updates)), + StateRootProgress::Progress(..) => unreachable!(), // unreachable threshold + } + } + + /// Walks the intermediate nodes of existing state trie (if any) and hashed entries. Feeds the + /// nodes into the hash builder. + /// + /// # Returns + /// + /// The state root hash. + pub fn root(self) -> Result { + match self.calculate(false)? { + StateRootProgress::Complete(root, _, _) => Ok(root), + StateRootProgress::Progress(..) => unreachable!(), // update retenion is disabled + } + } + + /// Walks the intermediate nodes of existing state trie (if any) and hashed entries. Feeds the + /// nodes into the hash builder. Collects the updates in the process. + /// + /// # Returns + /// + /// The intermediate progress of state root computation. + pub fn root_with_progress(self) -> Result { + self.calculate(true) + } + + fn calculate(self, retain_updates: bool) -> Result { + trace!(target: "trie::state_root", "calculating state root"); + let mut tracker = TrieTracker::default(); + let mut trie_updates = TrieUpdates::default(); + + let trie_cursor = self.trie_cursor_factory.account_trie_cursor()?; + + let hashed_account_cursor = self.hashed_cursor_factory.hashed_account_cursor()?; + let (mut hash_builder, mut account_node_iter) = match self.previous_state { + Some(state) => { + let hash_builder = state.hash_builder.with_updates(retain_updates).into(); + + let walker = TrieWalker::from_stack( + trie_cursor, + state.walker_stack, + self.prefix_sets.account_prefix_set, + ) + .with_deletions_retained(retain_updates); + let node_iter = TrieNodeIter::new(walker, hashed_account_cursor) + .with_last_hashed_key(state.last_account_key); + (hash_builder, node_iter) + } + None => { + let hash_builder = HashBuilder::default().with_updates(retain_updates); + let walker = TrieWalker::new(trie_cursor, self.prefix_sets.account_prefix_set) + .with_deletions_retained(retain_updates); + let node_iter = TrieNodeIter::new(walker, hashed_account_cursor); + (hash_builder, node_iter) + } + }; + + let mut hashed_entries_walked = 0; + let mut updated_storage_nodes = 0; + while let Some(node) = account_node_iter.try_next()? { + match node { + TrieElement::Branch(node) => { + tracker.inc_branch(); + hash_builder.add_branch(node.key, node.value, node.children_are_in_trie); + } + TrieElement::Leaf(hashed_address, account) => { + tracker.inc_leaf(); + hashed_entries_walked += 1; + + // We assume we can always calculate a storage root without + // OOMing. This opens us up to a potential DOS vector if + // a contract had too many storage entries and they were + // all buffered w/o us returning and committing our intermediate + // progress. + // TODO: We can consider introducing the TrieProgress::Progress/Complete + // abstraction inside StorageRoot, but let's give it a try as-is for now. + let storage_root_calculator = StorageRoot::new_hashed( + self.trie_cursor_factory.clone(), + self.hashed_cursor_factory.clone(), + hashed_address, + #[cfg(feature = "metrics")] + self.metrics.storage_trie.clone(), + ) + .with_prefix_set( + self.prefix_sets + .storage_prefix_sets + .get(&hashed_address) + .cloned() + .unwrap_or_default(), + ); + + let storage_root = if retain_updates { + let (root, storage_slots_walked, updates) = + storage_root_calculator.root_with_updates()?; + hashed_entries_walked += storage_slots_walked; + // We only walk over hashed address once, so it's safe to insert. + updated_storage_nodes += updates.len(); + trie_updates.insert_storage_updates(hashed_address, updates); + root + } else { + storage_root_calculator.root()? + }; + + let account = ScrollTrieAccount::from((account, storage_root)); + let account_hash = PoseidonValueHasher::hash_account(account); + hash_builder.add_leaf( + Nibbles::unpack_and_truncate_bits(hashed_address), + account_hash.as_slice(), + ); + + // Decide if we need to return intermediate progress. + let total_updates_len = updated_storage_nodes + + account_node_iter.walker.removed_keys_len() + + hash_builder.updates_len(); + if retain_updates && total_updates_len as u64 >= self.threshold { + let (walker_stack, walker_deleted_keys) = account_node_iter.walker.split(); + trie_updates.removed_nodes.extend(walker_deleted_keys); + let (hash_builder, hash_builder_updates) = hash_builder.split(); + trie_updates.account_nodes.extend(hash_builder_updates); + + let state = IntermediateStateRootState { + hash_builder: hash_builder.into(), + walker_stack, + last_account_key: hashed_address, + }; + + return Ok(StateRootProgress::Progress( + Box::new(state), + hashed_entries_walked, + trie_updates, + )) + } + } + } + } + + let root = hash_builder.root(); + + let removed_keys = account_node_iter.walker.take_removed_keys(); + trie_updates.finalize( + hash_builder.into(), + removed_keys, + self.prefix_sets.destroyed_accounts, + ); + + let stats = tracker.finish(); + + #[cfg(feature = "metrics")] + self.metrics.state_trie.record(stats); + + trace!( + target: "trie::state_root", + %root, + duration = ?stats.duration(), + branches_added = stats.branches_added(), + leaves_added = stats.leaves_added(), + "calculated state root" + ); + + Ok(StateRootProgress::Complete(root, hashed_entries_walked, trie_updates)) + } +} + +/// `StorageRoot` is used to compute the root node of an account storage trie. +#[derive(Debug)] +pub struct StorageRoot { + /// A reference to the database transaction. + pub trie_cursor_factory: T, + /// The factory for hashed cursors. + pub hashed_cursor_factory: H, + /// The hashed address of an account. + pub hashed_address: B256, + /// The set of storage slot prefixes that have changed. + pub prefix_set: PrefixSet, + /// Storage root metrics. + #[cfg(feature = "metrics")] + metrics: TrieRootMetrics, +} + +impl StorageRoot { + /// Creates a new storage root calculator given a raw address. + pub fn new( + trie_cursor_factory: T, + hashed_cursor_factory: H, + address: Address, + #[cfg(feature = "metrics")] metrics: TrieRootMetrics, + ) -> Self { + Self::new_hashed( + trie_cursor_factory, + hashed_cursor_factory, + PoseidonKeyHasher::hash_key(address), + #[cfg(feature = "metrics")] + metrics, + ) + } + + /// Creates a new storage root calculator given a hashed address. + pub fn new_hashed( + trie_cursor_factory: T, + hashed_cursor_factory: H, + hashed_address: B256, + #[cfg(feature = "metrics")] metrics: TrieRootMetrics, + ) -> Self { + Self { + trie_cursor_factory, + hashed_cursor_factory, + hashed_address, + prefix_set: PrefixSet::default(), + #[cfg(feature = "metrics")] + metrics, + } + } + + /// Set the changed prefixes. + pub fn with_prefix_set(mut self, prefix_set: PrefixSet) -> Self { + self.prefix_set = prefix_set; + self + } + + /// Set the hashed cursor factory. + pub fn with_hashed_cursor_factory(self, hashed_cursor_factory: HF) -> StorageRoot { + StorageRoot { + trie_cursor_factory: self.trie_cursor_factory, + hashed_cursor_factory, + hashed_address: self.hashed_address, + prefix_set: self.prefix_set, + #[cfg(feature = "metrics")] + metrics: self.metrics, + } + } + + /// Set the trie cursor factory. + pub fn with_trie_cursor_factory(self, trie_cursor_factory: TF) -> StorageRoot { + StorageRoot { + trie_cursor_factory, + hashed_cursor_factory: self.hashed_cursor_factory, + hashed_address: self.hashed_address, + prefix_set: self.prefix_set, + #[cfg(feature = "metrics")] + metrics: self.metrics, + } + } +} + +impl StorageRoot +where + T: TrieCursorFactory, + H: HashedCursorFactory, +{ + /// Walks the hashed storage table entries for a given address and calculates the storage root. + /// + /// # Returns + /// + /// The storage root and storage trie updates for a given address. + pub fn root_with_updates(self) -> Result<(B256, usize, StorageTrieUpdates), StorageRootError> { + self.calculate(true) + } + + /// Walks the hashed storage table entries for a given address and calculates the storage root. + /// + /// # Returns + /// + /// The storage root. + pub fn root(self) -> Result { + let (root, _, _) = self.calculate(false)?; + Ok(root) + } + + /// Walks the hashed storage table entries for a given address and calculates the storage root. + /// + /// # Returns + /// + /// The storage root, number of walked entries and trie updates + /// for a given address if requested. + pub fn calculate( + self, + retain_updates: bool, + ) -> Result<(B256, usize, StorageTrieUpdates), StorageRootError> { + trace!(target: "trie::storage_root", hashed_address = ?self.hashed_address, "calculating storage root"); + + let mut hashed_storage_cursor = + self.hashed_cursor_factory.hashed_storage_cursor(self.hashed_address)?; + + // short circuit on empty storage + if hashed_storage_cursor.is_storage_empty()? { + return Ok((EMPTY_ROOT_HASH, 0, StorageTrieUpdates::deleted())) + } + + let mut tracker = TrieTracker::default(); + let trie_cursor = self.trie_cursor_factory.storage_trie_cursor(self.hashed_address)?; + let walker = + TrieWalker::new(trie_cursor, self.prefix_set).with_deletions_retained(retain_updates); + + let mut hash_builder = HashBuilder::default().with_updates(retain_updates); + + let mut storage_node_iter = TrieNodeIter::new(walker, hashed_storage_cursor); + while let Some(node) = storage_node_iter.try_next()? { + match node { + TrieElement::Branch(node) => { + tracker.inc_branch(); + hash_builder.add_branch(node.key, node.value, node.children_are_in_trie); + } + TrieElement::Leaf(hashed_slot, value) => { + let hashed_value = PoseidonValueHasher::hash_storage(value); + tracker.inc_leaf(); + hash_builder.add_leaf( + Nibbles::unpack_and_truncate_bits(hashed_slot), + hashed_value.as_ref(), + ); + } + } + } + + let root = hash_builder.root(); + + let mut trie_updates = StorageTrieUpdates::default(); + let removed_keys = storage_node_iter.walker.take_removed_keys(); + trie_updates.finalize(hash_builder.into(), removed_keys); + + let stats = tracker.finish(); + + #[cfg(feature = "metrics")] + self.metrics.record(stats); + + trace!( + target: "trie::storage_root", + %root, + hashed_address = %self.hashed_address, + duration = ?stats.duration(), + branches_added = stats.branches_added(), + leaves_added = stats.leaves_added(), + "calculated storage root" + ); + + let storage_slots_walked = stats.leaves_added() as usize; + Ok((root, storage_slots_walked, trie_updates)) + } +} + +use reth_trie_db::{ + DatabaseHashedCursorFactory, DatabaseStateRoot, DatabaseStorageRoot, DatabaseTrieCursorFactory, + PrefixSetLoader, +}; +use std::ops::RangeInclusive; + +impl<'a, TX: DbTx> DatabaseStateRoot<'a, TX> + for StateRoot, DatabaseHashedCursorFactory<'a, TX>> +{ + fn from_tx(tx: &'a TX) -> Self { + Self::new(DatabaseTrieCursorFactory::new(tx), DatabaseHashedCursorFactory::new(tx)) + } + + fn incremental_root_calculator( + tx: &'a TX, + range: RangeInclusive, + ) -> Result { + let loaded_prefix_sets = PrefixSetLoader::<_, PoseidonKeyHasher>::new(tx).load(range)?; + Ok(Self::from_tx(tx).with_prefix_sets(loaded_prefix_sets)) + } + + fn incremental_root( + tx: &'a TX, + range: RangeInclusive, + ) -> Result { + debug!(target: "trie::loader", ?range, "incremental state root"); + Self::incremental_root_calculator(tx, range)?.root() + } + + fn incremental_root_with_updates( + tx: &'a TX, + range: RangeInclusive, + ) -> Result<(B256, TrieUpdates), StateRootError> { + debug!(target: "trie::loader", ?range, "incremental state root"); + Self::incremental_root_calculator(tx, range)?.root_with_updates() + } + + fn incremental_root_with_progress( + tx: &'a TX, + range: RangeInclusive, + ) -> Result { + debug!(target: "trie::loader", ?range, "incremental state root with progress"); + Self::incremental_root_calculator(tx, range)?.root_with_progress() + } + + fn overlay_root(tx: &'a TX, post_state: HashedPostState) -> Result { + let prefix_sets = post_state.construct_prefix_sets().freeze(); + let state_sorted = post_state.into_sorted(); + StateRoot::new( + DatabaseTrieCursorFactory::new(tx), + HashedPostStateCursorFactory::new(DatabaseHashedCursorFactory::new(tx), &state_sorted), + ) + .with_prefix_sets(prefix_sets) + .root() + } + + fn overlay_root_with_updates( + tx: &'a TX, + post_state: HashedPostState, + ) -> Result<(B256, TrieUpdates, HashedPostStateSorted), StateRootError> { + let prefix_sets = post_state.construct_prefix_sets().freeze(); + let state_sorted = post_state.into_sorted(); + let (root, updates) = StateRoot::new( + DatabaseTrieCursorFactory::new(tx), + HashedPostStateCursorFactory::new(DatabaseHashedCursorFactory::new(tx), &state_sorted), + ) + .with_prefix_sets(prefix_sets) + .root_with_updates()?; + Ok((root, updates, state_sorted)) + } + + fn overlay_root_from_nodes(tx: &'a TX, input: TrieInput) -> Result { + let state_sorted = input.state.into_sorted(); + let nodes_sorted = input.nodes.into_sorted(); + StateRoot::new( + InMemoryTrieCursorFactory::new(DatabaseTrieCursorFactory::new(tx), &nodes_sorted), + HashedPostStateCursorFactory::new(DatabaseHashedCursorFactory::new(tx), &state_sorted), + ) + .with_prefix_sets(input.prefix_sets.freeze()) + .root() + } + + fn overlay_root_from_nodes_with_updates( + tx: &'a TX, + input: TrieInput, + ) -> Result<(B256, TrieUpdates), StateRootError> { + let state_sorted = input.state.into_sorted(); + let nodes_sorted = input.nodes.into_sorted(); + StateRoot::new( + InMemoryTrieCursorFactory::new(DatabaseTrieCursorFactory::new(tx), &nodes_sorted), + HashedPostStateCursorFactory::new(DatabaseHashedCursorFactory::new(tx), &state_sorted), + ) + .with_prefix_sets(input.prefix_sets.freeze()) + .root_with_updates() + } + + fn root(tx: &'a TX) -> Result { + Self::from_tx(tx).root() + } + + fn root_with_updates(tx: &'a TX) -> Result<(B256, TrieUpdates), StateRootError> { + Self::from_tx(tx).root_with_updates() + } + + fn root_from_prefix_sets_with_updates( + tx: &'a TX, + prefix_sets: TriePrefixSets, + ) -> Result<(B256, TrieUpdates), StateRootError> { + Self::from_tx(tx).with_prefix_sets(prefix_sets).root_with_updates() + } + + fn root_with_progress( + tx: &'a TX, + state: Option, + ) -> Result { + Self::from_tx(tx).with_intermediate_state(state).root_with_progress() + } +} + +impl<'a, TX: DbTx> DatabaseStorageRoot<'a, TX> + for StorageRoot, DatabaseHashedCursorFactory<'a, TX>> +{ + fn from_tx(tx: &'a TX, address: Address) -> Self { + Self::new( + DatabaseTrieCursorFactory::new(tx), + DatabaseHashedCursorFactory::new(tx), + address, + #[cfg(feature = "metrics")] + TrieRootMetrics::new(TrieType::Storage), + ) + } + + fn from_tx_hashed(tx: &'a TX, hashed_address: B256) -> Self { + Self::new_hashed( + DatabaseTrieCursorFactory::new(tx), + DatabaseHashedCursorFactory::new(tx), + hashed_address, + #[cfg(feature = "metrics")] + TrieRootMetrics::new(TrieType::Storage), + ) + } + + fn overlay_root( + tx: &'a TX, + address: Address, + hashed_storage: HashedStorage, + ) -> Result { + let prefix_set = hashed_storage.construct_prefix_set().freeze(); + let state_sorted = HashedPostState::from_hashed_storage( + PoseidonKeyHasher::hash_key(address), + hashed_storage, + ) + .into_sorted(); + StorageRoot::new( + DatabaseTrieCursorFactory::new(tx), + HashedPostStateCursorFactory::new(DatabaseHashedCursorFactory::new(tx), &state_sorted), + address, + #[cfg(feature = "metrics")] + TrieRootMetrics::new(TrieType::Storage), + ) + .with_prefix_set(prefix_set) + .root() + } +} diff --git a/crates/scroll/state-commitment/src/test.rs b/crates/scroll/state-commitment/src/test.rs new file mode 100644 index 000000000000..0423d6ed3975 --- /dev/null +++ b/crates/scroll/state-commitment/src/test.rs @@ -0,0 +1,255 @@ +#![allow(missing_docs)] + +use alloy_primitives::{Address, Uint, B256, U256}; +use proptest::{prelude::ProptestConfig, proptest}; +use proptest_arbitrary_interop::arb; +use reth_db::{ + cursor::{DbCursorRO, DbCursorRW, DbDupCursorRW}, + tables, + transaction::DbTxMut, +}; +use reth_primitives::{Account, StorageEntry}; +use reth_provider::test_utils::create_test_provider_factory; +use reth_scroll_state_commitment::{ + test_utils::{b256_clear_last_byte, b256_reverse_bits, u256_clear_msb}, + PoseidonKeyHasher, StateRoot, StorageRoot, +}; + +use reth_scroll_state_commitment::test_utils::b256_clear_first_byte; +use reth_trie::{ + trie_cursor::InMemoryTrieCursorFactory, updates::TrieUpdates, HashedPostState, HashedStorage, + KeyHasher, +}; +use reth_trie_db::{DatabaseStateRoot, DatabaseStorageRoot, DatabaseTrieCursorFactory}; +use std::collections::BTreeMap; + +proptest! { + #![proptest_config(ProptestConfig { + cases: 6, ..ProptestConfig::default() + })] + + #[test] + fn fuzz_in_memory_account_nodes(mut init_state: BTreeMap)>, state_updates: [BTreeMap>; 10]) { + let init_state: BTreeMap = init_state.into_iter().map(|(hashed_address, (nonce, balance, code))| { + let hashed_address = b256_clear_last_byte(hashed_address); + let balance = u256_clear_msb(balance); + #[cfg(feature = "scroll")] + let account_extension = code.map( |(_, code_hash, code_size)| (code_size, b256_clear_first_byte(code_hash)).into()).or_else(|| Some(Default::default())); + let account = Account { balance, nonce: nonce.into(), bytecode_hash: code.as_ref().map(|(code_hash, _, _)| *code_hash), + #[cfg(feature = "scroll")] + account_extension + }; + (hashed_address, account) + }).collect(); + let state_updates: Vec> = state_updates.into_iter().map(|update| { + update.into_iter().map(|(hashed_address, update)| { + let hashed_address = b256_clear_last_byte(hashed_address); + let account = update.map(|balance| Account { + balance: u256_clear_msb(balance), + #[cfg(feature = "scroll")] + account_extension: Some(Default::default()), + ..Default::default() }); + (hashed_address, account) + }).collect::>() + }).collect(); + + + let factory = create_test_provider_factory(); + let provider = factory.provider_rw().unwrap(); + let mut hashed_account_cursor = provider.tx_ref().cursor_write::().unwrap(); + + // Insert init state into database + for (hashed_address, account) in init_state.clone() { + hashed_account_cursor.upsert(b256_reverse_bits(hashed_address), account).unwrap(); + } + + // Compute initial root and updates + let (_, mut trie_nodes) = StateRoot::from_tx(provider.tx_ref()) + .root_with_updates() + .unwrap(); + + let mut state = init_state; + for state_update in state_updates { + // Insert state updates into database + let mut hashed_state = HashedPostState::default(); + for (hashed_address, account) in state_update { + if let Some(account) = account { + hashed_account_cursor.upsert(b256_reverse_bits(hashed_address), account).unwrap(); + hashed_state.accounts.insert(b256_reverse_bits(hashed_address), Some(account)); + state.insert(hashed_address, account); + } else { + hashed_state.accounts.insert(b256_reverse_bits(hashed_address), None); + state.remove(&hashed_address); + } + } + + // Compute root with in-memory trie nodes overlay + let (state_root, trie_updates) = StateRoot::from_tx(provider.tx_ref()) + .with_prefix_sets(hashed_state.construct_prefix_sets().freeze()) + .with_trie_cursor_factory(InMemoryTrieCursorFactory::new( + DatabaseTrieCursorFactory::new(provider.tx_ref()), &trie_nodes.clone().into_sorted()) + ) + .root_with_updates() + .unwrap(); + + trie_nodes.extend(trie_updates); + + // Verify the result + let expected_root = reth_scroll_state_commitment::test_utils::state_root( + state.iter().map(|(key, account)| (*key, (*account, std::iter::empty()))) + ); + assert_eq!(expected_root.0, state_root.0); + + } + } + + #[test] + fn fuzz_in_memory_storage_nodes(mut init_storage: BTreeMap, storage_updates: [(bool, BTreeMap); 10]) { + let hashed_address = B256::random(); + let factory = create_test_provider_factory(); + let provider = factory.provider_rw().unwrap(); + let mut hashed_storage_cursor = + provider.tx_ref().cursor_write::().unwrap(); + + // Insert init state into database + let init_storage: BTreeMap = init_storage.into_iter().map(|(slot, value)| { + let hashed_slot = b256_clear_last_byte(slot); + hashed_storage_cursor + .upsert(hashed_address, StorageEntry { key: b256_reverse_bits(hashed_slot), value }) + .unwrap(); + (hashed_slot, value) + }).collect(); + let storage_updates: Vec<(bool, BTreeMap)> = storage_updates.into_iter().map(|(is_deleted, updates)| { + let updates = updates.into_iter().map(|(slot, value)| { + let slot = b256_clear_last_byte(slot); + (slot, value) + }).collect(); + (is_deleted, updates) + }).collect(); + + // Compute initial storage root and updates + let (_, _, mut storage_trie_nodes) = + StorageRoot::from_tx_hashed(provider.tx_ref(), hashed_address).root_with_updates().unwrap(); + + let mut storage = init_storage; + for (is_deleted, mut storage_update) in storage_updates { + // Insert state updates into database + if is_deleted && hashed_storage_cursor.seek_exact(hashed_address).unwrap().is_some() { + hashed_storage_cursor.delete_current_duplicates().unwrap(); + } + let mut hashed_storage = HashedStorage::new(is_deleted); + for (hashed_slot, value) in storage_update.clone() { + hashed_storage_cursor + .upsert(hashed_address, StorageEntry { key: b256_reverse_bits(hashed_slot), value }) + .unwrap(); + hashed_storage.storage.insert(b256_reverse_bits(hashed_slot), value); + } + + // Compute root with in-memory trie nodes overlay + let mut trie_nodes = TrieUpdates::default(); + trie_nodes.insert_storage_updates(hashed_address, storage_trie_nodes.clone()); + let (storage_root, _, trie_updates) = + StorageRoot::from_tx_hashed(provider.tx_ref(), hashed_address) + .with_prefix_set(hashed_storage.construct_prefix_set().freeze()) + .with_trie_cursor_factory(InMemoryTrieCursorFactory::new( + DatabaseTrieCursorFactory::new(provider.tx_ref()), + &trie_nodes.into_sorted(), + )) + .root_with_updates() + .unwrap(); + + storage_trie_nodes.extend(trie_updates); + + // Verify the result + if is_deleted { + storage.clear(); + } + storage.append(&mut storage_update); + let expected_root = reth_scroll_state_commitment::test_utils::storage_root(storage.clone()); + assert_eq!(expected_root, storage_root); + } + } +} + +#[test] +fn test_basic_state_root_with_updates_succeeds() { + let address_1 = Address::with_last_byte(0); + let address_2 = Address::with_last_byte(3); + let address_3 = Address::with_last_byte(7); + let account_1 = Account { + balance: Uint::from(1), + #[cfg(feature = "scroll")] + account_extension: Some(Default::default()), + ..Default::default() + }; + let account_2 = Account { + balance: Uint::from(2), + #[cfg(feature = "scroll")] + account_extension: Some(Default::default()), + ..Default::default() + }; + let account_3 = Account { + balance: Uint::from(3), + #[cfg(feature = "scroll")] + account_extension: Some(Default::default()), + ..Default::default() + }; + + let factory = create_test_provider_factory(); + let tx = factory.provider_rw().unwrap(); + + insert_account(tx.tx_ref(), address_1, account_1, &Default::default()); + insert_account(tx.tx_ref(), address_2, account_2, &Default::default()); + insert_account(tx.tx_ref(), address_3, account_3, &Default::default()); + + tx.commit().unwrap(); + + let tx = factory.provider_rw().unwrap(); + let (_root, _updates) = StateRoot::from_tx(tx.tx_ref()).root_with_updates().unwrap(); +} + +fn insert_account( + tx: &impl DbTxMut, + address: Address, + account: Account, + storage: &BTreeMap, +) { + let hashed_address = PoseidonKeyHasher::hash_key(address); + tx.put::(hashed_address, account).unwrap(); + insert_storage(tx, hashed_address, storage); +} + +fn insert_storage(tx: &impl DbTxMut, hashed_address: B256, storage: &BTreeMap) { + for (k, v) in storage { + tx.put::( + hashed_address, + StorageEntry { key: PoseidonKeyHasher::hash_key(k), value: *v }, + ) + .unwrap(); + } +} +#[test] +fn arbitrary_storage_root() { + proptest!(ProptestConfig::with_cases(10), |(item in arb::<(Address, std::collections::BTreeMap)>())| { + let (address, storage) = item; + + let hashed_address = PoseidonKeyHasher::hash_key(address); + let factory = create_test_provider_factory(); + let tx = factory.provider_rw().unwrap(); + let storage: BTreeMap = storage.into_iter().map(|(key, value)| { + let key = b256_clear_last_byte(key); + tx.tx_ref().put::( + hashed_address, + StorageEntry { key, value }, + ) + .unwrap(); + (b256_reverse_bits(key), value) + }).collect(); + tx.commit().unwrap(); + + let tx = factory.provider_rw().unwrap(); + let got = StorageRoot::from_tx(tx.tx_ref(), address).root().unwrap(); + let expected = reth_scroll_state_commitment::test_utils::storage_root(storage.into_iter()); + assert_eq!(expected, got); + }); +} diff --git a/crates/scroll/state-commitment/src/test_utils.rs b/crates/scroll/state-commitment/src/test_utils.rs new file mode 100644 index 000000000000..8791c6eeb36a --- /dev/null +++ b/crates/scroll/state-commitment/src/test_utils.rs @@ -0,0 +1,112 @@ +use alloy_consensus::constants::KECCAK_EMPTY; +use alloy_primitives::{B256, U256}; +use poseidon_bn254::{hash_with_domain, Fr, PrimeField}; +use reth_primitives::Account; +use zktrie::HashField; +use zktrie_rust::{db::SimpleDb, hash::AsHash, types::Hashable}; + +const ACCOUNT_COMPRESSION_FLAG: u32 = 8; +const STORAGE_COMPRESSION_FLAG: u32 = 1; + +/// Reverses the ordering of bits in a [`B256`] type. +pub fn b256_reverse_bits(b256: B256) -> B256 { + let mut b256 = b256.0; + for byte in &mut b256 { + *byte = byte.reverse_bits(); + } + B256::from(b256) +} + +/// Clear the last byte of a [`B256`] type. +pub fn b256_clear_last_byte(mut b256: B256) -> B256 { + // set the largest byte to 0 + >::as_mut(&mut b256)[31] = 0; + b256 +} + +/// Clear the first byte of a [`B256`] type. +pub fn b256_clear_first_byte(mut b256: B256) -> B256 { + // set the smallest byte to 0 + >::as_mut(&mut b256)[0] = 0; + b256 +} + +/// Clear the most significant byte of a [`U256`] type. +pub fn u256_clear_msb(mut balance: U256) -> U256 { + // set the most significant 8 bits to 0 + unsafe { + balance.as_limbs_mut()[3] &= 0x00FFFFFFFFFFFFFF; + } + balance +} + +/// Calculates the state root of a set of accounts and their storage entries using the zktrie +/// implementation. +pub fn state_root(accounts: I) -> B256 +where + I: IntoIterator, + S: IntoIterator, +{ + let mut trie = zktrie(); + for (address, (account, storage)) in accounts { + let key = parse_key_as_hash(address); + let mut account_bytes = Vec::with_capacity(5); + + #[cfg(feature = "scroll")] + let code_size = account.get_code_size(); + #[cfg(not(feature = "scroll"))] + let code_size = 0; + + #[cfg(feature = "scroll")] + let poseidon_code_hash = account.get_poseidon_code_hash(); + #[cfg(not(feature = "scroll"))] + let poseidon_code_hash = B256::default(); + + account_bytes.push(U256::from_limbs([account.nonce, code_size, 0, 0]).to_be_bytes()); + account_bytes.push(account.balance.to_be_bytes()); + account_bytes.push(storage_root(storage).0); + account_bytes.push(account.bytecode_hash.unwrap_or(KECCAK_EMPTY).0); + account_bytes.push(poseidon_code_hash.0); + + trie.try_update(&key, ACCOUNT_COMPRESSION_FLAG, account_bytes).unwrap(); + } + trie.prepare_root().unwrap(); + let root = trie.root().to_bytes(); + B256::from_slice(&root) +} + +/// Calculates the storage root of a set of storage entries using the zktrie implementation. +pub fn storage_root(storage: S) -> B256 +where + S: IntoIterator, +{ + let mut storage_trie = zktrie(); + for (key, value) in storage { + let key = parse_key_as_hash(key); + storage_trie.try_update(&key, STORAGE_COMPRESSION_FLAG, vec![value.to_be_bytes()]).unwrap(); + } + storage_trie.prepare_root().unwrap(); + let root = storage_trie.root().to_bytes(); + B256::from_slice(&root) +} + +fn parse_key_as_hash(key: B256) -> AsHash { + let mut key = key.0; + key.reverse(); + AsHash::from_bytes(&key).unwrap() +} + +fn poseidon_hash_scheme(a: &[u8; 32], b: &[u8; 32], domain: &[u8; 32]) -> Option<[u8; 32]> { + let a = Fr::from_repr_vartime(*a)?; + let b = Fr::from_repr_vartime(*b)?; + let domain = Fr::from_repr_vartime(*domain)?; + Some(hash_with_domain(&[a, b], domain).to_repr()) +} + +fn zktrie() -> zktrie_rust::raw::ZkTrieImpl, SimpleDb, 248> { + zktrie::init_hash_scheme_simple(poseidon_hash_scheme); + zktrie_rust::raw::ZkTrieImpl::, SimpleDb, 248>::new_zktrie_impl( + SimpleDb::new(), + ) + .unwrap() +} diff --git a/crates/scroll/state-commitment/src/value.rs b/crates/scroll/state-commitment/src/value.rs new file mode 100644 index 000000000000..387d7fd96408 --- /dev/null +++ b/crates/scroll/state-commitment/src/value.rs @@ -0,0 +1,55 @@ +use crate::ScrollTrieAccount; +use alloy_primitives::{B256, U256}; +use reth_scroll_primitives::poseidon::{ + field_element_from_be_bytes, hash_with_domain, split_and_hash_be_bytes, FieldElementBytes, Fr, + PrimeField, DOMAIN_MULTIPLIER_PER_FIELD_ELEMENT, +}; + +/// An implementation of a value hasher that uses Poseidon. +/// +/// This hash provides hashing of a [`ScrollTrieAccount`] and a storage entry ([`U256`]). +#[derive(Debug)] +pub struct PoseidonValueHasher; + +impl PoseidonValueHasher { + /// The number of field elements in the account hashing. + const ACCOUNT_HASHING_FIELD_ELEMENTS: u64 = 5; + + /// The domain for hashing the account. + const ACCOUNT_HASHING_DOMAIN: Fr = Fr::from_raw([ + Self::ACCOUNT_HASHING_FIELD_ELEMENTS * DOMAIN_MULTIPLIER_PER_FIELD_ELEMENT, + 0, + 0, + 0, + ]); + + /// Hashes the account using Poseidon hash function. + pub(crate) fn hash_account(account: ScrollTrieAccount) -> B256 { + // combine nonce and code size and parse into field element + let nonce_code_size_bytes = field_element_from_be_bytes( + // TODO(scroll): Replace with native handling of bytes instead of using U256. + U256::from_limbs([account.nonce, account.code_size, 0, 0]).to_be_bytes(), + ); + + // parse remaining field elements + let balance = field_element_from_be_bytes(account.balance.to_be_bytes()); + let keccak_code_hash = split_and_hash_be_bytes(account.code_hash); + let storage_root = field_element_from_be_bytes(account.storage_root.0); + let poseidon_code_hash = field_element_from_be_bytes(account.poseidon_code_hash.0); + + // hash field elements + let digest_1 = + hash_with_domain(&[nonce_code_size_bytes, balance], Self::ACCOUNT_HASHING_DOMAIN); + let digest_2 = + hash_with_domain(&[storage_root, keccak_code_hash], Self::ACCOUNT_HASHING_DOMAIN); + let digest = hash_with_domain(&[digest_1, digest_2], Self::ACCOUNT_HASHING_DOMAIN); + let digest = hash_with_domain(&[digest, poseidon_code_hash], Self::ACCOUNT_HASHING_DOMAIN); + + digest.to_repr().into() + } + + /// Hashes the storage entry using Poseidon hash function. + pub(crate) fn hash_storage(entry: U256) -> B256 { + split_and_hash_be_bytes::(entry.to_be_bytes()).to_repr().into() + } +} diff --git a/crates/scroll/storage/src/lib.rs b/crates/scroll/storage/src/lib.rs index 1810369a8096..5e333750e0b2 100644 --- a/crates/scroll/storage/src/lib.rs +++ b/crates/scroll/storage/src/lib.rs @@ -105,7 +105,7 @@ mod tests { use reth_codecs::{test_utils::UnusedBits, validate_bitflag_backwards_compat}; use reth_primitives_traits::Account; use reth_revm::{test_utils::StateProviderTest, Database}; - use reth_scroll_primitives::{hash_code, AccountExtension}; + use reth_scroll_primitives::{poseidon::hash_code, AccountExtension}; #[test] fn test_ensure_account_backwards_compatibility() { diff --git a/crates/scroll/trie/Cargo.toml b/crates/scroll/trie/Cargo.toml new file mode 100644 index 000000000000..c9886b436781 --- /dev/null +++ b/crates/scroll/trie/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "reth-scroll-trie" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true +homepage.workspace = true +repository.workspace = true +exclude.workspace = true + +[lints] +workspace = true + +[dependencies] +reth-scroll-primitives.workspace = true +reth-trie.workspace = true +alloy-trie = { workspace = true, features = ["serde"] } +alloy-primitives.workspace = true +tracing.workspace = true + +[dev-dependencies] +hex-literal = "0.4" +proptest-arbitrary-interop.workspace = true + +[features] +scroll = [ + "reth-trie/scroll" +] \ No newline at end of file diff --git a/crates/scroll/trie/README.md b/crates/scroll/trie/README.md new file mode 100644 index 000000000000..8645b5efadd5 --- /dev/null +++ b/crates/scroll/trie/README.md @@ -0,0 +1,5 @@ +# scroll-trie + +Fast binary Merkle-Patricia Trie (zktrie) state root calculator and proof generator for prefix-sorted bits. + +Please see the specification of zktrie [here](assets/zktrie.md). \ No newline at end of file diff --git a/crates/scroll/trie/assets/arch.png b/crates/scroll/trie/assets/arch.png new file mode 100644 index 000000000000..aca3f8d0c5ce Binary files /dev/null and b/crates/scroll/trie/assets/arch.png differ diff --git a/crates/scroll/trie/assets/deletion.png b/crates/scroll/trie/assets/deletion.png new file mode 100644 index 000000000000..6c699226e099 Binary files /dev/null and b/crates/scroll/trie/assets/deletion.png differ diff --git a/crates/scroll/trie/assets/insertion.png b/crates/scroll/trie/assets/insertion.png new file mode 100644 index 000000000000..942338a07f2e Binary files /dev/null and b/crates/scroll/trie/assets/insertion.png differ diff --git a/crates/scroll/trie/assets/zktrie.md b/crates/scroll/trie/assets/zktrie.md new file mode 100644 index 000000000000..73883827f3dc --- /dev/null +++ b/crates/scroll/trie/assets/zktrie.md @@ -0,0 +1,186 @@ +# zkTrie Spec + +## 1. Tree Structure + +
+zkTrie Structure +
Figure 1. zkTrie Structure
+
+ +In essence, zkTrie is a sparse binary Merkle Patricia Trie, depicted in the above figure. +Before diving into the Sparse Binary Merkle Patricia Trie, let's briefly touch on Merkle Trees and Patricia Tries. +* **Merkle Tree**: A Merkle Tree is a tree where each leaf node represents a hash of a data block, and each non-leaf node represents the hash of its child nodes. +* **Patricia Trie**: A Patricia Trie is a type of radix tree or compressed trie used to store key-value pairs efficiently. It encodes the nodes with same prefix of the key to share the common path, where the path is determined by the value of the node key. + +As illustrated in the Figure 1, there are three types of nodes in the zkTrie. +- Parent Node (type: 0): Given the zkTrie is a binary tree, a parent node has two children. +- Leaf Node (type: 1): A leaf node holds the data of a key-value pair. +- Empty Node (type: 2): An empty node is a special type of node, indicating the sub-trie that shares the same prefix is empty. + +In zkTrie, we use Poseidon hash to compute the node hash because it's more friendly and efficient to prove it in the zk circuit. + +## 2. Tree Construction + +Given a key-value pair, we first compute a *secure key* for the corresponding leaf node by hashing the original key (i.e., account address and storage key) using the Poseidon hash function. This can make the key uniformly distributed over the key space. The node key hashing method is described in the [Node Hashing](#3-node-hashing) section below. + +We then encode the path of a new leaf node by traversing the secure key from Least Significant Bit (LSB) to the Most Significant Bit (MSB). At each step, if the bit is 0, we will traverse to the left child; otherwise, traverse to the right child. + +We limit the maximum depth of zkTrie to 248, meaning that the tree will only traverse the lower 248 bits of the key. This is because the secure key space is a finite field used by Poseidon hash that doesn't occupy the full range of power of 2. This leads to an ambiguous bit representation of the key in a finite field and thus causes a soundness issue in the zk circuit. But if we truncate the key to lower 248 bits, the key space can fully occupy the range of $2^{248}$ and won't have the ambiguity in the bit representation. + +We also apply an optimization to reduce the tree depth by contracting a subtree that has only one leaf node to a single leaf node. For example, in the Figure 1, the tree has three nodes in total, with keys `0100`, `0010`, and `1010`. Because there is only one node that has key with suffix `00`, the leaf node for key `0100` only traverses the suffix `00` and doesn't fully expand its key which would have resulted in depth of 4. + +## 3. Node Hashing + +In this section, we will describe how leaf secure key and node merkle hash are computed. We use Poseidon hash in both hashing computation, denoted as `h` in the doc below. + + + +### 3.1 Empty Node + +The node hash of an empty node is 0. + +### 3.2 Parent Node + +The parent node hash is computed as follows + +```go +parentNodeHash = h(leftChildHash, rightChildHash) +``` + +### 3.3 Leaf Node + +The node hash of a leaf node is computed as follows + +```go +leafNodeHash = h(h(1, nodeKey), valueHash) +``` + +The leaf node can hold two types of values: Ethereum accounts and storage key-value pairs. Next, we will describe how the node key and value hash are computed for each leaf node type. + +#### Ethereum Account Leaf Node +For an Ethereum Account Leaf Node, it consists of an Ethereum address and a state account struct. The secure key is derived from the Ethereum address. +``` +address[0:20] (20 bytes in big-endian) +valHi = address[0:16] +valLo = address[16:20] * 2^96 (padding 12 bytes of 0 at the end) +nodeKey = h(valHi, valLo) +``` + +A state account struct in the Scroll consists of the following fields (`Fr` indicates the finite field used in Poseidon hash and is a 254-bit value) + +- `Nonce`: u64 +- `Balance`: u256, but treated as Fr +- `StorageRoot`: Fr +- `KeccakCodeHash`: u256 +- `PoseidonCodeHash`: Fr +- `CodeSize`: u64 + +Before computing the value hash, the state account is first marshaled into a list of `u256` values. The marshaling scheme is + +``` +(The following scheme assumes the big-endian encoding) +[0:32] (bytes in big-endian) + [0:16] Reserved with all 0 + [16:24] CodeSize, uint64 in big-endian + [24:32] Nonce, uint64 in big-endian +[32:64] Balance +[64:96] StorageRoot +[96:128] KeccakCodeHash +[128:160] PoseidonCodehash +(total 160 bytes) +``` + +The marshal function also returns a `flag` value along with a vector of `u256` values. The `flag` is a bitmap that indicates whether a `u256` value CANNOT be treated as a field element (Fr). The `flag` value for state account is 8, shown below. + +``` ++--------------------+---------+------+----------+----------+ +| 0 | 1 | 2 | 3 | 4 | (index) ++--------------------+---------+------+----------+----------+ +| nonce||codesize||0 | balance | root | keccak | poseidon | (u256) ++--------------------+---------+------+----------+----------+ +| 0 | 0 | 0 | 1 | 0 | (flag bits) ++--------------------+---------+------+----------+----------+ +(LSB) (MSB) +``` + +The value hash is computed in two steps: +1. Convert the value that cannot be represented as a field element of the Poseidon hash to the field element. +2. Combine field elements in a binary tree structure till the tree root is treated as the value hash. + +In the first step, when the bit in the `flag` is 1 indicating the `u256` value that cannot be treated as a field element, we split the value into a high-128bit value and a low-128bit value, and then pass them to a Poseidon hash to derive a field element value, `h(valueHi, valueLo)`. + +Based on the definition, the value hash of the state account is computed as follows. + +``` +valueHash = +h( + h( + h(nonce||codesize||0, balance), + h( + storageRoot, + h(keccakCodeHash[0:16], keccakCodeHash[16:32]), // convert Keccak codehash to a field element + ), + ), + poseidonCodeHash, +) +``` + +#### Storage Leaf Node + +For a Storage Leaf Node, it is a key-value pair, which both are a `u256` value. The secure key of this leaf node is derived from the storage key. + +``` +storageKey[0:32] (32 bytes in big-endian) +valHi = storageKey[0:16] +valLo = storageKey[16:32] +nodeKey = h(valHi, valLo) +``` + +The storage value is a `u256` value. The `flag` for the storage value is 1, showed below. + +``` ++--------------+ +| 0 | (index) ++--------------+ +| storageValue | (u256) ++--------------+ +| 1 | (flag bits) ++--------------+ +``` + +The value hash is computed as follows + +```go +valueHash = h(storageValue[0:16], storageValue[16:32]) +``` + +## 4. Tree Operations + +### 4.1 Insertion + +
+zkTrie Structure +
Figure 2. Insert a new leaf node to zkTrie
+
+ +When we insert a new leaf node to the existing zkTrie, there could be two cases illustrated in the Figure 2. + +1. When traversing the path of the node key, it reaches an empty node (Figure 2(b)). In this case, we just need to replace this empty node by this leaf node and backtrace the path to update the merkle hash of parent nodes till the root. +2. When traversing the path of the node key, it reaches another leaf node `b` (Figure 2(c)). In this case, we need to push down the existing leaf node `b` until the next bit in the node keys of two leaf nodes differs. At each push-down step, we need to insert an empty sibling node when necessary. When we reach the level where the bits differ, we then place two leaf nodes `b` and `c` as the left child and the right child depending on their bits. At last, we backtrace the path and update the merkle hash of all parent nodes. + +### 4.2 Deletion + +
+zkTrie Structure +
Figure 3. Delete a leaf node from the zkTrie
+
+ + +The deletion of a leaf node is similar to the insertion. There are two cases illustrated in the Figure 3. + +1. The sibling node of to-be-deleted leaf node is a parent node (Figure 3(b)). In this case, we can just replace the node `a` by an empty node and update the node hash of its ancestors till the root node. +2. The node of to-be-deleted leaf node is a leaf node (Figure 3(c)). Similarly, we first replace the leaf node by an empty node and start to contract its sibling node upwards until its sibling node is not an empty node. For example, in Figure 3(c), we first replace the leaf node `b` by an empty node. During the contraction, since the sibling of node `c` now becomes an empty node, we move node `c` one level upward to replace its parent node. The new sibling of node `c`, node `e`, is still an empty node. So again we move node `c` upward. Now that the sibling of node `c` is node `a`, the deletion process is finished. + +Note that the sibling of a leaf node in a valid zkTrie cannot be an empty node. Otherwise, we should always prune the subtree and move the leaf node upwards. diff --git a/crates/scroll/trie/src/branch.rs b/crates/scroll/trie/src/branch.rs new file mode 100644 index 000000000000..4599749c1ef1 --- /dev/null +++ b/crates/scroll/trie/src/branch.rs @@ -0,0 +1,155 @@ +use super::{ + BRANCH_NODE_LBRB_DOMAIN, BRANCH_NODE_LBRT_DOMAIN, BRANCH_NODE_LTRB_DOMAIN, + BRANCH_NODE_LTRT_DOMAIN, +}; +use alloy_primitives::{hex, B256}; +use alloy_trie::TrieMask; +use core::{fmt, ops::Range, slice::Iter}; +use reth_scroll_primitives::poseidon::{hash_with_domain, Fr, PrimeField}; + +#[allow(unused_imports)] +use alloc::vec::Vec; + +/// The range of valid child indexes. +pub(crate) const CHILD_INDEX_RANGE: Range = 0..2; + +/// A trie mask to extract the two child indexes from a branch node. +pub(crate) const CHILD_INDEX_MASK: TrieMask = TrieMask::new(0b11); + +/// A reference to branch node and its state mask. +/// NOTE: The stack may contain more items that specified in the state mask. +#[derive(Clone)] +pub(crate) struct BranchNodeRef<'a> { + /// Reference to the collection of hash nodes. + /// NOTE: The referenced stack might have more items than the number of children + /// for this node. We should only ever access items starting from + /// [`BranchNodeRef::first_child_index`]. + pub stack: &'a [B256], + /// Reference to bitmask indicating the presence of children at + /// the respective nibble positions. + pub state_mask: TrieMask, +} + +impl fmt::Debug for BranchNodeRef<'_> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("BranchNodeRef") + .field("stack", &self.stack.iter().map(hex::encode).collect::>()) + .field("state_mask", &self.state_mask) + .field("first_child_index", &self.first_child_index()) + .finish() + } +} + +impl<'a> BranchNodeRef<'a> { + /// Create a new branch node from the stack of nodes. + #[inline] + pub(crate) const fn new(stack: &'a [B256], state_mask: TrieMask) -> Self { + Self { stack, state_mask } + } + + /// Returns the stack index of the first child for this node. + /// + /// # Panics + /// + /// If the stack length is less than number of children specified in state mask. + /// Means that the node is in inconsistent state. + #[inline] + pub(crate) fn first_child_index(&self) -> usize { + self.stack + .len() + .checked_sub((self.state_mask & CHILD_INDEX_MASK).count_ones() as usize) + .expect("branch node stack is in inconsistent state") + } + + #[inline] + fn children(&self) -> impl Iterator)> + '_ { + BranchChildrenIter::new(self) + } + + /// Given the hash mask of children, return an iterator over stack items + /// that match the mask. + #[inline] + pub(crate) fn child_hashes(&self, hash_mask: TrieMask) -> impl Iterator + '_ { + self.children() + .filter_map(|(i, c)| c.map(|c| (i, c))) + .filter(move |(index, _)| hash_mask.is_bit_set(*index)) + .map(|(_, child)| B256::from_slice(&child[..])) + } + + pub(crate) fn hash(&self) -> B256 { + let mut children_iter = self.children(); + + let left_child = children_iter + .next() + .map(|(_, c)| *c.unwrap_or_default()) + .expect("branch node has two children"); + let left_child = + Fr::from_repr_vartime(left_child.0).expect("left child is a valid field element"); + let right_child = children_iter + .next() + .map(|(_, c)| *c.unwrap_or_default()) + .expect("branch node has two children"); + let right_child = + Fr::from_repr_vartime(right_child.0).expect("right child is a valid field element"); + + hash_with_domain(&[left_child, right_child], self.hashing_domain()).to_repr().into() + } + + fn hashing_domain(&self) -> Fr { + match *self.state_mask { + 0b1011 => BRANCH_NODE_LBRT_DOMAIN, + 0b1111 => BRANCH_NODE_LTRT_DOMAIN, + 0b0111 => BRANCH_NODE_LTRB_DOMAIN, + 0b0011 => BRANCH_NODE_LBRB_DOMAIN, + _ => unreachable!("invalid branch node state mask"), + } + } +} + +/// Iterator over branch node children. +#[derive(Debug)] +struct BranchChildrenIter<'a> { + range: Range, + state_mask: TrieMask, + stack_iter: Iter<'a, B256>, +} + +impl<'a> BranchChildrenIter<'a> { + /// Create new iterator over branch node children. + fn new(node: &BranchNodeRef<'a>) -> Self { + Self { + range: CHILD_INDEX_RANGE, + state_mask: node.state_mask, + stack_iter: node.stack[node.first_child_index()..].iter(), + } + } +} + +impl<'a> Iterator for BranchChildrenIter<'a> { + type Item = (u8, Option<&'a B256>); + + #[inline] + fn next(&mut self) -> Option { + let i = self.range.next()?; + let value = self + .state_mask + .is_bit_set(i) + .then(|| unsafe { self.stack_iter.next().unwrap_unchecked() }); + Some((i, value)) + } + + #[inline] + fn size_hint(&self) -> (usize, Option) { + let len = self.len(); + (len, Some(len)) + } +} + +impl core::iter::FusedIterator for BranchChildrenIter<'_> {} + +impl ExactSizeIterator for BranchChildrenIter<'_> { + #[inline] + fn len(&self) -> usize { + self.range.len() + } +} diff --git a/crates/scroll/trie/src/hash_builder.rs b/crates/scroll/trie/src/hash_builder.rs new file mode 100644 index 000000000000..39d2bed347fd --- /dev/null +++ b/crates/scroll/trie/src/hash_builder.rs @@ -0,0 +1,585 @@ +use crate::{ + branch::{BranchNodeRef, CHILD_INDEX_MASK}, + leaf::HashLeaf, + sub_tree::SubTreeRef, +}; +use alloy_primitives::{map::HashMap, B256}; +use alloy_trie::{ + hash_builder::{HashBuilderValue, HashBuilderValueRef}, + nodes::LeafNodeRef, + proof::{ProofNodes, ProofRetainer}, + BranchNodeCompact, Nibbles, TrieMask, +}; +use core::cmp; +use reth_scroll_primitives::poseidon::EMPTY_ROOT_HASH; +use tracing::trace; + +#[derive(Debug, Default)] +#[allow(missing_docs)] +pub struct HashBuilder { + pub key: Nibbles, + pub value: HashBuilderValue, + pub stack: Vec, + + // TODO(scroll): Introduce terminator / leaf masks + pub state_masks: Vec, + pub tree_masks: Vec, + pub hash_masks: Vec, + + pub stored_in_database: bool, + + pub updated_branch_nodes: Option>, + pub proof_retainer: Option, +} + +impl HashBuilder { + /// Enables the Hash Builder to store updated branch nodes. + /// + /// Call [`HashBuilder::split`] to get the updates to branch nodes. + pub fn with_updates(mut self, retain_updates: bool) -> Self { + self.set_updates(retain_updates); + self + } + + /// Enable specified proof retainer. + pub fn with_proof_retainer(mut self, retainer: ProofRetainer) -> Self { + self.proof_retainer = Some(retainer); + self + } + + /// Enables the Hash Builder to store updated branch nodes. + /// + /// Call [`HashBuilder::split`] to get the updates to branch nodes. + pub fn set_updates(&mut self, retain_updates: bool) { + if retain_updates { + self.updated_branch_nodes = Some(HashMap::default()); + } + } + + /// Splits the [`HashBuilder`] into a [`HashBuilder`] and hash builder updates. + pub fn split(mut self) -> (Self, HashMap) { + let updates = self.updated_branch_nodes.take(); + (self, updates.unwrap_or_default()) + } + + /// Take and return retained proof nodes. + pub fn take_proof_nodes(&mut self) -> ProofNodes { + self.proof_retainer.take().map(ProofRetainer::into_proof_nodes).unwrap_or_default() + } + + /// The number of total updates accrued. + /// Returns `0` if [`Self::with_updates`] was not called. + pub fn updates_len(&self) -> usize { + self.updated_branch_nodes.as_ref().map(|u| u.len()).unwrap_or(0) + } + + /// Print the current stack of the Hash Builder. + pub fn print_stack(&self) { + println!("============ STACK ==============="); + for item in &self.stack { + println!("{}", alloy_primitives::hex::encode(item)); + } + println!("============ END STACK ==============="); + } + + /// Adds a new leaf element and its value to the trie hash builder. + pub fn add_leaf(&mut self, key: Nibbles, value: &[u8]) { + assert!(key > self.key, "add_leaf key {:?} self.key {:?}", key, self.key); + if !self.key.is_empty() { + self.update(&key); + } + self.set_key_value(key, HashBuilderValueRef::Bytes(value)); + } + + /// Adds a new branch element and its hash to the trie hash builder. + pub fn add_branch(&mut self, key: Nibbles, value: B256, stored_in_database: bool) { + assert!( + key > self.key || (self.key.is_empty() && key.is_empty()), + "add_branch key {:?} self.key {:?}", + key, + self.key + ); + if !self.key.is_empty() { + self.update(&key); + } else if key.is_empty() { + self.stack.push(value); + } + self.set_key_value(key, HashBuilderValueRef::Hash(&value)); + self.stored_in_database = stored_in_database; + } + + /// Returns the current root hash of the trie builder. + pub fn root(&mut self) -> B256 { + // Clears the internal state + if !self.key.is_empty() { + self.update(&Nibbles::default()); + self.key.clear(); + self.value.clear(); + } + let root = self.current_root(); + if root == EMPTY_ROOT_HASH { + if let Some(proof_retainer) = self.proof_retainer.as_mut() { + proof_retainer.retain(&Nibbles::default(), &[]) + } + } + root + } + + #[inline] + fn set_key_value(&mut self, key: Nibbles, value: HashBuilderValueRef<'_>) { + self.log_key_value("old value"); + self.key = key; + self.value.set_from_ref(value); + self.log_key_value("new value"); + } + + fn log_key_value(&self, msg: &str) { + trace!(target: "trie::hash_builder", + key = ?self.key, + value = ?self.value, + "{msg}", + ); + } + + fn current_root(&self) -> B256 { + if let Some(node_ref) = self.stack.last() { + let mut root = *node_ref; + root.reverse(); + root + } else { + EMPTY_ROOT_HASH + } + } + + /// Given a new element, it appends it to the stack and proceeds to loop through the stack state + /// and convert the nodes it can into branch / extension nodes and hash them. This ensures + /// that the top of the stack always contains the merkle root corresponding to the trie + /// built so far. + fn update(&mut self, succeeding: &Nibbles) { + let mut build_extensions = false; + // current / self.key is always the latest added element in the trie + let mut current = self.key.clone(); + debug_assert!(!current.is_empty()); + + trace!(target: "trie::hash_builder", ?current, ?succeeding, "updating merkle tree"); + + let mut i = 0usize; + loop { + let _span = tracing::trace_span!(target: "trie::hash_builder", "loop", i, ?current, build_extensions).entered(); + + let preceding_exists = !self.state_masks.is_empty(); + let preceding_len = self.state_masks.len().saturating_sub(1); + + let common_prefix_len = succeeding.common_prefix_length(current.as_slice()); + let len = cmp::max(preceding_len, common_prefix_len); + assert!(len < current.len(), "len {} current.len {}", len, current.len()); + + trace!( + target: "trie::hash_builder", + ?len, + ?common_prefix_len, + ?preceding_len, + preceding_exists, + "prefix lengths after comparing keys" + ); + + // Adjust the state masks for branch calculation + let extra_digit = current[len]; + if self.state_masks.len() <= len { + let new_len = len + 1; + trace!(target: "trie::hash_builder", new_len, old_len = self.state_masks.len(), "scaling state masks to fit"); + self.state_masks.resize(new_len, TrieMask::default()); + } + self.state_masks[len] |= TrieMask::from_nibble(extra_digit); + trace!( + target: "trie::hash_builder", + ?extra_digit, + groups = ?self.state_masks, + ); + + // Adjust the tree masks for exporting to the DB + if self.tree_masks.len() < current.len() { + self.resize_masks(current.len()); + } + + let mut len_from = len; + if !succeeding.is_empty() || preceding_exists { + len_from += 1; + } + trace!(target: "trie::hash_builder", "skipping {len_from} nibbles"); + + // The key without the common prefix + let short_node_key = current.slice(len_from..); + trace!(target: "trie::hash_builder", ?short_node_key); + + // Concatenate the 2 nodes together + if !build_extensions { + match self.value.as_ref() { + HashBuilderValueRef::Bytes(leaf_value) => { + // TODO(scroll): Replace with terminator masks + // Set the terminator mask for the leaf node + self.state_masks[len] |= TrieMask::new(0b100 << extra_digit); + let leaf_node = LeafNodeRef::new(¤t, leaf_value); + let leaf_hash = leaf_node.hash_leaf(); + trace!( + target: "trie::hash_builder", + ?leaf_node, + ?leaf_hash, + "pushing leaf node", + ); + self.stack.push(leaf_hash); + // self.retain_proof_from_stack(¤t.slice(..len_from)); + } + HashBuilderValueRef::Hash(hash) => { + trace!(target: "trie::hash_builder", ?hash, "pushing branch node hash"); + self.stack.push(*hash); + + if self.stored_in_database { + self.tree_masks[current.len() - 1] |= TrieMask::from_nibble( + current + .last() + .expect("must have at least a single bit in the current key"), + ); + } + self.hash_masks[current.len() - 1] |= TrieMask::from_nibble( + current + .last() + .expect("must have at least a single bit in the current key"), + ); + + build_extensions = true; + } + } + } + + if build_extensions && !short_node_key.is_empty() { + self.update_masks(¤t, len_from); + let stack_last = self.stack.pop().expect("there should be at least one stack item"); + let sub_tree = SubTreeRef::new(&short_node_key, &stack_last); + let sub_tree_root = sub_tree.root(); + + trace!( + target: "trie::hash_builder", + ?short_node_key, + ?sub_tree_root, + "pushing subtree root", + ); + self.stack.push(sub_tree_root); + // self.retain_proof_from_stack(¤t.slice(..len_from)); + self.resize_masks(len_from); + } + + if preceding_len <= common_prefix_len && !succeeding.is_empty() { + trace!(target: "trie::hash_builder", "no common prefix to create branch nodes from, returning"); + return; + } + + // Insert branch nodes in the stack + if !succeeding.is_empty() || preceding_exists { + // Pushes the corresponding branch node to the stack + let children = self.push_branch_node(¤t, len); + // Need to store the branch node in an efficient format outside of the hash builder + self.store_branch_node(¤t, len, children); + } + + self.state_masks.resize(len, TrieMask::default()); + self.resize_masks(len); + + if preceding_len == 0 { + trace!(target: "trie::hash_builder", "0 or 1 state masks means we have no more elements to process"); + return; + } + + current.truncate(preceding_len); + trace!(target: "trie::hash_builder", ?current, "truncated nibbles to {} bytes", preceding_len); + + trace!(target: "trie::hash_builder", groups = ?self.state_masks, "popping empty state masks"); + while self.state_masks.last() == Some(&TrieMask::default()) { + self.state_masks.pop(); + } + + build_extensions = true; + + i += 1; + } + } + + /// Given the size of the longest common prefix, it proceeds to create a branch node + /// from the state mask and existing stack state, and store its RLP to the top of the stack, + /// after popping all the relevant elements from the stack. + /// + /// Returns the hashes of the children of the branch node, only if `updated_branch_nodes` is + /// enabled. + fn push_branch_node(&mut self, _current: &Nibbles, len: usize) -> Vec { + let state_mask = self.state_masks[len]; + let hash_mask = self.hash_masks[len]; + let branch_node = BranchNodeRef::new(&self.stack, state_mask); + // Avoid calculating this value if it's not needed. + let children = if self.updated_branch_nodes.is_some() { + branch_node.child_hashes(hash_mask).collect() + } else { + vec![] + }; + + let branch_hash = branch_node.hash(); + + // TODO: enable proof retention + // self.retain_proof_from_stack(¤t.slice(..len)); + + // Clears the stack from the branch node elements + let first_child_idx = branch_node.first_child_index(); + trace!( + target: "trie::hash_builder", + new_len = first_child_idx, + old_len = self.stack.len(), + "resizing stack to prepare branch node" + ); + self.stack.resize_with(first_child_idx, Default::default); + + trace!(target: "trie::hash_builder", ?branch_hash, "pushing branch node with {state_mask:?} mask + from stack"); + + self.stack.push(branch_hash); + children + } + + /// Given the current nibble prefix and the highest common prefix length, proceeds + /// to update the masks for the next level and store the branch node and the + /// masks in the database. We will use that when consuming the intermediate nodes + /// from the database to efficiently build the trie. + fn store_branch_node(&mut self, current: &Nibbles, len: usize, children: Vec) { + trace!(target: "trie::hash_builder", ?current, ?len, ?children, "store branch node"); + if len > 0 { + let parent_index = len - 1; + self.hash_masks[parent_index] |= TrieMask::from_nibble(current[parent_index]); + } + + let store_in_db_trie = !self.tree_masks[len].is_empty() || !self.hash_masks[len].is_empty(); + if store_in_db_trie { + if len > 0 { + let parent_index = len - 1; + self.tree_masks[parent_index] |= TrieMask::from_nibble(current[parent_index]); + } + + if self.updated_branch_nodes.is_some() { + let common_prefix = current.slice(..len); + let node = BranchNodeCompact::new( + self.state_masks[len] & CHILD_INDEX_MASK, + self.tree_masks[len], + self.hash_masks[len], + children, + (len == 0).then(|| self.current_root()), + ); + trace!(target: "trie::hash_builder", ?node, "storing updated intermediate node"); + self.updated_branch_nodes + .as_mut() + .expect("updates_branch_nodes is some") + .insert(common_prefix, node); + } + } + } + + // TODO(scroll): Enable proof retention + // fn retain_proof_from_stack(&mut self, prefix: &Nibbles) { + // if let Some(proof_retainer) = self.proof_retainer.as_mut() { + // proof_retainer.retain( + // prefix, + // self.stack.last().expect("there should be at least one stack item").as_ref(), + // ); + // } + // } + + fn update_masks(&mut self, current: &Nibbles, len_from: usize) { + if len_from > 0 { + let flag = TrieMask::from_nibble(current[len_from - 1]); + + self.hash_masks[len_from - 1] &= !flag; + + if !self.tree_masks[current.len() - 1].is_empty() { + self.tree_masks[len_from - 1] |= flag; + } + } + } + + fn resize_masks(&mut self, new_len: usize) { + trace!( + target: "trie::hash_builder", + new_len, + old_tree_mask_len = self.tree_masks.len(), + old_hash_mask_len = self.hash_masks.len(), + "resizing tree/hash masks" + ); + self.tree_masks.resize(new_len, TrieMask::default()); + self.hash_masks.resize(new_len, TrieMask::default()); + } +} + +// TODO(scroll): Introduce generic for the HashBuilder. +impl From for HashBuilder { + fn from(hash_builder: reth_trie::HashBuilder) -> Self { + Self { + key: hash_builder.key, + value: hash_builder.value, + stack: hash_builder + .stack + .into_iter() + .map(|x| x.as_slice().try_into().expect("RlpNode contains 32 byte hashes")) + .collect(), + state_masks: hash_builder.groups, + tree_masks: hash_builder.tree_masks, + hash_masks: hash_builder.hash_masks, + stored_in_database: hash_builder.stored_in_database, + updated_branch_nodes: hash_builder.updated_branch_nodes, + proof_retainer: hash_builder.proof_retainer, + } + } +} + +impl From for reth_trie::HashBuilder { + fn from(value: HashBuilder) -> Self { + Self { + key: value.key, + value: value.value, + stack: value + .stack + .into_iter() + .map(|x| { + reth_trie::RlpNode::from_raw(&x.0).expect("32 byte hash can be cast to RlpNode") + }) + .collect(), + groups: value.state_masks, + tree_masks: value.tree_masks, + hash_masks: value.hash_masks, + stored_in_database: value.stored_in_database, + updated_branch_nodes: value.updated_branch_nodes, + proof_retainer: value.proof_retainer, + rlp_buf: Default::default(), + } + } +} + +#[cfg(test)] +mod test { + use super::*; + use alloc::collections::BTreeMap; + use hex_literal::hex; + use reth_scroll_primitives::poseidon::{hash_with_domain, Fr, PrimeField}; + use reth_trie::key::BitsCompatibility; + + #[test] + fn test_convert_to_bit_representation() { + let nibbles = Nibbles::unpack_and_truncate_bits(vec![7, 8]); + let expected = [0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0]; + assert_eq!(nibbles.as_slice(), expected); + } + + #[test] + fn test_convert_to_bit_representation_truncation() { + // 64 byte nibble + let hex = hex!("0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f0102030405060708090a0b0c0d0e0f01020304"); + assert_eq!(hex.len(), 64); + let nibbles = Nibbles::unpack_and_truncate_bits(hex); + assert_eq!(nibbles.len(), 248); + } + + #[test] + fn test_basic_trie() { + // Test a basic trie consisting of three key value pairs: + // (0, 0, 0, 0, ... , 0) + // (0, 0, 0, 1, ... , 0) + // (0, 0, 1, 0, ... , 0) + // (1, 1, 1, 0, ... , 0) + // (1, 1, 1, 1, ... , 0) + // The branch associated with key 0xF will be collapsed into a single leaf. + + let leaf_1_key = Nibbles::from_nibbles_unchecked([ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]); + let leaf_2_key = Nibbles::from_nibbles_unchecked([ + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]); + let leaf_3_key = Nibbles::from_nibbles_unchecked([ + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]); + let leaf_4_key = Nibbles::from_nibbles_unchecked([ + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]); + let leaf_5_key = Nibbles::from_nibbles_unchecked([ + 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, + ]); + let leaf_keys = [ + leaf_1_key.clone(), + leaf_2_key.clone(), + leaf_3_key.clone(), + leaf_4_key.clone(), + leaf_5_key.clone(), + ]; + + let leaf_values = leaf_keys + .into_iter() + .enumerate() + .map(|(i, key)| { + let mut leaf_value = [0u8; 32]; + leaf_value[0] = i as u8 + 1; + (key, leaf_value) + }) + .collect::>(); + + let leaf_hashes: BTreeMap<_, _> = leaf_values + .iter() + .map(|(key, value)| { + let key_fr = Fr::from_repr_vartime(key.encode_leaf_key()) + .expect("key is valid field element"); + let value = Fr::from_repr_vartime(*value).expect("value is a valid field element"); + let hash = hash_with_domain(&[key_fr, value], crate::LEAF_NODE_DOMAIN); + (key.clone(), hash) + }) + .collect(); + + let mut hb = HashBuilder::default().with_updates(true); + + for (key, val) in &leaf_values { + hb.add_leaf(key.clone(), val); + } + + let root = hb.root(); + + // node_000 -> hash(leaf_1, leaf_2) LTRT + // node_00 -> hash(node_000, leaf_3) LBRT + // node_0 -> hash(node_00, EMPTY) LBRT + // node_111 -> hash(leaf_4, leaf_5) LTRT + // node_11 -> hash(EMPTY, node_111) LTRB + // node_1 -> hash(EMPTY, node_11) LTRB + // root -> hash(node_0, node_1) LBRB + + let expected: B256 = { + let node_000 = hash_with_domain( + &[*leaf_hashes.get(&leaf_1_key).unwrap(), *leaf_hashes.get(&leaf_2_key).unwrap()], + crate::BRANCH_NODE_LTRT_DOMAIN, + ); + let node_00 = hash_with_domain( + &[node_000, *leaf_hashes.get(&leaf_3_key).unwrap()], + crate::BRANCH_NODE_LBRT_DOMAIN, + ); + let node_0 = hash_with_domain(&[node_00, Fr::zero()], crate::BRANCH_NODE_LBRT_DOMAIN); + let node_111 = hash_with_domain( + &[*leaf_hashes.get(&leaf_4_key).unwrap(), *leaf_hashes.get(&leaf_5_key).unwrap()], + crate::BRANCH_NODE_LTRT_DOMAIN, + ); + let node_11 = hash_with_domain(&[Fr::zero(), node_111], crate::BRANCH_NODE_LTRB_DOMAIN); + let node_1 = hash_with_domain(&[Fr::zero(), node_11], crate::BRANCH_NODE_LTRB_DOMAIN); + + let mut root = + hash_with_domain(&[node_0, node_1], crate::BRANCH_NODE_LBRB_DOMAIN).to_repr(); + root.reverse(); + root.into() + }; + + assert_eq!(expected, root); + } +} diff --git a/crates/scroll/trie/src/leaf.rs b/crates/scroll/trie/src/leaf.rs new file mode 100644 index 000000000000..17be70943834 --- /dev/null +++ b/crates/scroll/trie/src/leaf.rs @@ -0,0 +1,22 @@ +use super::LEAF_NODE_DOMAIN; +use alloy_primitives::B256; +use reth_scroll_primitives::poseidon::{hash_with_domain, Fr, PrimeField}; +use reth_trie::{key::BitsCompatibility, LeafNodeRef}; + +/// A trait used to hash the leaf node. +pub(crate) trait HashLeaf { + /// Hash the leaf node. + fn hash_leaf(&self) -> B256; +} + +impl HashLeaf for LeafNodeRef<'_> { + fn hash_leaf(&self) -> B256 { + let leaf_key = Fr::from_repr_vartime(self.key.encode_leaf_key()) + .expect("leaf key is a valid field element"); + let leaf_value = Fr::from_repr_vartime( + <[u8; 32]>::try_from(self.value).expect("leaf value is 32 bytes"), + ) + .expect("leaf value is a valid field element"); + hash_with_domain(&[leaf_key, leaf_value], LEAF_NODE_DOMAIN).to_repr().into() + } +} diff --git a/crates/scroll/trie/src/lib.rs b/crates/scroll/trie/src/lib.rs new file mode 100644 index 000000000000..52109073d973 --- /dev/null +++ b/crates/scroll/trie/src/lib.rs @@ -0,0 +1,29 @@ +#![doc = include_str!("../README.md")] + +#[macro_use] +#[allow(unused_imports)] +extern crate alloc; + +mod branch; +mod hash_builder; +mod leaf; +mod sub_tree; + +pub use hash_builder::HashBuilder; + +use reth_scroll_primitives::poseidon::Fr; + +/// The hashing domain for leaf nodes. +pub const LEAF_NODE_DOMAIN: Fr = Fr::from_raw([4, 0, 0, 0]); + +/// The hashing domain for a branch node with two terminal children. +pub const BRANCH_NODE_LTRT_DOMAIN: Fr = Fr::from_raw([6, 0, 0, 0]); + +/// The hashing domain for a branch node with a left terminal child and a right branch child. +pub const BRANCH_NODE_LTRB_DOMAIN: Fr = Fr::from_raw([7, 0, 0, 0]); + +/// The hashing domain for a branch node with a left branch child and a right terminal child. +pub const BRANCH_NODE_LBRT_DOMAIN: Fr = Fr::from_raw([8, 0, 0, 0]); + +/// The hashing domain for a branch node with two branch children. +pub const BRANCH_NODE_LBRB_DOMAIN: Fr = Fr::from_raw([9, 0, 0, 0]); diff --git a/crates/scroll/trie/src/sub_tree.rs b/crates/scroll/trie/src/sub_tree.rs new file mode 100644 index 000000000000..eed916b8ae7b --- /dev/null +++ b/crates/scroll/trie/src/sub_tree.rs @@ -0,0 +1,44 @@ +use super::{BRANCH_NODE_LBRT_DOMAIN, BRANCH_NODE_LTRB_DOMAIN}; +use alloy_primitives::{hex, B256}; +use alloy_trie::Nibbles; +use core::fmt; +use reth_scroll_primitives::poseidon::{hash_with_domain, Fr, PrimeField}; + +/// [`SubTreeRef`] is a structure that allows for calculation of the root of a sparse binary Merkle +/// tree consisting of a single leaf node. +pub(crate) struct SubTreeRef<'a> { + /// The key to the child node. + pub key: &'a Nibbles, + /// A pointer to the child node. + pub child: &'a B256, +} + +impl<'a> SubTreeRef<'a> { + /// Creates a new subtree with the given key and a pointer to the child. + #[inline] + pub(crate) const fn new(key: &'a Nibbles, child: &'a B256) -> Self { + Self { key, child } + } + + pub(crate) fn root(&self) -> B256 { + let mut tree_root = + Fr::from_repr_vartime(self.child.0).expect("child is a valid field element"); + for bit in self.key.as_slice().iter().rev() { + tree_root = if *bit == 0 { + hash_with_domain(&[tree_root, Fr::zero()], BRANCH_NODE_LBRT_DOMAIN) + } else { + hash_with_domain(&[Fr::zero(), tree_root], BRANCH_NODE_LTRB_DOMAIN) + }; + } + tree_root.to_repr().into() + } +} + +impl fmt::Debug for SubTreeRef<'_> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("SubTreeRef") + .field("key", &self.key) + .field("node", &hex::encode(self.child)) + .finish() + } +} diff --git a/crates/tracing/Cargo.toml b/crates/tracing/Cargo.toml index 59631365d603..d944b5eeeb61 100644 --- a/crates/tracing/Cargo.toml +++ b/crates/tracing/Cargo.toml @@ -13,7 +13,7 @@ workspace = true [dependencies] tracing.workspace = true -tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt", "json"] } +tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt", "ansi", "json"] } tracing-appender.workspace = true tracing-journald = "0.3" tracing-logfmt = "0.3.3" diff --git a/crates/trie/trie/Cargo.toml b/crates/trie/trie/Cargo.toml index f815076129fe..4306fb2f262b 100644 --- a/crates/trie/trie/Cargo.toml +++ b/crates/trie/trie/Cargo.toml @@ -36,6 +36,9 @@ tracing.workspace = true rayon.workspace = true auto_impl.workspace = true itertools.workspace = true +smallvec = { version = "1.0", default-features = false, features = [ + "const_new", +] } # `metrics` feature reth-metrics = { workspace = true, optional = true } @@ -66,7 +69,8 @@ serde = [ "alloy-trie/serde", "revm/serde", "reth-trie-common/serde", - "reth-primitives-traits/serde" + "reth-primitives-traits/serde", + "smallvec/serde" ] test-utils = [ "triehash", diff --git a/crates/trie/trie/src/key.rs b/crates/trie/trie/src/key.rs new file mode 100644 index 000000000000..f90da1e5ada8 --- /dev/null +++ b/crates/trie/trie/src/key.rs @@ -0,0 +1,89 @@ +use smallvec::SmallVec; + +use crate::Nibbles; + +/// The maximum number of bits a key can contain. +pub const MAX_BITS: usize = 248; + +/// The maximum number of bytes a key can contain. +const MAX_BYTES: usize = 31; + +// TODO(scroll): Refactor this into a trait that is more generic and can be used by any +// implementation that requires converting between nibbles and bits. Better yet we should use a +// trait that allows for defining the key type via a GAT as opposed to using Nibbles. + +/// A trait for converting a `Nibbles` representation to a bit representation. +pub trait BitsCompatibility: Sized { + /// Unpacks the bits from the provided bytes such that there is a byte for each bit in the + /// input. The representation is big-endian with respect to the input. + /// + /// We truncate the Nibbles such that we only have [`MAX_BITS`] (248) bits. + fn unpack_and_truncate_bits>(data: T) -> Self; + + /// Pack the bits into a byte representation. + fn pack_bits(&self) -> SmallVec<[u8; 32]>; + + /// Encodes a leaf key represented as [`Nibbles`] into it's canonical little-endian + /// representation. + fn encode_leaf_key(&self) -> [u8; 32]; + + /// Increment the key to the next key. + fn increment_bit(&self) -> Option; +} + +impl BitsCompatibility for Nibbles { + fn unpack_and_truncate_bits>(data: T) -> Self { + let data = data.as_ref(); + let unpacked_len = core::cmp::min(data.len() * 8, MAX_BITS); + let mut bits = Vec::with_capacity(unpacked_len); + + for byte in data.iter().take(MAX_BYTES) { + for i in (0..8).rev() { + bits.push(byte >> i & 1); + } + } + + Self::from_vec_unchecked(bits) + } + + fn pack_bits(&self) -> SmallVec<[u8; 32]> { + let mut result = SmallVec::with_capacity((self.len() + 7) / 8); + + for bits in self.as_slice().chunks(8) { + let mut byte = 0; + for (bit_index, bit) in bits.iter().enumerate() { + byte |= *bit << (7 - bit_index); + } + result.push(byte); + } + + result + } + + fn encode_leaf_key(&self) -> [u8; 32] { + // This is strange we are now representing the leaf key using big endian?? + let mut result = [0u8; 32]; + for (byte_index, bytes) in self.as_slice().chunks(8).enumerate() { + for (bit_index, byte) in bytes.iter().enumerate() { + result[byte_index] |= byte << bit_index; + } + } + + result + } + + fn increment_bit(&self) -> Option { + let mut incremented = self.clone(); + + for nibble in incremented.as_mut_vec_unchecked().iter_mut().rev() { + if *nibble < 1 { + *nibble += 1; + return Some(incremented); + } + + *nibble = 0; + } + + None + } +} diff --git a/crates/trie/trie/src/lib.rs b/crates/trie/trie/src/lib.rs index 1e7eeb9b52b8..c823ffc77de0 100644 --- a/crates/trie/trie/src/lib.rs +++ b/crates/trie/trie/src/lib.rs @@ -13,6 +13,9 @@ )] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +/// A module for working with trie keys. +pub mod key; + /// The implementation of forward-only in-memory cursor. pub mod forward_cursor; diff --git a/crates/trie/trie/src/node_iter.rs b/crates/trie/trie/src/node_iter.rs index 60219eedd7cb..e39ac9f16769 100644 --- a/crates/trie/trie/src/node_iter.rs +++ b/crates/trie/trie/src/node_iter.rs @@ -2,6 +2,9 @@ use crate::{hashed_cursor::HashedCursor, trie_cursor::TrieCursor, walker::TrieWa use alloy_primitives::B256; use reth_storage_errors::db::DatabaseError; +#[cfg(feature = "scroll")] +use crate::key::BitsCompatibility; + /// Represents a branch node in the trie. #[derive(Debug)] pub struct TrieBranchNode { @@ -106,7 +109,13 @@ where if let Some((hashed_key, value)) = self.current_hashed_entry.take() { // If the walker's key is less than the unpacked hashed key, // reset the checked status and continue - if self.walker.key().is_some_and(|key| key < &Nibbles::unpack(hashed_key)) { + if self.walker.key().is_some_and(|key| { + #[cfg(not(feature = "scroll"))] + let cmp = key < &Nibbles::unpack(hashed_key); + #[cfg(feature = "scroll")] + let cmp = key < &Nibbles::unpack_and_truncate_bits(hashed_key); + cmp + }) { self.current_walker_key_checked = false; continue } diff --git a/crates/trie/trie/src/state.rs b/crates/trie/trie/src/state.rs index bcac327bd42c..d0891e783597 100644 --- a/crates/trie/trie/src/state.rs +++ b/crates/trie/trie/src/state.rs @@ -13,6 +13,9 @@ use reth_trie_common::KeyHasher; use revm::db::{states::CacheAccount, AccountStatus, BundleAccount}; use std::borrow::Cow; +#[cfg(feature = "scroll")] +use crate::key::BitsCompatibility; + /// Representation of in-memory hashed state. #[derive(PartialEq, Eq, Clone, Default, Debug)] pub struct HashedPostState { @@ -118,7 +121,12 @@ impl HashedPostState { let mut account_prefix_set = PrefixSetMut::with_capacity(self.accounts.len()); let mut destroyed_accounts = HashSet::default(); for (hashed_address, account) in &self.accounts { - account_prefix_set.insert(Nibbles::unpack(hashed_address)); + // TODO(scroll): replace with key abstraction + #[cfg(feature = "scroll")] + let nibbles = Nibbles::unpack_and_truncate_bits(hashed_address); + #[cfg(not(feature = "scroll"))] + let nibbles = Nibbles::unpack(hashed_address); + account_prefix_set.insert(nibbles); if account.is_none() { destroyed_accounts.insert(*hashed_address); @@ -129,7 +137,12 @@ impl HashedPostState { let mut storage_prefix_sets = HashMap::with_capacity_and_hasher(self.storages.len(), Default::default()); for (hashed_address, hashed_storage) in &self.storages { - account_prefix_set.insert(Nibbles::unpack(hashed_address)); + // TODO(scroll): replace this with abstraction. + #[cfg(feature = "scroll")] + let nibbles = Nibbles::unpack_and_truncate_bits(hashed_address); + #[cfg(not(feature = "scroll"))] + let nibbles = Nibbles::unpack(hashed_address); + account_prefix_set.insert(nibbles); storage_prefix_sets.insert(*hashed_address, hashed_storage.construct_prefix_set()); } @@ -253,7 +266,12 @@ impl HashedStorage { } else { let mut prefix_set = PrefixSetMut::with_capacity(self.storage.len()); for hashed_slot in self.storage.keys() { - prefix_set.insert(Nibbles::unpack(hashed_slot)); + // TODO(scroll): replace this with key abstraction. + #[cfg(feature = "scroll")] + let nibbles = Nibbles::unpack_and_truncate_bits(hashed_slot); + #[cfg(not(feature = "scroll"))] + let nibbles = Nibbles::unpack(hashed_slot); + prefix_set.insert(nibbles); } prefix_set } diff --git a/crates/trie/trie/src/walker.rs b/crates/trie/trie/src/walker.rs index d1c5247966da..db76049279fd 100644 --- a/crates/trie/trie/src/walker.rs +++ b/crates/trie/trie/src/walker.rs @@ -9,6 +9,9 @@ use reth_storage_errors::db::DatabaseError; #[cfg(feature = "metrics")] use crate::metrics::WalkerMetrics; +#[cfg(feature = "scroll")] +use crate::key::BitsCompatibility; + /// `TrieWalker` is a structure that enables traversal of a Merkle trie. /// It allows moving through the trie in a depth-first manner, skipping certain branches /// if they have not changed. @@ -100,9 +103,18 @@ impl TrieWalker { self.key() .and_then(|key| { if self.can_skip_current_node { - key.increment().map(|inc| inc.pack()) + // TODO(scroll): replace this with key abstraction. + #[cfg(not(feature = "scroll"))] + let key = key.increment().map(|inc| inc.pack()); + #[cfg(feature = "scroll")] + let key = key.increment_bit().map(|inc| inc.pack_bits()); + key } else { - Some(key.pack()) + #[cfg(feature = "scroll")] + let key = Some(key.pack_bits()); + #[cfg(not(feature = "scroll"))] + let key = Some(key.pack()); + key } }) .map(|mut key| { diff --git a/deny.toml b/deny.toml index 6dc51dba0a93..498ac05beaf0 100644 --- a/deny.toml +++ b/deny.toml @@ -67,10 +67,10 @@ exceptions = [ { allow = ["MPL-2.0"], name = "webpki-roots" }, ] -# Skip the poseidon-bn254 and bn254 crates for license verification. We should at some point publish a license for them. +# Skip the poseidon-bn254, bn254 and zktrie crates for license verification. We should at some point publish a license for them. [licenses.private] ignore = true -ignore-sources = ["https://github.com/scroll-tech/poseidon-bn254", "https://github.com/scroll-tech/bn254"] +ignore-sources = ["https://github.com/scroll-tech/poseidon-bn254", "https://github.com/scroll-tech/bn254", "https://github.com/scroll-tech/zktrie.git"] [[licenses.clarify]] name = "ring" @@ -100,5 +100,7 @@ allow-git = [ "https://github.com/paradigmxyz/revm-inspectors", "https://github.com/scroll-tech/bn254", "https://github.com/scroll-tech/sp1-intrinsics", - "https://github.com/scroll-tech/poseidon-bn254" + "https://github.com/scroll-tech/poseidon-bn254", + "https://github.com/scroll-tech/zktrie.git", + "https://github.com/scroll-tech/gobuild.git" ]