diff --git a/Cargo.lock b/Cargo.lock index 0c4bcf664..3d52fefc1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,11 +97,11 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.21" +version = "0.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9ebac8ff9c2f07667e1803dc777304337e160ce5153335beb45e8ec0751808" +checksum = "6d9d22005bf31b018f31ef9ecadb5d2c39cf4f6acc8db0456f72c815f3d7f757" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "num_enum", "serde", @@ -110,21 +110,21 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6440213a22df93a87ed512d2f668e7dc1d62a05642d107f82d61edc9e12370" +checksum = "b0c0dc44157867da82c469c13186015b86abef209bf0e41625e4b68bac61d728" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-serde", - "alloy-trie 0.9.1", + "alloy-trie", "alloy-tx-macros", "arbitrary", "auto_impl", "borsh", "c-kzg", - "derive_more 2.1.0", + "derive_more 2.1.1", "either", "k256 0.13.4", "once_cell", @@ -133,18 +133,18 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-consensus-any" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d0bea09287942405c4f9d2a4f22d1e07611c2dbd9d5bf94b75366340f9e6e0" +checksum = "ba4cdb42df3871cd6b346d6a938ec2ba69a9a0f49d1f82714bc5c48349268434" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-serde", "arbitrary", @@ -153,15 +153,15 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdff496dd4e98a81f4861e66f7eaf5f2488971848bb42d9c892f871730245c8" +checksum = "cc2db5c583aaef0255aa63a4fe827f826090142528bba48d1bf4119b62780cad" dependencies = [ "alloy-json-abi", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-sol-type-parser", "alloy-sol-types", - "derive_more 2.1.0", + "derive_more 2.1.1", "itoa", "serde", "serde_json", @@ -174,13 +174,13 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "arbitrary", "crc", "rand 0.8.5", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -189,7 +189,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9441120fa82df73e8959ae0e4ab8ade03de2aaae61be313fbf5746277847ce25" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "arbitrary", "borsh", @@ -203,7 +203,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2919c5a56a1007492da313e7a3b6d45ef5edc5d33416fdec63c0d7a2702a0d20" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "arbitrary", "borsh", @@ -211,67 +211,80 @@ dependencies = [ "rand 0.8.5", "serde", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", +] + +[[package]] +name = "alloy-eip7928" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8222b1d88f9a6d03be84b0f5e76bb60cd83991b43ad8ab6477f0e4a7809b98d" +dependencies = [ + "alloy-primitives 1.5.7", + "alloy-rlp", + "arbitrary", + "borsh", + "serde", ] [[package]] name = "alloy-eips" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd2c7ae05abcab4483ce821f12f285e01c0b33804e6883dd9ca1569a87ee2be" +checksum = "b9f7ef09f21bd1e9cb8a686f168cb4a206646804567f0889eadb8dcc4c9288c8" dependencies = [ "alloy-eip2124", "alloy-eip2930", "alloy-eip7702", - "alloy-primitives 1.4.1", + "alloy-eip7928", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-serde", "arbitrary", "auto_impl", "borsh", "c-kzg", - "derive_more 2.1.0", + "derive_more 2.1.1", "either", "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", + "ethereum_ssz_derive 0.9.1", "serde", "serde_with", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-evm" -version = "0.23.3" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527b47dc39850c6168002ddc1f7a2063e15d26137c1bb5330f6065a7524c1aa9" +checksum = "b991c370ce44e70a3a9e474087e3d65e42e66f967644ad729dc4cec09a21fd09" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-hardforks 0.4.4", - "alloy-primitives 1.4.1", + "alloy-hardforks 0.4.7", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "alloy-rpc-types-eth", "alloy-sol-types", "auto_impl", - "derive_more 2.1.0", - "op-alloy-consensus", - "op-alloy-rpc-types-engine", + "derive_more 2.1.1", + "op-alloy", "op-revm", "revm", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-genesis" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc47eaae86488b07ea8e20236184944072a78784a1f4993f8ec17b3aa5d08c21" +checksum = "7c9cf3b99f46615fbf7dc1add0c96553abb7bf88fc9ec70dfbe7ad0b47ba7fe8" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-serde", - "alloy-trie 0.9.1", + "alloy-trie", "borsh", "serde", "serde_with", @@ -285,20 +298,20 @@ checksum = "3165210652f71dfc094b051602bafd691f506c54050a174b1cba18fb5ef706a3" dependencies = [ "alloy-chains", "alloy-eip2124", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "auto_impl", "dyn-clone", ] [[package]] name = "alloy-hardforks" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e29d7eacf42f89c21d7f089916d0bdb4f36139a31698790e8837d2dbbd4b2c3" +checksum = "83ba208044232d14d4adbfa77e57d6329f51bc1acc21f5667bb7db72d88a0831" dependencies = [ "alloy-chains", "alloy-eip2124", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "auto_impl", "dyn-clone", "serde", @@ -306,11 +319,11 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5513d5e6bd1cba6bdcf5373470f559f320c05c8c59493b6e98912fbe6733943f" +checksum = "e9dbe713da0c737d9e5e387b0ba790eb98b14dd207fe53eef50e19a5a8ec3dac" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-sol-type-parser", "serde", "serde_json", @@ -318,31 +331,31 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003f46c54f22854a32b9cc7972660a476968008ad505427eabab49225309ec40" +checksum = "ff42cd777eea61f370c0b10f2648a1c81e0b783066cd7269228aa993afd487f7" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-sol-types", "http 1.4.0", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] [[package]] name = "alloy-network" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f4029954d9406a40979f3a3b46950928a0fdcfe3ea8a9b0c17490d57e8aa0e3" +checksum = "8cbca04f9b410fdc51aaaf88433cbac761213905a65fe832058bcf6690585762" dependencies = [ "alloy-consensus", "alloy-consensus-any", "alloy-eips", "alloy-json-rpc", "alloy-network-primitives", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-any", "alloy-rpc-types-eth", "alloy-serde", @@ -350,43 +363,44 @@ dependencies = [ "alloy-sol-types", "async-trait", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-network-primitives" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7805124ad69e57bbae7731c9c344571700b2a18d351bda9e0eba521c991d1bcb" +checksum = "42d6d15e069a8b11f56bef2eccbad2a873c6dd4d4c81d04dda29710f5ea52f04" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-serde", "serde", ] [[package]] name = "alloy-node-bindings" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03d35475a02d2a8b76209cb4a1336cb7d85331d10a0f6ec329ee42151695c19" +checksum = "091dc8117d84de3a9ac7ec97f2c4d83987e24d485b478d26aa1ec455d7d52f7d" dependencies = [ "alloy-genesis", "alloy-hardforks 0.2.13", "alloy-network", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-signer", "alloy-signer-local", "k256 0.13.4", + "libc", "rand 0.8.5", "serde_json", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", "url", ] @@ -423,10 +437,10 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more 2.1.0", + "derive_more 2.1.1", "foldhash 0.1.5", "hashbrown 0.15.5", - "indexmap 2.12.1", + "indexmap 2.13.0", "itoa", "k256 0.13.4", "keccak-asm", @@ -442,39 +456,40 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355bf68a433e0fd7f7d33d5a9fc2583fde70bf5c530f63b80845f8da5505cf28" +checksum = "de3b431b4e72cd8bd0ec7a50b4be18e73dab74de0dba180eef171055e5d5926e" dependencies = [ "alloy-rlp", "arbitrary", "bytes", "cfg-if", "const-hex", - "derive_more 2.1.0", + "derive_more 2.1.1", + "fixed-cache", "foldhash 0.2.0", - "getrandom 0.3.4", + "getrandom 0.4.2", "hashbrown 0.16.1", - "indexmap 2.12.1", + "indexmap 2.13.0", "itoa", "k256 0.13.4", "keccak-asm", "paste", "proptest", - "proptest-derive 0.6.0", + "proptest-derive", "rand 0.9.2", + "rapidhash", "ruint", "rustc-hash 2.1.1", "serde", "sha3", - "tiny-keccak", ] [[package]] name = "alloy-provider" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369e12c92870d069e0c9dc5350377067af8a056e29e3badf8446099d7e00889" +checksum = "d181c8cc7cf4805d7e589bf4074d56d55064fa1a979f005a45a62b047616d870" dependencies = [ "alloy-chains", "alloy-consensus", @@ -482,10 +497,12 @@ dependencies = [ "alloy-json-rpc", "alloy-network", "alloy-network-primitives", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-pubsub", "alloy-rpc-client", + "alloy-rpc-types-debug", "alloy-rpc-types-eth", + "alloy-rpc-types-trace", "alloy-signer", "alloy-sol-types", "alloy-transport", @@ -499,13 +516,13 @@ dependencies = [ "either", "futures", "futures-utils-wasm", - "lru 0.13.0", + "lru 0.16.3", "parking_lot", "pin-project", - "reqwest 0.12.24", + "reqwest 0.12.28", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "url", @@ -514,12 +531,12 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f77d20cdbb68a614c7a86b3ffef607b37d087bb47a03c58f4c3f8f99bc3ace3b" +checksum = "e8bd82953194dec221aa4cbbbb0b1e2df46066fe9d0333ac25b43a311e122d13" dependencies = [ "alloy-json-rpc", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-transport", "auto_impl", "bimap", @@ -529,16 +546,16 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.2", + "tower 0.5.3", "tracing", "wasmtimer", ] [[package]] name = "alloy-rlp" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" +checksum = "e93e50f64a77ad9c5470bf2ad0ca02f228da70c792a8f06634801e202579f35e" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -547,23 +564,23 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" +checksum = "ce8849c74c9ca0f5a03da1c865e3eb6f768df816e67dd3721a398a8a7e398011" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "alloy-rpc-client" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c89883fe6b7381744cbe80fef638ac488ead4f1956a4278956a1362c71cd2e" +checksum = "f2792758a93ae32a32e9047c843d536e1448044f78422d71bf7d7c05149e103f" dependencies = [ "alloy-json-rpc", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-pubsub", "alloy-transport", "alloy-transport-http", @@ -571,12 +588,12 @@ dependencies = [ "alloy-transport-ws", "futures", "pin-project", - "reqwest 0.12.24", + "reqwest 0.12.28", "serde", "serde_json", "tokio", "tokio-stream", - "tower 0.5.2", + "tower 0.5.3", "tracing", "url", "wasmtimer", @@ -584,11 +601,11 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e279e6d40ee40fe8f76753b678d8d5d260cb276dc6c8a8026099b16d2b43f4" +checksum = "7bdcbf9dfd5eea8bfeb078b1d906da8cd3a39c4d4dbe7a628025648e323611f6" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "alloy-rpc-types-eth", "alloy-serde", @@ -597,23 +614,23 @@ dependencies = [ [[package]] name = "alloy-rpc-types-admin" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bcf50ccb65d29b8599f8f5e23dcac685f1d79459654c830cba381345760e901" +checksum = "42325c117af3a9e49013f881c1474168db57978e02085fc9853a1c89e0562740" dependencies = [ "alloy-genesis", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-anvil" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e176c26fdd87893b6afeb5d92099d8f7e7a1fe11d6f4fe0883d6e33ac5f31ba" +checksum = "e0a3100b76987c1b1dc81f3abe592b7edc29e92b1242067a69d65e0030b35cf9" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "alloy-serde", "serde", @@ -621,9 +638,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b43c1622aac2508d528743fd4cfdac1dea92d5a8fa894038488ff7edd0af0b32" +checksum = "dd720b63f82b457610f2eaaf1f32edf44efffe03ae25d537632e7d23e7929e1a" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -632,50 +649,50 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1786681640d4c60f22b6b8376b0f3fa200360bf1c3c2cb913e6c97f51928eb1b" +checksum = "4a22e13215866f5dfd5d3278f4c41f1fad9410dc68ce39022f58593c873c26f8" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", - "derive_more 2.1.0", + "derive_more 2.1.1", "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", + "ethereum_ssz_derive 0.9.1", "serde", "serde_json", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", "tree_hash 0.10.0", "tree_hash_derive 0.10.0", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2ca3a434a6d49910a7e8e51797eb25db42ef8a5578c52d877fcb26d0afe7bc" +checksum = "e1b21e1ad18ff1b31ff1030e046462ab8168cf8894e6778cd805c8bdfe2bd649" dependencies = [ - "alloy-primitives 1.4.1", - "derive_more 2.1.0", + "alloy-primitives 1.5.7", + "derive_more 2.1.1", "serde", "serde_with", ] [[package]] name = "alloy-rpc-types-engine" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4c53a8b0905d931e7921774a1830609713bd3e8222347963172b03a3ecc68" +checksum = "e4ac61f03f1edabccde1c687b5b25fff28f183afee64eaa2e767def3929e4457" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-serde", - "derive_more 2.1.0", + "derive_more 2.1.1", "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", + "ethereum_ssz_derive 0.9.1", "jsonwebtoken", "rand 0.8.5", "serde", @@ -684,15 +701,15 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed5fafb741c19b3cca4cdd04fa215c89413491f9695a3e928dee2ae5657f607e" +checksum = "9b2dc411f13092f237d2bf6918caf80977fc2f51485f9b90cb2a2f956912c8c9" dependencies = [ "alloy-consensus", "alloy-consensus-any", "alloy-eips", "alloy-network-primitives", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-serde", "alloy-sol-types", @@ -701,18 +718,18 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-rpc-types-mev" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a97bfc6d9b411c85bb08e1174ddd3e5d61b10d3bd13f529d6609f733cb2f6f" +checksum = "fe85bf3be739126aa593dca9fb3ab13ca93fa7873e6f2247be64d7f2cb15f34a" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "alloy-serde", "serde", @@ -721,25 +738,25 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55324323aa634b01bdecb2d47462a8dce05f5505b14a6e5db361eef16eda476" +checksum = "1ad79f1e27e161943b5a4f99fe5534ef0849876214be411e0032c12f38e94daa" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "alloy-serde", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-rpc-types-txpool" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b1aa28effb6854be356ce92ed64cea3b323acd04c3f8bfb5126e2839698043" +checksum = "d459f902a2313737bc66d18ed094c25d2aeb268b74d98c26bbbda2aa44182ab0" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "alloy-serde", "serde", @@ -747,11 +764,11 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f180c399ca7c1e2fe17ea58343910cad0090878a696ff5a50241aee12fc529" +checksum = "e2ce1e0dbf7720eee747700e300c99aac01b1a95bb93f493a01e78ee28bb1a37" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "arbitrary", "serde", "serde_json", @@ -759,91 +776,91 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc39ad2c0a3d2da8891f4081565780703a593f090f768f884049aa3aa929cbc" +checksum = "2425c6f314522c78e8198979c8cbf6769362be4da381d4152ea8eefce383535d" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "async-trait", "auto_impl", "either", "elliptic-curve 0.13.8", "k256 0.13.4", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "alloy-signer-local" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "930e17cb1e46446a193a593a3bfff8d0ecee4e510b802575ebe300ae2e43ef75" +checksum = "c3ecb71ee53d8d9c3fa7bac17542c8116ebc7a9726c91b1bf333ec3d04f5a789" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-signer", "async-trait", "coins-bip32", "coins-bip39", "k256 0.13.4", "rand 0.8.5", - "thiserror 2.0.17", + "thiserror 2.0.18", "zeroize", ] [[package]] name = "alloy-sol-macro" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ce480400051b5217f19d6e9a82d9010cdde20f1ae9c00d53591e4a1afbb312" +checksum = "ab81bab693da9bb79f7a95b64b394718259fdd7e41dceeced4cad57cb71c4f6a" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "alloy-sol-macro-expander" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d792e205ed3b72f795a8044c52877d2e6b6e9b1d13f431478121d8d4eaa9028" +checksum = "489f1620bb7e2483fb5819ed01ab6edc1d2f93939dce35a5695085a1afd1d699" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.12.1", + "indexmap 2.13.0", "proc-macro-error2", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "sha3", + "syn 2.0.117", "syn-solidity", - "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bd1247a8f90b465ef3f1207627547ec16940c35597875cdc09c49d58b19693c" +checksum = "56cef806ad22d4392c5fc83cf8f2089f988eb99c7067b4e0c6f1971fc1cca318" dependencies = [ "const-hex", "dunce", "heck 0.5.0", "macro-string", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "954d1b2533b9b2c7959652df3076954ecb1122a28cc740aa84e7b0a49f6ac0a9" +checksum = "a6df77fea9d6a2a75c0ef8d2acbdfd92286cc599983d3175ccdc170d3433d249" dependencies = [ "serde", "winnow", @@ -851,34 +868,34 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70319350969a3af119da6fb3e9bddb1bce66c9ea933600cb297c8b1850ad2a3c" +checksum = "64612d29379782a5dde6f4b6570d9c756d734d760c0c94c254d361e678a6591f" dependencies = [ "alloy-json-abi", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-sol-macro", "serde", ] [[package]] name = "alloy-transport" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cae82426d98f8bc18f53c5223862907cac30ab8fc5e4cd2bb50808e6d3ab43d8" +checksum = "fa186e560d523d196580c48bf00f1bf62e63041f28ecf276acc22f8b27bb9f53" dependencies = [ "alloy-json-rpc", "auto_impl", "base64 0.22.1", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures", "futures-utils-wasm", "parking_lot", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", - "tower 0.5.2", + "tower 0.5.3", "tracing", "url", "wasmtimer", @@ -886,24 +903,25 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90aa6825760905898c106aba9c804b131816a15041523e80b6d4fe7af6380ada" +checksum = "aa501ad58dd20acddbfebc65b52e60f05ebf97c52fa40d1b35e91f5e2da0ad0e" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.24", + "itertools 0.14.0", + "reqwest 0.12.28", "serde_json", - "tower 0.5.2", + "tower 0.5.3", "tracing", "url", ] [[package]] name = "alloy-transport-ipc" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ace83a4a6bb896e5894c3479042e6ba78aa5271dde599aa8c36a021d49cc8cc" +checksum = "c2ef85688e5ac2da72afc804e0a1f153a1f309f05a864b1998bbbed7804dbaab" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -921,15 +939,14 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c9ab4c199e3a8f3520b60ba81aa67bb21fed9ed0d8304e0569094d0758a56f" +checksum = "b9f00445db69d63298e2b00a0ea1d859f00e6424a3144ffc5eba9c31da995e16" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", "http 1.4.0", - "rustls 0.23.35", "serde_json", "tokio", "tokio-tungstenite 0.26.2", @@ -939,49 +956,34 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" -dependencies = [ - "alloy-primitives 1.4.1", - "alloy-rlp", - "arrayvec", - "derive_more 2.1.0", - "nybbles 0.3.4", - "smallvec", - "tracing", -] - -[[package]] -name = "alloy-trie" -version = "0.9.1" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" +checksum = "3f14b5d9b2c2173980202c6ff470d96e7c5e202c65a9f67884ad565226df7fbb" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "arbitrary", - "arrayvec", "derive_arbitrary", - "derive_more 2.1.0", - "nybbles 0.4.6", + "derive_more 2.1.1", + "nybbles", "proptest", - "proptest-derive 0.5.1", + "proptest-derive", "serde", "smallvec", + "thiserror 2.0.18", "tracing", ] [[package]] name = "alloy-tx-macros" -version = "1.1.2" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae109e33814b49fc0a62f2528993aa8a2dd346c26959b151f05441dc0b9da292" +checksum = "6fa0c53e8c1e1ef4d01066b01c737fb62fc9397ab52c6e7bb5669f97d281b9bc" dependencies = [ "darling 0.21.3", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1051,9 +1053,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.100" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "aquamarine" @@ -1064,9 +1066,9 @@ dependencies = [ "include_dir", "itertools 0.10.5", "proc-macro-error2", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1196,7 +1198,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" dependencies = [ - "quote 1.0.42", + "quote 1.0.45", "syn 1.0.109", ] @@ -1206,7 +1208,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote 1.0.42", + "quote 1.0.45", "syn 1.0.109", ] @@ -1216,8 +1218,8 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1228,7 +1230,7 @@ checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" dependencies = [ "num-bigint", "num-traits", - "quote 1.0.42", + "quote 1.0.45", "syn 1.0.109", ] @@ -1240,8 +1242,8 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint", "num-traits", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] @@ -1253,9 +1255,9 @@ checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" dependencies = [ "num-bigint", "num-traits", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1342,9 +1344,9 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1425,7 +1427,7 @@ dependencies = [ "fallible-streaming-iterator", "foreign_vec", "futures", - "getrandom 0.2.16", + "getrandom 0.2.17", "hash_hasher", "lexical-core", "lz4", @@ -1443,9 +1445,9 @@ dependencies = [ [[package]] name = "asn1_der" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" +checksum = "4858a9d740c5007a9069007c3b4e91152d0506f13c1b31dd49051fd537656156" [[package]] name = "assert_matches" @@ -1466,13 +1468,12 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.34" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e86f6d3dc9dc4352edeea6b8e499e13e3f5dc3b964d7ca5fd411415a3498473" +checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1" dependencies = [ "compression-codecs", "compression-core", - "futures-core", "pin-project-lite", "tokio", ] @@ -1517,9 +1518,9 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1528,9 +1529,9 @@ version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1575,9 +1576,9 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -1597,9 +1598,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" dependencies = [ "axum-core", "bytes", @@ -1615,16 +1616,16 @@ dependencies = [ "pin-project-lite", "serde_core", "sync_wrapper 1.0.2", - "tower 0.5.2", + "tower 0.5.3", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" dependencies = [ "bytes", "futures-core", @@ -1638,12 +1639,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "az" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" - [[package]] name = "backon" version = "1.6.0" @@ -1702,9 +1697,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.8.0" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" [[package]] name = "beacon-api-client" @@ -1744,13 +1739,13 @@ dependencies = [ name = "bid-scraper" version = "0.1.0" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-provider", "alloy-rpc-types-beacon", "async-trait", "derivative", "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", + "ethereum_ssz_derive 0.9.1", "exponential-backoff", "eyre", "futures", @@ -1787,9 +1782,9 @@ dependencies = [ [[package]] name = "bigdecimal" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560f42649de9fa436b73517378a147ec21f6c997a546581df4b4b31677828934" +checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" dependencies = [ "autocfg 1.5.0", "libm", @@ -1813,42 +1808,24 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.71.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" -dependencies = [ - "bitflags 2.10.0", - "cexpr", - "clang-sys", - "itertools 0.13.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "regex", - "rustc-hash 2.1.1", - "shlex", - "syn 2.0.111", -] - [[package]] name = "bindgen" version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "cexpr", "clang-sys", "itertools 0.13.0", "log", "prettyplease", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -1874,9 +1851,9 @@ checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" [[package]] name = "bitcoin_hashes" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" +checksum = "26ec84b80c482df901772e931a9a681e26a1b9ee2302edeff23cb30328745c8b" dependencies = [ "bitcoin-io", "hex-conservative", @@ -1890,9 +1867,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" dependencies = [ "serde_core", ] @@ -1961,11 +1938,11 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc119a5ad34c3f459062a96907f53358989b173d104258891bb74f95d93747e8" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "boa_interner", "boa_macros", "boa_string", - "indexmap 2.12.1", + "indexmap 2.13.0", "num-bigint", "rustc-hash 2.1.1", ] @@ -1978,7 +1955,7 @@ checksum = "e637ec52ea66d76b0ca86180c259d6c7bb6e6a6e14b2f36b85099306d8b00cc3" dependencies = [ "aligned-vec", "arrayvec", - "bitflags 2.10.0", + "bitflags 2.11.0", "boa_ast", "boa_gc", "boa_interner", @@ -1997,7 +1974,7 @@ dependencies = [ "futures-lite 2.6.1", "hashbrown 0.16.1", "icu_normalizer", - "indexmap 2.12.1", + "indexmap 2.13.0", "intrusive-collections", "itertools 0.14.0", "num-bigint", @@ -2017,7 +1994,7 @@ dependencies = [ "tag_ptr", "tap", "thin-vec", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "xsum", ] @@ -2043,7 +2020,7 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.16.1", - "indexmap 2.12.1", + "indexmap 2.13.0", "once_cell", "phf 0.13.1", "rustc-hash 2.1.1", @@ -2058,9 +2035,9 @@ checksum = "7f36418a46544b152632c141b0a0b7a453cd69ca150caeef83aee9e2f4b48b7d" dependencies = [ "cfg-if", "cow-utils", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", "synstructure 0.13.2", ] @@ -2070,7 +2047,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02f99bf5b684f0de946378fcfe5f38c3a0fbd51cbf83a0f39ff773a0e218541f" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "boa_ast", "boa_interner", "boa_macros", @@ -2113,10 +2090,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" dependencies = [ "once_cell", - "proc-macro-crate 3.4.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro-crate 3.5.0", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -2207,9 +2184,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "byte-slice-cast" @@ -2217,17 +2194,11 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" -[[package]] -name = "bytecount" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" - [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] @@ -2238,9 +2209,9 @@ version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -2251,9 +2222,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" dependencies = [ "serde", ] @@ -2280,9 +2251,9 @@ dependencies = [ [[package]] name = "c-kzg" -version = "2.1.5" +version = "2.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" +checksum = "6648ed1e4ea8e8a1a4a2c78e1cda29a3fd500bc622899c340d8525ea9a76b24a" dependencies = [ "arbitrary", "blst", @@ -2296,55 +2267,37 @@ dependencies = [ [[package]] name = "camino" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" dependencies = [ "serde_core", ] [[package]] name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.14.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "87a0c0e6148f11f01f32650a2ea02d532b2ad4e81d8bd41e6e565b5adc5e6082" dependencies = [ - "camino", - "cargo-platform", - "semver 1.0.27", "serde", - "serde_json", + "serde_core", ] [[package]] name = "cargo_metadata" -version = "0.19.2" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +checksum = "ef987d17b0a113becdd19d3d0022d04d7ef41f9efe4f3fb63ac44ba61df3ade9" dependencies = [ "camino", "cargo-platform", "semver 1.0.27", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - [[package]] name = "cast" version = "0.3.0" @@ -2362,10 +2315,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.15" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c736e259eea577f443d5c86c304f9f4ae0295c43f3ba05c21f1d66b5f06001af" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -2410,16 +2364,16 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.42" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -2478,9 +2432,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.53" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" +checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a" dependencies = [ "clap_builder", "clap_derive", @@ -2488,9 +2442,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.53" +version = "4.5.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" +checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876" dependencies = [ "anstream", "anstyle", @@ -2500,27 +2454,27 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.49" +version = "4.5.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" +checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "clap_lex" -version = "0.7.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" +checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831" [[package]] name = "clickhouse" -version = "0.14.1" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4916807143285e80eefcaf741a29a98bbd687e4581352631a74ab223e66558b" +checksum = "d975a05171c6f8a453f60ec6287c0018c90911d5a8a46d9b6abe386ea359fab3" dependencies = [ "bnum", "bstr", @@ -2534,11 +2488,11 @@ dependencies = [ "hyper 1.8.1", "hyper-tls 0.6.0", "hyper-util", - "lz4_flex", + "lz4_flex 0.11.5", "polonius-the-crab", "quanta", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tokio", "url", @@ -2551,10 +2505,10 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff6669899e23cb87b43daf7996f0ea3b9c07d0fb933d745bb7b815b052515ae3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "serde_derive_internals", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -2564,7 +2518,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "358fbfd439fb0bed02a3e2ecc5131f6a9d039ba5639aed650cf0e845f6ebfc16" dependencies = [ "bytes", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -2578,9 +2532,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.54" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" dependencies = [ "cc", ] @@ -2591,7 +2545,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" dependencies = [ - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -2663,20 +2617,20 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.2.1" +version = "7.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03b7db8e0b4b2fdad6c551e634134e99ec000e5c8c3b6856c65e8bbaded7a3b" +checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" dependencies = [ - "crossterm 0.29.0", + "crossterm", "unicode-segmentation", - "unicode-width 0.2.0", + "unicode-width", ] [[package]] name = "compact_str" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" dependencies = [ "castaway", "cfg-if", @@ -2688,9 +2642,9 @@ dependencies = [ [[package]] name = "compression-codecs" -version = "0.4.33" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302266479cb963552d11bd042013a58ef1adc56768016c8b82b4199488f2d4ad" +checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7" dependencies = [ "brotli 8.0.2", "compression-core", @@ -2733,15 +2687,15 @@ dependencies = [ "encode_unicode", "libc", "once_cell", - "unicode-width 0.2.0", + "unicode-width", "windows-sys 0.59.0", ] [[package]] name = "const-hex" -version = "1.17.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" +checksum = "531185e432bb31db1ecda541e9e7ab21468d4d844ad7505e0546a49b4945d49b" dependencies = [ "cfg-if", "cpufeatures", @@ -2776,8 +2730,8 @@ version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "unicode-xid 0.2.6", ] @@ -2802,16 +2756,6 @@ dependencies = [ "unicode-segmentation", ] -[[package]] -name = "cordyceps" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688d7fbb8092b8de775ef2536f36c8c31f2bc4006ece2e8d8ad2d17d00ce0a2a" -dependencies = [ - "loom", - "tracing", -] - [[package]] name = "core-foundation" version = "0.9.4" @@ -2986,33 +2930,21 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" -[[package]] -name = "crossterm" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" -dependencies = [ - "bitflags 2.10.0", - "crossterm_winapi", - "mio", - "parking_lot", - "rustix 0.38.44", - "signal-hook", - "signal-hook-mio", - "winapi", -] - [[package]] name = "crossterm" version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "crossterm_winapi", + "derive_more 2.1.1", "document-features", + "mio", "parking_lot", - "rustix 1.1.2", + "rustix", + "signal-hook", + "signal-hook-mio", "winapi", ] @@ -3085,8 +3017,8 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3116,8 +3048,8 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3151,9 +3083,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3176,6 +3108,16 @@ dependencies = [ "darling_macro 0.21.3", ] +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core 0.23.0", + "darling_macro 0.23.0", +] + [[package]] name = "darling_core" version = "0.20.11" @@ -3184,10 +3126,10 @@ checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "strsim", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -3198,11 +3140,24 @@ checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "serde", "strsim", - "syn 2.0.111", + "syn 2.0.117", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2 1.0.106", + "quote 1.0.45", + "strsim", + "syn 2.0.117", ] [[package]] @@ -3212,8 +3167,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core 0.20.11", - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3223,8 +3178,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ "darling_core 0.21.3", - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core 0.23.0", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3246,6 +3212,7 @@ version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ + "arbitrary", "cfg-if", "crossbeam-utils", "hashbrown 0.14.5", @@ -3253,19 +3220,20 @@ dependencies = [ "once_cell", "parking_lot_core", "rayon", + "serde", ] [[package]] name = "data-encoding" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea" [[package]] name = "data-encoding-macro" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" +checksum = "8142a83c17aa9461d637e649271eae18bf2edd00e91f2e105df36c3c16355bdb" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -3273,12 +3241,12 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" +checksum = "7ab67060fc6b8ef687992d439ca0fa36e7ed17e9a0b16b25b601e8757df720de" dependencies = [ "data-encoding", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -3321,9 +3289,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.5" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" dependencies = [ "powerfmt", "serde_core", @@ -3335,8 +3303,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] @@ -3346,9 +3314,9 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3357,9 +3325,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3378,9 +3346,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling 0.20.11", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3390,7 +3358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -3400,10 +3368,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "rustc_version 0.4.1", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -3417,11 +3385,11 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" +checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" dependencies = [ - "derive_more-impl 2.1.0", + "derive_more-impl 2.1.1", ] [[package]] @@ -3430,31 +3398,25 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "derive_more-impl" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" +checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" dependencies = [ "convert_case 0.10.0", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "rustc_version 0.4.1", - "syn 2.0.111", + "syn 2.0.117", "unicode-xid 0.2.6", ] -[[package]] -name = "diatomic-waker" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c" - [[package]] name = "diff" version = "0.1.13" @@ -3563,9 +3525,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3597,9 +3559,9 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dtoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" [[package]] name = "dtoa-short" @@ -3637,9 +3599,9 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ec431cd708430d5029356535259c5d645d60edd3d39c54e5eea9782d46caa7d" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3701,9 +3663,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" dependencies = [ "enum-ordinalize", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3834,9 +3796,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3854,9 +3816,9 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3874,9 +3836,9 @@ version = "4.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3886,9 +3848,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" dependencies = [ "once_cell", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3906,9 +3868,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -3927,15 +3889,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "error-chain" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" -dependencies = [ - "version_check 0.9.5", -] - [[package]] name = "etcetera" version = "0.8.0" @@ -3951,9 +3904,9 @@ dependencies = [ name = "eth-sparse-mpt" version = "0.1.0" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "alloy-trie 0.8.1", + "alloy-trie", "arrayvec", "criterion", "dashmap 6.1.0", @@ -3961,7 +3914,7 @@ dependencies = [ "eyre", "flate2", "hash-db", - "nybbles 0.3.4", + "nybbles", "parking_lot", "proptest", "rand 0.8.5", @@ -4092,7 +4045,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dc1355dbb41fbbd34ec28d4fb2a57d9a70c67ac3c19f6a5ca4d4a176b9e997a" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "hex", "serde", "serde_derive", @@ -4116,7 +4069,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "ethereum_serde_utils 0.8.0", "itertools 0.13.0", "serde", @@ -4125,6 +4078,21 @@ dependencies = [ "typenum", ] +[[package]] +name = "ethereum_ssz" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2128a84f7a3850d54ee343334e3392cca61f9f6aa9441eec481b9394b43c238b" +dependencies = [ + "alloy-primitives 1.5.7", + "ethereum_serde_utils 0.8.0", + "itertools 0.14.0", + "serde", + "serde_derive", + "smallvec", + "typenum", +] + [[package]] name = "ethereum_ssz_derive" version = "0.9.1" @@ -4132,9 +4100,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f" dependencies = [ "darling 0.20.11", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", +] + +[[package]] +name = "ethereum_ssz_derive" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd596f91cff004fc8d02be44c21c0f9b93140a04b66027ae052f5f8e05b48eba" +dependencies = [ + "darling 0.23.0", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -4288,14 +4268,30 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.26" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" +checksum = "f98844151eee8917efc50bd9e8318cb963ae8b297431495d3f758616ea5c57db" dependencies = [ "cfg-if", "libc", "libredox", - "windows-sys 0.60.2", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "fixed-cache" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41c7aa69c00ebccf06c3fa7ffe2a6cf26a58b5fe4deabfe646285ff48136a8f" +dependencies = [ + "equivalent", + "rapidhash", + "typeid", ] [[package]] @@ -4310,6 +4306,27 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "fixed-map" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ed19add84e8cb9e8cc5f7074de0324247149ffef0b851e215fb0edc50c229b" +dependencies = [ + "fixed-map-derive", + "serde", +] + +[[package]] +name = "fixed-map-derive" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dc7a9cb3326bafb80642c5ce99b39a2c0702d4bfa8ee8a3e773791a6cbe2407" +dependencies = [ + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", +] + [[package]] name = "fixedbitset" version = "0.5.7" @@ -4318,9 +4335,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.5" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", @@ -4345,7 +4362,7 @@ dependencies = [ "futures-core", "futures-sink", "nanorand", - "spin 0.9.8", + "spin", ] [[package]] @@ -4435,9 +4452,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -4448,24 +4465,11 @@ dependencies = [ "futures-util", ] -[[package]] -name = "futures-buffered" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e0e1f38ec07ba4abbde21eed377082f17ccb988be9d988a5adbf4bafc118fd" -dependencies = [ - "cordyceps", - "diatomic-waker", - "futures-core", - "pin-project-lite", - "spin 0.10.0", -] - [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -4483,24 +4487,22 @@ dependencies = [ [[package]] name = "futures-concurrency" -version = "7.6.3" +version = "7.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eb68017df91f2e477ed4bea586c59eaecaa47ed885a770d0444e21e62572cd2" +checksum = "175cd8cca9e1d45b87f18ffa75088f2099e3c4fe5e2f83e42de112560bea8ea6" dependencies = [ "fixedbitset", - "futures-buffered", "futures-core", "futures-lite 2.6.1", "pin-project", - "slab", "smallvec", ] [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-core-preview" @@ -4510,9 +4512,9 @@ checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -4543,9 +4545,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-io-preview" @@ -4583,13 +4585,13 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -4619,9 +4621,9 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-sink-preview" @@ -4631,9 +4633,9 @@ checksum = "86f148ef6b69f75bb610d4f9a2336d4fc88c4b5b67129d1a340dd0fd362efeec" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-timer" @@ -4647,9 +4649,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -4659,7 +4661,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -4693,20 +4694,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "generator" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" -dependencies = [ - "cc", - "cfg-if", - "libc", - "log", - "rustversion", - "windows 0.61.3", -] - [[package]] name = "generic-array" version = "0.14.7" @@ -4724,7 +4711,7 @@ version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe4fbac503b8d1f88e6676011885f34b7174f46e59956bba534ba83abded4df" dependencies = [ - "unicode-width 0.2.0", + "unicode-width", ] [[package]] @@ -4740,9 +4727,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "js-sys", @@ -4760,11 +4747,24 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + [[package]] name = "ghash" version = "0.5.1" @@ -4777,11 +4777,11 @@ dependencies = [ [[package]] name = "git2" -version = "0.20.2" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" +checksum = "7b88256088d75a56f8ecfa070513a775dd9107f6530ef14919dac831af9cfe2b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "libc", "libgit2-sys", "log", @@ -4861,16 +4861,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "gmp-mpfr-sys" -version = "1.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f8970a75c006bb2f8ae79c6768a116dd215fa8346a87aed99bf9d82ca43394" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] - [[package]] name = "governor" version = "0.6.3" @@ -4925,7 +4915,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.12.1", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -4934,9 +4924,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" +checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" dependencies = [ "atomic-waker", "bytes", @@ -4944,7 +4934,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.4.0", - "indexmap 2.12.1", + "indexmap 2.13.0", "slab", "tokio", "tokio-util", @@ -5138,7 +5128,7 @@ dependencies = [ "rand 0.9.2", "ring", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tinyvec", "tokio", "tracing", @@ -5162,7 +5152,7 @@ dependencies = [ "resolv-conf", "serde", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] @@ -5214,8 +5204,8 @@ dependencies = [ "log", "mac", "markup5ever", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] @@ -5368,7 +5358,7 @@ dependencies = [ "bytes", "futures-channel", "futures-core", - "h2 0.4.12", + "h2 0.4.13", "http 1.4.0", "http-body 1.0.1", "httparse", @@ -5407,13 +5397,13 @@ dependencies = [ "hyper 1.8.1", "hyper-util", "log", - "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls 0.23.37", + "rustls-native-certs 0.8.3", "rustls-pki-types", "tokio", "tokio-rustls 0.26.4", "tower-service", - "webpki-roots 1.0.4", + "webpki-roots 1.0.6", ] [[package]] @@ -5460,14 +5450,13 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.18" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e9a2a24dc5c6821e71a7030e1e14b7b632acac55c40e9d2e082c621261bb56" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" dependencies = [ "base64 0.22.1", "bytes", "futures-channel", - "futures-core", "futures-util", "http 1.4.0", "http-body 1.0.1", @@ -5476,8 +5465,8 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.1", - "system-configuration 0.6.1", + "socket2 0.6.3", + "system-configuration 0.7.0", "tokio", "tower-service", "tracing", @@ -5486,9 +5475,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.64" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -5553,9 +5542,9 @@ checksum = "574ab1305d422a19889ae8382347a3e0281654fa694aacd8e6953b41e0ed95a9" dependencies = [ "iceoryx2-bb-elementary", "iceoryx2-bb-elementary-traits", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -5692,7 +5681,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd2ff4c48a8b992baabb09a573db9446bff89e39a193500dd5c8f8196c241c63" dependencies = [ - "bindgen 0.72.1", + "bindgen", "cc", "iceoryx2-pal-concurrency-sync", "iceoryx2-pal-configuration", @@ -5790,6 +5779,12 @@ dependencies = [ "zerovec", ] +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + [[package]] name = "ident_case" version = "1.0.1" @@ -5860,9 +5855,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -5880,8 +5875,8 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", ] [[package]] @@ -5903,9 +5898,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "arbitrary", "equivalent", @@ -5923,7 +5918,7 @@ dependencies = [ "console", "number_prefix", "portable-atomic", - "unicode-width 0.2.0", + "unicode-width", "web-time", ] @@ -5944,11 +5939,11 @@ checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" [[package]] name = "inotify" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" +checksum = "bd5b3eaf1a28b758ac0faa5a4254e8ab2705605496f1b1f3fbbc3988ad73d199" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "inotify-sys", "libc", ] @@ -5974,15 +5969,15 @@ dependencies = [ [[package]] name = "instability" -version = "0.3.10" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6778b0196eefee7df739db78758e5cf9b37412268bfa5650bfeed028aed20d9c" +checksum = "357b7205c6cd18dd2c86ed312d1e70add149aea98e7ef72b9fdf0270e555c11d" dependencies = [ - "darling 0.20.11", + "darling 0.23.0", "indoc", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -6011,9 +6006,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.2.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d941b405bd2322993887859a8ee6ac9134945a24ec5ec763a8a962fc64dfec2d" +checksum = "6be5e5c847dbdb44564bd85294740d031f4f8aeb3464e5375ef7141f7538db69" dependencies = [ "doctest-file", "futures-core", @@ -6047,15 +6042,15 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" [[package]] name = "iri-string" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" dependencies = [ "memchr", "serde", @@ -6116,9 +6111,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "jni" @@ -6154,9 +6149,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.83" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -6234,11 +6229,11 @@ dependencies = [ "http 1.4.0", "jsonrpsee-core 0.26.0", "pin-project", - "rustls 0.23.35", + "rustls 0.23.37", "rustls-pki-types", "rustls-platform-verifier", "soketto 0.8.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-rustls 0.26.4", "tokio-util", @@ -6292,10 +6287,10 @@ dependencies = [ "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", - "tower 0.5.2", + "tower 0.5.3", "tracing", "wasm-bindgen-futures", ] @@ -6333,13 +6328,13 @@ dependencies = [ "hyper-util", "jsonrpsee-core 0.26.0", "jsonrpsee-types 0.26.0", - "rustls 0.23.35", + "rustls 0.23.37", "rustls-platform-verifier", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", - "tower 0.5.2", + "tower 0.5.3", "url", ] @@ -6351,8 +6346,8 @@ checksum = "dcc0eba68ba205452bcb4c7b80a79ddcb3bf36c261a841b239433142db632d24" dependencies = [ "heck 0.4.1", "proc-macro-crate 1.1.3", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] @@ -6363,10 +6358,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" dependencies = [ "heck 0.5.0", - "proc-macro-crate 3.4.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro-crate 3.5.0", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -6411,11 +6406,11 @@ dependencies = [ "serde", "serde_json", "soketto 0.8.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", - "tower 0.5.2", + "tower 0.5.3", "tracing", ] @@ -6442,7 +6437,7 @@ dependencies = [ "http 1.4.0", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -6465,7 +6460,7 @@ dependencies = [ "jsonrpsee-client-transport 0.26.0", "jsonrpsee-core 0.26.0", "jsonrpsee-types 0.26.0", - "tower 0.5.2", + "tower 0.5.3", ] [[package]] @@ -6491,7 +6486,7 @@ dependencies = [ "jsonrpsee-client-transport 0.26.0", "jsonrpsee-core 0.26.0", "jsonrpsee-types 0.26.0", - "tower 0.5.2", + "tower 0.5.3", "url", ] @@ -6537,20 +6532,31 @@ dependencies = [ "signature 2.2.0", ] +[[package]] +name = "kasuari" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fe90c1150662e858c7d5f945089b7517b0a80d8bf7ba4b1b5ffc984e7230a5b" +dependencies = [ + "hashbrown 0.16.1", + "portable-atomic", + "thiserror 2.0.18", +] + [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653" dependencies = [ "cpufeatures", ] [[package]] name = "keccak-asm" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +checksum = "b646a74e746cd25045aa0fd42f4f7f78aa6d119380182c7e63a5593c4ab8df6f" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -6582,9 +6588,15 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.9.8", + "spin", ] +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lexical" version = "6.1.1" @@ -6660,15 +6672,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.178" +version = "0.2.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" [[package]] name = "libgit2-sys" -version = "0.18.2+1.9.1" +version = "0.18.3+1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222" +checksum = "c9b3acc4b91781bb0b3386669d325163746af5f6e4f73e6d2d630e09a35f3487" dependencies = [ "cc", "libc", @@ -6683,20 +6695,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-link", ] [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "libp2p-identity" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" +checksum = "f0c7892c221730ba55f7196e98b0b8ba5e04b4155651736036628e9f73ed6fc3" dependencies = [ "asn1_der", "bs58 0.5.1", @@ -6706,7 +6718,7 @@ dependencies = [ "multihash 0.19.3", "quick-protobuf", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", "zeroize", ] @@ -6717,20 +6729,37 @@ version = "0.14.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a54ad7278b8bc5301d5ffd2a94251c004feb971feba96c971ea4063645990757" dependencies = [ - "bindgen 0.72.1", + "bindgen", "errno", "libc", ] [[package]] name = "libredox" -version = "0.1.10" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a" +dependencies = [ + "bitflags 2.11.0", + "libc", + "plain", + "redox_syscall 0.7.3", +] + +[[package]] +name = "librocksdb-sys" +version = "0.17.3+10.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9" dependencies = [ - "bitflags 2.10.0", + "bindgen", + "bzip2-sys", + "cc", "libc", - "redox_syscall", + "libz-sys", + "lz4-sys", + "tikv-jemalloc-sys", + "zstd-sys", ] [[package]] @@ -6746,9 +6775,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.23" +version = "1.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d118bbf3771060e7311cc7bb0545b01d08a8b4a7de949198dec1fa0ca1c0f7" +checksum = "d52f4c29e2a68ac30c9087e1b772dc9f44a2b66ed44edf2266cf2be9b03dafc1" dependencies = [ "cc", "libc", @@ -6756,6 +6785,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "line-clipping" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4de44e98ddbf09375cbf4d17714d18f39195f4f4894e8524501726fd9a8a4a" +dependencies = [ + "bitflags 2.11.0", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -6774,15 +6812,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" - -[[package]] -name = "linux-raw-sys" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" +checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" @@ -6812,19 +6844,6 @@ version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" -[[package]] -name = "loom" -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 0.3.22", -] - [[package]] name = "lru" version = "0.10.1" @@ -6845,11 +6864,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.13.0" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" dependencies = [ - "hashbrown 0.15.5", + "hashbrown 0.16.1", ] [[package]] @@ -6886,6 +6905,12 @@ dependencies = [ "twox-hash", ] +[[package]] +name = "lz4_flex" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab6473172471198271ff72e9379150e9dfd70d8e533e0752a27e515b48dd375e" + [[package]] name = "mac" version = "0.1.1" @@ -6901,15 +6926,21 @@ dependencies = [ "libc", ] +[[package]] +name = "mach2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dae608c151f68243f2b000364e1f7b186d9c29845f7d2d85bd31b9ad77ad552b" + [[package]] name = "macro-string" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -6944,13 +6975,13 @@ dependencies = [ [[package]] name = "match-lookup" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" +checksum = "757aee279b8bdbb9f9e676796fd459e4207a1f986e87886700abf589f5abf771" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 1.0.109", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -6980,9 +7011,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "memmap2" @@ -6995,9 +7026,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" +checksum = "714098028fe011992e1c3962653c96b2d578c4b4bce9036e15ff220319b1e0e3" dependencies = [ "libc", ] @@ -7044,55 +7075,54 @@ dependencies = [ [[package]] name = "metrics-derive" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" +checksum = "161ab904c2c62e7bda0f7562bf22f96440ca35ff79e66c800cbac298f2f4f5ec" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "regex", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "metrics-exporter-prometheus" -version = "0.16.2" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7399781913e5393588a8d8c6a2867bf85fb38eaf2502fdce465aad2dc6f034" +checksum = "3589659543c04c7dc5526ec858591015b87cd8746583b51b48ef4353f99dbcda" dependencies = [ "base64 0.22.1", - "indexmap 2.12.1", + "indexmap 2.13.0", "metrics", "metrics-util", "quanta", - "thiserror 1.0.69", + "thiserror 2.0.18", ] [[package]] name = "metrics-process" -version = "2.4.2" +version = "2.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f615e08e049bd14a44c4425415782efb9bcd479fc1e19ddeb971509074c060d0" +checksum = "4268d87f64a752f5a651314fc683f04da10be65701ea3e721ba4d74f79163cac" dependencies = [ "libc", "libproc", - "mach2", + "mach2 0.6.0", "metrics", "once_cell", - "procfs 0.18.0", + "procfs", "rlimit", "windows 0.62.2", ] [[package]] name = "metrics-util" -version = "0.19.1" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8496cc523d1f94c1385dd8f0f0c2c480b2b8aeccb5b7e4485ad6365523ae376" +checksum = "cdfb1365fea27e6dd9dc1dbc19f570198bc86914533ad639dae939635f096be4" dependencies = [ "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.15.5", + "hashbrown 0.16.1", "metrics", "quanta", "rand 0.9.2", @@ -7104,8 +7134,8 @@ dependencies = [ name = "metrics_macros" version = "0.1.0" dependencies = [ - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -7143,21 +7173,6 @@ dependencies = [ "unicase", ] -[[package]] -name = "mini-moka" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" -dependencies = [ - "crossbeam-channel", - "crossbeam-utils", - "dashmap 5.5.3", - "skeptic", - "smallvec", - "tagptr", - "triomphe", -] - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -7176,9 +7191,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", "log", @@ -7208,16 +7223,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" dependencies = [ "cfg-if", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "modular-bitfield" -version = "0.11.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" +checksum = "2956e537fc68236d2aa048f55704f231cc93f1c4de42fe1ecb5bd7938061fc4a" dependencies = [ "modular-bitfield-impl", "static_assertions", @@ -7225,20 +7240,20 @@ dependencies = [ [[package]] name = "modular-bitfield-impl" -version = "0.11.2" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" +checksum = "59b43b4fd69e3437618106f7754f34021b831a514f9e1a98ae863cabcd8d8dad" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 1.0.109", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "moka" -version = "0.12.11" +version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8261cd88c312e0004c1d51baad2980c66528dfdb2bee62003e643a4d8f86b077" +checksum = "85f8024e1c8e71c778968af91d43700ce1d11b219d127d79fb2934153b82b42b" dependencies = [ "crossbeam-channel", "crossbeam-epoch", @@ -7246,7 +7261,6 @@ dependencies = [ "equivalent", "parking_lot", "portable-atomic", - "rustc_version 0.4.1", "smallvec", "tagptr", "uuid", @@ -7272,7 +7286,7 @@ dependencies = [ "log", "memchr", "mime", - "spin 0.9.8", + "spin", "version_check 0.9.5", ] @@ -7356,8 +7370,8 @@ checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ "proc-macro-crate 1.1.3", "proc-macro-error", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", "synstructure 0.12.6", ] @@ -7384,8 +7398,8 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79a74ddee9e0c27d2578323c13905793e91622148f138ba29738f9dddb835e90" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", "target-features", ] @@ -7396,22 +7410,22 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", ] [[package]] name = "native-tls" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +checksum = "465500e14ea162429d264d44189adc38b199b62b1c21eea9f69e4b73cb03bbf2" dependencies = [ "libc", "log", "openssl", - "openssl-probe", + "openssl-probe 0.2.1", "openssl-sys", "schannel", - "security-framework 2.11.1", + "security-framework 3.7.0", "security-framework-sys", "tempfile", ] @@ -7456,7 +7470,7 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "fsevent-sys", "inotify", "kqueue", @@ -7470,9 +7484,12 @@ dependencies = [ [[package]] name = "notify-types" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" +checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" +dependencies = [ + "bitflags 2.11.0", +] [[package]] name = "now" @@ -7485,9 +7502,9 @@ dependencies = [ [[package]] name = "ntapi" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" +checksum = "c3b335231dfd352ffb0f8017f3b6027a4917f7df785ea2143d8af2adc66980ae" dependencies = [ "winapi", ] @@ -7553,9 +7570,9 @@ dependencies = [ [[package]] name = "num-conv" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" [[package]] name = "num-integer" @@ -7624,10 +7641,10 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro-crate 3.5.0", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -7647,30 +7664,36 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "nybbles" -version = "0.3.4" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +checksum = "0d49ff0c0d00d4a502b39df9af3a525e1efeb14b9dabb5bb83335284c1309210" dependencies = [ "alloy-rlp", - "const-hex", + "arbitrary", + "cfg-if", "proptest", + "ruint", "serde", "smallvec", ] [[package]] -name = "nybbles" -version = "0.4.6" +name = "objc2-core-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c4b5ecbd0beec843101bffe848217f770e8b8da81d8355b7d6e226f2199b3dc" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "alloy-rlp", - "arbitrary", - "cfg-if", - "proptest", - "ruint", - "serde", - "smallvec", + "bitflags 2.11.0", +] + +[[package]] +name = "objc2-io-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" +dependencies = [ + "libc", + "objc2-core-foundation", ] [[package]] @@ -7695,50 +7718,116 @@ version = "11.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" +[[package]] +name = "op-alloy" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9b8fee21003dd4f076563de9b9d26f8c97840157ef78593cd7f262c5ca99848" +dependencies = [ + "op-alloy-consensus", + "op-alloy-network", + "op-alloy-provider", + "op-alloy-rpc-types", + "op-alloy-rpc-types-engine", +] + [[package]] name = "op-alloy-consensus" -version = "0.22.4" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726da827358a547be9f1e37c2a756b9e3729cb0350f43408164794b370cad8ae" +checksum = "736381a95471d23e267263cfcee9e1d96d30b9754a94a2819148f83379de8a86" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-network", + "alloy-primitives 1.5.7", "alloy-rlp", + "alloy-rpc-types-eth", "alloy-serde", "arbitrary", - "derive_more 2.1.0", + "derive_more 2.1.1", "serde", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", +] + +[[package]] +name = "op-alloy-network" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4034183dca6bff6632e7c24c92e75ff5f0eabb58144edb4d8241814851334d47" +dependencies = [ + "alloy-consensus", + "alloy-network", + "alloy-primitives 1.5.7", + "alloy-provider", + "alloy-rpc-types-eth", + "alloy-signer", + "op-alloy-consensus", + "op-alloy-rpc-types", +] + +[[package]] +name = "op-alloy-provider" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6753d90efbaa8ea8bcb89c1737408ca85fa60d7adb875049d3f382c063666f86" +dependencies = [ + "alloy-network", + "alloy-primitives 1.5.7", + "alloy-provider", + "alloy-rpc-types-engine", + "alloy-transport", + "async-trait", + "op-alloy-rpc-types-engine", +] + +[[package]] +name = "op-alloy-rpc-types" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd87c6b9e5b6eee8d6b76f41b04368dca0e9f38d83338e5b00e730c282098a4" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives 1.5.7", + "alloy-rpc-types-eth", + "alloy-serde", + "derive_more 2.1.1", + "op-alloy-consensus", + "serde", + "serde_json", + "thiserror 2.0.18", ] [[package]] name = "op-alloy-rpc-types-engine" -version = "0.22.4" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f24b8cb66e4b33e6c9e508bf46b8ecafc92eadd0b93fedd306c0accb477657" +checksum = "77727699310a18cdeed32da3928c709e2704043b6584ed416397d5da65694efc" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-engine", "alloy-serde", - "derive_more 2.1.0", + "derive_more 2.1.1", "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", + "ethereum_ssz_derive 0.9.1", "op-alloy-consensus", "serde", + "sha2 0.10.9", "snap", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "op-revm" -version = "12.0.2" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e31622d03b29c826e48800f4c8f389c8a9c440eb796a3e35203561a288f12985" +checksum = "79c92b75162c2ed1661849fa51683b11254a5b661798360a2c24be918edafd40" dependencies = [ "auto_impl", "revm", @@ -7771,18 +7860,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] [[package]] name = "openssl" -version = "0.10.75" +version = "0.10.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" +checksum = "951c002c75e16ea2c65b8c7e4d3d51d5530d8dfa7d060b4776828c88cfb18ecf" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "cfg-if", "foreign-types", "libc", @@ -7797,9 +7886,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -7808,11 +7897,17 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + [[package]] name = "openssl-sys" -version = "0.9.111" +version = "0.9.112" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" +checksum = "57d55af3b3e226502be1526dfdba67ab0e9c96fc293004e79576b2b9edb0dbdb" dependencies = [ "cc", "libc", @@ -7830,21 +7925,33 @@ dependencies = [ "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] [[package]] -name = "opentelemetry-http" -version = "0.31.0" +name = "opentelemetry-appender-tracing" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" +checksum = "ef6a1ac5ca3accf562b8c306fa8483c85f4390f768185ab775f242f7fe8fdcc2" dependencies = [ - "async-trait", - "bytes", + "opentelemetry", + "tracing", + "tracing-core", + "tracing-subscriber 0.3.22", +] + +[[package]] +name = "opentelemetry-http" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" +dependencies = [ + "async-trait", + "bytes", "http 1.4.0", "opentelemetry", - "reqwest 0.12.24", + "reqwest 0.12.28", ] [[package]] @@ -7858,11 +7965,11 @@ dependencies = [ "opentelemetry-http", "opentelemetry-proto", "opentelemetry_sdk", - "prost 0.14.1", - "reqwest 0.12.24", - "thiserror 2.0.17", + "prost 0.14.3", + "reqwest 0.12.28", + "thiserror 2.0.18", "tokio", - "tonic 0.14.2", + "tonic 0.14.5", "tracing", ] @@ -7874,8 +7981,8 @@ checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" dependencies = [ "opentelemetry", "opentelemetry_sdk", - "prost 0.14.1", - "tonic 0.14.2", + "prost 0.14.3", + "tonic 0.14.5", "tonic-prost", ] @@ -7897,7 +8004,7 @@ dependencies = [ "opentelemetry", "percent-encoding", "rand 0.9.2", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -7952,10 +8059,10 @@ version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro-crate 3.5.0", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -7982,9 +8089,9 @@ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.5.18", "smallvec", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -8081,9 +8188,9 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.4" +version = "2.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22" +checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662" dependencies = [ "memchr", "ucd-trie", @@ -8096,7 +8203,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.12.1", + "indexmap 2.13.0", ] [[package]] @@ -8187,9 +8294,9 @@ checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator 0.11.3", "phf_shared 0.11.3", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -8200,9 +8307,9 @@ checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" dependencies = [ "phf_generator 0.13.1", "phf_shared 0.13.1", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -8220,7 +8327,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ - "siphasher 1.0.1", + "siphasher 1.0.2", ] [[package]] @@ -8229,34 +8336,34 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ - "siphasher 1.0.1", + "siphasher 1.0.2", ] [[package]] name = "pin-project" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.10" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] name = "pin-utils" @@ -8301,6 +8408,12 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + [[package]] name = "plain_hasher" version = "0.2.3" @@ -8353,7 +8466,7 @@ version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1362d4a136c0ebacb40d88a37ba361738b222fd8a2ee9340a3d8642f698c52b" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "polars-core", "polars-io", "polars-lazy", @@ -8386,12 +8499,12 @@ checksum = "b24f92fc5b167f668ff85ab9607dfa72e2c09664cacef59297ee8601dee60126" dependencies = [ "ahash", "arrow2", - "bitflags 2.10.0", + "bitflags 2.11.0", "chrono", "comfy-table", "either", "hashbrown 0.14.5", - "indexmap 2.12.1", + "indexmap 2.13.0", "num-traits", "once_cell", "polars-arrow", @@ -8457,7 +8570,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c33762ec2a55e01c9f8776b34db86257c70a0a3b3929bd4eb91a52aacf61456" dependencies = [ "ahash", - "bitflags 2.10.0", + "bitflags 2.11.0", "glob", "once_cell", "polars-arrow", @@ -8482,7 +8595,7 @@ dependencies = [ "argminmax", "arrow2", "either", - "indexmap 2.12.1", + "indexmap 2.13.0", "memchr", "polars-arrow", "polars-core", @@ -8620,9 +8733,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "postcard" @@ -8668,9 +8781,9 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "predicates" -version = "3.1.3" +version = "3.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d19ee57562043d37e82899fade9a22ebab7be9cef5026b07fda9cdd4293573" +checksum = "ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe" dependencies = [ "anstyle", "predicates-core", @@ -8678,15 +8791,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727e462b119fe9c93fd0eb1429a5f7647394014cf3c04ab2c0350eeb09095ffa" +checksum = "cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144" [[package]] name = "predicates-tree" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72dd2d6d381dfb73a193c7fca536518d7caee39fc8503f74e7dc0be0531b425c" +checksum = "d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2" dependencies = [ "predicates-core", "termtree", @@ -8708,8 +8821,8 @@ version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ - "proc-macro2 1.0.103", - "syn 2.0.111", + "proc-macro2 1.0.106", + "syn 2.0.117", ] [[package]] @@ -8742,7 +8855,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93980406f12d9f8140ed5abe7155acb10bb1e69ea55c88960b9c2f117445ef96" dependencies = [ "equivalent", - "indexmap 2.12.1", + "indexmap 2.13.0", "serde", ] @@ -8758,11 +8871,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f" dependencies = [ - "toml_edit 0.23.7", + "toml_edit 0.25.4+spec-1.1.0", ] [[package]] @@ -8772,8 +8885,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", "version_check 0.9.5", ] @@ -8784,8 +8897,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "version_check 0.9.5", ] @@ -8795,8 +8908,8 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", ] [[package]] @@ -8806,9 +8919,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ "proc-macro-error-attr2", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -8822,47 +8935,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] -[[package]] -name = "procfs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" -dependencies = [ - "bitflags 2.10.0", - "chrono", - "flate2", - "hex", - "procfs-core 0.17.0", - "rustix 0.38.44", -] - [[package]] name = "procfs" version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25485360a54d6861439d60facef26de713b1e126bf015ec8f98239467a2b82f7" dependencies = [ - "bitflags 2.10.0", - "procfs-core 0.18.0", - "rustix 1.1.2", -] - -[[package]] -name = "procfs-core" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" -dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "chrono", - "hex", + "flate2", + "procfs-core", + "rustix", ] [[package]] @@ -8871,7 +8961,8 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6401bf7b6af22f78b563665d15a22e9aef27775b79b149a66ca022468a4e405" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", + "chrono", "hex", ] @@ -8892,18 +8983,18 @@ dependencies = [ [[package]] name = "proptest" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +checksum = "37566cb3fdacef14c0737f9546df7cfeadbfbc9fef10991038bf5015d0c80532" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.10.0", + "bitflags 2.11.0", "num-traits", "rand 0.9.2", "rand_chacha 0.9.0", "rand_xorshift 0.4.0", - "regex-syntax 0.8.8", + "regex-syntax 0.8.10", "rusty-fork", "tempfile", "unarray", @@ -8921,24 +9012,13 @@ dependencies = [ [[package]] name = "proptest-derive" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" -dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", -] - -[[package]] -name = "proptest-derive" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "095a99f75c69734802359b682be8daaf8980296731f6470434ea2c652af1dd30" +checksum = "fb6dc647500e84a25a85b100e76c85b8ace114c209432dc174f20aac11d4ed6c" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -8953,12 +9033,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" dependencies = [ "bytes", - "prost-derive 0.14.1", + "prost-derive 0.14.3", ] [[package]] @@ -8977,7 +9057,7 @@ dependencies = [ "prost 0.13.5", "prost-types", "regex", - "syn 2.0.111", + "syn 2.0.117", "tempfile", ] @@ -8989,22 +9069,22 @@ checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", "itertools 0.14.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "prost-derive" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", "itertools 0.14.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -9022,17 +9102,6 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" -[[package]] -name = "pulldown-cmark" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" -dependencies = [ - "bitflags 2.10.0", - "memchr", - "unicase", -] - [[package]] name = "quanta" version = "0.12.6" @@ -9065,9 +9134,9 @@ dependencies = [ [[package]] name = "quick_cache" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ada44a88ef953a3294f6eb55d2007ba44646015e18613d2f213016379203ef3" +checksum = "530e84778a55de0f52645a51d4e3b9554978acd6a1e7cd50b6a6784692b3029e" dependencies = [ "ahash", "equivalent", @@ -9087,9 +9156,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.35", - "socket2 0.6.1", - "thiserror 2.0.17", + "rustls 0.23.37", + "socket2 0.6.3", + "thiserror 2.0.18", "tokio", "tracing", "web-time", @@ -9097,9 +9166,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.13" +version = "0.11.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" dependencies = [ "bytes", "getrandom 0.3.4", @@ -9107,10 +9176,10 @@ dependencies = [ "rand 0.9.2", "ring", "rustc-hash 2.1.1", - "rustls 0.23.35", + "rustls 0.23.37", "rustls-pki-types", "slab", - "thiserror 2.0.17", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -9125,7 +9194,7 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.1", + "socket2 0.6.3", "tracing", "windows-sys 0.60.2", ] @@ -9141,11 +9210,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.42" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ - "proc-macro2 1.0.103", + "proc-macro2 1.0.106", ] [[package]] @@ -9154,6 +9223,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "radium" version = "0.7.0" @@ -9211,7 +9286,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", - "rand_core 0.9.3", + "rand_core 0.9.5", "serde", ] @@ -9252,7 +9327,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -9285,14 +9360,14 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", ] [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ "getrandom 0.3.4", "serde", @@ -9385,7 +9460,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", ] [[package]] @@ -9394,28 +9469,80 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" dependencies = [ - "rand_core 0.9.3", + "rand_core 0.9.5", +] + +[[package]] +name = "rapidhash" +version = "4.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e48930979c155e2f33aa36ab3119b5ee81332beb6482199a8ecd6029b80b59" +dependencies = [ + "rand 0.9.2", + "rustversion", ] [[package]] name = "ratatui" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" +checksum = "d1ce67fb8ba4446454d1c8dbaeda0557ff5e94d39d5e5ed7f10a65eb4c8266bc" dependencies = [ - "bitflags 2.10.0", - "cassowary", + "instability", + "ratatui-core", + "ratatui-crossterm", + "ratatui-widgets", +] + +[[package]] +name = "ratatui-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef8dea09a92caaf73bff7adb70b76162e5937524058a7e5bff37869cbbec293" +dependencies = [ + "bitflags 2.11.0", "compact_str", - "crossterm 0.28.1", + "hashbrown 0.16.1", "indoc", - "instability", - "itertools 0.13.0", - "lru 0.12.5", - "paste", - "strum 0.26.3", + "itertools 0.14.0", + "kasuari", + "lru 0.16.3", + "strum 0.27.2", + "thiserror 2.0.18", "unicode-segmentation", "unicode-truncate", - "unicode-width 0.2.0", + "unicode-width", +] + +[[package]] +name = "ratatui-crossterm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "577c9b9f652b4c121fb25c6a391dd06406d3b092ba68827e6d2f09550edc54b3" +dependencies = [ + "cfg-if", + "crossterm", + "instability", + "ratatui-core", +] + +[[package]] +name = "ratatui-widgets" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7dbfa023cd4e604c2553483820c5fe8aa9d71a42eea5aa77c6e7f35756612db" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.16.1", + "indoc", + "instability", + "itertools 0.14.0", + "line-clipping", + "ratatui-core", + "strum 0.27.2", + "time", + "unicode-segmentation", + "unicode-width", ] [[package]] @@ -9424,7 +9551,7 @@ version = "11.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", ] [[package]] @@ -9460,7 +9587,7 @@ dependencies = [ "alloy-network", "alloy-network-primitives", "alloy-node-bindings", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-provider", "alloy-rlp", "alloy-rpc-types", @@ -9468,12 +9595,12 @@ dependencies = [ "alloy-rpc-types-engine", "alloy-rpc-types-eth", "alloy-signer-local", - "alloy-trie 0.8.1", + "alloy-trie", "assert_matches", "async-trait", "beacon-api-client", "bid-scraper", - "bigdecimal 0.4.9", + "bigdecimal 0.4.10", "bincode", "built", "clap", @@ -9483,7 +9610,7 @@ dependencies = [ "ctor", "dashmap 6.1.0", "derivative", - "derive_more 2.1.0", + "derive_more 2.1.1", "eth-sparse-mpt", "ethereum-consensus", "ethereum_ssz 0.9.1", @@ -9498,7 +9625,7 @@ dependencies = [ "jsonrpsee 0.20.4", "lazy_static", "lru 0.12.5", - "lz4_flex", + "lz4_flex 0.11.5", "mempool-dumpster", "metrics_macros", "mev-share-sse", @@ -9515,7 +9642,7 @@ dependencies = [ "rbuilder-primitives", "rbuilder-utils", "reipc", - "reqwest 0.12.24", + "reqwest 0.12.28", "reth", "reth-chainspec", "reth-db", @@ -9582,7 +9709,7 @@ name = "rbuilder-operator" version = "0.1.0" dependencies = [ "ahash", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-beacon", "alloy-signer", "alloy-signer-local", @@ -9611,7 +9738,7 @@ dependencies = [ "rbuilder-primitives", "rbuilder-utils", "redis", - "reqwest 0.12.24", + "reqwest 0.12.28", "serde", "serde_json", "serde_repr", @@ -9635,22 +9762,22 @@ dependencies = [ "ahash", "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types", "alloy-rpc-types-beacon", "alloy-rpc-types-engine", "criterion", "derivative", - "derive_more 2.1.0", + "derive_more 2.1.1", "ethereum-consensus", "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", + "ethereum_ssz_derive 0.9.1", "eyre", "integer-encoding", "proptest", "rand 0.8.5", - "reqwest 0.12.24", + "reqwest 0.12.28", "reth-chainspec", "reth-ethereum-primitives", "reth-primitives", @@ -9678,7 +9805,7 @@ version = "0.1.0" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-provider", "alloy-rpc-types-eth", "alloy-signer", @@ -9687,7 +9814,7 @@ dependencies = [ "eyre", "futures", "rbuilder-config", - "reqwest 0.12.24", + "reqwest 0.12.28", "serde", "serde_json", "tokio", @@ -9699,9 +9826,9 @@ dependencies = [ name = "rbuilder-utils" version = "0.1.0" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "clickhouse", - "derive_more 2.1.0", + "derive_more 2.1.1", "rand 0.9.2", "redb", "reth-tasks 1.8.2", @@ -9731,9 +9858,9 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redb" -version = "3.1.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae323eb086579a3769daa2c753bb96deb95993c534711e0dbe881b5192906a06" +checksum = "ef99362319c782aa4639ad3a306b64c3bb90e12874e99b8df124cb679d988611" dependencies = [ "libc", ] @@ -9759,7 +9886,16 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", +] + +[[package]] +name = "redox_syscall" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +dependencies = [ + "bitflags 2.11.0", ] [[package]] @@ -9768,7 +9904,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", "thiserror 1.0.69", ] @@ -9779,9 +9915,9 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "libredox", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] @@ -9799,32 +9935,32 @@ version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "regex" -version = "1.12.2" +version = "1.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" dependencies = [ "aho-corasick", "memchr", "regex-automata", - "regex-syntax 0.8.8", + "regex-syntax 0.8.10", ] [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.8", + "regex-syntax 0.8.10", ] [[package]] @@ -9835,9 +9971,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.8" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "regress" @@ -9855,7 +9991,7 @@ version = "0.1.0" source = "git+https://github.com/nethermindeth/reipc.git?rev=b0b70735cda6273652212d1591188642e3449ed7#b0b70735cda6273652212d1591188642e3449ed7" dependencies = [ "alloy-json-rpc", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "bytes", "crossbeam", @@ -9914,9 +10050,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.24" +version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ "base64 0.22.1", "bytes", @@ -9924,7 +10060,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.12", + "h2 0.4.13", "http 1.4.0", "http-body 1.0.1", "http-body-util", @@ -9939,8 +10075,8 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls 0.23.37", + "rustls-native-certs 0.8.3", "rustls-pki-types", "serde", "serde_json", @@ -9950,7 +10086,7 @@ dependencies = [ "tokio-native-tls", "tokio-rustls 0.26.4", "tokio-util", - "tower 0.5.2", + "tower 0.5.3", "tower-http", "tower-service", "url", @@ -9958,7 +10094,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 1.0.4", + "webpki-roots 1.0.6", ] [[package]] @@ -9969,13 +10105,13 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ + "alloy-primitives 1.5.7", "alloy-rpc-types", "aquamarine", "clap", - "eyre", "reth-chainspec", "reth-cli-runner", "reth-cli-util", @@ -9984,8 +10120,6 @@ dependencies = [ "reth-db", "reth-ethereum-cli", "reth-ethereum-payload-builder", - "reth-ethereum-primitives", - "reth-evm", "reth-network", "reth-network-api", "reth-node-api", @@ -9997,8 +10131,6 @@ dependencies = [ "reth-payload-primitives", "reth-primitives", "reth-provider", - "reth-ress-protocol", - "reth-ress-provider", "reth-revm", "reth-rpc", "reth-rpc-api", @@ -10006,57 +10138,56 @@ dependencies = [ "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-tasks 1.9.3", - "reth-tokio-util", + "reth-tasks 1.11.2", "reth-transaction-pool", - "tokio", "tracing", ] [[package]] name = "reth-basic-payload-builder" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "futures-core", "futures-util", "metrics", "reth-chain-state", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", "reth-revm", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "tokio", "tracing", ] [[package]] name = "reth-chain-state" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-signer", "alloy-signer-local", - "derive_more 2.1.0", + "derive_more 2.1.1", "metrics", "parking_lot", "pin-project", "rand 0.9.2", + "rayon", "reth-chainspec", "reth-errors", "reth-ethereum-primitives", "reth-execution-types", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-storage-api", "reth-trie", @@ -10070,18 +10201,18 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-chains", "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-genesis", - "alloy-primitives 1.4.1", - "alloy-trie 0.9.1", + "alloy-primitives 1.5.7", + "alloy-trie", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "reth-ethereum-forks", "reth-network-peers", "reth-primitives-traits", @@ -10090,8 +10221,8 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-genesis", "clap", @@ -10104,18 +10235,18 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-chains", "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "backon", "clap", "comfy-table", - "crossterm 0.28.1", + "crossterm", "eyre", "fdlimit", "futures", @@ -10123,8 +10254,10 @@ dependencies = [ "humantime", "itertools 0.14.0", "lz4", + "metrics", + "parking_lot", "ratatui", - "reqwest 0.12.24", + "reqwest 0.12.28", "reth-chainspec", "reth-cli", "reth-cli-runner", @@ -10163,6 +10296,8 @@ dependencies = [ "reth-stages", "reth-static-file", "reth-static-file-types", + "reth-storage-api", + "reth-tasks 1.11.2", "reth-trie", "reth-trie-common", "reth-trie-db", @@ -10172,28 +10307,29 @@ dependencies = [ "tar", "tokio", "tokio-stream", - "toml 0.8.23", + "toml 0.9.12+spec-1.1.0", "tracing", + "url", "zstd 0.13.3", ] [[package]] name = "reth-cli-runner" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "tokio", "tracing", ] [[package]] name = "reth-cli-util" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "cfg-if", "eyre", "libc", @@ -10201,20 +10337,20 @@ dependencies = [ "reth-fs-util", "secp256k1 0.30.0", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tikv-jemallocator", ] [[package]] name = "reth-codecs" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", - "alloy-primitives 1.4.1", - "alloy-trie 0.9.1", + "alloy-primitives 1.5.7", + "alloy-trie", "arbitrary", "bytes", "modular-bitfield", @@ -10227,46 +10363,47 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "reth-config" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "eyre", "humantime-serde", "reth-network-types", "reth-prune-types", "reth-stages-types", + "reth-static-file-types", "serde", - "toml 0.8.23", + "toml 0.9.12+spec-1.1.0", "url", ] [[package]] name = "reth-consensus" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "auto_impl", "reth-execution-types", "reth-primitives-traits", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-consensus-common" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10277,21 +10414,21 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-json-rpc", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-provider", "alloy-rpc-types-engine", "alloy-transport", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "eyre", "futures", - "reqwest 0.12.24", + "reqwest 0.12.28", "reth-node-api", "reth-primitives-traits", "reth-tracing", @@ -10303,11 +10440,11 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", - "derive_more 2.1.0", + "alloy-primitives 1.5.7", + "derive_more 2.1.1", "eyre", "metrics", "page_size", @@ -10315,37 +10452,39 @@ dependencies = [ "reth-db-api", "reth-fs-util", "reth-libmdbx", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-nippy-jar", "reth-static-file-types", "reth-storage-errors", "reth-tracing", "rustc-hash 2.1.1", "strum 0.27.2", - "sysinfo 0.33.1", + "sysinfo 0.38.4", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", + "tracing", ] [[package]] name = "reth-db-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-genesis", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "arbitrary", + "arrayvec", "bytes", - "derive_more 2.1.0", + "derive_more 2.1.1", "metrics", "modular-bitfield", + "op-alloy-consensus", "parity-scale-codec", "proptest", "reth-codecs", "reth-db-models", "reth-ethereum-primitives", - "reth-optimism-primitives", "reth-primitives-traits", "reth-prune-types", "reth-stages-types", @@ -10357,12 +10496,12 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-genesis", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "boyer-moore-magiclen", "eyre", "reth-chainspec", @@ -10381,17 +10520,17 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] [[package]] name = "reth-db-models" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "arbitrary", "bytes", "modular-bitfield", @@ -10402,10 +10541,10 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "discv5", "enr 0.13.0", @@ -10419,7 +10558,7 @@ dependencies = [ "schnellru", "secp256k1 0.30.0", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tracing", @@ -10427,12 +10566,12 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "derive_more 2.1.0", + "derive_more 2.1.1", "discv5", "enr 0.13.0", "futures", @@ -10441,25 +10580,25 @@ dependencies = [ "rand 0.9.2", "reth-chainspec", "reth-ethereum-forks", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-peers", "secp256k1 0.30.0", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-dns-discovery" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", + "dashmap 6.1.0", "data-encoding", "enr 0.13.0", "hickory-resolver", "linked_hash_set", - "parking_lot", "reth-ethereum-forks", "reth-network-peers", "reth-tokio-util", @@ -10467,7 +10606,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tracing", @@ -10475,12 +10614,12 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "async-compression", "futures", @@ -10491,13 +10630,13 @@ dependencies = [ "rayon", "reth-config", "reth-consensus", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-p2p", "reth-network-peers", "reth-primitives-traits", "reth-storage-api", - "reth-tasks 1.9.3", - "thiserror 2.0.17", + "reth-tasks 1.11.2", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", @@ -10506,11 +10645,11 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "aes", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "block-padding", "byteorder", @@ -10519,29 +10658,26 @@ dependencies = [ "ctr", "digest 0.10.7", "futures", - "generic-array", "hmac", "pin-project", "rand 0.8.5", "reth-network-peers", "secp256k1 0.30.0", "sha2 0.10.9", - "sha3", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", "tracing", - "typenum", ] [[package]] name = "reth-engine-local" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "eyre", "futures-util", @@ -10550,6 +10686,7 @@ dependencies = [ "reth-ethereum-engine-primitives", "reth-payload-builder", "reth-payload-primitives", + "reth-primitives-traits", "reth-storage-api", "reth-transaction-pool", "tokio", @@ -10559,12 +10696,12 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "auto_impl", "futures", @@ -10578,14 +10715,14 @@ dependencies = [ "reth-primitives-traits", "reth-trie-common", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] [[package]] name = "reth-engine-service" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "futures", "pin-project", @@ -10593,7 +10730,6 @@ dependencies = [ "reth-consensus", "reth-engine-primitives", "reth-engine-tree", - "reth-ethereum-primitives", "reth-evm", "reth-network-p2p", "reth-node-types", @@ -10601,26 +10737,28 @@ dependencies = [ "reth-provider", "reth-prune", "reth-stages-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", + "reth-trie-db", ] [[package]] name = "reth-engine-tree" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", + "alloy-eip7928", "alloy-eips", "alloy-evm", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-engine", "crossbeam-channel", - "dashmap 6.1.0", - "derive_more 2.1.0", + "derive_more 2.1.1", + "fixed-cache", "futures", "metrics", - "mini-moka", + "moka", "parking_lot", "rayon", "reth-chain-state", @@ -10631,7 +10769,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm", "reth-execution-types", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-p2p", "reth-payload-builder", "reth-payload-primitives", @@ -10640,24 +10778,25 @@ dependencies = [ "reth-prune", "reth-revm", "reth-stages-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-trie", + "reth-trie-common", + "reth-trie-db", "reth-trie-parallel", "reth-trie-sparse", - "reth-trie-sparse-parallel", "revm", "revm-primitives", "schnellru", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-engine-util" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -10684,30 +10823,30 @@ dependencies = [ [[package]] name = "reth-era" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "ethereum_ssz 0.9.1", - "ethereum_ssz_derive", - "reth-ethereum-primitives", + "ethereum_ssz 0.10.1", + "ethereum_ssz_derive 0.10.1", "snap", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-era-downloader" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "bytes", "eyre", "futures-util", - "reqwest 0.12.24", + "reqwest 0.12.28", + "reth-era", "reth-fs-util", "sha2 0.10.9", "tokio", @@ -10715,11 +10854,11 @@ dependencies = [ [[package]] name = "reth-era-utils" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "eyre", "futures-util", "reth-db-api", @@ -10737,37 +10876,37 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "reth-consensus", "reth-execution-errors", "reth-storage-errors", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-eth-wire" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-chains", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "bytes", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures", "pin-project", "reth-codecs", "reth-ecies", "reth-eth-wire-types", "reth-ethereum-forks", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-peers", "reth-primitives-traits", "serde", "snap", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", @@ -10776,29 +10915,29 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-chains", "alloy-consensus", "alloy-eips", - "alloy-hardforks 0.4.4", - "alloy-primitives 1.4.1", + "alloy-hardforks 0.4.7", + "alloy-primitives 1.5.7", "alloy-rlp", "bytes", - "derive_more 2.1.0", + "derive_more 2.1.1", "reth-chainspec", "reth-codecs-derive", "reth-ethereum-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-ethereum-cli" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "clap", "eyre", @@ -10813,20 +10952,19 @@ dependencies = [ "reth-node-ethereum", "reth-node-metrics", "reth-rpc-server-types", + "reth-tasks 1.11.2", "reth-tracing", - "reth-tracing-otlp", "tracing", - "url", ] [[package]] name = "reth-ethereum-consensus" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -10837,11 +10975,11 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-engine", "reth-engine-primitives", @@ -10850,17 +10988,17 @@ dependencies = [ "reth-primitives-traits", "serde", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-ethereum-forks" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eip2124", - "alloy-hardforks 0.4.4", - "alloy-primitives 1.4.1", + "alloy-hardforks 0.4.7", + "alloy-primitives 1.5.7", "auto_impl", "once_cell", "rustc-hash 2.1.1", @@ -10868,12 +11006,12 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-engine", "reth-basic-payload-builder", @@ -10897,12 +11035,12 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-eth", "alloy-serde", @@ -10917,8 +11055,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "rayon", "reth-db-api", @@ -10927,20 +11065,21 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures-util", "metrics", + "rayon", "reth-execution-errors", "reth-execution-types", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -10950,15 +11089,15 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", - "derive_more 2.1.0", + "derive_more 2.1.1", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -10971,27 +11110,27 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-evm", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "nybbles 0.4.6", + "nybbles", "reth-storage-errors", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-execution-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", - "alloy-primitives 1.4.1", - "derive_more 2.1.0", + "alloy-primitives 1.5.7", + "derive_more 2.1.1", "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", @@ -11002,12 +11141,12 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "eyre", "futures", "itertools 0.14.0", @@ -11020,7 +11159,7 @@ dependencies = [ "reth-evm", "reth-exex-types", "reth-fs-util", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-node-api", "reth-node-core", "reth-payload-builder", @@ -11029,10 +11168,10 @@ dependencies = [ "reth-prune-types", "reth-revm", "reth-stages-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-tracing", "rmp-serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", "tracing", @@ -11040,11 +11179,11 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "reth-chain-state", "reth-execution-types", "reth-primitives-traits", @@ -11054,21 +11193,21 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-invalid-block-hooks" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-debug", "eyre", @@ -11092,8 +11231,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "bytes", "futures", @@ -11102,36 +11241,36 @@ dependencies = [ "jsonrpsee 0.26.0", "pin-project", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", - "tower 0.5.2", + "tower 0.5.3", "tracing", ] [[package]] name = "reth-libmdbx" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "byteorder", "dashmap 6.1.0", - "derive_more 2.1.0", + "derive_more 2.1.1", "parking_lot", "reth-mdbx-sys", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", ] [[package]] name = "reth-mdbx-sys" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "bindgen 0.71.1", + "bindgen", "cc", ] @@ -11146,8 +11285,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "futures", "metrics", @@ -11158,38 +11297,39 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", + "ipnet", ] [[package]] name = "reth-net-nat" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "futures-util", "if-addrs", - "reqwest 0.12.24", + "reqwest 0.12.28", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-network" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "aquamarine", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "discv5", "enr 0.13.0", "futures", @@ -11199,6 +11339,7 @@ dependencies = [ "pin-project", "rand 0.8.5", "rand 0.9.2", + "rayon", "reth-chainspec", "reth-consensus", "reth-discv4", @@ -11210,7 +11351,7 @@ dependencies = [ "reth-ethereum-forks", "reth-ethereum-primitives", "reth-fs-util", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-net-banlist", "reth-network-api", "reth-network-p2p", @@ -11218,7 +11359,7 @@ dependencies = [ "reth-network-types", "reth-primitives-traits", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-tokio-util", "reth-transaction-pool", "rustc-hash 2.1.1", @@ -11226,7 +11367,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tokio-util", @@ -11235,15 +11376,15 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-admin", "alloy-rpc-types-eth", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "enr 0.13.0", "futures", "reth-eth-wire-types", @@ -11253,21 +11394,21 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", ] [[package]] name = "reth-network-p2p" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "auto_impl", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures", "reth-consensus", "reth-eth-wire-types", @@ -11282,23 +11423,23 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "enr 0.13.0", "secp256k1 0.30.0", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "url", ] [[package]] name = "reth-network-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -11311,25 +11452,25 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "anyhow", "bincode", - "derive_more 2.1.0", - "lz4_flex", - "memmap2 0.9.9", + "derive_more 2.1.1", + "lz4_flex 0.12.0", + "memmap2 0.9.10", "reth-fs-util", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tracing", "zstd 0.13.3", ] [[package]] name = "reth-node-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -11345,19 +11486,19 @@ dependencies = [ "reth-payload-builder-primitives", "reth-payload-primitives", "reth-provider", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-tokio-util", "reth-transaction-pool", ] [[package]] name = "reth-node-builder" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-provider", "alloy-rpc-types", "alloy-rpc-types-engine", @@ -11366,11 +11507,11 @@ dependencies = [ "fdlimit", "futures", "jsonrpsee 0.26.0", + "parking_lot", "rayon", "reth-basic-payload-builder", "reth-chain-state", "reth-chainspec", - "reth-cli-util", "reth-config", "reth-consensus", "reth-consensus-debug-client", @@ -11407,10 +11548,11 @@ dependencies = [ "reth-rpc-layer", "reth-stages", "reth-static-file", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-tokio-util", "reth-tracing", "reth-transaction-pool", + "reth-trie-db", "secp256k1 0.30.0", "serde_json", "tokio", @@ -11420,19 +11562,20 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "clap", - "derive_more 2.1.0", + "derive_more 2.1.1", "dirs-next", "eyre", "futures", "humantime", + "ipnet", "rand 0.9.2", "reth-chainspec", "reth-cli-util", @@ -11444,6 +11587,7 @@ dependencies = [ "reth-engine-local", "reth-engine-primitives", "reth-ethereum-forks", + "reth-net-banlist", "reth-net-nat", "reth-network", "reth-network-p2p", @@ -11463,8 +11607,8 @@ dependencies = [ "serde", "shellexpand", "strum 0.27.2", - "thiserror 2.0.17", - "toml 0.8.23", + "thiserror 2.0.18", + "toml 0.9.12+spec-1.1.0", "tracing", "url", "vergen", @@ -11473,8 +11617,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", "alloy-network", @@ -11511,11 +11655,11 @@ dependencies = [ [[package]] name = "reth-node-ethstats" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "chrono", "futures-util", "reth-chain-state", @@ -11525,24 +11669,24 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", - "tokio-tungstenite 0.26.2", + "tokio-tungstenite 0.28.0", "tracing", "url", ] [[package]] name = "reth-node-events" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures", "humantime", "pin-project", @@ -11559,30 +11703,32 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ + "bytes", "eyre", "http 1.4.0", + "http-body-util", "jsonrpsee-server 0.26.0", "metrics", "metrics-exporter-prometheus", "metrics-process", "metrics-util", - "procfs 0.17.0", - "reqwest 0.12.24", - "reth-metrics 1.9.3", - "reth-tasks 1.9.3", + "procfs", + "reqwest 0.12.28", + "reth-metrics 1.11.2", + "reth-tasks 1.11.2", "tikv-jemalloc-ctl", "tokio", - "tower 0.5.2", + "tower 0.5.3", "tracing", ] [[package]] name = "reth-node-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "reth-chainspec", "reth-db-api", @@ -11592,38 +11738,18 @@ dependencies = [ ] [[package]] -name = "reth-optimism-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +name = "reth-payload-builder" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-eips", - "alloy-primitives 1.4.1", - "alloy-rlp", - "arbitrary", - "bytes", - "modular-bitfield", - "op-alloy-consensus", - "reth-codecs", - "reth-primitives-traits", - "reth-zstd-compressors", - "serde", - "serde_with", -] - -[[package]] -name = "reth-payload-builder" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" -dependencies = [ - "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types", "futures-util", "metrics", "reth-chain-state", "reth-ethereum-engine-primitives", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", @@ -11634,8 +11760,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "pin-project", "reth-payload-primitives", @@ -11646,11 +11772,12 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ + "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "auto_impl", "either", @@ -11658,16 +11785,18 @@ dependencies = [ "reth-chain-state", "reth-chainspec", "reth-errors", + "reth-execution-types", "reth-primitives-traits", + "reth-trie-common", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] [[package]] name = "reth-payload-validator" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -11676,10 +11805,14 @@ dependencies = [ [[package]] name = "reth-primitives" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", + "alloy-eips", + "alloy-genesis", + "alloy-primitives 1.5.7", + "alloy-rlp", "c-kzg", "once_cell", "reth-ethereum-forks", @@ -11690,21 +11823,22 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-eth", - "alloy-trie 0.9.1", + "alloy-trie", "arbitrary", "auto_impl", "byteorder", "bytes", - "derive_more 2.1.0", + "dashmap 6.1.0", + "derive_more 2.1.1", "modular-bitfield", "once_cell", "op-alloy-consensus", @@ -11718,19 +11852,18 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-provider" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", - "dashmap 6.1.0", "eyre", "itertools 0.14.0", "metrics", @@ -11747,7 +11880,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-execution-types", "reth-fs-util", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-nippy-jar", "reth-node-types", "reth-primitives-traits", @@ -11756,10 +11889,12 @@ dependencies = [ "reth-static-file-types", "reth-storage-api", "reth-storage-errors", + "reth-tasks 1.11.2", "reth-trie", "reth-trie-db", "revm-database", "revm-state", + "rocksdb", "strum 0.27.2", "tokio", "tracing", @@ -11767,12 +11902,12 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "itertools 0.14.0", "metrics", "rayon", @@ -11780,31 +11915,34 @@ dependencies = [ "reth-db-api", "reth-errors", "reth-exex-types", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-provider", "reth-prune-types", + "reth-stages-types", "reth-static-file-types", + "reth-storage-api", "reth-tokio-util", "rustc-hash 2.1.1", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-prune-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "arbitrary", - "derive_more 2.1.0", + "derive_more 2.1.1", "modular-bitfield", "reth-codecs", "serde", "strum 0.27.2", - "thiserror 2.0.17", + "thiserror 2.0.18", + "tracing", ] [[package]] @@ -11826,58 +11964,12 @@ dependencies = [ "tracing", ] -[[package]] -name = "reth-ress-protocol" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" -dependencies = [ - "alloy-consensus", - "alloy-primitives 1.4.1", - "alloy-rlp", - "futures", - "reth-eth-wire", - "reth-ethereum-primitives", - "reth-network", - "reth-network-api", - "reth-storage-errors", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "reth-ress-provider" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" -dependencies = [ - "alloy-consensus", - "alloy-primitives 1.4.1", - "eyre", - "futures", - "parking_lot", - "reth-chain-state", - "reth-errors", - "reth-ethereum-primitives", - "reth-evm", - "reth-node-api", - "reth-primitives-traits", - "reth-ress-protocol", - "reth-revm", - "reth-storage-api", - "reth-tasks 1.9.3", - "reth-tokio-util", - "reth-trie", - "schnellru", - "tokio", - "tracing", -] - [[package]] name = "reth-revm" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -11887,16 +11979,17 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-dyn-abi", + "alloy-eip7928", "alloy-eips", "alloy-evm", "alloy-genesis", "alloy-network", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-client", "alloy-rpc-types", @@ -11912,16 +12005,12 @@ dependencies = [ "alloy-signer", "alloy-signer-local", "async-trait", - "derive_more 2.1.0", + "derive_more 2.1.1", "dyn-clone", "futures", - "http 1.4.0", - "http-body 1.0.1", - "hyper 1.8.1", "itertools 0.14.0", "jsonrpsee 0.26.0", "jsonrpsee-types 0.26.0", - "jsonwebtoken", "parking_lot", "pin-project", "reth-chain-state", @@ -11930,10 +12019,12 @@ dependencies = [ "reth-consensus-common", "reth-engine-primitives", "reth-errors", + "reth-ethereum-engine-primitives", + "reth-ethereum-primitives", "reth-evm", "reth-evm-ethereum", "reth-execution-types", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-api", "reth-network-peers", "reth-network-types", @@ -11947,7 +12038,7 @@ dependencies = [ "reth-rpc-eth-types", "reth-rpc-server-types", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-transaction-pool", "reth-trie-common", "revm", @@ -11956,23 +12047,23 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", - "tower 0.5.2", "tracing", "tracing-futures", ] [[package]] name = "reth-rpc-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ + "alloy-eip7928", "alloy-eips", "alloy-genesis", "alloy-json-rpc", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", @@ -11990,12 +12081,13 @@ dependencies = [ "reth-network-peers", "reth-rpc-eth-api", "reth-trie-common", + "serde_json", ] [[package]] name = "reth-rpc-builder" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-network", "alloy-provider", @@ -12007,9 +12099,10 @@ dependencies = [ "reth-chain-state", "reth-chainspec", "reth-consensus", + "reth-engine-primitives", "reth-evm", "reth-ipc", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-api", "reth-node-core", "reth-primitives-traits", @@ -12020,26 +12113,28 @@ dependencies = [ "reth-rpc-layer", "reth-rpc-server-types", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", + "reth-tokio-util", "reth-transaction-pool", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-util", - "tower 0.5.2", + "tower 0.5.3", "tower-http", "tracing", ] [[package]] name = "reth-rpc-convert" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", + "alloy-evm", "alloy-json-rpc", "alloy-network", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "alloy-signer", "auto_impl", @@ -12048,44 +12143,43 @@ dependencies = [ "reth-ethereum-primitives", "reth-evm", "reth-primitives-traits", - "revm-context", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "reth-rpc-engine-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core 0.26.0", "jsonrpsee-types 0.26.0", "metrics", - "parking_lot", "reth-chainspec", "reth-engine-primitives", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", + "reth-network-api", "reth-payload-builder", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", "reth-rpc-api", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-transaction-pool", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-rpc-eth-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -12093,7 +12187,7 @@ dependencies = [ "alloy-evm", "alloy-json-rpc", "alloy-network", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-eth", "alloy-rpc-types-mev", @@ -12117,7 +12211,7 @@ dependencies = [ "reth-rpc-eth-types", "reth-rpc-server-types", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-transaction-pool", "reth-trie-common", "revm", @@ -12128,72 +12222,73 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-network", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-client", "alloy-rpc-types-eth", "alloy-sol-types", "alloy-transport", - "derive_more 2.1.0", + "derive_more 2.1.1", "futures", "itertools 0.14.0", "jsonrpsee-core 0.26.0", "jsonrpsee-types 0.26.0", "metrics", "rand 0.9.2", - "reqwest 0.12.24", + "reqwest 0.12.28", "reth-chain-state", "reth-chainspec", "reth-errors", "reth-ethereum-primitives", "reth-evm", "reth-execution-types", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-revm", "reth-rpc-convert", "reth-rpc-server-types", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", "reth-transaction-pool", "reth-trie", "revm", "revm-inspectors", "schnellru", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tracing", + "url", ] [[package]] name = "reth-rpc-layer" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-rpc-types-engine", "http 1.4.0", "jsonrpsee-http-client 0.26.0", "pin-project", - "tower 0.5.2", + "tower 0.5.3", "tower-http", "tracing", ] [[package]] name = "reth-rpc-server-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "jsonrpsee-core 0.26.0", "jsonrpsee-types 0.26.0", @@ -12205,19 +12300,19 @@ dependencies = [ [[package]] name = "reth-stages" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "bincode", "eyre", "futures-util", "itertools 0.14.0", "num-traits", "rayon", - "reqwest 0.12.24", + "reqwest 0.12.28", "reth-codecs", "reth-config", "reth-consensus", @@ -12239,28 +12334,30 @@ dependencies = [ "reth-revm", "reth-stages-api", "reth-static-file-types", + "reth-storage-api", "reth-storage-errors", + "reth-tasks 1.11.2", "reth-trie", "reth-trie-db", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-stages-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "aquamarine", "auto_impl", "futures-util", "metrics", "reth-consensus", "reth-errors", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-network-p2p", "reth-primitives-traits", "reth-provider", @@ -12269,17 +12366,17 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "reth-stages-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "arbitrary", "bytes", "modular-bitfield", @@ -12290,10 +12387,10 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "parking_lot", "rayon", "reth-codecs", @@ -12310,24 +12407,27 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "clap", - "derive_more 2.1.0", + "derive_more 2.1.1", + "fixed-map", + "reth-stages-types", "serde", "strum 0.27.2", + "tracing", ] [[package]] name = "reth-storage-api" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-engine", "auto_impl", "reth-chainspec", @@ -12341,22 +12441,24 @@ dependencies = [ "reth-storage-errors", "reth-trie-common", "revm-database", + "serde_json", ] [[package]] name = "reth-storage-errors" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "derive_more 2.1.0", + "derive_more 2.1.1", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", "revm-database-interface", - "thiserror 2.0.17", + "revm-state", + "thiserror 2.0.18", ] [[package]] @@ -12369,7 +12471,7 @@ dependencies = [ "futures-util", "metrics", "reth-metrics 1.8.2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "tracing-futures", @@ -12377,8 +12479,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "auto_impl", "dyn-clone", @@ -12386,8 +12488,8 @@ dependencies = [ "metrics", "pin-project", "rayon", - "reth-metrics 1.9.3", - "thiserror 2.0.17", + "reth-metrics 1.11.2", + "thiserror 2.0.18", "tokio", "tracing", "tracing-futures", @@ -12395,8 +12497,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "tokio", "tokio-stream", @@ -12405,8 +12507,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "clap", "eyre", @@ -12416,18 +12518,19 @@ dependencies = [ "tracing-appender", "tracing-journald", "tracing-logfmt", + "tracing-samply", "tracing-subscriber 0.3.22", - "url", ] [[package]] name = "reth-tracing-otlp" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "clap", "eyre", "opentelemetry", + "opentelemetry-appender-tracing", "opentelemetry-otlp", "opentelemetry-semantic-conventions", "opentelemetry_sdk", @@ -12439,16 +12542,16 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "aquamarine", "auto_impl", - "bitflags 2.10.0", + "bitflags 2.11.0", "futures-util", "metrics", "parking_lot", @@ -12458,12 +12561,15 @@ dependencies = [ "reth-chainspec", "reth-eth-wire-types", "reth-ethereum-primitives", + "reth-evm", + "reth-evm-ethereum", "reth-execution-types", "reth-fs-util", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-storage-api", - "reth-tasks 1.9.3", + "reth-tasks 1.11.2", + "revm", "revm-interpreter", "revm-primitives", "rustc-hash 2.1.1", @@ -12471,7 +12577,7 @@ dependencies = [ "serde", "serde_json", "smallvec", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tokio-stream", "tracing", @@ -12479,19 +12585,20 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "alloy-trie 0.9.1", + "alloy-trie", "auto_impl", "itertools 0.14.0", "metrics", + "parking_lot", "reth-execution-errors", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-stages-types", "reth-storage-errors", @@ -12504,22 +12611,22 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "alloy-consensus", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "alloy-rpc-types-eth", "alloy-serde", - "alloy-trie 0.9.1", + "alloy-trie", "arbitrary", "arrayvec", "bytes", - "derive_more 2.1.0", + "derive_more 2.1.1", "hash-db", "itertools 0.14.0", - "nybbles 0.4.6", + "nybbles", "plain_hasher", "rayon", "reth-codecs", @@ -12531,92 +12638,81 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", + "metrics", + "parking_lot", "reth-db-api", "reth-execution-errors", + "reth-metrics 1.11.2", "reth-primitives-traits", + "reth-stages-types", + "reth-storage-api", + "reth-storage-errors", "reth-trie", + "reth-trie-common", "tracing", ] [[package]] name = "reth-trie-parallel" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", "crossbeam-channel", - "dashmap 6.1.0", - "derive_more 2.1.0", + "derive_more 2.1.1", "itertools 0.14.0", "metrics", "rayon", "reth-execution-errors", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", + "reth-primitives-traits", "reth-provider", "reth-storage-errors", + "reth-tasks 1.11.2", "reth-trie", "reth-trie-common", "reth-trie-sparse", - "thiserror 2.0.17", - "tokio", + "thiserror 2.0.18", "tracing", ] [[package]] name = "reth-trie-sparse" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rlp", - "alloy-trie 0.9.1", + "alloy-trie", "auto_impl", "metrics", "rayon", "reth-execution-errors", - "reth-metrics 1.9.3", + "reth-metrics 1.11.2", "reth-primitives-traits", "reth-trie-common", "smallvec", "tracing", ] -[[package]] -name = "reth-trie-sparse-parallel" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" -dependencies = [ - "alloy-primitives 1.4.1", - "alloy-rlp", - "alloy-trie 0.9.1", - "metrics", - "rayon", - "reth-execution-errors", - "reth-metrics 1.9.3", - "reth-trie-common", - "reth-trie-sparse", - "smallvec", - "tracing", -] - [[package]] name = "reth-zstd-compressors" -version = "1.9.3" -source = "git+https://github.com/paradigmxyz/reth?rev=27a8c0f5a6dfb27dea84c5751776ecabdd069646#27a8c0f5a6dfb27dea84c5751776ecabdd069646" +version = "1.11.2" +source = "git+https://github.com/paradigmxyz/reth?rev=793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3#793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" dependencies = [ "zstd 0.13.3", ] [[package]] name = "revm" -version = "31.0.2" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb67a5223602113cae59a305acde2d9936bc18f2478dda879a6124b267cebfb6" +checksum = "c2aabdebaa535b3575231a88d72b642897ae8106cf6b0d12eafc6bfdf50abfc7" dependencies = [ "revm-bytecode", "revm-context", @@ -12633,9 +12729,9 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "7.1.1" +version = "8.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2c6b5e6e8dd1e28a4a60e5f46615d4ef0809111c9e63208e55b5c7058200fb0" +checksum = "74d1e5c1eaa44d39d537f668bc5c3409dc01e5c8be954da6c83370bbdf006457" dependencies = [ "bitvec", "phf 0.13.1", @@ -12645,9 +12741,9 @@ dependencies = [ [[package]] name = "revm-context" -version = "11.0.2" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92850e150f4f99d46c05a20ad0cd09286a7ad4ee21866fffb87101de6e602231" +checksum = "892ff3e6a566cf8d72ffb627fdced3becebbd9ba64089c25975b9b028af326a5" dependencies = [ "bitvec", "cfg-if", @@ -12662,9 +12758,9 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "12.0.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d701e2c2347d65216b066489ab22a0a8e1f7b2568256110d73a7d5eff3385c" +checksum = "57f61cc6d23678c4840af895b19f8acfbbd546142ec8028b6526c53cc1c16c98" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -12678,9 +12774,9 @@ dependencies = [ [[package]] name = "revm-database" -version = "9.0.6" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "980d8d6bba78c5dd35b83abbb6585b0b902eb25ea4448ed7bfba6283b0337191" +checksum = "529528d0b05fe646be86223032c3e77aa8b05caa2a35447d538c55965956a511" dependencies = [ "alloy-eips", "revm-bytecode", @@ -12692,22 +12788,23 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "8.0.5" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cce03e3780287b07abe58faf4a7f5d8be7e81321f93ccf3343c8f7755602bae" +checksum = "b7bf93ac5b91347c057610c0d96e923db8c62807e03f036762d03e981feddc1d" dependencies = [ "auto_impl", "either", "revm-primitives", "revm-state", "serde", + "thiserror 2.0.18", ] [[package]] name = "revm-handler" -version = "12.0.2" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45418ed95cfdf0cb19effdbb7633cf2144cab7fb0e6ffd6b0eb9117a50adff6" +checksum = "0cd0e43e815a85eded249df886c4badec869195e70cdd808a13cfca2794622d2" dependencies = [ "auto_impl", "derive-where", @@ -12724,9 +12821,9 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "12.0.2" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c99801eac7da06cc112df2244bd5a64024f4ef21240e923b26e73c4b4a0e5da6" +checksum = "4f3ccad59db91ef93696536a0dbaf2f6f17cfe20d4d8843ae118edb7e97947ef" dependencies = [ "auto_impl", "either", @@ -12742,11 +12839,11 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.32.0" +version = "0.34.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21caa99f22184a6818946362778cccd3ff02f743c1e085bee87700671570ecb7" +checksum = "6e435414e9de50a1b930da602067c76365fea2fea11e80ceb50783c94ddd127f" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-rpc-types-eth", "alloy-rpc-types-trace", "alloy-sol-types", @@ -12757,14 +12854,14 @@ dependencies = [ "revm", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", ] [[package]] name = "revm-interpreter" -version = "29.0.1" +version = "32.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22789ce92c5808c70185e3bc49732f987dc6fd907f77828c8d3470b2299c9c65" +checksum = "11406408597bc249392d39295831c4b641b3a6f5c471a7c41104a7a1e3564c07" dependencies = [ "revm-bytecode", "revm-context-interface", @@ -12775,9 +12872,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "29.0.1" +version = "32.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "968b124028960201abf6d6bf8e223f15fadebb4307df6b7dc9244a0aab5d2d05" +checksum = "e2ec11f45deec71e4945e1809736bb20d454285f9167ab53c5159dae1deb603f" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -12793,18 +12890,17 @@ dependencies = [ "p256", "revm-primitives", "ripemd", - "rug", "secp256k1 0.31.1", "sha2 0.10.9", ] [[package]] name = "revm-primitives" -version = "21.0.2" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e161db429d465c09ba9cbff0df49e31049fe6b549e28eb0b7bd642fcbd4412" +checksum = "4bcfb5ce6cf18b118932bcdb7da05cd9c250f2cb9f64131396b55f3fe3537c35" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "num_enum", "once_cell", "serde", @@ -12812,11 +12908,12 @@ dependencies = [ [[package]] name = "revm-state" -version = "8.1.1" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d8be953b7e374dbdea0773cf360debed8df394ea8d82a8b240a6b5da37592fc" +checksum = "311720d4f0f239b041375e7ddafdbd20032a33b7bae718562ea188e188ed9fd3" dependencies = [ - "bitflags 2.10.0", + "alloy-eip7928", + "bitflags 2.11.0", "revm-bytecode", "revm-primitives", "serde", @@ -12851,7 +12948,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.16", + "getrandom 0.2.17", "libc", "untrusted", "windows-sys 0.52.0", @@ -12859,9 +12956,9 @@ dependencies = [ [[package]] name = "ringbuffer" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df6368f71f205ff9c33c076d170dd56ebf68e8161c733c0caa07a7a5509ed53" +checksum = "57b0b88a509053cbfd535726dcaaceee631313cef981266119527a1d110f6d2b" [[package]] name = "ripemd" @@ -12874,9 +12971,9 @@ dependencies = [ [[package]] name = "rlimit" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" +checksum = "f35ee2729c56bb610f6dba436bf78135f728b7373bdffae2ec815b2d3eb98cc3" dependencies = [ "libc", ] @@ -12898,43 +12995,50 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] [[package]] name = "rmp" -version = "0.8.14" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +checksum = "4ba8be72d372b2c9b35542551678538b562e7cf86c3315773cae48dfbfe7790c" dependencies = [ - "byteorder", "num-traits", - "paste", ] [[package]] name = "rmp-serde" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +checksum = "72f81bee8c8ef9b577d1681a70ebbc962c232461e397b22c208c43c04b67a155" dependencies = [ - "byteorder", "rmp", "serde", ] [[package]] name = "roaring" -version = "0.10.12" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e8d2cfa184d94d0726d650a9f4a1be7f9b76ac9fdb954219878dc00c1c1e7b" +checksum = "8ba9ce64a8f45d7fc86358410bb1a82e8c987504c0d4900e9141d69a9f26c885" dependencies = [ "bytemuck", "byteorder", ] +[[package]] +name = "rocksdb" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddb7af00d2b17dbd07d82c0063e25411959748ff03e8d4f96134c2ff41fce34f" +dependencies = [ + "libc", + "librocksdb-sys", +] + [[package]] name = "rolling-file" version = "0.2.0" @@ -12952,9 +13056,9 @@ checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "rsa" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" dependencies = [ "const-oid", "digest 0.10.7", @@ -12970,23 +13074,11 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rug" -version = "1.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58ad2e973fe3c3214251a840a621812a4f40468da814b1a3d6947d433c2af11f" -dependencies = [ - "az", - "gmp-mpfr-sys", - "libc", - "libm", -] - [[package]] name = "ruint" -version = "1.17.0" +version = "1.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a68df0380e5c9d20ce49534f292a36a7514ae21350726efe1865bdb1fa91d278" +checksum = "c141e807189ad38a07276942c6623032d3753c8859c146104ac2e4d68865945a" dependencies = [ "alloy-rlp", "arbitrary", @@ -13102,27 +13194,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" -dependencies = [ - "bitflags 2.10.0", - "errno", - "libc", - "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", -] - -[[package]] -name = "rustix" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" +checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "errno", "libc", - "linux-raw-sys 0.11.0", + "linux-raw-sys", "windows-sys 0.61.2", ] @@ -13140,15 +13219,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.35" +version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.8", + "rustls-webpki 0.103.9", "subtle", "zeroize", ] @@ -13159,7 +13238,7 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ - "openssl-probe", + "openssl-probe 0.1.6", "rustls-pemfile", "schannel", "security-framework 2.11.1", @@ -13167,14 +13246,14 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" dependencies = [ - "openssl-probe", + "openssl-probe 0.2.1", "rustls-pki-types", "schannel", - "security-framework 3.5.1", + "security-framework 3.7.0", ] [[package]] @@ -13188,9 +13267,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "web-time", "zeroize", @@ -13207,11 +13286,11 @@ dependencies = [ "jni", "log", "once_cell", - "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls 0.23.37", + "rustls-native-certs 0.8.3", "rustls-platform-verifier-android", - "rustls-webpki 0.103.8", - "security-framework 3.5.1", + "rustls-webpki 0.103.9", + "security-framework 3.7.0", "security-framework-sys", "webpki-root-certs 0.26.11", "windows-sys 0.59.0", @@ -13235,9 +13314,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.8" +version = "0.103.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" +checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" dependencies = [ "ring", "rustls-pki-types", @@ -13264,9 +13343,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "ryu-js" @@ -13301,17 +13380,17 @@ version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro-crate 3.5.0", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "schannel" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939" dependencies = [ "windows-sys 0.61.2", ] @@ -13330,9 +13409,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ "dyn-clone", "ref-cast", @@ -13466,7 +13545,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -13475,11 +13554,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.5.1" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" +checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -13488,9 +13567,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.15.0" +version = "2.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3" dependencies = [ "core-foundation-sys", "libc", @@ -13502,7 +13581,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "cssparser", "derive_more 0.99.20", "fxhash", @@ -13601,9 +13680,9 @@ version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -13612,23 +13691,23 @@ version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.13.0", "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -13648,9 +13727,9 @@ version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -13662,6 +13741,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -13676,17 +13764,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.16.1" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" +checksum = "381b283ce7bc6b476d903296fb59d0d36633652b633b27f64db4fb46dcbfc3b9" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.12.1", + "indexmap 2.13.0", "schemars 0.9.0", - "schemars 1.1.0", + "schemars 1.2.1", "serde_core", "serde_json", "serde_with_macros", @@ -13695,14 +13783,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.16.1" +version = "3.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +checksum = "a6d4e30573c8cb306ed6ab1dca8423eec9a463ea0e155f45399455e0368b27e0" dependencies = [ "darling 0.21.3", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -13812,9 +13900,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +checksum = "b31139435f327c93c6038ed350ae4588e2c70a13d50599509fee6349967ba35a" dependencies = [ "cc", "cfg-if", @@ -13831,9 +13919,9 @@ dependencies = [ [[package]] name = "shellexpand" -version = "3.1.1" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b1fdf65dd6331831494dd616b30351c38e96e45921a27745cf98490458b90bb" +checksum = "32824fab5e16e6c4d86dc1ba84489390419a39f97699852b66480bb87d297ed8" dependencies = [ "dirs", ] @@ -13867,10 +13955,11 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.7" +version = "1.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" +checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" dependencies = [ + "errno", "libc", ] @@ -13896,9 +13985,9 @@ dependencies = [ [[package]] name = "simd-adler32" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" [[package]] name = "simdutf8" @@ -13908,13 +13997,13 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "simple_asn1" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" +checksum = "0d585997b0ac10be3c5ee635f1bab02d512760d14b7c468801ac8a01d9ae5f1d" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -13926,36 +14015,21 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - -[[package]] -name = "skeptic" -version = "0.13.7" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8" -dependencies = [ - "bytecount", - "cargo_metadata 0.14.2", - "error-chain", - "glob", - "pulldown-cmark", - "tempfile", - "walkdir", -] +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "sketches-ddsketch" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" +checksum = "0c6f73aeb92d671e0cc4dca167e59b2deb6387c375391bc99ee743f326994a2b" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "small_btree" @@ -14005,12 +14079,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -14054,12 +14128,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "spin" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591" - [[package]] name = "spinning_top" version = "0.3.0" @@ -14144,7 +14212,7 @@ dependencies = [ "futures-util", "hashlink 0.8.4", "hex", - "indexmap 2.12.1", + "indexmap 2.13.0", "log", "memchr", "native-tls", @@ -14171,8 +14239,8 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "sqlx-core", "sqlx-macros-core", "syn 1.0.109", @@ -14189,8 +14257,8 @@ dependencies = [ "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "serde", "serde_json", "sha2 0.10.9", @@ -14213,7 +14281,7 @@ dependencies = [ "atoi", "base64 0.21.7", "bigdecimal 0.3.1", - "bitflags 2.10.0", + "bitflags 2.11.0", "byteorder", "bytes", "chrono", @@ -14259,7 +14327,7 @@ dependencies = [ "atoi", "base64 0.21.7", "bigdecimal 0.3.1", - "bitflags 2.10.0", + "bitflags 2.11.0", "byteorder", "chrono", "crc", @@ -14336,8 +14404,8 @@ name = "ssz_rs_derive" version = "0.9.0" source = "git+https://github.com/ralexstokes/ssz-rs?rev=84ef2b71aa004f6767420badb42c902ad56b8b72#84ef2b71aa004f6767420badb42c902ad56b8b72" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", ] @@ -14412,8 +14480,8 @@ checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ "phf_generator 0.11.3", "phf_shared 0.11.3", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", ] [[package]] @@ -14467,10 +14535,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "rustversion", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -14480,10 +14548,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "rustversion", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -14493,9 +14561,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -14521,32 +14589,32 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.111" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "unicode-ident", ] [[package]] name = "syn-solidity" -version = "1.4.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff790eb176cc81bb8936aed0f7b9f14fc4670069a2d371b3e3b0ecce908b2cb3" +checksum = "53f425ae0b12e2f5ae65542e00898d500d4d318b4baf09f40fd0d410454e9947" dependencies = [ "paste", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -14570,8 +14638,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", + "proc-macro2 1.0.106", + "quote 1.0.45", "syn 1.0.109", "unicode-xid 0.2.6", ] @@ -14582,9 +14650,9 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -14615,11 +14683,25 @@ dependencies = [ "windows 0.57.0", ] +[[package]] +name = "sysinfo" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ab6a2f8bfe508deb3c6406578252e491d299cbbf3bc0529ecc3313aee4a52f" +dependencies = [ + "libc", + "memchr", + "ntapi", + "objc2-core-foundation", + "objc2-io-kit", + "windows 0.62.2", +] + [[package]] name = "sysperf" version = "0.1.0" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "rand 0.8.5", "rayon", "sysinfo 0.33.1", @@ -14638,11 +14720,11 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.6.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.10.0", + "bitflags 2.11.0", "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -14704,14 +14786,14 @@ checksum = "c1bbb9f3c5c463a01705937a24fdabc5047929ac764b2d5b9cf681c1f5041ed5" [[package]] name = "tempfile" -version = "3.23.0" +version = "3.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" +checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand 2.3.0", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", - "rustix 1.1.2", + "rustix", "windows-sys 0.61.2", ] @@ -14739,7 +14821,7 @@ dependencies = [ "ahash", "alloy-consensus", "alloy-json-rpc", - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "alloy-provider", "alloy-rpc-types-beacon", "clap", @@ -14770,9 +14852,9 @@ dependencies = [ name = "test_utils" version = "0.1.0" dependencies = [ - "quote 1.0.42", + "quote 1.0.45", "reqwest 0.11.27", - "syn 2.0.111", + "syn 2.0.117", ] [[package]] @@ -14792,11 +14874,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -14805,20 +14887,20 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -14872,9 +14954,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.44" +version = "0.3.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" +checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c" dependencies = [ "deranged", "itoa", @@ -14883,22 +14965,22 @@ dependencies = [ "num-conv", "num_threads", "powerfmt", - "serde", + "serde_core", "time-core", "time-macros", ] [[package]] name = "time-core" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" [[package]] name = "time-macros" -version = "0.2.24" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" +checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215" dependencies = [ "num-conv", "time-core", @@ -14957,9 +15039,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.48.0" +version = "1.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", @@ -14967,20 +15049,20 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.6.1", + "socket2 0.6.3", "tokio-macros", "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -15009,15 +15091,15 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ - "rustls 0.23.35", + "rustls 0.23.37", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" dependencies = [ "futures-core", "pin-project-lite", @@ -15045,8 +15127,8 @@ checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.23.35", - "rustls-native-certs 0.8.2", + "rustls 0.23.37", + "rustls-native-certs 0.8.3", "rustls-pki-types", "tokio", "tokio-rustls 0.26.4", @@ -15054,11 +15136,23 @@ dependencies = [ "webpki-roots 0.26.11", ] +[[package]] +name = "tokio-tungstenite" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.28.0", +] + [[package]] name = "tokio-util" -version = "0.7.17" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -15085,11 +15179,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_edit 0.22.27", ] +[[package]] +name = "toml" +version = "0.9.12+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863" +dependencies = [ + "indexmap 2.13.0", + "serde_core", + "serde_spanned 1.0.4", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -15101,9 +15210,18 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.3" +version = "0.7.5+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_datetime" +version = "1.0.0+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32c2555c699578a4f59f0cc68e5116c8d7cabbd45e1409b989d4be085b53f13e" dependencies = [ "serde_core", ] @@ -15114,9 +15232,9 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.12.1", + "indexmap 2.13.0", "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_write", "winnow", @@ -15124,21 +15242,21 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.7" +version = "0.25.4+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" +checksum = "7193cbd0ce53dc966037f54351dbbcf0d5a642c7f0038c382ef9e677ce8c13f2" dependencies = [ - "indexmap 2.12.1", - "toml_datetime 0.7.3", + "indexmap 2.13.0", + "toml_datetime 1.0.0+spec-1.1.0", "toml_parser", "winnow", ] [[package]] name = "toml_parser" -version = "1.0.4" +version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ "winnow", ] @@ -15149,6 +15267,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toml_writer" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" + [[package]] name = "tonic" version = "0.13.1" @@ -15159,7 +15283,7 @@ dependencies = [ "axum", "base64 0.22.1", "bytes", - "h2 0.4.12", + "h2 0.4.13", "http 1.4.0", "http-body 1.0.1", "http-body-util", @@ -15172,7 +15296,7 @@ dependencies = [ "socket2 0.5.10", "tokio", "tokio-stream", - "tower 0.5.2", + "tower 0.5.3", "tower-layer", "tower-service", "tracing", @@ -15180,9 +15304,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" +checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" dependencies = [ "async-trait", "base64 0.22.1", @@ -15198,7 +15322,7 @@ dependencies = [ "sync_wrapper 1.0.2", "tokio", "tokio-stream", - "tower 0.5.2", + "tower 0.5.3", "tower-layer", "tower-service", "tracing", @@ -15211,22 +15335,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", - "proc-macro2 1.0.103", + "proc-macro2 1.0.106", "prost-build", "prost-types", - "quote 1.0.42", - "syn 2.0.111", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "tonic-prost" -version = "0.14.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" dependencies = [ "bytes", - "prost 0.14.1", - "tonic 0.14.2", + "prost 0.14.3", + "tonic 0.14.5", ] [[package]] @@ -15246,14 +15370,14 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.12.1", + "indexmap 2.13.0", "pin-project-lite", "slab", "sync_wrapper 1.0.2", @@ -15266,13 +15390,13 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.10.0", + "bitflags 2.11.0", "bytes", "futures-core", "futures-util", @@ -15288,7 +15412,7 @@ dependencies = [ "pin-project-lite", "tokio", "tokio-util", - "tower 0.5.2", + "tower 0.5.3", "tower-layer", "tower-service", "tracing", @@ -15309,9 +15433,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "log", "pin-project-lite", @@ -15326,7 +15450,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "786d480bce6247ab75f005b14ae1624ad978d3029d9113f0a22fa1ac773faeaf" dependencies = [ "crossbeam-channel", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "tracing-subscriber 0.3.22", ] @@ -15337,16 +15461,16 @@ version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] name = "tracing-core" -version = "0.1.35" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -15398,16 +15522,13 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6e5658463dd88089aba75c7791e1d3120633b1bfde22478b28f625a9bb1b8e" +checksum = "1ac28f2d093c6c477eaa76b23525478f38de514fa9aeb1285738d4b97a9552fc" dependencies = [ "js-sys", "opentelemetry", - "opentelemetry_sdk", - "rustversion", "smallvec", - "thiserror 2.0.17", "tracing", "tracing-core", "tracing-log", @@ -15415,6 +15536,22 @@ dependencies = [ "web-time", ] +[[package]] +name = "tracing-samply" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c175f7ecc002b6ef04776a39f440503e4e788790ddbdbfac8259b7a069526334" +dependencies = [ + "cfg-if", + "itoa", + "libc", + "mach2 0.5.0", + "memmap2 0.9.10", + "smallvec", + "tracing-core", + "tracing-subscriber 0.3.22", +] + [[package]] name = "tracing-serde" version = "0.2.0" @@ -15472,7 +15609,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee44f4cef85f88b4dea21c0b1f58320bdf35715cf56d840969487cff00613321" dependencies = [ - "alloy-primitives 1.4.1", + "alloy-primitives 1.5.7", "ethereum_hashing", "ethereum_ssz 0.9.1", "smallvec", @@ -15486,9 +15623,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0857056ca4eb5de8c417309be42bcff6017b47e86fbaddde609b4633f66061e" dependencies = [ "darling 0.20.11", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -15498,9 +15635,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bee2ea1551f90040ab0e34b6fb7f2fa3bad8acc925837ac654f2c78a13e3089" dependencies = [ "darling 0.20.11", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -15513,12 +15650,6 @@ dependencies = [ "rlp", ] -[[package]] -name = "triomphe" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39" - [[package]] name = "try-lock" version = "0.2.5" @@ -15556,10 +15687,27 @@ dependencies = [ "httparse", "log", "rand 0.9.2", - "rustls 0.23.35", + "rustls 0.23.37", "rustls-pki-types", "sha1", - "thiserror 2.0.17", + "thiserror 2.0.18", + "utf-8", +] + +[[package]] +name = "tungstenite" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" +dependencies = [ + "bytes", + "data-encoding", + "http 1.4.0", + "httparse", + "log", + "rand 0.9.2", + "sha1", + "thiserror 2.0.18", "utf-8", ] @@ -15569,6 +15717,12 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "typenum" version = "1.19.0" @@ -15613,9 +15767,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.8.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-bidi" @@ -15625,9 +15779,9 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-normalization" @@ -15652,26 +15806,20 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-truncate" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" +checksum = "16b380a1238663e5f8a691f9039c73e1cdae598a30e9855f541d29b08b53e9a5" dependencies = [ - "itertools 0.13.0", + "itertools 0.14.0", "unicode-segmentation", - "unicode-width 0.1.14", + "unicode-width", ] [[package]] name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-width" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" [[package]] name = "unicode-xid" @@ -15729,7 +15877,7 @@ dependencies = [ "flate2", "log", "once_cell", - "rustls 0.23.35", + "rustls 0.23.37", "rustls-pki-types", "url", "webpki-roots 0.26.11", @@ -15737,14 +15885,15 @@ dependencies = [ [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -15779,11 +15928,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.19.0" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" dependencies = [ - "getrandom 0.3.4", + "getrandom 0.4.2", "js-sys", "serde_core", "sha1_smol", @@ -15804,12 +15953,12 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vergen" -version = "9.0.6" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b2bf58be11fc9414104c6d3a2e464163db5ef74b12296bda593cac37b6e4777" +checksum = "b849a1f6d8639e8de261e81ee0fc881e3e3620db1af9f2e0da015d4382ceaf75" dependencies = [ "anyhow", - "cargo_metadata 0.19.2", + "cargo_metadata", "derive_builder", "regex", "rustversion", @@ -15819,9 +15968,9 @@ dependencies = [ [[package]] name = "vergen-git2" -version = "1.0.7" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f6ee511ec45098eabade8a0750e76eec671e7fb2d9360c563911336bea9cac1" +checksum = "d51ab55ddf1188c8d679f349775362b0fa9e90bd7a4ac69838b2a087623f0d57" dependencies = [ "anyhow", "derive_builder", @@ -15834,9 +15983,9 @@ dependencies = [ [[package]] name = "vergen-lib" -version = "0.1.6" +version = "9.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b07e6010c0f3e59fcb164e0163834597da68d1f864e2b8ca49f74de01e9c166" +checksum = "b34a29ba7e9c59e62f229ae1932fb1b8fb8a6fdcc99215a641913f5f5a59a569" dependencies = [ "anyhow", "derive_builder", @@ -15861,9 +16010,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -15943,9 +16092,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasip2" -version = "1.0.1+wasi-0.2.4" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ "wit-bindgen", ] @@ -15958,9 +16116,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -15971,11 +16129,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.56" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", + "futures-util", "js-sys", "once_cell", "wasm-bindgen", @@ -15984,36 +16143,58 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ - "quote 1.0.42", + "quote 1.0.45", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap 2.13.0", + "wasm-encoder", + "wasmparser", +] + [[package]] name = "wasm-streams" version = "0.4.2" @@ -16027,6 +16208,18 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags 2.11.0", + "hashbrown 0.15.5", + "indexmap 2.13.0", + "semver 1.0.27", +] + [[package]] name = "wasmtimer" version = "0.4.3" @@ -16043,9 +16236,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.83" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -16067,14 +16260,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "webpki-root-certs 1.0.4", + "webpki-root-certs 1.0.6", ] [[package]] name = "webpki-root-certs" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee3e3b5f5e80bc89f30ce8d0343bf4e5f12341c51f3e26cbeecbc7c85443e85b" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" dependencies = [ "rustls-pki-types", ] @@ -16091,14 +16284,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.4", + "webpki-roots 1.0.6", ] [[package]] name = "webpki-roots" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" +checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" dependencies = [ "rustls-pki-types", ] @@ -16160,38 +16353,16 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections 0.2.0", - "windows-core 0.61.2", - "windows-future 0.2.1", - "windows-link 0.1.3", - "windows-numerics 0.2.0", -] - [[package]] name = "windows" version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ - "windows-collections 0.3.2", + "windows-collections", "windows-core 0.62.2", - "windows-future 0.3.2", - "windows-numerics 0.3.1", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", + "windows-future", + "windows-numerics", ] [[package]] @@ -16215,19 +16386,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - [[package]] name = "windows-core" version = "0.62.2" @@ -16236,20 +16394,9 @@ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement 0.60.2", "windows-interface 0.59.3", - "windows-link 0.2.1", + "windows-link", "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", - "windows-threading 0.1.0", + "windows-strings", ] [[package]] @@ -16259,8 +16406,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ "windows-core 0.62.2", - "windows-link 0.2.1", - "windows-threading 0.2.1", + "windows-link", + "windows-threading", ] [[package]] @@ -16269,9 +16416,9 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -16280,9 +16427,9 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -16291,9 +16438,9 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -16302,33 +16449,17 @@ version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", -] - [[package]] name = "windows-numerics" version = "0.3.1" @@ -16336,7 +16467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ "windows-core 0.62.2", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -16345,9 +16476,9 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows-result 0.4.1", - "windows-strings 0.5.1", + "windows-strings", ] [[package]] @@ -16359,31 +16490,13 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - [[package]] name = "windows-result" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -16392,7 +16505,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -16446,7 +16559,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -16501,7 +16614,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.2.1", + "windows-link", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -16512,22 +16625,13 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - [[package]] name = "windows-threading" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -16712,9 +16816,9 @@ checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winnow" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" +checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945" dependencies = [ "memchr", ] @@ -16731,9 +16835,91 @@ dependencies = [ [[package]] name = "wit-bindgen" -version = "0.46.0" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck 0.5.0", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck 0.5.0", + "indexmap 2.13.0", + "prettyplease", + "syn 2.0.117", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags 2.11.0", + "indexmap 2.13.0", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap 2.13.0", + "log", + "semver 1.0.27", + "serde", + "serde_derive", + "serde_json", + "unicode-xid 0.2.6", + "wasmparser", +] [[package]] name = "write16" @@ -16760,7 +16946,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 2.0.17", + "thiserror 2.0.18", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -16782,7 +16968,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32e45ad4206f6d2479085147f02bc2ef834ac85886624a23575ae137c8aa8156" dependencies = [ "libc", - "rustix 1.1.2", + "rustix", ] [[package]] @@ -16829,30 +17015,30 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", "synstructure 0.13.2", ] [[package]] name = "zerocopy" -version = "0.8.31" +version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" +checksum = "f2578b716f8a7a858b7f02d5bd870c14bf4ddbbcf3a4c05414ba6503640505e3" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.31" +version = "0.8.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" +checksum = "7e6cc098ea4d3bd6246687de65af3f920c430e236bee1e3bf2e441463f08a02f" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -16870,9 +17056,9 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", "synstructure 0.13.2", ] @@ -16887,13 +17073,13 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +checksum = "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -16925,9 +17111,9 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ - "proc-macro2 1.0.103", - "quote 1.0.42", - "syn 2.0.111", + "proc-macro2 1.0.106", + "quote 1.0.45", + "syn 2.0.117", ] [[package]] @@ -16950,6 +17136,12 @@ dependencies = [ "zstd 0.11.2+zstd.1.5.2", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" diff --git a/Cargo.toml b/Cargo.toml index c8fdfc229..ead9bac44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -70,62 +70,64 @@ codegen-units = 1 incremental = false [workspace.dependencies] -reth = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-db-common = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-node-core = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646", features = [ +reth = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-db-common = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-node-core = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3", features = [ "test-utils", ] } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-trie-db = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } -reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", rev = "27a8c0f5a6dfb27dea84c5751776ecabdd069646" } - -# compatible with reth 27a8c0f5a6dfb27dea84c5751776ecabdd069646 dependencies -revm = { version = "31.0.2", features = [ +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-trie-db = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } +reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", rev = "793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3" } + +# compatible with reth 793a3d5fb3e3413e9ecc9b024a5e26672e61e7c3 dependencies +revm = { version = "34.0.0", features = [ "std", "secp256k1", "optional_balance_check", ], default-features = false } -revm-inspectors = { version = "0.32.0", default-features = false } +revm-inspectors = { version = "0.34.2", default-features = false } ethereum_ssz_derive = "0.9.0" ethereum_ssz = "0.9.0" -alloy-primitives = { version = "1.4.1", default-features = false, features = [ +alloy-primitives = { version = "1.5.6", default-features = false, features = [ "getrandom", + "map-foldhash", ] } -alloy-rlp = "0.3.10" -alloy-chains = "0.2.5" -alloy-trie = { version = "0.8.1", default-features = false } -alloy-evm = { version = "0.23.3", default-features = false } -alloy-provider = { version = "1.0.41", features = ["ipc", "pubsub", "ws"] } -alloy-eips = { version = "1.0.41" } -alloy-rpc-types = { version = "1.0.41" } -alloy-json-rpc = { version = "1.0.41" } -alloy-network = { version = "1.0.41" } -alloy-network-primitives = { version = "1.0.41" } -alloy-node-bindings = { version = "1.0.41" } -alloy-consensus = { version = "1.0.41", features = ["kzg"] } -alloy-rpc-types-beacon = { version = "1.0.41", features = ["ssz"] } -alloy-rpc-types-engine = { version = "1.0.41", features = ["ssz"] } -alloy-rpc-types-eth = { version = "1.0.41" } -alloy-signer = { version = "1.0.41" } -alloy-signer-local = { version = "1.0.41" } +alloy-rlp = { version = "0.3.13", default-features = false, features = ["core-net"] } +alloy-chains = { version = "0.2.5", default-features = false } +alloy-trie = { version = "0.9.4", default-features = false } +nybbles = { version = "0.4.8", features = ["serde"], default-features = false } +alloy-evm = { version = "0.27.2", default-features = false } +alloy-provider = { version = "1.6.3", features = ["ipc", "pubsub", "ws"], default-features = false } +alloy-eips = { version = "1.6.3", default-features = false } +alloy-rpc-types = { version = "1.6.3", features = ["eth"], default-features = false } +alloy-json-rpc = { version = "1.6.3", default-features = false } +alloy-network = { version = "1.6.3", default-features = false } +alloy-network-primitives = { version = "1.6.3", default-features = false } +alloy-node-bindings = { version = "1.6.3" } +alloy-consensus = { version = "1.6.3", features = ["kzg"], default-features = false } +alloy-rpc-types-beacon = { version = "1.6.3", features = ["ssz"], default-features = false } +alloy-rpc-types-engine = { version = "1.6.3", default-features = false } +alloy-rpc-types-eth = { version = "1.6.3", default-features = false } +alloy-signer = { version = "1.6.3", default-features = false } +alloy-signer-local = { version = "1.6.3", default-features = false } # Version required by ethereum-consensus beacon-api-client mev-share-sse = { git = "https://github.com/paradigmxyz/mev-share-rs", rev = "9eb2b0138ab3202b9eb3af4b19c7b3bf40b0faa8", default-features = false } @@ -136,9 +138,9 @@ async-trait = { version = "0.1.83" } clap = { version = "4.4.3", features = ["derive", "env"] } thiserror = { version = "1.0.64" } eyre = { version = "0.6.12" } -jsonrpsee = { version = "0.24.4" } +jsonrpsee = { version = "0.26.0" } parking_lot = { version = "0.12.3" } -tokio = { version = "1.40.0", default-features = false } +tokio = { version = "1.44.2", default-features = false } futures = "0.3" futures-util = "0.3" reqwest = { version = "0.12.8" } @@ -147,7 +149,7 @@ serde_json = { version = "1.0" } serde_with = { version = "3.8.1" } secp256k1 = { version = "0.30" } derive_more = { version = "2" } -tokio-stream = "0.1.16" +tokio-stream = "0.1.11" tokio-util = "0.7.12" url = "2.5.2" warp = "0.3.7" diff --git a/crates/eth-sparse-mpt/Cargo.toml b/crates/eth-sparse-mpt/Cargo.toml index e918ac349..48f5e830c 100644 --- a/crates/eth-sparse-mpt/Cargo.toml +++ b/crates/eth-sparse-mpt/Cargo.toml @@ -17,7 +17,7 @@ rustc-hash = "2.0.0" rayon = "1.10.0" smallvec = "1.13.2" alloy-trie.workspace = true -nybbles = { version = "0.3.3", features = ["serde"] } +nybbles = { workspace = true } tracing.workspace = true diff --git a/crates/eth-sparse-mpt/src/utils.rs b/crates/eth-sparse-mpt/src/utils.rs index 288ff1c96..3cd5bf2b8 100644 --- a/crates/eth-sparse-mpt/src/utils.rs +++ b/crates/eth-sparse-mpt/src/utils.rs @@ -29,25 +29,27 @@ pub fn rlp_pointer(rlp_encode: Bytes) -> Bytes { } pub fn concat_path(p1: &Nibbles, p2: &[u8]) -> Nibbles { - let mut result = Nibbles::with_capacity(p1.len() + p2.len()); - result.extend_from_slice_unchecked(p1); - result.extend_from_slice_unchecked(p2); - result + let mut result = p1.to_vec(); + result.extend_from_slice(p2); + Nibbles::from_nibbles_unchecked(&result) } pub fn strip_first_nibble_mut(p: &mut Nibbles) -> u8 { - let nibble = p[0]; - let vec = p.as_mut_vec_unchecked(); + let mut vec = p.to_vec(); + let nibble = vec[0]; vec.remove(0); + *p = Nibbles::from_nibbles_unchecked(&vec); nibble } #[inline] pub fn extract_prefix_and_suffix(p1: &Nibbles, p2: &Nibbles) -> (Nibbles, Nibbles, Nibbles) { + let p1_vec = p1.to_vec(); + let p2_vec = p2.to_vec(); let prefix_len = p1.common_prefix_length(p2); - let prefix = Nibbles::from_nibbles_unchecked(&p1[..prefix_len]); - let suffix1 = Nibbles::from_nibbles_unchecked(&p1[prefix_len..]); - let suffix2 = Nibbles::from_nibbles_unchecked(&p2[prefix_len..]); + let prefix = Nibbles::from_nibbles_unchecked(&p1_vec[..prefix_len]); + let suffix1 = Nibbles::from_nibbles_unchecked(&p1_vec[prefix_len..]); + let suffix2 = Nibbles::from_nibbles_unchecked(&p2_vec[prefix_len..]); (prefix, suffix1, suffix2) } @@ -147,5 +149,5 @@ pub fn convert_reth_nybbles_to_nibbles(n: reth_trie::Nibbles) -> Nibbles { #[inline] pub fn convert_nibbles_to_reth_nybbles(n: Nibbles) -> reth_trie::Nibbles { - reth_trie::Nibbles::from_nibbles(n.as_slice()) + reth_trie::Nibbles::from_nibbles(n.to_vec()) } diff --git a/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/shared_cache.rs b/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/shared_cache.rs index 47447807b..e3815302f 100644 --- a/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/shared_cache.rs +++ b/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/shared_cache.rs @@ -146,11 +146,11 @@ impl RethSparseTrieShareCacheInternal { multiproof: MultiProof, ) -> Result<(), AddNodeError> { let mut nodes: Vec<_> = multiproof.account_subtree.into_iter().collect(); - nodes.sort_by_key(|(p, _)| p.clone()); + nodes.sort_by_key(|(p, _)| *p); self.account_trie.add_nodes(&nodes)?; for (account, storge_proofs) in multiproof.storages { let mut nodes: Vec<_> = storge_proofs.subtree.into_iter().collect(); - nodes.sort_by_key(|(p, _)| p.clone()); + nodes.sort_by_key(|(p, _)| *p); let account = Bytes::copy_from_slice(account.as_slice()); let storage_trie = self.storage_tries.entry(account).or_default(); storage_trie.add_nodes(&nodes)?; diff --git a/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/trie_fetcher/mod.rs b/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/trie_fetcher/mod.rs index 9fd0f6669..7c42cb9b9 100644 --- a/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/trie_fetcher/mod.rs +++ b/crates/eth-sparse-mpt/src/v1/reth_sparse_trie/trie_fetcher/mod.rs @@ -1,6 +1,6 @@ use std::time::Instant; -use crate::utils::{convert_reth_nybbles_to_nibbles, hash_map_with_capacity, HashMap, HashSet}; +use crate::utils::{hash_map_with_capacity, HashMap, HashSet}; use alloy_primitives::map::HashSet as AlloyHashSet; use tracing::trace; @@ -106,7 +106,9 @@ where } fn pad_path(mut path: Nibbles) -> B256 { - path.as_mut_vec_unchecked().resize(64, 0); + let mut path_vec = path.to_vec(); + path_vec.resize(64, 0); + path = Nibbles::from_nibbles_unchecked(&path_vec); let mut res = B256::default(); path.pack_to(res.as_mut_slice()); res @@ -164,16 +166,16 @@ fn merge_results( let mut result = MultiProof::default(); for mut proof in multiproofs { result.account_subtree.append(&mut proof.account_subtree); - result.account_subtree.sort_by_key(|s| s.0.clone()); - result.account_subtree.dedup_by_key(|s| s.0.clone()); + result.account_subtree.sort_by_key(|s| s.0); + result.account_subtree.dedup_by_key(|s| s.0); for (account, mut storage_proof) in proof.storages { let result_storage_proof = result.storages.entry(account).or_default(); result_storage_proof .subtree .append(&mut storage_proof.subtree); - result_storage_proof.subtree.sort_by_key(|s| s.0.clone()); - result_storage_proof.subtree.dedup_by_key(|s| s.0.clone()); + result_storage_proof.subtree.sort_by_key(|s| s.0); + result_storage_proof.subtree.dedup_by_key(|s| s.0); } } @@ -192,9 +194,9 @@ fn convert_reth_multiproof( ) -> MultiProof { let mut account_subtree = Vec::with_capacity(reth_proof.account_subtree.len()); for (k, v) in reth_proof.account_subtree.into_inner() { - account_subtree.push((convert_reth_nybbles_to_nibbles(k), v)); + account_subtree.push((k, v)); } - account_subtree.sort_by_key(|a| a.0.clone()); + account_subtree.sort_by_key(|a| a.0); let mut storages = hash_map_with_capacity(reth_proof.storages.len()); for (k, reth_storage_proof) in reth_proof.storages { if !all_requested_accounts.contains(&k) { @@ -206,9 +208,9 @@ fn convert_reth_multiproof( let mut subtree = Vec::with_capacity(reth_storage_proof.subtree.len()); for (k, v) in reth_storage_proof.subtree.into_inner() { - subtree.push((convert_reth_nybbles_to_nibbles(k), v)); + subtree.push((k, v)); } - subtree.sort_by_key(|a| a.0.clone()); + subtree.sort_by_key(|a| a.0); let v = StorageMultiProof { subtree }; storages.insert(k, v); } diff --git a/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/mod.rs b/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/mod.rs index 81210807a..624dc8781 100644 --- a/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/mod.rs +++ b/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/mod.rs @@ -65,7 +65,7 @@ pub struct NodeCursor { impl NodeCursor { pub fn new(key: Nibbles, head: u64) -> Self { - let current_path = Nibbles::with_capacity(key.len()); + let current_path = Nibbles::from_nibbles_unchecked(vec![]); Self { current_node: head, current_path, @@ -75,9 +75,12 @@ impl NodeCursor { pub fn step_into_extension(&mut self, ext: &DiffExtensionNode) { let len = ext.key().len(); + let mut path_left_vec = self.path_left.to_vec(); self.current_path - .extend_from_slice_unchecked(&self.path_left[..len]); - self.path_left.as_mut_vec_unchecked().drain(..len); + .extend_from_slice_unchecked(&path_left_vec[..len]); + + path_left_vec.drain(..len); + self.path_left = Nibbles::from_nibbles_unchecked(&path_left_vec); self.current_node = ext.child.ptr(); } @@ -101,10 +104,9 @@ fn try_get_node_mut<'a>( ptr: u64, path: &Nibbles, ) -> Result<&'a mut DiffTrieNode, ErrSparseNodeNotFound> { - nodes.get_mut(&ptr).ok_or_else(|| ErrSparseNodeNotFound { - path: path.clone(), - ptr, - }) + nodes + .get_mut(&ptr) + .ok_or(ErrSparseNodeNotFound { path: *path, ptr }) } pub fn get_new_ptr(ptrs: &mut u64) -> u64 { @@ -238,13 +240,10 @@ impl DiffTrie { let n = c.step_into_branch(branch); if branch.has_child(n) { - let child = - branch - .get_diff_child_mut(n) - .ok_or_else(|| ErrSparseNodeNotFound { - path: c.current_path.clone(), - ptr: u64::MAX, - })?; + let child = branch.get_diff_child_mut(n).ok_or(ErrSparseNodeNotFound { + path: c.current_path, + ptr: u64::MAX, + })?; child.mark_dirty(); continue; } else { @@ -313,12 +312,12 @@ impl DiffTrie { return Err(DeletionError::KeyNotFound); } - let child = branch.get_diff_child_mut(n).ok_or_else(|| { - DeletionError::NodeNotFound(ErrSparseNodeNotFound { - path: c.current_path.clone(), + let child = branch + .get_diff_child_mut(n) + .ok_or(DeletionError::NodeNotFound(ErrSparseNodeNotFound { + path: c.current_path, ptr: u64::MAX, - }) - })?; + }))?; child.mark_dirty(); node.rlp_pointer = None; @@ -332,10 +331,12 @@ impl DiffTrie { .other_child_nibble(n) .expect("other child must exist"); if branch.get_diff_child(other_child_nibble).is_none() { - let mut other_child_path = c.current_path.clone(); - if let Some(l) = other_child_path.as_mut_vec_unchecked().last_mut() { + let mut other_child_path_vec = c.current_path.to_vec(); + if let Some(l) = other_child_path_vec.last_mut() { *l = other_child_nibble; } + let other_child_path = + Nibbles::from_nibbles_unchecked(&other_child_path_vec); return Err(DeletionError::NodeNotFound(ErrSparseNodeNotFound { path: other_child_path, ptr: u64::MAX, @@ -428,9 +429,10 @@ impl DiffTrie { DiffTrieNodeKind::Leaf(leaf_below), ) => { // we just replace extension node by merging its path into leaf with child_nibble - let mut new_leaf_key = ext_above.key().clone(); - new_leaf_key.push(*child_nibble); - new_leaf_key.extend_from_slice_unchecked(leaf_below.key()); + let mut new_leaf_key_vec = ext_above.key().to_vec(); + new_leaf_key_vec.push(*child_nibble); + new_leaf_key_vec.extend_from_slice(&leaf_below.key().to_vec()); + let new_leaf_key = Nibbles::from_nibbles_unchecked(&new_leaf_key_vec); let mut new_leaf = leaf_below; new_leaf.changed_key = Some(new_leaf_key); @@ -441,9 +443,10 @@ impl DiffTrie { DiffTrieNodeKind::Extension(ext_below), ) => { // we merge two extension nodes into current node with child_nibble - let ext_key = ext_above.key_mut(); - ext_key.push(*child_nibble); - ext_key.extend_from_slice_unchecked(ext_below.key()); + let mut ext_key_vec = ext_above.key().to_vec(); + ext_key_vec.push(*child_nibble); + ext_key_vec.extend_from_slice(&ext_below.key().to_vec()); + *ext_above.key_mut() = Nibbles::from_nibbles_unchecked(&ext_key_vec); ext_above.child = ext_below.child.clone(); } @@ -469,10 +472,9 @@ impl DiffTrie { DiffTrieNodeKind::Leaf(mut leaf_below), ) => { // merge missing nibble into the leaf - leaf_below - .key_mut() - .as_mut_vec_unchecked() - .insert(0, *child_nibble); + let mut leaf_key_vec = leaf_below.key().to_vec(); + leaf_key_vec.insert(0, *child_nibble); + *leaf_below.key_mut() = Nibbles::from_nibbles_unchecked(&leaf_key_vec); let new_leaf_ptr = get_new_ptr(&mut self.ptrs); let new_child = DiffTrieNode { @@ -491,10 +493,9 @@ impl DiffTrie { DiffTrieNodeKind::Extension(mut ext_below), ) => { // merge missing nibble into the extension - ext_below - .key_mut() - .as_mut_vec_unchecked() - .insert(0, *child_nibble); + let mut ext_key_vec = ext_below.key().to_vec(); + ext_key_vec.insert(0, *child_nibble); + *ext_below.key_mut() = Nibbles::from_nibbles_unchecked(&ext_key_vec); let new_child_ptr = get_new_ptr(&mut self.ptrs); let new_child = DiffTrieNode { kind: DiffTrieNodeKind::Extension(ext_below), @@ -563,13 +564,15 @@ impl DiffTrie { .expect("orphaned child existence verif"); match &mut child_below.kind { DiffTrieNodeKind::Leaf(leaf) => { - leaf.key_mut() - .as_mut_vec_unchecked() - .insert(0, child_nibble); + let mut leaf_key_vec = leaf.key().to_vec(); + leaf_key_vec.insert(0, child_nibble); + *leaf.key_mut() = Nibbles::from_nibbles_unchecked(&leaf_key_vec); child_below.rlp_pointer = None; } DiffTrieNodeKind::Extension(ext) => { - ext.key_mut().as_mut_vec_unchecked().insert(0, child_nibble); + let mut ext_key_vec = ext.key().to_vec(); + ext_key_vec.insert(0, child_nibble); + *ext.key_mut() = Nibbles::from_nibbles_unchecked(&ext_key_vec); child_below.rlp_pointer = None; } DiffTrieNodeKind::Branch(_) => { diff --git a/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/nodes.rs b/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/nodes.rs index 164aaebb5..620ffcd58 100644 --- a/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/nodes.rs +++ b/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/nodes.rs @@ -174,7 +174,7 @@ impl DiffLeafNode { let fixed_key = self .fixed .as_ref() - .map(|k| k.key.clone()) + .map(|k| k.key) .expect("leaf incorrect form"); self.changed_key = Some(fixed_key); } @@ -331,7 +331,7 @@ impl DiffExtensionNode { let fixed_key = self .fixed .as_ref() - .map(|k| k.key.clone()) + .map(|k| k.key) .expect("ext incorrect form"); self.changed_key = Some(fixed_key); } diff --git a/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/tests.rs b/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/tests.rs index 84cd67580..12a052eaa 100644 --- a/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/tests.rs +++ b/crates/eth-sparse-mpt/src/v1/sparse_mpt/diff_trie/tests.rs @@ -486,6 +486,7 @@ fn check_correct_gather_for_orphan_of_and_orphan() { compare_with_removals(add, remove).unwrap(); } +// TODO(chirag): generate new test data #[test] fn known_failure_case_0() { let input = StoredFailureCase::load("./test_data/failure_case_0.json.gz"); diff --git a/crates/eth-sparse-mpt/src/v1/sparse_mpt/fixed_trie.rs b/crates/eth-sparse-mpt/src/v1/sparse_mpt/fixed_trie.rs index 2934337f0..eb4a2bfeb 100644 --- a/crates/eth-sparse-mpt/src/v1/sparse_mpt/fixed_trie.rs +++ b/crates/eth-sparse-mpt/src/v1/sparse_mpt/fixed_trie.rs @@ -167,12 +167,12 @@ impl FixedTrie { for (ptr, node) in &diff_trie.nodes { let fixed_node = match &node.kind { DiffTrieNodeKind::Leaf(leaf) => FixedTrieNode::Leaf(Arc::new(FixedLeafNode { - key: leaf.key().clone(), + key: *leaf.key(), value: leaf.value().clone(), })), DiffTrieNodeKind::Extension(ext) => FixedTrieNode::Extension { node: Arc::new(FixedExtensionNode { - key: ext.key().clone(), + key: *ext.key(), child: ext .child .rlp_pointer @@ -261,7 +261,7 @@ impl FixedTrie { // here we find parent to link with this new node let mut current_path = Nibbles::new(); - let mut path_left = path.clone(); + let mut path_left = *path; let mut current_node = self.head; let mut parent: Option = None; @@ -286,8 +286,11 @@ impl FixedTrie { parent_child_idx = None; let len = node.key.len(); - current_path.extend_from_slice_unchecked(&path_left[..len]); - path_left.as_mut_vec_unchecked().drain(..len); + let mut path_left_vec = path_left.to_vec(); + current_path.extend_from_slice_unchecked(&path_left_vec[..len]); + + path_left_vec.drain(..len); + path_left = Nibbles::from_nibbles_unchecked(&path_left_vec); if path_left.is_empty() { break; @@ -455,11 +458,9 @@ impl FixedTrie { // orphan node is missing // we stepped into child above so the path is the path of current child and orphan child differs // only in last nibble - let mut path = c.current_path.clone(); - path.as_mut_vec_unchecked() - .last_mut() - .map(|n| *n = orphan_nibble) - .unwrap(); + let mut path_vec = c.current_path.to_vec(); + path_vec.last_mut().map(|n| *n = orphan_nibble).unwrap(); + let path = Nibbles::from_nibbles_unchecked(&path_vec); missing_nodes.push(path); } } @@ -490,6 +491,7 @@ mod tests { use super::*; use crate::test_utils::{get_test_change_set, get_test_multiproofs}; + // TODO(chirag): generate new test data #[test] fn test_insert_and_gather_account_trie() { let account_proof = { diff --git a/crates/eth-sparse-mpt/src/v2/fetch.rs b/crates/eth-sparse-mpt/src/v2/fetch.rs index 43f27fcaf..961e7b600 100644 --- a/crates/eth-sparse-mpt/src/v2/fetch.rs +++ b/crates/eth-sparse-mpt/src/v2/fetch.rs @@ -1,9 +1,6 @@ use std::sync::Arc; -use crate::{ - utils::{convert_nibbles_to_reth_nybbles, convert_reth_nybbles_to_nibbles, HashMap}, - SparseTrieError, -}; +use crate::{utils::HashMap, SparseTrieError}; use alloy_primitives::map::B256Set; use parking_lot::Mutex; use rayon::prelude::*; @@ -39,12 +36,12 @@ impl MissingNodesFetcher { .storage_proof_targets .entry(*hashed_address) .or_default(); - entry.0.insert(pad_path(node.clone())); + entry.0.insert(pad_path(node)); entry.1.push(node); } pub fn add_missing_account_node(&mut self, node: Nibbles) { - self.account_proof_targets.push(pad_path(node.clone())); + self.account_proof_targets.push(pad_path(node)); self.account_proof_requested_nodes.push(node); } @@ -89,13 +86,10 @@ impl MissingNodesFetcher { .map_err(SparseTrieError::other)?; *fetched_nodes.lock() += requested_proofs.len(); for requested_proof in requested_proofs { - let proof_for_node = storge_multiproof.subtree.matching_nodes_sorted( - &convert_nibbles_to_reth_nybbles(requested_proof.clone()), - ); - let reth_proof_for_node = proof_for_node - .into_iter() - .map(|(k, v)| (convert_reth_nybbles_to_nibbles(k), v)) - .collect(); + let proof_for_node = storge_multiproof + .subtree + .matching_nodes_sorted(&requested_proof); + let reth_proof_for_node = proof_for_node.into_iter().collect(); let proof_store = shared_cache.account_proof_store_hashed_address(&hashed_address); proof_store @@ -133,12 +127,9 @@ impl MissingNodesFetcher { for requested_node in self.account_proof_requested_nodes.drain(..) { let proof_for_node = multiproof .account_subtree - .matching_nodes_sorted(&convert_nibbles_to_reth_nybbles(requested_node.clone())); + .matching_nodes_sorted(&requested_node); - let reth_proof_for_node = proof_for_node - .into_iter() - .map(|(k, v)| (convert_reth_nybbles_to_nibbles(k), v)) - .collect(); + let reth_proof_for_node = proof_for_node.into_iter().collect(); shared_cache .account_trie .add_proof(requested_node, reth_proof_for_node) @@ -150,7 +141,9 @@ impl MissingNodesFetcher { } fn pad_path(mut path: Nibbles) -> B256 { - path.as_mut_vec_unchecked().resize(64, 0); + let mut path_vec = path.to_vec(); + path_vec.resize(64, 0); + path = Nibbles::from_nibbles_unchecked(&path_vec); let mut res = B256::default(); path.pack_to(res.as_mut_slice()); res diff --git a/crates/eth-sparse-mpt/src/v2/mod.rs b/crates/eth-sparse-mpt/src/v2/mod.rs index 4986e84f7..809bd50f3 100644 --- a/crates/eth-sparse-mpt/src/v2/mod.rs +++ b/crates/eth-sparse-mpt/src/v2/mod.rs @@ -446,7 +446,7 @@ impl RootHashCalculator { { fetcher .lock() - .add_missing_account_node(storage_calc.unpacked_hashed_address.clone()); + .add_missing_account_node(storage_calc.unpacked_hashed_address); } if storage_calc.insert_keys.is_empty() && storage_calc.delete_keys.is_empty() { @@ -466,7 +466,7 @@ impl RootHashCalculator { if !storage_calc.proof_store.has_proof(node) { fetcher .lock() - .add_missing_storage_node(&storage_calc.hashed_address, node.clone()); + .add_missing_storage_node(&storage_calc.hashed_address, *node); } } }); @@ -549,7 +549,7 @@ impl RootHashCalculator { storage_calc.insert_storage_key[i], AppliedStorageOp { inserted_value: storage_calc.insert_storage_value[i], - revert_key: storage_calc.insert_keys[i].clone(), + revert_key: storage_calc.insert_keys[i], revert_value, }, ); @@ -574,7 +574,7 @@ impl RootHashCalculator { storage_calc.delete_storage_key[i], AppliedStorageOp { inserted_value: U256::ZERO, - revert_key: storage_calc.delete_keys[i].clone(), + revert_key: storage_calc.delete_keys[i], revert_value: Some(revert_value), }, ); @@ -639,7 +639,7 @@ impl RootHashCalculator { let ok = storage_calc.trie.try_add_proof_from_proof_store(&missing_node, &storage_calc.proof_store).expect("should be able to insert proofs from proof store when they are found (storage trie)"); assert!(ok, "proof is not added (storage trie)"); } else { - storage_calc.missing_nodes_requested.push(missing_node.clone()); + storage_calc.missing_nodes_requested.push(missing_node); fetcher.lock().add_missing_storage_node(&storage_calc.hashed_address, missing_node); } } @@ -733,7 +733,7 @@ impl RootHashCalculator { } } - let key = storage_calc.unpacked_hashed_address.clone(); + let key = storage_calc.unpacked_hashed_address; if let Some(trie_account) = trie_account { let value = alloy_rlp::encode(trie_account); self.account_trie.insert_keys.push(key); @@ -768,7 +768,7 @@ impl RootHashCalculator { for address in proof_targets { let storage_calc = self.get_account_storage(address); let storage_calc = storage_calc.lock(); - let key = storage_calc.unpacked_hashed_address.clone(); + let key = storage_calc.unpacked_hashed_address; self.account_trie.proof_keys.push(key); self.account_trie.proof_account_keys.push(*address); self.account_trie.proof_ok.push(false); @@ -834,7 +834,7 @@ impl RootHashCalculator { account_trie.insert_account_keys[i], AppliedAccountOp { inserted_value: Some(account_trie.insert_account_values[i]), - revert_key: account_trie.insert_keys[i].clone(), + revert_key: account_trie.insert_keys[i], revert_value, }, ); @@ -859,7 +859,7 @@ impl RootHashCalculator { account_trie.delete_account_keys[i], AppliedAccountOp { inserted_value: None, - revert_key: account_trie.delete_keys[i].clone(), + revert_key: account_trie.delete_keys[i], revert_value: Some(revert_value), }, ); @@ -921,9 +921,7 @@ impl RootHashCalculator { let ok = account_trie.trie.try_add_proof_from_proof_store(&missing_node, proof_store).expect("should be able to insert proofs from proof store when they are found (storage trie)"); assert!(ok, "proof is not added (storage trie)"); } else { - account_trie - .missing_nodes_requested - .push(missing_node.clone()); + account_trie.missing_nodes_requested.push(missing_node); fetcher.add_missing_account_node(missing_node); } } diff --git a/crates/eth-sparse-mpt/src/v2/trie/mod.rs b/crates/eth-sparse-mpt/src/v2/trie/mod.rs index 241202fab..c3d1a3fcb 100644 --- a/crates/eth-sparse-mpt/src/v2/trie/mod.rs +++ b/crates/eth-sparse-mpt/src/v2/trie/mod.rs @@ -199,7 +199,8 @@ impl Trie { nibbles_key: &Nibbles, insert_value: InsertValue<'_>, ) -> Result>, NodeNotFound> { - let ins_key = nibbles_key.as_slice(); + let ins_key = nibbles_key.to_vec(); + let ins_key = ins_key.as_slice(); let mut current_node = 0; let mut path_walked = 0; @@ -210,7 +211,7 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + .ok_or(NodeNotFound(*nibbles_key))?; self.hashed_nodes[current_node] = false; match node { DiffTrieNode::Branch { children } => { @@ -219,9 +220,7 @@ impl Trie { let n = ins_key[path_walked] as usize; path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n] { - current_node = child_ptr - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = child_ptr.as_local().ok_or(NodeNotFound(*nibbles_key))?; continue; } else { let new_leaf_key = self.insert_key(&ins_key[path_walked..]); @@ -239,9 +238,7 @@ impl Trie { if ins_key[path_walked..].starts_with(&self.keys[key.clone()]) { path_walked += key.len(); - current_node = next_node - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = next_node.as_local().ok_or(NodeNotFound(*nibbles_key))?; continue; } @@ -377,7 +374,8 @@ impl Trie { &mut self, nibbles_key: &Nibbles, ) -> Result, DeletionError> { - let del_key = nibbles_key.as_slice(); + let del_key = nibbles_key.to_vec(); + let del_key = del_key.as_slice(); let mut current_node = 0; let mut path_walked = 0; @@ -390,7 +388,7 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + .ok_or(NodeNotFound(*nibbles_key))?; self.hashed_nodes[current_node] = false; match node { DiffTrieNode::Branch { children } => { @@ -406,9 +404,7 @@ impl Trie { path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n as usize] { - current_node = child_ptr - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = child_ptr.as_local().ok_or(NodeNotFound(*nibbles_key))?; if self.branch_node_children[children] .iter() .filter(|c| c.is_some()) @@ -423,11 +419,13 @@ impl Trie { .unwrap(); let orphan_ptr = orphan_ptr.unwrap(); if orphan_ptr.is_remote() { - let mut orphan_path = Nibbles::with_capacity(path_walked); - orphan_path - .extend_from_slice_unchecked(&del_key[..(path_walked - 1)]); - orphan_path.push_unchecked(orphan_nibble as u8); - return Err(NodeNotFound(orphan_path).into()); + let mut orphan_path = Vec::with_capacity(path_walked); + orphan_path.extend_from_slice(&del_key[..(path_walked - 1)]); + orphan_path.push(orphan_nibble as u8); + return Err(NodeNotFound(Nibbles::from_nibbles_unchecked( + &orphan_path, + )) + .into()); } } continue; @@ -442,9 +440,7 @@ impl Trie { if del_key[path_walked..].starts_with(&self.keys[key.clone()]) { self.walk_path.push((current_node, 0)); path_walked += key.len(); - current_node = next_node - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = next_node.as_local().ok_or(NodeNotFound(*nibbles_key))?; continue; } @@ -872,6 +868,9 @@ impl Trie { target_key: &Nibbles, proof_store: &ProofStore, ) -> Result { + let target_key_vec = target_key.to_vec(); + let target_key_slice = target_key_vec.as_slice(); + let mut buf = Vec::new(); let mut result = ProofWithValue { proof: Vec::new(), @@ -885,7 +884,7 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(target_key.clone()))?; + .ok_or(NodeNotFound(*target_key))?; if !self.hashed_nodes[current_node] { return Err(ProofError::TrieIsDirty); @@ -893,7 +892,7 @@ impl Trie { self.rlp_encode_node(current_node, &mut buf, proof_store); let current_node_path = - Nibbles::from_nibbles_unchecked(&target_key.as_slice()[..path_walked]); + Nibbles::from_nibbles_unchecked(&target_key_slice[..path_walked]); result.proof.push((current_node_path, buf.clone())); match node { @@ -904,13 +903,11 @@ impl Trie { let children = *children; - let n = target_key[path_walked]; + let n = target_key_slice[path_walked]; path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n as usize] { - current_node = child_ptr - .as_local() - .ok_or_else(|| NodeNotFound(target_key.clone()))?; + current_node = child_ptr.as_local().ok_or(NodeNotFound(*target_key))?; continue; } @@ -920,18 +917,16 @@ impl Trie { let key = key.clone(); let next_node = *next_node; - if target_key[path_walked..].starts_with(&self.keys[key.clone()]) { + if target_key_slice[path_walked..].starts_with(&self.keys[key.clone()]) { path_walked += key.len(); - current_node = next_node - .as_local() - .ok_or_else(|| NodeNotFound(target_key.clone()))?; + current_node = next_node.as_local().ok_or(NodeNotFound(*target_key))?; continue; } break; } DiffTrieNode::Leaf { key, value } => { - if self.keys[key.clone()] == target_key[path_walked..] { + if self.keys[key.clone()] == target_key_slice[path_walked..] { result.value = Some(self.values[value.clone()].to_vec()); } break; @@ -1043,14 +1038,16 @@ impl Trie { }); } ProofNode::Extension { key, child } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let next_node = NodePtr::Remote(*child); self.push_node(DiffTrieNode::Extension { key, next_node }); } ProofNode::Leaf { key, value } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let value = &proof_store.values_guard()[*value]; let value = self.copy_value(value); self.push_node(DiffTrieNode::Leaf { key, value }); @@ -1068,19 +1065,22 @@ impl Trie { let mut parent_ptr = None; let mut parent_nibble = 0; + let path_vec = path.to_vec(); + let path_slice = path_vec.as_slice(); + loop { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound::new(&path[..path_walked]))?; + .ok_or_else(|| NodeNotFound::new(&path_slice[..path_walked]))?; self.hashed_nodes[current_node] = false; match node { DiffTrieNode::Branch { children } => { let children = *children; - let n = path[path_walked] as usize; + let n = path_slice[path_walked] as usize; path_walked += 1; - if path[path_walked..].is_empty() { + if path_slice[path_walked..].is_empty() { parent_ptr = self.branch_node_children[children][n]; parent_nibble = n; break; @@ -1088,26 +1088,28 @@ impl Trie { if let Some(child_ptr) = self.branch_node_children[children][n] { current_node = child_ptr .as_local() - .ok_or_else(|| NodeNotFound::new(&path[..path_walked]))?; + .ok_or_else(|| NodeNotFound::new(&path_slice[..path_walked]))?; continue; } else { - return Err(NodeNotFound::new(&path[..path_walked])); + return Err(NodeNotFound::new(&path_slice[..path_walked])); } } DiffTrieNode::Extension { key, next_node } => { let key = key.clone(); let next_node = *next_node; - if path[path_walked..].starts_with(&self.keys[key.clone()]) { + if path_slice[path_walked..].starts_with(&self.keys[key.clone()]) { path_walked += key.len(); - if path[path_walked..].is_empty() { + if path_slice[path_walked..].is_empty() { parent_ptr = Some(next_node); parent_nibble = 0; break; } current_node = next_node.as_local().ok_or_else(|| { - NodeNotFound(Nibbles::from_nibbles_unchecked(&path[..path_walked])) + NodeNotFound(Nibbles::from_nibbles_unchecked( + &path_slice[..path_walked], + )) })?; continue; } @@ -1130,15 +1132,17 @@ impl Trie { let new_node = match node { ProofNode::Leaf { key, value } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let value = &proof_store.values_guard()[*value]; let value = self.copy_value(value); self.push_node(DiffTrieNode::Leaf { key, value }) } ProofNode::Extension { key, child } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let next_node = NodePtr::Remote(*child); self.push_node(DiffTrieNode::Extension { key, next_node }) } diff --git a/crates/eth-sparse-mpt/src/v_experimental/fetch.rs b/crates/eth-sparse-mpt/src/v_experimental/fetch.rs index 43f27fcaf..961e7b600 100644 --- a/crates/eth-sparse-mpt/src/v_experimental/fetch.rs +++ b/crates/eth-sparse-mpt/src/v_experimental/fetch.rs @@ -1,9 +1,6 @@ use std::sync::Arc; -use crate::{ - utils::{convert_nibbles_to_reth_nybbles, convert_reth_nybbles_to_nibbles, HashMap}, - SparseTrieError, -}; +use crate::{utils::HashMap, SparseTrieError}; use alloy_primitives::map::B256Set; use parking_lot::Mutex; use rayon::prelude::*; @@ -39,12 +36,12 @@ impl MissingNodesFetcher { .storage_proof_targets .entry(*hashed_address) .or_default(); - entry.0.insert(pad_path(node.clone())); + entry.0.insert(pad_path(node)); entry.1.push(node); } pub fn add_missing_account_node(&mut self, node: Nibbles) { - self.account_proof_targets.push(pad_path(node.clone())); + self.account_proof_targets.push(pad_path(node)); self.account_proof_requested_nodes.push(node); } @@ -89,13 +86,10 @@ impl MissingNodesFetcher { .map_err(SparseTrieError::other)?; *fetched_nodes.lock() += requested_proofs.len(); for requested_proof in requested_proofs { - let proof_for_node = storge_multiproof.subtree.matching_nodes_sorted( - &convert_nibbles_to_reth_nybbles(requested_proof.clone()), - ); - let reth_proof_for_node = proof_for_node - .into_iter() - .map(|(k, v)| (convert_reth_nybbles_to_nibbles(k), v)) - .collect(); + let proof_for_node = storge_multiproof + .subtree + .matching_nodes_sorted(&requested_proof); + let reth_proof_for_node = proof_for_node.into_iter().collect(); let proof_store = shared_cache.account_proof_store_hashed_address(&hashed_address); proof_store @@ -133,12 +127,9 @@ impl MissingNodesFetcher { for requested_node in self.account_proof_requested_nodes.drain(..) { let proof_for_node = multiproof .account_subtree - .matching_nodes_sorted(&convert_nibbles_to_reth_nybbles(requested_node.clone())); + .matching_nodes_sorted(&requested_node); - let reth_proof_for_node = proof_for_node - .into_iter() - .map(|(k, v)| (convert_reth_nybbles_to_nibbles(k), v)) - .collect(); + let reth_proof_for_node = proof_for_node.into_iter().collect(); shared_cache .account_trie .add_proof(requested_node, reth_proof_for_node) @@ -150,7 +141,9 @@ impl MissingNodesFetcher { } fn pad_path(mut path: Nibbles) -> B256 { - path.as_mut_vec_unchecked().resize(64, 0); + let mut path_vec = path.to_vec(); + path_vec.resize(64, 0); + path = Nibbles::from_nibbles_unchecked(&path_vec); let mut res = B256::default(); path.pack_to(res.as_mut_slice()); res diff --git a/crates/eth-sparse-mpt/src/v_experimental/mod.rs b/crates/eth-sparse-mpt/src/v_experimental/mod.rs index 612c0233f..ec310a482 100644 --- a/crates/eth-sparse-mpt/src/v_experimental/mod.rs +++ b/crates/eth-sparse-mpt/src/v_experimental/mod.rs @@ -449,7 +449,7 @@ impl RootHashCalculator { { fetcher .lock() - .add_missing_account_node(storage_calc.unpacked_hashed_address.clone()); + .add_missing_account_node(storage_calc.unpacked_hashed_address); } if storage_calc.insert_keys.is_empty() && storage_calc.delete_keys.is_empty() { @@ -469,7 +469,7 @@ impl RootHashCalculator { if !storage_calc.proof_store.has_proof(node) { fetcher .lock() - .add_missing_storage_node(&storage_calc.hashed_address, node.clone()); + .add_missing_storage_node(&storage_calc.hashed_address, *node); } } }); @@ -552,7 +552,7 @@ impl RootHashCalculator { storage_calc.insert_storage_key[i], AppliedStorageOp { inserted_value: storage_calc.insert_storage_value[i], - revert_key: storage_calc.insert_keys[i].clone(), + revert_key: storage_calc.insert_keys[i], revert_value, }, ); @@ -577,7 +577,7 @@ impl RootHashCalculator { storage_calc.delete_storage_key[i], AppliedStorageOp { inserted_value: U256::ZERO, - revert_key: storage_calc.delete_keys[i].clone(), + revert_key: storage_calc.delete_keys[i], revert_value: Some(revert_value), }, ); @@ -642,7 +642,7 @@ impl RootHashCalculator { let ok = storage_calc.trie.try_add_proof_from_proof_store(&missing_node, &storage_calc.proof_store).expect("should be able to insert proofs from proof store when they are found (storage trie)"); assert!(ok, "proof is not added (storage trie)"); } else { - storage_calc.missing_nodes_requested.push(missing_node.clone()); + storage_calc.missing_nodes_requested.push(missing_node); fetcher.lock().add_missing_storage_node(&storage_calc.hashed_address, missing_node); } } @@ -736,7 +736,7 @@ impl RootHashCalculator { } } - let key = storage_calc.unpacked_hashed_address.clone(); + let key = storage_calc.unpacked_hashed_address; if let Some(trie_account) = trie_account { let value = alloy_rlp::encode(trie_account); self.account_trie.insert_keys.push(key); @@ -771,7 +771,7 @@ impl RootHashCalculator { for address in proof_targets { let storage_calc = self.get_account_storage(address); let storage_calc = storage_calc.lock(); - let key = storage_calc.unpacked_hashed_address.clone(); + let key = storage_calc.unpacked_hashed_address; self.account_trie.proof_keys.push(key); self.account_trie.proof_account_keys.push(*address); self.account_trie.proof_ok.push(false); @@ -837,7 +837,7 @@ impl RootHashCalculator { account_trie.insert_account_keys[i], AppliedAccountOp { inserted_value: Some(account_trie.insert_account_values[i]), - revert_key: account_trie.insert_keys[i].clone(), + revert_key: account_trie.insert_keys[i], revert_value, }, ); @@ -862,7 +862,7 @@ impl RootHashCalculator { account_trie.delete_account_keys[i], AppliedAccountOp { inserted_value: None, - revert_key: account_trie.delete_keys[i].clone(), + revert_key: account_trie.delete_keys[i], revert_value: Some(revert_value), }, ); @@ -924,9 +924,7 @@ impl RootHashCalculator { let ok = account_trie.trie.try_add_proof_from_proof_store(&missing_node, proof_store).expect("should be able to insert proofs from proof store when they are found (storage trie)"); assert!(ok, "proof is not added (storage trie)"); } else { - account_trie - .missing_nodes_requested - .push(missing_node.clone()); + account_trie.missing_nodes_requested.push(missing_node); fetcher.add_missing_account_node(missing_node); } } diff --git a/crates/eth-sparse-mpt/src/v_experimental/trie/mod.rs b/crates/eth-sparse-mpt/src/v_experimental/trie/mod.rs index 0a25fcd18..99e6c1e4c 100644 --- a/crates/eth-sparse-mpt/src/v_experimental/trie/mod.rs +++ b/crates/eth-sparse-mpt/src/v_experimental/trie/mod.rs @@ -219,7 +219,8 @@ impl Trie { nibbles_key: &Nibbles, insert_value: InsertValue<'_>, ) -> Result>, NodeNotFound> { - let ins_key = nibbles_key.as_slice(); + let ins_key_vec = nibbles_key.to_vec(); + let ins_key = ins_key_vec.as_slice(); let mut current_node = 0; let mut path_walked = 0; @@ -230,7 +231,7 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + .ok_or(NodeNotFound(*nibbles_key))?; self.hashed_nodes[current_node] = false; match node { DiffTrieNode::Branch { children } => { @@ -239,9 +240,7 @@ impl Trie { let n = ins_key[path_walked] as usize; path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n] { - current_node = child_ptr - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = child_ptr.as_local().ok_or(NodeNotFound(*nibbles_key))?; continue; } else { let new_leaf_key = self.insert_key(&ins_key[path_walked..]); @@ -259,9 +258,7 @@ impl Trie { if ins_key[path_walked..].starts_with(&self.keys[key.clone()]) { path_walked += key.len(); - current_node = next_node - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = next_node.as_local().ok_or(NodeNotFound(*nibbles_key))?; continue; } @@ -397,7 +394,8 @@ impl Trie { &mut self, nibbles_key: &Nibbles, ) -> Result, DeletionError> { - let del_key = nibbles_key.as_slice(); + let del_key_vec = nibbles_key.to_vec(); + let del_key = del_key_vec.as_slice(); let mut current_node = 0; let mut path_walked = 0; @@ -410,7 +408,7 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + .ok_or(NodeNotFound(*nibbles_key))?; self.hashed_nodes[current_node] = false; match node { DiffTrieNode::Branch { children } => { @@ -426,9 +424,7 @@ impl Trie { path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n as usize] { - current_node = child_ptr - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = child_ptr.as_local().ok_or(NodeNotFound(*nibbles_key))?; if self.branch_node_children[children] .iter() .filter(|c| c.is_some()) @@ -443,11 +439,13 @@ impl Trie { .unwrap(); let orphan_ptr = orphan_ptr.unwrap(); if orphan_ptr.is_remote() { - let mut orphan_path = Nibbles::with_capacity(path_walked); - orphan_path - .extend_from_slice_unchecked(&del_key[..(path_walked - 1)]); - orphan_path.push_unchecked(orphan_nibble as u8); - return Err(NodeNotFound(orphan_path).into()); + let mut orphan_path = Vec::with_capacity(path_walked); + orphan_path.extend_from_slice(&del_key[..(path_walked - 1)]); + orphan_path.push(orphan_nibble as u8); + return Err(NodeNotFound(Nibbles::from_nibbles_unchecked( + &orphan_path, + )) + .into()); } } continue; @@ -462,9 +460,7 @@ impl Trie { if del_key[path_walked..].starts_with(&self.keys[key.clone()]) { self.walk_path.push((current_node, 0)); path_walked += key.len(); - current_node = next_node - .as_local() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = next_node.as_local().ok_or(NodeNotFound(*nibbles_key))?; continue; } @@ -901,11 +897,14 @@ impl Trie { let mut current_node = 0; let mut path_walked = 0; + let target_key_vec = target_key.to_vec(); + let target_key_slice = target_key_vec.as_slice(); + loop { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(target_key.clone()))?; + .ok_or(NodeNotFound(*target_key))?; if !self.hashed_nodes[current_node] { return Err(ProofError::TrieIsDirty); @@ -913,7 +912,7 @@ impl Trie { self.rlp_encode_node(current_node, &mut buf, proof_store); let current_node_path = - Nibbles::from_nibbles_unchecked(&target_key.as_slice()[..path_walked]); + Nibbles::from_nibbles_unchecked(&target_key_slice[..path_walked]); result.proof.push((current_node_path, buf.clone())); match node { @@ -924,13 +923,11 @@ impl Trie { let children = *children; - let n = target_key[path_walked]; + let n = target_key_slice[path_walked]; path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n as usize] { - current_node = child_ptr - .as_local() - .ok_or_else(|| NodeNotFound(target_key.clone()))?; + current_node = child_ptr.as_local().ok_or(NodeNotFound(*target_key))?; continue; } @@ -940,18 +937,16 @@ impl Trie { let key = key.clone(); let next_node = *next_node; - if target_key[path_walked..].starts_with(&self.keys[key.clone()]) { + if target_key_slice[path_walked..].starts_with(&self.keys[key.clone()]) { path_walked += key.len(); - current_node = next_node - .as_local() - .ok_or_else(|| NodeNotFound(target_key.clone()))?; + current_node = next_node.as_local().ok_or(NodeNotFound(*target_key))?; continue; } break; } DiffTrieNode::Leaf { key, value } => { - if self.keys[key.clone()] == target_key[path_walked..] { + if self.keys[key.clone()] == target_key_slice[path_walked..] { result.value = Some(self.values[value.clone()].to_vec()); } break; @@ -1063,14 +1058,16 @@ impl Trie { }); } ProofNode::Extension { key, child } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let next_node = NodePtr::Remote(*child); self.push_node(DiffTrieNode::Extension { key, next_node }); } ProofNode::Leaf { key, value } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let value = &proof_store.values_guard()[*value]; let value = self.copy_value(value); self.push_node(DiffTrieNode::Leaf { key, value }); @@ -1088,19 +1085,22 @@ impl Trie { let mut parent_ptr = None; let mut parent_nibble = 0; + let path_vec = path.to_vec(); + let path_slice = path_vec.as_slice(); + loop { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound::new(&path[..path_walked]))?; + .ok_or_else(|| NodeNotFound::new(&path_slice[..path_walked]))?; self.hashed_nodes[current_node] = false; match node { DiffTrieNode::Branch { children } => { let children = *children; - let n = path[path_walked] as usize; + let n = path_slice[path_walked] as usize; path_walked += 1; - if path[path_walked..].is_empty() { + if path_slice[path_walked..].is_empty() { parent_ptr = self.branch_node_children[children][n]; parent_nibble = n; break; @@ -1108,26 +1108,28 @@ impl Trie { if let Some(child_ptr) = self.branch_node_children[children][n] { current_node = child_ptr .as_local() - .ok_or_else(|| NodeNotFound::new(&path[..path_walked]))?; + .ok_or_else(|| NodeNotFound::new(&path_slice[..path_walked]))?; continue; } else { - return Err(NodeNotFound::new(&path[..path_walked])); + return Err(NodeNotFound::new(&path_slice[..path_walked])); } } DiffTrieNode::Extension { key, next_node } => { let key = key.clone(); let next_node = *next_node; - if path[path_walked..].starts_with(&self.keys[key.clone()]) { + if path_slice[path_walked..].starts_with(&self.keys[key.clone()]) { path_walked += key.len(); - if path[path_walked..].is_empty() { + if path_slice[path_walked..].is_empty() { parent_ptr = Some(next_node); parent_nibble = 0; break; } current_node = next_node.as_local().ok_or_else(|| { - NodeNotFound(Nibbles::from_nibbles_unchecked(&path[..path_walked])) + NodeNotFound(Nibbles::from_nibbles_unchecked( + &path_slice[..path_walked], + )) })?; continue; } @@ -1150,15 +1152,17 @@ impl Trie { let new_node = match node { ProofNode::Leaf { key, value } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let value = &proof_store.values_guard()[*value]; let value = self.copy_value(value); self.push_node(DiffTrieNode::Leaf { key, value }) } ProofNode::Extension { key, child } => { - let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let nibbles_key = proof_store.keys_guard()[*key]; + let key_bytes = nibbles_key.to_vec(); + let key = self.insert_key(&key_bytes); let next_node = NodePtr::Remote(*child); self.push_node(DiffTrieNode::Extension { key, next_node }) } diff --git a/crates/rbuilder/src/bin/debug-bench-machine.rs b/crates/rbuilder/src/bin/debug-bench-machine.rs index 2268fa3d0..47f58638f 100644 --- a/crates/rbuilder/src/bin/debug-bench-machine.rs +++ b/crates/rbuilder/src/bin/debug-bench-machine.rs @@ -24,7 +24,6 @@ use rbuilder::{ use rbuilder_config::load_toml_config; use rbuilder_primitives::mev_boost::SubmitBlockRequest; use reth_primitives_traits::SignerRecoverable; -use reth_provider::StateProvider; use std::{path::PathBuf, sync::Arc, time::Instant}; use tracing::{debug, info}; @@ -104,7 +103,7 @@ async fn main() -> eyre::Result<()> { mev_blocker_price, ); - let state_provider = Arc::::from( + let state_provider = rbuilder::building::state_provider_box_into_arc( provider_factory .provider_factory_unchecked() .history_by_block_number(last_block)?, diff --git a/crates/rbuilder/src/bin/run-bundle-on-prefix.rs b/crates/rbuilder/src/bin/run-bundle-on-prefix.rs index 52d09473b..90d1b7fd7 100644 --- a/crates/rbuilder/src/bin/run-bundle-on-prefix.rs +++ b/crates/rbuilder/src/bin/run-bundle-on-prefix.rs @@ -156,9 +156,9 @@ impl LandedBlockInfo { .config .base_config() .create_reth_provider_factory(true)?; - let block_state = provider - .history_by_block_hash(ctx.attributes.parent)? - .into(); + let block_state = rbuilder::building::state_provider_box_into_arc( + provider.history_by_block_hash(ctx.attributes.parent)?, + ); let order_statistics = OrderStatistics::new(); Ok(BlockBuildingHelperFromProvider::new( BuiltBlockId::ZERO, diff --git a/crates/rbuilder/src/building/builders/block_building_helper.rs b/crates/rbuilder/src/building/builders/block_building_helper.rs index 0ae1ed4e2..2310c2adc 100644 --- a/crates/rbuilder/src/building/builders/block_building_helper.rs +++ b/crates/rbuilder/src/building/builders/block_building_helper.rs @@ -214,7 +214,7 @@ impl BlockBuildingHelperFromProvider { pub fn new( built_block_id: BuiltBlockId, next_journal_sequence_number: JournalSequenceNumber, - state_provider: Arc, + state_provider: Arc, building_ctx: BlockBuildingContext, local_ctx: &mut ThreadBlockBuildingContext, builder_name: String, @@ -252,7 +252,7 @@ impl< pub fn new_with_execution_tracer( built_block_id: BuiltBlockId, next_journal_sequence_number: JournalSequenceNumber, - state_provider: Arc, + state_provider: Arc, building_ctx: BlockBuildingContext, local_ctx: &mut ThreadBlockBuildingContext, builder_name: String, diff --git a/crates/rbuilder/src/building/builders/ordering_builder.rs b/crates/rbuilder/src/building/builders/ordering_builder.rs index 40a2b078c..92513dde0 100644 --- a/crates/rbuilder/src/building/builders/ordering_builder.rs +++ b/crates/rbuilder/src/building/builders/ordering_builder.rs @@ -13,9 +13,10 @@ use crate::{ OrderIntakeConsumer, }, journal::JournalSequenceNumber, - order_is_worth_executing, BlockBuildingContext, ExecutionError, - NullPartialBlockExecutionTracer, OrderPriority, PartialBlockExecutionTracer, - PrioritizedOrderStore, SimulatedOrderSink, Sorting, ThreadBlockBuildingContext, + order_is_worth_executing, state_provider_box_into_arc, BlockBuildingContext, + ExecutionError, NullPartialBlockExecutionTracer, OrderPriority, + PartialBlockExecutionTracer, PrioritizedOrderStore, SimulatedOrderSink, Sorting, + ThreadBlockBuildingContext, }, live_builder::{ block_output::bidding_service_interface::CompetitionBidContext, @@ -95,11 +96,11 @@ pub fn run_ordering_builder( { let payload_id = input.ctx.payload_id; - let block_state: Arc = match input + let block_state: Arc = match input .provider .history_by_block_hash(input.ctx.attributes.parent) { - Ok(state) => Arc::from(state), + Ok(state) => state_provider_box_into_arc(state), Err(err) => { error!( ?err, @@ -191,7 +192,7 @@ where block_orders_from_sim_orders::(input.sim_orders, &state_provider)?; let mut local_ctx = ThreadBlockBuildingContext::default(); let mut builder = OrderingBuilderContext::new( - Arc::from(state_provider), + state_provider_box_into_arc(state_provider), input.builder_name, input.ctx.clone(), ordering_config, @@ -220,7 +221,7 @@ where #[derivative(Debug)] pub struct OrderingBuilderContext { #[derivative(Debug = "ignore")] - state: Arc, + state: Arc, builder_name: String, ctx: BlockBuildingContext, config: OrderingBuilderConfig, @@ -238,7 +239,7 @@ pub struct OrderingBuilderContext { impl OrderingBuilderContext { pub fn new( - state: Arc, + state: Arc, builder_name: String, ctx: BlockBuildingContext, config: OrderingBuilderConfig, diff --git a/crates/rbuilder/src/building/builders/parallel_builder/block_building_result_assembler.rs b/crates/rbuilder/src/building/builders/parallel_builder/block_building_result_assembler.rs index f55f466fe..6a7c5fdde 100644 --- a/crates/rbuilder/src/building/builders/parallel_builder/block_building_result_assembler.rs +++ b/crates/rbuilder/src/building/builders/parallel_builder/block_building_result_assembler.rs @@ -31,7 +31,7 @@ use rbuilder_primitives::order_statistics::OrderStatistics; /// Assembles block building results from the best orderings of order groups. pub struct BlockBuildingResultAssembler { - state: Arc, + state: Arc, ctx: BlockBuildingContext, pub local_ctx: ThreadBlockBuildingContext, cancellation_token: CancellationToken, @@ -58,7 +58,7 @@ impl BlockBuildingResultAssembler { pub fn new( config: &ParallelBuilderConfig, best_results: Arc, - state: Arc, + state: Arc, ctx: BlockBuildingContext, cancellation_token: CancellationToken, builder_name: String, diff --git a/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolvers.rs b/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolvers.rs index 0d413b197..2e4aacff5 100644 --- a/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolvers.rs +++ b/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolvers.rs @@ -26,7 +26,7 @@ use rbuilder_primitives::{OrderId, SimulatedOrder}; #[derivative(Debug)] pub struct ResolverContext { #[derivative(Debug = "ignore")] - pub state: Arc, + pub state: Arc, pub ctx: BlockBuildingContext, pub cancellation_token: CancellationToken, pub simulation_cache: Arc, @@ -43,7 +43,7 @@ impl ResolverContext { /// * `cache` - Optional cached reads for optimization. /// * `simulation_cache` - Shared cache for simulation results. pub fn new( - state: Arc, + state: Arc, ctx: BlockBuildingContext, cancellation_token: CancellationToken, simulation_cache: Arc, @@ -126,7 +126,7 @@ impl ResolverContext { &mut self, sequence_of_orders: Vec, task: &ConflictTask, - state_provider: Arc, + state_provider: Arc, ) -> Result<(ResolutionResult, BlockState)> { // @todo actually reuse it for the duration of the block let mut local_ctx = ThreadBlockBuildingContext::default(); @@ -284,7 +284,10 @@ impl ResolverContext { } /// Initializes the block state, using a cached state if available. - fn initialize_block_state(&mut self, state_provider: Arc) -> BlockState { + fn initialize_block_state( + &mut self, + state_provider: Arc, + ) -> BlockState { BlockState::new_arc(state_provider) } diff --git a/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolving_pool.rs b/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolving_pool.rs index 396ab75ea..e76bc6f32 100644 --- a/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolving_pool.rs +++ b/crates/rbuilder/src/building/builders/parallel_builder/conflict_resolving_pool.rs @@ -15,7 +15,11 @@ use super::{ simulation_cache::SharedSimulationCache, ConflictGroup, ConflictResolutionResultPerGroup, ConflictTask, GroupId, ResolutionResult, TaskPriority, }; -use crate::{building::BlockBuildingContext, provider::StateProviderFactory, utils::elapsed_ms}; +use crate::{ + building::{state_provider_box_into_arc, BlockBuildingContext}, + provider::StateProviderFactory, + utils::elapsed_ms, +}; pub type TaskQueue = Arc>; @@ -65,10 +69,10 @@ where let simulation_cache = self.simulation_cache.clone(); let ctx = self.ctx.clone(); - let block_state: Arc = self + let state_box = self .provider - .history_by_block_hash(self.ctx.attributes.parent)? - .into(); + .history_by_block_hash(self.ctx.attributes.parent)?; + let block_state = state_provider_box_into_arc(state_box); thread::spawn(move || { while !cancellation_token.is_cancelled() { if let Some(task) = task_queue.pop() { @@ -112,7 +116,7 @@ where fn process_task( task: ConflictTask, ctx: &BlockBuildingContext, - state: Arc, + state: Arc, cancellation_token: CancellationToken, simulation_cache: Arc, ) -> Result<(GroupId, (ResolutionResult, ConflictGroup))> { @@ -156,7 +160,7 @@ where &mut self, new_groups: Vec, ctx: &BlockBuildingContext, - state: Arc, + state: Arc, simulation_cache: Arc, ) -> Vec<(GroupId, (ResolutionResult, ConflictGroup))> { let mut results = Vec::new(); diff --git a/crates/rbuilder/src/building/builders/parallel_builder/mod.rs b/crates/rbuilder/src/building/builders/parallel_builder/mod.rs index ab11a91ac..dbae6ca13 100644 --- a/crates/rbuilder/src/building/builders/parallel_builder/mod.rs +++ b/crates/rbuilder/src/building/builders/parallel_builder/mod.rs @@ -17,7 +17,7 @@ use crossbeam::queue::SegQueue; use eyre::Result; use itertools::Itertools; use results_aggregator::BestResults; -use reth_provider::StateProvider; + use serde::Deserialize; use simulation_cache::SharedSimulationCache; use std::{ @@ -31,9 +31,12 @@ use tokio_util::sync::CancellationToken; use tracing::{error, trace}; use crate::{ - building::builders::{ - BacktestSimulateBlockInput, Block, BlockBuildingAlgorithm, BlockBuildingAlgorithmInput, - BuiltBlockIdSource, LiveBuilderInput, + building::{ + builders::{ + BacktestSimulateBlockInput, Block, BlockBuildingAlgorithm, BlockBuildingAlgorithmInput, + BuiltBlockIdSource, LiveBuilderInput, + }, + state_provider_box_into_arc, }, live_builder::block_output::bidding_service_interface::CompetitionBidContext, provider::StateProviderFactory, @@ -123,10 +126,10 @@ where let results_aggregator = ResultsAggregator::new(group_result_receiver, Arc::clone(&best_results)); - let block_state = input + let state_box = input .provider - .history_by_block_hash(input.ctx.attributes.parent)? - .into(); + .history_by_block_hash(input.ctx.attributes.parent)?; + let block_state = state_provider_box_into_arc(state_box); let block_building_result_assembler = BlockBuildingResultAssembler::new( config, @@ -329,10 +332,10 @@ where let setup_duration = setup_start.elapsed(); - let block_state: Arc = input + let state_box = input .provider - .history_by_block_hash(input.ctx.attributes.parent)? - .into(); + .history_by_block_hash(input.ctx.attributes.parent)?; + let block_state = state_provider_box_into_arc(state_box); // Group processing let processing_start = Instant::now(); diff --git a/crates/rbuilder/src/building/conflict.rs b/crates/rbuilder/src/building/conflict.rs index 19067aad2..0f4a27a71 100644 --- a/crates/rbuilder/src/building/conflict.rs +++ b/crates/rbuilder/src/building/conflict.rs @@ -1,4 +1,7 @@ -use super::{BlockBuildingContext, BlockState, PartialBlockFork, ThreadBlockBuildingContext}; +use super::{ + state_provider_box_into_arc, BlockBuildingContext, BlockState, PartialBlockFork, + ThreadBlockBuildingContext, +}; use crate::building::BlockBuildingSpaceState; use alloy_primitives::{Address, U256}; use itertools::Itertools; @@ -30,7 +33,7 @@ pub fn find_conflict_slow( ctx: &BlockBuildingContext, orders: &[Order], ) -> eyre::Result> { - let mut state_provider = Arc::::from(state_provider); + let mut state_provider = state_provider_box_into_arc(state_provider); let mut local_ctx = ThreadBlockBuildingContext::default(); // We use empty combined refunds because the value of the bundle will // not change from batching. diff --git a/crates/rbuilder/src/building/mod.rs b/crates/rbuilder/src/building/mod.rs index 06be7a61e..c3bd525c7 100644 --- a/crates/rbuilder/src/building/mod.rs +++ b/crates/rbuilder/src/building/mod.rs @@ -56,7 +56,7 @@ use reth_primitives::BlockBody; use reth_primitives_traits::{proofs, Block as _}; use revm::{ context_interface::result::InvalidTransaction, database::states::bundle_state::BundleRetention, - primitives::hardfork::SpecId, + database_interface::DatabaseCommitExt, primitives::hardfork::SpecId, }; use serde::Deserialize; use std::{ @@ -172,6 +172,7 @@ impl BlockBuildingContext { gas_limit, withdrawals: Some(attributes.withdrawals.clone()), parent_beacon_block_root: attributes.parent_beacon_block_root, + extra_data: Default::default(), }, ) .ok()?; diff --git a/crates/rbuilder/src/building/order_commit.rs b/crates/rbuilder/src/building/order_commit.rs index 41dd0b676..8da5d1366 100644 --- a/crates/rbuilder/src/building/order_commit.rs +++ b/crates/rbuilder/src/building/order_commit.rs @@ -29,30 +29,53 @@ use revm::{ context::result::{ExecutionResult, ResultAndState}, context_interface::result::{EVMError, InvalidTransaction}, database::{states::bundle_state::BundleRetention, BundleState, State}, + database_interface::bal::EvmDatabaseError, Database as _, DatabaseCommit, }; use std::{collections::HashMap, sync::Arc}; use thiserror::Error; +/// Converts a [`StateProviderBox`] (`Box`) into an +/// `Arc`. +/// +/// Use this when you need to share the provider across threads via `Arc` (e.g. in +/// `BlockState`, `BlockBuildingHelperFromProvider`, parallel builders, etc.). +/// +/// # Why the transmute +/// Reth's factory methods return `StateProviderBox = Box`, which +/// mechanically erases `Sync` at the type-erasure boundary even though every concrete reth +/// `StateProvider` implementation (`DatabaseStateProvider`, `HistoricalStateProvider`, …) is +/// genuinely `Sync` — the trait only exposes `&self` read-only methods with no interior +/// mutability. +/// +/// `Arc` requires `T: Send + Sync` to be `Send + Sync` itself, so without restoring the +/// `Sync` bound we cannot share the provider across threads at all +pub fn state_provider_box_into_arc( + provider: StateProviderBox, +) -> Arc { + let arc: Arc = Arc::from(provider); + unsafe { std::mem::transmute(arc) } +} + #[derive(Clone)] pub struct BlockState { - provider: Arc, + provider: Arc, bundle_state: Option, } impl BlockState { pub fn new(provider: StateProviderBox) -> Self { - Self::new_arc(Arc::from(provider)) + Self::new_arc(state_provider_box_into_arc(provider)) } - pub fn new_arc(provider: Arc) -> Self { + pub fn new_arc(provider: Arc) -> Self { Self { provider, bundle_state: Some(BundleState::default()), } } - pub fn into_provider(self) -> Arc { + pub fn into_provider(self) -> Arc { self.provider } @@ -61,7 +84,7 @@ impl BlockState { self } - pub fn into_parts(self) -> (BundleState, Arc) { + pub fn into_parts(self) -> (BundleState, Arc) { (self.bundle_state.unwrap(), self.provider) } @@ -73,7 +96,7 @@ impl BlockState { self.bundle_state.as_mut().unwrap() } - pub fn state_provider(&self) -> Arc { + pub fn state_provider(&self) -> Arc { self.provider.clone() } @@ -86,7 +109,7 @@ impl BlockState { shared_cache_reads: &'b SharedCachedReads, local_cache_reads: &'c mut LocalCachedReads, ) -> BlockStateDBRef<'a, CachedDB<'c, 'b, impl Database + 'a>> { - let state_provider = StateProviderDatabase::new(&self.provider); + let state_provider = StateProviderDatabase::new(self.provider.as_ref()); let cachedb = CachedDB::new(state_provider, local_cache_reads, shared_cache_reads); let bundle_state = self.bundle_state.take().unwrap(); let db = State::builder() @@ -106,7 +129,8 @@ impl BlockState { let mut db = self.new_db_ref(shared_cache_reads, local_cache_reads); Ok(db .as_mut() - .basic(address)? + .basic(address) + .map_err(|e| e.into_external_error())? .map(|acc| acc.balance) .unwrap_or_default()) } @@ -120,7 +144,8 @@ impl BlockState { let mut db = self.new_db_ref(shared_cache_reads, local_cache_reads); Ok(db .as_mut() - .basic(address)? + .basic(address) + .map_err(|e| e.into_external_error())? .map(|acc| acc.nonce) .unwrap_or_default()) } @@ -134,7 +159,8 @@ impl BlockState { let mut db = self.new_db_ref(shared_cache_reads, local_cache_reads); Ok(db .as_mut() - .basic(address)? + .basic(address) + .map_err(|e| e.into_external_error())? .map(|acc| acc.code_hash) .unwrap_or_else(|| KECCAK_EMPTY)) } @@ -456,7 +482,7 @@ pub enum CriticalCommitOrderError { #[error("Reth error: {0}")] Reth(#[from] ProviderError), #[error("EVM error: {0}")] - EVM(#[from] EVMError), + EVM(#[from] EVMError>), /// This could happen if we can't fit a balance in a I256 (unlikely/impossible since the ETH total supply is several orders of magnitude bellow I256::max) #[error("BigIntConversionError error: {0}")] BigIntConversionError(#[from] alloy_primitives::BigIntConversionError), @@ -1155,7 +1181,7 @@ fn execute_evm( evm_env: EvmEnv, tx_with_blobs: &TransactionSignedEcRecoveredWithBlobs, used_state_tracer: Option<&mut UsedStateTrace>, - db: impl Database, + db: impl Database>, blocklist: &HashSet
, ) -> Result, CriticalCommitOrderError> where diff --git a/crates/rbuilder/src/building/payout_tx.rs b/crates/rbuilder/src/building/payout_tx.rs index 0afc52162..c840ebd9e 100644 --- a/crates/rbuilder/src/building/payout_tx.rs +++ b/crates/rbuilder/src/building/payout_tx.rs @@ -10,7 +10,10 @@ use reth_chainspec::ChainSpec; use reth_errors::ProviderError; use reth_evm::Evm; use reth_primitives::{Recovered, Transaction, TransactionSigned}; -use revm::context::result::{EVMError, ExecutionResult}; +use revm::{ + context::result::{EVMError, ExecutionResult}, + database_interface::bal::EvmDatabaseError, +}; pub fn create_payout_tx( chain_spec: &ChainSpec, @@ -42,7 +45,7 @@ pub enum PayoutTxErr { #[error("Signature error: {0}")] SignError(#[from] secp256k1::Error), #[error("EVM error: {0}")] - EvmError(#[from] EVMError), + EvmError(#[from] EVMError>), } impl PartialEq for PayoutTxErr { diff --git a/crates/rbuilder/src/building/sim.rs b/crates/rbuilder/src/building/sim.rs index b50f5b9dd..6e49d949f 100644 --- a/crates/rbuilder/src/building/sim.rs +++ b/crates/rbuilder/src/building/sim.rs @@ -5,8 +5,9 @@ use super::{ }; use crate::{ building::{ - order_is_worth_executing, BlockBuildingContext, BlockBuildingSpaceState, BlockState, - CriticalCommitOrderError, NullPartialBlockForkExecutionTracer, + order_is_worth_executing, state_provider_box_into_arc, BlockBuildingContext, + BlockBuildingSpaceState, BlockState, CriticalCommitOrderError, + NullPartialBlockForkExecutionTracer, }, live_builder::order_input::mempool_txs_detector::MempoolTxsDetector, provider::StateProviderFactory, @@ -18,7 +19,7 @@ use alloy_primitives::Address; use rand::seq::SliceRandom; use rbuilder_primitives::{Order, OrderId, SimulatedOrder}; use reth_errors::ProviderError; -use reth_provider::StateProvider; + use std::{ cmp::{max, min, Ordering}, collections::hash_map::Entry, @@ -324,7 +325,7 @@ where { let nonces = { let state = provider.history_by_block_hash(ctx.attributes.parent)?; - NonceCache::new(state.into()) + NonceCache::new(state_provider_box_into_arc(state)) }; let mut sim_tree = SimTree::new(nonces); @@ -339,8 +340,8 @@ where } let mut sim_errors = Vec::new(); - let mut state_for_sim = - Arc::::from(provider.history_by_block_hash(ctx.attributes.parent)?); + let state_box = provider.history_by_block_hash(ctx.attributes.parent)?; + let mut state_for_sim = state_provider_box_into_arc(state_box); let mut local_ctx = ThreadBlockBuildingContext::default(); loop { // mix new orders into the sim_tree diff --git a/crates/rbuilder/src/building/testing/bundle_tests/setup.rs b/crates/rbuilder/src/building/testing/bundle_tests/setup.rs index 9dfe9fa91..5d4e1a37d 100644 --- a/crates/rbuilder/src/building/testing/bundle_tests/setup.rs +++ b/crates/rbuilder/src/building/testing/bundle_tests/setup.rs @@ -4,6 +4,7 @@ //! test setup is used to build orders and commit them use crate::building::{ cached_reads::{LocalCachedReads, SharedCachedReads}, + state_provider_box_into_arc, testing::test_chain_state::{BlockArgs, NamedAddr, TestChainState, TxArgs}, BlockState, ExecutionError, ExecutionResult, NullPartialBlockExecutionTracer, OrderErr, PartialBlock, ThreadBlockBuildingContext, @@ -195,8 +196,8 @@ impl TestSetup { ) } fn try_commit_order(&mut self) -> eyre::Result> { - let state_provider: Arc = - Arc::from(self.test_chain.provider_factory().latest()?); + let state_provider = + state_provider_box_into_arc(self.test_chain.provider_factory().latest()?); let mut local_ctx = ThreadBlockBuildingContext::default(); let sim_order = SimulatedOrder::new( diff --git a/crates/rbuilder/src/building/testing/test_chain_state.rs b/crates/rbuilder/src/building/testing/test_chain_state.rs index 3056e4753..c275eb4ff 100644 --- a/crates/rbuilder/src/building/testing/test_chain_state.rs +++ b/crates/rbuilder/src/building/testing/test_chain_state.rs @@ -137,7 +137,7 @@ impl TestChainState { { let provider = provider_factory.provider_rw()?; provider.insert_block( - Block::new(genesis_header.header().clone(), BlockBody::default()) + &Block::new(genesis_header.header().clone(), BlockBody::default()) .try_into_recovered() .unwrap(), )?; @@ -208,7 +208,6 @@ impl TestChainState { None, RootHashContext::new(true, false, None, V2), provider_factory.clone(), - provider_factory.clone(), )); let ctx = TestBlockContextBuilder::new( diff --git a/crates/rbuilder/src/building/tx_sim_cache/mod.rs b/crates/rbuilder/src/building/tx_sim_cache/mod.rs index c3840b168..cf6dbc3bf 100644 --- a/crates/rbuilder/src/building/tx_sim_cache/mod.rs +++ b/crates/rbuilder/src/building/tx_sim_cache/mod.rs @@ -10,7 +10,10 @@ use itertools::Itertools; use rbuilder_primitives::evm_inspector::UsedStateTrace; use result_store::{ActionResult, ExecutionResultStore, NextAction}; use reth_errors::ProviderError; -use revm::{context::result::ResultAndState, state::AccountInfo, Database}; +use revm::{ + context::result::ResultAndState, database_interface::bal::EvmDatabaseError, state::AccountInfo, + Database, +}; use tracing::info; use crate::utils::signed_uint_delta; @@ -222,7 +225,7 @@ impl TxExecutionCache { pub fn get_cached_result( &self, - mut db: impl Database, + mut db: impl Database>, tx_hash: &B256, coinbase: &Address, ) -> Result { @@ -249,13 +252,15 @@ impl TxExecutionCache { }; let action_result = match next_action { NextAction::CheckAccount(address) => { - let current_account = db.basic(address)?; + let current_account = db.basic(address).map_err(|e| e.into_external_error())?; ActionResult::AccountValue(current_account) } NextAction::CheckStorage(address, index) => { - db.basic(address)?; // we load account here because revm database panics if we never loaded account before slot - let current_value = db.storage(address, index)?; + db.basic(address).map_err(|e| e.into_external_error())?; // we load account here because revm database panics if we never loaded account before slot + let current_value = db + .storage(address, index) + .map_err(|e| e.into_external_error())?; ActionResult::StorageValue(current_value) } NextAction::DoNothing => ActionResult::DoNothing, @@ -287,7 +292,7 @@ impl TxExecutionCache { panic!("tx_sim_cache: tx did not read coinbase account"); }; - let current_coinbase = db.basic(*coinbase)?; + let current_coinbase = db.basic(*coinbase).map_err(|e| e.into_external_error())?; let mut coinbase_nonce_delta = 0i64; let mut coinbase_balance_delta = I256::ZERO; diff --git a/crates/rbuilder/src/building/tx_sim_cache/result_store.rs b/crates/rbuilder/src/building/tx_sim_cache/result_store.rs index a8f244e61..ec689b310 100644 --- a/crates/rbuilder/src/building/tx_sim_cache/result_store.rs +++ b/crates/rbuilder/src/building/tx_sim_cache/result_store.rs @@ -144,6 +144,7 @@ mod tests { nonce: 0, code_hash: Default::default(), code: None, + account_id: None, }), } } diff --git a/crates/rbuilder/src/live_builder/base_config.rs b/crates/rbuilder/src/live_builder/base_config.rs index 6a9c7e341..af3c07b11 100644 --- a/crates/rbuilder/src/live_builder/base_config.rs +++ b/crates/rbuilder/src/live_builder/base_config.rs @@ -582,6 +582,16 @@ pub fn create_provider_factory( open_reth_db(&reth_db_path) }?; + let reth_rocksdb_path = reth_datadir + .as_ref() + .map(|d| d.join("rocksdb")) + .unwrap_or_else(|| { + reth_db_path + .parent() + .unwrap_or(&reth_db_path) + .join("rocksdb") + }); + let reth_static_files_path = match (reth_static_files_path, reth_datadir) { (Some(reth_static_files_path), _) => PathBuf::from(reth_static_files_path), (None, Some(reth_datadir)) => reth_datadir.join("static_files"), @@ -590,8 +600,13 @@ pub fn create_provider_factory( } }; - let provider_factory_reopener = - ProviderFactoryReopener::new(db, chain_spec, reth_static_files_path, root_hash_config)?; + let provider_factory_reopener = ProviderFactoryReopener::new( + db, + chain_spec, + reth_static_files_path, + reth_rocksdb_path, + root_hash_config, + )?; if provider_factory_reopener .provider_factory_unchecked() @@ -630,7 +645,10 @@ mod test { use reth_db::init_db; use reth_db_common::init::init_genesis; use reth_node_core::dirs::{DataDirPath, MaybePlatformPath}; - use reth_provider::{providers::StaticFileProvider, ProviderFactory}; + use reth_provider::{ + providers::{RocksDBBuilder, StaticFileProvider}, + ProviderFactory, + }; use tempfile::TempDir; use tokio_util::sync::CancellationToken; @@ -656,21 +674,30 @@ mod test { .is_err()); } - #[test] - fn test_reth_db() { + #[tokio::test] + async fn test_reth_db() { // Setup and initialize a temp reth db (with static files) let tempdir = TempDir::with_prefix_in("rbuilder-", "/tmp").unwrap(); let data_dir = MaybePlatformPath::::from(tempdir.keep()); let data_dir = data_dir.unwrap_or_chain_default(Chain::mainnet(), DatadirArgs::default()); - let db = Arc::new(init_db(data_dir.data_dir(), Default::default()).unwrap()); + let db_path = data_dir.db(); + let rocksdb_path = data_dir.data_dir().join("rocksdb"); + let db = Arc::new(init_db(&db_path, Default::default()).unwrap()); let provider_factory = ProviderFactory::>::new( db, SEPOLIA.clone(), StaticFileProvider::read_write(data_dir.static_files().as_path()).unwrap(), - ); + RocksDBBuilder::new(&rocksdb_path) + .with_default_tables() + .build() + .expect("failed to create test RocksDB provider"), + reth::tasks::Runtime::test(), + ) + .expect("failed to create provider factory"); init_genesis(&provider_factory).unwrap(); + drop(provider_factory); // release the RW lock before create_provider_factory opens the DB again // Create longer-lived PathBuf values let data_dir_path = data_dir.data_dir(); diff --git a/crates/rbuilder/src/live_builder/config.rs b/crates/rbuilder/src/live_builder/config.rs index 5de658107..990ffdbb9 100644 --- a/crates/rbuilder/src/live_builder/config.rs +++ b/crates/rbuilder/src/live_builder/config.rs @@ -773,6 +773,13 @@ pub fn create_provider_factory( let db = open_reth_db(&reth_db_path)?; + let reth_rocksdb_path = reth_datadir.map(|d| d.join("rocksdb")).unwrap_or_else(|| { + reth_db_path + .parent() + .unwrap_or(&reth_db_path) + .join("rocksdb") + }); + let reth_static_files_path = match (reth_static_files_path, reth_datadir) { (Some(reth_static_files_path), _) => PathBuf::from(reth_static_files_path), (None, Some(reth_datadir)) => reth_datadir.join("static_files"), @@ -781,8 +788,13 @@ pub fn create_provider_factory( } }; - let provider_factory_reopener = - ProviderFactoryReopener::new(db, chain_spec, reth_static_files_path, root_hash_config)?; + let provider_factory_reopener = ProviderFactoryReopener::new( + db, + chain_spec, + reth_static_files_path, + reth_rocksdb_path, + root_hash_config, + )?; if provider_factory_reopener .provider_factory_unchecked() diff --git a/crates/rbuilder/src/live_builder/order_input/txpool_fetcher.rs b/crates/rbuilder/src/live_builder/order_input/txpool_fetcher.rs index d3b794fed..43bd11d9c 100644 --- a/crates/rbuilder/src/live_builder/order_input/txpool_fetcher.rs +++ b/crates/rbuilder/src/live_builder/order_input/txpool_fetcher.rs @@ -116,7 +116,8 @@ async fn get_tx_with_blobs( mod test { use super::*; - use alloy_consensus::{SidecarBuilder, SimpleCoder}; + use alloy_consensus::{BlobTransactionSidecar, SidecarBuilder, SimpleCoder}; + use alloy_eips::eip7594::BlobTransactionSidecarVariant; use alloy_network::{EthereumWallet, TransactionBuilder}; use alloy_node_bindings::Anvil; use alloy_primitives::U256; @@ -156,7 +157,7 @@ mod test { let sidecar: SidecarBuilder = SidecarBuilder::from_slice("Blobs are fun!".as_bytes()); - let sidecar = sidecar.build().unwrap(); + let sidecar = BlobTransactionSidecarVariant::Eip4844(sidecar.build_4844().unwrap()); let gas_price = provider.get_gas_price().await.unwrap(); let eip1559_est = provider.estimate_eip1559_fees().await.unwrap(); diff --git a/crates/rbuilder/src/live_builder/simulation/mod.rs b/crates/rbuilder/src/live_builder/simulation/mod.rs index 4c2047da6..bd2a00985 100644 --- a/crates/rbuilder/src/live_builder/simulation/mod.rs +++ b/crates/rbuilder/src/live_builder/simulation/mod.rs @@ -18,6 +18,7 @@ use crate::{ use ahash::HashMap; use parking_lot::Mutex; use rbuilder_primitives::{OrderId, SimulatedOrder}; +use reth_provider::StateProvider; use simulation_job::SimulationJob; use std::sync::Arc; use tokio::{sync::mpsc, task::JoinHandle}; @@ -150,7 +151,16 @@ where return; } }; - NonceCache::new(state.into()) + { + let arc: Arc = Arc::from(state); + let arc_state: Arc = unsafe { + std::mem::transmute::< + Arc, + Arc, + >(arc) + }; + NonceCache::new(arc_state) + } }; let sim_tree = SimTree::new(nonces); @@ -221,6 +231,7 @@ mod tests { let cancel = CancellationToken::new(); let provider_factory_reopener = ProviderFactoryReopener::new_from_existing( test_context.provider_factory().clone(), + std::path::PathBuf::new(), None, ) .unwrap(); diff --git a/crates/rbuilder/src/live_builder/simulation/sim_worker.rs b/crates/rbuilder/src/live_builder/simulation/sim_worker.rs index 838ad3c6c..8f9c081f3 100644 --- a/crates/rbuilder/src/live_builder/simulation/sim_worker.rs +++ b/crates/rbuilder/src/live_builder/simulation/sim_worker.rs @@ -1,13 +1,14 @@ use crate::{ building::{ sim::{NonceKey, OrderSimResult, SimulatedResult}, - simulate_order, BlockState, ThreadBlockBuildingContext, + simulate_order, state_provider_box_into_arc, BlockState, ThreadBlockBuildingContext, }, live_builder::simulation::CurrentSimulationContexts, provider::StateProviderFactory, telemetry::{self, add_sim_thread_utilisation_timings, mark_order_simulation_end}, }; use parking_lot::Mutex; + use std::{ sync::Arc, thread::sleep, @@ -51,7 +52,7 @@ pub fn run_sim_worker

( let state_provider = match provider.history_by_block_hash(current_sim_context.block_ctx.attributes.parent) { - Ok(state_provider) => Arc::new(state_provider), + Ok(state_provider_box) => state_provider_box_into_arc(state_provider_box), Err(err) => { error!(?err, "Error while getting state for block"); continue 'main; diff --git a/crates/rbuilder/src/provider/ipc_state_provider.rs b/crates/rbuilder/src/provider/ipc_state_provider.rs index 7dbd9ac83..47543712b 100644 --- a/crates/rbuilder/src/provider/ipc_state_provider.rs +++ b/crates/rbuilder/src/provider/ipc_state_provider.rs @@ -56,7 +56,7 @@ pub struct IpcStateProviderFactory { ipc_provider: RpcProvider, code_cache: Arc>, - state_provider_by_hash: Arc>>, + state_provider_by_hash: Arc>, } impl IpcStateProviderFactory { @@ -122,18 +122,17 @@ impl StateProviderFactory for IpcStateProviderFactory { /// Gets state at the block hash fn history_by_block_hash(&self, block: BlockHash) -> ProviderResult { - if let Some(state) = self.state_provider_by_hash.get(&block) { - return Ok(Box::new(state)); + if let Some(cached) = self.state_provider_by_hash.get(&block) { + return Ok(Box::new(cached.clone())); } - let state = IpcStateProvider::into_boxed( + let provider = IpcStateProvider::new( self.ipc_provider.clone(), block.into(), self.code_cache.clone(), ); - - self.state_provider_by_hash.insert(block, *state.clone()); - Ok(state) + self.state_provider_by_hash.insert(block, provider.clone()); + Ok(Box::new(provider)) } /// Gets block header given block hash @@ -197,13 +196,13 @@ pub struct IpcStateProvider { ipc_provider: RpcProvider, block_id: BlockId, - // Per block cache - block_hash_cache: DashMap, + // Per block cache (Arc-wrapped so Clone shares the same cache data) + block_hash_cache: Arc>, // Note: It's ok to cache Account (and Storage) even in case of None, this is because StateProvider gives the // state for some past block, so if account didn't exist the first time, it cannot magically // appear later on - account_cache: DashMap>, - storage_cache: DashMap<(Address, StorageKey), Option>, + account_cache: Arc>>, + storage_cache: Arc>>, // Global cache (cache not related to specific block) code_cache: Arc>, @@ -222,22 +221,19 @@ impl IpcStateProvider { code_cache, - block_hash_cache: DashMap::new(), - storage_cache: DashMap::new(), - account_cache: DashMap::new(), + block_hash_cache: Arc::new(DashMap::new()), + storage_cache: Arc::new(DashMap::new()), + account_cache: Arc::new(DashMap::new()), } } /// Crates new instance of state provider on the heap - // Box::new(Arc::new(Self)) is required because StateProviderFactory returns Box - // Note: this is known clippy issue: https://github.com/rust-lang/rust-clippy/issues/7472 - #[allow(clippy::redundant_allocation)] fn into_boxed( ipc_provider: RpcProvider, block_id: BlockId, code_cache: Arc>, - ) -> Box> { - Box::new(Arc::new(Self::new(ipc_provider, block_id, code_cache))) + ) -> Box { + Box::new(Self::new(ipc_provider, block_id, code_cache)) } } @@ -286,6 +282,18 @@ impl StateProvider for IpcStateProvider { Ok(storage) } + + /// Get storage of given account by hashed key + fn storage_by_hashed_key( + &self, + account: Address, + hashed_key: alloy_primitives::FixedBytes<32>, + ) -> ProviderResult> { + // Convert hashed key to U256 and fetch via RPC + let key: U256 = U256::from_be_bytes(hashed_key.0); + let storage = rpc_call(&self.ipc_provider, "eth_getStorageAt", (account, key))?; + Ok(storage) + } } impl BlockHashReader for IpcStateProvider { diff --git a/crates/rbuilder/src/provider/reth_prov.rs b/crates/rbuilder/src/provider/reth_prov.rs index c3ed1c270..5bee25e82 100644 --- a/crates/rbuilder/src/provider/reth_prov.rs +++ b/crates/rbuilder/src/provider/reth_prov.rs @@ -4,8 +4,9 @@ use alloy_eips::BlockNumHash; use alloy_primitives::{BlockHash, BlockNumber, B256}; use reth_errors::ProviderResult; use reth_provider::{ - BlockReader, DatabaseProviderFactory, HeaderProvider, PruneCheckpointReader, - StageCheckpointReader, StateProviderBox, TrieReader, + BlockNumReader, BlockReader, ChangeSetReader, DatabaseProviderFactory, HeaderProvider, + PruneCheckpointReader, StageCheckpointReader, StateProviderBox, StorageChangeSetReader, + StorageSettingsCache, }; use tracing::error; @@ -30,7 +31,13 @@ impl

StateProviderFactoryFromRethProvider

{ impl

StateProviderFactory for StateProviderFactoryFromRethProvider

where P: DatabaseProviderFactory< - Provider: BlockReader + TrieReader + StageCheckpointReader + PruneCheckpointReader, + Provider: BlockReader + + StageCheckpointReader + + PruneCheckpointReader + + BlockNumReader + + ChangeSetReader + + StorageChangeSetReader + + StorageSettingsCache, > + reth_provider::StateProviderFactory + HeaderProvider

+ Clone @@ -69,7 +76,6 @@ where } fn root_hasher(&self, parent_num_hash: BlockNumHash) -> ProviderResult> { - let hasher = self.history_by_block_hash(parent_num_hash.hash)?; let parent_state_root = self .provider .header_by_hash_or_number(parent_num_hash.hash.into())? @@ -77,12 +83,12 @@ where if parent_state_root.is_none() { error!("Parent hash is not found (for root_hasher)"); } + Ok(Box::new(RootHasherImpl::new( parent_num_hash, parent_state_root, self.root_hash_context.clone(), self.provider.clone(), - hasher, ))) } } diff --git a/crates/rbuilder/src/provider/state_provider_factory_from_provider_factory.rs b/crates/rbuilder/src/provider/state_provider_factory_from_provider_factory.rs index 3b2c7513a..6c07faca8 100644 --- a/crates/rbuilder/src/provider/state_provider_factory_from_provider_factory.rs +++ b/crates/rbuilder/src/provider/state_provider_factory_from_provider_factory.rs @@ -84,7 +84,6 @@ where parent_state_root, root_hash_context.clone(), self.provider.clone(), - self.provider.clone(), )) } else { Box::new(MockRootHasher {}) diff --git a/crates/rbuilder/src/roothash/mod.rs b/crates/rbuilder/src/roothash/mod.rs index e4db93915..878e36cd1 100644 --- a/crates/rbuilder/src/roothash/mod.rs +++ b/crates/rbuilder/src/roothash/mod.rs @@ -2,14 +2,16 @@ mod prefetcher; use alloy_eips::BlockNumHash; use alloy_primitives::{Address, Bytes, B256}; use eth_sparse_mpt::*; -use reth::providers::providers::ConsistentDbView; +use reth::{builder::rpc::ChangesetCache, providers::providers::ConsistentDbView, tasks::Runtime}; use reth_provider::{ - providers::OverlayStateProviderFactory, BlockReader, DatabaseProviderFactory, - HashedPostStateProvider, PruneCheckpointReader, StageCheckpointReader, TrieReader, + providers::OverlayStateProviderFactory, BlockNumReader, BlockReader, ChangeSetReader, + DatabaseProviderFactory, PruneCheckpointReader, StageCheckpointReader, StorageChangeSetReader, + StorageSettingsCache, }; -use reth_trie::TrieInput; +use reth_trie::{HashedPostState, KeccakKeyHasher, TrieInput}; use reth_trie_parallel::root::{ParallelStateRoot, ParallelStateRootError}; use revm::database::BundleState; +use tokio::runtime::Handle; use tracing::trace; pub use prefetcher::run_trie_prefetcher; @@ -81,7 +83,13 @@ pub fn calculate_account_proofs

( ) -> Result>, RootHashError> where P: DatabaseProviderFactory< - Provider: BlockReader + TrieReader + StageCheckpointReader + PruneCheckpointReader, + Provider: BlockReader + + StageCheckpointReader + + PruneCheckpointReader + + BlockNumReader + + ChangeSetReader + + StorageChangeSetReader + + StorageSettingsCache, > + Send + Sync + Clone @@ -113,35 +121,40 @@ where }) } -fn calculate_parallel_root_hash( - hasher: &HasherType, +fn calculate_parallel_root_hash

( outcome: &BundleState, provider: P, ) -> Result where - HasherType: HashedPostStateProvider, P: DatabaseProviderFactory< - Provider: BlockReader + TrieReader + StageCheckpointReader + PruneCheckpointReader, + Provider: BlockReader + + StageCheckpointReader + + PruneCheckpointReader + + BlockNumReader + + ChangeSetReader + + StorageChangeSetReader + + StorageSettingsCache, > + Send + Sync + Clone + 'static, { - let overlay = OverlayStateProviderFactory::new(provider); - let hashed_post_state = hasher.hashed_post_state(outcome); + let overlay = OverlayStateProviderFactory::new(provider, ChangesetCache::new()); + let hashed_post_state = HashedPostState::from_bundle_state::(outcome.state()); let parallel_root_calculator = ParallelStateRoot::new( overlay, TrieInput::from_state(hashed_post_state) .prefix_sets .freeze(), + Runtime::with_existing_handle(Handle::current()) + .expect("must be called within a tokio runtime"), ); parallel_root_calculator.incremental_root() } #[allow(clippy::too_many_arguments)] -pub fn calculate_state_root( +pub fn calculate_state_root

( provider: P, - hasher: &HasherType, parent_num_hash: BlockNumHash, outcome: &BundleState, incremental_change: &[Address], @@ -150,9 +163,14 @@ pub fn calculate_state_root( config: &RootHashContext, ) -> Result where - HasherType: HashedPostStateProvider, P: DatabaseProviderFactory< - Provider: BlockReader + TrieReader + StageCheckpointReader + PruneCheckpointReader, + Provider: BlockReader + + StageCheckpointReader + + PruneCheckpointReader + + BlockNumReader + + ChangeSetReader + + StorageChangeSetReader + + StorageSettingsCache, > + Send + Sync + Clone @@ -172,10 +190,10 @@ where if let Some(thread_pool) = &config.thread_pool { thread_pool .rayon_pool - .install(|| calculate_parallel_root_hash(hasher, outcome, provider.clone())) + .install(|| calculate_parallel_root_hash(outcome, provider.clone())) .map_err(|err| RootHashError::Other(err.into()))? } else { - calculate_parallel_root_hash(hasher, outcome, provider.clone()) + calculate_parallel_root_hash(outcome, provider.clone()) .map_err(|err| RootHashError::Other(err.into()))? } } else { @@ -204,7 +222,7 @@ where } } } else { - calculate_parallel_root_hash(hasher, outcome, provider.clone()) + calculate_parallel_root_hash(outcome, provider.clone()) .map_err(|err| RootHashError::Other(err.into()))? }; diff --git a/crates/rbuilder/src/utils/mod.rs b/crates/rbuilder/src/utils/mod.rs index c9239b201..d2c60bc96 100644 --- a/crates/rbuilder/src/utils/mod.rs +++ b/crates/rbuilder/src/utils/mod.rs @@ -144,7 +144,7 @@ pub fn default_cfg_env(chain_spec: &ChainSpec, block_timestamp: u64, block_numbe let spec = revm_spec_by_timestamp_and_block_number(chain_spec, block_timestamp, block_number); CfgEnv::new() .with_chain_id(chain_spec.chain().id()) - .with_spec(spec) + .with_spec_and_mainnet_gas_params(spec) } pub fn unix_timestamp_now() -> u64 { diff --git a/crates/rbuilder/src/utils/noncer.rs b/crates/rbuilder/src/utils/noncer.rs index 4234ff172..1d05474d8 100644 --- a/crates/rbuilder/src/utils/noncer.rs +++ b/crates/rbuilder/src/utils/noncer.rs @@ -10,12 +10,12 @@ use std::sync::Arc; #[derivative(Debug)] pub struct NonceCache { #[derivative(Debug = "ignore")] - state: Arc, + state: Arc, cache: Arc>, } impl NonceCache { - pub fn new(state: Arc) -> Self { + pub fn new(state: Arc) -> Self { Self { state, cache: Arc::new(DashMap::default()), diff --git a/crates/rbuilder/src/utils/provider_factory_reopen.rs b/crates/rbuilder/src/utils/provider_factory_reopen.rs index 1a9f29d19..2107a1729 100644 --- a/crates/rbuilder/src/utils/provider_factory_reopen.rs +++ b/crates/rbuilder/src/utils/provider_factory_reopen.rs @@ -13,15 +13,18 @@ use alloy_eips::BlockNumHash; use alloy_primitives::{Address, BlockHash, BlockNumber, Bytes, B256}; use eth_sparse_mpt::*; use parking_lot::Mutex; -use reth::providers::{BlockHashReader, ChainSpecProvider, ProviderFactory}; +use reth::{ + providers::{BlockHashReader, ChainSpecProvider, ProviderFactory}, + tasks::Runtime, +}; use reth_db::DatabaseError; use reth_errors::{ProviderError, ProviderResult, RethResult}; use reth_node_api::{NodePrimitives, NodeTypesWithDB}; use reth_provider::{ - providers::{ProviderNodeTypes, StaticFileProvider}, - BlockNumReader, BlockReader, DatabaseProviderFactory, HashedPostStateProvider, HeaderProvider, + providers::{ProviderNodeTypes, RocksDBProvider, StaticFileProvider}, + BlockNumReader, BlockReader, ChangeSetReader, DatabaseProviderFactory, HeaderProvider, PruneCheckpointReader, StageCheckpointReader, StateProviderBox, StaticFileProviderFactory, - TrieReader, + StorageChangeSetReader, StorageSettingsCache, }; use revm::database::BundleState; use std::{ @@ -29,6 +32,7 @@ use std::{ path::PathBuf, sync::{mpsc, Arc}, }; +use tokio::runtime::Handle; use tracing::{debug, error}; /// This struct is used as a workaround for https://github.com/paradigmxyz/reth/issues/7836 @@ -40,6 +44,7 @@ pub struct ProviderFactoryReopener { provider_factory: Arc>>, chain_spec: Arc, static_files_path: PathBuf, + rocksdb_path: PathBuf, /// Patch to disable checking on test mode. Is ugly but ProviderFactoryReopener should die shortly (5/24/2024). testing_mode: bool, /// None ->No root hash (MockRootHasher) @@ -52,18 +57,28 @@ impl ProviderFactoryReopener db: N::DB, chain_spec: Arc, static_files_path: PathBuf, + rocksdb_path: PathBuf, root_hash_config: Option, ) -> RethResult { + let rocksdb_provider = RocksDBProvider::builder(&rocksdb_path) + .with_default_tables() + .with_read_only(true) + .build()?; + let runtime = Runtime::with_existing_handle(Handle::current()) + .expect("must be called within a tokio runtime"); let provider_factory = ProviderFactory::new( db, chain_spec.clone(), StaticFileProvider::read_only(static_files_path.as_path(), true).unwrap(), - ); + rocksdb_provider, + runtime, + )?; Ok(Self { provider_factory: Arc::new(Mutex::new(provider_factory)), chain_spec, static_files_path, + rocksdb_path, root_hash_config, testing_mode: false, }) @@ -71,6 +86,7 @@ impl ProviderFactoryReopener pub fn new_from_existing( provider_factory: ProviderFactory, + rocksdb_path: PathBuf, root_hash_config: Option, ) -> RethResult { let chain_spec = provider_factory.chain_spec(); @@ -79,6 +95,7 @@ impl ProviderFactoryReopener provider_factory: Arc::new(Mutex::new(provider_factory)), chain_spec, static_files_path, + rocksdb_path, root_hash_config, testing_mode: true, }) @@ -110,12 +127,21 @@ impl ProviderFactoryReopener debug!(?err, "Provider factory is inconsistent, reopening"); inc_provider_reopen_counter(); + let rocksdb_provider = RocksDBProvider::builder(&self.rocksdb_path) + .with_default_tables() + .with_read_only(true) + .build() + .map_err(|e| eyre::eyre!("Failed to create RocksDB provider: {:?}", e))?; + let runtime = Runtime::with_existing_handle(Handle::current()) + .map_err(|e| eyre::eyre!("Failed to create runtime: {:?}", e))?; *provider_factory = ProviderFactory::new( provider_factory.db_ref().clone(), self.chain_spec.clone(), StaticFileProvider::read_only(self.static_files_path.as_path(), true) .unwrap(), - ); + rocksdb_provider, + runtime, + )?; } } @@ -253,7 +279,6 @@ where parent_num_hash, parent_state_root, root_hash_config.clone(), - provider.clone(), provider, )) } else { @@ -262,21 +287,19 @@ where } } -pub struct RootHasherImpl { +pub struct RootHasherImpl { parent_num_hash: BlockNumHash, provider: T, - hasher: HasherType, sparse_trie_shared_cache: SparseTrieSharedCache, config: RootHashContext, } -impl RootHasherImpl { +impl RootHasherImpl { pub fn new( parent_num_hash: BlockNumHash, parent_state_root: Option, config: RootHashContext, provider: T, - hasher: HasherType, ) -> Self { let sparse_trie_shared_cache = SparseTrieSharedCache::new_with_parent_block_data( parent_num_hash.hash, @@ -285,18 +308,22 @@ impl RootHasherImpl { Self { parent_num_hash, provider, - hasher, config, sparse_trie_shared_cache, } } } -impl RootHasher for RootHasherImpl +impl RootHasher for RootHasherImpl where - HasherType: HashedPostStateProvider, T: DatabaseProviderFactory< - Provider: BlockReader + TrieReader + StageCheckpointReader + PruneCheckpointReader, + Provider: BlockReader + + StageCheckpointReader + + PruneCheckpointReader + + BlockNumReader + + ChangeSetReader + + StorageChangeSetReader + + StorageSettingsCache, > + Send + Sync + Clone @@ -337,7 +364,6 @@ where ) -> Result { calculate_state_root( self.provider.clone(), - &self.hasher, self.parent_num_hash, outcome, incremental_change, @@ -348,7 +374,7 @@ where } } -impl std::fmt::Debug for RootHasherImpl { +impl std::fmt::Debug for RootHasherImpl { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.debug_struct("RootHasherImpl") .field("parent_num_hash", &self.parent_num_hash) diff --git a/crates/reth-rbuilder/src/main.rs b/crates/reth-rbuilder/src/main.rs index 999a1ba78..2f935d998 100644 --- a/crates/reth-rbuilder/src/main.rs +++ b/crates/reth-rbuilder/src/main.rs @@ -22,8 +22,9 @@ use reth::{ }; use reth_node_ethereum::{node::EthereumAddOns, EthereumNode}; use reth_provider::{ - providers::BlockchainProvider, BlockReader, ChainSpecProvider, DatabaseProviderFactory, - HeaderProvider, PruneCheckpointReader, StageCheckpointReader, TrieReader, + providers::BlockchainProvider, BlockNumReader, BlockReader, ChainSpecProvider, ChangeSetReader, + DatabaseProviderFactory, HeaderProvider, PruneCheckpointReader, StageCheckpointReader, + StorageChangeSetReader, StorageSettingsCache, }; use reth_transaction_pool::{blobstore::DiskFileBlobStore, EthTransactionPool}; use std::{ @@ -88,7 +89,13 @@ fn spawn_rbuilder

( config_path: PathBuf, ) where P: DatabaseProviderFactory< - Provider: BlockReader + TrieReader + StageCheckpointReader + PruneCheckpointReader, + Provider: BlockReader + + StageCheckpointReader + + PruneCheckpointReader + + BlockNumReader + + ChangeSetReader + + StorageChangeSetReader + + StorageSettingsCache, > + reth_provider::StateProviderFactory + HeaderProvider

+ reth_provider::ChainSpecProvider