diff --git a/Cargo.lock b/Cargo.lock index 82c229dd1..cf2f4d936 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,9 +97,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ecf116474faea3e30ecb03cb14548598ca8243d5316ce50f820e67b3e848473" +checksum = "fa7413bbf62c40b5db916ad5a1c382df1affe42080e148d69932bb7f0a12f32e" dependencies = [ "alloy-consensus", "alloy-contract", @@ -122,26 +122,27 @@ dependencies = [ "alloy-transport-http", "alloy-transport-ipc", "alloy-transport-ws", + "alloy-trie", ] [[package]] name = "alloy-chains" -version = "0.2.6" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4195a29a4b87137b2bb02105e746102873bc03561805cf45c0e510c961f160e6" +checksum = "ef8ff73a143281cb77c32006b04af9c047a6b8fe5860e85a88ad325328965355" dependencies = [ "alloy-primitives", "alloy-rlp", "num_enum", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] name = "alloy-consensus" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6093bc69509849435a2d68237a2e9fea79d27390c8e62f1e4012c460aabad8" +checksum = "b7345077623aaa080fc06735ac13b8fa335125c8550f9c4f64135a5bf6f79967" dependencies = [ "alloy-eips", "alloy-primitives", @@ -160,14 +161,14 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-consensus-any" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d1cfed4fefd13b5620cb81cdb6ba397866ff0de514c1b24806e6e79cdff5570" +checksum = "501f83565d28bdb9d6457dd3b5d646e19db37709d0f27608a26a1839052ddade" dependencies = [ "alloy-consensus", "alloy-eips", @@ -180,9 +181,9 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28074a21cd4f7c3a7ab218c4f38fae6be73944e1feae3b670c68b60bf85ca40" +checksum = "e4c36bb4173892aeeba1c6b9e4eff923fa3fe8583f6d3e07afe1cbc5a96a853a" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -198,14 +199,14 @@ dependencies = [ "futures", "futures-util", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-core" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad31216895d27d307369daa1393f5850b50bbbd372478a9fa951c095c210627e" +checksum = "bfe6c56d58fbfa9f0f6299376e8ce33091fc6494239466814c3f54b55743cb09" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -216,9 +217,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e8a436f0aad7df8bb47f144095fba61202265d9f5f09a70b0e3227881a668e" +checksum = "a3f56873f3cac7a2c63d8e98a4314b8311aa96adb1a0f82ae923eb2119809d2c" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -243,7 +244,7 @@ dependencies = [ "crc", "rand 0.8.5", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -272,14 +273,14 @@ dependencies = [ "rand 0.8.5", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-eips" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5937e2d544e9b71000942d875cbc57965b32859a666ea543cc57aae5a06d602d" +checksum = "c219a87fb386a75780ddbdbbced242477321887e426b0f946c05815ceabe5e09" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -295,18 +296,20 @@ dependencies = [ "ethereum_ssz", "ethereum_ssz_derive", "serde", + "serde_with", "sha2 0.10.9", + "thiserror 2.0.16", ] [[package]] name = "alloy-evm" -version = "0.15.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28de0dd1bbb0634ef7c3715e8e60176b77b82f8b6b15b2e35fe64cf6640f6550" +checksum = "0dbe7c66c859b658d879b22e8aaa19546dab726b0639f4649a424ada3d99349e" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-hardforks", + "alloy-hardforks 0.3.0", "alloy-primitives", "alloy-rpc-types-eth", "alloy-sol-types", @@ -314,15 +317,15 @@ dependencies = [ "derive_more", "op-alloy-consensus", "op-revm", - "revm", - "thiserror 2.0.12", + "revm 29.0.0", + "thiserror 2.0.16", ] [[package]] name = "alloy-genesis" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51b4c13e02a8104170a4de02ccf006d7c233e6c10ab290ee16e7041e6ac221d" +checksum = "2dbf4c6b1b733ba0efaa6cc5f68786997a19ffcd88ff2ee2ba72fdd42594375e" dependencies = [ "alloy-eips", "alloy-primitives", @@ -334,9 +337,22 @@ dependencies = [ [[package]] name = "alloy-hardforks" -version = "0.2.11" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3165210652f71dfc094b051602bafd691f506c54050a174b1cba18fb5ef706a3" +dependencies = [ + "alloy-chains", + "alloy-eip2124", + "alloy-primitives", + "auto_impl", + "dyn-clone", +] + +[[package]] +name = "alloy-hardforks" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ce138b29a2f8e7ed97c064af8359dfa6559c12cba5e821ae4eb93081a56557e" +checksum = "a20b180071d4f22db71702329101685ccff2e2a8f400d30a68ba907700163bf5" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -348,9 +364,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459f98c6843f208856f338bfb25e65325467f7aff35dfeb0484d0a76e059134b" +checksum = "125a1c373261b252e53e04d6e92c37d881833afc1315fceab53fd46045695640" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -360,24 +376,24 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b590caa6b6d8bc10e6e7a7696c59b1e550e89f27f50d1ee13071150d3a3e3f66" +checksum = "334555c323fa2bb98f1d4c242b62da9de8c715557a2ed680a76cefbcac19fefd" dependencies = [ "alloy-primitives", "alloy-sol-types", "http 1.3.1", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", ] [[package]] name = "alloy-network" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36fe5af1fca03277daa56ad4ce5f6d623d3f4c2273ea30b9ee8674d18cefc1fa" +checksum = "c7ea377c9650203d7a7da9e8dee7f04906b49a9253f554b110edd7972e75ef34" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -396,14 +412,14 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-network-primitives" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793df1e3457573877fbde8872e4906638fde565ee2d3bd16d04aad17d43dbf0e" +checksum = "b9f9ab9a9e92c49a357edaee2d35deea0a32ac8f313cfa37448f04e7e029c9d9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -414,12 +430,12 @@ dependencies = [ [[package]] name = "alloy-node-bindings" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de75f0d0af3c6cb0bd3648e530289b2c542b7bf57e7d4296d1c29281418a476" +checksum = "cb0af8bdb3ee8da43a1f1eb9d1df3c8e3bd657dd20eddd3f00f03105c0fdd3f5" dependencies = [ "alloy-genesis", - "alloy-hardforks", + "alloy-hardforks 0.2.13", "alloy-network", "alloy-primitives", "alloy-signer", @@ -428,16 +444,16 @@ dependencies = [ "rand 0.8.5", "serde_json", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", "url", ] [[package]] name = "alloy-op-evm" -version = "0.15.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0afe768962308a08b42fddef8a4296324f140b5a8dd0d4360038229885ce9434" +checksum = "ed9b726869a13d5d958f2f78fbef7ce522689c4d40d613c16239f5e286fbeb1a" dependencies = [ "alloy-consensus", "alloy-eips", @@ -447,44 +463,43 @@ dependencies = [ "auto_impl", "op-alloy-consensus", "op-revm", - "revm", + "revm 29.0.0", ] [[package]] name = "alloy-op-hardforks" -version = "0.2.11" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9a510692bef4871797062ca09ec7873c45dc68c7f3f72291165320f53606a3" +checksum = "9b6e8ab92a4b6cf57d84cec62868b7161f40de36b01ffda62455deb3907c9001" dependencies = [ "alloy-chains", - "alloy-hardforks", + "alloy-hardforks 0.3.0", "auto_impl", ] [[package]] name = "alloy-primitives" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cfebde8c581a5d37b678d0a48a32decb51efd7a63a08ce2517ddec26db705c8" +checksum = "bc9485c56de23438127a731a6b4c87803d49faf1a7068dcd1d8768aca3a9edb9" dependencies = [ "alloy-rlp", "arbitrary", "bytes", "cfg-if", "const-hex", - "derive_arbitrary", "derive_more", "foldhash", "getrandom 0.3.3", - "hashbrown 0.15.4", - "indexmap 2.10.0", + "hashbrown 0.15.5", + "indexmap 2.11.0", "itoa", "k256", "keccak-asm", "paste", "proptest", - "proptest-derive", - "rand 0.9.1", + "proptest-derive 0.5.1", + "rand 0.9.2", "ruint", "rustc-hash 2.1.1", "serde", @@ -494,9 +509,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59879a772ebdcde9dc4eb38b2535d32e8503d3175687cc09e763a625c5fcf32" +checksum = "9a85361c88c16116defbd98053e3d267054d6b82729cdbef0236f7881590f924" dependencies = [ "alloy-chains", "alloy-consensus", @@ -526,14 +541,13 @@ dependencies = [ "either", "futures", "futures-utils-wasm", - "http 1.3.1", "lru 0.13.0", "parking_lot", "pin-project", "reqwest", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", "url", @@ -542,13 +556,14 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbdfb2899b54b7cb0063fa8e61938320f9be6b81b681be69c203abf130a87baa" +checksum = "25b1eda077b102b167effaf0c9d9109b1232948a6c7fcaff74abdb5deb562a17" dependencies = [ "alloy-json-rpc", "alloy-primitives", "alloy-transport", + "auto_impl", "bimap", "futures", "parking_lot", @@ -580,14 +595,14 @@ checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "alloy-rpc-client" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f060e3bb9f319eb01867a2d6d1ff9e0114e8877f5ca8f5db447724136106cae" +checksum = "743fc964abb0106e454e9e8683fb0809fb32940270ef586a58e913531360b302" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -611,9 +626,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d47b637369245d2dafef84b223b1ff5ea59e6cd3a98d2d3516e32788a0b216df" +checksum = "e6445ccdc73c8a97e1794e9f0f91af52fb2bbf9ff004339a801b0293c3928abb" dependencies = [ "alloy-primitives", "alloy-rpc-types-anvil", @@ -629,9 +644,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-admin" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db29bf8f7c961533b017f383122cab6517c8da95712cf832e23c60415d520a58" +checksum = "196e0e38efeb2a5efb515758877765db56b3b18e998b809eb1e5d6fc20fcd097" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -641,9 +656,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0b1f499acb3fc729615147bc113b8b798b17379f19d43058a687edc5792c102" +checksum = "242ff10318efd61c4b17ac8584df03a8db1e12146704c08b1b69d070cd4a1ebf" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -653,9 +668,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e26b4dd90b33bd158975307fb9cf5fafa737a0e33cbb772a8648bf8be13c104" +checksum = "97372c51a14a804fb9c17010e3dd6c117f7866620b264e24b64d2259be44bcdf" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -664,9 +679,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9196cbbf4b82a3cc0c471a8e68ccb30102170d930948ac940d2bceadc1b1346b" +checksum = "a2210006d3ee0b0468e49d81fc8b94ab9f088e65f955f8d56779545735b90873" dependencies = [ "alloy-eips", "alloy-primitives", @@ -675,26 +690,28 @@ dependencies = [ "ethereum_ssz_derive", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", "tree_hash", "tree_hash_derive", ] [[package]] name = "alloy-rpc-types-debug" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71841e6fc8e221892035a74f7d5b279c0a2bf27a7e1c93e7476c64ce9056624e" +checksum = "a005a343cae9a0d4078d2f85a666493922d4bfb756229ea2a45a4bafd21cb9f1" dependencies = [ "alloy-primitives", + "derive_more", "serde", + "serde_with", ] [[package]] name = "alloy-rpc-types-engine" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f9cbf5f781b9ee39cfdddea078fdef6015424f4c8282ef0e5416d15ca352c4" +checksum = "0e214c7667f88b2f7e48eb8428eeafcbf6faecda04175c5f4d13fdb2563333ac" dependencies = [ "alloy-consensus", "alloy-eips", @@ -707,14 +724,14 @@ dependencies = [ "jsonwebtoken", "rand 0.8.5", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] name = "alloy-rpc-types-eth" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46586ec3c278639fc0e129f0eb73dbfa3d57f683c44b2ff5e066fab7ba63fa1f" +checksum = "672286c19528007df058bafd82c67e23247b4b3ebbc538cbddc705a82d8a930f" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -729,14 +746,14 @@ dependencies = [ "serde", "serde_json", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-rpc-types-mev" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79b6e80b501842c3f5803dd5752ae41b61f43bf6d2e1b8d29999d3312d67a8a5" +checksum = "fa6c5068a20a19df4481ffd698540af5f3656f401d12d9b3707e8ab90311af1d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -749,23 +766,23 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9a2184493c374ca1dbba9569d37215c23e489970f8c3994f731cb3ed6b0b7d" +checksum = "d53c5ea8e10ca72889476343deb98c050da7b85e119a55a2a02a9791cb8242e4" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-rpc-types-txpool" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3aaf142f4f6c0bdd06839c422179bae135024407d731e6f365380f88cd4730e" +checksum = "bb1c7ee378e899353e05a0d9f5b73b5d57bdac257532c6acd98eaa6b093fe642" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -775,9 +792,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e1722bc30feef87cc0fa824e43c9013f9639cc6c037be7be28a31361c788be2" +checksum = "1aae653f049267ae7e040eab6c9b9a417064ca1a6cb21e3dd59b9f1131ef048f" dependencies = [ "alloy-primitives", "arbitrary", @@ -787,9 +804,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3674beb29e68fbbc7be302b611cf35fe07b736e308012a280861df5a2361395" +checksum = "d97cedce202f848592b96f7e891503d3adb33739c4e76904da73574290141b93" dependencies = [ "alloy-primitives", "async-trait", @@ -797,14 +814,14 @@ dependencies = [ "either", "elliptic-curve 0.13.8", "k256", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "alloy-signer-ledger" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce5e8c97a526d39052035a99652b9cfacf0d646d4a3625fac9c919d20a46fb0" +checksum = "4919f44b5ed3825f2b8aa83ced97ae314c675f353e58761c023fe6a0c6cb89af" dependencies = [ "alloy-consensus", "alloy-network", @@ -814,15 +831,15 @@ dependencies = [ "coins-ledger", "futures-util", "semver 1.0.26", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", ] [[package]] name = "alloy-signer-local" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7094c39cd41b03ed642145b0bd37251e31a9cf2ed19e1ce761f089867356a6" +checksum = "83ae7d854db5b7cdd5b9ed7ad13d1e5e034cdd8be85ffef081f61dc6c9e18351" dependencies = [ "alloy-consensus", "alloy-network", @@ -835,15 +852,16 @@ dependencies = [ "eth-keystore", "k256", "rand 0.8.5", - "thiserror 2.0.12", + "thiserror 2.0.16", "yubihsm", + "zeroize", ] [[package]] name = "alloy-signer-trezor" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fc3a082bf4dcf2e330b040378c73a113d31fe03068607a4d80368b47e60c44" +checksum = "718767e064ac213897e5f7c7f284fc15a51a3ce4adcecc98f5e276bdc6e8f716" dependencies = [ "alloy-consensus", "alloy-network", @@ -851,49 +869,49 @@ dependencies = [ "alloy-signer", "async-trait", "semver 1.0.26", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", "trezor-client", ] [[package]] name = "alloy-sol-macro" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedac07a10d4c2027817a43cc1f038313fc53c7ac866f7363239971fd01f9f18" +checksum = "d20d867dcf42019d4779519a1ceb55eba8d7f3d0e4f0a89bcba82b8f9eb01e48" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "alloy-sol-macro-expander" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f9a598f010f048d8b8226492b6401104f5a5c1273c2869b72af29b48bb4ba9" +checksum = "b74e91b0b553c115d14bd0ed41898309356dc85d0e3d4b9014c4e7715e48c8ad" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.10.0", + "indexmap 2.11.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f494adf9d60e49aa6ce26dfd42c7417aa6d4343cf2ae621f20e4d92a5ad07d85" +checksum = "84194d31220803f5f62d0a00f583fd3a062b36382e2bea446f1af96727754565" dependencies = [ "alloy-json-abi", "const-hex", @@ -903,15 +921,15 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.104", + "syn 2.0.106", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52db32fbd35a9c0c0e538b58b81ebbae08a51be029e7ad60e08b60481c2ec6c3" +checksum = "fe8c27b3cf6b2bb8361904732f955bc7c05e00be5f469cec7e2280b6167f3ff0" dependencies = [ "serde", "winnow", @@ -919,9 +937,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a285b46e3e0c177887028278f04cc8262b76fd3b8e0e20e93cea0a58c35f5ac5" +checksum = "f5383d34ea00079e6dd89c652bcbdb764db160cef84e6250926961a0b2295d04" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -931,12 +949,13 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89bec2f59a41c0e259b6fe92f78dfc49862c17d10f938db9c33150d5a7f42b6" +checksum = "c08b383bc903c927635e39e1dae7df2180877d93352d1abd389883665a598afc" dependencies = [ "alloy-json-rpc", "alloy-primitives", + "auto_impl", "base64 0.22.1", "derive_more", "futures", @@ -944,7 +963,7 @@ dependencies = [ "parking_lot", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tower", "tracing", @@ -954,9 +973,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d3615ec64d775fec840f4e9d5c8e1f739eb1854d8d28db093fb3d4805e0cb53" +checksum = "6e58dee1f7763ef302074b645fc4f25440637c09a60e8de234b62993f06c0ae3" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -969,9 +988,9 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374db72669d8ee09063b9aa1a316e812d5cdfce7fc9a99a3eceaa0e5512300d2" +checksum = "5ae5c6655e5cda1227f0c70b7686ecfb8af856771deebacad8dab9a7fbc51864" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -989,15 +1008,15 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5dbaa6851875d59c8803088f4b6ec72eaeddf7667547ae8995c1a19fbca6303" +checksum = "dcb2141958a1f13722cb20a2e01c130fb375209fa428849ae553c1518bc33a0d" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", "http 1.3.1", - "rustls 0.23.28", + "rustls 0.23.31", "serde_json", "tokio", "tokio-tungstenite", @@ -1007,9 +1026,9 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bada1fc392a33665de0dc50d401a3701b62583c655e3522a323490a5da016962" +checksum = "e3412d52bb97c6c6cc27ccc28d4e6e8cf605469101193b50b0bd5813b1f990b5" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -1019,7 +1038,7 @@ dependencies = [ "derive_more", "nybbles", "proptest", - "proptest-derive", + "proptest-derive 0.5.1", "serde", "smallvec", "tracing", @@ -1027,15 +1046,15 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.0.23" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f916ff6d52f219c44a9684aea764ce2c7e1d53bd4a724c9b127863aeacc30bb" +checksum = "d14809f908822dbff0dc472c77ca4aa129ab12e22fd9bff2dd1ef54603e68e3d" dependencies = [ "alloy-primitives", "darling", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1110,6 +1129,7 @@ dependencies = [ "rayon", "reth", "reth-db", + "reth-exex", "reth-metrics", "reth-network", "reth-node-builder", @@ -1141,9 +1161,10 @@ dependencies = [ "futures-util", "itertools 0.14.0", "pade", - "rand 0.9.1", + "rand 0.9.2", "reth-ethereum-primitives", "reth-execution-types", + "reth-optimism-primitives", "reth-primitives", "reth-provider", "reth-tasks", @@ -1163,8 +1184,8 @@ version = "0.1.0" dependencies = [ "angstrom-types", "eyre", - "hyper 1.6.0", - "jsonrpsee-server", + "hyper 1.7.0", + "jsonrpsee-server 0.25.1", "metrics 0.21.1", "metrics-exporter-prometheus", "metrics-process 1.2.1", @@ -1196,7 +1217,7 @@ dependencies = [ "once_cell", "order-pool", "parking_lot", - "rand 0.9.1", + "rand 0.9.2", "reth", "reth-discv4", "reth-eth-wire", @@ -1221,7 +1242,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "toml", + "toml 0.9.5", "tracing", "validation", ] @@ -1240,11 +1261,11 @@ dependencies = [ "jsonrpsee", "order-pool", "pool-manager", - "rand 0.9.1", + "rand 0.9.2", "reth-tasks", "serde", "serde_json", - "strum 0.27.1", + "strum 0.27.2", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -1274,7 +1295,7 @@ dependencies = [ "malachite", "pade", "pade-macro", - "rand 0.9.1", + "rand 0.9.2", "reqwest", "reth", "reth-chainspec", @@ -1282,12 +1303,14 @@ dependencies = [ "reth-ethereum-primitives", "reth-execution-types", "reth-network-peers", + "reth-optimism-flashblocks", + "reth-optimism-primitives", "reth-primitives", "reth-primitives-traits", "reth-provider", "reth-storage-api", "reth-trie", - "revm", + "revm 27.1.0", "revm-bytecode", "revm-database", "revm-primitives", @@ -1298,6 +1321,7 @@ dependencies = [ "testing-tools", "thiserror 1.0.69", "tokio", + "tokio-stream", "tower", "tracing", "tracing-subscriber 0.3.19", @@ -1314,9 +1338,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.19" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -1344,29 +1368,29 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.9" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.59.0", + "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" @@ -1379,14 +1403,14 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" dependencies = [ "derive_arbitrary", ] @@ -1428,7 +1452,7 @@ dependencies = [ "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.4", + "hashbrown 0.15.5", "itertools 0.13.0", "num-bigint", "num-integer", @@ -1521,7 +1545,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1559,7 +1583,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1574,7 +1598,7 @@ dependencies = [ "ark-std 0.5.0", "educe", "fnv", - "hashbrown 0.15.4", + "hashbrown 0.15.5", ] [[package]] @@ -1648,7 +1672,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1710,11 +1734,13 @@ checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "async-compression" -version = "0.4.25" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40f6024f3f856663b45fd0c9b6f2024034a702f453549449e0d84a305900dad4" +checksum = "5bee399cc3a623ec5a2db2c5b90ee0190a2260241fbe0c023ac8f7bab426aaf8" dependencies = [ "brotli", + "compression-codecs", + "compression-core", "flate2", "futures-core", "memchr", @@ -1743,18 +1769,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[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", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1792,7 +1818,7 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -1803,9 +1829,9 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-config" -version = "1.8.0" +version = "1.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455e9fb7743c6f6267eb2830ccc08686fbb3d13c9a689369562fd4d4ef9ea462" +checksum = "c478f5b10ce55c9a33f87ca3404ca92768b144fc1bfdede7c0121214a8283a25" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1833,9 +1859,9 @@ dependencies = [ [[package]] name = "aws-credential-types" -version = "1.2.3" +version = "1.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "687bc16bc431a8533fe0097c7f0182874767f920989d7260950172ae8e3c4465" +checksum = "1541072f81945fa1251f8795ef6c92c4282d74d59f88498ae7d4bf00f0ebdad9" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -1845,9 +1871,9 @@ dependencies = [ [[package]] name = "aws-lc-rs" -version = "1.13.1" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fcc8f365936c834db5514fc45aee5b1202d677e6b40e48468aaaa8183ca8c7" +checksum = "5c953fe1ba023e6b7730c0d4b031d06f267f23a46167dcbd40316644b10a17ba" dependencies = [ "aws-lc-sys", "zeroize", @@ -1855,9 +1881,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61b1d86e7705efe1be1b569bab41d4fa1e14e220b60a160f78de2db687add079" +checksum = "dbfd150b5dbdb988bcc8fb1fe787eb6b7ee6180ca24da683b61ea5405f3d43ff" dependencies = [ "bindgen 0.69.5", "cc", @@ -1868,9 +1894,9 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.5.8" +version = "1.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f6c68419d8ba16d9a7463671593c54f81ba58cab466e9b759418da606dcc2e2" +checksum = "c034a1bc1d70e16e7f4e4caf7e9f7693e4c9c24cd91cf17c2a0b21abaebc7c8b" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -1888,14 +1914,14 @@ dependencies = [ "percent-encoding", "pin-project-lite", "tracing", - "uuid 1.17.0", + "uuid 1.18.0", ] [[package]] name = "aws-sdk-s3" -version = "1.94.0" +version = "1.103.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc24d9d761bd464534d9e477a9f724c118ca2557a95444097cf6ce71f3229a72" +checksum = "af040a86ae4378b7ed2f62c83b36be1848709bbbf5757ec850d0e08596a26be9" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1927,9 +1953,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.73.0" +version = "1.82.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ac1674cba7872061a29baaf02209fefe499ff034dfd91bd4cc59e4d7741489" +checksum = "b069e4973dc25875bbd54e4c6658bdb4086a846ee9ed50f328d4d4c33ebf9857" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1949,9 +1975,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.74.0" +version = "1.83.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6a22f077f5fd3e3c0270d4e1a110346cddf6769e9433eb9e6daceb4ca3b149" +checksum = "0b49e8fe57ff100a2f717abfa65bdd94e39702fa5ab3f60cddc6ac7784010c68" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1971,9 +1997,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.75.0" +version = "1.84.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3258fa707f2f585ee3049d9550954b959002abd59176975150a01d5cf38ae3f" +checksum = "91abcdbfb48c38a0419eb75e0eac772a4783a96750392680e4f3c25a8a0535b9" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1994,9 +2020,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.3.3" +version = "1.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfb9021f581b71870a17eac25b52335b82211cdc092e02b6876b2bcefa61666" +checksum = "084c34162187d39e3740cb635acd73c4e3a551a36146ad6fe8883c929c9f876c" dependencies = [ "aws-credential-types", "aws-smithy-eventstream", @@ -2033,9 +2059,9 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.63.4" +version = "0.63.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "244f00666380d35c1c76b90f7b88a11935d11b84076ac22a4c014ea0939627af" +checksum = "56d2df0314b8e307995a3b86d44565dfe9de41f876901a7d71886c756a25979f" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -2053,9 +2079,9 @@ dependencies = [ [[package]] name = "aws-smithy-eventstream" -version = "0.60.9" +version = "0.60.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "338a3642c399c0a5d157648426110e199ca7fd1c689cc395676b81aa563700c4" +checksum = "182b03393e8c677347fb5705a04a9392695d47d20ef0a2f8cfe28c8e6b9b9778" dependencies = [ "aws-smithy-types", "bytes", @@ -2064,9 +2090,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.62.1" +version = "0.62.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99335bec6cdc50a346fda1437f9fefe33abf8c99060739a546a16457f2862ca9" +checksum = "7c4dacf2d38996cf729f55e7a762b30918229917eca115de45dfa8dfb97796c9" dependencies = [ "aws-smithy-eventstream", "aws-smithy-runtime-api", @@ -2085,38 +2111,39 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.0.6" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f108f1ca850f3feef3009bdcc977be201bca9a91058864d9de0684e64514bee0" +checksum = "147e8eea63a40315d704b97bf9bc9b8c1402ae94f89d5ad6f7550d963309da1b" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", - "h2 0.3.26", - "h2 0.4.11", + "h2 0.3.27", + "h2 0.4.12", "http 0.2.12", "http 1.3.1", "http-body 0.4.6", "hyper 0.14.32", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-rustls 0.24.2", "hyper-rustls 0.27.7", "hyper-util", "pin-project-lite", "rustls 0.21.12", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", + "tokio-rustls 0.26.2", "tower", "tracing", ] [[package]] name = "aws-smithy-json" -version = "0.61.4" +version = "0.61.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a16e040799d29c17412943bdbf488fd75db04112d0c0d4b9290bacf5ae0014b9" +checksum = "eaa31b350998e703e9826b2104dd6f63be0508666e1aba88137af060e8944047" dependencies = [ "aws-smithy-types", ] @@ -2142,9 +2169,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.8.3" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14302f06d1d5b7d333fd819943075b13d27c7700b414f574c3c35859bfb55d5e" +checksum = "d3946acbe1ead1301ba6862e712c7903ca9bb230bdf1fbd1b5ac54158ef2ab1f" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -2166,9 +2193,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd8531b6d8882fd8f48f82a9754e682e29dd44cff27154af51fa3eb730f59efb" +checksum = "07f5e0fc8a6b3f2303f331b94504bbf754d85488f402d6f1dd7a6080f99afe56" dependencies = [ "aws-smithy-async", "aws-smithy-types", @@ -2218,9 +2245,9 @@ dependencies = [ [[package]] name = "aws-types" -version = "1.3.7" +version = "1.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a322fec39e4df22777ed3ad8ea868ac2f94cd15e1a55f6ee8d8d6305057689a" +checksum = "b069d19bf01e46298eaedd7c6f283fe565a59263e53eebec945f3e6398f42390" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -2238,9 +2265,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "backon" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302eaff5357a264a2c42f127ecb8bac761cf99749fc3dc95677e2743991f99e7" +checksum = "592277618714fbcecda9a02ba7a8781f319d26532a88553bbacc77ba5d2b3a8d" dependencies = [ "fastrand", "tokio", @@ -2340,10 +2367,10 @@ version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.12.1", "lazy_static", "lazycell", "log", @@ -2353,7 +2380,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.106", "which", ] @@ -2363,7 +2390,7 @@ version = "0.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cexpr", "clang-sys", "itertools 0.13.0", @@ -2372,7 +2399,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -2414,9 +2441,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" dependencies = [ "serde", ] @@ -2434,19 +2461,6 @@ dependencies = [ "wyz", ] -[[package]] -name = "blake3" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.9.0" @@ -2492,11 +2506,11 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c340fe0f0b267787095cbe35240c6786ff19da63ec7b69367ba338eace8169b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "boa_interner", "boa_macros", "boa_string", - "indexmap 2.10.0", + "indexmap 2.11.0", "num-bigint", "rustc-hash 2.1.1", ] @@ -2508,7 +2522,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f620c3f06f51e65c0504ddf04978be1b814ac6586f0b45f6019801ab5efd37f9" dependencies = [ "arrayvec", - "bitflags 2.9.1", + "bitflags 2.9.3", "boa_ast", "boa_gc", "boa_interner", @@ -2520,9 +2534,9 @@ dependencies = [ "cfg-if", "dashmap 6.1.0", "fast-float2", - "hashbrown 0.15.4", + "hashbrown 0.15.5", "icu_normalizer 1.5.0", - "indexmap 2.10.0", + "indexmap 2.11.0", "intrusive-collections", "itertools 0.13.0", "num-bigint", @@ -2542,7 +2556,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", ] @@ -2555,7 +2569,7 @@ dependencies = [ "boa_macros", "boa_profiler", "boa_string", - "hashbrown 0.15.4", + "hashbrown 0.15.5", "thin-vec", ] @@ -2567,8 +2581,8 @@ checksum = "42407a3b724cfaecde8f7d4af566df4b56af32a2f11f0956f5570bb974e7f749" dependencies = [ "boa_gc", "boa_macros", - "hashbrown 0.15.4", - "indexmap 2.10.0", + "hashbrown 0.15.5", + "indexmap 2.11.0", "once_cell", "phf", "rustc-hash 2.1.1", @@ -2583,7 +2597,7 @@ checksum = "9fd3f870829131332587f607a7ff909f1af5fc523fd1b192db55fbbdf52e8d3c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -2593,7 +2607,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cc142dac798cdc6e2dbccfddeb50f36d2523bb977a976e19bdb3ae19b740804" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "boa_ast", "boa_interner", "boa_macros", @@ -2636,9 +2650,9 @@ dependencies = [ [[package]] name = "brotli" -version = "8.0.1" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -2685,22 +2699,22 @@ checksum = "175812e0be2bccb6abe50bb8d566126198344f707e304f45c648fd8f2cc0365e" [[package]] name = "bytemuck" -version = "1.23.1" +version = "1.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" +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", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -2746,9 +2760,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.10" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" dependencies = [ "serde", ] @@ -2786,7 +2800,7 @@ dependencies = [ "semver 1.0.26", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -2803,9 +2817,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", ] @@ -2847,9 +2861,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "cfg_aliases" @@ -2922,9 +2936,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.40" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" +checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" dependencies = [ "clap_builder", "clap_derive", @@ -2932,9 +2946,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.40" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" +checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" dependencies = [ "anstream", "anstyle", @@ -2945,14 +2959,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.40" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce" +checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3073,11 +3087,11 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.4" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" +checksum = "3f8e18d0dca9578507f13f9803add0df13362b02c501c1c17734f0dbb52eaf0b" dependencies = [ - "crossterm", + "crossterm 0.29.0", "unicode-segmentation", "unicode-width 0.2.0", ] @@ -3096,6 +3110,28 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "compression-codecs" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7eea68f0e02c2b0aa8856e9a9478444206d4b6828728e7b0697c0f8cca265cb" +dependencies = [ + "brotli", + "compression-core", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "zstd", + "zstd-safe", +] + +[[package]] +name = "compression-core" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e47641d3deaf41fb1538ac1f54735925e275eaf3bf4d55c81b137fba797e5cbb" + [[package]] name = "concat-kdf" version = "0.1.0" @@ -3126,7 +3162,7 @@ dependencies = [ "itertools 0.14.0", "matching-engine", "order-pool", - "rand 0.9.1", + "rand 0.9.2", "reth-metrics", "reth-provider", "reth-tasks", @@ -3143,9 +3179,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.14.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" +checksum = "dccd746bf9b1038c0507b7cec21eb2b11222db96a2902c96e8c185d6d20fb9c4" dependencies = [ "cfg-if", "cpufeatures", @@ -3180,12 +3216,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "constant_time_eq" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - [[package]] name = "convert_case" version = "0.7.1" @@ -3298,15 +3328,15 @@ dependencies = [ "crc", "digest 0.10.7", "libc", - "rand 0.9.1", + "rand 0.9.2", "regex", ] [[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", ] @@ -3394,7 +3424,7 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "crossterm_winapi", "mio", "parking_lot", @@ -3404,6 +3434,20 @@ dependencies = [ "winapi", ] +[[package]] +name = "crossterm" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" +dependencies = [ + "bitflags 2.9.3", + "crossterm_winapi", + "document-features", + "parking_lot", + "rustix 1.0.8", + "winapi", +] + [[package]] name = "crossterm_winapi" version = "0.9.1" @@ -3531,7 +3575,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3555,7 +3599,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3566,7 +3610,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3620,7 +3664,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3692,24 +3736,24 @@ dependencies = [ [[package]] name = "derive-where" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" +checksum = "ef941ded77d15ca19b40374869ac6000af1c9f2a4c0f3d4c70926287e6364a8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "derive_arbitrary" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3730,7 +3774,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3740,7 +3784,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3761,7 +3805,7 @@ dependencies = [ "convert_case 0.7.1", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "unicode-xid", ] @@ -3819,7 +3863,7 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.0", + "redox_users 0.5.2", "windows-sys 0.60.2", ] @@ -3860,7 +3904,7 @@ dependencies = [ "parking_lot", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.5.10", "tokio", "tracing", "uint 0.10.0", @@ -3875,7 +3919,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3900,7 +3944,7 @@ checksum = "9556bc800956545d6420a640173e5ba7dfa82f38d3ea5a167eb555bc69ac3323" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -3909,6 +3953,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aac81fa3e28d21450aa4d2ac065992ba96a1d7303efbce51a95f4fd175b67562" +[[package]] +name = "document-features" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" +dependencies = [ + "litrs", +] + [[package]] name = "dunce" version = "1.0.5" @@ -3917,9 +3970,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" @@ -3960,9 +4013,9 @@ 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", @@ -3982,7 +4035,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4078,7 +4131,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4098,7 +4151,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4114,7 +4167,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -4196,7 +4249,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4281,14 +4334,14 @@ checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" -version = "0.2.25" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" dependencies = [ "cfg-if", "libc", "libredox", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4342,9 +4395,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -4426,7 +4479,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -4477,9 +4530,9 @@ checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" [[package]] name = "generator" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827" +checksum = "605183a538e3e2a9c1038635cc5c2d194e2ee8fd0d1b66b8349fad7dbacce5a2" dependencies = [ "cc", "cfg-if", @@ -4524,7 +4577,7 @@ dependencies = [ "js-sys", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.3+wasi-0.2.4", "wasm-bindgen", ] @@ -4550,7 +4603,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "libc", "libgit2-sys", "log", @@ -4559,9 +4612,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" @@ -4611,12 +4664,12 @@ dependencies = [ [[package]] name = "gmp-mpfr-sys" -version = "1.6.5" +version = "1.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66d61197a68f6323b9afa616cf83d55d69191e1bf364d4eb7d35ae18defe776" +checksum = "a636fb6a653382a379ee1e5593dacdc628667994167024c143214cafd40c1a86" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4643,9 +4696,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", @@ -4653,7 +4706,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.10.0", + "indexmap 2.11.0", "slab", "tokio", "tokio-util", @@ -4662,9 +4715,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", @@ -4672,7 +4725,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.10.0", + "indexmap 2.11.0", "slab", "tokio", "tokio-util", @@ -4718,9 +4771,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", @@ -4793,10 +4846,10 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.9.1", + "rand 0.9.2", "ring", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tinyvec", "tokio", "tracing", @@ -4816,11 +4869,11 @@ dependencies = [ "moka", "once_cell", "parking_lot", - "rand 0.9.1", + "rand 0.9.2", "resolv-conf", "serde", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -5003,14 +5056,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", @@ -5019,20 +5072,22 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "h2 0.4.11", + "futures-core", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -5061,16 +5116,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ "http 1.3.1", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "log", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", "tower-service", - "webpki-roots 1.0.1", + "webpki-roots 1.0.2", ] [[package]] @@ -5081,7 +5136,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "native-tls", "tokio", @@ -5091,9 +5146,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.14" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" +checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" dependencies = [ "base64 0.22.1", "bytes", @@ -5102,12 +5157,12 @@ dependencies = [ "futures-util", "http 1.3.1", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.7.0", "ipnet", "libc", "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.6.0", "system-configuration", "tokio", "tower-service", @@ -5127,7 +5182,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.58.0", + "windows-core 0.61.2", ] [[package]] @@ -5161,7 +5216,7 @@ dependencies = [ "potential_utf", "yoke 0.8.0", "zerofrom", - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -5174,7 +5229,7 @@ dependencies = [ "litemap 0.8.0", "tinystr 0.8.1", "writeable 0.6.1", - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -5240,7 +5295,7 @@ dependencies = [ "icu_properties 2.0.1", "icu_provider 2.0.0", "smallvec", - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -5283,7 +5338,7 @@ dependencies = [ "icu_provider 2.0.0", "potential_utf", "zerotrie", - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -5329,7 +5384,7 @@ dependencies = [ "yoke 0.8.0", "zerofrom", "zerotrie", - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -5340,7 +5395,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -5351,9 +5406,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -5397,7 +5452,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -5421,9 +5476,9 @@ dependencies = [ [[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" @@ -5438,13 +5493,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.15.4", + "hashbrown 0.15.5", "serde", ] @@ -5460,7 +5515,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "inotify-sys", "libc", ] @@ -5486,15 +5541,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", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -5521,13 +5576,24 @@ dependencies = [ "memoffset 0.9.1", ] +[[package]] +name = "io-uring" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +dependencies = [ + "bitflags 2.9.3", + "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", @@ -5557,7 +5623,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5584,6 +5650,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -5632,9 +5707,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -5652,16 +5727,16 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fba77a59c4c644fd48732367624d1bcf6f409f9c9a286fbc71d2f1fc0b2ea16" +checksum = "3f3f48dc3e6b8bd21e15436c1ddd0bc22a6a54e8ec46fedd6adf3425f396ec6a" dependencies = [ "jsonrpsee-client-transport", - "jsonrpsee-core", + "jsonrpsee-core 0.26.0", "jsonrpsee-http-client", "jsonrpsee-proc-macros", - "jsonrpsee-server", - "jsonrpsee-types", + "jsonrpsee-server 0.26.0", + "jsonrpsee-types 0.26.0", "jsonrpsee-wasm-client", "jsonrpsee-ws-client", "tokio", @@ -5670,22 +5745,22 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a320a3f1464e4094f780c4d48413acd786ce5627aaaecfac9e9c7431d13ae1" +checksum = "cf36eb27f8e13fa93dcb50ccb44c417e25b818cfa1a481b5470cd07b19c60b98" dependencies = [ "base64 0.22.1", "futures-channel", "futures-util", "gloo-net", "http 1.3.1", - "jsonrpsee-core", + "jsonrpsee-core 0.26.0", "pin-project", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-rustls 0.26.2", "tokio-util", @@ -5698,6 +5773,31 @@ name = "jsonrpsee-core" version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "693c93cbb7db25f4108ed121304b671a36002c2db67dff2ee4391a688c738547" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "jsonrpsee-types 0.25.1", + "parking_lot", + "pin-project", + "rand 0.9.2", + "rustc-hash 2.1.1", + "serde", + "serde_json", + "thiserror 2.0.16", + "tokio", + "tower", + "tracing", +] + +[[package]] +name = "jsonrpsee-core" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "316c96719901f05d1137f19ba598b5fe9c9bc39f4335f67f6be8613921946480" dependencies = [ "async-trait", "bytes", @@ -5706,14 +5806,14 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "jsonrpsee-types", + "jsonrpsee-types 0.26.0", "parking_lot", "pin-project", - "rand 0.9.1", + "rand 0.9.2", "rustc-hash 2.1.1", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tower", @@ -5723,22 +5823,22 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6962d2bd295f75e97dd328891e58fce166894b974c1f7ce2e7597f02eeceb791" +checksum = "790bedefcec85321e007ff3af84b4e417540d5c87b3c9779b9e247d1bcc3dab8" dependencies = [ "base64 0.22.1", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-rustls 0.27.7", "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", - "rustls 0.23.28", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", + "rustls 0.23.31", "rustls-platform-verifier", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tower", "url", @@ -5746,15 +5846,15 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fa4f5daed39f982a1bb9d15449a28347490ad42b212f8eaa2a2a344a0dce9e9" +checksum = "2da3f8ab5ce1bb124b6d082e62dffe997578ceaf0aeb9f3174a214589dc00f07" dependencies = [ "heck", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -5767,16 +5867,43 @@ dependencies = [ "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", + "hyper-util", + "jsonrpsee-core 0.25.1", + "jsonrpsee-types 0.25.1", + "pin-project", + "route-recognizer", + "serde", + "serde_json", + "soketto", + "thiserror 2.0.16", + "tokio", + "tokio-stream", + "tokio-util", + "tower", + "tracing", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c51b7c290bb68ce3af2d029648148403863b982f138484a73f02a9dd52dbd7f" +dependencies = [ + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.7.0", "hyper-util", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "pin-project", "route-recognizer", "serde", "serde_json", "soketto", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -5793,31 +5920,43 @@ dependencies = [ "http 1.3.1", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc88ff4688e43cc3fa9883a8a95c6fa27aa2e76c96e610b737b6554d650d7fd5" +dependencies = [ + "http 1.3.1", + "serde", + "serde_json", + "thiserror 2.0.16", ] [[package]] name = "jsonrpsee-wasm-client" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b67695cbcf4653f39f8f8738925547e0e23fd9fe315bccf951097b9f6a38781" +checksum = "7902885de4779f711a95d82c8da2d7e5f9f3a7c7cfa44d51c067fd1c29d72a3c" dependencies = [ "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "tower", ] [[package]] name = "jsonrpsee-ws-client" -version = "0.25.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da2694c9ff271a9d3ebfe520f6b36820e85133a51be77a3cb549fd615095261" +checksum = "9b6fceceeb05301cc4c065ab3bd2fa990d41ff4eb44e4ca1b30fa99c057c3e79" dependencies = [ "http 1.3.1", "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "tower", "url", ] @@ -5905,9 +6044,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libgit2-sys" @@ -5938,7 +6077,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.53.3", ] [[package]] @@ -5961,7 +6100,7 @@ dependencies = [ "multihash", "quick-protobuf", "sha2 0.10.9", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", "zeroize", ] @@ -5979,11 +6118,11 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.4" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" +checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "libc", "redox_syscall", ] @@ -6098,6 +6237,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +[[package]] +name = "litrs" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" + [[package]] name = "lock_api" version = "0.4.13" @@ -6134,7 +6279,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.15.4", + "hashbrown 0.15.5", ] [[package]] @@ -6143,7 +6288,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "hashbrown 0.15.4", + "hashbrown 0.15.5", ] [[package]] @@ -6194,7 +6339,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6267,7 +6412,7 @@ dependencies = [ "jsonrpsee", "pade", "pade-macro", - "rand 0.9.1", + "rand 0.9.2", "rand_distr", "reth-tasks", "serde", @@ -6300,9 +6445,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" -version = "0.9.5" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" dependencies = [ "libc", ] @@ -6365,7 +6510,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6376,10 +6521,10 @@ checksum = "dd7399781913e5393588a8d8c6a2867bf85fb38eaf2502fdce465aad2dc6f034" dependencies = [ "base64 0.22.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-rustls 0.27.7", "hyper-util", - "indexmap 2.10.0", + "indexmap 2.11.0", "ipnet", "metrics 0.24.2", "metrics-util 0.19.1", @@ -6397,7 +6542,7 @@ checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6439,10 +6584,10 @@ checksum = "b8496cc523d1f94c1385dd8f0f0c2c480b2b8aeccb5b7e4485ad6365523ae376" dependencies = [ "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.15.4", + "hashbrown 0.15.5", "metrics 0.24.2", "quanta", - "rand 0.9.1", + "rand 0.9.2", "rand_xoshiro", "sketches-ddsketch", ] @@ -6456,13 +6601,13 @@ dependencies = [ "aho-corasick", "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.15.4", - "indexmap 2.10.0", + "hashbrown 0.15.5", + "indexmap 2.11.0", "metrics 0.24.2", "ordered-float", "quanta", "radix_trie", - "rand 0.9.1", + "rand 0.9.2", "rand_xoshiro", "sketches-ddsketch", ] @@ -6562,7 +6707,7 @@ dependencies = [ "smallvec", "tagptr", "thiserror 1.0.69", - "uuid 1.17.0", + "uuid 1.18.0", ] [[package]] @@ -6656,7 +6801,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cfg-if", "cfg_aliases", "libc", @@ -6674,12 +6819,11 @@ dependencies = [ [[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.1", - "filetime", + "bitflags 2.9.3", "fsevent-sys", "inotify", "kqueue", @@ -6688,7 +6832,7 @@ dependencies = [ "mio", "notify-types", "walkdir", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -6826,7 +6970,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -6840,12 +6984,13 @@ dependencies = [ [[package]] name = "nybbles" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d51b0175c49668a033fe7cc69080110d9833b291566cdf332905f3ad9c68a0" +checksum = "63cb50036b1ad148038105af40aaa70ff24d8a14fbc44ae5c914e1348533d12e" dependencies = [ "alloy-rlp", "arbitrary", + "cfg-if", "proptest", "ruint", "serde", @@ -6885,9 +7030,9 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" [[package]] name = "op-alloy-consensus" -version = "0.18.13" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3c719b26da6d9cac18c3a35634d6ab27a74a304ed9b403b43749c22e57a389f" +checksum = "d9ade20c592484ba1ea538006e0454284174447a3adf9bb59fa99ed512f95493" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6900,7 +7045,7 @@ dependencies = [ "derive_more", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -6911,9 +7056,9 @@ checksum = "a79f352fc3893dcd670172e615afef993a41798a1d3fc0db88a3e60ef2e70ecc" [[package]] name = "op-alloy-network" -version = "0.18.13" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66be312d3446099f1c46b3bb4bbaccdd4b3d6fb3668921158e3d47dff0a8d4a0" +checksum = "84741a798124ceb43979d70db654039937a00979b1341fa8bfdc48473bbd52bf" dependencies = [ "alloy-consensus", "alloy-network", @@ -6927,9 +7072,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-jsonrpsee" -version = "0.18.13" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3833995acfc568fdac3684f037c4ed3f1f2bd2ef5deeb3f46ecee32aafa34c8e" +checksum = "aa85f170bf8f914a7619e1447918781a8c5bd1041bb6629940b851e865487156" dependencies = [ "alloy-primitives", "jsonrpsee", @@ -6937,9 +7082,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types" -version = "0.18.13" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99911fa02e717a96ba24de59874b20cf31c9d116ce79ed4e0253267260b6922f" +checksum = "9076d4fcb8e260cec8ad01cd155200c0dbb562e62adb553af245914f30854e29" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6951,14 +7096,14 @@ dependencies = [ "op-alloy-consensus", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "op-alloy-rpc-types-engine" -version = "0.18.13" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cf45d43a3d548fdc39d9bfab6ba13cc06b3214ef4b9c36d3efbf3faea1b9f1" +checksum = "d4256b1eda5766a9fa7de5874e54515994500bef632afda41e940aed015f9455" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6972,7 +7117,7 @@ dependencies = [ "op-alloy-consensus", "serde", "snap", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -6985,13 +7130,12 @@ dependencies = [ [[package]] name = "op-revm" -version = "8.0.3" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee9ba9cab294a5ed02afd1a1060220762b3c52911acab635db33822e93f7276d" +checksum = "5ba21d705bbbfc947a423cba466d75e4af0c7d43ee89ba0a0f1cfa04963cede9" dependencies = [ "auto_impl", - "once_cell", - "revm", + "revm 29.0.0", "serde", ] @@ -7007,7 +7151,7 @@ version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cfg-if", "foreign-types", "libc", @@ -7024,7 +7168,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7064,7 +7208,7 @@ dependencies = [ "futures", "futures-util", "pade", - "rand 0.9.1", + "rand 0.9.2", "reth-discv4", "reth-metrics", "reth-network", @@ -7166,7 +7310,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7206,7 +7350,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7269,9 +7413,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" @@ -7280,7 +7424,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", - "thiserror 2.0.12", + "thiserror 2.0.16", "ucd-trie", ] @@ -7325,7 +7469,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7354,7 +7498,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7462,7 +7606,7 @@ dependencies = [ "angstrom-types", "arraydeque", "bincode", - "convert_case 0.7.1", + "convert_case 0.8.0", "dashmap 6.1.0", "divan", "eyre", @@ -7470,7 +7614,7 @@ dependencies = [ "futures-util", "hex", "homedir", - "itertools 0.10.5", + "itertools 0.14.0", "linked_hash_set", "malachite", "once_cell", @@ -7478,7 +7622,7 @@ dependencies = [ "pade", "pade-macro", "parking_lot", - "rand 0.9.1", + "rand 0.9.2", "rayon", "reth", "reth-discv4", @@ -7490,7 +7634,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "reth-transaction-pool", - "revm", + "revm 27.1.0", "revm-bytecode", "revm-database", "revm-primitives", @@ -7505,7 +7649,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "toml", + "toml 0.9.5", "tracing", "tracing-subscriber 0.3.19", "uniswap_v3_math", @@ -7520,11 +7664,11 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -7554,12 +7698,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.35" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -7610,14 +7754,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -7628,7 +7772,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "chrono", "flate2", "hex", @@ -7643,7 +7787,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "chrono", "flate2", "hex", @@ -7657,7 +7801,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "chrono", "hex", ] @@ -7668,7 +7812,7 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "chrono", "hex", ] @@ -7696,13 +7840,13 @@ checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.9.1", + "bitflags 2.9.3", "lazy_static", "num-traits", - "rand 0.9.1", + "rand 0.9.2", "rand_chacha 0.9.0", "rand_xorshift", - "regex-syntax 0.8.5", + "regex-syntax 0.8.6", "rusty-fork", "tempfile", "unarray", @@ -7726,7 +7870,18 @@ checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", +] + +[[package]] +name = "proptest-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "095a99f75c69734802359b682be8daaf8980296731f6470434ea2c652af1dd30" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] @@ -7761,7 +7916,7 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "memchr", "unicase", ] @@ -7798,9 +7953,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" dependencies = [ "bytes", "cfg_aliases", @@ -7808,9 +7963,9 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.28", - "socket2", - "thiserror 2.0.12", + "rustls 0.23.31", + "socket2 0.6.0", + "thiserror 2.0.16", "tokio", "tracing", "web-time", @@ -7818,20 +7973,20 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" +checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ "bytes", "getrandom 0.3.3", "lru-slab", - "rand 0.9.1", + "rand 0.9.2", "ring", "rustc-hash 2.1.1", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-pki-types", "slab", - "thiserror 2.0.12", + "thiserror 2.0.16", "tinyvec", "tracing", "web-time", @@ -7839,16 +7994,16 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.13" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2", + "socket2 0.6.0", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -7896,9 +8051,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -7951,7 +8106,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" dependencies = [ "num-traits", - "rand 0.9.1", + "rand 0.9.2", ] [[package]] @@ -7978,10 +8133,10 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cassowary", "compact_str", - "crossterm", + "crossterm 0.28.1", "indoc", "instability", "itertools 0.13.0", @@ -7999,14 +8154,14 @@ version = "11.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", ] [[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", @@ -8014,9 +8169,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", @@ -8030,11 +8185,11 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.13" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", ] [[package]] @@ -8050,13 +8205,13 @@ dependencies = [ [[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.16", "libredox", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -8076,19 +8231,19 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata 0.4.10", + "regex-syntax 0.8.6", ] [[package]] @@ -8102,20 +8257,20 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax 0.8.6", ] [[package]] name = "regex-lite" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" +checksum = "943f41321c63ef1c92fd763bfe054d2668f7f225a5c29f0105903dc2fc04ba30" [[package]] name = "regex-syntax" @@ -8125,17 +8280,17 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[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.4", + "hashbrown 0.15.5", "memchr", ] @@ -8149,23 +8304,23 @@ dependencies = [ "clap", "eyre", "futures", - "rand 0.9.1", + "rand 0.9.2", "reth", "reth-provider", "serde", "telemetry", "testing-tools", "tokio", - "toml", + "toml 0.9.5", "tracing", "tracing-subscriber 0.3.19", ] [[package]] name = "reqwest" -version = "0.12.22" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64 0.22.1", "bytes", @@ -8173,11 +8328,11 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.11", + "h2 0.4.12", "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-rustls 0.27.7", "hyper-tls", "hyper-util", @@ -8188,7 +8343,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "serde", @@ -8207,7 +8362,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 1.0.1", + "webpki-roots 1.0.2", ] [[package]] @@ -8219,7 +8374,7 @@ checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" [[package]] name = "reth" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-rpc-types", "aquamarine", @@ -8265,7 +8420,7 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8289,7 +8444,7 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8300,7 +8455,7 @@ dependencies = [ "metrics 0.24.2", "parking_lot", "pin-project", - "rand 0.9.1", + "rand 0.9.2", "reth-chainspec", "reth-errors", "reth-ethereum-primitives", @@ -8320,7 +8475,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8340,7 +8495,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-genesis", "clap", @@ -8354,7 +8509,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "ahash", "alloy-chains", @@ -8365,7 +8520,7 @@ dependencies = [ "backon", "clap", "comfy-table", - "crossterm", + "crossterm 0.28.1", "eyre", "fdlimit", "futures", @@ -8420,14 +8575,14 @@ dependencies = [ "tar", "tokio", "tokio-stream", - "toml", + "toml 0.8.23", "tracing", ] [[package]] name = "reth-cli-runner" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "reth-tasks", "tokio", @@ -8437,7 +8592,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8448,14 +8603,14 @@ dependencies = [ "reth-fs-util", "secp256k1 0.30.0", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tikv-jemallocator", ] [[package]] name = "reth-codecs" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8475,18 +8630,18 @@ dependencies = [ [[package]] name = "reth-codecs-derive" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "convert_case 0.7.1", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "reth-config" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "eyre", "humantime-serde", @@ -8494,27 +8649,27 @@ dependencies = [ "reth-prune-types", "reth-stages-types", "serde", - "toml", + "toml 0.8.23", "url", ] [[package]] name = "reth-consensus" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", "auto_impl", "reth-execution-types", "reth-primitives-traits", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-consensus-common" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8526,7 +8681,7 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8551,7 +8706,7 @@ dependencies = [ [[package]] name = "reth-db" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "derive_more", @@ -8568,16 +8723,16 @@ dependencies = [ "reth-storage-errors", "reth-tracing", "rustc-hash 2.1.1", - "strum 0.27.1", + "strum 0.27.2", "sysinfo", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-db-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -8605,7 +8760,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -8617,6 +8772,7 @@ dependencies = [ "reth-config", "reth-db-api", "reth-etl", + "reth-execution-errors", "reth-fs-util", "reth-node-types", "reth-primitives-traits", @@ -8627,14 +8783,14 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", ] [[package]] name = "reth-db-models" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8649,7 +8805,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8666,7 +8822,7 @@ dependencies = [ "schnellru", "secp256k1 0.30.0", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tracing", @@ -8675,7 +8831,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8685,13 +8841,13 @@ dependencies = [ "futures", "itertools 0.14.0", "metrics 0.24.2", - "rand 0.9.1", + "rand 0.9.2", "reth-chainspec", "reth-ethereum-forks", "reth-metrics", "reth-network-peers", "secp256k1 0.30.0", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -8699,7 +8855,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "data-encoding", @@ -8714,7 +8870,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tracing", @@ -8723,7 +8879,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8743,7 +8899,7 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -8753,7 +8909,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "aes", "alloy-primitives", @@ -8773,7 +8929,7 @@ dependencies = [ "secp256k1 0.30.0", "sha2 0.10.9", "sha3", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -8784,7 +8940,7 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8808,7 +8964,7 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8819,21 +8975,21 @@ dependencies = [ "reth-chain-state", "reth-errors", "reth-ethereum-primitives", + "reth-evm", "reth-execution-types", "reth-payload-builder-primitives", "reth-payload-primitives", "reth-primitives-traits", - "reth-trie", "reth-trie-common", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", ] [[package]] name = "reth-engine-service" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "futures", "pin-project", @@ -8850,13 +9006,13 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-engine-tree" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8866,7 +9022,6 @@ dependencies = [ "alloy-rpc-types-engine", "derive_more", "futures", - "itertools 0.14.0", "metrics 0.24.2", "mini-moka", "parking_lot", @@ -8878,6 +9033,7 @@ dependencies = [ "reth-errors", "reth-ethereum-primitives", "reth-evm", + "reth-execution-types", "reth-metrics", "reth-network-p2p", "reth-payload-builder", @@ -8893,10 +9049,11 @@ dependencies = [ "reth-trie-parallel", "reth-trie-sparse", "reth-trie-sparse-parallel", - "revm", + "revm 29.0.0", "revm-primitives", "schnellru", - "thiserror 2.0.12", + "smallvec", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -8904,7 +9061,7 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8914,6 +9071,7 @@ dependencies = [ "pin-project", "reth-chainspec", "reth-engine-primitives", + "reth-engine-tree", "reth-errors", "reth-evm", "reth-fs-util", @@ -8931,7 +9089,7 @@ dependencies = [ [[package]] name = "reth-era" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8941,13 +9099,13 @@ dependencies = [ "ethereum_ssz_derive", "reth-ethereum-primitives", "snap", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-era-downloader" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "bytes", @@ -8962,7 +9120,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8986,18 +9144,18 @@ dependencies = [ [[package]] name = "reth-errors" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "reth-consensus", "reth-execution-errors", "reth-storage-errors", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-eth-wire" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-chains", "alloy-primitives", @@ -9015,7 +9173,7 @@ dependencies = [ "reth-primitives-traits", "serde", "snap", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -9025,12 +9183,12 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-chains", "alloy-consensus", "alloy-eips", - "alloy-hardforks", + "alloy-hardforks 0.3.0", "alloy-primitives", "alloy-rlp", "bytes", @@ -9040,15 +9198,14 @@ dependencies = [ "reth-ethereum-primitives", "reth-primitives-traits", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-ethereum-cli" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ - "alloy-consensus", "clap", "eyre", "reth-chainspec", @@ -9068,7 +9225,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9084,7 +9241,7 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9096,16 +9253,16 @@ dependencies = [ "reth-primitives-traits", "serde", "sha2 0.10.9", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-ethereum-forks" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eip2124", - "alloy-hardforks", + "alloy-hardforks 0.3.0", "alloy-primitives", "arbitrary", "auto_impl", @@ -9116,14 +9273,16 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", + "alloy-rlp", "alloy-rpc-types-engine", "reth-basic-payload-builder", "reth-chainspec", + "reth-consensus-common", "reth-errors", "reth-ethereum-primitives", "reth-evm", @@ -9136,14 +9295,14 @@ dependencies = [ "reth-revm", "reth-storage-api", "reth-transaction-pool", - "revm", + "revm 29.0.0", "tracing", ] [[package]] name = "reth-ethereum-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9161,7 +9320,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "rayon", "reth-db-api", @@ -9171,7 +9330,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9188,44 +9347,46 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie-common", - "revm", + "revm 29.0.0", ] [[package]] name = "reth-evm-ethereum" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", + "alloy-rpc-types-engine", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", "reth-evm", "reth-execution-types", "reth-primitives-traits", - "revm", + "reth-storage-errors", + "revm 29.0.0", ] [[package]] name = "reth-execution-errors" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-evm", "alloy-primitives", "alloy-rlp", "nybbles", "reth-storage-errors", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-execution-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9235,7 +9396,7 @@ dependencies = [ "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", - "revm", + "revm 29.0.0", "serde", "serde_with", ] @@ -9243,7 +9404,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9272,7 +9433,7 @@ dependencies = [ "reth-tasks", "reth-tracing", "rmp-serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-util", "tracing", @@ -9281,7 +9442,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9295,17 +9456,17 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-invalid-block-hooks" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9333,7 +9494,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "bytes", "futures", @@ -9342,7 +9503,7 @@ dependencies = [ "jsonrpsee", "pin-project", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -9353,24 +9514,24 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "byteorder", "dashmap 6.1.0", "derive_more", - "indexmap 2.10.0", + "indexmap 2.11.0", "parking_lot", "reth-mdbx-sys", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", ] [[package]] name = "reth-mdbx-sys" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "bindgen 0.70.1", "cc", @@ -9379,7 +9540,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "futures", "metrics 0.24.2", @@ -9391,7 +9552,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", ] @@ -9399,13 +9560,13 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "futures-util", "if-addrs", "reqwest", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -9413,7 +9574,7 @@ dependencies = [ [[package]] name = "reth-network" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9430,7 +9591,7 @@ dependencies = [ "parking_lot", "pin-project", "rand 0.8.5", - "rand 0.9.1", + "rand 0.9.2", "reth-chainspec", "reth-consensus", "reth-discv4", @@ -9458,7 +9619,7 @@ dependencies = [ "secp256k1 0.30.0", "serde", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-util", @@ -9468,7 +9629,7 @@ dependencies = [ [[package]] name = "reth-network-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9485,7 +9646,7 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", ] @@ -9493,7 +9654,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9516,14 +9677,14 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "alloy-rlp", "enr", "secp256k1 0.30.0", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "url", ] @@ -9531,7 +9692,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -9545,7 +9706,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "anyhow", "bincode", @@ -9554,7 +9715,7 @@ dependencies = [ "memmap2", "reth-fs-util", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", "zstd", ] @@ -9562,7 +9723,7 @@ dependencies = [ [[package]] name = "reth-node-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -9586,7 +9747,7 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9612,6 +9773,7 @@ dependencies = [ "reth-db-common", "reth-downloaders", "reth-engine-local", + "reth-engine-primitives", "reth-engine-service", "reth-engine-tree", "reth-engine-util", @@ -9628,6 +9790,7 @@ dependencies = [ "reth-node-events", "reth-node-metrics", "reth-payload-builder", + "reth-primitives-traits", "reth-provider", "reth-prune", "reth-rpc", @@ -9652,7 +9815,7 @@ dependencies = [ [[package]] name = "reth-node-core" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9664,7 +9827,7 @@ dependencies = [ "eyre", "futures", "humantime", - "rand 0.9.1", + "rand 0.9.2", "reth-chainspec", "reth-cli-util", "reth-config", @@ -9692,9 +9855,9 @@ dependencies = [ "secp256k1 0.30.0", "serde", "shellexpand", - "strum 0.27.1", - "thiserror 2.0.12", - "toml", + "strum 0.27.2", + "thiserror 2.0.16", + "toml 0.8.23", "tracing", "url", "vergen", @@ -9704,7 +9867,7 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-network", @@ -9735,14 +9898,14 @@ dependencies = [ "reth-rpc-server-types", "reth-tracing", "reth-transaction-pool", - "reth-trie-db", - "revm", + "revm 29.0.0", + "tokio", ] [[package]] name = "reth-node-ethstats" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9755,7 +9918,7 @@ dependencies = [ "reth-transaction-pool", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tokio-tungstenite", @@ -9766,7 +9929,7 @@ dependencies = [ [[package]] name = "reth-node-events" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9790,11 +9953,11 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "eyre", "http 1.3.1", - "jsonrpsee-server", + "jsonrpsee-server 0.26.0", "metrics 0.24.2", "metrics-exporter-prometheus", "metrics-process 2.4.0", @@ -9811,26 +9974,25 @@ dependencies = [ [[package]] name = "reth-node-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "reth-chainspec", "reth-db-api", "reth-engine-primitives", "reth-payload-primitives", "reth-primitives-traits", - "reth-trie-db", ] [[package]] name = "reth-optimism-chainspec" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-chains", "alloy-consensus", "alloy-eips", "alloy-genesis", - "alloy-hardforks", + "alloy-hardforks 0.3.0", "alloy-primitives", "derive_more", "miniz_oxide", @@ -9846,13 +10008,13 @@ dependencies = [ "serde", "serde_json", "tar-no-std", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-optimism-cli" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9899,7 +10061,7 @@ dependencies = [ [[package]] name = "reth-optimism-consensus" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9916,15 +10078,15 @@ dependencies = [ "reth-storage-api", "reth-storage-errors", "reth-trie-common", - "revm", - "thiserror 2.0.12", + "revm 29.0.0", + "thiserror 2.0.16", "tracing", ] [[package]] name = "reth-optimism-evm" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9932,6 +10094,7 @@ dependencies = [ "alloy-op-evm", "alloy-primitives", "op-alloy-consensus", + "op-alloy-rpc-types-engine", "op-revm", "reth-chainspec", "reth-evm", @@ -9943,14 +10106,46 @@ dependencies = [ "reth-optimism-primitives", "reth-primitives-traits", "reth-rpc-eth-api", - "revm", - "thiserror 2.0.12", + "reth-storage-errors", + "revm 29.0.0", + "thiserror 2.0.16", +] + +[[package]] +name = "reth-optimism-flashblocks" +version = "1.6.0" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rpc-types-engine", + "alloy-serde", + "brotli", + "eyre", + "futures-util", + "reth-chain-state", + "reth-errors", + "reth-evm", + "reth-execution-types", + "reth-optimism-evm", + "reth-optimism-primitives", + "reth-primitives-traits", + "reth-revm", + "reth-rpc-eth-api", + "reth-rpc-eth-types", + "reth-storage-api", + "serde", + "serde_json", + "tokio", + "tokio-tungstenite", + "tracing", + "url", ] [[package]] name = "reth-optimism-forks" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-op-hardforks", "alloy-primitives", @@ -9961,7 +10156,7 @@ dependencies = [ [[package]] name = "reth-optimism-node" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9998,15 +10193,16 @@ dependencies = [ "reth-tracing", "reth-transaction-pool", "reth-trie-common", - "reth-trie-db", - "revm", + "revm 29.0.0", "serde", + "tokio", + "url", ] [[package]] name = "reth-optimism-payload-builder" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10035,17 +10231,17 @@ dependencies = [ "reth-revm", "reth-storage-api", "reth-transaction-pool", - "revm", + "revm 29.0.0", "serde", "sha2 0.10.9", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", ] [[package]] name = "reth-optimism-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10065,7 +10261,7 @@ dependencies = [ [[package]] name = "reth-optimism-rpc" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10081,8 +10277,8 @@ dependencies = [ "derive_more", "eyre", "jsonrpsee", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "metrics 0.24.2", "op-alloy-consensus", "op-alloy-network", @@ -10097,6 +10293,7 @@ dependencies = [ "reth-node-api", "reth-node-builder", "reth-optimism-evm", + "reth-optimism-flashblocks", "reth-optimism-forks", "reth-optimism-payload-builder", "reth-optimism-primitives", @@ -10111,9 +10308,9 @@ dependencies = [ "reth-storage-api", "reth-tasks", "reth-transaction-pool", - "revm", + "revm 29.0.0", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tower", "tracing", @@ -10122,7 +10319,7 @@ dependencies = [ [[package]] name = "reth-optimism-storage" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10138,7 +10335,7 @@ dependencies = [ [[package]] name = "reth-optimism-txpool" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10166,7 +10363,7 @@ dependencies = [ "reth-storage-api", "reth-transaction-pool", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -10174,7 +10371,7 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-rpc-types", @@ -10194,7 +10391,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "pin-project", "reth-payload-primitives", @@ -10206,7 +10403,7 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -10218,14 +10415,14 @@ dependencies = [ "reth-errors", "reth-primitives-traits", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", ] [[package]] name = "reth-payload-util" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10235,7 +10432,7 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -10245,10 +10442,9 @@ dependencies = [ [[package]] name = "reth-primitives" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", - "arbitrary", "c-kzg", "once_cell", "reth-ethereum-forks", @@ -10260,7 +10456,7 @@ dependencies = [ [[package]] name = "reth-primitives-traits" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10287,13 +10483,13 @@ dependencies = [ "secp256k1 0.30.0", "serde", "serde_with", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-provider" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10330,7 +10526,7 @@ dependencies = [ "reth-trie-db", "revm-database", "revm-state", - "strum 0.27.1", + "strum 0.27.2", "tokio", "tracing", ] @@ -10338,7 +10534,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10358,7 +10554,7 @@ dependencies = [ "reth-static-file-types", "reth-tokio-util", "rustc-hash 2.1.1", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -10366,7 +10562,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "arbitrary", @@ -10374,13 +10570,13 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-ress-protocol" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10399,7 +10595,7 @@ dependencies = [ [[package]] name = "reth-ress-provider" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10426,20 +10622,20 @@ dependencies = [ [[package]] name = "reth-revm" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", "reth-trie", - "revm", + "revm 29.0.0", ] [[package]] name = "reth-rpc" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -10449,6 +10645,7 @@ dependencies = [ "alloy-network", "alloy-primitives", "alloy-rlp", + "alloy-rpc-client", "alloy-rpc-types", "alloy-rpc-types-admin", "alloy-rpc-types-beacon", @@ -10466,15 +10663,17 @@ dependencies = [ "futures", "http 1.3.1", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.7.0", + "itertools 0.14.0", "jsonrpsee", - "jsonrpsee-types", + "jsonrpsee-types 0.26.0", "jsonwebtoken", "parking_lot", "pin-project", "reth-chain-state", "reth-chainspec", "reth-consensus", + "reth-consensus-common", "reth-engine-primitives", "reth-errors", "reth-evm", @@ -10497,13 +10696,13 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie-common", - "revm", + "revm 29.0.0", "revm-inspectors", "revm-primitives", "serde", "serde_json", "sha2 0.10.9", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tower", @@ -10514,7 +10713,7 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-genesis", @@ -10542,7 +10741,7 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-network", "alloy-provider", @@ -10569,7 +10768,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-util", "tower", @@ -10580,7 +10779,7 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-json-rpc", @@ -10588,7 +10787,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-signer", - "jsonrpsee-types", + "jsonrpsee-types 0.26.0", "op-alloy-consensus", "op-alloy-network", "op-alloy-rpc-types", @@ -10598,21 +10797,21 @@ dependencies = [ "reth-optimism-primitives", "reth-primitives-traits", "reth-storage-api", - "revm-context", - "thiserror 2.0.12", + "revm-context 9.0.2", + "thiserror 2.0.16", ] [[package]] name = "reth-rpc-engine-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "async-trait", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "metrics 0.24.2", "parking_lot", "reth-chainspec", @@ -10627,7 +10826,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -10635,7 +10834,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -10653,7 +10852,7 @@ dependencies = [ "dyn-clone", "futures", "jsonrpsee", - "jsonrpsee-types", + "jsonrpsee-types 0.26.0", "parking_lot", "reth-chain-state", "reth-chainspec", @@ -10670,7 +10869,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie-common", - "revm", + "revm 29.0.0", "revm-inspectors", "tokio", "tracing", @@ -10679,22 +10878,25 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-network", "alloy-primitives", + "alloy-rpc-client", "alloy-rpc-types-eth", "alloy-sol-types", + "alloy-transport", "derive_more", "futures", "itertools 0.14.0", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "metrics 0.24.2", - "rand 0.9.1", + "rand 0.9.2", + "reqwest", "reth-chain-state", "reth-chainspec", "reth-errors", @@ -10710,11 +10912,11 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "reth-trie", - "revm", + "revm 29.0.0", "revm-inspectors", "schnellru", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tracing", @@ -10723,7 +10925,7 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-rpc-types-engine", "http 1.3.1", @@ -10737,29 +10939,28 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.26.0", + "jsonrpsee-types 0.26.0", "reth-errors", "reth-network-api", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] name = "reth-stages" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "bincode", - "blake3", "eyre", "futures-util", "itertools 0.14.0", @@ -10790,8 +10991,7 @@ dependencies = [ "reth-storage-errors", "reth-trie", "reth-trie-db", - "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -10799,7 +10999,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -10818,7 +11018,7 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -10826,7 +11026,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "arbitrary", @@ -10840,7 +11040,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "parking_lot", @@ -10860,19 +11060,19 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "clap", "derive_more", "serde", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] name = "reth-storage-api" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10889,14 +11089,13 @@ dependencies = [ "reth-stages-types", "reth-storage-errors", "reth-trie-common", - "reth-trie-db", "revm-database", ] [[package]] name = "reth-storage-errors" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-eips", "alloy-primitives", @@ -10906,13 +11105,13 @@ dependencies = [ "reth-prune-types", "reth-static-file-types", "revm-database-interface", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "reth-tasks" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "auto_impl", "dyn-clone", @@ -10921,7 +11120,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", "tracing-futures", @@ -10930,7 +11129,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "tokio", "tokio-stream", @@ -10940,7 +11139,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "clap", "eyre", @@ -10955,7 +11154,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10963,12 +11162,13 @@ dependencies = [ "alloy-rlp", "aquamarine", "auto_impl", - "bitflags 2.9.1", + "bitflags 2.9.3", "futures-util", "metrics 0.24.2", "parking_lot", "paste", - "rand 0.9.1", + "pin-project", + "rand 0.9.2", "reth-chain-state", "reth-chainspec", "reth-eth-wire-types", @@ -10979,13 +11179,14 @@ dependencies = [ "reth-primitives-traits", "reth-storage-api", "reth-tasks", - "revm-interpreter", + "revm-interpreter 25.0.2", "revm-primitives", "rustc-hash 2.1.1", "schnellru", "serde", + "serde_json", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tokio-stream", "tracing", @@ -10994,7 +11195,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11019,7 +11220,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -11045,7 +11246,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "reth-db-api", @@ -11058,7 +11259,7 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -11075,7 +11276,7 @@ dependencies = [ "reth-trie-common", "reth-trie-db", "reth-trie-sparse", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", ] @@ -11083,13 +11284,14 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-trie", "auto_impl", "metrics 0.24.2", + "rayon", "reth-execution-errors", "reth-metrics", "reth-primitives-traits", @@ -11101,13 +11303,15 @@ dependencies = [ [[package]] name = "reth-trie-sparse-parallel" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-trie", + "metrics 0.24.2", "rayon", "reth-execution-errors", + "reth-metrics", "reth-trie-common", "reth-trie-sparse", "smallvec", @@ -11117,38 +11321,56 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" version = "1.6.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.6.0#d8451e54e7267f9f1634118d6d279b2216f7e2bb" +source = "git+https://github.com/paradigmxyz/reth?rev=21ba9c4#21ba9c4e050d91916bdbc6ed6485821af4f51015" dependencies = [ "zstd", ] [[package]] name = "revm" -version = "27.0.3" +version = "27.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a84455f03d3480d4ed2e7271c15f2ec95b758e86d57cb8d258a8ff1c22e9a4" +checksum = "5e6bf82101a1ad8a2b637363a37aef27f88b4efc8a6e24c72bf5f64923dc5532" dependencies = [ "revm-bytecode", - "revm-context", - "revm-context-interface", + "revm-context 8.0.4", + "revm-context-interface 9.0.0", "revm-database", "revm-database-interface", - "revm-handler", - "revm-inspector", - "revm-interpreter", - "revm-precompile", + "revm-handler 8.1.0", + "revm-inspector 8.1.0", + "revm-interpreter 24.0.0", + "revm-precompile 25.0.0", + "revm-primitives", + "revm-state", +] + +[[package]] +name = "revm" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c278b6ee9bba9e25043e3fae648fdce632d1944d3ba16f5203069b43bddd57f" +dependencies = [ + "revm-bytecode", + "revm-context 9.0.2", + "revm-context-interface 10.1.0", + "revm-database", + "revm-database-interface", + "revm-handler 10.0.0", + "revm-inspector 10.0.0", + "revm-interpreter 25.0.2", + "revm-precompile 27.0.0", "revm-primitives", "revm-state", ] [[package]] name = "revm-bytecode" -version = "6.0.1" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a685758a4f375ae9392b571014b9779cfa63f0d8eb91afb4626ddd958b23615" +checksum = "66c52031b73cae95d84cd1b07725808b5fd1500da3e5e24574a3b2dc13d9f16d" dependencies = [ "bitvec", - "once_cell", "phf", "revm-primitives", "serde", @@ -11156,14 +11378,47 @@ dependencies = [ [[package]] name = "revm-context" -version = "8.0.3" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a990abf66b47895ca3e915d5f3652bb7c6a4cff6e5351fdf0fc2795171fd411c" +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", + "serde", +] + +[[package]] +name = "revm-context" +version = "9.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fb02c5dab3b535aa5b18277b1d21c5117a25d42af717e6ce133df0ea56663e1" +dependencies = [ + "bitvec", + "cfg-if", + "derive-where", + "revm-bytecode", + "revm-context-interface 10.1.0", + "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", + "alloy-eip7702", + "auto_impl", + "either", "revm-database-interface", "revm-primitives", "revm-state", @@ -11172,9 +11427,9 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "8.0.1" +version = "10.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a303a93102fceccec628265efd550ce49f2817b38ac3a492c53f7d524f18a1ca" +checksum = "6b8e9311d27cf75fbf819e7ba4ca05abee1ae02e44ff6a17301c7ab41091b259" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -11188,9 +11443,9 @@ dependencies = [ [[package]] name = "revm-database" -version = "7.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7db360729b61cc347f9c2f12adb9b5e14413aea58778cf9a3b7676c6a4afa115" +checksum = "39a276ed142b4718dcf64bc9624f474373ed82ef20611025045c3fb23edbef9c" dependencies = [ "alloy-eips", "revm-bytecode", @@ -11202,9 +11457,9 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "7.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8500194cad0b9b1f0567d72370795fd1a5e0de9ec719b1607fa1566a23f039a" +checksum = "8c523c77e74eeedbac5d6f7c092e3851dbe9c7fec6f418b85992bd79229db361" dependencies = [ "auto_impl", "either", @@ -11215,35 +11470,72 @@ dependencies = [ [[package]] name = "revm-handler" -version = "8.0.3" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1529c8050e663be64010e80ec92bf480315d21b1f2dbf65540028653a621b27d" +dependencies = [ + "auto_impl", + "derive-where", + "revm-bytecode", + "revm-context 8.0.4", + "revm-context-interface 9.0.0", + "revm-database-interface", + "revm-interpreter 24.0.0", + "revm-precompile 25.0.0", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-handler" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c35a17a38203976f97109e20eccf6732447ce6c9c42973bae42732b2e957ff" +checksum = "528d2d81cc918d311b8231c35330fac5fba8b69766ddc538833e2b5593ee016e" dependencies = [ "auto_impl", "derive-where", "revm-bytecode", - "revm-context", - "revm-context-interface", + "revm-context 9.0.2", + "revm-context-interface 10.1.0", + "revm-database-interface", + "revm-interpreter 25.0.2", + "revm-precompile 27.0.0", + "revm-primitives", + "revm-state", + "serde", +] + +[[package]] +name = "revm-inspector" +version = "8.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f78db140e332489094ef314eaeb0bd1849d6d01172c113ab0eb6ea8ab9372926" +dependencies = [ + "auto_impl", + "either", + "revm-context 8.0.4", "revm-database-interface", - "revm-interpreter", - "revm-precompile", + "revm-handler 8.1.0", + "revm-interpreter 24.0.0", "revm-primitives", "revm-state", "serde", + "serde_json", ] [[package]] name = "revm-inspector" -version = "8.0.3" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69abf6a076741bd5cd87b7d6c1b48be2821acc58932f284572323e81a8d4179" +checksum = "bf443b664075999a14916b50c5ae9e35a7d71186873b8f8302943d50a672e5e0" dependencies = [ "auto_impl", "either", - "revm-context", + "revm-context 9.0.2", "revm-database-interface", - "revm-handler", - "revm-interpreter", + "revm-handler 10.0.0", + "revm-interpreter 25.0.2", "revm-primitives", "revm-state", "serde", @@ -11252,9 +11544,9 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.27.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aad27cab355b0aa905d0744f3222e716b40ad48b32276ac4b0a615f2c3364c97" +checksum = "2b5c15d9c33ae98988a2a6a8db85b6a9e3389d1f3f2fdb95628a992f2b65b2c1" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -11264,29 +11556,41 @@ dependencies = [ "boa_engine", "boa_gc", "colorchoice", - "revm", + "revm 29.0.0", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] name = "revm-interpreter" -version = "23.0.2" +version = "24.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95c4a9a1662d10b689b66b536ddc2eb1e89f5debfcabc1a2d7b8417a2fa47cd" +checksum = "ff9d7d9d71e8a33740b277b602165b6e3d25fff091ba3d7b5a8d373bf55f28a7" dependencies = [ "revm-bytecode", - "revm-context-interface", + "revm-context-interface 9.0.0", + "revm-primitives", + "serde", +] + +[[package]] +name = "revm-interpreter" +version = "25.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d6406b711fac73b4f13120f359ed8e65964380dd6182bd12c4c09ad0d4641f" +dependencies = [ + "revm-bytecode", + "revm-context-interface 10.1.0", "revm-primitives", "serde", ] [[package]] name = "revm-precompile" -version = "24.0.1" +version = "25.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68d54a4733ac36bd29ee645c3c2e5e782fb63f199088d49e2c48c64a9fedc15" +checksum = "4cee3f336b83621294b4cfe84d817e3eef6f3d0fce00951973364cc7f860424d" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -11295,7 +11599,6 @@ dependencies = [ "ark-serialize 0.5.0", "arrayref", "aurora-engine-modexp", - "blst", "c-kzg", "cfg-if", "k256", @@ -11309,24 +11612,51 @@ dependencies = [ "sha2 0.10.9", ] +[[package]] +name = "revm-precompile" +version = "27.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b57d4bd9e6b5fe469da5452a8a137bc2d030a3cd47c46908efc615bbc699da" +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", + "cfg-if", + "k256", + "libsecp256k1", + "p256 0.13.2", + "revm-primitives", + "ripemd", + "rug", + "secp256k1 0.31.1", + "sha2 0.10.9", +] + [[package]] name = "revm-primitives" -version = "20.0.0" +version = "20.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52cdf897b3418f2ee05bcade64985e5faed2dbaa349b2b5f27d3d6bfd10fff2a" +checksum = "5aa29d9da06fe03b249b6419b33968ecdf92ad6428e2f012dc57bcd619b5d94e" dependencies = [ "alloy-primitives", "num_enum", + "once_cell", "serde", ] [[package]] name = "revm-state" -version = "7.0.1" +version = "7.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106fec5c634420118c7d07a6c37110186ae7f23025ceac3a5dbe182eea548363" +checksum = "1f64fbacb86008394aaebd3454f9643b7d5a782bd251135e17c5b33da592d84d" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "revm-bytecode", "revm-primitives", "serde", @@ -11450,9 +11780,9 @@ checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "rug" -version = "1.27.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4207e8d668e5b8eb574bda8322088ccd0d7782d3d03c7e8d562e82ed82bdcbc3" +checksum = "58ad2e973fe3c3214251a840a621812a4f40468da814b1a3d6947d433c2af11f" dependencies = [ "az", "gmp-mpfr-sys", @@ -11462,9 +11792,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11256b5fe8c68f56ac6f39ef0720e592f33d2367a4782740d9c9142e889c7fb4" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" dependencies = [ "alloy-rlp", "arbitrary", @@ -11480,7 +11810,7 @@ dependencies = [ "primitive-types", "proptest", "rand 0.8.5", - "rand 0.9.1", + "rand 0.9.2", "rlp", "ruint-macro", "serde", @@ -11506,9 +11836,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -11555,24 +11885,24 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "rustix" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "errno", "libc", "linux-raw-sys 0.9.4", - "windows-sys 0.52.0", + "windows-sys 0.60.2", ] [[package]] @@ -11589,16 +11919,16 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.28" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "aws-lc-rs", "log", "once_cell", "ring", "rustls-pki-types", - "rustls-webpki 0.103.3", + "rustls-webpki 0.103.4", "subtle", "zeroize", ] @@ -11624,7 +11954,7 @@ dependencies = [ "openssl-probe", "rustls-pki-types", "schannel", - "security-framework 3.2.0", + "security-framework 3.3.0", ] [[package]] @@ -11657,14 +11987,14 @@ dependencies = [ "jni", "log", "once_cell", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-platform-verifier-android", - "rustls-webpki 0.103.3", - "security-framework 3.2.0", + "rustls-webpki 0.103.4", + "security-framework 3.3.0", "security-framework-sys", "webpki-root-certs 0.26.11", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11685,9 +12015,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.3" +version = "0.103.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" +checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" dependencies = [ "aws-lc-rs", "ring", @@ -11697,9 +12027,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" @@ -11745,9 +12075,9 @@ dependencies = [ [[package]] name = "scc" -version = "2.3.4" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22b2d775fb28f245817589471dd49c5edf64237f4a19d10ce9a92ff4651a27f4" +checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" dependencies = [ "sdd", ] @@ -11775,9 +12105,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", "ref-cast", @@ -11832,9 +12162,9 @@ dependencies = [ [[package]] name = "sdd" -version = "3.0.8" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "584e070911c7017da6cb2eb0788d09f43d789029b5877d3e5ecc8acf86ceee21" +checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" [[package]] name = "sec1" @@ -11884,7 +12214,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2" dependencies = [ "bitcoin_hashes", - "rand 0.9.1", + "rand 0.9.2", "secp256k1-sys 0.11.0", ] @@ -11921,7 +12251,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -11930,11 +12260,11 @@ 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.1", + "bitflags 2.9.3", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -12034,16 +12364,16 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.11.0", "itoa", "memchr", "ryu", @@ -12059,6 +12389,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -12081,9 +12420,9 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.10.0", + "indexmap 2.11.0", "schemars 0.9.0", - "schemars 1.0.3", + "schemars 1.0.4", "serde", "serde_derive", "serde_json", @@ -12100,7 +12439,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12135,7 +12474,7 @@ checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12240,9 +12579,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -12276,7 +12615,7 @@ checksum = "ab0381d1913eeaf4c7bc4094016c9a8de6c1120663afe32a90ff268ad7f80486" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12287,7 +12626,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", ] @@ -12320,9 +12659,9 @@ checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "slab" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" @@ -12350,6 +12689,16 @@ dependencies = [ "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.8.1" @@ -12421,11 +12770,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]] @@ -12438,20 +12787,19 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.104", + "syn 2.0.106", ] [[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", "proc-macro2", "quote", - "rustversion", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12473,9 +12821,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -12484,14 +12832,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a985ff4ffd7373e10e0fb048110fb11a162e5a4c47f92ddb8787a6f766b769" +checksum = "a0b198d366dbec045acfcd97295eb653a7a2b40e4dc764ef1e79aafcad439d3c" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12511,7 +12859,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12524,7 +12872,7 @@ dependencies = [ "libc", "memchr", "ntapi", - "windows 0.54.0", + "windows 0.57.0", ] [[package]] @@ -12533,7 +12881,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -12573,13 +12921,12 @@ dependencies = [ [[package]] name = "tar-no-std" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15574aa79d3c04a12f3cb53ff976d5571e53b9d8e0bdbe4021df0a06473dd1c9" +checksum = "ac9ee8b664c9f1740cd813fea422116f8ba29997bb7c878d1940424889802897" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "log", - "memchr", "num-traits", ] @@ -12625,25 +12972,25 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.20.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", - "rustix 1.0.7", - "windows-sys 0.52.0", + "rustix 1.0.8", + "windows-sys 0.60.2", ] [[package]] name = "terminal_size" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" +checksum = "60b8cb979cb11c32ce1603f8137b22262a9d131aaa5c37b5678025f22b8becd0" dependencies = [ - "rustix 1.0.7", - "windows-sys 0.59.0", + "rustix 1.0.8", + "windows-sys 0.60.2", ] [[package]] @@ -12673,7 +13020,7 @@ dependencies = [ "pade", "parking_lot", "pool-manager", - "rand 0.9.1", + "rand 0.9.2", "rand_chacha 0.3.1", "rand_distr", "rayon", @@ -12692,7 +13039,7 @@ dependencies = [ "reth-revm", "reth-tasks", "reth-transaction-pool", - "revm", + "revm 27.1.0", "secp256k1 0.30.0", "telemetry", "telemetry-recorder", @@ -12735,7 +13082,7 @@ dependencies = [ "testing-tools", "tikv-jemallocator", "tokio", - "toml", + "toml 0.9.5", "tracing", "tracing-subscriber 0.3.19", "validation", @@ -12758,11 +13105,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.16", ] [[package]] @@ -12773,18 +13120,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12896,7 +13243,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", - "zerovec 0.11.2", + "zerovec 0.11.4", ] [[package]] @@ -12911,9 +13258,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -12926,21 +13273,23 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +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", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -12951,7 +13300,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -12980,7 +13329,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.28", + "rustls 0.23.31", "tokio", ] @@ -13004,7 +13353,7 @@ checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.23.28", + "rustls 0.23.31", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", @@ -13015,9 +13364,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -13035,11 +13384,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit", ] +[[package]] +name = "toml" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap 2.11.0", + "serde", + "serde_spanned 1.0.0", + "toml_datetime 0.7.0", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -13049,26 +13413,50 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + [[package]] name = "toml_edit" version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.10.0", + "indexmap 2.11.0", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_write", "winnow", ] +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow", +] + [[package]] name = "toml_write" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toml_writer" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" + [[package]] name = "tower" version = "0.5.2" @@ -13078,7 +13466,7 @@ dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.10.0", + "indexmap 2.11.0", "pin-project-lite", "slab", "sync_wrapper", @@ -13097,7 +13485,7 @@ checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ "async-compression", "base64 0.22.1", - "bitflags 2.9.1", + "bitflags 2.9.3", "bytes", "futures-core", "futures-util", @@ -13117,7 +13505,7 @@ dependencies = [ "tower-layer", "tower-service", "tracing", - "uuid 1.17.0", + "uuid 1.18.0", ] [[package]] @@ -13164,7 +13552,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -13283,7 +13671,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -13333,11 +13721,11 @@ dependencies = [ "http 1.3.1", "httparse", "log", - "rand 0.9.1", - "rustls 0.23.28", + "rand 0.9.2", + "rustls 0.23.31", "rustls-pki-types", "sha1", - "thiserror 2.0.12", + "thiserror 2.0.16", "utf-8", ] @@ -13450,12 +13838,12 @@ dependencies = [ "malachite", "pade", "pade-macro", - "rand 0.9.1", + "rand 0.9.2", "rayon", "reth-node-builder", "reth-primitives", "reth-provider", - "revm", + "revm 27.1.0", "revm-bytecode", "revm-database", "revm-primitives", @@ -13479,7 +13867,7 @@ source = "git+https://github.com/SorellaLabs/v3-math?branch=main#9143e52de0be2e0 dependencies = [ "alloy-primitives", "eyre", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -13506,9 +13894,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", @@ -13558,9 +13946,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" +checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" dependencies = [ "getrandom 0.3.3", "js-sys", @@ -13584,8 +13972,8 @@ dependencies = [ "pade", "parking_lot", "proptest", - "proptest-derive", - "rand 0.9.1", + "proptest-derive 0.6.0", + "rand 0.9.2", "reth-discv4", "reth-metrics", "reth-network", @@ -13594,7 +13982,7 @@ dependencies = [ "reth-revm", "reth-tracing", "reth-transaction-pool", - "revm", + "revm 27.1.0", "revm-bytecode", "revm-database", "revm-primitives", @@ -13679,7 +14067,7 @@ checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -13724,11 +14112,11 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.3+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] @@ -13753,7 +14141,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-shared", ] @@ -13788,7 +14176,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -13855,14 +14243,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "webpki-root-certs 1.0.1", + "webpki-root-certs 1.0.2", ] [[package]] name = "webpki-root-certs" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86138b15b2b7d561bc4469e77027b8dd005a43dc502e9031d1f5afc8ce1f280e" +checksum = "4e4ffd8df1c57e87c325000a3d6ef93db75279dc3a231125aac571650f22b12a" dependencies = [ "rustls-pki-types", ] @@ -13873,14 +14261,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.1", + "webpki-roots 1.0.2", ] [[package]] name = "webpki-roots" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" +checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" dependencies = [ "rustls-pki-types", ] @@ -13921,11 +14309,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.60.2", ] [[package]] @@ -13944,6 +14332,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows" version = "0.58.0" @@ -13986,6 +14384,18 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement 0.57.0", + "windows-interface 0.57.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.58.0" @@ -14023,6 +14433,17 @@ dependencies = [ "windows-threading", ] +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "windows-implement" version = "0.58.0" @@ -14031,7 +14452,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -14042,7 +14463,18 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", ] [[package]] @@ -14053,7 +14485,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -14064,7 +14496,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -14182,7 +14614,7 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.2", + "windows-targets 0.53.3", ] [[package]] @@ -14233,10 +14665,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.2" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -14438,9 +14871,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -14456,13 +14889,10 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] name = "write16" @@ -14495,7 +14925,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 2.0.12", + "thiserror 2.0.16", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -14517,7 +14947,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" dependencies = [ "libc", - "rustix 1.0.7", + "rustix 1.0.8", ] [[package]] @@ -14564,7 +14994,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -14576,7 +15006,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -14587,7 +15017,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "467a4c054be41ff657a6823246b0194cd727fadc3c539b265d7bc125ac6d4884" dependencies = [ "aes", - "bitflags 2.9.1", + "bitflags 2.9.3", "cbc", "cmac", "ecdsa 0.16.9", @@ -14607,7 +15037,7 @@ dependencies = [ "subtle", "thiserror 1.0.69", "time", - "uuid 1.17.0", + "uuid 1.18.0", "zeroize", ] @@ -14628,7 +15058,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -14648,7 +15078,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", "synstructure", ] @@ -14669,7 +15099,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -14696,9 +15126,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke 0.8.0", "zerofrom", @@ -14713,7 +15143,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] @@ -14724,7 +15154,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.104", + "syn 2.0.106", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 69ea50812..352a3e2fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,10 @@ members = ["bin/*", "crates/*", "testing-tools"] resolver = "2" +# Optimize for rust-analyzer performance +[workspace.metadata.rust-analyzer] +rustc_source = "discover" + [workspace.package] version = "0.1.0" edition = "2024" @@ -13,29 +17,37 @@ exclude = [".github/"] # Speed up tests. [profile.dev.package] -angstrom-network.opt-level = 3 -consensus.opt-level = 3 -matching-engine.opt-level = 3 -validation.opt-level = 3 -testing-tools.opt-level = 3 -angstrom-types.opt-level = 3 -tokio.opt-level = 3 +angstrom-network.opt-level = 2 +consensus.opt-level = 2 +matching-engine.opt-level = 2 +validation.opt-level = 2 +testing-tools.opt-level = 2 +angstrom-types.opt-level = 2 +tokio.opt-level = 2 [profile.debug-fast] inherits = "dev" lto = false -opt-level = 3 -codegen-units = 15 +opt-level = 0 +codegen-units = 16 + +[profile.ci] +inherits = "dev" +lto = false +opt-level = 0 +debug = 0 +incremental = false +codegen-units = 256 [profile.release] lto = "fat" opt-level = 3 -codegen-units = 15 +codegen-units = 16 [profile.maxperf] inherits = "release" lto = "fat" -codegen-units = 1 +codegen-units = 3 incremental = false [workspace.dependencies] @@ -64,7 +76,7 @@ alloy-genesis = { version = "1.0.23", default-features = false } alloy-json-rpc = { version = "1.0.23", default-features = false } alloy-network = { version = "1.0.23", default-features = false } alloy-node-bindings = { version = "1.0.23", default-features = false } -alloy-primitives = { version = "1.3.0", default-features = false, features = ["map-foldhash", "asm-keccak"] } +alloy-primitives = { version = "1.3.1", default-features = false, features = ["map-foldhash", "asm-keccak"] } alloy-provider = { version = "1.0.23", default-features = false, features = ["reqwest"] } alloy-pubsub = { version = "1.0.23", default-features = false } alloy-rlp = "0.3.10" @@ -126,10 +138,10 @@ hex-literal = "0" homedir = "0" hsm-signer = { git = "https://github.com/SorellaLabs/hsm-signer" } itertools = "0" -jsonrpsee = "0.25.1" -jsonrpsee-core = "0.25.1" -jsonrpsee-http-client = "0.25.1" -jsonrpsee-types = "0.25.1" +jsonrpsee = "0.26.0" +jsonrpsee-core = "0.26.0" +jsonrpsee-http-client = "0.26.0" +jsonrpsee-types = "0.26.0" k256 = { version = "0", default-features = false } linked_hash_set = "0" malachite = "0.4" @@ -142,9 +154,9 @@ once_cell = "1" order-pool = { path = "./crates/order-pool/" } pade = { git = "https://github.com/SorellaLabs/pade", version = "0.1.0" } pade-macro = { git = "https://github.com/SorellaLabs/pade", version = "0.1.0" } -pool-manager = { path = "./crates/pool-manager/" } parking_lot = "0" pin-project = "1" +pool-manager = { path = "./crates/pool-manager/" } pprof = "0" proc-macro2 = "1" proptest = "1" @@ -153,41 +165,39 @@ quote = "1" rand = "0.9.0" rand_distr = "0.5.1" rayon = "1" -reth = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-cli-util = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-codecs = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-db = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-discv4 = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-ecies = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-errors = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-execution-types = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0", features = [ - "serde", -] } -reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-network = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-network-api = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-network-peers = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-node-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-node-metrics = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-node-types = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0", default-features = false } -reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-storage-api = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-tasks = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-tracing = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } +reth = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-codecs = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-discv4 = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-ecies = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4", features = ["serde"] } +reth-libmdbx = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-metrics = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-network = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-network-api = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-network-peers = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-node-builder = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-node-metrics = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-node-types = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4", default-features = false } +reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-rpc-types-compat = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-storage-api = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-tasks = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-tokio-util = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } revm = { version = "27.0.3", features = [ "std", "secp256k1", @@ -224,7 +234,7 @@ url = "2" validation = { path = "./crates/validation/" } # OP-stack support -reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } -reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } +reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } diff --git a/bin/angstrom/src/components.rs b/bin/angstrom/src/components.rs deleted file mode 100644 index 00fd2a010..000000000 --- a/bin/angstrom/src/components.rs +++ /dev/null @@ -1,494 +0,0 @@ -//! CLI definition and entrypoint to executable -use std::{ - collections::{HashMap, HashSet}, - pin::Pin, - str::FromStr, - sync::Arc, - time::Duration -}; - -use alloy::{ - self, - eips::{BlockId, BlockNumberOrTag}, - primitives::Address, - providers::{Provider, ProviderBuilder, network::Ethereum} -}; -use alloy_chains::Chain; -use angstrom_amm_quoter::{QuoterManager, Slot0Update}; -use angstrom_eth::{ - handle::{Eth, EthCommand}, - manager::{EthDataCleanser, EthEvent} -}; -use angstrom_network::{ - NetworkBuilder as StromNetworkBuilder, NetworkOrderEvent, PoolManagerBuilder, StatusState, - VerificationSidecar, - pool_manager::{OrderCommand, PoolHandle} -}; -use angstrom_types::{ - block_sync::{BlockSyncProducer, GlobalBlockSync}, - consensus::StromConsensusEvent, - contract_payloads::angstrom::{AngstromPoolConfigStore, UniswapAngstromRegistry}, - pair_with_price::PairsWithPrice, - primitive::{ - ANGSTROM_ADDRESS, ANGSTROM_DEPLOYED_BLOCK, AngstromMetaSigner, AngstromSigner, - CONTROLLER_V1_ADDRESS, GAS_TOKEN_ADDRESS, POOL_MANAGER_ADDRESS, PoolId, - UniswapPoolRegistry - }, - reth_db_provider::RethDbLayer, - reth_db_wrapper::RethDbWrapper, - submission::SubmissionHandler -}; -use consensus::{AngstromValidator, ConsensusHandler, ConsensusManager, ManagerNetworkDeps}; -use futures::Stream; -use matching_engine::{MatchingManager, manager::MatcherCommand}; -use order_pool::{PoolConfig, PoolManagerUpdate, order_storage::OrderStorage}; -use parking_lot::RwLock; -use reth::{ - api::NodeAddOns, - builder::FullNodeComponents, - chainspec::ChainSpec, - core::exit::NodeExitFuture, - primitives::EthPrimitives, - providers::{BlockNumReader, CanonStateNotification, CanonStateSubscriptions}, - tasks::TaskExecutor -}; -use reth_metrics::common::mpsc::{UnboundedMeteredReceiver, UnboundedMeteredSender}; -use reth_network::{NetworkHandle, Peers}; -use reth_node_builder::{FullNode, NodeTypes, node::FullNodeTypes, rpc::RethRpcAddOns}; -use reth_provider::{ - BlockReader, DatabaseProviderFactory, ReceiptProvider, TryIntoHistoricalStateProvider -}; -use telemetry::init_telemetry; -use tokio::sync::{ - mpsc, - mpsc::{Receiver, Sender, UnboundedReceiver, UnboundedSender, channel, unbounded_channel} -}; -use uniswap_v4::{DEFAULT_TICKS, configure_uniswap_manager, fetch_angstrom_pools}; -use url::Url; -use validation::{ - common::TokenPriceGenerator, - init_validation, - validator::{ValidationClient, ValidationRequest} -}; - -use crate::AngstromConfig; - -pub fn init_network_builder( - secret_key: AngstromSigner, - eth_handle: UnboundedReceiver, - validator_set: Arc>> -) -> eyre::Result> { - let public_key = secret_key.id(); - - let state = StatusState { - version: 0, - chain: Chain::mainnet().id(), - peer: public_key, - timestamp: 0 - }; - - let verification = - VerificationSidecar { status: state, has_sent: false, has_received: false, secret_key }; - - Ok(StromNetworkBuilder::new(verification, eth_handle, validator_set)) -} - -pub type DefaultPoolHandle = PoolHandle; -type DefaultOrderCommand = OrderCommand; - -// due to how the init process works with reth. we need to init like this -pub struct StromHandles { - pub eth_tx: Sender, - pub eth_rx: Receiver, - - pub pool_tx: UnboundedMeteredSender, - pub pool_rx: UnboundedMeteredReceiver, - - pub orderpool_tx: UnboundedSender, - pub orderpool_rx: UnboundedReceiver, - - pub quoter_tx: mpsc::Sender<(HashSet, mpsc::Sender)>, - pub quoter_rx: mpsc::Receiver<(HashSet, mpsc::Sender)>, - - pub validator_tx: UnboundedSender, - pub validator_rx: UnboundedReceiver, - - pub eth_handle_tx: Option>, - pub eth_handle_rx: Option>, - - pub pool_manager_tx: tokio::sync::broadcast::Sender, - - pub consensus_tx_op: UnboundedMeteredSender, - pub consensus_rx_op: UnboundedMeteredReceiver, - - pub consensus_tx_rpc: UnboundedSender, - pub consensus_rx_rpc: UnboundedReceiver, - - // only 1 set cur - pub matching_tx: Sender, - pub matching_rx: Receiver -} - -impl StromHandles { - pub fn get_pool_handle(&self) -> DefaultPoolHandle { - PoolHandle { - manager_tx: self.orderpool_tx.clone(), - pool_manager_tx: self.pool_manager_tx.clone() - } - } -} - -pub fn initialize_strom_handles() -> StromHandles { - let (eth_tx, eth_rx) = channel(100); - let (matching_tx, matching_rx) = channel(100); - let (pool_manager_tx, _) = tokio::sync::broadcast::channel(100); - let (pool_tx, pool_rx) = reth_metrics::common::mpsc::metered_unbounded_channel("orderpool"); - let (orderpool_tx, orderpool_rx) = unbounded_channel(); - let (validator_tx, validator_rx) = unbounded_channel(); - let (eth_handle_tx, eth_handle_rx) = unbounded_channel(); - let (quoter_tx, quoter_rx) = channel(1000); - let (consensus_tx_rpc, consensus_rx_rpc) = unbounded_channel(); - let (consensus_tx_op, consensus_rx_op) = - reth_metrics::common::mpsc::metered_unbounded_channel("orderpool"); - - StromHandles { - eth_tx, - quoter_tx, - quoter_rx, - eth_rx, - pool_tx, - pool_rx, - orderpool_tx, - orderpool_rx, - validator_tx, - validator_rx, - pool_manager_tx, - consensus_tx_op, - consensus_rx_op, - matching_tx, - matching_rx, - consensus_tx_rpc, - consensus_rx_rpc, - eth_handle_tx: Some(eth_handle_tx), - eth_handle_rx: Some(eth_handle_rx) - } -} - -pub async fn initialize_strom_components( - config: AngstromConfig, - signer: AngstromSigner, - mut handles: StromHandles, - network_builder: StromNetworkBuilder, - node: &FullNode, - executor: TaskExecutor, - exit: NodeExitFuture, - node_set: HashSet
, - consensus_client: ConsensusHandler -) -> eyre::Result<()> -where - Node: FullNodeComponents - + FullNodeTypes>, - Node::Provider: BlockReader< - Block = reth::primitives::Block, - Receipt = reth::primitives::Receipt, - Header = reth::primitives::Header - > + DatabaseProviderFactory, - AddOns: NodeAddOns + RethRpcAddOns, - <::Provider as DatabaseProviderFactory>::Provider: - TryIntoHistoricalStateProvider + ReceiptProvider, - <::Provider as DatabaseProviderFactory>::Provider: BlockNumReader, - S: AngstromMetaSigner -{ - // Check to assert that the timeing config is valid. - assert!(config.consensus_timing.is_valid(), "consensus timing config is invalid"); - - let node_address = signer.address(); - - // NOTE: - // no key is installed and this is strictly for internal usage. Realsically, we - // should build a alloy provider impl that just uses the raw underlying db - // so it will be quicker than rpc + won't be bounded by the rpc threadpool. - let url = node.rpc_server_handle().ipc_endpoint().unwrap(); - tracing::info!(?url, ?config.mev_boost_endpoints, "backup to database is"); - let querying_provider: Arc<_> = ProviderBuilder::<_, _, Ethereum>::default() - .with_recommended_fillers() - .layer(RethDbLayer::new(node.provider().clone())) - // backup - .connect(&url) - .await - .unwrap() - .into(); - - let angstrom_address = *ANGSTROM_ADDRESS.get().unwrap(); - let controller = *CONTROLLER_V1_ADDRESS.get().unwrap(); - let deploy_block = *ANGSTROM_DEPLOYED_BLOCK.get().unwrap(); - let gas_token = *GAS_TOKEN_ADDRESS.get().unwrap(); - let pool_manager = *POOL_MANAGER_ADDRESS.get().unwrap(); - - let normal_nodes = config - .normal_nodes - .into_iter() - .map(|url| Url::from_str(&url).unwrap()) - .collect::>(); - - let angstrom_submission_nodes = config - .angstrom_submission_nodes - .into_iter() - .map(|url| Url::from_str(&url).unwrap()) - .collect::>(); - - let mev_boost_endpoints = config - .mev_boost_endpoints - .into_iter() - .map(|url| Url::from_str(&url).unwrap()) - .collect::>(); - - let submission_handler = SubmissionHandler::new( - querying_provider.clone(), - &normal_nodes, - &angstrom_submission_nodes, - &mev_boost_endpoints, - angstrom_address, - signer.clone() - ); - - tracing::info!(target: "angstrom::startup-sequence", "waiting for the next block to continue startup sequence. \ - this is done to ensure all modules start on the same state and we don't hit the rare \ - condition of a block while starting modules"); - - // wait for the next block so that we have a full 12 seconds on startup. - let mut sub = node.provider.subscribe_to_canonical_state(); - handle_init_block_spam(&mut sub).await; - let _ = sub.recv().await.expect("next block"); - - tracing::info!(target: "angstrom::startup-sequence", "new block detected. initializing all modules"); - - let block_id = querying_provider.get_block_number().await.unwrap(); - - let pool_config_store = Arc::new( - AngstromPoolConfigStore::load_from_chain( - angstrom_address, - BlockId::Number(BlockNumberOrTag::Latest), - &querying_provider - ) - .await - .unwrap() - ); - - // load the angstrom pools; - tracing::info!("starting search for pools"); - let pools = fetch_angstrom_pools( - deploy_block as usize, - block_id as usize, - angstrom_address, - &node.provider - ) - .await; - tracing::info!("found pools"); - - let angstrom_tokens = pools - .iter() - .flat_map(|pool| [pool.currency0, pool.currency1]) - .fold(HashMap::::new(), |mut acc, x| { - *acc.entry(x).or_default() += 1; - acc - }); - - // re-fetch given the fetch pools takes awhile. given this, we do techincally - // have a gap in which a pool is deployed durning startup. This isn't - // critical but we will want to fix this down the road. - // let block_id = querying_provider.get_block_number().await.unwrap(); - let block_id = match sub.recv().await.expect("first block") { - CanonStateNotification::Commit { new } => new.tip().number, - CanonStateNotification::Reorg { new, .. } => new.tip().number - }; - - tracing::info!(?block_id, "starting up with block"); - let eth_data_sub = node.provider.subscribe_to_canonical_state(); - - let global_block_sync = GlobalBlockSync::new(block_id); - - // this right here problem - let uniswap_registry: UniswapPoolRegistry = pools.into(); - let uni_ang_registry = - UniswapAngstromRegistry::new(uniswap_registry.clone(), pool_config_store.clone()); - - // Build our PoolManager using the PoolConfig and OrderStorage we've already - // created - let eth_handle = EthDataCleanser::spawn( - angstrom_address, - controller, - eth_data_sub, - executor.clone(), - handles.eth_tx, - handles.eth_rx, - angstrom_tokens, - pool_config_store.clone(), - global_block_sync.clone(), - node_set.clone(), - vec![handles.eth_handle_tx.take().unwrap()] - ) - .unwrap(); - - let network_stream = Box::pin(eth_handle.subscribe_network()) - as Pin + Send + Sync>>; - - let signer_addr = signer.address(); - executor.spawn_critical_with_graceful_shutdown_signal("telemetry init", |grace_shutdown| { - init_telemetry(signer_addr, grace_shutdown) - }); - - let uniswap_pool_manager = configure_uniswap_manager::<_, DEFAULT_TICKS>( - querying_provider.clone(), - eth_handle.subscribe_cannon_state_notifications().await, - uniswap_registry, - block_id, - global_block_sync.clone(), - pool_manager, - network_stream - ) - .await; - - tracing::info!("uniswap manager start"); - - let uniswap_pools = uniswap_pool_manager.pools(); - let pool_ids = uniswap_pool_manager.pool_addresses().collect::>(); - - executor.spawn_critical("uniswap pool manager", Box::pin(uniswap_pool_manager)); - let price_generator = TokenPriceGenerator::new( - querying_provider.clone(), - block_id, - uniswap_pools.clone(), - gas_token, - None - ) - .await - .expect("failed to start token price generator"); - - let update_stream = Box::pin(PairsWithPrice::into_price_update_stream( - angstrom_address, - node.provider.canonical_state_stream(), - querying_provider.clone() - )); - - let block_height = node.provider.best_block_number().unwrap(); - - init_validation( - RethDbWrapper::new(node.provider.clone(), block_height), - block_height, - angstrom_address, - node_address, - update_stream, - uniswap_pools.clone(), - price_generator, - pool_config_store.clone(), - handles.validator_rx - ); - - let validation_handle = ValidationClient(handles.validator_tx.clone()); - tracing::info!("validation manager start"); - - let network_handle = network_builder - .with_pool_manager(handles.pool_tx) - .with_consensus_manager(handles.consensus_tx_op) - .build_handle(executor.clone(), node.provider.clone()); - - // fetch pool ids - - let pool_config = PoolConfig::with_pool_ids(pool_ids); - let order_storage = Arc::new(OrderStorage::new(&pool_config)); - - let _pool_handle = PoolManagerBuilder::new( - validation_handle.clone(), - Some(order_storage.clone()), - network_handle.clone(), - eth_handle.subscribe_network(), - handles.pool_rx, - global_block_sync.clone() - ) - .with_config(pool_config) - .build_with_channels( - executor.clone(), - handles.orderpool_tx, - handles.orderpool_rx, - handles.pool_manager_tx, - block_id, - |_| {} - ); - let validators = node_set - .into_iter() - // use same weight for all validators - .map(|addr| AngstromValidator::new(addr, 100)) - .collect::>(); - tracing::info!("pool manager start"); - - // spinup matching engine - let matching_handle = MatchingManager::spawn(executor.clone(), validation_handle.clone()); - - // spin up amm quoter - let amm = QuoterManager::new( - global_block_sync.clone(), - order_storage.clone(), - handles.quoter_rx, - uniswap_pools.clone(), - rayon::ThreadPoolBuilder::default() - .num_threads(6) - .build() - .expect("failed to build rayon thread pool"), - Duration::from_millis(100), - consensus_client.subscribe_consensus_round_event() - ); - - executor.spawn_critical("amm quoting service", amm); - - let manager = ConsensusManager::new( - ManagerNetworkDeps::new( - network_handle.clone(), - eth_handle.subscribe_cannon_state_notifications().await, - handles.consensus_rx_op - ), - signer, - validators, - order_storage.clone(), - deploy_block, - block_height, - uni_ang_registry, - uniswap_pools.clone(), - submission_handler, - matching_handle, - global_block_sync.clone(), - handles.consensus_rx_rpc, - None, - config.consensus_timing - ); - - executor.spawn_critical_with_graceful_shutdown_signal("consensus", move |grace| { - manager.run_till_shutdown(grace) - }); - - global_block_sync.finalize_modules(); - tracing::info!("started angstrom"); - exit.await -} - -async fn handle_init_block_spam( - canon: &mut tokio::sync::broadcast::Receiver -) { - // wait for the first notification - let _ = canon.recv().await.expect("first block"); - tracing::info!("got first block"); - - loop { - tokio::select! { - // if we can go 10.5s without a update, we know that all of the pending cannon - // state notifications have been processed and we are at the tip. - _ = tokio::time::sleep(Duration::from_millis(1050)) => { - break; - } - Ok(_) = canon.recv() => { - - } - } - } - tracing::info!("finished handling block-spam"); -} diff --git a/crates/angstrom-net/Cargo.toml b/crates/angstrom-net/Cargo.toml index a4ac774b3..23270b71a 100644 --- a/crates/angstrom-net/Cargo.toml +++ b/crates/angstrom-net/Cargo.toml @@ -31,9 +31,9 @@ parking_lot.workspace = true reth.workspace = true reth-eth-wire.workspace = true reth-metrics.workspace = true -reth-net-banlist = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } +reth-net-banlist = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } reth-network.workspace = true -reth-network-p2p = { git = "https://github.com/paradigmxyz/reth", version = "1.6.0", tag = "v1.6.0" } +reth-network-p2p = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } reth-network-peers.workspace = true reth-node-builder.workspace = true reth-primitives.workspace = true diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index c120774ff..75ed7e0a7 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -30,6 +30,7 @@ pool-manager.workspace = true rayon.workspace = true reth.workspace = true reth-db.workspace = true +reth-exex = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } reth-metrics.workspace = true reth-network.workspace = true reth-node-builder.workspace = true diff --git a/crates/cli/src/components.rs b/crates/cli/src/components.rs index 54e737161..3cda4d5d8 100644 --- a/crates/cli/src/components.rs +++ b/crates/cli/src/components.rs @@ -8,7 +8,7 @@ use std::{ use alloy::{ self, - consensus::BlockHeader, + consensus::{BlockHeader, Header}, eips::{BlockId, BlockNumberOrTag}, primitives::Address, providers::{Provider, ProviderBuilder, network::Ethereum} @@ -23,6 +23,7 @@ use angstrom_network::{NetworkBuilder as StromNetworkBuilder, StatusState, Verif use angstrom_types::{ block_sync::{BlockSyncProducer, GlobalBlockSync}, contract_payloads::angstrom::{AngstromPoolConfigStore, UniswapAngstromRegistry}, + flashblocks::{FlashblocksRx, FlashblocksStream}, pair_with_price::PairsWithPrice, primitive::{ ANGSTROM_ADDRESS, ANGSTROM_DEPLOYED_BLOCK, AngstromMetaSigner, AngstromSigner, @@ -41,6 +42,7 @@ use pool_manager::{consensus::ConsensusPoolManagerBuilder, rollup::RollupPoolMan use reth::{ api::NodeAddOns, builder::FullNodeComponents, + chainspec::EthChainSpec, core::exit::NodeExitFuture, primitives::EthPrimitives, providers::{BlockNumReader, CanonStateNotification, CanonStateSubscriptions}, @@ -50,14 +52,15 @@ use reth_network::NetworkHandle; use reth_node_builder::{ FullNode, NodeHandle, NodePrimitives, NodeTypes, node::FullNodeTypes, rpc::RethRpcAddOns }; +use reth_optimism_chainspec::{OpChainSpec, OpHardforks}; use reth_optimism_primitives::OpPrimitives; use reth_provider::{ - BlockReader, DatabaseProviderFactory, ReceiptProvider, TryIntoHistoricalStateProvider + BlockReader, BlockReaderIdExt, ChainSpecProvider, DatabaseProviderFactory, ReceiptProvider, + StateProviderFactory, TryIntoHistoricalStateProvider }; use serde::Serialize; use telemetry::init_telemetry; use tokio::sync::mpsc::UnboundedReceiver; -use tokio_stream::wrappers::BroadcastStream; use uniswap_v4::{DEFAULT_TICKS, configure_uniswap_manager, fetch_angstrom_pools}; use url::Url; use validation::{common::TokenPriceGenerator, init_validation, validator::ValidationClient}; @@ -107,10 +110,11 @@ where signer: AngstromSigner, handles: StromHandles, - // Optional fields (non-rollup mode) + // Optional fields consensus_client: Option, network_builder: Option>, - node_set: Option> + node_set: Option>, + flashblocks: Option } impl AngstromLauncher @@ -143,9 +147,14 @@ where handles, network_builder: None, consensus_client: None, - node_set: None + node_set: None, + flashblocks: None } } + + pub fn with_flashblocks(self, rx: FlashblocksRx) -> Self { + Self { flashblocks: Some(rx), ..self } + } } impl AngstromLauncher @@ -301,7 +310,7 @@ where // Build our PoolManager using the PoolConfig and OrderStorage we've already // created - let eth_handle = EthDataCleanser::spawn( + let eth_handle = EthDataCleanser::<_, angstrom_eth::manager::ConsensusMode>::spawn( angstrom_address, controller, eth_data_sub, @@ -326,7 +335,8 @@ where let uniswap_pool_manager = configure_uniswap_manager::<_, EthPrimitives, DEFAULT_TICKS>( querying_provider.clone(), - eth_handle.subscribe_cannon_state_notifications().await, + // eth_handle.subscribe_cannon_state_notifications().await, + todo!(), uniswap_registry, block_id, global_block_sync.clone(), @@ -432,7 +442,8 @@ where let manager = ConsensusManager::new( ManagerNetworkDeps::new( network_handle.clone(), - eth_handle.subscribe_cannon_state_notifications().await, + // eth_handle.subscribe_cannon_state_notifications().await, + todo!(), handles.mode.consensus_rx_op ), signer, @@ -468,7 +479,10 @@ where Block = ::Block, Receipt = ::Receipt, Header = ::BlockHeader - > + DatabaseProviderFactory, + > + DatabaseProviderFactory + + StateProviderFactory + + ChainSpecProvider + OpHardforks> + + BlockReaderIdExt
, AO: NodeAddOns + RethRpcAddOns, <::Provider as DatabaseProviderFactory>::Provider: TryIntoHistoricalStateProvider + BlockNumReader + ReceiptProvider, @@ -575,10 +589,11 @@ where let uni_ang_registry = UniswapAngstromRegistry::new(uniswap_registry.clone(), pool_config_store.clone()); - let eth_handle = EthDataCleanser::spawn( + let eth_handle = EthDataCleanser::<_, angstrom_eth::manager::RollupMode>::spawn( angstrom_address, controller, eth_data_sub, + self.flashblocks.clone().map(FlashblocksStream::new), executor.clone(), handles.eth_tx, handles.eth_rx, @@ -601,7 +616,8 @@ where let uniswap_pool_manager = configure_uniswap_manager::<_, OpPrimitives, DEFAULT_TICKS>( querying_provider.clone(), - eth_handle.subscribe_cannon_state_notifications().await, + // eth_handle.subscribe_cannon_state_notifications().await, + todo!(), uniswap_registry, block_id, global_block_sync.clone(), @@ -694,7 +710,8 @@ where let driver = RollupManager::new( block_height, Duration::from_millis(config.block_time_ms), - BroadcastStream::new(eth_handle.subscribe_cannon_state_notifications().await), + // BroadcastStream::new(eth_handle.subscribe_cannon_state_notifications().await), + todo!(), global_block_sync.clone(), order_storage, uni_ang_registry, @@ -715,6 +732,7 @@ where } } +// TODO(mempirate): This isn't correct in rollup mode. async fn handle_init_block_spam( canon: &mut tokio::sync::broadcast::Receiver> ) { diff --git a/crates/cli/src/op_angstrom.rs b/crates/cli/src/op_angstrom.rs index 2f99a9c9c..dacaba832 100644 --- a/crates/cli/src/op_angstrom.rs +++ b/crates/cli/src/op_angstrom.rs @@ -1,12 +1,13 @@ //! Optimism Angstrom binary executable. -use std::sync::Arc; +use std::sync::{Arc, OnceLock}; use alloy_chains::NamedChain; use angstrom_amm_quoter::QuoterHandle; use angstrom_metrics::METRICS_ENABLED; use angstrom_rpc::{OrderApi, api::OrderApiServer}; -use angstrom_types::primitive::{ - ANGSTROM_DOMAIN, AngstromMetaSigner, AngstromSigner, init_with_chain_id +use angstrom_types::{ + flashblocks::FlashblocksRx, + primitive::{ANGSTROM_DOMAIN, AngstromMetaSigner, AngstromSigner, init_with_chain_id} }; use clap::Parser; use pool_manager::PoolHandle; @@ -15,7 +16,7 @@ use reth_db::DatabaseEnv; use reth_node_builder::{Node, NodeBuilder, WithLaunchContext}; use reth_optimism_chainspec::OpChainSpec; use reth_optimism_cli::{Cli as OpCli, chainspec::OpChainSpecParser}; -use reth_optimism_node::{OpAddOns, OpNode, args::RollupArgs}; +use reth_optimism_node::{OpNode, args::RollupArgs, rpc::OpEthApi}; use url::Url; use validation::validator::ValidationClient; @@ -31,18 +32,24 @@ const SUPPORTED_CHAINS: &[NamedChain] = &[NamedChain::Base, NamedChain::BaseSepolia, NamedChain::Unichain, NamedChain::UnichainSepolia]; #[derive(Debug, Clone, Parser)] -pub struct CombinedArgs { +pub struct OpAngstromArgs { #[command(flatten)] pub rollup: RollupArgs, #[command(flatten)] pub angstrom: AngstromConfig } +impl OpAngstromArgs { + fn flashblocks_enabled(&self) -> bool { + self.rollup.flashblocks_url.is_some() + } +} + /// Convenience function for parsing CLI options, set up logging and run the /// chosen command. #[inline] pub fn run() -> eyre::Result<()> { - OpCli::::parse().run(|builder, mut args| async move { + OpCli::::parse().run(|builder, mut args| async move { let executor = builder.task_executor().clone(); let chain = builder.config().chain.chain().named().unwrap(); @@ -133,16 +140,35 @@ async fn run_with_signer( validation_client: ValidationClient, quoter_handle: QuoterHandle, secret_key: AngstromSigner, - args: CombinedArgs, + args: OpAngstromArgs, channels: RollupHandles, builder: WithLaunchContext, OpChainSpec>> ) -> eyre::Result<()> { let executor_clone = executor.clone(); + + let op_node = OpNode::new(args.rollup.clone()); + + let flashblocks_rx: Arc> = Arc::new(OnceLock::new()); + let node_handle = builder .with_types::() - .with_components(OpNode::new(args.rollup).components_builder()) - .with_add_ons::>(Default::default()) + .with_components(op_node.components_builder()) + .with_add_ons(op_node.add_ons()) + .on_rpc_started({ + let flashblocks_rx = flashblocks_rx.clone(); + move |ctx, _| { + let api: &OpEthApi<_, _> = ctx.registry.eth_api(); + + // If Flashblocks is enabled, set the receiver. + if let Some(rx) = api.flashblocks_rx() { + let _ = flashblocks_rx.set(rx); + } + + Ok(()) + } + }) .extend_rpc_modules(move |rpc_context| { + // TODO(mempirate): Potentially add Flashblocks RPC overrides here. let order_api = OrderApi::new( pool.clone(), executor_clone.clone(), @@ -156,13 +182,20 @@ async fn run_with_signer( .launch() .await?; - AngstromLauncher::<_, _, RollupMode, _>::new( + let launcher = AngstromLauncher::<_, _, RollupMode, _>::new( args.angstrom, executor, node_handle, secret_key, channels - ) - .launch() - .await + ); + + // Set up Flashblocks if enabled. + let launcher = if let Some(rx) = flashblocks_rx.get().cloned() { + launcher.with_flashblocks(rx) + } else { + launcher + }; + + launcher.launch().await } diff --git a/crates/eth/Cargo.toml b/crates/eth/Cargo.toml index ba4ec5c00..134430a6f 100644 --- a/crates/eth/Cargo.toml +++ b/crates/eth/Cargo.toml @@ -19,6 +19,7 @@ itertools.workspace = true pade.workspace = true reth-ethereum-primitives.workspace = true reth-execution-types.workspace = true +reth-optimism-primitives.workspace = true reth-primitives.workspace = true reth-provider.workspace = true reth-tasks.workspace = true diff --git a/crates/eth/src/handle.rs b/crates/eth/src/handle.rs index 5b24a6d61..7018dcb8e 100644 --- a/crates/eth/src/handle.rs +++ b/crates/eth/src/handle.rs @@ -1,9 +1,9 @@ use std::pin::Pin; +use angstrom_types::primitive::StateNotification; use futures::Future; use futures_util::Stream; use reth_primitives::{EthPrimitives, NodePrimitives}; -use reth_provider::CanonStateNotification; use tokio::sync::mpsc::{Sender, UnboundedSender, unbounded_channel}; use tokio_stream::wrappers::UnboundedReceiverStream; @@ -17,13 +17,13 @@ pub trait Eth: Clone + Send + Sync { fn subscribe_network(&self) -> UnboundedReceiverStream; fn subscribe_cannon_state_notifications( &self - ) -> impl Future>> + Send; + ) -> impl Future>> + Send; } pub enum EthCommand { SubscribeEthNetworkEvents(UnboundedSender), SubscribeCannon( - tokio::sync::oneshot::Sender>> + tokio::sync::oneshot::Sender>> ) } @@ -41,7 +41,7 @@ impl EthHandle { impl Eth for EthHandle { async fn subscribe_cannon_state_notifications( &self - ) -> tokio::sync::broadcast::Receiver> { + ) -> tokio::sync::broadcast::Receiver> { let (tx, rx) = tokio::sync::oneshot::channel(); let _ = self.sender.send(EthCommand::::SubscribeCannon(tx)).await; rx.await.unwrap() diff --git a/crates/eth/src/manager.rs b/crates/eth/src/manager.rs index d6c69088f..45ea0ed0b 100644 --- a/crates/eth/src/manager.rs +++ b/crates/eth/src/manager.rs @@ -6,7 +6,7 @@ use std::{ }; use alloy::{ - consensus::{Transaction, TxReceipt}, + consensus::{BlockHeader, Transaction, TxReceipt}, primitives::{Address, B256, aliases::I24}, sol_types::{SolCall, SolEvent} }; @@ -17,12 +17,14 @@ use angstrom_types::{ controller_v_1::ControllerV1::{NodeAdded, NodeRemoved, PoolConfigured, PoolRemoved} }, contract_payloads::angstrom::{AngPoolConfigEntry, AngstromBundle, AngstromPoolConfigStore}, - primitive::ChainExt + flashblocks::{FlashblocksStream, PendingFlashblock}, + primitive::{ChainExt, StateNotification} }; use futures::Future; use futures_util::{FutureExt, StreamExt}; use itertools::Itertools; use pade::PadeDecode; +use reth_optimism_primitives::OpPrimitives; use reth_primitives::{EthPrimitives, NodePrimitives}; use reth_provider::{CanonStateNotification, CanonStateNotifications}; use reth_tasks::TaskSpawner; @@ -40,46 +42,65 @@ alloy::sol!( event Approval(address indexed _owner, address indexed _spender, uint256 _value); ); +pub struct RollupMode { + flashblocks: Option +} + +pub struct ConsensusMode; + +pub trait DataCleanserMode { + type Primitives: NodePrimitives + Serialize; +} + +impl DataCleanserMode for RollupMode { + type Primitives = OpPrimitives; +} + +impl DataCleanserMode for ConsensusMode { + type Primitives = EthPrimitives; +} + /// Listens for CanonStateNotifications and sends the appropriate updates to be /// executed by the order pool -pub struct EthDataCleanser { +pub struct EthDataCleanser { pub(crate) angstrom_address: Address, pub(crate) periphery_address: Address, /// our command receiver - pub(crate) commander: ReceiverStream>, + pub(crate) commander: ReceiverStream>, /// people listening to events pub(crate) event_listeners: Vec>, /// for rebroadcasting - pub(crate) cannon_sender: tokio::sync::broadcast::Sender>, + pub(crate) cannon_sender: tokio::sync::broadcast::Sender>, /// Notifications for Canonical Block updates - pub(crate) canonical_updates: BroadcastStream>, + pub(crate) canonical_updates: BroadcastStream>, pub(crate) angstrom_tokens: HashMap, /// handles syncing of blocks. block_sync: Sync, /// updated by periphery contract. pub(crate) pool_store: Arc, /// the set of currently active nodes. - pub(crate) node_set: HashSet
+ pub(crate) node_set: HashSet
, + /// the mode of the data cleanser + pub(crate) mode: M } -impl EthDataCleanser +impl EthDataCleanser where - Sync: BlockSyncProducer, - N: NodePrimitives + Serialize + Sync: BlockSyncProducer { pub fn spawn( angstrom_address: Address, periphery_address: Address, - canonical_updates: CanonStateNotifications, + canonical_updates: CanonStateNotifications, tp: TP, - tx: Sender>, - rx: Receiver>, + tx: Sender, + rx: Receiver, angstrom_tokens: HashMap, pool_store: Arc, sync: Sync, node_set: HashSet
, event_listeners: Vec> - ) -> anyhow::Result> { + ) -> anyhow::Result { let stream = ReceiverStream::new(rx); let (cannon_tx, _) = tokio::sync::broadcast::channel(1000); @@ -93,7 +114,8 @@ where block_sync: sync, pool_store, node_set, - event_listeners + event_listeners, + mode: ConsensusMode }; // ensure we broadcast node set. will allow for proper connections // on the network side @@ -108,10 +130,65 @@ where Ok(handle) } +} + +impl EthDataCleanser +where + Sync: BlockSyncProducer +{ + pub fn spawn( + angstrom_address: Address, + periphery_address: Address, + canonical_updates: CanonStateNotifications, + flashblocks: Option, + tp: TP, + tx: Sender>, + rx: Receiver>, + angstrom_tokens: HashMap, + pool_store: Arc, + sync: Sync, + node_set: HashSet
, + event_listeners: Vec> + ) -> anyhow::Result> { + let stream = ReceiverStream::new(rx); + let (cannon_tx, _) = tokio::sync::broadcast::channel(1000); + + let mut this = Self { + angstrom_address, + periphery_address, + canonical_updates: BroadcastStream::new(canonical_updates), + commander: stream, + angstrom_tokens, + cannon_sender: cannon_tx, + block_sync: sync, + pool_store, + node_set, + event_listeners, + mode: RollupMode { flashblocks } + }; + // ensure we broadcast node set. will allow for proper connections + // on the network side + for n in &this.node_set { + this.event_listeners + .retain(|e| e.send(EthEvent::AddedNode(*n)).is_ok()); + } + + tp.spawn_critical("eth handle", this.boxed()); - fn subscribe_cannon_notifications( + let handle = EthHandle::new(tx); + + Ok(handle) + } +} + +impl EthDataCleanser +where + Sync: BlockSyncProducer, + M: DataCleanserMode +{ + fn subscribe_canon_notifications( &self - ) -> tokio::sync::broadcast::Receiver> { + ) -> tokio::sync::broadcast::Receiver> { self.cannon_sender.subscribe() } @@ -120,30 +197,41 @@ where .retain(|e| e.send(event.clone()).is_ok()); } - fn on_command(&mut self, command: EthCommand) { + fn on_command(&mut self, command: EthCommand) { match command { EthCommand::SubscribeEthNetworkEvents(tx) => self.event_listeners.push(tx), EthCommand::SubscribeCannon(tx) => { - let _ = tx.send(self.subscribe_cannon_notifications()); + let _ = tx.send(self.subscribe_canon_notifications()); } } } - fn on_canon_update(&mut self, canonical_updates: CanonStateNotification) { + fn on_canon_update(&mut self, canonical_updates: CanonStateNotification) { tracing::info!("got new block update!!!!!"); telemetry_recorder::telemetry_event!(EthUpdaterSnapshot::from(( &*self, canonical_updates.clone() ))); - match canonical_updates.clone() { - CanonStateNotification::Reorg { old, new } => self.handle_reorg(old, new), - CanonStateNotification::Commit { new } => self.handle_commit(new) - } - let _ = self.cannon_sender.send(canonical_updates); + let update = match canonical_updates { + CanonStateNotification::Reorg { old, new } => { + self.handle_reorg(old.clone(), new.clone()); + StateNotification::Reorg { old, new } + } + CanonStateNotification::Commit { new } => { + self.handle_commit(new.clone()); + StateNotification::Commit { new } + } + }; + + let _ = self.cannon_sender.send(update); } - fn handle_reorg(&mut self, old: Arc>, new: Arc>) { + fn handle_reorg( + &mut self, + old: Arc>, + new: Arc> + ) { self.apply_periphery_logs(&new); // notify producer of reorg if one happened. NOTE: reth also calls this // on reverts @@ -164,7 +252,7 @@ where self.send_events(reorged_orders); } - fn handle_commit(&mut self, new: Arc>) { + fn handle_commit(&mut self, new: Arc>) { // handle this first so the newest state is the first available self.apply_periphery_logs(&new); @@ -187,7 +275,7 @@ where /// looks at all periphery contrct events updating the internal state + /// sending out info. - fn apply_periphery_logs(&mut self, chain: &impl ChainExt) { + fn apply_periphery_logs(&mut self, chain: &impl ChainExt) { let periphery_address = self.periphery_address; chain @@ -267,7 +355,7 @@ where fn fetch_filled_order<'a>( &'a self, - chain: &'a impl ChainExt + chain: &'a impl ChainExt ) -> impl Iterator + 'a { chain .successful_tip_transactions() @@ -289,7 +377,7 @@ where } /// fetches all eoa addresses touched - fn get_eoa(&self, chain: Arc>) -> Vec
{ + fn get_eoa(&self, chain: Arc>) -> Vec
{ chain .receipts_by_block_hash(chain.tip_hash()) .unwrap_or_default() @@ -324,20 +412,84 @@ where } } -impl Future for EthDataCleanser +impl EthDataCleanser where - Sync: BlockSyncProducer, - N: NodePrimitives + Serialize + Sync: BlockSyncProducer +{ + fn on_flashblock_update(&mut self, pending: PendingFlashblock) { + tracing::debug!( + hash = ?pending.block().hash(), + number = pending.block().header().number(), + "New Flashblock received" + ); + + let pending = Arc::new(pending); + self.handle_commit(pending.clone()); + + let _ = self + .cannon_sender + .send(StateNotification::FlashblockCommit { new: pending }); + } +} + +impl Future for EthDataCleanser +where + Sync: BlockSyncProducer +{ + type Output = (); + + fn poll(self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let this = self.get_mut(); + // poll all canonical updates + while let Poll::Ready(is_some) = this.canonical_updates.poll_next_unpin(cx).map(|res| { + res.transpose() + .ok() + .flatten() + .map(|update| this.on_canon_update(update)) + .is_some() + }) { + if !is_some { + return Poll::Ready(()); + } + } + + // Collect flashblocks first to avoid borrow checker issues + let mut flashblocks = Vec::new(); + if let Some(flashblock_updates) = this.mode.flashblocks.as_mut() { + while let Poll::Ready(Some(flashblock)) = flashblock_updates.poll_next_unpin(cx) { + if let Some(flashblock) = flashblock { + flashblocks.push(flashblock); + } + } + } + + // Process collected flashblocks + for flashblock in flashblocks { + this.on_flashblock_update(flashblock); + } + + while let Poll::Ready(Some(command)) = this.commander.poll_next_unpin(cx) { + this.on_command(command) + } + + Poll::Pending + } +} + +impl Future for EthDataCleanser +where + Sync: BlockSyncProducer { type Output = (); - fn poll(mut self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + fn poll(self: std::pin::Pin<&mut Self>, cx: &mut Context<'_>) -> Poll { + let this = self.get_mut(); // poll all canonical updates - while let Poll::Ready(is_some) = self.canonical_updates.poll_next_unpin(cx).map(|res| { + while let Poll::Ready(is_some) = this.canonical_updates.poll_next_unpin(cx).map(|res| { res.transpose() .ok() .flatten() - .map(|update| self.on_canon_update(update)) + .map(|update| this.on_canon_update(update)) .is_some() }) { if !is_some { @@ -345,8 +497,8 @@ where } } - while let Poll::Ready(Some(command)) = self.commander.poll_next_unpin(cx) { - self.on_command(command) + while let Poll::Ready(Some(command)) = this.commander.poll_next_unpin(cx) { + this.on_command(command) } Poll::Pending @@ -457,7 +609,8 @@ pub mod test { canonical_updates: BroadcastStream::new(cannon_rx), block_sync: GlobalBlockSync::new(1), cannon_sender: tx, - pool_store: Default::default() + pool_store: Default::default(), + mode: ConsensusMode } } diff --git a/crates/eth/src/telemetry.rs b/crates/eth/src/telemetry.rs index 942925094..ced288ea9 100644 --- a/crates/eth/src/telemetry.rs +++ b/crates/eth/src/telemetry.rs @@ -16,7 +16,7 @@ use serde::{Deserialize, Serialize}; use serde_with::{DisplayFromStr, serde_as}; use telemetry_recorder::OrderTelemetryExt; -use crate::manager::EthDataCleanser; +use crate::manager::{DataCleanserMode, EthDataCleanser}; /// The state of our eth-updater, right before we go to the next block #[serde_as] @@ -34,10 +34,13 @@ pub struct EthUpdaterSnapshot { pub timestamp: chrono::DateTime } -impl - From<(&EthDataCleanser, CanonStateNotification)> for EthUpdaterSnapshot +impl + From<(&EthDataCleanser, CanonStateNotification)> + for EthUpdaterSnapshot { - fn from((data, update): (&EthDataCleanser, CanonStateNotification)) -> Self { + fn from( + (data, update): (&EthDataCleanser, CanonStateNotification) + ) -> Self { Self { angstrom_tokens: data.angstrom_tokens.clone(), angstrom_address: data.angstrom_address, diff --git a/crates/types/Cargo.toml b/crates/types/Cargo.toml index 27ea275dd..430764f80 100644 --- a/crates/types/Cargo.toml +++ b/crates/types/Cargo.toml @@ -43,11 +43,16 @@ serde_json.workspace = true serde_with.workspace = true thiserror.workspace = true tokio.workspace = true +tokio-stream.workspace = true tower = "0.5.2" tracing.workspace = true tracing-subscriber.workspace = true uniswap_v3_math.workspace = true +# Optimism & Flashblocks +reth-optimism-flashblocks = { git = "https://github.com/paradigmxyz/reth", rev = "21ba9c4" } +reth-optimism-primitives = { workspace = true, features = ["serde", "serde-bincode-compat"] } + [build-dependencies] convert_case.workspace = true itertools.workspace = true diff --git a/crates/types/build.rs b/crates/types/_build.rs similarity index 100% rename from crates/types/build.rs rename to crates/types/_build.rs diff --git a/crates/types/src/flashblocks/db_wrapper.rs b/crates/types/src/flashblocks/db_wrapper.rs new file mode 100644 index 000000000..92d17f6f5 --- /dev/null +++ b/crates/types/src/flashblocks/db_wrapper.rs @@ -0,0 +1 @@ +//! DB wrapper for pending Flashblocks state. diff --git a/crates/types/src/flashblocks/mod.rs b/crates/types/src/flashblocks/mod.rs new file mode 100644 index 000000000..5cad015c3 --- /dev/null +++ b/crates/types/src/flashblocks/mod.rs @@ -0,0 +1,71 @@ +//! Flashblocks + +use std::ops::RangeInclusive; + +use alloy::consensus::TxReceipt; +use alloy_primitives::{BlockHash, BlockNumber}; +use reth::rpc::server_types::eth::PendingBlock; +use reth_optimism_flashblocks::FlashBlockRx; +use reth_optimism_primitives::{OpBlock, OpPrimitives, OpReceipt, OpTransactionSigned}; +use reth_primitives::RecoveredBlock; +use reth_primitives_traits::AlloyBlockHeader; +use tokio_stream::wrappers::WatchStream; + +use crate::primitive::ChainExt; + +mod db_wrapper; +mod provider; + +/// A pending Flashblock. +pub type PendingFlashblock = PendingBlock; + +/// A type alias for the Flashblocks receiver. +pub type FlashblocksRx = FlashBlockRx; + +/// A stream of pending Flashblocks in the form of [`PendingFlashblock`]s. +pub type FlashblocksStream = WatchStream>; + +impl ChainExt for PendingFlashblock { + /// Returns the block number of the Flashblock (this will be the same as the + /// base block number). + fn tip_number(&self) -> BlockNumber { + self.block().header().number() + } + + /// Returns the block hash of the Flashblock (different for each + /// Flashblock). + fn tip_hash(&self) -> BlockHash { + self.block().hash() + } + + /// Returns the receipts for the Flashblock if the hash matches. + fn receipts_by_block_hash(&self, block_hash: BlockHash) -> Option> { + if self.block().hash() == block_hash { Some(self.receipts.iter().collect()) } else { None } + } + + /// Returns the transactions in this Flashblock. + fn tip_transactions(&self) -> impl Iterator + '_ { + self.block().transactions_with_sender().map(|(_, tx)| tx) + } + + /// Returns the successful transactions for the Flashblock tip. + /// + /// NOTE: In theory, this should just be all transactions since Flashblocks + /// shouldn't contain reverts, but we filter here just to be safe. + fn successful_tip_transactions(&self) -> impl Iterator + '_ { + // Zip transactions with receipts and filter by successful receipts + self.tip_transactions() + .zip(self.receipts.iter()) + .filter_map(|(tx, receipt)| receipt.status().then_some(tx)) + } + + /// Flashblocks are not reorged. + fn reorged_range(&self, _new: impl ChainExt) -> Option> { + None + } + + /// Returns an iterator over the Flashblock blocks (just one). + fn blocks_iter(&self) -> impl Iterator> + '_ { + std::iter::once(self.block().as_ref()) + } +} diff --git a/crates/types/src/flashblocks/provider.rs b/crates/types/src/flashblocks/provider.rs new file mode 100644 index 000000000..0bf529ee2 --- /dev/null +++ b/crates/types/src/flashblocks/provider.rs @@ -0,0 +1,125 @@ +//! Provider for pending Flashblocks state. +use alloy::{ + providers::{Provider, ProviderCall, RootProvider, RpcWithBlock}, + rpc::client::NoParams +}; +use alloy_primitives::{Address, Bytes, StorageValue, U64, U256}; + +use crate::flashblocks::FlashblocksRx; + +pub struct PendingStateProvider { + provider: P, + pending: FlashblocksRx +} + +impl

PendingStateProvider

where P: Provider {} + +impl

Provider for PendingStateProvider

+where + P: Provider + Clone + 'static +{ + fn root(&self) -> &RootProvider { + self.provider.root() + } + + /// Override the `get_block_number` method to fetch the latest block number. + fn get_block_number(&self) -> ProviderCall { + // Block number remains the same. + self.provider.get_block_number() + } + + fn get_transaction_count(&self, address: Address) -> RpcWithBlock { + tracing::debug!(%address, "get_transaction_count"); + let pending = self.pending.clone(); + let provider = self.provider.clone(); + + RpcWithBlock::new_provider(move |block_id| { + let call = provider.get_transaction_count(address).block_id(block_id); + let pending = pending.clone(); + + // If the tag is pending, we use the pending state. + ProviderCall::BoxedFuture(Box::pin(async move { + let nonce = if let Some(pending) = pending.borrow().as_ref() + && block_id.is_pending() + { + pending + .executed_block + .execution_outcome() + .account(&address) + .flatten() + .map(|a| a.nonce) + } else { + None + }; + + Ok(nonce.unwrap_or(call.await?)) + })) + }) + } + + fn get_storage_at( + &self, + address: Address, + key: U256 + ) -> RpcWithBlock<(Address, U256), StorageValue> { + tracing::debug!(%address, %key, "get_storage_at"); + let pending = self.pending.clone(); + let provider = self.provider.clone(); + + RpcWithBlock::new_provider(move |block_id| { + let call = provider.get_storage_at(address, key).block_id(block_id); + let pending = pending.clone(); + + // If the tag is pending, we use the pending state. + ProviderCall::BoxedFuture(Box::pin(async move { + let value = if let Some(pending) = pending.borrow().as_ref() + && block_id.is_pending() + { + pending + .executed_block + .execution_outcome() + .storage(&address, key) + } else { + None + }; + + Ok(value.unwrap_or(call.await?)) + })) + }) + } + + fn get_code_at(&self, address: Address) -> RpcWithBlock { + tracing::debug!(%address, "get_code_at"); + let pending = self.pending.clone(); + let provider = self.provider.clone(); + + RpcWithBlock::new_provider(move |block_id| { + let call = provider.get_code_at(address).block_id(block_id); + let pending = pending.clone(); + + ProviderCall::BoxedFuture(Box::pin(async move { + let code = if let Some(pending) = pending.borrow().as_ref() + && block_id.is_pending() + { + // Abomination + pending + .executed_block + .execution_outcome() + .state() + .account(&address) + .map(|info| { + info.info + .as_ref() + .map(|info| info.code.as_ref().map(|code| code.original_bytes())) + .flatten() + }) + .flatten() + } else { + None + }; + + Ok(code.unwrap_or(call.await?)) + })) + }) + } +} diff --git a/crates/types/src/lib.rs b/crates/types/src/lib.rs index 1afdfd02c..a2227c1be 100644 --- a/crates/types/src/lib.rs +++ b/crates/types/src/lib.rs @@ -5,6 +5,7 @@ pub mod block_sync; pub mod consensus; pub mod contract_bindings; pub mod contract_payloads; +pub mod flashblocks; pub mod matching; pub mod network; pub mod orders; diff --git a/crates/types/src/primitive/mod.rs b/crates/types/src/primitive/mod.rs index 492683a9c..0aee60bb3 100644 --- a/crates/types/src/primitive/mod.rs +++ b/crates/types/src/primitive/mod.rs @@ -6,6 +6,7 @@ mod pool_state; mod recovered_bundle; mod rpcs; mod signer; +mod state; mod validation; pub use chain_config::*; @@ -16,4 +17,5 @@ pub use pool_state::*; pub use recovered_bundle::*; pub use rpcs::*; pub use signer::*; +pub use state::*; pub use validation::*; diff --git a/crates/types/src/primitive/state.rs b/crates/types/src/primitive/state.rs new file mode 100644 index 000000000..57f38aa97 --- /dev/null +++ b/crates/types/src/primitive/state.rs @@ -0,0 +1,38 @@ +use std::sync::Arc; + +use reth_primitives::{EthPrimitives, NodePrimitives}; +use reth_provider::Chain; + +use crate::flashblocks::PendingFlashblock; + +/// A canonical chain state notification. This is extended from +/// [CanonStateNotification](reth_provider::CanonStateNotification) to include +/// Flashblocks support. +#[derive(Clone, Debug)] +pub enum StateNotification { + /// The canonical chain was extended. + Commit { + /// The newly added chain segment. + new: Arc> + }, + /// The flashblock was committed. + FlashblockCommit { + /// The newly committed flashblock. + new: Arc + }, + /// A chain segment was reverted or reorged. + /// + /// - In the case of a reorg, the reverted blocks are present in `old`, and + /// the new blocks are present in `new`. + /// - In the case of a revert, the reverted blocks are present in `old`, and + /// `new` is an empty chain segment. + Reorg { + /// The chain segment that was reverted. + old: Arc>, + /// The chain segment that was added on top of the canonical chain, + /// minus the reverted blocks. + /// + /// In the case of a revert, not a reorg, this chain segment is empty. + new: Arc> + } +}