diff --git a/.gitignore b/.gitignore index bcfc3fe35..ddc787f38 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ /test/ /integration_logs genesis.json -/op-reth # editors .code diff --git a/Cargo.lock b/Cargo.lock index ce3de4adb..0e490d409 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -54,15 +54,15 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.3.3", "once_cell", "version_check 0.9.5", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -97,15 +97,15 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.0" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7734aecfc58a597dde036e4c5cace2ae43e2f8bf3d406b022a1ef34da178dd49" +checksum = "4195a29a4b87137b2bb02105e746102873bc03561805cf45c0e510c961f160e6" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "num_enum", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] @@ -128,20 +128,21 @@ dependencies = [ "rand 0.8.5", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "alloy-consensus" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad451f9a70c341d951bca4e811d74dbe1e193897acd17e9dbac1353698cc430b" +checksum = "eda689f7287f15bd3582daba6be8d1545bad3740fd1fb778f629a1fe866bb43b" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-serde 1.0.9", - "alloy-trie 0.8.1", + "alloy-serde 1.0.24", + "alloy-trie 0.9.0", + "alloy-tx-macros", "arbitrary", "auto_impl", "c-kzg", @@ -150,10 +151,10 @@ dependencies = [ "k256 0.13.4", "once_cell", "rand 0.8.5", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -172,29 +173,29 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142daffb15d5be1a2b20d2cd540edbcef03037b55d4ff69dc06beb4d06286dba" +checksum = "2b5659581e41e8fe350ecc3593cb5c9dcffddfd550896390f2b78a07af67b0fa" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "arbitrary", "serde", ] [[package]] name = "alloy-dyn-abi" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9135eb501feccf7f4cb8a183afd406a65483fdad7bbd7332d0470e5d725c92f" +checksum = "d9e8a436f0aad7df8bb47f144095fba61202265d9f5f09a70b0e3227881a668e" dependencies = [ - "alloy-json-abi 1.2.0", - "alloy-primitives 1.2.0", - "alloy-sol-type-parser 1.2.0", - "alloy-sol-types 1.2.0", + "alloy-json-abi 1.3.0", + "alloy-primitives 1.3.0", + "alloy-sol-type-parser 1.3.0", + "alloy-sol-types 1.3.0", "derive_more 2.0.1", "itoa", "serde", @@ -212,7 +213,7 @@ dependencies = [ "alloy-rlp", "crc", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -221,13 +222,13 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "741bdd7499908b3aa0b159bba11e71c8cddd009a2c2eb7a06e825f1ec87900a5" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "arbitrary", "crc", "rand 0.8.5", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -247,7 +248,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b82752a889170df67bbb36d42ca63c531eb16274f0d7299ae2a680facba17bd" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "arbitrary", "rand 0.8.5", @@ -263,7 +264,7 @@ dependencies = [ "alloy-primitives 0.8.25", "alloy-rlp", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -272,14 +273,14 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d4769c6ffddca380b0070d71c8b7f30bed375543fe76bb2f74ec0acf4b7cd16" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "arbitrary", "k256 0.13.4", "rand 0.8.5", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -299,21 +300,21 @@ dependencies = [ "derive_more 2.0.1", "either", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] name = "alloy-eips" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3056872f6da48046913e76edb5ddced272861f6032f09461aea1a2497be5ae5d" +checksum = "6f35887da30b5fc50267109a3c61cd63e6ca1f45967983641053a40ee83468c1" dependencies = [ "alloy-eip2124 0.2.0", "alloy-eip2930 0.2.1", "alloy-eip7702 0.6.1", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "arbitrary", "auto_impl", "c-kzg", @@ -322,50 +323,52 @@ dependencies = [ "ethereum_ssz 0.9.0", "ethereum_ssz_derive", "serde", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] name = "alloy-evm" -version = "0.10.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "394b09cf3a32773eedf11828987f9c72dfa74545040be0422e3f5f09a2a3fab9" +checksum = "28de0dd1bbb0634ef7c3715e8e60176b77b82f8b6b15b2e35fe64cf6640f6550" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-hardforks", - "alloy-primitives 1.2.0", - "alloy-sol-types 1.2.0", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-sol-types 1.3.0", "auto_impl", "derive_more 2.0.1", "op-alloy-consensus", "op-revm", "revm", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "alloy-genesis" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c98fb40f07997529235cc474de814cd7bd9de561e101716289095696c0e4639d" +checksum = "11d4009efea6f403b3a80531f9c6f70fc242399498ff71196a1688cc1c901f44" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", - "alloy-serde 1.0.9", - "alloy-trie 0.8.1", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", + "alloy-serde 1.0.24", + "alloy-trie 0.9.0", "serde", + "serde_with", ] [[package]] name = "alloy-hardforks" -version = "0.2.6" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbff8445282ec080c2673692062bd4930d7a0d6bda257caf138cfc650c503000" +checksum = "3165210652f71dfc094b051602bafd691f506c54050a174b1cba18fb5ef706a3" dependencies = [ "alloy-chains", "alloy-eip2124 0.2.0", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "auto_impl", "dyn-clone", "serde", @@ -385,12 +388,12 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b26fdd571915bafe857fccba4ee1a4f352965800e46a53e4a5f50187b7776fa" +checksum = "459f98c6843f208856f338bfb25e65325467f7aff35dfeb0484d0a76e059134b" dependencies = [ - "alloy-primitives 1.2.0", - "alloy-sol-type-parser 1.2.0", + "alloy-primitives 1.3.0", + "alloy-sol-type-parser 1.3.0", "serde", "serde_json", ] @@ -405,48 +408,49 @@ dependencies = [ "alloy-sol-types 0.8.25", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] [[package]] name = "alloy-json-rpc" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc08b31ebf9273839bd9a01f9333cbb7a3abb4e820c312ade349dd18bdc79581" +checksum = "883dee3b4020fcb5667ee627b4f401e899dad82bf37b246620339dd980720ed9" dependencies = [ - "alloy-primitives 1.2.0", - "alloy-sol-types 1.2.0", + "alloy-primitives 1.3.0", + "alloy-sol-types 1.3.0", + "http 1.3.1", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] [[package]] name = "alloy-network" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed117b08f0cc190312bf0c38c34cf4f0dabfb4ea8f330071c587cd7160a88cb2" +checksum = "cd6e5b8ac1654a05c224390008e43634a2bdc74e181e02cf8ed591d8b3d4ad08" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-consensus-any 1.0.9", - "alloy-eips 1.0.9", - "alloy-json-rpc 1.0.9", - "alloy-network-primitives 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-consensus-any 1.0.24", + "alloy-eips 1.0.24", + "alloy-json-rpc 1.0.24", + "alloy-network-primitives 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-any", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", "alloy-signer", - "alloy-sol-types 1.2.0", + "alloy-sol-types 1.3.0", "async-trait", "auto_impl", "derive_more 2.0.1", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -464,34 +468,34 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7162ff7be8649c0c391f4e248d1273e85c62076703a1f3ec7daf76b283d886d" +checksum = "80d7980333dd9391719756ac28bc2afa9baa705fc70ffd11dc86ab078dd64477" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", - "alloy-serde 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", + "alloy-serde 1.0.24", "serde", ] [[package]] name = "alloy-node-bindings" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eec6d2e7743d2bcb3e7dfc9cb7a7322bc0f808fddd48f4aab5d974260f2ae0cf" +checksum = "984c20af8aee7d123bb4bf40cf758b362b38cb9ff7160d986b6face604a1e6a9" dependencies = [ "alloy-genesis", "alloy-hardforks", "alloy-network", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-signer", "alloy-signer-local", "k256 0.13.4", "rand 0.8.5", "serde_json", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", "url", ] @@ -506,7 +510,7 @@ dependencies = [ "bytes", "cfg-if", "const-hex", - "derive_more 0.99.19", + "derive_more 0.99.20", "hex-literal", "itoa", "k256 0.13.4", @@ -530,8 +534,8 @@ dependencies = [ "const-hex", "derive_more 2.0.1", "foldhash", - "hashbrown 0.15.2", - "indexmap 2.9.0", + "hashbrown 0.15.5", + "indexmap 2.10.0", "itoa", "k256 0.13.4", "keccak-asm", @@ -547,9 +551,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a326d47106039f38b811057215a92139f46eef7983a4b77b10930a0ea5685b1e" +checksum = "3cfebde8c581a5d37b678d0a48a32decb51efd7a63a08ce2517ddec26db705c8" dependencies = [ "alloy-rlp", "arbitrary", @@ -559,16 +563,16 @@ dependencies = [ "derive_arbitrary", "derive_more 2.0.1", "foldhash", - "getrandom 0.3.2", - "hashbrown 0.15.2", - "indexmap 2.9.0", + "getrandom 0.3.3", + "hashbrown 0.15.5", + "indexmap 2.10.0", "itoa", "k256 0.13.4", "keccak-asm", "paste", "proptest", "proptest-derive", - "rand 0.9.0", + "rand 0.9.2", "ruint", "rustc-hash 2.1.1", "serde", @@ -578,22 +582,22 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84eba1fd8b6fe8b02f2acd5dd7033d0f179e304bd722d11e817db570d1fa6c4" +checksum = "478a42fe167057b7b919cd8b0c2844f0247f667473340dad100eaf969de5754e" dependencies = [ "alloy-chains", - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-json-rpc 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-json-rpc 1.0.24", "alloy-network", - "alloy-network-primitives 1.0.9", - "alloy-primitives 1.2.0", + "alloy-network-primitives 1.0.24", + "alloy-primitives 1.3.0", "alloy-pubsub", "alloy-rpc-client", - "alloy-rpc-types-eth 1.0.9", + "alloy-rpc-types-eth 1.0.24", "alloy-signer", - "alloy-sol-types 1.2.0", + "alloy-sol-types 1.3.0", "alloy-transport", "alloy-transport-http", "alloy-transport-ipc", @@ -608,10 +612,10 @@ dependencies = [ "lru 0.13.0", "parking_lot", "pin-project", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", "url", @@ -620,13 +624,14 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8550f7306e0230fc835eb2ff4af0a96362db4b6fc3f25767d161e0ad0ac765bf" +checksum = "b0a99b17987f40a066b29b6b56d75e84cd193b866cac27cae17b59f40338de95" dependencies = [ - "alloy-json-rpc 1.0.9", - "alloy-primitives 1.2.0", + "alloy-json-rpc 1.0.24", + "alloy-primitives 1.3.0", "alloy-transport", + "auto_impl", "bimap", "futures", "parking_lot", @@ -641,9 +646,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6c1d995bff8d011f7cd6c81820d51825e6e06d6db73914c1630ecf544d83d6" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -652,137 +657,136 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a40e1ef334153322fd878d07e86af7a529bcb86b2439525920a88eba87bcf943" +checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "alloy-rpc-client" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518a699422a3eab800f3dac2130d8f2edba8e4fff267b27a9c7dc6a2b0d313ee" +checksum = "8a0c6d723fbdf4a87454e2e3a275e161be27edcfbf46e2e3255dd66c138634b6" dependencies = [ - "alloy-json-rpc 1.0.9", - "alloy-primitives 1.2.0", + "alloy-json-rpc 1.0.24", + "alloy-primitives 1.3.0", "alloy-pubsub", "alloy-transport", "alloy-transport-http", "alloy-transport-ipc", "alloy-transport-ws", - "async-stream", "futures", "pin-project", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde", "serde_json", "tokio", "tokio-stream", "tower 0.5.2", "tracing", - "tracing-futures", "url", "wasmtimer", ] [[package]] name = "alloy-rpc-types" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c000cab4ec26a4b3e29d144e999e1c539c2fa0abed871bf90311eb3466187ca8" +checksum = "c41492dac39365b86a954de86c47ec23dcc7452cdb2fde591caadc194b3e34c6" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", "serde", ] [[package]] name = "alloy-rpc-types-admin" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ebdc864f573645c5288370c208912b85b5cacc8025b700c50c2b74d06ab9830" +checksum = "9c0f415ad97cc68d2f49eb08214f45c6827a6932a69773594f4ce178f8a41dc0" dependencies = [ "alloy-genesis", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-anvil" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8abecc34549a208b5f91bc7f02df3205c36e2aa6586f1d9375c3382da1066b3b" +checksum = "10493fa300a2757d8134f584800fef545c15905c95122bed1f6dde0b0d9dae27" dependencies = [ - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", "serde", ] [[package]] name = "alloy-rpc-types-any" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "508b2fbe66d952089aa694e53802327798806498cd29ff88c75135770ecaabfc" +checksum = "8f7eb22670a972ad6c222a6c6dac3eef905579acffe9d63ab42be24c7d158535" dependencies = [ - "alloy-consensus-any 1.0.9", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-consensus-any 1.0.24", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", ] [[package]] name = "alloy-rpc-types-beacon" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241aba7808bddc3ad1c6228e296a831f326f89118b1017012090709782a13334" +checksum = "53381ffba0110a8aed4c9f108ef34a382ed21aeefb5f50f91c73451ae68b89aa" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "ethereum_ssz 0.9.0", "ethereum_ssz_derive", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", "tree_hash 0.10.0", "tree_hash_derive", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c832f2e851801093928dbb4b7bd83cd22270faf76b2e080646b806a285c8757" +checksum = "a9b6f0482c82310366ec3dcf4e5212242f256a69fcf1a26e5017e6704091ee95" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", + "derive_more 2.0.1", "serde", ] [[package]] name = "alloy-rpc-types-engine" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab52691970553d84879d777419fa7b6a2e92e9fe8641f9324cc071008c2f656" +checksum = "e24c171377c0684e3860385f6d93fbfcc8ecc74f6cce8304c822bf1a50bacce0" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "derive_more 2.0.1", "ethereum_ssz 0.9.0", "ethereum_ssz_derive", "jsonwebtoken", "rand 0.8.5", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] @@ -802,68 +806,69 @@ dependencies = [ "itertools 0.14.0", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "alloy-rpc-types-eth" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcaf7dff0fdd756a714d58014f4f8354a1706ebf9fa2cf73431e0aeec3c9431e" +checksum = "b777b98526bbe5b7892ca22a7fd5f18ed624ff664a79f40d0f9f2bf94ba79a84" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-consensus-any 1.0.9", - "alloy-eips 1.0.9", - "alloy-network-primitives 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-consensus-any 1.0.24", + "alloy-eips 1.0.24", + "alloy-network-primitives 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-serde 1.0.9", - "alloy-sol-types 1.2.0", + "alloy-serde 1.0.24", + "alloy-sol-types 1.3.0", "arbitrary", "itertools 0.14.0", "serde", "serde_json", - "thiserror 2.0.12", + "serde_with", + "thiserror 2.0.14", ] [[package]] name = "alloy-rpc-types-mev" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18bd1c5d7b9f3f1caeeaa1c082aa28ba7ce2d67127b12b2a9b462712c8f6e1c5" +checksum = "c15e8ccb6c16e196fcc968e16a71cd8ce4160f3ec5871d2ea196b75bf569ac02" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-trace" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e3507a04e868dd83219ad3cd6a8c58aefccb64d33f426b3934423a206343e84" +checksum = "d6a854af3fe8fce1cfe319fcf84ee8ba8cda352b14d3dd4221405b5fc6cce9e1" dependencies = [ - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "alloy-rpc-types-txpool" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eec36272621c3ac82b47dd77f0508346687730b1c2e3e10d3715705c217c0a05" +checksum = "3cc803e9b8d16154c856a738c376e002abe4b388e5fef91c8aebc8373e99fd45" dependencies = [ - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", "serde", ] @@ -880,11 +885,11 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730e8f2edf2fc224cabd1c25d090e1655fa6137b2e409f92e5eec735903f1507" +checksum = "ee8d2c52adebf3e6494976c8542fbdf12f10123b26e11ad56f77274c16a2a039" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "arbitrary", "serde", "serde_json", @@ -892,33 +897,33 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0d2428445ec13edc711909e023d7779618504c4800be055a5b940025dbafe3" +checksum = "7c0494d1e0f802716480aabbe25549c7f6bc2a25ff33b08fd332bbb4b7d06894" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "async-trait", "auto_impl", "either", "elliptic-curve 0.13.8", "k256 0.13.4", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "alloy-signer-local" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14fe6fedb7fe6e0dfae47fe020684f1d8e063274ef14bca387ddb7a6efa8ec1" +checksum = "59c2435eb8979a020763ced3fb478932071c56e5f75ea86db41f320915d325ba" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-network", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-signer", "async-trait", "k256 0.13.4", "rand 0.8.5", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -930,23 +935,23 @@ dependencies = [ "alloy-sol-macro-expander 0.8.25", "alloy-sol-macro-input 0.8.25", "proc-macro-error2", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "alloy-sol-macro" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4be1ce1274ddd7fdfac86e5ece1b225e9bba1f2327e20fbb30ee6b9cc1423fe" +checksum = "aedac07a10d4c2027817a43cc1f038313fc53c7ac866f7363239971fd01f9f18" dependencies = [ - "alloy-sol-macro-expander 1.2.0", - "alloy-sol-macro-input 1.2.0", + "alloy-sol-macro-expander 1.3.0", + "alloy-sol-macro-input 1.3.0", "proc-macro-error2", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -958,30 +963,30 @@ dependencies = [ "alloy-sol-macro-input 0.8.25", "const-hex", "heck 0.5.0", - "indexmap 2.9.0", + "indexmap 2.10.0", "proc-macro-error2", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", "syn-solidity 0.8.25", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-expander" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e92f3708ea4e0d9139001c86c051c538af0146944a2a9c7181753bd944bf57" +checksum = "24f9a598f010f048d8b8226492b6401104f5a5c1273c2869b72af29b48bb4ba9" dependencies = [ - "alloy-sol-macro-input 1.2.0", + "alloy-sol-macro-input 1.3.0", "const-hex", "heck 0.5.0", - "indexmap 2.9.0", + "indexmap 2.10.0", "proc-macro-error2", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", - "syn-solidity 1.2.0", + "syn 2.0.105", + "syn-solidity 1.3.0", "tiny-keccak", ] @@ -995,26 +1000,26 @@ dependencies = [ "dunce", "heck 0.5.0", "macro-string", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", "syn-solidity 0.8.25", ] [[package]] name = "alloy-sol-macro-input" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afe1bd348a41f8c9b4b54dfb314886786d6201235b0b3f47198b9d910c86bb2" +checksum = "f494adf9d60e49aa6ce26dfd42c7417aa6d4343cf2ae621f20e4d92a5ad07d85" dependencies = [ "const-hex", "dunce", "heck 0.5.0", "macro-string", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", - "syn-solidity 1.2.0", + "syn 2.0.105", + "syn-solidity 1.3.0", ] [[package]] @@ -1029,9 +1034,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6195df2acd42df92a380a8db6205a5c7b41282d0ce3f4c665ecf7911ac292f1" +checksum = "52db32fbd35a9c0c0e538b58b81ebbae08a51be029e7ad60e08b60481c2ec6c3" dependencies = [ "serde", "winnow", @@ -1052,24 +1057,25 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6185e98a79cf19010722f48a74b5a65d153631d2f038cabd250f4b9e9813b8ad" +checksum = "a285b46e3e0c177887028278f04cc8262b76fd3b8e0e20e93cea0a58c35f5ac5" dependencies = [ - "alloy-json-abi 1.2.0", - "alloy-primitives 1.2.0", - "alloy-sol-macro 1.2.0", + "alloy-json-abi 1.3.0", + "alloy-primitives 1.3.0", + "alloy-sol-macro 1.3.0", "serde", ] [[package]] name = "alloy-transport" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a712bdfeff42401a7dd9518f72f617574c36226a9b5414537fedc34350b73bf9" +checksum = "3c0107675e10c7f248bf7273c1e7fdb02409a717269cc744012e6f3c39959bfb" dependencies = [ - "alloy-json-rpc 1.0.9", - "alloy-primitives 1.2.0", + "alloy-json-rpc 1.0.24", + "alloy-primitives 1.3.0", + "auto_impl", "base64 0.22.1", "derive_more 2.0.1", "futures", @@ -1077,7 +1083,7 @@ dependencies = [ "parking_lot", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower 0.5.2", "tracing", @@ -1087,13 +1093,13 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea5a76d7f2572174a382aedf36875bedf60bcc41116c9f031cf08040703a2dc" +checksum = "78e3736701b5433afd06eecff08f0688a71a10e0e1352e0bbf0bed72f0dd4e35" dependencies = [ - "alloy-json-rpc 1.0.9", + "alloy-json-rpc 1.0.24", "alloy-transport", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde_json", "tower 0.5.2", "tracing", @@ -1102,11 +1108,11 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "606af17a7e064d219746f6d2625676122c79d78bf73dfe746d6db9ecd7dbcb85" +checksum = "c79064b5a08259581cb5614580010007c2df6deab1e8f3e8c7af8d7e9227008f" dependencies = [ - "alloy-json-rpc 1.0.9", + "alloy-json-rpc 1.0.24", "alloy-pubsub", "alloy-transport", "bytes", @@ -1122,15 +1128,15 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.0.9" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c6f9b37cd8d44aab959613966cc9d4d7a9b429c575cec43b3e5b46ea109a79" +checksum = "77fd607158cb9bc54cbcfcaab4c5f36c5b26994c7dc58b6f095ce27a54f270f3" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", "http 1.3.1", - "rustls 0.23.26", + "rustls 0.23.31", "serde_json", "tokio", "tokio-tungstenite 0.26.2", @@ -1148,7 +1154,7 @@ dependencies = [ "alloy-rlp", "arrayvec", "derive_more 1.0.0", - "nybbles", + "nybbles 0.3.4", "serde", "smallvec", "tracing", @@ -1156,17 +1162,17 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +checksum = "bada1fc392a33665de0dc50d401a3701b62583c655e3522a323490a5da016962" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "arbitrary", "arrayvec", "derive_arbitrary", "derive_more 2.0.1", - "nybbles", + "nybbles 0.4.3", "proptest", "proptest-derive", "serde", @@ -1174,6 +1180,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "alloy-tx-macros" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6acb36318dfa50817154064fea7932adf2eec3f51c86680e2b37d7e8906c66bb" +dependencies = [ + "alloy-primitives 1.3.0", + "darling", + "proc-macro2 1.0.97", + "quote 1.0.40", + "syn 2.0.105", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -1197,9 +1216,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -1212,44 +1231,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.60.2", ] [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" [[package]] name = "aquamarine" @@ -1260,9 +1279,9 @@ dependencies = [ "include_dir", "itertools 0.10.5", "proc-macro-error2", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -1276,9 +1295,9 @@ dependencies = [ [[package]] name = "argminmax" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52424b59d69d69d5056d508b260553afd91c57e21849579cd1f50ee8b8b88eaa" +checksum = "70f13d10a41ac8d2ec79ee34178d61e6f47a29c2edfe7ef1721c7383b0359e65" dependencies = [ "num-traits", ] @@ -1320,7 +1339,7 @@ dependencies = [ "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.2", + "hashbrown 0.15.5", "itertools 0.13.0", "num-bigint", "num-integer", @@ -1413,7 +1432,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -1436,7 +1455,7 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint", "num-traits", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] @@ -1449,9 +1468,9 @@ checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" dependencies = [ "num-bigint", "num-traits", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -1466,7 +1485,7 @@ dependencies = [ "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] @@ -1538,9 +1557,9 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -1621,7 +1640,7 @@ dependencies = [ "fallible-streaming-iterator", "foreign_vec", "futures", - "getrandom 0.2.15", + "getrandom 0.2.16", "hash_hasher", "lexical-core", "lz4", @@ -1662,11 +1681,11 @@ dependencies = [ [[package]] name = "async-compression" -version = "0.4.22" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a194f9d963d8099596278594b3107448656ba73831c9d8c783e613ce86da64" +checksum = "ddb939d66e4ae03cee6091612804ba446b12878410cfa17f785f4dd67d4014e8" dependencies = [ - "brotli 7.0.0", + "brotli 8.0.1", "flate2", "futures-core", "memchr", @@ -1685,17 +1704,6 @@ dependencies = [ "event-listener", ] -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.100", -] - [[package]] name = "async-sse" version = "5.1.0" @@ -1727,20 +1735,20 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -1796,9 +1804,9 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -1807,14 +1815,14 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", ] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" @@ -1861,11 +1869,17 @@ 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.5.0" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0b50b1b78dbadd44ab18b3c794e496f3a139abb9fbc27d9c94c4eebbb96496" +checksum = "592277618714fbcecda9a02ba7a8781f319d26532a88553bbacc77ba5d2b3a8d" dependencies = [ "fastrand 2.3.0", "tokio", @@ -1873,9 +1887,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -1924,16 +1938,16 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "beacon-api-client" version = "0.1.0" source = "git+https://github.com/ralexstokes/ethereum-consensus/?rev=ade5ce6c4a19107c1059e5338d8f18855bd2d931#ade5ce6c4a19107c1059e5338d8f18855bd2d931" dependencies = [ - "clap 4.5.36", + "clap 4.5.45", "ethereum-consensus", "http 0.2.12", "itertools 0.10.5", @@ -1960,7 +1974,7 @@ dependencies = [ name = "bid-scraper" version = "0.1.0" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-provider", "alloy-rpc-types-beacon", "async-trait", @@ -1992,7 +2006,7 @@ dependencies = [ "tokio-stream", "tokio-tungstenite 0.26.2", "tokio-util", - "toml 0.8.20", + "toml 0.8.23", "tracing", "tracing-subscriber 0.3.19", ] @@ -2014,7 +2028,7 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "libm", "num-bigint", "num-integer", @@ -2042,16 +2056,16 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "cexpr", "clang-sys", "itertools 0.13.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -2093,9 +2107,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" dependencies = [ "serde", ] @@ -2115,9 +2129,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389a099b34312839e16420d499a9cad9650541715937ffbdd40d36f49e77eeb3" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -2155,9 +2169,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" +checksum = "4fd49896f12ac9b6dcd7a5998466b9b58263a695a3dd1ecc1aaca2e12a90b080" dependencies = [ "cc", "glob", @@ -2171,11 +2185,11 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c340fe0f0b267787095cbe35240c6786ff19da63ec7b69367ba338eace8169b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "boa_interner", "boa_macros", "boa_string", - "indexmap 2.9.0", + "indexmap 2.10.0", "num-bigint", "rustc-hash 2.1.1", ] @@ -2187,7 +2201,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f620c3f06f51e65c0504ddf04978be1b814ac6586f0b45f6019801ab5efd37f9" dependencies = [ "arrayvec", - "bitflags 2.9.0", + "bitflags 2.9.1", "boa_ast", "boa_gc", "boa_interner", @@ -2199,9 +2213,9 @@ dependencies = [ "cfg-if", "dashmap 6.1.0", "fast-float2", - "hashbrown 0.15.2", - "icu_normalizer", - "indexmap 2.9.0", + "hashbrown 0.15.5", + "icu_normalizer 1.5.0", + "indexmap 2.10.0", "intrusive-collections", "itertools 0.13.0", "num-bigint", @@ -2221,7 +2235,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 2.0.12", + "thiserror 2.0.14", "time", ] @@ -2234,7 +2248,7 @@ dependencies = [ "boa_macros", "boa_profiler", "boa_string", - "hashbrown 0.15.2", + "hashbrown 0.15.5", "thin-vec", ] @@ -2246,8 +2260,8 @@ checksum = "42407a3b724cfaecde8f7d4af566df4b56af32a2f11f0956f5570bb974e7f749" dependencies = [ "boa_gc", "boa_macros", - "hashbrown 0.15.2", - "indexmap 2.9.0", + "hashbrown 0.15.5", + "indexmap 2.10.0", "once_cell", "phf 0.11.3", "rustc-hash 2.1.1", @@ -2260,10 +2274,10 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fd3f870829131332587f607a7ff909f1af5fc523fd1b192db55fbbdf52e8d3c" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", - "synstructure 0.13.1", + "syn 2.0.105", + "synstructure 0.13.2", ] [[package]] @@ -2272,13 +2286,13 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cc142dac798cdc6e2dbccfddeb50f36d2523bb977a976e19bdb3ae19b740804" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "boa_ast", "boa_interner", "boa_macros", "boa_profiler", "fast-float2", - "icu_properties", + "icu_properties 1.5.1", "num-bigint", "num-traits", "regress", @@ -2326,13 +2340,13 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", - "brotli-decompressor 4.0.2", + "brotli-decompressor 5.0.0", ] [[package]] @@ -2347,9 +2361,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -2370,17 +2384,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "bstr" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" -dependencies = [ - "memchr", - "regex-automata 0.4.9", - "serde", -] - [[package]] name = "built" version = "0.7.7" @@ -2393,9 +2396,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -2405,28 +2408,28 @@ checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" [[package]] name = "bytecount" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" +checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" [[package]] name = "bytemuck" -version = "1.22.0" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" +checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.9.3" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" +checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -2482,9 +2485,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "5d07aa9a93b00c76f71bc35d598bed923f6d4f3a9ca5c24b7737ae1a292841c0" dependencies = [ "serde", ] @@ -2522,7 +2525,7 @@ dependencies = [ "semver 1.0.26", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -2539,9 +2542,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "castaway" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" +checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" dependencies = [ "rustversion", ] @@ -2574,9 +2577,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "cfg_aliases" @@ -2586,9 +2589,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", @@ -2666,23 +2669,23 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.36" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04" +checksum = "1fc0e74a703892159f5ae7d3aac52c8e6c392f5ae5f359c70b5881d60aaac318" dependencies = [ "clap_builder", - "clap_derive 4.5.32", + "clap_derive 4.5.45", ] [[package]] name = "clap_builder" -version = "4.5.36" +version = "4.5.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5" +checksum = "b3e7f4214277f3c7aa526a59dd3fbe306a370daee1f8b7b8c987069cd8e888a8" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.4", + "clap_lex 0.7.5", "strsim 0.11.1", ] @@ -2694,21 +2697,21 @@ checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" dependencies = [ "heck 0.4.1", "proc-macro-error", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -2722,9 +2725,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "cloudabi" @@ -2746,9 +2749,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "combine" @@ -2818,9 +2821,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.14.0" +version = "1.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" +checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" dependencies = [ "cfg-if", "cpufeatures", @@ -2850,7 +2853,7 @@ version = "0.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "unicode-xid 0.2.6", ] @@ -2894,9 +2897,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -2928,9 +2931,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.2.1" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" dependencies = [ "crc-catalog", ] @@ -2943,9 +2946,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -2985,7 +2988,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.5.36", + "clap 4.5.45", "criterion-plot", "futures", "is-terminal", @@ -3082,7 +3085,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "crossterm_winapi", "mio", "parking_lot", @@ -3103,9 +3106,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -3142,16 +3145,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "cssparser" version = "0.31.2" @@ -3172,7 +3165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3203,7 +3196,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3237,9 +3230,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3260,10 +3253,10 @@ checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "strsim 0.11.1", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3274,7 +3267,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3328,7 +3321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3360,9 +3353,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -3385,20 +3378,20 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] [[package]] name = "derive-where" -version = "1.2.7" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" +checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3407,9 +3400,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3428,9 +3421,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3440,20 +3433,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "derive_more" -version = "0.99.19" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "rustc_version 0.4.1", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3480,9 +3473,9 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3492,9 +3485,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "convert_case 0.7.1", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", "unicode-xid 0.2.6", ] @@ -3552,8 +3545,8 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.0", - "windows-sys 0.59.0", + "redox_users 0.5.2", + "windows-sys 0.60.2", ] [[package]] @@ -3593,7 +3586,7 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.5.10", "tokio", "tracing", "uint 0.10.0", @@ -3606,9 +3599,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3652,9 +3645,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "ecdsa" @@ -3674,7 +3667,7 @@ version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der 0.7.9", + "der 0.7.10", "digest 0.10.7", "elliptic-curve 0.13.8", "rfc6979 0.4.0", @@ -3695,15 +3688,15 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", - "sha2 0.10.8", + "sha2 0.10.9", "subtle", "zeroize", ] @@ -3715,9 +3708,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" dependencies = [ "enum-ordinalize", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3823,7 +3816,7 @@ dependencies = [ "k256 0.13.4", "log", "rand 0.8.5", - "secp256k1", + "secp256k1 0.30.0", "serde", "sha3", "zeroize", @@ -3836,9 +3829,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3856,9 +3849,9 @@ version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3868,9 +3861,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" dependencies = [ "once_cell", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -3881,12 +3874,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.11" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3913,9 +3906,9 @@ dependencies = [ name = "eth-sparse-mpt" version = "0.1.0" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-trie 0.8.1", + "alloy-trie 0.9.0", "arrayvec", "criterion 0.4.0", "dashmap 6.1.0", @@ -3992,7 +3985,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "sha2 0.10.8", + "sha2 0.10.9", "ssz_rs", "thiserror 1.0.69", "tokio", @@ -4023,7 +4016,7 @@ checksum = "c853bd72c9e5787f8aafc3df2907c2ed03cff3150c3acd94e2e53a98ab70a8ab" dependencies = [ "cpufeatures", "ring 0.17.14", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -4035,7 +4028,7 @@ dependencies = [ "cpufeatures", "lazy_static", "ring 0.16.20", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -4057,7 +4050,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dc1355dbb41fbbd34ec28d4fb2a57d9a70c67ac3c19f6a5ca4d4a176b9e997a" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "hex", "serde", "serde_derive", @@ -4081,7 +4074,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ca8ba45b63c389c6e115b095ca16381534fdcc03cf58176a3f8554db2dbe19b" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "ethereum_serde_utils 0.8.0", "itertools 0.13.0", "serde", @@ -4097,9 +4090,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd55d08012b4e0dfcc92b8d6081234df65f2986ad34cc76eeed69c5e2ce7506" dependencies = [ "darling", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -4131,9 +4124,9 @@ dependencies = [ [[package]] name = "ethnum" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0939f82868b77ef93ce3c3c3daf2b3c526b456741da5a1a4559e590965b6026b" +checksum = "ca81e6b4777c89fd810c25a4be2b1bd93ea034fbe58e6a75216a34c6b82c539b" [[package]] name = "event-listener" @@ -4283,9 +4276,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -4495,9 +4488,9 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -4603,15 +4596,16 @@ dependencies = [ [[package]] name = "generator" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd" +checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" dependencies = [ + "cc", "cfg-if", "libc", "log", "rustversion", - "windows 0.58.0", + "windows 0.61.3", ] [[package]] @@ -4628,11 +4622,11 @@ dependencies = [ [[package]] name = "getopts" -version = "0.2.21" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +checksum = "cba6ae63eb948698e300f645f87c70f76630d505f23b8907cf1e193ee85048c1" dependencies = [ - "unicode-width 0.1.14", + "unicode-width 0.2.0", ] [[package]] @@ -4648,22 +4642,22 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "js-sys", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "wasm-bindgen", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "js-sys", @@ -4691,11 +4685,11 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5220b8ba44c68a9a7f7a7659e864dd73692e417ef0211bea133c7b74e031eeb9" +checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "libc", "libgit2-sys", "log", @@ -4704,9 +4698,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "gloo-net" @@ -4775,6 +4769,16 @@ dependencies = [ "web-sys", ] +[[package]] +name = "gmp-mpfr-sys" +version = "1.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66d61197a68f6323b9afa616cf83d55d69191e1bf364d4eb7d35ae18defe776" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "governor" version = "0.6.3" @@ -4819,9 +4823,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", @@ -4829,7 +4833,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -4838,9 +4842,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.9" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75249d144030531f8dee69fe9cea04d3edf809a017ae445e2abdff6629e86633" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", @@ -4848,7 +4852,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -4873,9 +4877,9 @@ checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" [[package]] name = "hash_hasher" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c" +checksum = "1b4b9ebce26001bad2e6366295f64e381c1e9c479109202149b9e15e154973e9" [[package]] name = "hashbrown" @@ -4905,9 +4909,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", @@ -4993,15 +4997,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -5029,14 +5027,12 @@ checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" [[package]] name = "hickory-proto" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d844af74f7b799e41c78221be863bade11c430d46042c3b49ca8ae0c6d27287" +checksum = "f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502" dependencies = [ - "async-recursion", "async-trait", "cfg-if", - "critical-section", "data-encoding", "enum-as-inner", "futures-channel", @@ -5045,10 +5041,10 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.0", + "rand 0.9.2", "ring 0.17.14", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tinyvec", "tokio", "tracing", @@ -5057,9 +5053,9 @@ dependencies = [ [[package]] name = "hickory-resolver" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a128410b38d6f931fcc6ca5c107a3b02cabd6c05967841269a4ad65d23c44331" +checksum = "dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a" dependencies = [ "cfg-if", "futures-util", @@ -5068,11 +5064,11 @@ dependencies = [ "moka", "once_cell", "parking_lot", - "rand 0.9.0", + "rand 0.9.2", "resolv-conf", "serde", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] @@ -5083,17 +5079,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ - "hmac 0.12.1", -] - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac", - "digest 0.9.0", + "hmac", ] [[package]] @@ -5105,17 +5091,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", -] - [[package]] name = "home" version = "0.5.11" @@ -5125,17 +5100,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "hostname" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56f203cd1c76362b69e3863fd987520ac36cf70a8c92627449b2f64a8cf7d65" -dependencies = [ - "cfg-if", - "libc", - "windows-link", -] - [[package]] name = "html5ever" version = "0.26.0" @@ -5145,7 +5109,7 @@ dependencies = [ "log", "mac", "markup5ever", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] @@ -5276,14 +5240,14 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -5299,7 +5263,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.9", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "httparse", @@ -5329,22 +5293,21 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http 1.3.1", "hyper 1.6.0", "hyper-util", "log", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", "tower-service", - "webpki-roots 0.26.8", + "webpki-roots 1.0.2", ] [[package]] @@ -5391,22 +5354,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body 1.0.1", "hyper 1.6.0", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.6.0", + "system-configuration 0.6.1", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -5421,7 +5390,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.0", + "windows-core 0.61.2", ] [[package]] @@ -5440,9 +5409,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" dependencies = [ "displaydoc", - "yoke", + "yoke 0.7.5", + "zerofrom", + "zerovec 0.10.4", +] + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke 0.8.0", "zerofrom", - "zerovec", + "zerovec 0.11.4", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap 0.8.0", + "tinystr 0.8.1", + "writeable 0.6.1", + "zerovec 0.11.4", ] [[package]] @@ -5452,10 +5447,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" dependencies = [ "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", + "litemap 0.7.5", + "tinystr 0.7.6", + "writeable 0.5.5", + "zerovec 0.10.4", ] [[package]] @@ -5467,9 +5462,9 @@ dependencies = [ "displaydoc", "icu_locid", "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", + "icu_provider 1.5.0", + "tinystr 0.7.6", + "zerovec 0.10.4", ] [[package]] @@ -5485,15 +5480,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" dependencies = [ "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", + "icu_collections 1.5.0", + "icu_normalizer_data 1.5.1", + "icu_properties 1.5.1", + "icu_provider 1.5.0", "smallvec", "utf16_iter", "utf8_iter", "write16", - "zerovec", + "zerovec 0.10.4", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections 2.0.0", + "icu_normalizer_data 2.0.0", + "icu_properties 2.0.1", + "icu_provider 2.0.0", + "smallvec", + "zerovec 0.11.4", ] [[package]] @@ -5502,6 +5512,12 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + [[package]] name = "icu_properties" version = "1.5.1" @@ -5509,12 +5525,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" dependencies = [ "displaydoc", - "icu_collections", + "icu_collections 1.5.0", "icu_locid_transform", - "icu_properties_data", - "icu_provider", - "tinystr", - "zerovec", + "icu_properties_data 1.5.1", + "icu_provider 1.5.0", + "tinystr 0.7.6", + "zerovec 0.10.4", +] + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections 2.0.0", + "icu_locale_core", + "icu_properties_data 2.0.1", + "icu_provider 2.0.0", + "potential_utf", + "zerotrie", + "zerovec 0.11.4", ] [[package]] @@ -5524,8 +5556,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" [[package]] -name = "icu_provider" -version = "1.5.0" +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" dependencies = [ @@ -5533,11 +5571,28 @@ dependencies = [ "icu_locid", "icu_provider_macros", "stable_deref_trait", - "tinystr", - "writeable", - "yoke", + "tinystr 0.7.6", + "writeable 0.5.5", + "yoke 0.7.5", + "zerofrom", + "zerovec 0.10.4", +] + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr 0.8.1", + "writeable 0.6.1", + "yoke 0.8.0", "zerofrom", - "zerovec", + "zerotrie", + "zerovec 0.11.4", ] [[package]] @@ -5546,9 +5601,9 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -5570,12 +5625,12 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ - "icu_normalizer", - "icu_properties", + "icu_normalizer 2.0.0", + "icu_properties 2.0.1", ] [[package]] @@ -5621,9 +5676,9 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -5641,15 +5696,15 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", ] [[package]] name = "indenter" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" [[package]] name = "indexmap" @@ -5657,20 +5712,20 @@ version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "hashbrown 0.12.3", "serde", ] [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.5", "serde", ] @@ -5705,7 +5760,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "inotify-sys", "libc", ] @@ -5731,15 +5786,15 @@ dependencies = [ [[package]] name = "instability" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf9fed6d91cfb734e7476a06bde8300a1b94e217e1b523b6f0cd1a01998c71d" +checksum = "435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a" dependencies = [ "darling", "indoc", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -5790,13 +5845,24 @@ dependencies = [ "memoffset", ] +[[package]] +name = "io-uring" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "libc", +] + [[package]] name = "ipconfig" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.10", "widestring", "windows-sys 0.48.0", "winreg", @@ -5824,7 +5890,7 @@ version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ - "hermit-abi 0.5.0", + "hermit-abi 0.5.2", "libc", "windows-sys 0.59.0", ] @@ -5905,7 +5971,7 @@ version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", "libc", ] @@ -5991,11 +6057,11 @@ dependencies = [ "http 1.3.1", "jsonrpsee-core 0.25.1", "pin-project", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-pki-types", "rustls-platform-verifier", "soketto 0.8.1", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-rustls 0.26.2", "tokio-util", @@ -6045,11 +6111,11 @@ dependencies = [ "jsonrpsee-types 0.25.1", "parking_lot", "pin-project", - "rand 0.9.0", + "rand 0.9.2", "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tower 0.5.2", @@ -6086,15 +6152,15 @@ dependencies = [ "base64 0.22.1", "http-body 1.0.1", "hyper 1.6.0", - "hyper-rustls 0.27.5", + "hyper-rustls 0.27.7", "hyper-util", "jsonrpsee-core 0.25.1", "jsonrpsee-types 0.25.1", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-platform-verifier", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower 0.5.2", "url", @@ -6108,7 +6174,7 @@ checksum = "dcc0eba68ba205452bcb4c7b80a79ddcb3bf36c261a841b239433142db632d24" dependencies = [ "heck 0.4.1", "proc-macro-crate 1.1.3", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] @@ -6121,9 +6187,9 @@ checksum = "2fa4f5daed39f982a1bb9d15449a28347490ad42b212f8eaa2a2a344a0dce9e9" dependencies = [ "heck 0.5.0", "proc-macro-crate 3.3.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -6168,7 +6234,7 @@ dependencies = [ "serde", "serde_json", "soketto 0.8.1", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-util", @@ -6199,7 +6265,7 @@ dependencies = [ "http 1.3.1", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -6276,7 +6342,7 @@ dependencies = [ "cfg-if", "ecdsa 0.14.8", "elliptic-curve 0.12.3", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -6290,7 +6356,7 @@ dependencies = [ "elliptic-curve 0.13.8", "once_cell", "serdect", - "sha2 0.10.8", + "sha2 0.10.9", "signature 2.2.0", ] @@ -6315,9 +6381,9 @@ dependencies = [ [[package]] name = "kqueue" -version = "1.0.8" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" +checksum = "eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a" dependencies = [ "kqueue-sys", "libc", @@ -6417,15 +6483,15 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.172" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libgit2-sys" -version = "0.18.1+1.9.0" +version = "0.18.2+1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e" +checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222" dependencies = [ "cc", "libc", @@ -6435,35 +6501,35 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.53.3", ] [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libp2p-identity" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "asn1_der", "bs58 0.5.1", "ed25519-dalek", "hkdf", - "libsecp256k1", + "k256 0.13.4", "multihash 0.19.3", "quick-protobuf", - "sha2 0.10.8", - "thiserror 1.0.69", + "sha2 0.10.9", + "thiserror 2.0.14", "tracing", "zeroize", ] @@ -6481,11 +6547,11 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "libc", "redox_syscall", ] @@ -6499,14 +6565,12 @@ dependencies = [ "arrayref", "base64 0.22.1", "digest 0.9.0", - "hmac-drbg", "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", "rand 0.8.5", "serde", "sha2 0.9.9", - "typenum", ] [[package]] @@ -6595,13 +6659,19 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "scopeguard", "serde", ] @@ -6640,7 +6710,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] @@ -6649,9 +6719,15 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lz4" version = "1.28.1" @@ -6673,9 +6749,9 @@ dependencies = [ [[package]] name = "lz4_flex" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" dependencies = [ "twox-hash", ] @@ -6688,9 +6764,9 @@ checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" [[package]] name = "mach2" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" dependencies = [ "libc", ] @@ -6701,9 +6777,9 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -6747,9 +6823,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" @@ -6762,9 +6838,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28" dependencies = [ "libc", ] @@ -6775,7 +6851,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", ] [[package]] @@ -6785,7 +6861,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b453bd8e35ec92138b093172731fe7920cdf397f2a709e789243147a79772b9d" dependencies = [ "chrono", - "clap 4.5.36", + "clap 4.5.45", "csv", "eyre", "indicatif", @@ -6801,9 +6877,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7deb012b3b2767169ff203fadb4c6b0b82b947512e5eb9e0b78c2e186ad9e3" +checksum = "25dea7ac8057892855ec285c440160265225438c3c45072613c25a4b26e98ef5" dependencies = [ "ahash", "portable-atomic", @@ -6815,10 +6891,10 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "regex", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -6828,7 +6904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd7399781913e5393588a8d8c6a2867bf85fb38eaf2502fdce465aad2dc6f034" dependencies = [ "base64 0.22.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "metrics", "metrics-util", "quanta", @@ -6853,16 +6929,16 @@ dependencies = [ [[package]] name = "metrics-util" -version = "0.19.0" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbd4884b1dd24f7d6628274a2f5ae22465c337c5ba065ec9b6edccddf8acc673" +checksum = "b8496cc523d1f94c1385dd8f0f0c2c480b2b8aeccb5b7e4485ad6365523ae376" dependencies = [ "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.15.2", + "hashbrown 0.15.5", "metrics", "quanta", - "rand 0.8.5", + "rand 0.9.2", "rand_xoshiro", "sketches-ddsketch", ] @@ -6871,9 +6947,9 @@ dependencies = [ name = "metrics_macros" version = "0.1.0" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -6934,23 +7010,23 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -6975,9 +7051,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2" dependencies = [ "cfg-if", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -6996,7 +7072,7 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] @@ -7101,7 +7177,7 @@ dependencies = [ "core2", "digest 0.10.7", "multihash-derive", - "sha2 0.10.8", + "sha2 0.10.9", "unsigned-varint 0.7.2", ] @@ -7123,7 +7199,7 @@ checksum = "1d6d4752e6230d8ef7adf7bd5d8c4b1f6561c1014c5ba9a37445ccefe18aa1db" dependencies = [ "proc-macro-crate 1.1.3", "proc-macro-error", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", "synstructure 0.12.6", @@ -7151,7 +7227,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79a74ddee9e0c27d2578323c13905793e91622148f138ba29738f9dddb835e90" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", "target-features", @@ -7163,7 +7239,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -7213,12 +7289,11 @@ checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" [[package]] name = "notify" -version = "8.0.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943" +checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ - "bitflags 2.9.0", - "filetime", + "bitflags 2.9.1", "fsevent-sys", "inotify", "kqueue", @@ -7227,7 +7302,7 @@ dependencies = [ "mio", "notify-types", "walkdir", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -7336,7 +7411,7 @@ version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "num-integer", "num-traits", ] @@ -7358,39 +7433,40 @@ version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "libm", ] [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.5.2", "libc", ] [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ "proc-macro-crate 3.3.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -7415,13 +7491,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" dependencies = [ "alloy-rlp", - "arbitrary", "const-hex", "proptest", "serde", "smallvec", ] +[[package]] +name = "nybbles" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63cb50036b1ad148038105af40aaa70ff24d8a14fbc44ae5c914e1348533d12e" +dependencies = [ + "alloy-rlp", + "arbitrary", + "cfg-if", + "proptest", + "ruint", + "serde", + "smallvec", +] + [[package]] name = "object" version = "0.36.7" @@ -7441,6 +7531,12 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "oorandom" version = "11.1.5" @@ -7449,45 +7545,46 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "op-alloy-consensus" -version = "0.17.2" +version = "0.18.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2423a125ef2daa0d15dacc361805a0b6f76d6acfc6e24a1ff6473582087fe75" +checksum = "0c88d2940558fd69f8f07b3cbd7bb3c02fc7d31159c1a7ba9deede50e7881024" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "arbitrary", "derive_more 2.0.1", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "op-alloy-rpc-types-engine" -version = "0.17.2" +version = "0.18.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47aea08d8ad3f533df0c5082d3e93428a4c57898b7ade1be928fa03918f22e71" +checksum = "b2b4f977b51e9e177e69a4d241ab7c4b439df9a3a5a998c000ae01be724de271" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "alloy-rpc-types-engine", "derive_more 2.0.1", "ethereum_ssz 0.9.0", + "ethereum_ssz_derive", "op-alloy-consensus", "snap", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "op-revm" -version = "5.0.1" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0e8a3830a2be82166fbe9ead34361149ff4320743ed7ee5502ab779de221361" +checksum = "5ce1dc7533f4e5716c55cd3d62488c6200cb4dfda96e0c75a7e484652464343b" dependencies = [ "auto_impl", "once_cell", @@ -7521,18 +7618,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" dependencies = [ "bytes", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -7547,9 +7644,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -7560,9 +7657,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.107" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -7597,7 +7694,7 @@ dependencies = [ "ecdsa 0.16.9", "elliptic-curve 0.13.8", "primeorder", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -7612,9 +7709,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.7.4" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fde3d0718baf5bc92f577d652001da0f8d54cd03a7974e118d04fc888dc23d" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ "arbitrary", "arrayvec", @@ -7630,14 +7727,14 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.7.4" +version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581c837bb6b9541ce7faa9377c20616e4fb7650f6b0f68bc93c827ee504fb7b3" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" dependencies = [ "proc-macro-crate 3.3.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -7648,9 +7745,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -7658,9 +7755,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -7721,9 +7818,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", + "hmac", "password-hash", - "sha2 0.10.8", + "sha2 0.10.9", ] [[package]] @@ -7753,12 +7850,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" +checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", - "thiserror 2.0.12", + "thiserror 2.0.14", "ucd-trie", ] @@ -7769,7 +7866,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.9.0", + "indexmap 2.10.0", ] [[package]] @@ -7840,9 +7937,9 @@ checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ "phf_generator 0.11.3", "phf_shared 0.11.3", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -7878,9 +7975,9 @@ version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -7901,7 +7998,7 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ - "der 0.7.9", + "der 0.7.10", "pkcs8 0.10.2", "spki 0.7.3", ] @@ -7922,7 +8019,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.9", + "der 0.7.10", "spki 0.7.3", ] @@ -7984,7 +8081,7 @@ version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1362d4a136c0ebacb40d88a37ba361738b222fd8a2ee9340a3d8642f698c52b" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "polars-core", "polars-io", "polars-lazy", @@ -8017,12 +8114,12 @@ checksum = "b24f92fc5b167f668ff85ab9607dfa72e2c09664cacef59297ee8601dee60126" dependencies = [ "ahash", "arrow2", - "bitflags 2.9.0", + "bitflags 2.9.1", "chrono", "comfy-table", "either", "hashbrown 0.14.5", - "indexmap 2.9.0", + "indexmap 2.10.0", "num-traits", "once_cell", "polars-arrow", @@ -8088,7 +8185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c33762ec2a55e01c9f8776b34db86257c70a0a3b3929bd4eb91a52aacf61456" dependencies = [ "ahash", - "bitflags 2.9.0", + "bitflags 2.9.1", "glob", "once_cell", "polars-arrow", @@ -8113,7 +8210,7 @@ dependencies = [ "argminmax", "arrow2", "either", - "indexmap 2.9.0", + "indexmap 2.10.0", "memchr", "polars-arrow", "polars-core", @@ -8247,9 +8344,18 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "potential_utf" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec 0.11.4", +] [[package]] name = "powerfmt" @@ -8263,7 +8369,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] @@ -8310,12 +8416,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.34" +version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" +checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" dependencies = [ - "proc-macro2 1.0.95", - "syn 2.0.100", + "proc-macro2 1.0.97", + "syn 2.0.105", ] [[package]] @@ -8343,13 +8449,13 @@ dependencies = [ [[package]] name = "priority-queue" -version = "2.3.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef08705fa1589a1a59aa924ad77d14722cb0cd97b67dd5004ed5f4a4873fce8d" +checksum = "5676d703dda103cbb035b653a9f11448c0a7216c7926bd35fcb5865475d0c970" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "equivalent", - "indexmap 2.9.0", + "indexmap 2.10.0", ] [[package]] @@ -8378,7 +8484,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", "version_check 0.9.5", @@ -8390,7 +8496,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "version_check 0.9.5", ] @@ -8401,7 +8507,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", ] @@ -8412,9 +8518,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ "proc-macro-error-attr2", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -8428,9 +8534,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1" dependencies = [ "unicode-ident", ] @@ -8441,7 +8547,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "chrono", "flate2", "hex", @@ -8455,7 +8561,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "chrono", "hex", ] @@ -8477,18 +8583,18 @@ dependencies = [ [[package]] name = "proptest" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.9.0", + "bitflags 2.9.1", "lazy_static", "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_xorshift 0.3.0", + "rand 0.9.2", + "rand_chacha 0.9.0", + "rand_xorshift 0.4.0", "regex-syntax 0.8.5", "rusty-fork", "tempfile", @@ -8511,9 +8617,9 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -8542,7 +8648,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.100", + "syn 2.0.105", "tempfile", ] @@ -8554,9 +8660,9 @@ checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", "itertools 0.14.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -8580,22 +8686,22 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "memchr", "unicase", ] [[package]] name = "quanta" -version = "0.12.5" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" dependencies = [ "crossbeam-utils", "libc", "once_cell", "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -8617,21 +8723,21 @@ dependencies = [ [[package]] name = "quick_cache" -version = "0.6.13" +version = "0.6.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287e56aac5a2b4fb25a6fb050961d157635924c8696305a5c937a76f29841a0f" +checksum = "9ad6644cb07b7f3488b9f3d2fde3b4c0a7fa367cafefb39dff93a659f76eb786" dependencies = [ "ahash", "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.5", "parking_lot", ] [[package]] name = "quinn" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" +checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" dependencies = [ "bytes", "cfg_aliases", @@ -8639,9 +8745,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.26", - "socket2", - "thiserror 2.0.12", + "rustls 0.23.31", + "socket2 0.5.10", + "thiserror 2.0.14", "tokio", "tracing", "web-time", @@ -8649,19 +8755,20 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.10" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc" +checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" dependencies = [ "bytes", - "getrandom 0.3.2", - "rand 0.9.0", + "getrandom 0.3.3", + "lru-slab", + "rand 0.9.2", "ring 0.17.14", "rustc-hash 2.1.1", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.14", "tinyvec", "tracing", "web-time", @@ -8669,14 +8776,14 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5" +checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2", + "socket2 0.5.10", "tracing", "windows-sys 0.59.0", ] @@ -8696,14 +8803,14 @@ version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", ] [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -8757,14 +8864,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", "serde", - "zerocopy 0.8.24", ] [[package]] @@ -8837,7 +8943,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -8846,7 +8952,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", "serde", ] @@ -8933,20 +9039,20 @@ dependencies = [ [[package]] name = "rand_xorshift" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.3", ] [[package]] name = "rand_xoshiro" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" +checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.3", ] [[package]] @@ -8955,7 +9061,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "cassowary", "compact_str", "crossterm", @@ -8976,14 +9082,14 @@ version = "11.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", ] [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -8991,9 +9097,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -9005,20 +9111,20 @@ version = "0.1.0" dependencies = [ "ahash", "alloy-chains", - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-evm", - "alloy-json-rpc 1.0.9", + "alloy-json-rpc 1.0.24", "alloy-network", - "alloy-network-primitives 1.0.9", + "alloy-network-primitives 1.0.24", "alloy-node-bindings", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-provider", "alloy-rlp", "alloy-rpc-types", "alloy-rpc-types-beacon", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 1.0.9", + "alloy-rpc-types-eth 1.0.24", "alloy-signer-local", "assert_matches", "async-trait", @@ -9026,7 +9132,7 @@ dependencies = [ "bid-scraper", "bigdecimal 0.4.8", "built", - "clap 4.5.36", + "clap 4.5.45", "criterion 0.5.1", "crossbeam", "crossbeam-queue", @@ -9065,7 +9171,7 @@ dependencies = [ "rand 0.8.5", "rayon", "reipc", - "reqwest 0.12.15", + "reqwest 0.12.23", "reth", "reth-chainspec", "reth-db", @@ -9084,11 +9190,11 @@ dependencies = [ "reth-trie-parallel", "revm", "revm-inspectors", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_json", "serde_with", - "sha2 0.10.8", + "sha2 0.10.9", "shellexpand", "sqlx", "sysperf", @@ -9100,7 +9206,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "toml 0.8.20", + "toml 0.8.23", "tonic", "tonic-build", "tracing", @@ -9127,11 +9233,11 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", ] [[package]] @@ -9140,20 +9246,40 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", "thiserror 1.0.69", ] [[package]] name = "redox_users" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", "libredox", - "thiserror 2.0.12", + "thiserror 2.0.14", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2 1.0.97", + "quote 1.0.40", + "syn 2.0.105", ] [[package]] @@ -9202,11 +9328,11 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "regress" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ef7fa9ed0256d64a688a3747d0fef7a88851c18a5e1d57f115f38ec2e09366" +checksum = "145bb27393fe455dd64d6cbc8d059adfa392590a45eadf079c01b11857e7b010" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", "memchr", ] @@ -9238,7 +9364,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -9253,7 +9379,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", @@ -9275,9 +9401,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64 0.22.1", "bytes", @@ -9285,64 +9411,57 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.9", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "http-body-util", "hyper 1.6.0", - "hyper-rustls 0.27.5", + "hyper-rustls 0.27.7", "hyper-tls 0.6.0", "hyper-util", - "ipnet", "js-sys", "log", "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-native-certs 0.8.1", - "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", - "system-configuration 0.6.1", "tokio", "tokio-native-tls", "tokio-rustls 0.26.2", "tokio-util", "tower 0.5.2", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.26.8", - "windows-registry", + "webpki-roots 1.0.2", ] [[package]] name = "resolv-conf" -version = "0.7.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4" -dependencies = [ - "hostname", -] +checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" [[package]] name = "reth" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-rpc-types", "aquamarine", - "clap 4.5.36", + "clap 4.5.45", "eyre", "reth-chainspec", "reth-cli-runner", @@ -9371,9 +9490,9 @@ dependencies = [ "reth-rpc", "reth-rpc-api", "reth-rpc-builder", + "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-tasks", "reth-tokio-util", "reth-transaction-pool", @@ -9383,12 +9502,12 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "futures-core", "futures-util", "metrics", @@ -9407,19 +9526,19 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-signer", "alloy-signer-local", "derive_more 2.0.1", "metrics", "parking_lot", "pin-project", - "rand 0.9.0", + "rand 0.9.2", "reth-chainspec", "reth-errors", "reth-ethereum-primitives", @@ -9438,16 +9557,16 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-chains", - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-evm", "alloy-genesis", - "alloy-primitives 1.2.0", - "alloy-trie 0.8.1", + "alloy-primitives 1.3.0", + "alloy-trie 0.9.0", "auto_impl", "derive_more 2.0.1", "reth-ethereum-forks", @@ -9458,11 +9577,11 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-genesis", - "clap 4.5.36", + "clap 4.5.45", "eyre", "reth-cli-runner", "reth-db", @@ -9472,17 +9591,17 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "ahash", "alloy-chains", - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "backon", - "clap 4.5.36", + "clap 4.5.45", "comfy-table", "crossterm", "eyre", @@ -9492,7 +9611,7 @@ dependencies = [ "itertools 0.14.0", "lz4", "ratatui", - "reqwest 0.12.15", + "reqwest 0.12.23", "reth-chainspec", "reth-cli", "reth-cli-runner", @@ -9507,6 +9626,7 @@ dependencies = [ "reth-discv5", "reth-downloaders", "reth-ecies", + "reth-era", "reth-era-downloader", "reth-era-utils", "reth-eth-wire", @@ -9526,25 +9646,26 @@ dependencies = [ "reth-primitives-traits", "reth-provider", "reth-prune", + "reth-revm", "reth-stages", "reth-static-file", "reth-static-file-types", "reth-trie", "reth-trie-db", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_json", "tar", "tokio", "tokio-stream", - "toml 0.8.20", + "toml 0.8.23", "tracing", ] [[package]] name = "reth-cli-runner" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "reth-tasks", "tokio", @@ -9553,32 +9674,32 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "cfg-if", "eyre", "libc", "rand 0.8.5", "reth-fs-util", - "secp256k1", + "secp256k1 0.30.0", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tikv-jemallocator", ] [[package]] name = "reth-codecs" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-genesis", - "alloy-primitives 1.2.0", - "alloy-trie 0.8.1", + "alloy-primitives 1.3.0", + "alloy-trie 0.9.0", "arbitrary", "bytes", "modular-bitfield", @@ -9591,19 +9712,19 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "convert_case 0.7.1", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "reth-config" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "eyre", "humantime-serde", @@ -9611,29 +9732,30 @@ dependencies = [ "reth-prune-types", "reth-stages-types", "serde", - "toml 0.8.20", + "toml 0.8.23", + "url", ] [[package]] name = "reth-consensus" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "auto_impl", "reth-execution-types", "reth-primitives-traits", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-consensus-common" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "reth-chainspec", "reth-consensus", "reth-primitives-traits", @@ -9641,34 +9763,35 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-json-rpc 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-json-rpc 1.0.24", + "alloy-primitives 1.3.0", "alloy-provider", "alloy-rpc-types-engine", "auto_impl", "derive_more 2.0.1", "eyre", "futures", - "reqwest 0.12.15", + "reqwest 0.12.23", "reth-node-api", "reth-primitives-traits", "reth-tracing", "ringbuffer", "serde", + "serde_json", "tokio", ] [[package]] name = "reth-db" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "derive_more 2.0.1", "eyre", "metrics", @@ -9683,20 +9806,20 @@ dependencies = [ "reth-storage-errors", "reth-tracing", "rustc-hash 2.1.1", - "strum 0.27.1", + "strum 0.27.2", "sysinfo 0.33.1", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-db-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-genesis", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "arbitrary", "bytes", "derive_more 2.0.1", @@ -9719,12 +9842,12 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-genesis", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "boyer-moore-magiclen", "eyre", "reth-chainspec", @@ -9742,17 +9865,17 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] [[package]] name = "reth-db-models" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "arbitrary", "bytes", "modular-bitfield", @@ -9763,10 +9886,10 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "discv5", "enr 0.13.0", @@ -9779,9 +9902,9 @@ dependencies = [ "reth-net-nat", "reth-network-peers", "schnellru", - "secp256k1", + "secp256k1 0.30.0", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tracing", @@ -9789,10 +9912,10 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "derive_more 2.0.1", "discv5", @@ -9800,23 +9923,23 @@ dependencies = [ "futures", "itertools 0.14.0", "metrics", - "rand 0.9.0", + "rand 0.9.2", "reth-chainspec", "reth-ethereum-forks", "reth-metrics", "reth-network-peers", - "secp256k1", - "thiserror 2.0.12", + "secp256k1 0.30.0", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-dns-discovery" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "data-encoding", "enr 0.13.0", "hickory-resolver", @@ -9826,10 +9949,10 @@ dependencies = [ "reth-network-peers", "reth-tokio-util", "schnellru", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tracing", @@ -9837,12 +9960,12 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "futures", "futures-util", @@ -9858,7 +9981,7 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-util", @@ -9867,11 +9990,11 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "aes", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "block-padding", "byteorder", @@ -9881,14 +10004,14 @@ dependencies = [ "digest 0.10.7", "futures", "generic-array", - "hmac 0.12.1", + "hmac", "pin-project", "rand 0.8.5", "reth-network-peers", - "secp256k1", - "sha2 0.10.8", + "secp256k1 0.30.0", + "sha2 0.10.9", "sha3", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-util", @@ -9898,27 +10021,20 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "eyre", "futures-util", "reth-chainspec", - "reth-consensus", "reth-engine-primitives", - "reth-engine-service", - "reth-engine-tree", "reth-ethereum-engine-primitives", - "reth-evm", - "reth-node-types", "reth-payload-builder", "reth-payload-primitives", "reth-provider", - "reth-prune", - "reth-stages-api", "reth-transaction-pool", "tokio", "tokio-stream", @@ -9927,11 +10043,12 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "auto_impl", "futures", @@ -9945,14 +10062,14 @@ dependencies = [ "reth-trie", "reth-trie-common", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", ] [[package]] name = "reth-engine-service" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "futures", "pin-project", @@ -9969,18 +10086,18 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-engine-tree" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-evm", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "alloy-rpc-types-engine", "derive_more 2.0.1", @@ -10011,20 +10128,21 @@ dependencies = [ "reth-trie-db", "reth-trie-parallel", "reth-trie-sparse", + "reth-trie-sparse-parallel", "revm", "revm-primitives", "schnellru", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-engine-util" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-rpc-types-engine", "eyre", "futures", @@ -10048,50 +10166,54 @@ dependencies = [ [[package]] name = "reth-era" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "ethereum_ssz 0.9.0", "ethereum_ssz_derive", "reth-ethereum-primitives", "snap", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-era-downloader" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "bytes", "eyre", "futures-util", - "reqwest 0.12.15", + "reqwest 0.12.23", "reth-fs-util", - "sha2 0.10.8", + "sha2 0.10.9", "tokio", ] [[package]] name = "reth-era-utils" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", + "alloy-rlp", "eyre", "futures-util", "reth-db-api", "reth-era", "reth-era-downloader", + "reth-ethereum-primitives", "reth-etl", "reth-fs-util", "reth-primitives-traits", "reth-provider", + "reth-stages-types", "reth-storage-api", "tokio", "tracing", @@ -10099,22 +10221,22 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "reth-consensus", "reth-execution-errors", "reth-storage-errors", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-eth-wire" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-chains", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "bytes", "derive_more 2.0.1", @@ -10129,7 +10251,7 @@ dependencies = [ "reth-primitives-traits", "serde", "snap", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-util", @@ -10138,14 +10260,14 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-chains", - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-hardforks", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "bytes", "derive_more 2.0.1", @@ -10154,76 +10276,39 @@ dependencies = [ "reth-ethereum-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-ethereum-cli" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", - "alloy-rlp", - "alloy-rpc-types", - "backon", - "clap 4.5.36", + "alloy-consensus 1.0.24", + "clap 4.5.45", "eyre", - "futures", - "reth-basic-payload-builder", "reth-chainspec", "reth-cli", "reth-cli-commands", "reth-cli-runner", - "reth-cli-util", - "reth-config", - "reth-consensus", "reth-db", - "reth-db-api", - "reth-downloaders", - "reth-errors", - "reth-ethereum-payload-builder", - "reth-ethereum-primitives", - "reth-evm", - "reth-execution-types", - "reth-exex", - "reth-fs-util", - "reth-network", - "reth-network-api", - "reth-network-p2p", "reth-node-api", "reth-node-builder", "reth-node-core", "reth-node-ethereum", - "reth-node-events", "reth-node-metrics", - "reth-payload-builder", - "reth-primitives-traits", - "reth-provider", - "reth-prune", - "reth-revm", - "reth-stages", - "reth-static-file", - "reth-tasks", "reth-tracing", - "reth-transaction-pool", - "reth-trie", - "reth-trie-db", - "serde_json", - "similar-asserts", - "tokio", "tracing", ] [[package]] name = "reth-ethereum-consensus" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -10234,11 +10319,11 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "alloy-rpc-types-engine", "reth-engine-primitives", @@ -10246,18 +10331,18 @@ dependencies = [ "reth-payload-primitives", "reth-primitives-traits", "serde", - "sha2 0.10.8", - "thiserror 2.0.12", + "sha2 0.10.9", + "thiserror 2.0.14", ] [[package]] name = "reth-ethereum-forks" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-eip2124 0.2.0", "alloy-hardforks", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "auto_impl", "once_cell", "rustc-hash 2.1.1", @@ -10265,12 +10350,12 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "reth-basic-payload-builder", "reth-chainspec", @@ -10292,12 +10377,12 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "arbitrary", "modular-bitfield", @@ -10310,8 +10395,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "rayon", "reth-db-api", @@ -10320,13 +10405,13 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-evm", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "auto_impl", "derive_more 2.0.1", "futures-util", @@ -10343,13 +10428,13 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-evm", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "derive_more 2.0.1", "reth-chainspec", "reth-ethereum-forks", @@ -10362,26 +10447,26 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-evm", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", - "nybbles", + "nybbles 0.4.3", "reth-storage-errors", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-execution-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-evm", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "derive_more 2.0.1", "reth-ethereum-primitives", "reth-primitives-traits", @@ -10393,12 +10478,12 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "eyre", "futures", "itertools 0.14.0", @@ -10423,7 +10508,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "rmp-serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-util", "tracing", @@ -10431,11 +10516,11 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "reth-chain-state", "reth-execution-types", "reth-primitives-traits", @@ -10445,21 +10530,21 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-invalid-block-hooks" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "alloy-rpc-types-debug", "eyre", @@ -10483,8 +10568,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "bytes", "futures", @@ -10493,7 +10578,7 @@ dependencies = [ "jsonrpsee 0.25.1", "pin-project", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-util", @@ -10503,25 +10588,25 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "byteorder", "dashmap 6.1.0", "derive_more 2.0.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "parking_lot", "reth-mdbx-sys", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] [[package]] name = "reth-mdbx-sys" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "bindgen", "cc", @@ -10529,8 +10614,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "futures", "metrics", @@ -10541,34 +10626,34 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", ] [[package]] name = "reth-net-nat" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "futures-util", "if-addrs", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-network" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "aquamarine", "auto_impl", @@ -10581,7 +10666,7 @@ dependencies = [ "parking_lot", "pin-project", "rand 0.8.5", - "rand 0.9.0", + "rand 0.9.2", "reth-chainspec", "reth-consensus", "reth-discv4", @@ -10606,10 +10691,10 @@ dependencies = [ "reth-transaction-pool", "rustc-hash 2.1.1", "schnellru", - "secp256k1", + "secp256k1 0.30.0", "serde", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-util", @@ -10618,11 +10703,13 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-admin", + "alloy-rpc-types-eth 1.0.24", "auto_impl", "derive_more 2.0.1", "enr 0.13.0", @@ -10634,19 +10721,19 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", ] [[package]] name = "reth-network-p2p" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "auto_impl", "derive_more 2.0.1", "futures", @@ -10663,23 +10750,23 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "enr 0.13.0", - "secp256k1", + "secp256k1 0.30.0", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "url", ] [[package]] name = "reth-network-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-eip2124 0.2.0", "humantime-serde", @@ -10692,25 +10779,25 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "anyhow", "bincode", "derive_more 2.0.1", "lz4_flex", - "memmap2 0.9.5", + "memmap2 0.9.7", "reth-fs-util", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", "zstd 0.13.3", ] [[package]] name = "reth-node-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -10733,12 +10820,12 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-provider", "alloy-rpc-types", "alloy-rpc-types-engine", @@ -10771,6 +10858,7 @@ dependencies = [ "reth-network-p2p", "reth-node-api", "reth-node-core", + "reth-node-ethstats", "reth-node-events", "reth-node-metrics", "reth-payload-builder", @@ -10788,7 +10876,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "reth-transaction-pool", - "secp256k1", + "secp256k1 0.30.0", "serde_json", "tokio", "tokio-stream", @@ -10797,20 +10885,20 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", - "clap 4.5.36", + "clap 4.5.45", "derive_more 2.0.1", "dirs-next", "eyre", "futures", "humantime", - "rand 0.9.0", + "rand 0.9.2", "reth-chainspec", "reth-cli-util", "reth-config", @@ -10818,6 +10906,7 @@ dependencies = [ "reth-db", "reth-discv4", "reth-discv5", + "reth-engine-local", "reth-engine-primitives", "reth-ethereum-forks", "reth-net-nat", @@ -10826,36 +10915,38 @@ dependencies = [ "reth-network-peers", "reth-primitives-traits", "reth-prune-types", + "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-stages-types", "reth-storage-api", "reth-storage-errors", "reth-tracing", "reth-transaction-pool", - "secp256k1", + "secp256k1 0.30.0", "serde", "shellexpand", - "strum 0.27.1", - "thiserror 2.0.12", - "toml 0.8.20", + "strum 0.27.2", + "thiserror 2.0.14", + "toml 0.8.23", "tracing", + "url", "vergen", "vergen-git2", ] [[package]] name = "reth-node-ethereum" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", + "alloy-eips 1.0.24", + "alloy-network", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 1.0.9", + "alloy-rpc-types-eth 1.0.24", "eyre", "reth-chainspec", - "reth-consensus", + "reth-engine-local", "reth-engine-primitives", "reth-ethereum-consensus", "reth-ethereum-engine-primitives", @@ -10873,6 +10964,7 @@ dependencies = [ "reth-rpc", "reth-rpc-api", "reth-rpc-builder", + "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-server-types", "reth-tracing", @@ -10881,14 +10973,38 @@ dependencies = [ "revm", ] +[[package]] +name = "reth-node-ethstats" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +dependencies = [ + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", + "chrono", + "futures-util", + "reth-chain-state", + "reth-network-api", + "reth-primitives-traits", + "reth-storage-api", + "reth-transaction-pool", + "serde", + "serde_json", + "thiserror 2.0.14", + "tokio", + "tokio-stream", + "tokio-tungstenite 0.26.2", + "tracing", + "url", +] + [[package]] name = "reth-node-events" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "derive_more 2.0.1", "futures", @@ -10907,8 +11023,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "eyre", "http 1.3.1", @@ -10928,8 +11044,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "reth-chainspec", "reth-db-api", @@ -10941,12 +11057,12 @@ dependencies = [ [[package]] name = "reth-optimism-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "arbitrary", "bytes", @@ -10960,10 +11076,10 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-rpc-types", "futures-util", "metrics", @@ -10980,8 +11096,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "pin-project", "reth-payload-primitives", @@ -10992,11 +11108,11 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "auto_impl", "op-alloy-rpc-types-engine", @@ -11005,26 +11121,26 @@ dependencies = [ "reth-errors", "reth-primitives-traits", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", ] [[package]] name = "reth-payload-validator" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-rpc-types-engine", "reth-primitives-traits", ] [[package]] name = "reth-primitives" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "c-kzg", "once_cell", "reth-ethereum-forks", @@ -11035,15 +11151,16 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", "alloy-genesis", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-trie 0.8.1", + "alloy-rpc-types-eth 1.0.24", + "alloy-trie 0.9.0", "arbitrary", "auto_impl", "byteorder", @@ -11059,20 +11176,20 @@ dependencies = [ "revm-bytecode", "revm-primitives", "revm-state", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-provider" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "dashmap 6.1.0", "eyre", @@ -11105,19 +11222,19 @@ dependencies = [ "reth-trie-db", "revm-database", "revm-state", - "strum 0.27.1", + "strum 0.27.2", "tokio", "tracing", ] [[package]] name = "reth-prune" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "itertools 0.14.0", "metrics", "rayon", @@ -11133,23 +11250,23 @@ dependencies = [ "reth-static-file-types", "reth-tokio-util", "rustc-hash 2.1.1", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-prune-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "arbitrary", "derive_more 2.0.1", "modular-bitfield", "reth-codecs", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -11157,7 +11274,7 @@ name = "reth-rbuilder" version = "0.1.0" dependencies = [ "alloy-rlp", - "clap 4.5.36", + "clap 4.5.45", "eyre", "libc", "rbuilder", @@ -11173,11 +11290,11 @@ dependencies = [ [[package]] name = "reth-ress-protocol" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "futures", "reth-eth-wire", @@ -11192,11 +11309,11 @@ dependencies = [ [[package]] name = "reth-ress-provider" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "eyre", "futures", "parking_lot", @@ -11219,10 +11336,10 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -11232,27 +11349,27 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-dyn-abi", - "alloy-eips 1.0.9", + "alloy-eips 1.0.24", "alloy-evm", "alloy-genesis", "alloy-network", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 1.0.9", + "alloy-rpc-types-eth 1.0.24", "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "alloy-signer", "alloy-signer-local", "async-trait", @@ -11271,8 +11388,8 @@ dependencies = [ "reth-consensus", "reth-engine-primitives", "reth-errors", - "reth-ethereum-primitives", "reth-evm", + "reth-evm-ethereum", "reth-execution-types", "reth-metrics", "reth-network-api", @@ -11282,11 +11399,11 @@ dependencies = [ "reth-primitives-traits", "reth-revm", "reth-rpc-api", + "reth-rpc-convert", "reth-rpc-engine-api", "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", @@ -11296,8 +11413,8 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "sha2 0.10.8", - "thiserror 2.0.12", + "sha2 0.10.9", + "thiserror 2.0.14", "tokio", "tokio-stream", "tower 0.5.2", @@ -11307,24 +11424,24 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", + "alloy-eips 1.0.24", "alloy-genesis", - "alloy-json-rpc 1.0.9", - "alloy-primitives 1.2.0", + "alloy-json-rpc 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-anvil", "alloy-rpc-types-beacon", "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "alloy-rpc-types-eth 1.0.9", + "alloy-rpc-types-eth 1.0.24", "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "jsonrpsee 0.25.1", "reth-chain-state", "reth-engine-primitives", @@ -11335,8 +11452,8 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-network", "alloy-provider", @@ -11363,7 +11480,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-util", "tower 0.5.2", @@ -11371,13 +11488,32 @@ dependencies = [ "tracing", ] +[[package]] +name = "reth-rpc-convert" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +dependencies = [ + "alloy-consensus 1.0.24", + "alloy-json-rpc 1.0.24", + "alloy-network", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-signer", + "jsonrpsee-types 0.25.1", + "reth-ethereum-primitives", + "reth-evm", + "reth-primitives-traits", + "revm-context", + "thiserror 2.0.14", +] + [[package]] name = "reth-rpc-engine-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core 0.25.1", @@ -11396,26 +11532,27 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-rpc-eth-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", + "alloy-consensus 1.0.24", "alloy-dyn-abi", - "alloy-eips 1.0.9", - "alloy-json-rpc 1.0.9", + "alloy-eips 1.0.24", + "alloy-evm", + "alloy-json-rpc 1.0.24", "alloy-network", - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-rpc-types-eth 1.0.9", + "alloy-rpc-types-eth 1.0.24", "alloy-rpc-types-mev", - "alloy-serde 1.0.9", + "alloy-serde 1.0.24", "async-trait", "auto_impl", "dyn-clone", @@ -11423,17 +11560,17 @@ dependencies = [ "jsonrpsee 0.25.1", "jsonrpsee-types 0.25.1", "parking_lot", + "reth-chain-state", "reth-chainspec", "reth-errors", "reth-evm", "reth-network-api", "reth-node-api", - "reth-payload-builder", "reth-primitives-traits", "reth-revm", + "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", @@ -11446,21 +11583,23 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" -dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", - "alloy-sol-types 1.2.0", +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +dependencies = [ + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-evm", + "alloy-network", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", + "alloy-sol-types 1.3.0", "derive_more 2.0.1", "futures", "itertools 0.14.0", "jsonrpsee-core 0.25.1", "jsonrpsee-types 0.25.1", "metrics", - "rand 0.9.0", + "rand 0.9.2", "reth-chain-state", "reth-chainspec", "reth-errors", @@ -11470,8 +11609,8 @@ dependencies = [ "reth-metrics", "reth-primitives-traits", "reth-revm", + "reth-rpc-convert", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", @@ -11480,7 +11619,7 @@ dependencies = [ "revm-inspectors", "schnellru", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tracing", @@ -11488,8 +11627,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "alloy-rpc-types-engine", "http 1.3.1", @@ -11502,53 +11641,44 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "jsonrpsee-core 0.25.1", "jsonrpsee-types 0.25.1", "reth-errors", "reth-network-api", "serde", - "strum 0.27.1", -] - -[[package]] -name = "reth-rpc-types-compat" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" -dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", - "jsonrpsee-types 0.25.1", - "reth-primitives-traits", - "serde", + "strum 0.27.2", ] [[package]] name = "reth-stages" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "bincode", "blake3", + "eyre", "futures-util", "itertools 0.14.0", "num-traits", "rayon", - "reqwest 0.12.15", + "reqwest 0.12.23", "reth-codecs", "reth-config", "reth-consensus", "reth-db", "reth-db-api", + "reth-era", + "reth-era-downloader", + "reth-era-utils", "reth-etl", "reth-evm", "reth-execution-types", @@ -11566,18 +11696,18 @@ dependencies = [ "reth-trie", "reth-trie-db", "serde", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-stages-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "aquamarine", "auto_impl", "futures-util", @@ -11593,17 +11723,17 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-stages-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "arbitrary", "bytes", "modular-bitfield", @@ -11614,10 +11744,10 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "parking_lot", "rayon", "reth-codecs", @@ -11634,24 +11764,24 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", - "clap 4.5.36", + "alloy-primitives 1.3.0", + "clap 4.5.45", "derive_more 2.0.1", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] name = "reth-storage-api" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rpc-types-engine", "auto_impl", "reth-chainspec", @@ -11670,24 +11800,24 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "derive_more 2.0.1", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", "revm-database-interface", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "reth-tasks" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "auto_impl", "dyn-clone", @@ -11696,7 +11826,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", "tracing-futures", @@ -11704,8 +11834,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "tokio", "tokio-stream", @@ -11714,10 +11844,10 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "clap 4.5.36", + "clap 4.5.45", "eyre", "rolling-file", "tracing", @@ -11729,20 +11859,20 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", "aquamarine", "auto_impl", - "bitflags 2.9.0", + "bitflags 2.9.1", "futures-util", "metrics", "parking_lot", - "rand 0.9.0", + "rand 0.9.2", "reth-chain-state", "reth-chainspec", "reth-eth-wire-types", @@ -11753,13 +11883,13 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "revm-interpreter", + "revm-interpreter 23.0.2", "revm-primitives", "rustc-hash 2.1.1", "schnellru", "serde", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tracing", @@ -11767,14 +11897,14 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-eips 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-eips 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-trie 0.8.1", + "alloy-trie 0.9.0", "auto_impl", "itertools 0.14.0", "metrics", @@ -11792,21 +11922,21 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-consensus 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-rpc-types-eth 1.0.9", - "alloy-serde 1.0.9", - "alloy-trie 0.8.1", + "alloy-rpc-types-eth 1.0.24", + "alloy-serde 1.0.24", + "alloy-trie 0.9.0", "arbitrary", "bytes", "derive_more 2.0.1", "hash-db", "itertools 0.14.0", - "nybbles", + "nybbles 0.4.3", "plain_hasher", "rayon", "reth-codecs", @@ -11818,10 +11948,10 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "reth-db-api", "reth-execution-errors", "reth-primitives-traits", @@ -11831,10 +11961,10 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", "derive_more 2.0.1", "itertools 0.14.0", @@ -11849,19 +11979,19 @@ dependencies = [ "reth-trie-common", "reth-trie-db", "reth-trie-sparse", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] [[package]] name = "reth-trie-sparse" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "alloy-rlp", - "alloy-trie 0.8.1", + "alloy-trie 0.9.0", "auto_impl", "metrics", "reth-execution-errors", @@ -11872,28 +12002,44 @@ dependencies = [ "tracing", ] +[[package]] +name = "reth-trie-sparse-parallel" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +dependencies = [ + "alloy-primitives 1.3.0", + "alloy-rlp", + "alloy-trie 0.9.0", + "rayon", + "reth-execution-errors", + "reth-trie-common", + "reth-trie-sparse", + "smallvec", + "tracing", +] + [[package]] name = "reth-zstd-compressors" -version = "1.4.8" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.4.8#127595e23079de2c494048d0821ea1f1107eb624" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" dependencies = [ "zstd 0.13.3", ] [[package]] name = "revm" -version = "24.0.1" +version = "27.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d277408ff8d6f747665ad9e52150ab4caf8d5eaf0d787614cf84633c8337b4" +checksum = "5e6bf82101a1ad8a2b637363a37aef27f88b4efc8a6e24c72bf5f64923dc5532" dependencies = [ "revm-bytecode", "revm-context", - "revm-context-interface", + "revm-context-interface 9.0.0", "revm-database", "revm-database-interface", "revm-handler", "revm-inspector", - "revm-interpreter", + "revm-interpreter 24.0.0", "revm-precompile", "revm-primitives", "revm-state", @@ -11901,12 +12047,11 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "4.0.1" +version = "6.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91f9b90b3bab18942252de2d970ee8559794c49ca7452b2cc1774456040f8fb" +checksum = "1d800e6c2119457ded5b0af71634eb2468040bf97de468eee5a730272a106da0" dependencies = [ "bitvec", - "once_cell", "phf 0.11.3", "revm-primitives", "serde", @@ -11914,14 +12059,14 @@ dependencies = [ [[package]] name = "revm-context" -version = "5.0.1" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" +checksum = "9cd508416a35a4d8a9feaf5ccd06ac6d6661cd31ee2dc0252f9f7316455d71f9" dependencies = [ "cfg-if", "derive-where", "revm-bytecode", - "revm-context-interface", + "revm-context-interface 9.0.0", "revm-database-interface", "revm-primitives", "revm-state", @@ -11930,9 +12075,25 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "5.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b844f48a411e62c7dde0f757bf5cce49c85b86d6fc1d3b2722c07f2bec4c3ce" +checksum = "a303a93102fceccec628265efd550ce49f2817b38ac3a492c53f7d524f18a1ca" +dependencies = [ + "alloy-eip2930 0.2.1", + "alloy-eip7702 0.6.1", + "auto_impl", + "either", + "revm-database-interface", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-context-interface" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc90302642d21c8f93e0876e201f3c5f7913c4fcb66fb465b0fd7b707dfe1c79" dependencies = [ "alloy-eip2930 0.2.1", "alloy-eip7702 0.6.1", @@ -11946,11 +12107,11 @@ dependencies = [ [[package]] name = "revm-database" -version = "4.0.1" +version = "7.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad3fbe34f6bb00a9c3155723b3718b9cb9f17066ba38f9eb101b678cd3626775" +checksum = "40000c7d917c865f6c232a78581b78e70c43f52db17282bd1b52d4f0565bc8a2" dependencies = [ - "alloy-eips 1.0.9", + "alloy-eips 1.0.24", "revm-bytecode", "revm-database-interface", "revm-primitives", @@ -11960,11 +12121,12 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "4.0.1" +version = "7.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8acd36784a6d95d5b9e1b7be3ce014f1e759abb59df1fa08396b30f71adc2a" +checksum = "f4ccea7a168cba1196b1e57dd3e22c36047208c135f600f8e58cbe7d49957dba" dependencies = [ "auto_impl", + "either", "revm-primitives", "revm-state", "serde", @@ -11972,16 +12134,17 @@ dependencies = [ [[package]] name = "revm-handler" -version = "5.0.1" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "481e8c3290ff4fa1c066592fdfeb2b172edfd14d12e6cade6f6f5588cad9359a" +checksum = "1529c8050e663be64010e80ec92bf480315d21b1f2dbf65540028653a621b27d" dependencies = [ "auto_impl", + "derive-where", "revm-bytecode", "revm-context", - "revm-context-interface", + "revm-context-interface 9.0.0", "revm-database-interface", - "revm-interpreter", + "revm-interpreter 24.0.0", "revm-precompile", "revm-primitives", "revm-state", @@ -11990,15 +12153,16 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "5.0.1" +version = "8.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" +checksum = "f78db140e332489094ef314eaeb0bd1849d6d01172c113ab0eb6ea8ab9372926" dependencies = [ "auto_impl", + "either", "revm-context", "revm-database-interface", "revm-handler", - "revm-interpreter", + "revm-interpreter 24.0.0", "revm-primitives", "revm-state", "serde", @@ -12007,14 +12171,14 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.23.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b50ef375dbacefecfdacf8f02afc31df98acc5d8859a6f2b24d121ff2a740a8" +checksum = "aad27cab355b0aa905d0744f3222e716b40ad48b32276ac4b0a615f2c3364c97" dependencies = [ - "alloy-primitives 1.2.0", - "alloy-rpc-types-eth 1.0.9", + "alloy-primitives 1.3.0", + "alloy-rpc-types-eth 1.0.24", "alloy-rpc-types-trace", - "alloy-sol-types 1.2.0", + "alloy-sol-types 1.3.0", "anstyle", "boa_engine", "boa_gc", @@ -12022,32 +12186,45 @@ dependencies = [ "revm", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] name = "revm-interpreter" -version = "20.0.0" +version = "23.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ee65e57375c6639b0f50555e92a4f1b2434349dd32f52e2176f5c711171697" +checksum = "d95c4a9a1662d10b689b66b536ddc2eb1e89f5debfcabc1a2d7b8417a2fa47cd" dependencies = [ "revm-bytecode", - "revm-context-interface", + "revm-context-interface 8.0.1", + "revm-primitives", + "serde", +] + +[[package]] +name = "revm-interpreter" +version = "24.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff9d7d9d71e8a33740b277b602165b6e3d25fff091ba3d7b5a8d373bf55f28a7" +dependencies = [ + "revm-bytecode", + "revm-context-interface 9.0.0", "revm-primitives", "serde", ] [[package]] name = "revm-precompile" -version = "21.0.0" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9311e735123d8d53a02af2aa81877bba185be7c141be7f931bb3d2f3af449c" +checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381", "ark-bn254", "ark-ec", "ark-ff 0.5.0", "ark-serialize 0.5.0", + "arrayref", "aurora-engine-modexp", "blst", "c-kzg", @@ -12058,28 +12235,30 @@ dependencies = [ "p256", "revm-primitives", "ripemd", - "secp256k1", - "sha2 0.10.8", + "rug", + "secp256k1 0.31.1", + "sha2 0.10.9", ] [[package]] name = "revm-primitives" -version = "19.1.0" +version = "20.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18ea2ea0134568ee1e14281ce52f60e2710d42be316888d464c53e37ff184fd8" +checksum = "5aa29d9da06fe03b249b6419b33968ecdf92ad6428e2f012dc57bcd619b5d94e" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "num_enum", + "once_cell", "serde", ] [[package]] name = "revm-state" -version = "4.0.1" +version = "7.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" +checksum = "f9d7f39ea56df3bfbb3c81c99b1f028d26f205b6004156baffbf1a4f84b46cfa" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "revm-bytecode", "revm-primitives", "serde", @@ -12092,7 +12271,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ "crypto-bigint 0.4.9", - "hmac 0.12.1", + "hmac", "zeroize", ] @@ -12102,7 +12281,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "hmac 0.12.1", + "hmac", "subtle", ] @@ -12129,7 +12308,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted 0.9.0", "windows-sys 0.52.0", @@ -12176,7 +12355,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] @@ -12248,11 +12427,23 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rug" +version = "1.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4207e8d668e5b8eb574bda8322088ccd0d7782d3d03c7e8d562e82ed82bdcbc3" +dependencies = [ + "az", + "gmp-mpfr-sys", + "libc", + "libm", +] + [[package]] name = "ruint" -version = "1.14.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a46eb779843b2c4f21fac5773e25d6d5b7c8f0922876c91541790d2ca27eef" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" dependencies = [ "alloy-rlp", "arbitrary", @@ -12268,7 +12459,7 @@ dependencies = [ "primitive-types", "proptest", "rand 0.8.5", - "rand 0.9.0", + "rand 0.9.2", "rlp", "ruint-macro", "serde", @@ -12319,9 +12510,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -12368,7 +12559,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.4.15", @@ -12377,15 +12568,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.5" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "errno", "libc", "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -12402,15 +12593,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.26" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "log", "once_cell", "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.103.1", + "rustls-webpki 0.103.4", "subtle", "zeroize", ] @@ -12422,7 +12613,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "schannel", "security-framework 2.11.1", ] @@ -12436,7 +12627,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", + "security-framework 3.3.0", ] [[package]] @@ -12448,42 +12639,34 @@ dependencies = [ "base64 0.21.7", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ "web-time", + "zeroize", ] [[package]] name = "rustls-platform-verifier" -version = "0.5.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9" +checksum = "19787cda76408ec5404443dc8b31795c87cd8fec49762dc75fa727740d34acc1" dependencies = [ - "core-foundation 0.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "jni", "log", "once_cell", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-platform-verifier-android", - "rustls-webpki 0.103.1", - "security-framework 3.2.0", + "rustls-webpki 0.103.4", + "security-framework 3.3.0", "security-framework-sys", - "webpki-root-certs", + "webpki-root-certs 0.26.11", "windows-sys 0.59.0", ] @@ -12505,9 +12688,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.1" +version = "0.103.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" dependencies = [ "ring 0.17.14", "rustls-pki-types", @@ -12516,9 +12699,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" @@ -12572,9 +12755,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ "proc-macro-crate 3.3.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -12586,6 +12769,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "schnellru" version = "0.2.4" @@ -12657,7 +12864,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct 0.2.0", - "der 0.7.9", + "der 0.7.10", "generic-array", "pkcs8 0.10.2", "serdect", @@ -12673,10 +12880,21 @@ checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", "rand 0.8.5", - "secp256k1-sys", + "secp256k1-sys 0.10.1", "serde", ] +[[package]] +name = "secp256k1" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2" +dependencies = [ + "bitcoin_hashes", + "rand 0.9.2", + "secp256k1-sys 0.11.0", +] + [[package]] name = "secp256k1-sys" version = "0.10.1" @@ -12686,13 +12904,22 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb913707158fadaf0d8702c2db0e857de66eb003ccfdda5924b5f5ac98efb38" +dependencies = [ + "cc", +] + [[package]] name = "security-framework" version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -12701,12 +12928,12 @@ dependencies = [ [[package]] name = "security-framework" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" +checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c" dependencies = [ - "bitflags 2.9.0", - "core-foundation 0.10.0", + "bitflags 2.9.1", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -12728,9 +12955,9 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "cssparser", - "derive_more 0.99.19", + "derive_more 0.99.20", "fxhash", "log", "new_debug_unreachable", @@ -12801,18 +13028,18 @@ version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "memchr", "ryu", @@ -12832,9 +13059,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] @@ -12853,15 +13080,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.9.0", + "indexmap 2.10.0", + "schemars 0.9.0", + "schemars 1.0.4", "serde", "serde_derive", "serde_json", @@ -12871,14 +13100,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ "darling", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -12957,9 +13186,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -13012,9 +13241,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ "libc", "signal-hook-registry", @@ -13033,9 +13262,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -13066,27 +13295,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" -[[package]] -name = "similar" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbb5d9659141646ae647b42fe094daf6c6192d1620870b449d9557f748b2daa" -dependencies = [ - "bstr", - "unicode-segmentation", -] - -[[package]] -name = "similar-asserts" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b441962c817e33508847a22bd82f03a30cff43642dc2fae8b050566121eb9a" -dependencies = [ - "console", - "serde", - "similar", -] - [[package]] name = "simple_asn1" version = "0.6.3" @@ -13095,7 +13303,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.12", + "thiserror 2.0.14", "time", ] @@ -13134,18 +13342,15 @@ checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg 1.4.0", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "arbitrary", "serde", @@ -13157,7 +13362,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" dependencies = [ - "autocfg 1.4.0", + "autocfg 1.5.0", "static_assertions", "version_check 0.9.5", ] @@ -13170,14 +13375,24 @@ checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -13251,7 +13466,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", - "der 0.7.9", + "der 0.7.10", ] [[package]] @@ -13315,7 +13530,7 @@ dependencies = [ "futures-util", "hashlink 0.8.4", "hex", - "indexmap 2.9.0", + "indexmap 2.10.0", "log", "memchr", "native-tls", @@ -13324,7 +13539,7 @@ dependencies = [ "percent-encoding", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "smallvec", "sqlformat", "thiserror 1.0.69", @@ -13342,7 +13557,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "sqlx-core", "sqlx-macros-core", @@ -13360,11 +13575,11 @@ dependencies = [ "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "sqlx-core", "sqlx-mysql", "sqlx-postgres", @@ -13384,7 +13599,7 @@ dependencies = [ "atoi", "base64 0.21.7", "bigdecimal 0.3.1", - "bitflags 2.9.0", + "bitflags 2.9.1", "byteorder", "bytes", "chrono", @@ -13399,7 +13614,7 @@ dependencies = [ "generic-array", "hex", "hkdf", - "hmac 0.12.1", + "hmac", "itoa", "log", "md-5", @@ -13410,7 +13625,7 @@ dependencies = [ "rsa", "serde", "sha1", - "sha2 0.10.8", + "sha2 0.10.9", "smallvec", "sqlx-core", "stringprep", @@ -13430,7 +13645,7 @@ dependencies = [ "atoi", "base64 0.21.7", "bigdecimal 0.3.1", - "bitflags 2.9.0", + "bitflags 2.9.1", "byteorder", "chrono", "crc", @@ -13442,7 +13657,7 @@ dependencies = [ "futures-util", "hex", "hkdf", - "hmac 0.12.1", + "hmac", "home", "itoa", "log", @@ -13453,7 +13668,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "sha2 0.10.8", + "sha2 0.10.9", "smallvec", "sqlx-core", "stringprep", @@ -13507,7 +13722,7 @@ name = "ssz_rs_derive" version = "0.9.0" source = "git+https://github.com/ralexstokes/ssz-rs?rev=84ef2b71aa004f6767420badb42c902ad56b8b72#84ef2b71aa004f6767420badb42c902ad56b8b72" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", ] @@ -13583,7 +13798,7 @@ checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ "phf_generator 0.11.3", "phf_shared 0.11.3", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", ] @@ -13630,11 +13845,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros 0.27.1", + "strum_macros 0.27.2", ] [[package]] @@ -13644,10 +13859,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "rustversion", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -13657,23 +13872,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "rustversion", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "strum_macros" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck 0.5.0", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "rustversion", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -13699,18 +13913,18 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.100" +version = "2.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "unicode-ident", ] @@ -13722,21 +13936,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4560533fbd6914b94a8fb5cc803ed6801c3455668db3b810702c57612bac9412" dependencies = [ "paste", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "syn-solidity" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c8c8f496c33dc6343dac05b4be8d9e0bca180a4caa81d7b8416b10cc2273cd" +checksum = "a7a985ff4ffd7373e10e0fb048110fb11a162e5a4c47f92ddb8787a6f766b769" dependencies = [ "paste", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -13760,7 +13974,7 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "syn 1.0.109", "unicode-xid 0.2.6", @@ -13768,13 +13982,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -13809,7 +14023,7 @@ dependencies = [ name = "sysperf" version = "0.1.0" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "num_cpus", "rand 0.8.5", "rayon", @@ -13833,7 +14047,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -13894,9 +14108,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" dependencies = [ "fastrand 2.3.0", - "getrandom 0.3.2", + "getrandom 0.3.3", "once_cell", - "rustix 1.0.5", + "rustix 1.0.8", "windows-sys 0.59.0", ] @@ -13931,11 +14145,11 @@ name = "test-relay" version = "0.1.0" dependencies = [ "ahash", - "alloy-consensus 1.0.9", - "alloy-json-rpc 1.0.9", - "alloy-primitives 1.2.0", + "alloy-consensus 1.0.24", + "alloy-json-rpc 1.0.24", + "alloy-primitives 1.3.0", "alloy-provider", - "clap 4.5.36", + "clap 4.5.45", "clap_builder", "ctor", "ethereum_ssz 0.9.0", @@ -13962,10 +14176,10 @@ dependencies = [ name = "test_utils" version = "0.1.0" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", "reqwest 0.11.27", - "syn 2.0.100", + "syn 2.0.105", "which", ] @@ -13992,11 +14206,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.14", ] [[package]] @@ -14005,30 +14219,29 @@ version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -14121,7 +14334,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" dependencies = [ "displaydoc", - "zerovec", + "zerovec 0.10.4", +] + +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec 0.11.4", ] [[package]] @@ -14151,20 +14374,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.2" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "slab", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -14173,9 +14398,9 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -14204,7 +14429,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.26", + "rustls 0.23.31", "tokio", ] @@ -14240,20 +14465,20 @@ checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", "tungstenite 0.26.2", - "webpki-roots 0.26.8", + "webpki-roots 0.26.11", ] [[package]] name = "tokio-util" -version = "0.7.14" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -14275,9 +14500,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.20" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", "serde_spanned", @@ -14287,26 +14512,33 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.24" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "serde", "serde_spanned", "toml_datetime", + "toml_write", "winnow", ] +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + [[package]] name = "tonic" version = "0.13.1" @@ -14317,7 +14549,7 @@ dependencies = [ "axum", "base64 0.22.1", "bytes", - "h2 0.4.9", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "http-body-util", @@ -14327,7 +14559,7 @@ dependencies = [ "percent-encoding", "pin-project", "prost", - "socket2", + "socket2 0.5.10", "tokio", "tokio-stream", "tower 0.5.2", @@ -14343,11 +14575,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "prost-build", "prost-types", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -14374,7 +14606,7 @@ dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.9.0", + "indexmap 2.10.0", "pin-project-lite", "slab", "sync_wrapper 1.0.2", @@ -14387,13 +14619,13 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.2" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.9.0", + "bitflags 2.9.1", "bytes", "futures-core", "futures-util", @@ -14454,20 +14686,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -14479,8 +14711,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "futures", - "futures-task", "pin-project", "tracing", ] @@ -14576,7 +14806,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee44f4cef85f88b4dea21c0b1f58320bdf35715cf56d840969487cff00613321" dependencies = [ - "alloy-primitives 1.2.0", + "alloy-primitives 1.3.0", "ethereum_hashing 0.7.0", "ethereum_ssz 0.9.0", "smallvec", @@ -14590,9 +14820,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bee2ea1551f90040ab0e34b6fb7f2fa3bad8acc925837ac654f2c78a13e3089" dependencies = [ "darling", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -14647,23 +14877,19 @@ dependencies = [ "http 1.3.1", "httparse", "log", - "rand 0.9.0", - "rustls 0.23.26", + "rand 0.9.2", + "rustls 0.23.31", "rustls-pki-types", "sha1", - "thiserror 2.0.12", + "thiserror 2.0.14", "utf-8", ] [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] +checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" [[package]] name = "typenum" @@ -14831,10 +15057,10 @@ dependencies = [ "flate2", "log", "once_cell", - "rustls 0.23.26", + "rustls 0.23.31", "rustls-pki-types", "url", - "webpki-roots 0.26.8", + "webpki-roots 0.26.11", ] [[package]] @@ -14881,13 +15107,15 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.16.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", + "js-sys", "serde", "sha1_smol", + "wasm-bindgen", ] [[package]] @@ -14961,9 +15189,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15037,9 +15265,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -15076,9 +15304,9 @@ checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", "wasm-bindgen-shared", ] @@ -15111,9 +15339,9 @@ version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -15142,9 +15370,9 @@ dependencies = [ [[package]] name = "wasmtimer" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +checksum = "d8d49b5d6c64e8558d9b1b065014426f35c18de636895d24893dbbd329743446" dependencies = [ "futures", "js-sys", @@ -15176,9 +15404,18 @@ dependencies = [ [[package]] name = "webpki-root-certs" -version = "0.26.8" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4" +checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" +dependencies = [ + "webpki-root-certs 1.0.2", +] + +[[package]] +name = "webpki-root-certs" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a" dependencies = [ "rustls-pki-types", ] @@ -15191,9 +15428,18 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.8" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.2", +] + +[[package]] +name = "webpki-roots" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ "rustls-pki-types", ] @@ -15212,11 +15458,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" dependencies = [ - "redox_syscall", + "libredox", "wasite", ] @@ -15277,6 +15523,28 @@ 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", + "windows-core 0.61.2", + "windows-future", + "windows-link", + "windows-numerics", +] + +[[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", +] + [[package]] name = "windows-core" version = "0.57.0" @@ -15304,15 +15572,26 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement 0.60.0", "windows-interface 0.59.1", "windows-link", - "windows-result 0.3.2", - "windows-strings 0.4.0", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[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", + "windows-threading", ] [[package]] @@ -15321,9 +15600,9 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15332,9 +15611,9 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15343,9 +15622,9 @@ version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15354,9 +15633,9 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15365,9 +15644,9 @@ version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15376,26 +15655,36 @@ version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[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", +] [[package]] name = "windows-registry" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" dependencies = [ - "windows-result 0.3.2", - "windows-strings 0.3.1", - "windows-targets 0.53.0", + "windows-link", + "windows-result 0.3.4", + "windows-strings 0.4.2", ] [[package]] @@ -15418,9 +15707,9 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ "windows-link", ] @@ -15437,18 +15726,9 @@ dependencies = [ [[package]] name = "windows-strings" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ "windows-link", ] @@ -15489,6 +15769,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -15537,10 +15826,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -15551,6 +15841,15 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -15733,9 +16032,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.6" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10" +checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" dependencies = [ "memchr", ] @@ -15756,7 +16055,7 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.9.1", ] [[package]] @@ -15771,11 +16070,17 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + [[package]] name = "ws_stream_wasm" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +checksum = "6c173014acad22e83f16403ee360115b38846fe754e735c5d9d3803fe70c6abc" dependencies = [ "async_io_stream", "futures", @@ -15784,7 +16089,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.69", + "thiserror 2.0.14", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -15801,12 +16106,12 @@ dependencies = [ [[package]] name = "xattr" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" +checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" dependencies = [ "libc", - "rustix 1.0.5", + "rustix 1.0.8", ] [[package]] @@ -15838,60 +16143,64 @@ checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" dependencies = [ "serde", "stable_deref_trait", - "yoke-derive", + "yoke-derive 0.7.5", "zerofrom", ] [[package]] -name = "yoke-derive" -version = "0.7.5" +name = "yoke" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.100", - "synstructure 0.13.1", + "serde", + "stable_deref_trait", + "yoke-derive 0.8.0", + "zerofrom", ] [[package]] -name = "zerocopy" -version = "0.7.35" +name = "yoke-derive" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ - "zerocopy-derive 0.7.35", + "proc-macro2 1.0.97", + "quote 1.0.40", + "syn 2.0.105", + "synstructure 0.13.2", ] [[package]] -name = "zerocopy" -version = "0.8.24" +name = "yoke-derive" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ - "zerocopy-derive 0.8.24", + "proc-macro2 1.0.97", + "quote 1.0.40", + "syn 2.0.105", + "synstructure 0.13.2", ] [[package]] -name = "zerocopy-derive" -version = "0.7.35" +name = "zerocopy" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "proc-macro2 1.0.95", - "quote 1.0.40", - "syn 2.0.100", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15909,10 +16218,10 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", - "synstructure 0.13.1", + "syn 2.0.105", + "synstructure 0.13.2", ] [[package]] @@ -15930,9 +16239,20 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke 0.8.0", + "zerofrom", ] [[package]] @@ -15941,9 +16261,20 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" dependencies = [ - "yoke", + "yoke 0.7.5", + "zerofrom", + "zerovec-derive 0.10.3", +] + +[[package]] +name = "zerovec" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +dependencies = [ + "yoke 0.8.0", "zerofrom", - "zerovec-derive", + "zerovec-derive 0.11.1", ] [[package]] @@ -15952,9 +16283,20 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ - "proc-macro2 1.0.95", + "proc-macro2 1.0.97", + "quote 1.0.40", + "syn 2.0.105", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2 1.0.97", "quote 1.0.40", - "syn 2.0.100", + "syn 2.0.105", ] [[package]] @@ -15970,7 +16312,7 @@ dependencies = [ "crc32fast", "crossbeam-utils", "flate2", - "hmac 0.12.1", + "hmac", "pbkdf2", "sha1", "time", diff --git a/Cargo.toml b/Cargo.toml index 05ec32d54..e55e8b955 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace.package] version = "0.1.0" edition = "2021" -rust-version = "1.85" +rust-version = "1.88" license = "MIT OR Apache-2.0" homepage = "https://github.com/flashbots/rbuilder" repository = "https://github.com/flashbots/rbuilder" @@ -49,94 +49,55 @@ codegen-units = 1 incremental = false [workspace.dependencies] -reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8", features = [ - "test-utils", -] } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } +reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0"} +reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0", features = ["test-utils"] } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } +reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.6.0" } -# reth optimism -reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } -reth-optimism-txpool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.8" } - -# compatible with reth v1.4.8 dependencies -revm = { version = "24.0.1", features = [ +# compatible with reth v1.6.0 dependencies +revm = { version = "27.0.3", features = [ "std", "secp256k1", "optional_balance_check", ], default-features = false } -revm-inspectors = { version = "0.23.0", default-features = false } -op-revm = { version = "5.0.0", default-features = false } +revm-inspectors = { version = "0.27.1", default-features = false } ethereum_ssz_derive = "0.9.0" ethereum_ssz = "0.9.0" -alloy-primitives = { version = "1.1.0", default-features = false, features = ["getrandom"] } +alloy-primitives = { version = "1.3.0", features = ["getrandom"] } alloy-rlp = "0.3.10" -alloy-chains = "0.2.0" -alloy-evm = { version = "0.10", default-features = false } -alloy-provider = { version = "1.0.9", features = ["ipc", "pubsub", "ws"] } -alloy-pubsub = { version = "1.0.9" } -alloy-eips = { version = "1.0.9" } -alloy-rpc-types = { version = "1.0.9" } -alloy-json-rpc = { version = "1.0.9" } -alloy-transport-http = { version = "1.0.9" } -alloy-network = { version = "1.0.9" } -alloy-network-primitives = { version = "1.0.9" } -alloy-transport = { version = "1.0.9" } -alloy-node-bindings = { version = "1.0.9" } -alloy-consensus = { version = "1.0.9", features = ["kzg"] } -alloy-serde = { version = "1.0.9" } -alloy-rpc-types-beacon = { version = "1.0.9", features = ["ssz"] } -alloy-rpc-types-engine = { version = "1.0.9", features = ["ssz"] } -alloy-rpc-types-eth = { version = "1.0.9" } -alloy-signer-local = { version = "1.0.9" } -alloy-rpc-client = { version = "1.0.9" } -alloy-genesis = { version = "1.0.9" } -alloy-trie = { version = "0.8.1" } - -# optimism -alloy-op-evm = { version = "0.5.0", default-features = false } -op-alloy-rpc-types = { version = "0.14.1", default-features = false } -op-alloy-rpc-types-engine = { version = "0.14.1", default-features = false } -op-alloy-rpc-jsonrpsee = { version = "0.14.1", default-features = false } -op-alloy-network = { version = "0.14.1", default-features = false } -op-alloy-consensus = { version = "0.14.1", default-features = false } +alloy-chains = "0.2.5" +alloy-evm = { version = "0.15", default-features = false } +alloy-provider = { version = "1.0.23", features = ["ipc", "pubsub", "ws"] } +alloy-eips = { version = "1.0.23" } +alloy-rpc-types = { version = "1.0.23" } +alloy-json-rpc = { version = "1.0.23" } +alloy-network = { version = "1.0.23" } +alloy-network-primitives = { version = "1.0.23" } +alloy-node-bindings = { version = "1.0.23" } +alloy-consensus = { version = "1.0.23", features = ["kzg"] } +alloy-rpc-types-beacon = { version = "1.0.23", features = ["ssz"] } +alloy-rpc-types-engine = { version = "1.0.23", features = ["ssz"] } +alloy-rpc-types-eth = { version = "1.0.23" } +alloy-signer-local = { version = "1.0.23" } +alloy-trie = { version = "0.9.0" } async-trait = { version = "0.1.83" } clap = { version = "4.4.3", features = ["derive", "env"] } @@ -144,10 +105,8 @@ clap_builder = { version = "4.5.19" } thiserror = { version = "1.0.64" } eyre = { version = "0.6.12" } jsonrpsee = { version = "0.24.4" } -jsonrpsee-types = { version = "0.24.4" } parking_lot = { version = "0.12.3" } tokio = { version = "1.40.0" } -auto_impl = { version = "1.2.0" } reqwest = { version = "0.12.8" } serde = { version = "1.0.210" } serde_json = { version = "1.0.128" } diff --git a/config-optimism-local.toml b/config-optimism-local.toml deleted file mode 100644 index 2986f1f61..000000000 --- a/config-optimism-local.toml +++ /dev/null @@ -1,40 +0,0 @@ -log_json = false -log_level = "info,rbuilder=debug" -redacted_telemetry_server_port = 6071 -redacted_telemetry_server_ip = "0.0.0.0" -full_telemetry_server_port = 6070 -full_telemetry_server_ip = "0.0.0.0" - -chain = "$HOME/grimoire/optimism/.devnet/genesis-l2.json" -reth_datadir = "$HOME/.playground/devnet/data_reth" -relay_secret_key = "5eae315483f028b5cdd5d1090ff0c7618b18737ea9bf3c35047189db22835c48" -coinbase_secret_key = "ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" - -cl_node_url = ["http://localhost:3500"] -jsonrpc_server_port = 8645 -jsonrpc_server_ip = "0.0.0.0" -el_node_ipc_path = "/tmp/reth.ipc" -extra_data = "⚡🤖" - -ignore_cancellable_orders = true - -sbundle_mergeable_signers = [] -live_builders = ["mp-ordering"] - -enabled_relays = ["custom"] - -[[relays]] -name = "custom" -url = "http://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@localhost:5555" -priority = 0 -use_ssz_for_submit = false -use_gzip_for_submit = false - -[[builders]] -name = "mgp-ordering" -algo = "ordering-builder" -discard_txs = true -sorting = "mev-gas-price" -failed_order_retries = 1 -drop_failed_orders = true - diff --git a/crates/bid-scraper/src/best_bid_ws_connector.rs b/crates/bid-scraper/src/best_bid_ws_connector.rs index 4556ab500..78d9777bd 100644 --- a/crates/bid-scraper/src/best_bid_ws_connector.rs +++ b/crates/bid-scraper/src/best_bid_ws_connector.rs @@ -60,7 +60,7 @@ impl BestBidWSConnector; + #[cfg(test)] mod tests { use super::*; @@ -189,5 +191,3 @@ mod tests { assert!(serde_json::from_str::(raw).is_ok()); } } - -pub type BloxrouteWsPublisher = Service; diff --git a/crates/bid-scraper/src/headers_publisher.rs b/crates/bid-scraper/src/headers_publisher.rs index a84cd69fb..1d17d0260 100644 --- a/crates/bid-scraper/src/headers_publisher.rs +++ b/crates/bid-scraper/src/headers_publisher.rs @@ -206,8 +206,7 @@ impl HeadersPublisherService { // instead, it's more interesting to us. let response = client .get(format!( - "{}/eth/v1/builder/header/{next_slot}/{last_block_hash}/{next_validator_pubkey}", - relay_endpoint, + "{relay_endpoint}/eth/v1/builder/header/{next_slot}/{last_block_hash}/{next_validator_pubkey}", )) .send() .await?; diff --git a/crates/eth-sparse-mpt/benches/trie_do_bench.rs b/crates/eth-sparse-mpt/benches/trie_do_bench.rs index 41cee2ba7..46099487d 100644 --- a/crates/eth-sparse-mpt/benches/trie_do_bench.rs +++ b/crates/eth-sparse-mpt/benches/trie_do_bench.rs @@ -92,14 +92,14 @@ fn insert_proofs(c: &mut Criterion) { let mut proofs: HashMap> = Default::default(); for key in &byte_keys { let key = Nibbles::unpack(key); - let current_key_proofs = proofs.entry(key.clone()).or_default(); + let current_key_proofs = proofs.entry(key).or_default(); for (path, node) in &nodes { if key.starts_with(path) { - current_key_proofs.push((path.clone(), node.clone().into())); + current_key_proofs.push((*path, node.clone().into())); } } - current_key_proofs.sort_by_key(|(p, _)| p.clone()); - current_key_proofs.dedup_by_key(|(p, _)| p.clone()); + current_key_proofs.sort_by_key(|(p, _)| *p); + current_key_proofs.dedup_by_key(|(p, _)| *p); } for (path, proof) in proofs { proof_store.add_proof(path, proof).unwrap(); diff --git a/crates/eth-sparse-mpt/benches/trie_example_bench.rs b/crates/eth-sparse-mpt/benches/trie_example_bench.rs index 518b27348..261bad8aa 100644 --- a/crates/eth-sparse-mpt/benches/trie_example_bench.rs +++ b/crates/eth-sparse-mpt/benches/trie_example_bench.rs @@ -11,7 +11,7 @@ fn main() { let mut examples = Vec::new(); for i in 0..7 { - let dir: PathBuf = format!("./test_data/prepared_tries/example{}/", i) + let dir: PathBuf = format!("./test_data/prepared_tries/example{i}/") .parse() .unwrap(); diff --git a/crates/eth-sparse-mpt/benches/trie_insert_bench.rs b/crates/eth-sparse-mpt/benches/trie_insert_bench.rs index 28c43087e..6ba2b9aa3 100644 --- a/crates/eth-sparse-mpt/benches/trie_insert_bench.rs +++ b/crates/eth-sparse-mpt/benches/trie_insert_bench.rs @@ -118,8 +118,8 @@ fn gather_nodes(c: &mut Criterion) { .into_iter() .flat_map(|mp| mp.account_subtree.into_iter().collect::>()) .collect(); - account_proof.sort_by_key(|(p, _)| p.clone()); - account_proof.dedup_by_key(|(p, _)| p.clone()); + account_proof.sort_by_key(|(p, _)| *p); + account_proof.dedup_by_key(|(p, _)| *p); account_proof }; diff --git a/crates/eth-sparse-mpt/benches/trie_nodes_benches.rs b/crates/eth-sparse-mpt/benches/trie_nodes_benches.rs index 688f7bca0..732f3d34e 100644 --- a/crates/eth-sparse-mpt/benches/trie_nodes_benches.rs +++ b/crates/eth-sparse-mpt/benches/trie_nodes_benches.rs @@ -43,18 +43,18 @@ fn add_elements_only_neo_sparse_trie_insert_and_hash(keys: &[Bytes], values: &[B fn ptr_trie_insert_only(c: &mut Criterion) { let (keys, values) = prepare_key_value_data(TRIE_SIZE); - c.bench_function(&format!("ptr_trie_insert_only_{}", TRIE_SIZE), |b| { + c.bench_function(&format!("ptr_trie_insert_only_{TRIE_SIZE}"), |b| { b.iter(|| add_elements_only_neo_sparse_trie(&keys, &values)) }); } fn ptr_trie_insert_and_hash(c: &mut Criterion) { let (keys, values) = prepare_key_value_data(TRIE_SIZE); - c.bench_function(&format!("ptr_trie_insert_and_hash_{}", TRIE_SIZE), |b| { + c.bench_function(&format!("ptr_trie_insert_and_hash_{TRIE_SIZE}"), |b| { b.iter(|| add_elements_only_neo_sparse_trie_insert_and_hash(&keys, &values)) }); c.bench_function( - &format!("reference_trie_insert_and_hash_{}", TRIE_SIZE), + &format!("reference_trie_insert_and_hash_{TRIE_SIZE}"), |b| b.iter(|| add_elements_bytes(&keys, &values)), ); } @@ -67,7 +67,7 @@ fn hashing(c: &mut Criterion) { let mut hash_cache = HashMap::default(); - c.bench_function(&format!("hashing_{}_elements", TRIE_SIZE), |b| { + c.bench_function(&format!("hashing_{TRIE_SIZE}_elements"), |b| { b.iter(|| { for d in data.iter() { let hash = keccak256(d); @@ -76,7 +76,7 @@ fn hashing(c: &mut Criterion) { }) }); - c.bench_function(&format!("hashing_{}_elements_with_cache", TRIE_SIZE), |b| { + c.bench_function(&format!("hashing_{TRIE_SIZE}_elements_with_cache"), |b| { b.iter(|| { for d in data.iter() { let hash = hash_cache.entry(d).or_insert_with(|| keccak256(d)); @@ -93,7 +93,7 @@ fn cloning(c: &mut Criterion) { } c.bench_function( - &format!("cloning_{}_branch_node_size_elements", TRIE_SIZE), + &format!("cloning_{TRIE_SIZE}_branch_node_size_elements"), |b| { b.iter(|| { black_box(data.clone()); @@ -102,7 +102,7 @@ fn cloning(c: &mut Criterion) { ); c.bench_function( - &format!("hashing_{}_branch_node_size_elements", TRIE_SIZE), + &format!("hashing_{TRIE_SIZE}_branch_node_size_elements"), |b| { let mut buff = Vec::new(); b.iter(|| { diff --git a/crates/eth-sparse-mpt/src/lib.rs b/crates/eth-sparse-mpt/src/lib.rs index dba05856b..e12213f02 100644 --- a/crates/eth-sparse-mpt/src/lib.rs +++ b/crates/eth-sparse-mpt/src/lib.rs @@ -49,7 +49,7 @@ impl RootHashThreadPool { pub fn try_new(threads: usize) -> Result { let rayon_pool = rayon::ThreadPoolBuilder::new() .num_threads(threads) - .thread_name(|idx| format!("sparse_mpt:{}", idx)) + .thread_name(|idx| format!("sparse_mpt:{idx}")) .build()?; Ok(RootHashThreadPool { rayon_pool: Arc::new(rayon_pool), diff --git a/crates/eth-sparse-mpt/src/utils.rs b/crates/eth-sparse-mpt/src/utils.rs index e14372553..6b9125dba 100644 --- a/crates/eth-sparse-mpt/src/utils.rs +++ b/crates/eth-sparse-mpt/src/utils.rs @@ -31,25 +31,24 @@ 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); + let mut result = Nibbles::new(); + result.extend(p1); result.extend_from_slice_unchecked(p2); result } pub fn strip_first_nibble_mut(p: &mut Nibbles) -> u8 { - let nibble = p[0]; - let vec = p.as_mut_vec_unchecked(); - vec.remove(0); + let nibble = p.first().unwrap(); + *p = p.slice(1..); nibble } #[inline] pub fn extract_prefix_and_suffix(p1: &Nibbles, p2: &Nibbles) -> (Nibbles, Nibbles, Nibbles) { 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 = p1.slice(..prefix_len); + let suffix1 = p1.slice(prefix_len..); + let suffix2 = p2.slice(prefix_len..); (prefix, suffix1, suffix2) } 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 2c2b86a98..2b002135e 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 @@ -147,11 +147,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 18c0d9ba8..f29fe087a 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 @@ -107,11 +107,11 @@ where } } -fn pad_path(mut path: Nibbles) -> B256 { - path.as_mut_vec_unchecked().resize(64, 0); - let mut res = B256::default(); - path.pack_to(res.as_mut_slice()); - res +#[inline] +fn pad_path(path: &Nibbles) -> B256 { + let mut padded = path.pack(); + padded.resize(32, 0); + B256::from_slice(&padded) } fn get_proof_targets(missing_nodes: MissingNodes) -> (Vec, HashSet) { @@ -122,7 +122,7 @@ fn get_proof_targets(missing_nodes: MissingNodes) -> (Vec, Ha let mut all_requested_accounts = HashSet::default(); for account_trie_node in missing_nodes.account_trie_nodes { let is_address = account_trie_node.len() == 64; - let hashed_address = pad_path(account_trie_node); + let hashed_address = pad_path(&account_trie_node); if is_address { all_requested_accounts.insert(hashed_address); } @@ -133,7 +133,7 @@ fn get_proof_targets(missing_nodes: MissingNodes) -> (Vec, Ha all_requested_accounts.insert(hashed_address); let storage_targets = targets.entry(hashed_address).or_default(); for node in missing_storage_nodes { - let node = pad_path(node); + let node = pad_path(&node); storage_targets.insert(node); } } @@ -166,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); } } @@ -196,7 +196,7 @@ fn convert_reth_multiproof( for (k, v) in reth_proof.account_subtree.into_inner() { 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) { @@ -210,7 +210,7 @@ fn convert_reth_multiproof( for (k, v) in reth_storage_proof.subtree.into_inner() { 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 8de1b853c..dd8bfef8d 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 @@ -1,7 +1,7 @@ -use crate::utils::{extract_prefix_and_suffix, rlp_pointer, strip_first_nibble_mut, HashMap}; +use crate::utils::{extract_prefix_and_suffix, rlp_pointer, HashMap}; use alloy_primitives::{keccak256, Bytes, B256}; +use alloy_trie::Nibbles; use parking_lot::Mutex; -use reth_trie::Nibbles; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, Seq}; @@ -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::new(); Self { current_node: head, current_path, @@ -75,19 +75,19 @@ impl NodeCursor { pub fn step_into_extension(&mut self, ext: &DiffExtensionNode) { let len = ext.key().len(); - self.current_path - .extend_from_slice_unchecked(&self.path_left[..len]); - self.path_left.as_mut_vec_unchecked().drain(..len); + self.current_path.extend(&self.path_left.slice(..len)); + self.path_left = self.path_left.slice(len..); self.current_node = ext.child.ptr(); } pub fn next_nibble(&self) -> u8 { - self.path_left.first().unwrap() + self.path_left.get_unchecked(0) } pub fn step_into_branch(&mut self, branch: &DiffBranchNode) -> u8 { - let nibble = strip_first_nibble_mut(&mut self.path_left); - self.current_path.push_unchecked(nibble); + let nibble = self.path_left.get_unchecked(0); + self.path_left = self.path_left.slice(1..); + self.current_path.push(nibble); self.current_node = branch .get_diff_child(nibble) .map(|c| c.ptr()) @@ -101,10 +101,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 { @@ -135,13 +134,13 @@ impl DiffTrie { break; } - let (pref, mut suff1, mut suff2) = - extract_prefix_and_suffix(&c.path_left, leaf.key()); + let (pref, suff1, suff2) = extract_prefix_and_suffix(&c.path_left, leaf.key()); assert!(suff1.len() == suff2.len() && !suff1.is_empty(), "inserting into the leaf using different key lengths (key lengths must be constant)"); - let n1 = strip_first_nibble_mut(&mut suff1); - let n2 = strip_first_nibble_mut(&mut suff2); - let (key1, key2) = (suff1, suff2); + let n1 = suff1.get_unchecked(0); + let key1 = suff1.slice(1..); + let n2 = suff2.get_unchecked(0); + let key2 = suff2.slice(1..); let leaf1_ptr = get_new_ptr(&mut self.ptrs); let leaf2_ptr = get_new_ptr(&mut self.ptrs); @@ -180,7 +179,7 @@ impl DiffTrie { continue; } - let (pref, mut suff1, mut suff2) = + let (pref, suff1, suff2) = extract_prefix_and_suffix(&c.path_left, extension.key()); assert!( !suff2.is_empty(), @@ -191,9 +190,10 @@ impl DiffTrie { "trying to insert value into the branch node (key lengths must be constant)" ); - let n1 = strip_first_nibble_mut(&mut suff1); - let n2 = strip_first_nibble_mut(&mut suff2); - let (key1, key2) = (suff1, suff2); + let n1 = suff1.get_unchecked(0); + let key1 = suff1.slice(1..); + let n2 = suff2.get_unchecked(0); + let key2 = suff2.slice(1..); let leaf_ptr = get_new_ptr(&mut self.ptrs); new_nodes.reserve(3); @@ -238,13 +238,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,9 +310,9 @@ impl DiffTrie { return Err(DeletionError::KeyNotFound); } - let child = branch.get_diff_child_mut(n).ok_or_else(|| { + let child = branch.get_diff_child_mut(n).ok_or({ DeletionError::NodeNotFound(ErrSparseNodeNotFound { - path: c.current_path.clone(), + path: c.current_path, ptr: u64::MAX, }) })?; @@ -332,9 +329,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() { - *l = other_child_nibble; + let mut other_child_path = c.current_path; + if !other_child_path.is_empty() { + let mut path_slice = + other_child_path.slice(..other_child_path.len() - 1); + path_slice.push(other_child_nibble); + other_child_path = path_slice; } return Err(DeletionError::NodeNotFound(ErrSparseNodeNotFound { path: other_child_path, @@ -428,9 +428,9 @@ 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(); + let mut new_leaf_key = *ext_above.key(); new_leaf_key.push(*child_nibble); - new_leaf_key.extend_from_slice_unchecked(leaf_below.key()); + new_leaf_key.extend(leaf_below.key()); let mut new_leaf = leaf_below; new_leaf.changed_key = Some(new_leaf_key); @@ -441,9 +441,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 new_key = *ext_above.key(); + new_key.push(*child_nibble); + new_key.extend(ext_below.key()); + ext_above.changed_key = Some(new_key); ext_above.child = ext_below.child.clone(); } @@ -453,7 +454,9 @@ impl DiffTrie { ) => { // we consume remove child nibble into extension node and reinsert branch into the trie // but with a different path - ext_above.key_mut().push(*child_nibble); + let mut new_key = *ext_above.key(); + new_key.push(*child_nibble); + ext_above.changed_key = Some(new_key); let new_branch_ptr = get_new_ptr(&mut self.ptrs); ext_above.child = DiffChildPtr::new(new_branch_ptr); @@ -469,10 +472,10 @@ 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 new_key = Nibbles::new(); + new_key.push(*child_nibble); + new_key.extend(leaf_below.key()); + leaf_below.changed_key = Some(new_key); let new_leaf_ptr = get_new_ptr(&mut self.ptrs); let new_child = DiffTrieNode { @@ -491,10 +494,10 @@ 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 new_key = Nibbles::new(); + new_key.push(*child_nibble); + new_key.extend(ext_below.key()); + ext_below.changed_key = Some(new_key); let new_child_ptr = get_new_ptr(&mut self.ptrs); let new_child = DiffTrieNode { kind: DiffTrieNodeKind::Extension(ext_below), @@ -563,13 +566,17 @@ 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 new_key = Nibbles::new(); + new_key.push(child_nibble); + new_key.extend(leaf.key()); + leaf.changed_key = Some(new_key); child_below.rlp_pointer = None; } DiffTrieNodeKind::Extension(ext) => { - ext.key_mut().as_mut_vec_unchecked().insert(0, child_nibble); + let mut new_key = Nibbles::new(); + new_key.push(child_nibble); + new_key.extend(ext.key()); + ext.changed_key = Some(new_key); 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 97e6c7886..4c0097ea8 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 dacfbbda2..3a3c3861f 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 @@ -28,15 +28,13 @@ fn compare_impls_with_hashing(data: Vec<(Bytes, Bytes)>, insert_hashing: bool) { let got = trie.root_hash().expect("hashing failed"); assert_eq!( got, expected, - "comparing hashing, insert_hashing: {}", - insert_hashing + "comparing hashing, insert_hashing: {insert_hashing}" ); let got_parallel = trie.root_hash_parallel().expect("hashing failed"); assert_eq!( got_parallel, expected, - "comparing parallel hashing, insert_hashing: {}", - insert_hashing + "comparing parallel hashing, insert_hashing: {insert_hashing}" ); } @@ -216,15 +214,13 @@ fn compare_with_removals_with_hashing( let hash = trie.root_hash().expect("must hash"); assert_eq!( hash, reference_hash, - "comparing hashing, insert_hashing: {}", - insert_hashing + "comparing hashing, insert_hashing: {insert_hashing}" ); let parallel_hash = trie.root_hash_parallel().expect("must hash"); assert_eq!( parallel_hash, reference_hash, - "comparing parallel hashing, insert_hashing: {}", - insert_hashing + "comparing parallel hashing, insert_hashing: {insert_hashing}" ); Ok(()) @@ -261,15 +257,13 @@ fn compare_with_removals_sparse( let hash = gathered_trie.root_hash().expect("must hash"); assert_eq!( hash, reference_hash, - "comparing sparse removals, insert_hashing: {}", - insert_hashing + "comparing sparse removals, insert_hashing: {insert_hashing}" ); let parallel_hash = gathered_trie.root_hash_parallel().expect("must hash"); assert_eq!( parallel_hash, reference_hash, - "comparing sparse removals parallel hashing, insert_hashing: {}", - insert_hashing + "comparing sparse removals parallel hashing, insert_hashing: {insert_hashing}" ); Ok(()) @@ -523,7 +517,7 @@ fn known_failure_case_0() { if prev_value.is_none() { prev_value = Some(hash); } else { - assert_eq!(prev_value, Some(hash), "seed:{}", i); + assert_eq!(prev_value, Some(hash), "seed:{i}"); } } } 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 ed57c1f31..36c2f53d1 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 @@ -5,14 +5,12 @@ use alloy_trie::nodes::{ BranchNode as AlloyBranchNode, ExtensionNode as AlloyExtensionNode, LeafNode as AlloyLeafNode, TrieNode as AlloyTrieNode, }; -use reth_trie::Nibbles; +use alloy_trie::Nibbles; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, Seq}; use smallvec::SmallVec; use std::{cmp::max, sync::Arc}; -use crate::utils::strip_first_nibble_mut; - use super::{ get_new_ptr, DiffBranchNode, DiffChildPtr, DiffExtensionNode, DiffLeafNode, DiffTrie, DiffTrieNode, DiffTrieNodeKind, NodeCursor, @@ -167,12 +165,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 +259,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 +284,8 @@ 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); + current_path.extend(&path_left.slice(..len)); + path_left = path_left.slice(len..); if path_left.is_empty() { break; @@ -302,7 +300,8 @@ impl FixedTrie { if path_left.is_empty() { return Err(AddNodeError::InvalidInput); } - let nibble = strip_first_nibble_mut(&mut path_left); + let nibble = path_left.get_unchecked(0); + path_left = path_left.slice(1..); parent = Some(current_node); parent_child_idx = Some(nibble); @@ -311,7 +310,7 @@ impl FixedTrie { break; } - current_path.push_unchecked(nibble); + current_path.push(nibble); current_node = get_child_ptr(child_ptrs, nibble).ok_or(AddNodeError::InvalidInput)?; } @@ -455,11 +454,12 @@ 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 = c.current_path; + if !path.is_empty() { + let mut path_slice = path.slice(..path.len() - 1); + path_slice.push(orphan_nibble); + path = path_slice; + } missing_nodes.push(path); } } @@ -498,8 +498,8 @@ mod tests { .into_iter() .flat_map(|mp| mp.account_subtree.into_iter().collect::>()) .collect(); - account_proof.sort_by_key(|(p, _)| p.clone()); - account_proof.dedup_by_key(|(p, _)| p.clone()); + account_proof.sort_by_key(|(p, _)| *p); + account_proof.dedup_by_key(|(p, _)| *p); account_proof }; diff --git a/crates/eth-sparse-mpt/src/v2/fetch.rs b/crates/eth-sparse-mpt/src/v2/fetch.rs index 555084dd3..bbcc95b5b 100644 --- a/crates/eth-sparse-mpt/src/v2/fetch.rs +++ b/crates/eth-sparse-mpt/src/v2/fetch.rs @@ -36,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); } @@ -138,9 +138,9 @@ impl MissingNodesFetcher { } } -fn pad_path(mut path: Nibbles) -> B256 { - path.as_mut_vec_unchecked().resize(64, 0); - let mut res = B256::default(); - path.pack_to(res.as_mut_slice()); - res +#[inline] +fn pad_path(path: &Nibbles) -> B256 { + let mut padded = path.pack(); + padded.resize(32, 0); + B256::from_slice(&padded) } diff --git a/crates/eth-sparse-mpt/src/v2/mod.rs b/crates/eth-sparse-mpt/src/v2/mod.rs index 4ff79dbe7..0b5081ec0 100644 --- a/crates/eth-sparse-mpt/src/v2/mod.rs +++ b/crates/eth-sparse-mpt/src/v2/mod.rs @@ -385,7 +385,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() { @@ -405,7 +405,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); } } }); @@ -488,7 +488,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, }, ); @@ -513,7 +513,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), }, ); @@ -579,7 +579,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); } } @@ -673,7 +673,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); @@ -757,7 +757,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, }, ); @@ -782,7 +782,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), }, ); @@ -817,9 +817,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 80a7b91f8..30de2d13e 100644 --- a/crates/eth-sparse-mpt/src/v2/trie/mod.rs +++ b/crates/eth-sparse-mpt/src/v2/trie/mod.rs @@ -2,10 +2,10 @@ use std::ops::Range; use alloy_primitives::{keccak256, B256}; use alloy_rlp::EMPTY_STRING_CODE; +use alloy_trie::Nibbles; use arrayvec::ArrayVec; use proof_store::ProofNode; use proof_store::ProofStore; -use reth_trie::Nibbles; pub mod proof_store; @@ -38,7 +38,7 @@ impl NodePtr { fn expect_local(&self, msg: &str) -> usize { match self { NodePtr::Local(idx) => *idx, - NodePtr::Remote(_) => panic!("eth-sparse-mpt expect local node: {}", msg), + NodePtr::Remote(_) => panic!("eth-sparse-mpt expect local node: {msg}"), } } } @@ -125,7 +125,7 @@ impl Trie { fn insert_value(&mut self, insert_value: InsertValue<'_>) -> Range { match insert_value { InsertValue::Value(slice) => self.copy_value(slice), - InsertValue::StoredValue(range) => range.clone(), + InsertValue::StoredValue(range) => range, } } @@ -187,8 +187,6 @@ impl Trie { nibbles_key: &Nibbles, insert_value: InsertValue<'_>, ) -> Result>, NodeNotFound> { - let ins_key = nibbles_key.as_slice(); - let mut current_node = 0; let mut path_walked = 0; @@ -198,21 +196,21 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + .ok_or(NodeNotFound(*nibbles_key))? + .clone(); self.hashed_nodes[current_node] = false; - match node { + match &node { DiffTrieNode::Branch { children } => { let children = *children; - let n = ins_key[path_walked] as usize; + let n = nibbles_key.get_unchecked(path_walked) as usize; path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n] { - current_node = child_ptr - .local_ptr() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = child_ptr.local_ptr().ok_or(NodeNotFound(*nibbles_key))?; continue; } else { - let new_leaf_key = self.insert_key(&ins_key[path_walked..]); + let new_leaf_key = + self.insert_key(&nibbles_key.slice(path_walked..).to_vec()); let leaf_value = self.insert_value(insert_value); let leaf_ptr = self.push_node(DiffTrieNode::Leaf { key: new_leaf_key, @@ -225,16 +223,18 @@ impl Trie { let key = key.clone(); let next_node = *next_node; - if ins_key[path_walked..].starts_with(&self.keys[key.clone()]) { + if nibbles_key + .slice(path_walked..) + .starts_with(&Nibbles::from_nibbles_unchecked(&self.keys[key.clone()])) + { path_walked += key.len(); - current_node = next_node - .local_ptr() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = next_node.local_ptr().ok_or(NodeNotFound(*nibbles_key))?; continue; } + let key_slice = nibbles_key.slice(path_walked..).to_vec(); let (prefix, n1, suff1, n2, suff2) = - self.extract_prefix_and_suffix(&ins_key[path_walked..], key); + self.extract_prefix_and_suffix(&key_slice, key.clone()); let has_extension_node = !prefix.is_empty(); if has_extension_node { @@ -280,7 +280,7 @@ impl Trie { let key = key.clone(); let value = value.clone(); - if self.keys[key.clone()] == ins_key[path_walked..] { + if self.keys[key.clone()] == nibbles_key.slice(path_walked..).to_vec() { // update leaf in place old_value = Some(value.clone()); let new_value = self.insert_value(insert_value); @@ -291,8 +291,9 @@ impl Trie { break; } + let key_slice = nibbles_key.slice(path_walked..).to_vec(); let (prefix, n1, suff1, n2, suff2) = - self.extract_prefix_and_suffix(&ins_key[path_walked..], key); + self.extract_prefix_and_suffix(&key_slice, key.clone()); let has_extension_node = !prefix.is_empty(); if has_extension_node { @@ -325,14 +326,14 @@ impl Trie { let second_leaf_value = value; let second_leaf_ptr = self.push_node(DiffTrieNode::Leaf { key: second_leaf_key, - value: second_leaf_value, + value: second_leaf_value.clone(), }); self.branch_node_children[branch_children][n1 as usize] = Some(first_leaf_ptr); self.branch_node_children[branch_children][n2 as usize] = Some(second_leaf_ptr); } DiffTrieNode::Null => { - let new_leaf_key = self.insert_key(&ins_key[path_walked..]); + let new_leaf_key = self.insert_key(&nibbles_key.slice(path_walked..).to_vec()); let new_leaf_value = self.insert_value(insert_value); self.nodes[current_node] = DiffTrieNode::Leaf { key: new_leaf_key, @@ -365,8 +366,6 @@ impl Trie { &mut self, nibbles_key: &Nibbles, ) -> Result, DeletionError> { - let del_key = nibbles_key.as_slice(); - let mut current_node = 0; let mut path_walked = 0; @@ -378,25 +377,24 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + .ok_or(NodeNotFound(*nibbles_key))? + .clone(); self.hashed_nodes[current_node] = false; - match node { + match &node { DiffTrieNode::Branch { children } => { // deleting from branch, key not found - if del_key.len() == path_walked { + if nibbles_key.len() == path_walked { return Err(DeletionError::KeyNotFound); } let children = *children; - let n = del_key[path_walked]; + let n = nibbles_key.get_unchecked(path_walked); self.walk_path.push((current_node, n)); path_walked += 1; if let Some(child_ptr) = self.branch_node_children[children][n as usize] { - current_node = child_ptr - .local_ptr() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = child_ptr.local_ptr().ok_or(NodeNotFound(*nibbles_key))?; if self.branch_node_children[children] .iter() .filter(|c| c.is_some()) @@ -411,10 +409,9 @@ 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); + let mut orphan_path = Nibbles::new(); + orphan_path.extend(&nibbles_key.slice(..(path_walked - 1))); + orphan_path.push(orphan_nibble as u8); return Err(NodeNotFound(orphan_path).into()); } } @@ -427,19 +424,20 @@ impl Trie { let key = key.clone(); let next_node = *next_node; - if del_key[path_walked..].starts_with(&self.keys[key.clone()]) { + if nibbles_key + .slice(path_walked..) + .starts_with(&Nibbles::from_nibbles_unchecked(&self.keys[key.clone()])) + { self.walk_path.push((current_node, 0)); path_walked += key.len(); - current_node = next_node - .local_ptr() - .ok_or_else(|| NodeNotFound(nibbles_key.clone()))?; + current_node = next_node.local_ptr().ok_or(NodeNotFound(*nibbles_key))?; continue; } return Err(DeletionError::KeyNotFound); } DiffTrieNode::Leaf { key, value } => { - if self.keys[key.clone()] == del_key[path_walked..] { + if self.keys[key.clone()] == nibbles_key.slice(path_walked..).to_vec() { old_value = value.clone(); self.walk_path.push((current_node, 0)); break; @@ -575,7 +573,8 @@ impl Trie { ) => { // parent branch starts to point to orphan leaf // orphan leaf eats nibble - let new_leaf_key = self.merge_keys(0..0, orphan_nibble, orphan_key); + let new_leaf_key = + self.merge_keys(0..0, orphan_nibble, orphan_key.clone()); self.nodes[orphan_ptr_idx] = DiffTrieNode::Leaf { key: new_leaf_key, value, @@ -595,7 +594,8 @@ impl Trie { ) => { // parent branch points to the orphan extension // orphan extension eats nibble - let new_ext_key = self.merge_keys(0..0, orphan_nibble, orphan_key); + let new_ext_key = + self.merge_keys(0..0, orphan_nibble, orphan_key.clone()); self.nodes[orphan_ptr_idx] = DiffTrieNode::Extension { key: new_ext_key, next_node, @@ -693,13 +693,12 @@ impl Trie { let node = self .nodes .get(node_idx) - .expect("rlp_encode_node: node not found") - .clone(); + .expect("rlp_encode_node: node not found"); match node { DiffTrieNode::Branch { children } => { let remote_nodes = proof_store.rlp_ptrs(); let mut children_rlp_ptrs: [Option<&[u8]>; 16] = Default::default(); - for (nibble, child) in self.branch_node_children[children].iter().enumerate() { + for (nibble, child) in self.branch_node_children[*children].iter().enumerate() { match child { Some(NodePtr::Local(idx)) => { debug_assert!(self.hashed_nodes[*idx]); @@ -716,22 +715,22 @@ impl Trie { DiffTrieNode::Extension { key, next_node } => { let remote_nodes; - let key = Nibbles::from_nibbles_unchecked(&self.keys[key]); + let key = Nibbles::from_nibbles_unchecked(&self.keys[key.clone()]); let child_rlp_ptr = match next_node { NodePtr::Local(idx) => { - debug_assert!(self.hashed_nodes[idx]); - self.rlp_ptrs_local[idx].as_slice() + debug_assert!(self.hashed_nodes[*idx]); + self.rlp_ptrs_local[*idx].as_slice() } NodePtr::Remote(idx) => { remote_nodes = proof_store.rlp_ptrs(); - remote_nodes[idx].as_slice() + remote_nodes[*idx].as_slice() } }; encode_extension(&key, child_rlp_ptr, rlp); } DiffTrieNode::Leaf { key, value } => { - let key = Nibbles::from_nibbles_unchecked(&self.keys[key]); - encode_leaf(&key, &self.values[value], rlp); + let key = Nibbles::from_nibbles_unchecked(&self.keys[key.clone()]); + encode_leaf(&key, &self.values[value.clone()], rlp); } DiffTrieNode::Null => { rlp.push(EMPTY_STRING_CODE); @@ -844,19 +843,18 @@ impl Trie { let node = self .nodes .get(node_idx) - .expect("print_node: node not found") - .clone(); + .expect("print_node: node not found"); let h = alloy_primitives::hex::encode; match node { DiffTrieNode::Branch { children } => { - println!("{} Branch", node_idx); + println!("{node_idx} Branch"); println!("{}", h(self.rlp_ptrs_local[node_idx].as_slice())); - for (idx, child) in self.branch_node_children[children].into_iter().enumerate() { + for (idx, child) in self.branch_node_children[*children].into_iter().enumerate() { if child.is_some() { - println!(" {} -> {:?}", idx, child); + println!(" {idx} -> {child:?}"); } } - for child in self.branch_node_children[children].into_iter().flatten() { + for child in self.branch_node_children[*children].into_iter().flatten() { if let NodePtr::Local(idx) = child { self.debug_print_node(idx); } @@ -866,25 +864,25 @@ impl Trie { println!( "{} Extension {:?} -> {:?}", node_idx, - h(&self.keys[key]), + h(&self.keys[key.clone()]), next_node ); println!("{}", h(self.rlp_ptrs_local[node_idx].as_slice())); if let NodePtr::Local(idx) = next_node { - self.debug_print_node(idx); + self.debug_print_node(*idx); } } DiffTrieNode::Leaf { key, value } => { println!( "{} Leaf {:?} : {:?}", node_idx, - h(&self.keys[key]), - h(&self.values[value]) + h(&self.keys[key.clone()]), + h(&self.values[value.clone()]) ); println!("{}", h(self.rlp_ptrs_local[node_idx].as_slice())); } DiffTrieNode::Null => { - println!("{} Null", node_idx); + println!("{node_idx} Null"); println!("{}", h(self.rlp_ptrs_local[node_idx].as_slice())); } } @@ -941,13 +939,13 @@ impl Trie { } ProofNode::Extension { key, child } => { let key = &proof_store.keys_guard()[*key]; - let key = self.insert_key(key); + let key = self.insert_key(&key.to_vec()); 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 key = self.insert_key(&key.to_vec()); let value = &proof_store.values_guard()[*value]; let value = self.copy_value(value); self.push_node(DiffTrieNode::Leaf { key, value }); @@ -969,42 +967,45 @@ impl Trie { let node = self .nodes .get(current_node) - .ok_or_else(|| NodeNotFound::new(&path[..path_walked]))?; + .ok_or_else(|| NodeNotFound::new(&path.slice(..path_walked).to_vec()))?; match node { DiffTrieNode::Branch { children } => { let children = *children; - let n = path[path_walked] as usize; + let n = path.get_unchecked(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; } if let Some(child_ptr) = self.branch_node_children[children][n] { - current_node = child_ptr - .local_ptr() - .ok_or_else(|| NodeNotFound::new(&path[..path_walked]))?; + current_node = child_ptr.local_ptr().ok_or_else(|| { + NodeNotFound::new(&path.slice(..path_walked).to_vec()) + })?; continue; } else { - return Err(NodeNotFound::new(&path[..path_walked])); + return Err(NodeNotFound::new(&path.slice(..path_walked).to_vec())); } } 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(&Nibbles::from_nibbles_unchecked(&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.local_ptr().ok_or_else(|| { - NodeNotFound(Nibbles::from_nibbles_unchecked(&path[..path_walked])) - })?; + current_node = next_node + .local_ptr() + .ok_or_else(|| NodeNotFound(path.slice(..path_walked)))?; continue; } } @@ -1027,14 +1028,14 @@ 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 key = self.insert_key(&key.to_vec()); 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 key = self.insert_key(&key.to_vec()); let next_node = NodePtr::Remote(*child); self.push_node(DiffTrieNode::Extension { key, next_node }) } diff --git a/crates/eth-sparse-mpt/test_data/failure_case_0.json.gz b/crates/eth-sparse-mpt/test_data/failure_case_0.json.gz index b4b6ed500..b04a013a6 100644 Binary files a/crates/eth-sparse-mpt/test_data/failure_case_0.json.gz and b/crates/eth-sparse-mpt/test_data/failure_case_0.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/multiproof_0.json.gz b/crates/eth-sparse-mpt/test_data/multiproof_0.json.gz index c344528eb..6a8c3a547 100644 Binary files a/crates/eth-sparse-mpt/test_data/multiproof_0.json.gz and b/crates/eth-sparse-mpt/test_data/multiproof_0.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/multiproof_1.json.gz b/crates/eth-sparse-mpt/test_data/multiproof_1.json.gz index edb9d658f..c1abc7fa8 100644 Binary files a/crates/eth-sparse-mpt/test_data/multiproof_1.json.gz and b/crates/eth-sparse-mpt/test_data/multiproof_1.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example0/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example0/change_set.json.gz index da75418cc..592b42ea8 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example0/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example0/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example0/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example0/tries.json.gz index 9ee812ec7..6779e8361 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example0/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example0/tries.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example1/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example1/change_set.json.gz index a80de5af7..aa281c132 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example1/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example1/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example1/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example1/tries.json.gz index edc5fd6b4..d144fe9cc 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example1/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example1/tries.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example2/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example2/change_set.json.gz index 3dec8065c..3ab586aa6 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example2/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example2/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example2/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example2/tries.json.gz index 1ef8f8450..ae8663bb4 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example2/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example2/tries.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example3/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example3/change_set.json.gz index d286b1fe8..82d91c1b5 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example3/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example3/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example3/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example3/tries.json.gz index d3d4668fc..0c1375300 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example3/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example3/tries.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example4/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example4/change_set.json.gz index a906d7a7a..22d892120 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example4/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example4/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example4/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example4/tries.json.gz index 8f5666964..daee49d02 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example4/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example4/tries.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example5/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example5/change_set.json.gz index d2823fce6..e086b498e 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example5/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example5/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example5/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example5/tries.json.gz index 391435e91..f2ffcde0e 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example5/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example5/tries.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example6/change_set.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example6/change_set.json.gz index 0692b5f8e..d2873ac75 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example6/change_set.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example6/change_set.json.gz differ diff --git a/crates/eth-sparse-mpt/test_data/prepared_tries/example6/tries.json.gz b/crates/eth-sparse-mpt/test_data/prepared_tries/example6/tries.json.gz index d76838fe9..a6eaeebe2 100644 Binary files a/crates/eth-sparse-mpt/test_data/prepared_tries/example6/tries.json.gz and b/crates/eth-sparse-mpt/test_data/prepared_tries/example6/tries.json.gz differ diff --git a/crates/rbuilder/Cargo.toml b/crates/rbuilder/Cargo.toml index 6b45a4690..0f188d5a9 100644 --- a/crates/rbuilder/Cargo.toml +++ b/crates/rbuilder/Cargo.toml @@ -144,8 +144,6 @@ assert_matches = "1.5.0" criterion = { version = "0.5.1", features = ["html_reports", "async_tokio"] } [features] -# TODO: remove? -optimism = [] redact-sensitive = [] [[bench]] diff --git a/crates/rbuilder/benches/benchmarks/mev_boost.rs b/crates/rbuilder/benches/benchmarks/mev_boost.rs index 25c1059ec..a1ef4ff82 100644 --- a/crates/rbuilder/benches/benchmarks/mev_boost.rs +++ b/crates/rbuilder/benches/benchmarks/mev_boost.rs @@ -10,6 +10,7 @@ use rbuilder::mev_boost::{ use reth::primitives::SealedBlock; use reth_chainspec::SEPOLIA; use reth_primitives::kzg::Blob; +use ssz::Encode; use std::{fs, path::PathBuf, sync::Arc}; fn mev_boost_serialize_submit_block(data: DenebSubmitBlockRequest) { diff --git a/crates/rbuilder/benches/benchmarks/txpool_fetcher.rs b/crates/rbuilder/benches/benchmarks/txpool_fetcher.rs index ab5559fcf..cdff5e6ca 100644 --- a/crates/rbuilder/benches/benchmarks/txpool_fetcher.rs +++ b/crates/rbuilder/benches/benchmarks/txpool_fetcher.rs @@ -32,7 +32,7 @@ async fn txpool_receive_util(count: u32) { let provider = ProviderBuilder::new() .wallet(wallet) - .on_http(anvil.endpoint().parse().unwrap()); + .connect_http(anvil.endpoint().parse().unwrap()); let alice = anvil.addresses()[0]; let eip1559_est = provider.estimate_eip1559_fees().await.unwrap(); diff --git a/crates/rbuilder/src/backtest/backtest_build_range.rs b/crates/rbuilder/src/backtest/backtest_build_range.rs index db9b907d6..9af088ff1 100644 --- a/crates/rbuilder/src/backtest/backtest_build_range.rs +++ b/crates/rbuilder/src/backtest/backtest_build_range.rs @@ -370,9 +370,9 @@ impl CSVResultWriter { let mut line = String::new(); line.push_str("block_number,winning_bid_value,simulated_orders_count"); for builder_name in &self.builder_names { - line.push_str(&format!(",{}", builder_name)); + line.push_str(&format!(",{builder_name}")); } - writeln!(self.file, "{}", line)?; + writeln!(self.file, "{line}")?; self.file.flush() } @@ -393,7 +393,7 @@ impl CSVResultWriter { .unwrap_or_default(); line.push_str(&format!(",{}", format_ether(builder_res))); } - writeln!(self.file, "{}", line)?; + writeln!(self.file, "{line}")?; self.file.flush() } } diff --git a/crates/rbuilder/src/backtest/build_block/backtest_build_block.rs b/crates/rbuilder/src/backtest/build_block/backtest_build_block.rs index 3b02f6d94..cd34bd7d7 100644 --- a/crates/rbuilder/src/backtest/build_block/backtest_build_block.rs +++ b/crates/rbuilder/src/backtest/build_block/backtest_build_block.rs @@ -118,7 +118,7 @@ where }; let build_res = config.build_backtest_block(builder_name, input); if let Err(err) = &build_res { - println!("Error building block: {:?}", err); + println!("Error building block: {err:?}"); return None; } let block = build_res.ok()?; diff --git a/crates/rbuilder/src/backtest/build_block/landed_block_from_db.rs b/crates/rbuilder/src/backtest/build_block/landed_block_from_db.rs index b86c5d53e..d3ab5344b 100644 --- a/crates/rbuilder/src/backtest/build_block/landed_block_from_db.rs +++ b/crates/rbuilder/src/backtest/build_block/landed_block_from_db.rs @@ -265,10 +265,10 @@ fn print_onchain_block_data(tx_sim_results: Vec, block_data: &Block order.error ); for (other, tx) in &order.overlapping_txs { - println!(" overlap with: {:>74} tx {:?}", other, tx); + println!(" overlap with: {other:>74} tx {tx:?}"); } } else { - println!("{:>74} included order not found: ", included_order); + println!("{included_order:>74} included order not found: "); } } } @@ -283,7 +283,7 @@ fn show_missing_txs(block_data: &BlockData) { missing_txs.len() ); for missing_tx in missing_txs.iter() { - println!("Tx: {:?}", missing_tx); + println!("Tx: {missing_tx:?}"); } } let missing_nonce_txs = block_data.search_missing_account_nonce_on_available_orders(); diff --git a/crates/rbuilder/src/backtest/fetch/flashbots_db.rs b/crates/rbuilder/src/backtest/fetch/flashbots_db.rs index 8101c44fd..d998ba30e 100644 --- a/crates/rbuilder/src/backtest/fetch/flashbots_db.rs +++ b/crates/rbuilder/src/backtest/fetch/flashbots_db.rs @@ -76,7 +76,7 @@ impl RelayDB { .map(Bytes::from_str) .collect::, _>>() .wrap_err_with(|| { - format!("Failed to parse txs for bundle {}", bundle_hash) + format!("Failed to parse txs for bundle {bundle_hash}") })?; let reverting_tx_hashes = reverting_tx_hashes .split(',') @@ -84,10 +84,7 @@ impl RelayDB { .map(B256::from_str) .collect::>() .wrap_err_with(|| { - format!( - "Failed to parse reverting tx hashes for bundle {}", - bundle_hash - ) + format!("Failed to parse reverting tx hashes for bundle {bundle_hash}") })?; if txs.is_empty() { @@ -96,7 +93,7 @@ impl RelayDB { let signing_address = if let Some(address) = signing_address { Some(address.parse().wrap_err_with(|| { - format!("Failed to parse signing address for bundle {}", bundle_hash) + format!("Failed to parse signing address for bundle {bundle_hash}") })?) } else { None @@ -122,7 +119,7 @@ impl RelayDB { let order = RawOrder::Bundle(raw_bundle) .decode(TxEncoding::NoBlobData) - .wrap_err_with(|| format!("Failed to parse bundle {}", bundle_hash))?; + .wrap_err_with(|| format!("Failed to parse bundle {bundle_hash}"))?; Ok(OrdersWithTimestamp { timestamp_ms: (inserted_at.unix_timestamp_nanos() / 1_000_000) @@ -196,7 +193,7 @@ impl RelayDB { let hash = (hash.len() == 32).then(|| B256::from_slice(&hash)).ok_or_else(|| eyre::eyre!("Invalid hash length"))?; let mut bundle = serde_json::from_value::(body) .wrap_err_with(|| { - format!("Failed to parse share bundle {:?}", hash) + format!("Failed to parse share bundle {hash:?}") })?; // if it was used by the live builder we are sure that it has correct block range // so we modify it here to correct db overwrites @@ -237,7 +234,7 @@ impl RelayDB { let order: Order = raw_order .decode(TxEncoding::NoBlobData) - .wrap_err_with(|| format!("Failed to parse share bundle: {:?}", hash))?; + .wrap_err_with(|| format!("Failed to parse share bundle: {hash:?}"))?; result.push(OrdersWithTimestamp { timestamp_ms, @@ -253,7 +250,7 @@ impl RelayDB { &self, block_hash: B256, ) -> eyre::Result> { - let block_hash = format!("{:?}", block_hash); + let block_hash = format!("{block_hash:?}"); let mut built_blocks = sqlx::query_as::< _, @@ -357,17 +354,14 @@ impl DataSource for RelayDB { self.get_built_block_data(block_hash) .await .with_context(|| { - format!("Failed to fetch built block data for block {}", block_hash) + format!("Failed to fetch built block data for block {block_hash}") })? } else { None }; Ok(DatasourceData { - orders: bundles - .into_iter() - .chain(share_bundles.into_iter()) - .collect(), + orders: bundles.into_iter().chain(share_bundles).collect(), built_block_data, }) } diff --git a/crates/rbuilder/src/backtest/fetch/mempool.rs b/crates/rbuilder/src/backtest/fetch/mempool.rs index d180f1958..b8b54a7dd 100644 --- a/crates/rbuilder/src/backtest/fetch/mempool.rs +++ b/crates/rbuilder/src/backtest/fetch/mempool.rs @@ -62,7 +62,7 @@ pub fn get_mempool_transactions( } fn path_transactions(data_dir: &Path, day: &str) -> PathBuf { - data_dir.join(format!("transactions/{}.parquet", day)) + data_dir.join(format!("transactions/{day}.parquet")) } /// Downloads missing files to data_dir for the given interval diff --git a/crates/rbuilder/src/backtest/fetch/mod.rs b/crates/rbuilder/src/backtest/fetch/mod.rs index 108e9fb99..e0ac11510 100644 --- a/crates/rbuilder/src/backtest/fetch/mod.rs +++ b/crates/rbuilder/src/backtest/fetch/mod.rs @@ -100,7 +100,7 @@ impl HistoricalDataFetcher { .get_block_by_number(BlockNumberOrTag::Number(block_number)) .full() .await - .wrap_err_with(|| format!("Failed to fetch block {}", block_number))? + .wrap_err_with(|| format!("Failed to fetch block {block_number}"))? .ok_or_else(|| eyre::eyre!("Block {} not found", block_number))?; Ok(block) } diff --git a/crates/rbuilder/src/backtest/restore_landed_orders/find_landed_orders.rs b/crates/rbuilder/src/backtest/restore_landed_orders/find_landed_orders.rs index d7b0fa079..c30bd813d 100644 --- a/crates/rbuilder/src/backtest/restore_landed_orders/find_landed_orders.rs +++ b/crates/rbuilder/src/backtest/restore_landed_orders/find_landed_orders.rs @@ -460,7 +460,7 @@ mod tests { ]; for (idx, (chunk_idx, chunk_txs_block_idx, expected)) in cases.into_iter().enumerate() { let got = find_allowed_range(block_len, chunk_idx, &chunk_txs_block_idx); - assert_eq!(expected, got, "Test index: {}", idx); + assert_eq!(expected, got, "Test index: {idx}"); } } @@ -474,7 +474,7 @@ mod tests { for expected_result in expected { let got_result = got .get(&expected_result.order) - .unwrap_or_else(|| panic!("Order not found: {:?}", expected_result)); + .unwrap_or_else(|| panic!("Order not found: {expected_result:?}")); assert_eq!(expected_result, *got_result); } } diff --git a/crates/rbuilder/src/backtest/store.rs b/crates/rbuilder/src/backtest/store.rs index 61397e17c..873b2e2d9 100644 --- a/crates/rbuilder/src/backtest/store.rs +++ b/crates/rbuilder/src/backtest/store.rs @@ -631,6 +631,7 @@ fn group_rows_into_block_data( } #[derive(Debug, Clone, Serialize, Deserialize)] +#[allow(clippy::large_enum_variant)] pub enum RawReplaceableOrderPoolCommand { /// New or update order Order(RawOrder), diff --git a/crates/rbuilder/src/beacon_api_client/mod.rs b/crates/rbuilder/src/beacon_api_client/mod.rs index 59e3acc96..6fb05c7e7 100644 --- a/crates/rbuilder/src/beacon_api_client/mod.rs +++ b/crates/rbuilder/src/beacon_api_client/mod.rs @@ -85,6 +85,6 @@ mod tests { // validate that the stream is not empty // TODO: add timeout let event = stream.next().await.unwrap().unwrap(); - print!("{:?}", event); + print!("{event:?}"); } } diff --git a/crates/rbuilder/src/bin/misc-relays-slot.rs b/crates/rbuilder/src/bin/misc-relays-slot.rs index d6435d9e0..d161f3a8f 100644 --- a/crates/rbuilder/src/bin/misc-relays-slot.rs +++ b/crates/rbuilder/src/bin/misc-relays-slot.rs @@ -38,11 +38,11 @@ async fn main() -> eyre::Result<()> { println!("block_hash {:?}", payload.block_hash); println!("timestamp_ms {}", payload.timestamp_ms); println!("timestamp {}", payload.timestamp); - println!("timestamp_diff {}", ts_diff); + println!("timestamp_diff {ts_diff}"); println!("num_tx {}", payload.num_tx); println!("gas_used {}", payload.gas_used); println!("builder {:?}", payload.builder_pubkey); - println!("value {}", value); + println!("value {value}"); println!("optimistic {}", payload.optimistic_submission); Ok(()) diff --git a/crates/rbuilder/src/building/builders/block_building_helper.rs b/crates/rbuilder/src/building/builders/block_building_helper.rs index 2dd362a8c..b29d84d29 100644 --- a/crates/rbuilder/src/building/builders/block_building_helper.rs +++ b/crates/rbuilder/src/building/builders/block_building_helper.rs @@ -258,7 +258,7 @@ impl BlockBuildingHelperFromProvider { ); trace!( - block = building_ctx.evm_env.block_env.number, + block = building_ctx.evm_env.block_env.number.to::(), build_time_mus = built_block_trace.fill_time.as_micros(), finalize_time_mus = built_block_trace.finalize_time.as_micros(), root_hash_time_mus = built_block_trace.root_hash_time.as_micros(), diff --git a/crates/rbuilder/src/building/builders/ordering_builder.rs b/crates/rbuilder/src/building/builders/ordering_builder.rs index 20bef0fdb..07eddcc37 100644 --- a/crates/rbuilder/src/building/builders/ordering_builder.rs +++ b/crates/rbuilder/src/building/builders/ordering_builder.rs @@ -163,7 +163,7 @@ where let use_suggested_fee_recipient_as_coinbase = ordering_config.coinbase_payment; let state_provider = input .provider - .history_by_block_number(input.ctx.evm_env.block_env.number - 1)?; + .history_by_block_number(input.ctx.evm_env.block_env.number.to::() - 1)?; let block_orders = block_orders_from_sim_orders::(input.sim_orders, &state_provider)?; let mut local_ctx = ThreadBlockBuildingContext::default(); diff --git a/crates/rbuilder/src/building/cached_reads.rs b/crates/rbuilder/src/building/cached_reads.rs index dac50614b..b8695e279 100644 --- a/crates/rbuilder/src/building/cached_reads.rs +++ b/crates/rbuilder/src/building/cached_reads.rs @@ -59,13 +59,22 @@ pub struct LocalCachedReads { pub storage: HashMap<(Address, U256), U256>, } -#[derive(Debug)] pub struct CachedDB<'a, 'b, DB> { db: DB, local_cache: &'a mut LocalCachedReads, shared_cache: &'b SharedCachedReads, } +// Manual Debug implementation that doesn't require DB to implement Debug (e.g. reth state provider). +impl<'a, 'b, DB> std::fmt::Debug for CachedDB<'a, 'b, DB> { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("CachedDB") + .field("local_cache", &self.local_cache) + .field("shared_cache", &self.shared_cache) + .finish() + } +} + impl<'a, 'b, DB> CachedDB<'a, 'b, DB> { pub fn new( db: DB, diff --git a/crates/rbuilder/src/building/evm.rs b/crates/rbuilder/src/building/evm.rs index f49c15661..dbae86228 100644 --- a/crates/rbuilder/src/building/evm.rs +++ b/crates/rbuilder/src/building/evm.rs @@ -39,13 +39,13 @@ pub trait EvmFactory { Spec = SpecId, > where - DB: Database, + DB: Database + std::fmt::Debug, I: Inspector>; /// Create an EVM instance with default (no-op) inspector. fn create_evm(&self, db: DB, env: EvmEnv) -> Self::Evm where - DB: Database; + DB: Database + std::fmt::Debug; /// Create an EVM instance with a provided inspector. fn create_evm_with_inspector( @@ -55,7 +55,7 @@ pub trait EvmFactory { inspector: I, ) -> Self::Evm where - DB: Database, + DB: Database + std::fmt::Debug, I: Inspector, EthInterpreter>; } @@ -76,12 +76,12 @@ impl EvmFactory for EthCachedEvmFactory { type Evm = EthEvm> where - DB: Database, + DB: Database + std::fmt::Debug, I: Inspector>; fn create_evm(&self, db: DB, env: EvmEnv) -> Self::Evm where - DB: Database, + DB: Database + std::fmt::Debug, { let evm = self .evm_factory @@ -102,7 +102,7 @@ impl EvmFactory for EthCachedEvmFactory { inspector: I, ) -> Self::Evm where - DB: Database, + DB: Database + std::fmt::Debug, I: Inspector, EthInterpreter>, { EthEvm::new( diff --git a/crates/rbuilder/src/building/mod.rs b/crates/rbuilder/src/building/mod.rs index 58019062d..db6e83208 100644 --- a/crates/rbuilder/src/building/mod.rs +++ b/crates/rbuilder/src/building/mod.rs @@ -234,19 +234,23 @@ impl BlockBuildingContext { ) -> BlockBuildingContext { let block_number = onchain_block.header.number; - let blob_excess_gas_and_price = - if chain_spec.is_cancun_active_at_timestamp(onchain_block.header.timestamp) { - Some(BlobExcessGasAndPrice::new( - onchain_block.header.excess_blob_gas.unwrap_or_default(), - chain_spec.is_prague_active_at_timestamp(onchain_block.header.timestamp), - )) - } else { - None - }; + // derive the EIP-4844 blob fees from the header's `excess_blob_gas` and the current + // blob params (see reth: crates/ethereum/evm/src/lib.rs) + let blob_params = chain_spec.blob_params_at_timestamp(onchain_block.header.timestamp); + let blob_excess_gas_and_price = onchain_block.header.excess_blob_gas.zip(blob_params).map( + |(excess_blob_gas, params)| { + let blob_gasprice = params.calc_blob_fee(excess_blob_gas); + BlobExcessGasAndPrice { + excess_blob_gas, + blob_gasprice, + } + }, + ); + let block_env = BlockEnv { - number: block_number, + number: U256::from(block_number), beneficiary, - timestamp: onchain_block.header.timestamp, + timestamp: U256::from(onchain_block.header.timestamp), difficulty: onchain_block.header.difficulty, prevrandao: Some(onchain_block.header.mix_hash), basefee: onchain_block @@ -339,7 +343,7 @@ impl BlockBuildingContext { } pub fn block(&self) -> u64 { - self.evm_env.block_env.number + self.evm_env.block_env.number.to::() } pub fn coinbase_is_suggested_fee_recipient(&self) -> bool { @@ -408,11 +412,11 @@ impl FromStr for Sorting { impl std::fmt::Display for Sorting { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Sorting::MevGasPrice => write!(f, "{}", MEV_GAS_PRICE_NAME), - Sorting::MaxProfit => write!(f, "{}", MAX_PROFIT_NAME), - Sorting::TypeMaxProfit => write!(f, "{}", TYPE_MAX_PROFIT_NAME), - Sorting::LengthThreeMaxProfit => write!(f, "{}", LENGTH_THREE_MAX_PROFIT_NAME), - Sorting::LengthThreeMevGasPrice => write!(f, "{}", LENGTH_THREE_MEV_GAS_PRICE_NAME), + Sorting::MevGasPrice => write!(f, "{MEV_GAS_PRICE_NAME}"), + Sorting::MaxProfit => write!(f, "{MAX_PROFIT_NAME}"), + Sorting::TypeMaxProfit => write!(f, "{TYPE_MAX_PROFIT_NAME}"), + Sorting::LengthThreeMaxProfit => write!(f, "{LENGTH_THREE_MAX_PROFIT_NAME}"), + Sorting::LengthThreeMevGasPrice => write!(f, "{LENGTH_THREE_MEV_GAS_PRICE_NAME}"), } } } @@ -837,7 +841,7 @@ impl PartialBlock { let (bundle, _) = state.into_parts(); // we use execution outcome here only for interface compatibility, its just a wrapper around bundle let execution_outcome = - ExecutionOutcome::new(bundle, Vec::new(), block_number, Vec::new()); + ExecutionOutcome::new(bundle, Vec::new(), block_number.to::(), Vec::new()); ctx.root_hasher.state_root(&execution_outcome, local_ctx)? }; let root_hash_time = step_start.elapsed(); @@ -901,7 +905,7 @@ impl PartialBlock { mix_hash: ctx.attributes.prev_randao, nonce: BEACON_NONCE.into(), base_fee_per_gas: Some(ctx.evm_env.block_env.basefee), - number: block_number, + number: block_number.to::(), gas_limit: ctx.evm_env.block_env.gas_limit, difficulty: U256::ZERO, gas_used: self.gas_used, diff --git a/crates/rbuilder/src/building/order_commit.rs b/crates/rbuilder/src/building/order_commit.rs index b1d909697..a7035e513 100644 --- a/crates/rbuilder/src/building/order_commit.rs +++ b/crates/rbuilder/src/building/order_commit.rs @@ -588,7 +588,7 @@ impl<'a, 'b, 'c, 'd, Tracer: SimulationTracer> PartialBlockFork<'a, 'b, 'c, 'd, allow_tx_skip: bool, combined_refunds: &HashMap, ) -> Result, CriticalCommitOrderError> { - let current_block = self.ctx.evm_env.block_env.number; + let current_block = self.ctx.evm_env.block_env.number.to::(); // None is good for any block if let Some(block) = bundle.block { if block != current_block { @@ -603,7 +603,7 @@ impl<'a, 'b, 'c, 'd, Tracer: SimulationTracer> PartialBlockFork<'a, 'b, 'c, 'd, let (min_ts, max_ts, block_ts) = ( bundle.min_timestamp.unwrap_or(0), bundle.max_timestamp.unwrap_or(u64::MAX), - self.ctx.evm_env.block_env.timestamp, + self.ctx.evm_env.block_env.timestamp.to::(), ); if !(min_ts <= block_ts && block_ts <= max_ts) { return Ok(Err(BundleErr::IncorrectTimestamp { @@ -862,7 +862,7 @@ impl<'a, 'b, 'c, 'd, Tracer: SimulationTracer> PartialBlockFork<'a, 'b, 'c, 'd, cumulative_blob_gas_used: u64, allow_tx_skip: bool, ) -> Result, CriticalCommitOrderError> { - let current_block = self.ctx.evm_env.block_env.number; + let current_block = self.ctx.evm_env.block_env.number.to::(); if !(bundle.block <= current_block && current_block <= bundle.max_block) { return Ok(Err(BundleErr::TargetBlockIncorrect { block: current_block, @@ -1313,7 +1313,7 @@ fn execute_evm( evm_env: EvmEnv, tx_with_blobs: &TransactionSignedEcRecoveredWithBlobs, used_state_tracer: Option<&mut UsedStateTrace>, - db: impl Database, + db: impl Database + std::fmt::Debug, blocklist: &HashSet
, ) -> Result, CriticalCommitOrderError> where diff --git a/crates/rbuilder/src/building/payout_tx.rs b/crates/rbuilder/src/building/payout_tx.rs index 4dced693a..28e1440b6 100644 --- a/crates/rbuilder/src/building/payout_tx.rs +++ b/crates/rbuilder/src/building/payout_tx.rs @@ -214,6 +214,7 @@ mod tests { block.header.base_fee_per_gas = Some(INITIAL_BASE_FEE); block.header.timestamp = cancun_timestamp + 1; block.header.gas_limit = 30_000_000; + block.header.excess_blob_gas = Some(1); let ctx = BlockBuildingContext::from_onchain_block( block, chain_spec, diff --git a/crates/rbuilder/src/building/sim.rs b/crates/rbuilder/src/building/sim.rs index 37ae85a93..906afc48e 100644 --- a/crates/rbuilder/src/building/sim.rs +++ b/crates/rbuilder/src/building/sim.rs @@ -25,6 +25,7 @@ use std::{ use tracing::{error, trace}; #[derive(Debug)] +#[allow(clippy::large_enum_variant)] pub enum OrderSimResult { Success(SimulatedOrder, Vec<(Address, u64)>), Failed(OrderErr), diff --git a/crates/rbuilder/src/building/testing/bundle_tests/mod.rs b/crates/rbuilder/src/building/testing/bundle_tests/mod.rs index e42530ec2..bc08c7045 100644 --- a/crates/rbuilder/src/building/testing/bundle_tests/mod.rs +++ b/crates/rbuilder/src/building/testing/bundle_tests/mod.rs @@ -856,10 +856,7 @@ fn test_subbundle_skip() -> eyre::Result<()> { if let OrderErr::Bundle(BundleErr::TransactionReverted(hash)) = err { assert_eq!(hash, revert_hash); } else { - panic!( - "got {} while expecting OrderErr::Bundle(BundleErr::TransactionReverted)", - err - ); + panic!("got {err} while expecting OrderErr::Bundle(BundleErr::TransactionReverted)"); } }); diff --git a/crates/rbuilder/src/building/testing/bundle_tests/setup.rs b/crates/rbuilder/src/building/testing/bundle_tests/setup.rs index b7f472e17..ea4aff55a 100644 --- a/crates/rbuilder/src/building/testing/bundle_tests/setup.rs +++ b/crates/rbuilder/src/building/testing/bundle_tests/setup.rs @@ -274,14 +274,14 @@ impl TestSetup { pub fn commit_order_err_check_text(&mut self, expected_error: &str) { let res = self.try_commit_order().expect("Failed to commit order"); match res { - Ok(_) => panic!("expected error, result: {:#?}", res), + Ok(_) => panic!("expected error, result: {res:#?}"), Err(err) => { if !err .to_string() .to_lowercase() .contains(&expected_error.to_lowercase()) { - panic!("unexpected error: {}, expected: {}", err, expected_error); + panic!("unexpected error: {err}, expected: {expected_error}"); } } } @@ -291,12 +291,12 @@ impl TestSetup { pub fn commit_order_err_check(&mut self, err_check: F) { let res = self.try_commit_order().expect("Failed to commit order"); match res { - Ok(_) => panic!("expected error,got ok result: {:#?}", res), + Ok(_) => panic!("expected error,got ok result: {res:#?}"), Err(err) => { if let ExecutionError::OrderError(order_error) = err { err_check(order_error); } else { - panic!("unexpected non OrderErr error: {}", err); + panic!("unexpected non OrderErr error: {err}"); } } } diff --git a/crates/rbuilder/src/integration/playground.rs b/crates/rbuilder/src/integration/playground.rs index 271620825..b67b6d80f 100644 --- a/crates/rbuilder/src/integration/playground.rs +++ b/crates/rbuilder/src/integration/playground.rs @@ -56,10 +56,7 @@ impl Playground { .map_err(|_| PlaygroundError::SetupError)?; let mut log_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); - log_path.push(format!( - "../../integration_logs/{}_{}.log", - format_str, name, - )); + log_path.push(format!("../../integration_logs/{format_str}_{name}.log",)); let log = open_log_file(log_path.clone()).map_err(|_| PlaygroundError::SetupError)?; let stdout = log.try_clone().map_err(|_| PlaygroundError::SetupError)?; diff --git a/crates/rbuilder/src/live_builder/base_config.rs b/crates/rbuilder/src/live_builder/base_config.rs index 83d8b1860..48c3ef678 100644 --- a/crates/rbuilder/src/live_builder/base_config.rs +++ b/crates/rbuilder/src/live_builder/base_config.rs @@ -721,7 +721,7 @@ mod test { // 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.into_path()); + 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()); diff --git a/crates/rbuilder/src/live_builder/block_list_provider.rs b/crates/rbuilder/src/live_builder/block_list_provider.rs index 9dba53229..9fc5d95cb 100644 --- a/crates/rbuilder/src/live_builder/block_list_provider.rs +++ b/crates/rbuilder/src/live_builder/block_list_provider.rs @@ -274,11 +274,11 @@ pub mod test { fn run(&self, port: u64) { // Create the address string once - let addr = format!("127.0.0.1:{}", port); + let addr = format!("127.0.0.1:{port}"); // Create a TCP listener bound to the specified port let listener = TcpListener::bind(&addr).unwrap(); - println!("Server running at http://{}", addr); + println!("Server running at http://{addr}"); // Listen for incoming connections for stream in listener.incoming() { @@ -287,7 +287,7 @@ pub mod test { self.handle_connection(stream); } Err(e) => { - eprintln!("Connection failed: {}", e); + eprintln!("Connection failed: {e}"); } } } @@ -337,7 +337,7 @@ pub mod test { // ugly wait for BlocklistHttpServer tokio::time::sleep(Duration::from_millis(200)).await; let provider = HttpBlockListProvider::new( - Url::parse(&format!("http://127.0.0.1:{}", PORT)).unwrap(), + Url::parse(&format!("http://127.0.0.1:{PORT}")).unwrap(), Duration::from_secs(AGE_SECS), true, cancellation.clone(), diff --git a/crates/rbuilder/src/live_builder/building/mod.rs b/crates/rbuilder/src/live_builder/building/mod.rs index 4d8bddd4e..55387d5d4 100644 --- a/crates/rbuilder/src/live_builder/building/mod.rs +++ b/crates/rbuilder/src/live_builder/building/mod.rs @@ -108,7 +108,7 @@ where ); // sink removal is automatic via OrderSink::is_alive false let _block_sub = self.orderpool_subscriber.add_sink( - block_ctx.evm_env.block_env.number, + block_ctx.evm_env.block_env.number.to::(), Box::new(mempool_txs_detector_sniffer), ); @@ -137,7 +137,7 @@ where let (broadcast_input, _) = broadcast::channel(10_000); let muxer = Arc::new(UnfinishedBlockBuildingSinkMuxer::new(builder_sink)); - let block_number = ctx.evm_env.block_env.number; + let block_number = ctx.evm_env.block_env.number.to::(); for builder in self.builders.iter() { let builder_name = builder.name(); diff --git a/crates/rbuilder/src/live_builder/cli.rs b/crates/rbuilder/src/live_builder/cli.rs index 9ca866d97..ebb9e34ae 100644 --- a/crates/rbuilder/src/live_builder/cli.rs +++ b/crates/rbuilder/src/live_builder/cli.rs @@ -84,7 +84,7 @@ where Cli::Run(cli) => cli, Cli::Config(cli) => { let config: ConfigType = load_config_toml_and_env(cli.config)?; - println!("{:#?}", config); + println!("{config:#?}"); return Ok(()); } Cli::Version => { @@ -101,7 +101,7 @@ where } Cli::GenBls => { let address = generate_random_bls_address(); - println!("0x{}", address); + println!("0x{address}"); return Ok(()); } }; diff --git a/crates/rbuilder/src/live_builder/mod.rs b/crates/rbuilder/src/live_builder/mod.rs index aa8a3dc82..5649c4610 100644 --- a/crates/rbuilder/src/live_builder/mod.rs +++ b/crates/rbuilder/src/live_builder/mod.rs @@ -70,7 +70,7 @@ pub struct TimingsConfig { } impl TimingsConfig { - /// Classic rbuilder + /// Timings for the Ethereum network. pub fn ethereum() -> Self { Self { slot_proposal_duration: Duration::from_secs(4), @@ -78,15 +78,6 @@ impl TimingsConfig { get_block_header_period: time::Duration::milliseconds(250), } } - - /// Configuration for OP-based chains with fast block times - pub fn optimism() -> Self { - Self { - slot_proposal_duration: Duration::from_secs(0), - block_header_deadline_delta: time::Duration::milliseconds(-25), - get_block_header_period: time::Duration::milliseconds(25), - } - } } /// Trait used to trigger a new block building process in the slot. @@ -160,7 +151,7 @@ where "Builder coinbase address: {:?}", self.coinbase_signer.address ); - let timings = self.timings(); + let timings = TimingsConfig::ethereum(); if let Some(error_storage_path) = self.error_storage_path { spawn_error_storage_writer(error_storage_path, self.global_cancellation.clone()) @@ -373,17 +364,6 @@ where Ok(()) } - - // Currently we only need two timings config, depending on whether rbuilder is being - // used in the optimism context. If further customisation is required in the future - // this should be improved on. - fn timings(&self) -> TimingsConfig { - if cfg!(feature = "optimism") { - TimingsConfig::optimism() - } else { - TimingsConfig::ethereum() - } - } } /// May fail if we wait too much (see [BLOCK_HEADER_DEAD_LINE_DELTA]) diff --git a/crates/rbuilder/src/live_builder/order_input/mod.rs b/crates/rbuilder/src/live_builder/order_input/mod.rs index e5ebf9b59..a36c1fd33 100644 --- a/crates/rbuilder/src/live_builder/order_input/mod.rs +++ b/crates/rbuilder/src/live_builder/order_input/mod.rs @@ -168,6 +168,7 @@ impl OrderInputConfig { /// Commands we can get from RPC or mempool fetcher. #[derive(Debug, Clone)] #[cfg_attr(test, derive(PartialEq, Eq))] +#[allow(clippy::large_enum_variant)] pub enum ReplaceableOrderPoolCommand { /// New or update order Order(Order), diff --git a/crates/rbuilder/src/live_builder/order_input/order_sink.rs b/crates/rbuilder/src/live_builder/order_input/order_sink.rs index f28de017d..d5e5c3b8e 100644 --- a/crates/rbuilder/src/live_builder/order_input/order_sink.rs +++ b/crates/rbuilder/src/live_builder/order_input/order_sink.rs @@ -51,6 +51,7 @@ impl Drop for OrderPrinter { /////////////////////// #[derive(Debug, Clone)] +#[allow(clippy::large_enum_variant)] pub enum OrderPoolCommand { //OrderSink::insert_order Insert(Order), diff --git a/crates/rbuilder/src/live_builder/simulation/mod.rs b/crates/rbuilder/src/live_builder/simulation/mod.rs index c6fd7f750..03c614fa1 100644 --- a/crates/rbuilder/src/live_builder/simulation/mod.rs +++ b/crates/rbuilder/src/live_builder/simulation/mod.rs @@ -92,7 +92,7 @@ where let provider = result.provider.clone(); let cancel = global_cancellation.clone(); let handle = std::thread::Builder::new() - .name(format!("sim_thread:{}", i)) + .name(format!("sim_thread:{i}")) .spawn(move || { sim_worker::run_sim_worker(i, ctx, provider, cancel); }) @@ -130,7 +130,7 @@ where let provider = self.provider.clone(); let current_contexts = Arc::clone(&self.current_contexts); let block_context: BlockContextId = gen_uid(); - let span = info_span!("sim_ctx", block = ctx.evm_env.block_env.number, parent = ?ctx.attributes.parent); + let span = info_span!("sim_ctx", block = ctx.evm_env.block_env.number.to::(), parent = ?ctx.attributes.parent); let handle = tokio::spawn( async move { diff --git a/crates/rbuilder/src/mev_boost/error.rs b/crates/rbuilder/src/mev_boost/error.rs index e3713b871..a465586c7 100644 --- a/crates/rbuilder/src/mev_boost/error.rs +++ b/crates/rbuilder/src/mev_boost/error.rs @@ -31,7 +31,7 @@ pub enum RelayError { impl Debug for RelayError { fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - write!(f, "{}", self) + write!(f, "{self}") } } diff --git a/crates/rbuilder/src/mev_boost/mod.rs b/crates/rbuilder/src/mev_boost/mod.rs index 9b61fa220..b486db85b 100644 --- a/crates/rbuilder/src/mev_boost/mod.rs +++ b/crates/rbuilder/src/mev_boost/mod.rs @@ -366,7 +366,7 @@ pub enum SubmitBlockErr { impl std::fmt::Debug for SubmitBlockErr { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self) + write!(f, "{self}") } } @@ -403,7 +403,7 @@ impl RelayClient { &self, slot: u64, ) -> Result, RelayError> { - self.get_one_delivered_payload(&format!("slot={}", slot)) + self.get_one_delivered_payload(&format!("slot={slot}")) .await } @@ -411,7 +411,7 @@ impl RelayClient { &self, block_number: u64, ) -> Result, RelayError> { - self.get_one_delivered_payload(&format!("block_number={}", block_number)) + self.get_one_delivered_payload(&format!("block_number={block_number}")) .await } @@ -419,7 +419,7 @@ impl RelayClient { &self, block_hash: BlockHash, ) -> Result, RelayError> { - self.get_one_delivered_payload(&format!("block_hash={:?}", block_hash)) + self.get_one_delivered_payload(&format!("block_hash={block_hash:?}")) .await } @@ -454,7 +454,7 @@ impl RelayClient { &self, block_hash: BlockHash, ) -> Result, RelayError> { - self.get_one_builder_block_received(&format!("block_hash={:?}", block_hash)) + self.get_one_builder_block_received(&format!("block_hash={block_hash:?}")) .await } @@ -465,7 +465,7 @@ impl RelayClient { let url = { let mut url = self.url.clone(); url.set_path("/relay/v1/data/validator_registration"); - url.set_query(Some(&format!("pubkey={:?}", pubkey))); + url.set_query(Some(&format!("pubkey={pubkey:?}"))); url }; @@ -618,7 +618,7 @@ impl RelayClient { let mut bundle_ids = bundle_ids .iter() .take(MAX_BUNDLE_IDS) - .map(|uuid| format!("{:?}", uuid)); + .map(|uuid| format!("{uuid:?}")); let bundle_ids = if total_bundles > MAX_BUNDLE_IDS { bundle_ids.join(",") + ",CAPPED" } else { diff --git a/crates/rbuilder/src/primitives/mod.rs b/crates/rbuilder/src/primitives/mod.rs index 27e61acff..b4d8637ed 100644 --- a/crates/rbuilder/src/primitives/mod.rs +++ b/crates/rbuilder/src/primitives/mod.rs @@ -343,6 +343,7 @@ impl ShareBundleTx { /// Body element of a mev share bundle. /// [`ShareBundleInner::body`] is formed by several of these. #[derive(Debug, Clone, PartialEq, Eq, Hash)] +#[allow(clippy::large_enum_variant)] pub enum ShareBundleBody { Tx(ShareBundleTx), Bundle(ShareBundleInner), @@ -1244,9 +1245,9 @@ impl FromStr for OrderId { impl Display for OrderId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Self::Tx(hash) => write!(f, "tx:{:?}", hash), - Self::Bundle(uuid) => write!(f, "bundle:{:?}", uuid), - Self::ShareBundle(hash) => write!(f, "sbundle:{:?}", hash), + Self::Tx(hash) => write!(f, "tx:{hash:?}"), + Self::Bundle(uuid) => write!(f, "bundle:{uuid:?}"), + Self::ShareBundle(hash) => write!(f, "sbundle:{hash:?}"), } } } diff --git a/crates/rbuilder/src/primitives/order_builder.rs b/crates/rbuilder/src/primitives/order_builder.rs index 8fed70ccd..7aed5b881 100644 --- a/crates/rbuilder/src/primitives/order_builder.rs +++ b/crates/rbuilder/src/primitives/order_builder.rs @@ -8,6 +8,7 @@ use super::{ /// Helper object to build Orders for testing. #[derive(Debug)] +#[allow(clippy::large_enum_variant)] pub enum OrderBuilder { MempoolTx(Option), Bundle(BundleBuilder), diff --git a/crates/rbuilder/src/provider/ipc_state_provider.rs b/crates/rbuilder/src/provider/ipc_state_provider.rs index c99a18f28..67a7cc478 100644 --- a/crates/rbuilder/src/provider/ipc_state_provider.rs +++ b/crates/rbuilder/src/provider/ipc_state_provider.rs @@ -18,7 +18,7 @@ use reipc::rpc_provider::RpcProvider; use reth_errors::{ProviderError, ProviderResult}; use reth_primitives::{Account, Bytecode}; use reth_provider::{ - errors::any::AnyError, AccountReader, BlockHashReader, HashedPostStateProvider, + errors::any::AnyError, AccountReader, BlockHashReader, BytecodeReader, HashedPostStateProvider, StateProofProvider, StateProvider, StateProviderBox, StateRootProvider, StorageRootProvider, }; use reth_trie::{ @@ -242,24 +242,7 @@ impl IpcStateProvider { } } -impl StateProvider for IpcStateProvider { - /// Get storage of given account - fn storage( - &self, - account: Address, - storage_key: StorageKey, - ) -> ProviderResult> { - if let Some(storage) = self.storage_cache.get(&(account, storage_key)) { - return Ok(*storage); - } - - let key: U256 = storage_key.into(); - let storage = rpc_call(&self.ipc_provider, "eth_getStorageAt", (account, key))?; - self.storage_cache.insert((account, storage_key), storage); - - Ok(storage) - } - +impl BytecodeReader for IpcStateProvider { /// Get account code by its hash /// IMPORTANT: Assumes remote provider (node) has RPC call:"rbuilder_getCodeByHash" fn bytecode_by_hash(&self, code_hash: &B256) -> ProviderResult> { @@ -287,6 +270,25 @@ impl StateProvider for IpcStateProvider { } } +impl StateProvider for IpcStateProvider { + /// Get storage of given account + fn storage( + &self, + account: Address, + storage_key: StorageKey, + ) -> ProviderResult> { + if let Some(storage) = self.storage_cache.get(&(account, storage_key)) { + return Ok(*storage); + } + + let key: U256 = storage_key.into(); + let storage = rpc_call(&self.ipc_provider, "eth_getStorageAt", (account, key))?; + self.storage_cache.insert((account, storage_key), storage); + + Ok(storage) + } +} + impl BlockHashReader for IpcStateProvider { /// Get the hash of the block with the given number. Returns `None` if no block with this number exists /// IMPORTANT: Assumes IPC provider (node) has RPC call:"rbuilder_getBlockHash" diff --git a/crates/rbuilder/src/utils/build_info.rs b/crates/rbuilder/src/utils/build_info.rs index edf461155..dee593f3f 100644 --- a/crates/rbuilder/src/utils/build_info.rs +++ b/crates/rbuilder/src/utils/build_info.rs @@ -15,10 +15,10 @@ pub fn print_version_info() { println!("commit: {}", GIT_COMMIT_HASH_SHORT.unwrap_or_default()); println!("dirty: {}", GIT_DIRTY.unwrap_or_default()); println!("branch: {}", GIT_HEAD_REF.unwrap_or_default()); - println!("build_time: {}", BUILT_TIME_UTC); - println!("rustc: {}", RUSTC_VERSION); - println!("features: {:?}", FEATURES); - println!("profile: {}", PROFILE); + println!("build_time: {BUILT_TIME_UTC}"); + println!("rustc: {RUSTC_VERSION}"); + println!("features: {FEATURES:?}"); + println!("profile: {PROFILE}"); } #[derive(Debug)] diff --git a/crates/rbuilder/src/utils/provider_factory_reopen.rs b/crates/rbuilder/src/utils/provider_factory_reopen.rs index d9594202b..d10e9fe7f 100644 --- a/crates/rbuilder/src/utils/provider_factory_reopen.rs +++ b/crates/rbuilder/src/utils/provider_factory_reopen.rs @@ -5,7 +5,7 @@ use crate::{ roothash::{calculate_state_root, run_trie_prefetcher, RootHashContext, RootHashError}, telemetry::{inc_provider_bad_reopen_counter, inc_provider_reopen_counter}, }; -use alloy_consensus::Header; +use alloy_consensus::{BlockHeader, Header}; use alloy_eips::BlockNumHash; use alloy_primitives::{BlockHash, BlockNumber, B256}; use eth_sparse_mpt::*; @@ -238,7 +238,7 @@ where .unwrap(); let parent_state_root = provider .header_by_hash_or_number(parent_num_hash.hash.into())? - .map(|h| h.state_root); + .map(|h| h.state_root()); if parent_state_root.is_none() { error!("Parent hash is not found (for root_hasher)"); } diff --git a/crates/test-relay/src/relay.rs b/crates/test-relay/src/relay.rs index 34f8eb90a..57a82e058 100644 --- a/crates/test-relay/src/relay.rs +++ b/crates/test-relay/src/relay.rs @@ -64,7 +64,7 @@ impl RelayError { RelayError::PayloadAttributesNotKnown => { (6, false, "payload attributes not (yet) known".to_string()) } - RelayError::SimulationFailed(msg) => (7, false, format!("simulation failed: {}", msg)), + RelayError::SimulationFailed(msg) => (7, false, format!("simulation failed: {msg}")), }; let json = RelayErrorResponse { code, message }; let status_code = if internal { diff --git a/crates/test-relay/src/validation_api_client.rs b/crates/test-relay/src/validation_api_client.rs index d479a7bda..1188828e6 100644 --- a/crates/test-relay/src/validation_api_client.rs +++ b/crates/test-relay/src/validation_api_client.rs @@ -43,7 +43,7 @@ pub enum ValidationError { impl Debug for ValidationError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self) + write!(f, "{self}") } } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index d09294494..7855e6d55 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.86.0" +channel = "1.88.0" components = ["rustfmt", "clippy"] diff --git a/rustfmt.toml b/rustfmt.toml index 648e8368f..44148a2d3 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,2 +1 @@ reorder_imports = true -imports_granularity = "Crate" diff --git a/scripts/ci/benchmark-in-ci.sh b/scripts/ci/benchmark-in-ci.sh index 27cc9f48d..291ff3b74 100755 --- a/scripts/ci/benchmark-in-ci.sh +++ b/scripts/ci/benchmark-in-ci.sh @@ -50,7 +50,7 @@ function run_benchmark() { if [ "$HEAD_SHA" == "$BASE_SHA" ]; then # Benchmark only current commit, no comparison echo "Running cargo bench ..." - cargo bench --workspace --features optimism + cargo bench --workspace else # Benchmark target commit first, and then benchmark current commit against that baseline echo "Benchmarking ${HEAD_SHA_SHORT} against the target ${BASE_SHA_SHORT} ..." @@ -58,14 +58,14 @@ function run_benchmark() { # Switch to target commit and run benchmarks echo "Switching to $BASE_SHA_SHORT and starting benchmarks ..." git checkout $BASE_SHA - cargo bench --workspace --features optimism + cargo bench --workspace # Switch back to current commit and run benchmarks again echo "Switching back to $HEAD_SHA_SHORT and running benchmarks ..." # Reset to ensure any changes (e.g. to Cargo.lock) are discarded before attempting to checkout. git reset --hard git checkout $HEAD_SHA - cargo bench --workspace --features optimism + cargo bench --workspace fi } diff --git a/scripts/ci/download-op-reth.sh b/scripts/ci/download-op-reth.sh deleted file mode 100755 index 186eb1e52..000000000 --- a/scripts/ci/download-op-reth.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -VERSION=${VERSION:-1.3.12} - -ARCH=$(uname -m) -case $ARCH in - "x86_64") - if [[ "$(uname)" == "Darwin" ]]; then - ARCH_STRING="x86_64-apple-darwin" - else - ARCH_STRING="x86_64-unknown-linux-gnu" - fi - ;; - "arm64" | "aarch64") - if [[ "$(uname)" == "Darwin" ]]; then - ARCH_STRING="aarch64-apple-darwin" - else - ARCH_STRING="aarch64-unknown-linux-gnu" - fi - ;; - *) - echo "Unsupported architecture: $ARCH" - exit 1 - ;; -esac - -FILENAME="op-reth-v${VERSION}-${ARCH_STRING}.tar.gz" -echo "Downloading ${FILENAME}" - -wget -q "https://github.com/paradigmxyz/reth/releases/download/v${VERSION}/${FILENAME}" - -# Extract the tar.gz file -tar -xzf "${FILENAME}" - -# Make the binary executable -chmod +x op-reth - -# Clean up the tar.gz file (optional) -rm "${FILENAME}" diff --git a/zepter.yaml b/zepter.yaml index 5ae4ad130..33a57dfce 100644 --- a/zepter.yaml +++ b/zepter.yaml @@ -12,7 +12,7 @@ workflows: # Check that `A` activates the features of `B`. "propagate-feature", # These are the features to check: - "--features=std,optimism,dev,asm-keccak,jemalloc,jemalloc-prof,tracy-allocator,serde-bincode-compat,serde,test-utils,arbitrary,bench,redact-sensitive", + "--features=std,dev,asm-keccak,jemalloc,jemalloc-prof,tracy-allocator,serde-bincode-compat,serde,test-utils,arbitrary,bench,redact-sensitive", # Do not try to add a new section into `[features]` of `A` only because `B` expose that feature. There are edge-cases where this is still needed, but we can add them manually. "--left-side-feature-missing=ignore", # Ignore the case that `A` it outside of the workspace. Otherwise it will report errors in external dependencies that we have no influence on.