diff --git a/Cargo.lock b/Cargo.lock index 670b24b..1a1b5b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,21 +97,24 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy-chains" -version = "0.1.36" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c225801d42099570d0674701dddd4142f0ef715282aeb5985042e2ec962df7" +checksum = "836cf02383d9ebb35502d379bcd1ae803155094077eaab9c29131d888cd5fa3e" dependencies = [ + "alloy-primitives", "alloy-rlp", + "arbitrary", "num_enum", + "proptest", "serde", "strum", ] [[package]] name = "alloy-consensus" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" +checksum = "41ed961a48297c732a5d97ee321aa8bb5009ecadbcb077d8bec90cb54e651629" dependencies = [ "alloy-eips", "alloy-primitives", @@ -127,9 +130,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b499852e1d0e9b8c6db0f24c48998e647c0d5762a01090f955106a7700e4611" +checksum = "f5228b189b18b85761340dc9eaac0141148a8503657b36f9bc3a869413d987ca" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -158,13 +161,14 @@ dependencies = [ [[package]] name = "alloy-eip7702" -version = "0.1.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" +checksum = "64ffc577390ce50234e02d841214b3dc0bea6aaaae8e04bbf3cb82e9a45da9eb" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", + "derive_more", "k256", "rand", "serde", @@ -173,9 +177,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" +checksum = "b69e06cf9c37be824b9d26d6d101114fdde6af0c87de2828b414c05c4b3daa71" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -185,6 +189,8 @@ dependencies = [ "arbitrary", "c-kzg", "derive_more", + "ethereum_ssz", + "ethereum_ssz_derive", "once_cell", "serde", "sha2 0.10.8", @@ -192,9 +198,9 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" +checksum = "dde15e14944a88bd6a57d325e9a49b75558746fe16aaccc79713ae50a6a9574c" dependencies = [ "alloy-primitives", "alloy-serde", @@ -203,9 +209,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a438d4486b5d525df3b3004188f9d5cd1d65cd30ecc41e5a3ccef6f6342e8af9" +checksum = "31a0f0d51db8a1a30a4d98a9f90e090a94c8f44cb4d9eafc7e03aa6d00aae984" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -215,9 +221,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fa8a1a3c4cbd221f2b8e3693aeb328fca79a757fe556ed08e47bbbc2a70db7" +checksum = "af5979e0d5a7bf9c7eb79749121e8256e59021af611322aee56e77e20776b4b3" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -229,9 +235,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fa23a6a9d612b52e402c995f2d582c25165ec03ac6edf64c861a76bc5b87cd" +checksum = "204237129086ce5dc17a58025e93739b01b45313841f98fa339eb1d780511e57" dependencies = [ "alloy-consensus", "alloy-eips", @@ -250,9 +256,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" +checksum = "514f70ee2a953db21631cd817b13a1571474ec77ddc03d47616d5e8203489fde" dependencies = [ "alloy-consensus", "alloy-eips", @@ -263,9 +269,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260d3ff3bff0bb84599f032a2f2c6828180b0ea0cd41fdaf44f39cef3ba41861" +checksum = "8edae627382349b56cd6a7a2106f4fd69b243a9233e560c55c2e03cabb7e1d3c" dependencies = [ "alloy-rlp", "arbitrary", @@ -274,8 +280,9 @@ dependencies = [ "const-hex", "derive_arbitrary", "derive_more", + "foldhash", "getrandom", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "hex-literal", "indexmap 2.6.0", "itoa", @@ -294,9 +301,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcfaa4ffec0af04e3555686b8aacbcdf7d13638133a0672749209069750f78a6" +checksum = "4814d141ede360bb6cd1b4b064f1aab9de391e7c4d0d4d50ac89ea4bc1e25fbd" dependencies = [ "alloy-chains", "alloy-consensus", @@ -318,21 +325,24 @@ dependencies = [ "futures", "futures-utils-wasm", "lru", + "parking_lot", "pin-project", "reqwest", + "schnellru", "serde", "serde_json", "thiserror", "tokio", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-pubsub" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f32cef487122ae75c91eb50154c70801d71fabdb976fec6c49e0af5e6486ab15" +checksum = "96ba46eb69ddf7a9925b81f15229cb74658e6eebe5dd30a5b74e2cd040380573" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -349,9 +359,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -360,20 +370,20 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "alloy-rpc-client" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "370143ed581aace6e663342d21d209c6b2e34ee6142f7d6675adb518deeaf0dc" +checksum = "7fc2bd1e7403463a5f2c61e955bcc9d3072b63aa177442b0f9aa6a6d22a941e3" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -391,13 +401,14 @@ dependencies = [ "tower 0.5.1", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-rpc-types" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ffc534b7919e18f35e3aa1f507b6f3d9d92ec298463a9f6beaac112809d8d06" +checksum = "eea9bf1abdd506f985a53533f5ac01296bcd6102c5e139bbc5d40bc468d2c916" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -408,9 +419,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-admin" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb520ed46cc5b7d8c014a73fdd77b6a310383a2a5c0a5ae3c9b8055881f062b7" +checksum = "ea02c25541fb19eaac4278aa5c41d2d7e0245898887e54a74bfc0f3103e99415" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -420,9 +431,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d780adaa5d95b07ad92006b2feb68ecfa7e2015f7d5976ceaac4c906c73ebd07" +checksum = "2382fc63fb0cf3e02818d547b80cb66cc49a31f8803d0c328402b2008bc13650" dependencies = [ "alloy-primitives", "alloy-serde", @@ -431,9 +442,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8dc5980fe30203d698627cddb5f0cedc57f900c8b5e1229c8b9448e37acb4a" +checksum = "45357a642081c8ce235c0ad990c4e9279f5f18a723545076b38cfcc05cc25234" dependencies = [ "alloy-eips", "alloy-primitives", @@ -445,9 +456,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59d8f8c5bfb160081a772f1f68eb9a37e8929c4ef74e5d01f5b78c2b645a5c5e" +checksum = "a5afe3ab1038f90faf56304aa0adf1e6a8c9844615d8f83967f932f3a70390b1" dependencies = [ "alloy-primitives", "serde", @@ -455,9 +466,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0285c4c09f838ab830048b780d7f4a4f460f309aa1194bb049843309524c64c" +checksum = "886d22d41992287a235af2f3af4299b5ced2bcafb81eb835572ad35747476946" dependencies = [ "alloy-consensus", "alloy-eips", @@ -465,6 +476,8 @@ dependencies = [ "alloy-rlp", "alloy-serde", "derive_more", + "ethereum_ssz", + "ethereum_ssz_derive", "jsonrpsee-types", "jsonwebtoken", "rand", @@ -474,9 +487,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" +checksum = "00b034779a4850b4b03f5be5ea674a1cf7d746b2da762b34d1860ab45e48ca27" dependencies = [ "alloy-consensus", "alloy-eips", @@ -485,6 +498,7 @@ dependencies = [ "alloy-rlp", "alloy-serde", "alloy-sol-types", + "arbitrary", "derive_more", "itertools 0.13.0", "jsonrpsee-types", @@ -494,9 +508,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-mev" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cec23ce56c869eec5f6b6fd6a8a92b5aa0cfaf8d7be3a96502e537554dc7430" +checksum = "3246948dfa5f5060a9abe04233d741ea656ef076b12958f3242416ce9f375058" dependencies = [ "alloy-eips", "alloy-primitives", @@ -507,9 +521,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017cad3e5793c5613588c1f9732bcbad77e820ba7d0feaba3527749f856fdbc5" +checksum = "4e5fb6c5c401321f802f69dcdb95b932f30f8158f6798793f914baac5995628e" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -521,9 +535,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b230e321c416be7f50530159392b4c41a45596d40d97e185575bcd0b545e521" +checksum = "9ad066b49c3b1b5f64cdd2399177a19926a6a15db2dbf11e2098de621f9e7480" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -533,9 +547,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dff0ab1cdd43ca001e324dc27ee0e8606bd2161d6623c63e0e0b8c4dfc13600" +checksum = "028e72eaa9703e4882344983cfe7636ce06d8cce104a78ea62fd19b46659efc4" dependencies = [ "alloy-primitives", "arbitrary", @@ -545,9 +559,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd4e0ad79c81a27ca659be5d176ca12399141659fef2bcbfdc848da478f4504" +checksum = "592c185d7100258c041afac51877660c7bf6213447999787197db4842f0e938e" dependencies = [ "alloy-primitives", "async-trait", @@ -559,9 +573,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494e0a256f3e99f2426f994bcd1be312c02cb8f88260088dacb33a8b8936475f" +checksum = "6614f02fc1d5b079b2a4a5320018317b506fd0a6d67c1fd5542a71201724986c" dependencies = [ "alloy-consensus", "alloy-network", @@ -575,23 +589,23 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e7f6e8fe5b443f82b3f1e15abfa191128f71569148428e49449d01f6f49e8b" +checksum = "841eabaa4710f719fddbc24c95d386eae313f07e6da4babc25830ee37945be0c" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b96ce28d2fde09abb6135f410c41fad670a3a770b6776869bd852f1df102e6f" +checksum = "6672337f19d837b9f7073c45853aeb528ed9f7dd6a4154ce683e9e5cb7794014" dependencies = [ "alloy-sol-macro-input", "const-hex", @@ -600,31 +614,31 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906746396a8296537745711630d9185746c0b50c033d5e9d18b0a6eba3d53f90" +checksum = "0dff37dd20bfb118b777c96eda83b2067f4226d2644c5cfa00187b3bc01770ba" dependencies = [ "const-hex", "dunce", "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc85178909a49c8827ffccfc9103a7ce1767ae66a801b69bdc326913870bf8e6" +checksum = "5b853d42292dbb159671a3edae3b2750277ff130f32b726fe07dc2b17aa6f2b5" dependencies = [ "serde", "winnow", @@ -632,9 +646,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86a533ce22525969661b25dfe296c112d35eb6861f188fd284f8bd4bb3842ae" +checksum = "aa828bb1b9a6dc52208fbb18084fb9ce2c30facc2bfda6a5d922349b4990354f" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -645,9 +659,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ac3e97dad3d31770db0fc89bd6a63b789fbae78963086733f960cf32c483904" +checksum = "be77579633ebbc1266ae6fd7694f75c408beb1aeb6865d0b18f22893c265a061" dependencies = [ "alloy-json-rpc", "base64 0.22.1", @@ -660,13 +674,14 @@ dependencies = [ "tower 0.5.1", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-transport-http" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b367dcccada5b28987c2296717ee04b9a5637aacd78eacb1726ef211678b5212" +checksum = "91fd1a5d0827939847983b46f2f79510361f901dc82f8e3c38ac7397af142c6e" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -679,9 +694,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.4.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7153b88690de6a50bba81c11e1d706bc41dbb90126d607404d60b763f6a3947f" +checksum = "61f27837bb4a1d6c83a28231c94493e814882f0e9058648a97e908a5f3fc9fcf" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -697,13 +712,14 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9703ce68b97f8faae6f7739d1e003fc97621b856953cbcdbb2b515743f23288" +checksum = "cdd7f8b3a7c65ca09b3c7bdd7c7d72d7423d026f5247eda96af53d24e58315c1" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", + "arrayvec", "derive_arbitrary", "derive_more", "nybbles", @@ -731,9 +747,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338" dependencies = [ "anstyle", "anstyle-parse", @@ -746,56 +762,56 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13" [[package]] name = "aquamarine" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" +checksum = "0f50776554130342de4836ba542aa85a4ddb361690d7e8df13774d7284c3d5c2" dependencies = [ "include_dir", "itertools 0.10.5", - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -942,6 +958,9 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] name = "asn1_der" @@ -951,9 +970,9 @@ checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "async-compression" -version = "0.4.13" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e614738943d3f68c628ae3dbce7c3daffb196665f82f8c8ea6b65de73c79429" +checksum = "0cb8f1d480b0ea3783ab015936d2a55c87e219676f0c0b7dec61494043f21857" dependencies = [ "brotli", "flate2", @@ -984,7 +1003,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -995,7 +1014,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1033,7 +1052,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1118,26 +1137,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" -dependencies = [ - "bitflags 2.6.0", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex", - "syn 2.0.79", -] - [[package]] name = "bindgen" version = "0.70.1" @@ -1153,7 +1152,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1335,7 +1334,7 @@ checksum = "240f4126219a83519bad05c9a40bfc0303921eeb571fc2d7e44c17ffac99d3f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "synstructure", ] @@ -1416,6 +1415,17 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "bstr" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +dependencies = [ + "memchr", + "regex-automata 0.4.8", + "serde", +] + [[package]] name = "bumpalo" version = "3.16.0" @@ -1430,22 +1440,22 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1456,9 +1466,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" dependencies = [ "serde", ] @@ -1527,9 +1537,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.24" +version = "1.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812acba72f0a070b003d3697490d2b55b837230ae7c6c6497f05cc2ddbb8d938" +checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" dependencies = [ "jobserver", "libc", @@ -1557,6 +1567,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -1595,9 +1611,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -1605,9 +1621,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -1624,7 +1640,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1635,9 +1651,9 @@ checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "combine" @@ -1803,6 +1819,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -1846,7 +1868,7 @@ dependencies = [ "bitflags 2.6.0", "crossterm_winapi", "libc", - "parking_lot 0.12.3", + "parking_lot", "winapi", ] @@ -1859,7 +1881,7 @@ dependencies = [ "bitflags 2.6.0", "crossterm_winapi", "mio 1.0.2", - "parking_lot 0.12.3", + "parking_lot", "rustix", "signal-hook", "signal-hook-mio", @@ -1947,7 +1969,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1971,7 +1993,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1982,7 +2004,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -1995,7 +2017,7 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.10", + "parking_lot_core", ] [[package]] @@ -2009,7 +2031,8 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.10", + "parking_lot_core", + "serde", ] [[package]] @@ -2046,11 +2069,12 @@ checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e" [[package]] name = "delay_map" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4355c25cbf99edcb6b4a0e906f6bdc6956eda149e84455bea49696429b2f8e8" +checksum = "df941644b671f05f59433e481ba0d31ac10e3667de725236a4c0d587c496fba1" dependencies = [ "futures", + "tokio", "tokio-util", ] @@ -2093,7 +2117,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -2114,7 +2138,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "unicode-xid", ] @@ -2189,9 +2213,9 @@ dependencies = [ [[package]] name = "discv5" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f569b8c367554666c8652305621e8bae3634a2ff5c6378081d5bd8c399c99f23" +checksum = "23e6b70634e26c909d1edbb3142b3eaf3b89da0e52f284f00ca7c80d9901ad9e" dependencies = [ "aes", "aes-gcm", @@ -2210,13 +2234,13 @@ dependencies = [ "lru", "more-asserts", "multiaddr", - "parking_lot 0.11.2", + "parking_lot", "rand", "smallvec", - "socket2 0.4.10", + "socket2", "tokio", "tracing", - "uint", + "uint 0.10.0", "zeroize", ] @@ -2228,7 +2252,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -2348,7 +2372,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -2359,7 +2383,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -2378,6 +2402,47 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "ethereum_serde_utils" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70cbccfccf81d67bff0ab36e591fa536c8a935b078a7b0e58c1d00d418332fc9" +dependencies = [ + "alloy-primitives", + "hex", + "serde", + "serde_derive", + "serde_json", +] + +[[package]] +name = "ethereum_ssz" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfbba28f4f3f32d92c06a64f5bf6c4537b5d4e21f28c689bd2bbaecfea4e0d3e" +dependencies = [ + "alloy-primitives", + "derivative", + "ethereum_serde_utils", + "itertools 0.13.0", + "serde", + "serde_derive", + "smallvec", + "typenum", +] + +[[package]] +name = "ethereum_ssz_derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d37845ba7c16bf4be8be4b5786f03a2ba5f2fda0d7f9e7cb2282f69cff420d7" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.86", +] + [[package]] name = "eyre" version = "0.6.12" @@ -2477,6 +2542,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -2503,9 +2574,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -2518,9 +2589,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2528,15 +2599,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -2545,32 +2616,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -2584,9 +2655,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2612,6 +2683,7 @@ version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ + "serde", "typenum", "version_check", "zeroize", @@ -2754,7 +2826,6 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", - "serde", ] [[package]] @@ -2762,12 +2833,18 @@ name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", + "serde", +] [[package]] name = "hashlink" -version = "0.8.4" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af" dependencies = [ "hashbrown 0.14.5", ] @@ -2935,9 +3012,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" dependencies = [ "bytes", "futures-channel", @@ -2975,9 +3052,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -2986,7 +3063,7 @@ dependencies = [ "http-body", "hyper", "pin-project-lite", - "socket2 0.5.7", + "socket2", "tokio", "tower-service", "tracing", @@ -3130,7 +3207,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -3274,16 +3351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b23a0c8dfe501baac4adf6ebbfa6eddf8f0c07f56b058cc1288017e32397846c" dependencies = [ "quote", - "syn 2.0.79", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", + "syn 2.0.86", ] [[package]] @@ -3316,7 +3384,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.7", + "socket2", "widestring", "windows-sys 0.48.0", "winreg", @@ -3330,9 +3398,9 @@ checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bd7eced44cfe2cebc674adb2a7124a754a4b5269288d22e9f39f8fada3562d" +checksum = "dc0f0a572e8ffe56e2ff4f769f32ffe919282c3916799f8b68688b6030063bea" dependencies = [ "memchr", "serde", @@ -3353,15 +3421,6 @@ 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" @@ -3408,18 +3467,18 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126b48a5acc3c52fbd5381a77898cb60e145123179588a29e7ac48f9c06e401b" +checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3435,9 +3494,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf679a8e0e083c77997f7c4bb4ca826577105906027ae462aac70ff348d02c6a" +checksum = "548125b159ba1314104f5bb5f38519e03a41862786aa3925cf349aae9cdd546e" dependencies = [ "base64 0.22.1", "futures-channel", @@ -3460,9 +3519,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e503369a76e195b65af35058add0e6900b794a4e9a9316900ddd3a87a80477" +checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280" dependencies = [ "async-trait", "bytes", @@ -3472,7 +3531,7 @@ dependencies = [ "http-body", "http-body-util", "jsonrpsee-types", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "rand", "rustc-hash 2.0.0", @@ -3487,9 +3546,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c0caba4a6a8efbafeec9baa986aa22a75a96c29d3e4b0091b0098d6470efb5" +checksum = "b3638bc4617f96675973253b3a45006933bde93c2fd8a6170b33c777cc389e5b" dependencies = [ "async-trait", "base64 0.22.1", @@ -3512,22 +3571,22 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc660a9389e2748e794a40673a4155d501f32db667757cdb80edeff0306b489b" +checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" dependencies = [ "heck", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "jsonrpsee-server" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af6e6c9b6d975edcb443565d648b605f3e85a04ec63aa6941811a8894cc9cded" +checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c" dependencies = [ "futures-util", "http", @@ -3552,9 +3611,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb16314327cbc94fdf7965ef7e4422509cd5597f76d137bd104eb34aeede67" +checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1" dependencies = [ "http", "serde", @@ -3564,9 +3623,9 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0da62b43702bd5640ea305d35df95da30abc878e79a7b4b01feda3beaf35d3c" +checksum = "1a01cd500915d24ab28ca17527e23901ef1be6d659a2322451e1045532516c25" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3575,9 +3634,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39aabf5d6c6f22da8d5b808eea1fab0736059f11fb42f71f141b14f404e5046a" +checksum = "0fe322e0896d0955a3ebdd5bf813571c53fea29edd713bc315b76620b327e86d" dependencies = [ "http", "jsonrpsee-client-transport", @@ -3678,17 +3737,11 @@ dependencies = [ "spin", ] -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libloading" @@ -3702,9 +3755,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libp2p-identity" @@ -3727,11 +3780,11 @@ dependencies = [ [[package]] name = "libproc" -version = "0.14.8" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9ea4b75e1a81675429dafe43441df1caea70081e82246a8cccf514884a88bb" +checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" dependencies = [ - "bindgen 0.69.4", + "bindgen", "errno", "libc", ] @@ -3744,7 +3797,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", - "redox_syscall 0.5.7", + "redox_syscall", ] [[package]] @@ -3808,6 +3861,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588" dependencies = [ "linked-hash-map", + "serde", ] [[package]] @@ -3830,6 +3884,7 @@ checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", + "serde", ] [[package]] @@ -3840,11 +3895,11 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] @@ -3912,9 +3967,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" +checksum = "8ae428771d17306715c5091d446327d1cfdedc82185c65ba8423ab404e45bf10" dependencies = [ "ahash", "portable-atomic", @@ -3929,14 +3984,14 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "metrics-exporter-prometheus" -version = "0.15.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f0c8427b39666bf970460908b213ec09b3b350f20c0c2eabcbba51704a08e6" +checksum = "85b6f8152da6d7892ff1b7a1c0fa3f435e92b5918ad67035c3bb432111d9a29b" dependencies = [ "base64 0.22.1", "indexmap 2.6.0", @@ -3948,30 +4003,30 @@ dependencies = [ [[package]] name = "metrics-process" -version = "2.1.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb524e5438255eaa8aa74214d5a62713b77b2c3c6e3c0bbeee65cfd9a58948ba" +checksum = "57ca8ecd85575fbb143b2678cb123bb818779391ec0f745b1c4a9dbabadde407" dependencies = [ + "libc", "libproc", "mach2", "metrics", "once_cell", - "procfs", + "procfs 0.17.0", "rlimit", - "windows", + "windows 0.58.0", ] [[package]] name = "metrics-util" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828" +checksum = "15b482df36c13dd1869d73d14d28cd4855fbd6cfc32294bee109908a9f4a4ed7" dependencies = [ "crossbeam-epoch", "crossbeam-utils", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "metrics", - "num_cpus", "quanta", "sketches-ddsketch", ] @@ -4074,7 +4129,7 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.8.0", + "unsigned-varint", "url", ] @@ -4091,12 +4146,12 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" dependencies = [ "core2", - "unsigned-varint 0.7.2", + "unsigned-varint", ] [[package]] @@ -4123,6 +4178,7 @@ dependencies = [ "libc", "log", "mio 0.8.11", + "serde", "walkdir", "windows-sys 0.48.0", ] @@ -4255,7 +4311,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -4292,18 +4348,19 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.1" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" dependencies = [ + "critical-section", "portable-atomic", ] [[package]] name = "op-alloy-consensus" -version = "0.3.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f7f318f885db6e1455370ca91f74b7faed152c8142f6418f0936d606e582ff" +checksum = "f26c3b35b7b3e36d15e0563eebffe13c1d9ca16b7aaffcb6a64354633547e16b" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4319,9 +4376,9 @@ dependencies = [ [[package]] name = "op-alloy-genesis" -version = "0.3.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8215c87b74d2fbbaff0fd2887868a8341df33a3c495ee01f813e5ddd5be9c46" +checksum = "ccacc2efed3d60d98ea581bddb885df1c6c62a592e55de049cfefd94116112cd" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4333,26 +4390,29 @@ dependencies = [ [[package]] name = "op-alloy-protocol" -version = "0.3.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa5c397fbe35e07f9c95a571440ca2e90df754e198496d82ff4127de00b89dd9" +checksum = "f5f8e6ec6b91c6aaeb20860b455a52fd8e300acfe5d534e96e9073a24f853e74" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", + "async-trait", "derive_more", "op-alloy-consensus", "op-alloy-genesis", "serde", + "tracing", + "unsigned-varint", ] [[package]] name = "op-alloy-rpc-types" -version = "0.3.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "547d29c5ab957ff32e14edddb93652dad748d2ef6cbe4b0fe8615ce06b0a3ddb" +checksum = "94bae9bf91b620e1e2c2291562e5998bc1247bd8ada011773e1997b31a95de99" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4360,6 +4420,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", + "arbitrary", "op-alloy-consensus", "serde", "serde_json", @@ -4367,16 +4428,18 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.3.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041122e20b76644cc690bba688671eecdc4626e6384a76eb740535d6ddcef14" +checksum = "4b52ee59c86537cff83e8c7f2a6aa287a94f3608bb40c06d442aafd0c2e807a4" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", "alloy-serde", "derive_more", + "ethereum_ssz", "op-alloy-protocol", "serde", + "snap", ] [[package]] @@ -4419,6 +4482,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ + "arbitrary", "arrayvec", "bitvec", "byte-slice-cast", @@ -4440,17 +4504,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - [[package]] name = "parking_lot" version = "0.12.3" @@ -4458,21 +4511,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", + "parking_lot_core", ] [[package]] @@ -4483,7 +4522,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.7", + "redox_syscall", "smallvec", "windows-targets 0.52.6", ] @@ -4512,9 +4551,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror", @@ -4561,7 +4600,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -4575,29 +4614,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -4687,7 +4726,7 @@ checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", "impl-codec", - "uint", + "uint 0.9.5", ] [[package]] @@ -4700,83 +4739,81 @@ dependencies = [ ] [[package]] -name = "proc-macro-error" -version = "1.0.4" +name = "proc-macro-error-attr2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" dependencies = [ - "proc-macro-error-attr", "proc-macro2", "quote", - "syn 1.0.109", - "version_check", ] [[package]] -name = "proc-macro-error-attr" -version = "1.0.4" +name = "proc-macro-error2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" dependencies = [ + "proc-macro-error-attr2", "proc-macro2", "quote", - "version_check", + "syn 2.0.86", ] [[package]] -name = "proc-macro-error-attr2" -version = "2.0.0" +name = "proc-macro2" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ - "proc-macro2", - "quote", + "unicode-ident", ] [[package]] -name = "proc-macro-error2" -version = "2.0.1" +name = "procfs" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", - "syn 2.0.79", + "bitflags 2.6.0", + "chrono", + "flate2", + "hex", + "lazy_static", + "procfs-core 0.16.0", + "rustix", ] [[package]] -name = "proc-macro2" -version = "1.0.86" +name = "procfs" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ - "unicode-ident", + "bitflags 2.6.0", + "hex", + "procfs-core 0.17.0", + "rustix", ] [[package]] -name = "procfs" +name = "procfs-core" version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" +checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ "bitflags 2.6.0", "chrono", - "flate2", "hex", - "lazy_static", - "procfs-core", - "rustix", ] [[package]] name = "procfs-core" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ "bitflags 2.6.0", - "chrono", "hex", ] @@ -4818,7 +4855,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -4863,7 +4900,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.0.0", "rustls", - "socket2 0.5.7", + "socket2", "thiserror", "tokio", "tracing", @@ -4888,13 +4925,14 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "e346e016eacfff12233c243718197ca12f148c84e1e84268a896699b41c71780" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.7", + "socket2", "tracing", "windows-sys 0.59.0", ] @@ -5010,15 +5048,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.5.7" @@ -5041,9 +5070,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -5095,9 +5124,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.8" +version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes", @@ -5147,8 +5176,8 @@ dependencies = [ [[package]] name = "reth" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5219,9 +5248,10 @@ dependencies = [ [[package]] name = "reth-auto-seal-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "futures-util", @@ -5249,21 +5279,23 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", "futures-core", "futures-util", "metrics", "reth-chainspec", + "reth-evm", "reth-metrics", "reth-payload-builder", "reth-payload-primitives", "reth-primitives", "reth-provider", - "reth-revm", "reth-tasks", "reth-transaction-pool", "revm", @@ -5273,9 +5305,10 @@ dependencies = [ [[package]] name = "reth-beacon-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "futures", @@ -5307,15 +5340,15 @@ dependencies = [ [[package]] name = "reth-blockchain-tree" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", "aquamarine", "linked_hash_set", "metrics", - "parking_lot 0.12.3", + "parking_lot", "reth-blockchain-tree-api", "reth-consensus", "reth-db", @@ -5340,8 +5373,8 @@ dependencies = [ [[package]] name = "reth-blockchain-tree-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "reth-consensus", @@ -5353,8 +5386,8 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5364,7 +5397,7 @@ dependencies = [ "auto_impl", "derive_more", "metrics", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "rand", "reth-chainspec", @@ -5382,14 +5415,14 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-chains", + "alloy-consensus", "alloy-eips", "alloy-genesis", "alloy-primitives", - "alloy-trie", "auto_impl", "derive_more", "once_cell", @@ -5402,25 +5435,27 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-genesis", "clap", "eyre", "reth-cli-runner", + "reth-db", "serde_json", "shellexpand", ] [[package]] name = "reth-cli-commands" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "ahash", "alloy-eips", "alloy-primitives", + "alloy-rlp", "backon", "clap", "comfy-table", @@ -5473,8 +5508,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "reth-tasks", "tokio", @@ -5483,8 +5518,8 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -5494,40 +5529,45 @@ dependencies = [ "rand", "reth-fs-util", "secp256k1", + "serde", "thiserror", "tikv-jemallocator", ] [[package]] name = "reth-codecs" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-trie", + "arbitrary", "bytes", "modular-bitfield", + "op-alloy-consensus", "reth-codecs-derive", + "serde", + "visibility", ] [[package]] name = "reth-codecs-derive" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "reth-config" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "eyre", "humantime-serde", @@ -5540,9 +5580,10 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-eips", "alloy-primitives", "auto_impl", "derive_more", @@ -5551,9 +5592,11 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -5563,8 +5606,8 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5587,8 +5630,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "bytes", @@ -5596,7 +5639,7 @@ dependencies = [ "eyre", "metrics", "page_size", - "parking_lot 0.12.3", + "parking_lot", "paste", "reth-db-api", "reth-fs-util", @@ -5620,8 +5663,8 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -5645,8 +5688,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -5673,8 +5716,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "arbitrary", @@ -5688,15 +5731,17 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", "discv5", "enr", "generic-array", - "parking_lot 0.12.3", + "itertools 0.13.0", + "parking_lot", + "rand", "reth-ethereum-forks", "reth-net-banlist", "reth-net-nat", @@ -5712,8 +5757,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -5736,19 +5781,21 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "data-encoding", "enr", "linked_hash_set", - "parking_lot 0.12.3", + "parking_lot", "reth-ethereum-forks", "reth-network-peers", "reth-tokio-util", "schnellru", "secp256k1", + "serde", + "serde_with", "thiserror", "tokio", "tokio-stream", @@ -5758,8 +5805,8 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -5787,8 +5834,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "aes", "alloy-primitives", @@ -5816,10 +5863,40 @@ dependencies = [ "typenum", ] +[[package]] +name = "reth-engine-local" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine", + "eyre", + "futures-util", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-engine-primitives", + "reth-engine-service", + "reth-engine-tree", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-payload-builder", + "reth-payload-primitives", + "reth-payload-validator", + "reth-provider", + "reth-prune", + "reth-rpc-types-compat", + "reth-stages-api", + "reth-transaction-pool", + "tokio", + "tokio-stream", + "tracing", +] + [[package]] name = "reth-engine-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "reth-execution-types", @@ -5831,12 +5908,13 @@ dependencies = [ [[package]] name = "reth-engine-service" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "futures", "pin-project", "reth-beacon-consensus", + "reth-chainspec", "reth-consensus", "reth-engine-tree", "reth-evm", @@ -5853,8 +5931,8 @@ dependencies = [ [[package]] name = "reth-engine-tree" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -5890,9 +5968,11 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "eyre", @@ -5921,8 +6001,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "reth-blockchain-tree-api", "reth-consensus", @@ -5934,8 +6014,8 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -5950,6 +6030,7 @@ dependencies = [ "reth-metrics", "reth-network-peers", "reth-primitives", + "serde", "snap", "thiserror", "tokio", @@ -5960,8 +6041,8 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-chains", "alloy-eips", @@ -5972,13 +6053,14 @@ dependencies = [ "reth-chainspec", "reth-codecs-derive", "reth-primitives", + "serde", "thiserror", ] [[package]] name = "reth-ethereum-cli" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "eyre", "reth-chainspec", @@ -5987,9 +6069,11 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -6000,8 +6084,8 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6019,8 +6103,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-chains", "alloy-primitives", @@ -6039,9 +6123,11 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "reth-basic-payload-builder", "reth-chain-state", @@ -6064,8 +6150,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "rayon", "reth-db-api", @@ -6074,21 +6160,25 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", "auto_impl", "futures-util", "metrics", + "parking_lot", "reth-chainspec", + "reth-consensus", + "reth-consensus-common", "reth-execution-errors", "reth-execution-types", "reth-metrics", "reth-primitives", "reth-primitives-traits", "reth-prune-types", + "reth-revm", "reth-storage-errors", "revm", "revm-primitives", @@ -6096,27 +6186,27 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-sol-types", "reth-chainspec", + "reth-consensus", "reth-ethereum-consensus", "reth-ethereum-forks", "reth-evm", - "reth-execution-types", "reth-primitives", - "reth-prune-types", "reth-revm", "revm-primitives", ] [[package]] name = "reth-execution-errors" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6131,8 +6221,8 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6146,8 +6236,8 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6155,7 +6245,7 @@ dependencies = [ "futures", "itertools 0.13.0", "metrics", - "parking_lot 0.12.3", + "parking_lot", "reth-chain-state", "reth-chainspec", "reth-config", @@ -6182,8 +6272,8 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6195,8 +6285,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "serde", "serde_json", @@ -6205,8 +6295,8 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6230,8 +6320,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "async-trait", "bytes", @@ -6251,15 +6341,15 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "bitflags 2.6.0", "byteorder", "dashmap 6.1.0", "derive_more", "indexmap 2.6.0", - "parking_lot 0.12.3", + "parking_lot", "reth-mdbx-sys", "smallvec", "thiserror", @@ -6268,17 +6358,17 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ - "bindgen 0.70.1", + "bindgen", "cc", ] [[package]] name = "reth-metrics" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "futures", "metrics", @@ -6289,16 +6379,16 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", ] [[package]] name = "reth-net-nat" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "futures-util", "if-addrs", @@ -6311,8 +6401,8 @@ dependencies = [ [[package]] name = "reth-network" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6325,7 +6415,7 @@ dependencies = [ "futures", "itertools 0.13.0", "metrics", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "rand", "reth-chainspec", @@ -6343,6 +6433,7 @@ dependencies = [ "reth-network-peers", "reth-network-types", "reth-primitives", + "reth-provider", "reth-storage-api", "reth-tasks", "reth-tokio-util", @@ -6361,8 +6452,8 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rpc-types-admin", @@ -6384,14 +6475,15 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", "auto_impl", "derive_more", "futures", + "parking_lot", "reth-consensus", "reth-eth-wire-types", "reth-network-peers", @@ -6404,8 +6496,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6419,8 +6511,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "humantime-serde", "reth-ethereum-forks", @@ -6433,8 +6525,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "anyhow", "bincode", @@ -6450,26 +6542,30 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-rpc-types-engine", + "eyre", + "reth-beacon-consensus", + "reth-consensus", "reth-engine-primitives", "reth-evm", "reth-network-api", + "reth-node-core", "reth-node-types", "reth-payload-builder", "reth-payload-primitives", "reth-primitives", "reth-provider", - "reth-rpc-eth-api", "reth-tasks", "reth-transaction-pool", ] [[package]] name = "reth-node-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -6491,6 +6587,7 @@ dependencies = [ "reth-db-api", "reth-db-common", "reth-downloaders", + "reth-engine-local", "reth-engine-service", "reth-engine-tree", "reth-engine-util", @@ -6531,9 +6628,11 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "clap", @@ -6557,8 +6656,6 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-prune-types", - "reth-rpc-api", - "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-server-types", "reth-rpc-types-compat", @@ -6579,8 +6676,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "eyre", "reth-auto-seal-consensus", @@ -6590,6 +6687,7 @@ dependencies = [ "reth-consensus", "reth-ethereum-engine-primitives", "reth-ethereum-payload-builder", + "reth-evm", "reth-evm-ethereum", "reth-network", "reth-node-api", @@ -6597,16 +6695,21 @@ dependencies = [ "reth-payload-builder", "reth-primitives", "reth-provider", + "reth-revm", "reth-rpc", "reth-tracing", "reth-transaction-pool", + "reth-trie-db", + "revm", ] [[package]] name = "reth-node-events" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "futures", @@ -6615,7 +6718,6 @@ dependencies = [ "reth-beacon-consensus", "reth-network", "reth-network-api", - "reth-primitives", "reth-primitives-traits", "reth-provider", "reth-prune", @@ -6627,8 +6729,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "eyre", "http", @@ -6637,7 +6739,7 @@ dependencies = [ "metrics-exporter-prometheus", "metrics-process", "metrics-util", - "procfs", + "procfs 0.16.0", "reth-db-api", "reth-metrics", "reth-provider", @@ -6651,18 +6753,21 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "reth-chainspec", "reth-db-api", "reth-engine-primitives", + "reth-primitives", + "reth-primitives-traits", + "reth-trie-db", ] [[package]] name = "reth-payload-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -6681,9 +6786,10 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-eips", "alloy-primitives", "alloy-rpc-types", "async-trait", @@ -6703,8 +6809,8 @@ dependencies = [ [[package]] name = "reth-payload-validator" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-rpc-types", "reth-chainspec", @@ -6714,8 +6820,8 @@ dependencies = [ [[package]] name = "reth-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6732,7 +6838,6 @@ dependencies = [ "once_cell", "op-alloy-consensus", "op-alloy-rpc-types", - "proptest", "rand", "rayon", "reth-codecs", @@ -6749,8 +6854,8 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6773,8 +6878,8 @@ dependencies = [ [[package]] name = "reth-provider" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6785,8 +6890,7 @@ dependencies = [ "itertools 0.13.0", "metrics", "notify", - "once_cell", - "parking_lot 0.12.3", + "parking_lot", "rayon", "reth-blockchain-tree-api", "reth-chain-state", @@ -6818,8 +6922,8 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "itertools 0.13.0", @@ -6844,10 +6948,11 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", + "arbitrary", "bytes", "derive_more", "modular-bitfield", @@ -6858,24 +6963,24 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-eips", "alloy-primitives", - "reth-chainspec", - "reth-consensus-common", "reth-execution-errors", "reth-primitives", "reth-prune-types", "reth-storage-api", "reth-storage-errors", + "reth-trie", "revm", ] [[package]] name = "reth-rpc" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -6886,6 +6991,7 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types", "alloy-rpc-types-admin", + "alloy-rpc-types-beacon", "alloy-rpc-types-debug", "alloy-rpc-types-eth", "alloy-rpc-types-mev", @@ -6902,17 +7008,19 @@ dependencies = [ "hyper", "jsonrpsee", "jsonwebtoken", - "parking_lot 0.12.3", + "parking_lot", "pin-project", "rand", "reth-chainspec", + "reth-consensus", "reth-consensus-common", "reth-errors", + "reth-ethereum-consensus", "reth-evm", "reth-network-api", "reth-network-peers", "reth-network-types", - "reth-node-api", + "reth-payload-validator", "reth-primitives", "reth-provider", "reth-revm", @@ -6940,8 +7048,8 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-json-rpc", @@ -6962,12 +7070,14 @@ dependencies = [ "reth-network-peers", "reth-primitives", "reth-rpc-eth-api", + "serde", + "serde_with", ] [[package]] name = "reth-rpc-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-network", "alloy-rpc-types", @@ -6977,6 +7087,7 @@ dependencies = [ "metrics", "pin-project", "reth-chainspec", + "reth-consensus", "reth-engine-primitives", "reth-evm", "reth-ipc", @@ -6995,6 +7106,8 @@ dependencies = [ "reth-transaction-pool", "serde", "thiserror", + "tokio", + "tokio-util", "tower 0.4.13", "tower-http", "tracing", @@ -7002,8 +7115,8 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7033,9 +7146,10 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", "alloy-dyn-abi", "alloy-eips", "alloy-json-rpc", @@ -7050,12 +7164,13 @@ dependencies = [ "futures", "jsonrpsee", "jsonrpsee-types", - "parking_lot 0.12.3", + "parking_lot", "reth-chainspec", "reth-errors", "reth-evm", "reth-execution-types", "reth-network-api", + "reth-node-api", "reth-primitives", "reth-provider", "reth-revm", @@ -7074,8 +7189,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7086,6 +7201,7 @@ dependencies = [ "alloy-sol-types", "derive_more", "futures", + "itertools 0.13.0", "jsonrpsee-core", "jsonrpsee-types", "metrics", @@ -7117,8 +7233,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-rpc-types-engine", "http", @@ -7130,8 +7246,8 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -7146,9 +7262,10 @@ dependencies = [ [[package]] name = "reth-rpc-types-compat" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", @@ -7158,12 +7275,13 @@ dependencies = [ "alloy-serde", "reth-primitives", "reth-trie-common", + "serde", ] [[package]] name = "reth-stages" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "bincode", @@ -7198,8 +7316,8 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "aquamarine", @@ -7224,10 +7342,11 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", + "arbitrary", "bytes", "modular-bitfield", "reth-codecs", @@ -7237,17 +7356,14 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", - "parking_lot 0.12.3", + "parking_lot", "rayon", - "reth-chainspec", "reth-db", "reth-db-api", - "reth-nippy-jar", - "reth-node-types", "reth-provider", "reth-prune-types", "reth-stages-types", @@ -7259,8 +7375,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "clap", @@ -7271,9 +7387,10 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "auto_impl", @@ -7290,8 +7407,8 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7303,8 +7420,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "auto_impl", "dyn-clone", @@ -7321,8 +7438,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "tokio", "tokio-stream", @@ -7331,8 +7448,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "clap", "eyre", @@ -7346,9 +7463,10 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", @@ -7357,7 +7475,8 @@ dependencies = [ "bitflags 2.6.0", "futures-util", "metrics", - "parking_lot 0.12.3", + "parking_lot", + "rand", "reth-chain-state", "reth-chainspec", "reth-eth-wire-types", @@ -7380,13 +7499,13 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ + "alloy-consensus", "alloy-primitives", "alloy-rlp", "auto_impl", - "derive_more", "itertools 0.13.0", "metrics", "rayon", @@ -7405,8 +7524,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7428,33 +7547,31 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", - "auto_impl", "derive_more", - "itertools 0.13.0", "metrics", - "rayon", "reth-db", "reth-db-api", "reth-execution-errors", "reth-metrics", "reth-primitives", - "reth-stages-types", "reth-storage-errors", "reth-trie", "reth-trie-common", "revm", + "serde", "tracing", + "triehash", ] [[package]] name = "reth-trie-parallel" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=9a732f6b7813f9ecb5f28b379d3062c287a78e70#9a732f6b7813f9ecb5f28b379d3062c287a78e70" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=bd8c4eceb20c39c6e501d06cf906469329340bb9#bd8c4eceb20c39c6e501d06cf906469329340bb9" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7463,7 +7580,6 @@ dependencies = [ "metrics", "rayon", "reth-db", - "reth-db-api", "reth-execution-errors", "reth-metrics", "reth-primitives", @@ -7479,7 +7595,9 @@ name = "reth_gnosis" version = "0.1.0" dependencies = [ "alloy-chains", + "alloy-consensus", "alloy-dyn-abi", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", @@ -7511,10 +7629,12 @@ dependencies = [ "reth-primitives", "reth-provider", "reth-prune-types", + "reth-rpc", "reth-stages", "reth-stages-api", "reth-stages-types", "reth-trie", + "reth-trie-db", "revm", "revm-inspectors", "revm-primitives", @@ -7531,9 +7651,9 @@ dependencies = [ [[package]] name = "revm" -version = "14.0.3" +version = "17.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641702b12847f9ed418d552f4fcabe536d867a2c980e96b6e7e25d7b992f929f" +checksum = "055bee6a81aaeee8c2389ae31f0d4de87f44df24f4444a1116f9755fd87a76ad" dependencies = [ "auto_impl", "cfg-if", @@ -7546,9 +7666,9 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.8.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c44af0bf801f48d25f7baf25cf72aff4c02d610f83b428175228162fef0246" +checksum = "1e29c662f7887f3b659d4b0fd234673419a8fcbeaa1ecc29bf7034c0a75cc8ea" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -7565,9 +7685,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "10.0.3" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5e14002afae20b5bf1566f22316122f42f57517000e559c55b25bf7a49cba2" +checksum = "fac2034454f8bc69dc7d3c94cdb1b57559e27f5ef0518771f1787de543d7d6a1" dependencies = [ "revm-primitives", "serde", @@ -7575,9 +7695,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.3" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3198c06247e8d4ad0d1312591edf049b0de4ddffa9fecb625c318fd67db8639b" +checksum = "7a88c8c7c5f9b988a9e65fc0990c6ce859cdb74114db705bd118a96d22d08027" dependencies = [ "aurora-engine-modexp", "blst", @@ -7594,9 +7714,9 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "10.0.0" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f1525851a03aff9a9d6a1d018b414d76252d6802ab54695b27093ecd7e7a101" +checksum = "0d11fa1e195b0bebaf3fb18596f314a13ba3a4cb1fdd16d3465934d812fd921e" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -7796,9 +7916,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a" dependencies = [ "bitflags 2.6.0", "errno", @@ -7809,9 +7929,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.13" +version = "0.23.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" dependencies = [ "log", "once_cell", @@ -7846,9 +7966,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" [[package]] name = "rustls-platform-verifier" @@ -7890,9 +8010,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rusty-fork" @@ -7929,9 +8049,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ "windows-sys 0.59.0", ] @@ -8052,29 +8172,29 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "indexmap 2.6.0", "itoa", @@ -8091,7 +8211,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8117,9 +8237,9 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9720086b3357bcb44fce40117d769a4d068c70ecfa190850a980a71755f66fcc" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64 0.22.1", "chrono", @@ -8135,14 +8255,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.10.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1abbfe725f27678f4663bcacb75a83e829fd464c25d78dd038a3a29e307cec" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8269,6 +8389,10 @@ name = "similar" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" +dependencies = [ + "bstr", + "unicode-segmentation", +] [[package]] name = "similar-asserts" @@ -8277,6 +8401,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfe85670573cd6f0fa97940f26e7e6601213c3b0555246c24234131f88c5709e" dependencies = [ "console", + "serde", "similar", ] @@ -8300,9 +8425,9 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "sketches-ddsketch" -version = "0.2.2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" +checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "slab" @@ -8329,16 +8454,6 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - [[package]] name = "socket2" version = "0.5.7" @@ -8427,7 +8542,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8462,9 +8577,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.79" +version = "2.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "e89275301d38033efb81a6e60e3497e734dfcc62571f2854bf4b16690398824c" dependencies = [ "proc-macro2", "quote", @@ -8473,14 +8588,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.5" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab661c8148c2261222a4d641ad5477fd4bea79406a99056096a0b41b35617a5" +checksum = "16320d4a2021ba1a32470b3759676114a918885e9800e68ad60f2c67969fba62" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8506,7 +8621,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8519,7 +8634,7 @@ dependencies = [ "libc", "memchr", "ntapi", - "windows", + "windows 0.57.0", ] [[package]] @@ -8549,22 +8664,22 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "5d171f59dbaa811dbbb1aee1e73db92ec2b122911a48e1390dfe327a821ddede" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "b08be0f17bd307950653ce45db00cd31200d82b624b36e181337d9c7d92765b5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8707,18 +8822,18 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" dependencies = [ "backtrace", "bytes", "libc", "mio 1.0.2", - "parking_lot 0.12.3", + "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2", "tokio-macros", "windows-sys 0.52.0", ] @@ -8731,7 +8846,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -8932,7 +9047,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -9066,9 +9181,10 @@ dependencies = [ "ipconfig", "lru-cache", "once_cell", - "parking_lot 0.12.3", + "parking_lot", "rand", "resolv-conf", + "serde", "smallvec", "thiserror", "tokio", @@ -9126,6 +9242,18 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "uint" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + [[package]] name = "unarray" version = "0.1.4" @@ -9134,12 +9262,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" [[package]] name = "unicode-bidi" @@ -9201,12 +9326,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "unsigned-varint" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" - [[package]] name = "unsigned-varint" version = "0.8.0" @@ -9256,9 +9375,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ "getrandom", ] @@ -9289,6 +9408,17 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "visibility" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.86", +] + [[package]] name = "wait-timeout" version = "0.2.0" @@ -9325,9 +9455,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", "once_cell", @@ -9336,24 +9466,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -9363,9 +9493,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -9373,28 +9503,42 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" + +[[package]] +name = "wasmtimer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7ed9d8b15c7fb594d72bfb4b5a276f3d2029333cd93a932f376f5937f6f80ee" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -9456,6 +9600,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -9471,12 +9625,25 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-implement", - "windows-interface", + "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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + [[package]] name = "windows-implement" version = "0.57.0" @@ -9485,7 +9652,18 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.86", ] [[package]] @@ -9496,7 +9674,18 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.86", ] [[package]] @@ -9771,7 +9960,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "synstructure", ] @@ -9793,7 +9982,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -9813,7 +10002,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", "synstructure", ] @@ -9834,7 +10023,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] @@ -9856,7 +10045,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.79", + "syn 2.0.86", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 72ddf33..908b0e8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,47 +12,47 @@ name = "reth" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-engine-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-chain-state = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-auto-seal-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-prune-types = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-ethereum-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-ethereum-engine-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70", features = ["test-utils"] } -reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-db-api = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-stages = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-stages-api = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-stages-types = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "9a732f6b7813f9ecb5f28b379d3062c287a78e70" } +reth = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-engine-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-chain-state = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-cli-util = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-auto-seal-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-prune-types = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-ethereum-payload-builder = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-ethereum-engine-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9", features = ["test-utils"] } +reth-errors = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-db-api = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-rpc = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-stages = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-stages-api = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-stages-types = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } +reth-trie-db = { git = "https://github.com/paradigmxyz/reth", rev = "bd8c4eceb20c39c6e501d06cf906469329340bb9" } eyre = "0.6.12" clap = { version = "4.5.6", features = ["derive"] } -alloy-sol-macro = "0.8.5" -alloy-sol-types = "0.8.5" # revm -revm = { version = "14.0.3", features = [ +revm = { version = "17.0.0", features = [ "std", "secp256k1", "blst", ], default-features = false } -revm-inspectors = "0.8.1" -revm-primitives = { version = "10.0.0", features = [ +revm-inspectors = "0.10.0" +revm-primitives = { version = "13.0.0", features = [ "std", ], default-features = false } -serde_json = "1.0.117" +serde_json = "1.0.94" serde = { version = "1.0", default-features = false } serde_with = "3.3.0" hex = "0.4.3" @@ -63,17 +63,22 @@ thiserror-no-std = { version = "2.0.2", default-features = false } # eth alloy-chains = "0.1.32" alloy-dyn-abi = "0.8.0" -alloy-primitives = { version = "0.8.4", default-features = false } -alloy-serde = { version = "0.4.0", default-features = false } +alloy-primitives = { version = "0.8.9", default-features = false } alloy-rlp = "0.3.4" -alloy-trie = { version = "0.6", default-features = false } +alloy-sol-types = "0.8.0" +alloy-trie = { version = "0.7", default-features = false } + +alloy-consensus = { version = "0.5.4", default-features = false } +alloy-eips = { version = "0.5.4", default-features = false } +alloy-sol-macro = "0.8.9" +alloy-serde = { version = "0.5.4", default-features = false } rayon = "1.7" tracing = "0.1.0" [target.'cfg(unix)'.dependencies] -tikv-jemallocator = { version = "0.6", optional = true } tikv-jemalloc-ctl = "0.6" +tikv-jemallocator = { version = "0.6", optional = true } libc = "0.2" [features] diff --git a/src/ethereum.rs b/src/ethereum.rs deleted file mode 100644 index e849770..0000000 --- a/src/ethereum.rs +++ /dev/null @@ -1,132 +0,0 @@ -//! This module is exactly identical to - -use reth::{ - primitives::{BlockWithSenders, Receipt, Request}, - providers::ProviderError, - revm::{primitives::ResultAndState, Database, DatabaseCommit, Evm, State}, -}; -use reth_chainspec::{ChainSpec, EthereumHardforks}; -use reth_evm::{ - execute::{BlockExecutionError, BlockValidationError}, - system_calls::{OnStateHook, SystemCaller}, - ConfigureEvm, -}; -use reth_evm_ethereum::eip6110::parse_deposits_from_receipts; -use reth_primitives::Header; -use std::{fmt::Display, sync::Arc}; - -/// Helper type for the output of executing a block. -#[derive(Debug, Clone)] -pub struct EthExecuteOutput { - pub receipts: Vec, - pub requests: Vec, - pub gas_used: u64, -} - -/// Helper container type for EVM with chain spec. -#[derive(Debug, Clone)] -pub struct EthEvmExecutor { - /// The chainspec - pub chain_spec: Arc, - /// How to create an EVM. - pub evm_config: EvmConfig, -} - -impl EthEvmExecutor -where - EvmConfig: ConfigureEvm
, -{ - /// Executes the transactions in the block and returns the receipts of the transactions in the - /// block, the total gas used and the list of EIP-7685 [requests](Request). - /// - /// This applies the pre-execution and post-execution changes that require an [EVM](Evm), and - /// executes the transactions. - pub fn execute_state_transitions( - &self, - block: &BlockWithSenders, - mut evm: Evm<'_, Ext, &mut State>, - state_hook: Option, - ) -> Result - where - DB: Database, - DB::Error: Into + Display, - F: OnStateHook, - { - let mut system_caller = - SystemCaller::new(&self.evm_config, &self.chain_spec).with_state_hook(state_hook); - - system_caller.apply_pre_execution_changes(block, &mut evm)?; - - // execute transactions - let mut cumulative_gas_used = 0; - let mut receipts = Vec::with_capacity(block.body.transactions.len()); - for (sender, transaction) in block.transactions_with_sender() { - // The sum of the transaction’s gas limit, Tg, and the gas utilized in this block prior, - // must be no greater than the block’s gasLimit. - let block_available_gas = block.header.gas_limit - cumulative_gas_used; - if transaction.gas_limit() > block_available_gas { - return Err( - BlockValidationError::TransactionGasLimitMoreThanAvailableBlockGas { - transaction_gas_limit: transaction.gas_limit(), - block_available_gas, - } - .into(), - ); - } - - self.evm_config - .fill_tx_env(evm.tx_mut(), transaction, *sender); - - // Execute transaction. - let result_and_state = evm.transact().map_err(move |err| { - let new_err = err.map_db_err(|e| e.into()); - // Ensure hash is calculated for error log, if not already done - BlockValidationError::EVM { - hash: transaction.recalculate_hash(), - error: Box::new(new_err), - } - })?; - system_caller.on_state(&result_and_state); - let ResultAndState { result, state } = result_and_state; - evm.db_mut().commit(state); - - // append gas used - cumulative_gas_used += result.gas_used(); - - // Push transaction changeset and calculate header bloom filter for receipt. - receipts.push( - #[allow(clippy::needless_update)] // side-effect of optimism fields - Receipt { - tx_type: transaction.tx_type(), - // Success flag was added in `EIP-658: Embedding transaction status code in - // receipts`. - success: result.is_success(), - cumulative_gas_used, - // convert to reth log - logs: result.into_logs(), - ..Default::default() - }, - ); - } - - let requests = if self - .chain_spec - .is_prague_active_at_timestamp(block.timestamp) - { - // Collect all EIP-6110 deposits - let deposit_requests = parse_deposits_from_receipts(&self.chain_spec, &receipts)?; - - let post_execution_requests = system_caller.apply_post_execution_changes(&mut evm)?; - - [deposit_requests, post_execution_requests].concat() - } else { - vec![] - }; - - Ok(EthExecuteOutput { - receipts, - requests, - gas_used: cumulative_gas_used, - }) - } -} diff --git a/src/evm_config.rs b/src/evm_config.rs index f866979..89962d2 100644 --- a/src/evm_config.rs +++ b/src/evm_config.rs @@ -1,21 +1,22 @@ -use reth::{ - primitives::{transaction::FillTxEnv, Head, Header, TransactionSigned}, - revm::{ - inspector_handle_register, - interpreter::Gas, - primitives::{spec_to_generic, CfgEnvWithHandlerCfg, EVMError, Spec, SpecId, TxEnv}, - Context, Database, Evm, EvmBuilder, GetInspector, - }, -}; +use alloy_primitives::{Address, U256}; +use reth::revm::{inspector_handle_register, Database, GetInspector}; +use reth::revm::{Evm, EvmBuilder}; use reth_chainspec::ChainSpec; use reth_evm::{ConfigureEvm, ConfigureEvmEnv}; use reth_evm_ethereum::{revm_spec, revm_spec_by_timestamp_after_merge}; -use revm::handler::mainnet::reward_beneficiary as reward_beneficiary_mainnet; +use reth_primitives::{ + revm_primitives::{AnalysisKind, CfgEnvWithHandlerCfg, TxEnv}, + transaction::FillTxEnv, + Head, Header, TransactionSigned, +}; +use revm::{ + handler::mainnet::reward_beneficiary as reward_beneficiary_mainnet, interpreter::Gas, Context, +}; use revm_primitives::{ - Address, AnalysisKind, BlobExcessGasAndPrice, BlockEnv, Bytes, CfgEnv, Env, HandlerCfg, TxKind, - U256, + spec_to_generic, BlobExcessGasAndPrice, BlockEnv, Bytes, CfgEnv, EVMError, Env, HandlerCfg, + Spec, SpecId, TxKind, }; -use std::sync::Arc; +use std::{convert::Infallible, sync::Arc}; /// Reward beneficiary with gas fee. #[inline] @@ -122,6 +123,7 @@ impl ConfigureEvm for GnosisEvmConfig { impl ConfigureEvmEnv for GnosisEvmConfig { type Header = Header; + type Error = Infallible; fn fill_tx_env(&self, tx_env: &mut TxEnv, transaction: &TransactionSigned, sender: Address) { transaction.fill_tx_env(tx_env, sender); @@ -191,7 +193,7 @@ impl ConfigureEvmEnv for GnosisEvmConfig { &self, parent: &Self::Header, attributes: reth_evm::NextBlockEnvAttributes, - ) -> (CfgEnvWithHandlerCfg, revm_primitives::BlockEnv) { + ) -> Result<(CfgEnvWithHandlerCfg, BlockEnv), Self::Error> { // configure evm env based on parent block let cfg = CfgEnv::default().with_chain_id(self.chain_spec.chain().id()); @@ -240,6 +242,6 @@ impl ConfigureEvmEnv for GnosisEvmConfig { }; } - (cfg_with_handler_cfg, block_env) + Ok((cfg_with_handler_cfg, block_env)) } } diff --git a/src/execute.rs b/src/execute.rs index f25e70c..14b9305 100644 --- a/src/execute.rs +++ b/src/execute.rs @@ -1,278 +1,245 @@ -use crate::errors::GnosisBlockExecutionError; -use crate::ethereum::{EthEvmExecutor, EthExecuteOutput}; -use crate::gnosis::{apply_block_rewards_contract_call, apply_withdrawals_contract_call}; -use alloy_primitives::{Address, BlockNumber, U256}; -use eyre::eyre; -use reth::primitives::Withdrawals; -use reth::providers::ExecutionOutcome; -use reth::{ - api::ConfigureEvm, - providers::ProviderError, - revm::{ - batch::BlockBatchRecord, - db::states::bundle_state::BundleRetention, - primitives::{BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg}, - Database, State, +extern crate alloc; +use crate::evm_config::GnosisEvmConfig; + +use crate::gnosis::apply_post_block_system_calls; +use alloc::{boxed::Box, sync::Arc}; +use alloy_consensus::Transaction as _; +use alloy_eips::eip7685::Requests; +use alloy_primitives::Address; +use core::fmt::Display; +use reth_chainspec::ChainSpec; +use reth_chainspec::EthereumHardforks; +use reth_evm::{ + execute::{ + BlockExecutionError, BlockExecutionStrategy, BlockExecutionStrategyFactory, + BlockValidationError, ExecuteOutput, ProviderError, }, + system_calls::SystemCaller, + ConfigureEvm, }; -use reth_chainspec::{ChainSpec, EthereumHardforks}; -use reth_ethereum_consensus::validate_block_post_execution; -use reth_evm::execute::{ - BatchExecutor, BlockExecutionError, BlockExecutionInput, BlockExecutionOutput, - BlockExecutorProvider, BlockValidationError, Executor, +use reth_evm_ethereum::eip6110::parse_deposits_from_receipts; +use reth_primitives::{BlockWithSenders, Header, Receipt}; +use revm::State; +use revm_primitives::{ + db::{Database, DatabaseCommit}, + BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, ResultAndState, U256, }; -use reth_evm::system_calls::{NoopHook, OnStateHook}; -use reth_primitives::{BlockWithSenders, Header, Receipt, Receipts}; -use reth_prune_types::PruneModes; -use revm::Evm; -use std::fmt::Display; -use std::sync::Arc; +// We need to have block rewards contract address in the executor provider +// because it's used in the post execution system calls. + +// in post_execution, +// [Gnosis/fork:DIFF]: Upstream code in EthBlockExecutor computes balance changes for: +// - Pre-merge omer and block rewards +// - Beacon withdrawal mints +// - DAO hardfork drain balances +// +// For gnosis instead: +// - Do NOT credit withdrawals as native token mint +// - Call into deposit contract with withdrawal data +// - Call block rewards contract for bridged xDAI mint + +// Factory for [`GnosisExecutionStrategy`] #[derive(Debug, Clone)] -pub struct GnosisExecutorProvider { +pub struct GnosisExecutionStrategyFactory { chain_spec: Arc, evm_config: EvmConfig, - /// AuRa BlockRewards contract address for its system call - block_rewards_contract: Address, } -impl GnosisExecutorProvider { - /// Creates a new executor provider. +impl GnosisExecutionStrategyFactory { + // Create a new executor strategy factory pub fn new(chain_spec: Arc, evm_config: EvmConfig) -> eyre::Result { - let block_rewards_contract = chain_spec - .genesis() - .config - .extra_fields - .get("blockRewardsContract") - .ok_or(eyre!("blockRewardsContract not defined"))?; - let block_rewards_contract: Address = - serde_json::from_value(block_rewards_contract.clone()) - .map_err(|e| BlockExecutionError::other(Box::new(e)))?; - Ok(Self { chain_spec, evm_config, - block_rewards_contract, }) } } -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthExecutorProvider -impl GnosisExecutorProvider +impl BlockExecutionStrategyFactory for GnosisExecutionStrategyFactory where - EvmConfig: ConfigureEvm, + EvmConfig: + Clone + Unpin + Sync + Send + 'static + ConfigureEvm
, { - fn gnosis_executor(&self, db: DB) -> GnosisBlockExecutor + type Strategy + Display>> = + GnosisExecutionStrategy; + + fn create_strategy(&self, db: DB) -> Self::Strategy where DB: Database + Display>, { - GnosisBlockExecutor::new( - self.block_rewards_contract, - self.chain_spec.clone(), - self.evm_config.clone(), - State::builder() - .with_database(db) - .with_bundle_update() - .without_state_clear() - .build(), - ) + let state = State::builder() + .with_database(db) + .with_bundle_update() + .without_state_clear() + .build(); + GnosisExecutionStrategy::new(state, self.chain_spec.clone(), self.evm_config.clone()) } } -// Trait required by ExecutorBuilder -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthExecutorProvider -impl BlockExecutorProvider for GnosisExecutorProvider +// Block execution strategy for Gnosis +#[allow(missing_debug_implementations)] +pub struct GnosisExecutionStrategy where - EvmConfig: ConfigureEvm
, + EvmConfig: Clone, { - type Executor + Display>> = - GnosisBlockExecutor; - type BatchExecutor + Display>> = - GnosisBatchExecutor; - - fn executor(&self, db: DB) -> Self::Executor - where - DB: Database + Display>, - { - self.gnosis_executor(db) - } - - fn batch_executor(&self, db: DB) -> Self::BatchExecutor - where - DB: Database + Display>, - { - let executor = self.gnosis_executor(db); - GnosisBatchExecutor { - executor, - batch_record: BlockBatchRecord::default(), - } - } -} - -// Struct required for BlockExecutorProvider trait -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBlockExecutor -#[derive(Debug)] -pub struct GnosisBlockExecutor { - /// Chain specific evm config that's used to execute a block. - executor: EthEvmExecutor, - /// The state to use for execution + /// The chainspec + chain_spec: Arc, + /// How to create an EVM. + evm_config: EvmConfig, + /// Current state for block execution. state: State, - /// AuRa BlockRewards contract address for its system call + /// Utility to call system smart contracts. + system_caller: SystemCaller, + /// BlockRewards contract address block_rewards_contract: Address, } -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBlockExecutor -impl GnosisBlockExecutor { - /// Creates a new Ethereum block executor. - pub fn new( - block_rewards_contract: Address, - chain_spec: Arc, - evm_config: EvmConfig, - state: State, - ) -> Self { +impl GnosisExecutionStrategy +where + EvmConfig: Clone, +{ + pub fn new(state: State, chain_spec: Arc, evm_config: EvmConfig) -> Self { + let system_caller = SystemCaller::new(evm_config.clone(), (*chain_spec).clone()); + let block_rewards_contract = chain_spec + .genesis() + .config + .extra_fields + .get("blockRewardsContract") + .expect("blockRewardsContract not defined") + .clone(); + let block_rewards_contract: Address = serde_json::from_value(block_rewards_contract) + .expect("blockRewardsContract not an address"); Self { - executor: EthEvmExecutor { - chain_spec, - evm_config, - }, state, + chain_spec, + evm_config, + system_caller, block_rewards_contract, } } - - #[inline] - fn chain_spec(&self) -> &ChainSpec { - &self.executor.chain_spec - } - - fn chain_spec_clone(&self) -> Arc { - self.executor.chain_spec.clone() - } - - /// Returns mutable reference to the state that wraps the underlying database. - #[allow(unused)] - fn state_mut(&mut self) -> &mut State { - &mut self.state - } } -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBlockExecutor -impl GnosisBlockExecutor +impl GnosisExecutionStrategy where - EvmConfig: ConfigureEvm
, DB: Database + Display>, + EvmConfig: ConfigureEvm
, { /// Configures a new evm configuration and block environment for the given block. /// - /// # Caution - /// - /// This does not initialize the tx environment. + /// Caution: this does not initialize the tx environment. fn evm_env_for_block(&self, header: &Header, total_difficulty: U256) -> EnvWithHandlerCfg { let mut cfg = CfgEnvWithHandlerCfg::new(Default::default(), Default::default()); let mut block_env = BlockEnv::default(); - self.executor.evm_config.fill_cfg_and_block_env( - &mut cfg, - &mut block_env, - header, - total_difficulty, - ); + self.evm_config + .fill_cfg_and_block_env(&mut cfg, &mut block_env, header, total_difficulty); EnvWithHandlerCfg::new_with_cfg_env(cfg, block_env, Default::default()) } +} + +impl BlockExecutionStrategy for GnosisExecutionStrategy +where + DB: Database + Display>, + EvmConfig: ConfigureEvm
, +{ + type Error = BlockExecutionError; - fn execute_without_verification( + fn apply_pre_execution_changes( &mut self, block: &BlockWithSenders, total_difficulty: U256, - ) -> Result { - // 1. prepare state on new block - self.on_new_block(&block.header); + ) -> Result<(), Self::Error> { + // Set state clear flag if the block is after the Spurious Dragon hardfork. + let state_clear_flag = + (*self.chain_spec).is_spurious_dragon_active_at_block(block.header.number); + self.state.set_state_clear_flag(state_clear_flag); - // 2. configure the evm and execute let env = self.evm_env_for_block(&block.header, total_difficulty); - let output = { - let evm = self.executor.evm_config.evm_with_env(&mut self.state, env); - self.executor - .execute_state_transitions(block, evm, None::) - }?; + let mut evm = self.evm_config.evm_with_env(&mut self.state, env); - // 3. apply post execution changes - self.post_execution(block, total_difficulty)?; + self.system_caller + .apply_pre_execution_changes(block, &mut evm)?; - Ok(output) + Ok(()) } - /// Execute a single block and apply the state changes to the internal state. - /// - /// Returns the receipts of the transactions in the block, the total gas used and the list of - /// EIP-7685. - /// - /// Returns an error if execution fails. - fn execute_without_verification_with_state_hook( + fn execute_transactions( &mut self, block: &BlockWithSenders, total_difficulty: U256, - state_hook: Option, - ) -> Result - where - F: OnStateHook, - { - // 1. prepare state on new block - self.on_new_block(&block.header); - - // 2. configure the evm and execute + ) -> Result { let env = self.evm_env_for_block(&block.header, total_difficulty); - let output = { - let evm = self.executor.evm_config.evm_with_env(&mut self.state, env); - self.executor - .execute_state_transitions(block, evm, state_hook) - }?; - - // 3. apply post execution changes - self.post_execution(block, total_difficulty)?; - - Ok(output) - } - - fn on_new_block(&mut self, header: &Header) { - // Set state clear flag if the block is after the Spurious Dragon hardfork. - let state_clear_flag = self - .chain_spec() - .is_spurious_dragon_active_at_block(header.number); - self.state.set_state_clear_flag(state_clear_flag); + let mut evm = self.evm_config.evm_with_env(&mut self.state, env); + + let mut cumulative_gas_used = 0; + let mut receipts = Vec::with_capacity(block.body.transactions.len()); + for (sender, transaction) in block.transactions_with_sender() { + // The sum of the transaction’s gas limit, Tg, and the gas utilized in this block prior, + // must be no greater than the block’s gasLimit. + let block_available_gas = block.header.gas_limit - cumulative_gas_used; + if transaction.gas_limit() > block_available_gas { + return Err( + BlockValidationError::TransactionGasLimitMoreThanAvailableBlockGas { + transaction_gas_limit: transaction.gas_limit(), + block_available_gas, + } + .into(), + ); + } + + self.evm_config + .fill_tx_env(evm.tx_mut(), transaction, *sender); + + // Execute transaction. + let result_and_state = evm.transact().map_err(move |err| { + let new_err = err.map_db_err(|e| e.into()); + // Ensure hash is calculated for error log, if not already done + BlockValidationError::EVM { + hash: transaction.recalculate_hash(), + error: Box::new(new_err), + } + })?; + self.system_caller.on_state(&result_and_state); + let ResultAndState { result, state } = result_and_state; + evm.db_mut().commit(state); + + // append gas used + cumulative_gas_used += result.gas_used(); + + // Push transaction changeset and calculate header bloom filter for receipt. + receipts.push( + #[allow(clippy::needless_update)] // side-effect of optimism fields + Receipt { + tx_type: transaction.tx_type(), + // Success flag was added in `EIP-658: Embedding transaction status code in + // receipts`. + success: result.is_success(), + cumulative_gas_used, + // convert to reth log + logs: result.into_logs(), + ..Default::default() + }, + ); + } + Ok(ExecuteOutput { + receipts, + gas_used: cumulative_gas_used, + }) } - /// Apply post execution state changes that do not require an evm such as: block - /// rewards, withdrawals, and irregular DAO hardfork state change - // [Gnosis/fork:DIFF] - pub fn post_execution( + fn apply_post_execution_changes( &mut self, block: &BlockWithSenders, total_difficulty: U256, - ) -> Result<(), BlockExecutionError> { - // [Gnosis/fork:DIFF]: Upstream code in EthBlockExecutor computes balance changes for: - // - Pre-merge omer and block rewards - // - Beacon withdrawal mints - // - DAO hardfork drain balances - // - // For gnosis instead: - // - Do NOT credit withdrawals as native token mint - // - Call into deposit contract with withdrawal data - // - Call block rewards contract for bridged xDAI mint - - let chain_spec = self.chain_spec_clone(); - let mut cfg = CfgEnvWithHandlerCfg::new(Default::default(), Default::default()); - let mut block_env = BlockEnv::default(); - self.executor.evm_config.fill_cfg_and_block_env( - &mut cfg, - &mut block_env, - &block.header, - total_difficulty, - ); - - gnosis_post_block_system_calls::( - &chain_spec, - &self.executor.evm_config, + receipts: &[Receipt], + ) -> Result { + let cfg = CfgEnvWithHandlerCfg::new(Default::default(), Default::default()); + let block_env = BlockEnv::default(); + + apply_post_block_system_calls::( + &self.chain_spec, + &self.evm_config, &mut self.state, &cfg, &block_env, @@ -282,258 +249,31 @@ where block.beneficiary, )?; - Ok(()) - } -} - -#[allow(clippy::too_many_arguments)] -pub(crate) fn gnosis_post_block_system_calls( - chain_spec: &ChainSpec, - evm_config: &EvmConfig, - db: &mut State, - initialized_cfg: &CfgEnvWithHandlerCfg, - initialized_block_env: &BlockEnv, - block_rewards_contract: Address, - block_timestamp: u64, - withdrawals: Option<&Withdrawals>, - coinbase: Address, -) -> Result<(), BlockExecutionError> -where - EvmConfig: ConfigureEvm, - DB: Database + Display>, -{ - let mut evm = Evm::builder() - .with_db(db) - .with_env_with_handler_cfg(EnvWithHandlerCfg::new_with_cfg_env( - initialized_cfg.clone(), - initialized_block_env.clone(), - Default::default(), - )) - .build(); - - // [Gnosis/fork:DIFF]: Upstream code in EthBlockExecutor computes balance changes for: - // - Pre-merge omer and block rewards - // - Beacon withdrawal mints - // - DAO hardfork drain balances - // - // For gnosis instead: - // - Do NOT credit withdrawals as native token mint - // - Call into deposit contract with withdrawal data - // - Call block rewards contract for bridged xDAI mint - - if chain_spec.is_shanghai_active_at_timestamp(block_timestamp) { - let withdrawals = withdrawals.ok_or(GnosisBlockExecutionError::CustomErrorMessage { - message: "block has no withdrawals field".to_owned(), - })?; - apply_withdrawals_contract_call(evm_config, chain_spec, withdrawals, &mut evm)?; - } - - let balance_increments = apply_block_rewards_contract_call( - evm_config, - block_rewards_contract, - block_timestamp, - coinbase, - &mut evm, - )?; - - // increment balances - evm.context - .evm - .db - .increment_balances(balance_increments) - .map_err(|_| BlockValidationError::IncrementBalanceFailed)?; - - Ok(()) -} - -// Trait required by BlockExecutorProvider associated type Executor -impl Executor for GnosisBlockExecutor -where - EvmConfig: ConfigureEvm
, - DB: Database + Display>, -{ - type Input<'a> = BlockExecutionInput<'a, BlockWithSenders>; - type Output = BlockExecutionOutput; - type Error = BlockExecutionError; - - // [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBlockExecutor - fn execute(mut self, input: Self::Input<'_>) -> Result { - // No diff with EthBlockExecutor - let BlockExecutionInput { - block, - total_difficulty, - } = input; - let EthExecuteOutput { - receipts, - requests, - gas_used, - } = self.execute_without_verification(block, total_difficulty)?; - - // NOTE: we need to merge keep the reverts for the bundle retention - self.state.merge_transitions(BundleRetention::Reverts); - - Ok(BlockExecutionOutput { - state: self.state.take_bundle(), - receipts, - requests, - gas_used, - }) - } - - fn execute_with_state_witness( - mut self, - input: Self::Input<'_>, - mut witness: F, - ) -> Result - where - F: FnMut(&State), - { - let BlockExecutionInput { - block, - total_difficulty, - } = input; - let EthExecuteOutput { - receipts, - requests: _, - gas_used, - } = self.execute_without_verification(block, total_difficulty)?; - - // NOTE: we need to merge keep the reverts for the bundle retention - self.state.merge_transitions(BundleRetention::Reverts); - witness(&self.state); - - Ok(BlockExecutionOutput { - state: self.state.take_bundle(), - receipts, - requests: vec![], - gas_used, - }) - } - - fn execute_with_state_hook( - mut self, - input: Self::Input<'_>, - state_hook: F, - ) -> Result - where - F: OnStateHook, - { - let BlockExecutionInput { - block, - total_difficulty, - } = input; - let EthExecuteOutput { - receipts, - requests, - gas_used, - } = self.execute_without_verification_with_state_hook( - block, - total_difficulty, - Some(state_hook), - )?; - - // NOTE: we need to merge keep the reverts for the bundle retention - self.state.merge_transitions(BundleRetention::Reverts); - Ok(BlockExecutionOutput { - state: self.state.take_bundle(), - receipts, - requests, - gas_used, - }) + let env = self.evm_env_for_block(&block.header, total_difficulty); + let mut evm = self.evm_config.evm_with_env(&mut self.state, env); + + let requests = if self + .chain_spec + .is_prague_active_at_timestamp(block.timestamp) + { + // Collect all EIP-6110 deposits + let deposit_requests = parse_deposits_from_receipts(&self.chain_spec, receipts)?; + + let mut requests = Requests::new(vec![deposit_requests]); + requests.extend(self.system_caller.apply_post_execution_changes(&mut evm)?); + requests + } else { + Requests::default() + }; + + Ok(requests) } -} - -/// An executor for a batch of blocks. -/// -/// State changes are tracked until the executor is finalized. -#[derive(Debug)] -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor -pub struct GnosisBatchExecutor { - /// The executor used to execute blocks. - executor: GnosisBlockExecutor, - /// Keeps track of the batch and record receipts based on the configured prune mode - batch_record: BlockBatchRecord, -} -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor -impl GnosisBatchExecutor { - /// Returns the receipts of the executed blocks. - pub const fn receipts(&self) -> &Receipts { - self.batch_record.receipts() + fn state_ref(&self) -> &State { + &self.state } - /// Returns mutable reference to the state that wraps the underlying database. - #[allow(unused)] fn state_mut(&mut self) -> &mut State { - self.executor.state_mut() - } -} - -// [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor -impl BatchExecutor for GnosisBatchExecutor -where - EvmConfig: ConfigureEvm
, - DB: Database + Display>, -{ - type Input<'a> = BlockExecutionInput<'a, BlockWithSenders>; - type Output = ExecutionOutcome; - type Error = BlockExecutionError; - - // [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor - fn execute_and_verify_one(&mut self, input: Self::Input<'_>) -> Result<(), Self::Error> { - let BlockExecutionInput { - block, - total_difficulty, - } = input; - let EthExecuteOutput { - receipts, - requests, - gas_used: _, - } = self - .executor - .execute_without_verification(block, total_difficulty)?; - - validate_block_post_execution(block, self.executor.chain_spec(), &receipts, &requests)?; - - // prepare the state according to the prune mode - let retention = self.batch_record.bundle_retention(block.number); - self.executor.state.merge_transitions(retention); - - // store receipts in the set - self.batch_record.save_receipts(receipts)?; - - // store requests in the set - self.batch_record.save_requests(requests); - - if self.batch_record.first_block().is_none() { - self.batch_record.set_first_block(block.number); - } - - Ok(()) - } - - // [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor - fn finalize(mut self) -> Self::Output { - ExecutionOutcome::new( - self.executor.state.take_bundle(), - self.batch_record.take_receipts(), - self.batch_record.first_block().unwrap_or_default(), - self.batch_record.take_requests(), - ) - } - - // [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor - fn set_tip(&mut self, tip: BlockNumber) { - self.batch_record.set_tip(tip); - } - - // [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor - fn set_prune_modes(&mut self, prune_modes: PruneModes) { - self.batch_record.set_prune_modes(prune_modes); - } - - // [Gnosis/fork] Copy paste code from crates/ethereum/evm/src/execute.rs::EthBatchExecutor - fn size_hint(&self) -> Option { - Some(self.executor.state.bundle_state.size_hint()) + &mut self.state } } diff --git a/src/gnosis.rs b/src/gnosis.rs index e643ef3..c246c7b 100644 --- a/src/gnosis.rs +++ b/src/gnosis.rs @@ -9,13 +9,19 @@ use reth::{ revm::{ interpreter::Host, primitives::{ExecutionResult, Output, ResultAndState}, - Database, DatabaseCommit, Evm, + Database, DatabaseCommit, Evm, State, }, }; use reth_chainspec::ChainSpec; +use reth_chainspec::EthereumHardforks; use reth_errors::BlockValidationError; use reth_evm::{execute::BlockExecutionError, ConfigureEvm}; -use revm_primitives::{Account, AccountInfo, AccountStatus}; +use reth_primitives::Withdrawals; +use reth_provider::ProviderError; +use revm_primitives::{ + Account, AccountInfo, AccountStatus, BlockEnv, CfgEnvWithHandlerCfg, EnvWithHandlerCfg, +}; +use std::fmt::Display; pub const SYSTEM_ADDRESS: Address = address!("fffffffffffffffffffffffffffffffffffffffe"); @@ -227,3 +233,65 @@ where Ok(balance_increments) } + +// TODO: this can be simplified by using the existing apply_post_execution_changes +// which does all of the same things +// +// [Gnosis/fork:DIFF]: Upstream code in EthBlockExecutor computes balance changes for: +// - Pre-merge omer and block rewards +// - Beacon withdrawal mints +// - DAO hardfork drain balances +// +// Gnosis post-block system calls: +// - Do NOT credit withdrawals as native token mint +// - Call into deposit contract with withdrawal data +// - Call block rewards contract for bridged xDAI mint +#[allow(clippy::too_many_arguments)] +pub(crate) fn apply_post_block_system_calls( + chain_spec: &ChainSpec, + evm_config: &EvmConfig, + db: &mut State, + initialized_cfg: &CfgEnvWithHandlerCfg, + initialized_block_env: &BlockEnv, + block_rewards_contract: Address, + block_timestamp: u64, + withdrawals: Option<&Withdrawals>, + coinbase: Address, +) -> Result<(), BlockExecutionError> +where + EvmConfig: ConfigureEvm, + DB: Database + Display>, +{ + let mut evm = Evm::builder() + .with_db(db) + .with_env_with_handler_cfg(EnvWithHandlerCfg::new_with_cfg_env( + initialized_cfg.clone(), + initialized_block_env.clone(), + Default::default(), + )) + .build(); + + if chain_spec.is_shanghai_active_at_timestamp(block_timestamp) { + let withdrawals = withdrawals.ok_or(GnosisBlockExecutionError::CustomErrorMessage { + message: "block has no withdrawals field".to_owned(), + })?; + apply_withdrawals_contract_call(evm_config, chain_spec, withdrawals, &mut evm)?; + } + + let balance_increments = apply_block_rewards_contract_call( + evm_config, + block_rewards_contract, + block_timestamp, + coinbase, + &mut evm, + )?; + + // increment balances + evm.context + .evm + .db + .increment_balances(balance_increments) + .map_err(|_| BlockValidationError::IncrementBalanceFailed)?; + + Ok(()) +} diff --git a/src/lib.rs b/src/lib.rs index 37c8797..c745148 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,33 +1,31 @@ use consensus::GnosisBeaconConsensus; use evm_config::GnosisEvmConfig; -use execute::GnosisExecutorProvider; +use execute::GnosisExecutionStrategyFactory; use eyre::eyre; -// use gnosis::SYSTEM_ADDRESS; use payload_builder::GnosisPayloadServiceBuilder; use reth::{ - api::{FullNodeComponents, NodeAddOns}, + api::{AddOnsContext, FullNodeComponents}, builder::{ - components::{ - ComponentsBuilder, ConsensusBuilder, EngineValidatorBuilder, ExecutorBuilder, - }, + components::{ComponentsBuilder, ConsensusBuilder, ExecutorBuilder}, node::{FullNodeTypes, NodeTypes, NodeTypesWithEngine}, - BuilderContext, Node, + rpc::{EngineValidatorBuilder, RpcAddOns}, + BuilderContext, Node, NodeAdapter, NodeComponentsBuilder, }, network::NetworkHandle, - rpc::eth::EthApi, }; use reth_chainspec::ChainSpec; use reth_engine_primitives::EngineValidator; use reth_ethereum_engine_primitives::EthereumEngineValidator; use reth_node_ethereum::{ - node::{EthereumEngineValidatorBuilder, EthereumNetworkBuilder, EthereumPoolBuilder}, - EthEngineTypes, EthereumNode, + node::{EthereumNetworkBuilder, EthereumPoolBuilder}, + BasicBlockExecutorProvider, EthEngineTypes, EthereumNode, }; +use reth_rpc::EthApi; +use reth_trie_db::MerklePatriciaTrie; use std::sync::Arc; mod consensus; mod errors; -mod ethereum; mod evm_config; mod execute; mod gnosis; @@ -64,7 +62,6 @@ impl GnosisNode { EthereumNetworkBuilder, GnosisExecutorBuilder, GnosisConsensusBuilder, - EthereumEngineValidatorBuilder, > where Node: FullNodeTypes< @@ -78,7 +75,6 @@ impl GnosisNode { .network(EthereumNetworkBuilder::default()) .executor(GnosisExecutorBuilder::default()) .consensus(GnosisConsensusBuilder::default()) - .engine_validator(EthereumEngineValidatorBuilder::default()) } } @@ -86,25 +82,28 @@ impl GnosisNode { impl NodeTypes for GnosisNode { type Primitives = (); type ChainSpec = ChainSpec; + type StateCommitment = MerklePatriciaTrie; } impl NodeTypesWithEngine for GnosisNode { type Engine = EthEngineTypes; } -/// Add-ons w.r.t. l1 ethereum. -#[derive(Debug, Clone, Default)] -#[non_exhaustive] -pub struct GnosisAddOns; - -impl NodeAddOns for GnosisAddOns { - type EthApi = EthApi; -} - -impl Node for GnosisNode +/// Add-ons w.r.t. gnosis +pub type GnosisAddOns = RpcAddOns< + N, + EthApi< + ::Provider, + ::Pool, + NetworkHandle, + ::Evm, + >, + GnosisEngineValidatorBuilder, +>; + +impl Node for GnosisNode where - Types: NodeTypesWithEngine, - N: FullNodeTypes, + N: FullNodeTypes>, { type ComponentsBuilder = ComponentsBuilder< N, @@ -113,10 +112,11 @@ where EthereumNetworkBuilder, GnosisExecutorBuilder, GnosisConsensusBuilder, - EthereumEngineValidatorBuilder, >; - type AddOns = GnosisAddOns; + type AddOns = GnosisAddOns< + NodeAdapter>::Components>, + >; fn components_builder(&self) -> Self::ComponentsBuilder { let Self { args } = self; @@ -140,7 +140,7 @@ where // Must implement ConfigureEvm; type EVM = GnosisEvmConfig; // Must implement BlockExecutorProvider; - type Executor = GnosisExecutorProvider; + type Executor = BasicBlockExecutorProvider; async fn build_evm( self, @@ -160,7 +160,9 @@ where serde_json::from_value(collector_address.clone())?, chain_spec.clone(), ); - let executor = GnosisExecutorProvider::new(chain_spec, evm_config.clone())?; + let strategy_factory = + GnosisExecutionStrategyFactory::new(ctx.chain_spec(), evm_config.clone())?; + let executor = BasicBlockExecutorProvider::new(strategy_factory); Ok((evm_config, executor)) } @@ -196,12 +198,12 @@ pub struct GnosisEngineValidatorBuilder; impl EngineValidatorBuilder for GnosisEngineValidatorBuilder where Types: NodeTypesWithEngine, - Node: FullNodeTypes, + Node: FullNodeComponents, EthereumEngineValidator: EngineValidator, { type Validator = EthereumEngineValidator; - async fn build_validator(self, ctx: &BuilderContext) -> eyre::Result { - Ok(EthereumEngineValidator::new(ctx.chain_spec())) + async fn build(self, ctx: &AddOnsContext<'_, Node>) -> eyre::Result { + Ok(EthereumEngineValidator::new(ctx.config.chain.clone())) } } diff --git a/src/payload_builder.rs b/src/payload_builder.rs index 5d9585c..852785b 100644 --- a/src/payload_builder.rs +++ b/src/payload_builder.rs @@ -1,5 +1,7 @@ use std::sync::Arc; +use alloy_consensus::EMPTY_OMMER_ROOT_HASH; +use alloy_eips::{eip4844::MAX_DATA_GAS_PER_BLOCK, eip7685::Requests, merge::BEACON_NONCE}; use eyre::eyre; use reth::{ api::{FullNodeTypes, NodeTypesWithEngine}, @@ -9,9 +11,8 @@ use reth::{ PayloadBuilderService, }, primitives::{ - constants::{eip4844::MAX_DATA_GAS_PER_BLOCK, BEACON_NONCE}, - proofs::{self, calculate_requests_root}, - Block, Header, Receipt, EMPTY_OMMER_ROOT_HASH, + proofs::{self}, + Block, Header, Receipt, }, revm::database::StateProviderDatabase, transaction_pool::{noop::NoopTransactionPool, BestTransactionsAttributes, TransactionPool}, @@ -39,7 +40,7 @@ use revm_primitives::{ }; use tracing::{debug, trace, warn}; -use crate::{evm_config::GnosisEvmConfig, execute::gnosis_post_block_system_calls}; +use crate::{evm_config::GnosisEvmConfig, gnosis::apply_post_block_system_calls}; /// A basic Gnosis payload service builder #[derive(Debug, Default, Clone)] @@ -57,6 +58,8 @@ impl GnosisPayloadServiceBuilder { impl PayloadServiceBuilder for GnosisPayloadServiceBuilder where Node: FullNodeTypes>, + ::Provider: reth_provider::StateProviderFactory + + reth_provider::ChainSpecProvider, Pool: TransactionPool + Unpin + 'static, { async fn spawn_payload_service( @@ -144,7 +147,7 @@ where &self, config: &PayloadConfig, parent: &Header, - ) -> (CfgEnvWithHandlerCfg, BlockEnv) { + ) -> Result<(CfgEnvWithHandlerCfg, BlockEnv), EvmConfig::Error> { let next_attributes = NextBlockEnvAttributes { timestamp: config.attributes.timestamp, suggested_fee_recipient: config.attributes.suggested_fee_recipient, @@ -169,7 +172,9 @@ where &self, args: BuildArguments, ) -> Result, PayloadBuilderError> { - let (cfg_env, block_env) = self.cfg_and_block_env(&args.config, &args.config.parent_block); + let (cfg_env, block_env) = self + .cfg_and_block_env(&args.config, &args.config.parent_header) + .map_err(PayloadBuilderError::other)?; default_ethereum_payload( self.evm_config.clone(), args, @@ -192,7 +197,9 @@ where cancel: Default::default(), best_payload: None, }; - let (cfg_env, block_env) = self.cfg_and_block_env(&args.config, &args.config.parent_block); + let (cfg_env, block_env) = self + .cfg_and_block_env(&args.config, &args.config.parent_header) + .map_err(PayloadBuilderError::other)?; default_ethereum_payload( self.evm_config.clone(), args, @@ -235,19 +242,19 @@ where best_payload, } = args; let chain_spec = client.chain_spec(); - let state_provider = client.state_by_block_hash(config.parent_block.hash())?; + let state_provider = client.state_by_block_hash(config.parent_header.hash())?; let state = StateProviderDatabase::new(state_provider); let mut db = State::builder() .with_database_ref(cached_reads.as_db(state)) .with_bundle_update() .build(); let PayloadConfig { - parent_block, + parent_header, extra_data, attributes, } = config; - debug!(target: "payload_builder", id=%attributes.id, parent_hash = ?parent_block.hash(), parent_number = parent_block.number, "building new payload"); + debug!(target: "payload_builder", id=%attributes.id, parent_hash = ?parent_header.hash(), parent_number = parent_header.number, "building new payload"); let mut cumulative_gas_used = 0; let mut sum_blob_gas_used = 0; let block_gas_limit: u64 = initialized_block_env.gas_limit.to::(); @@ -267,7 +274,7 @@ where let block_number = initialized_block_env.number.to::(); - let mut system_caller = SystemCaller::new(&evm_config, chain_spec.clone()); + let mut system_caller = SystemCaller::new(evm_config.clone(), chain_spec.clone()); // apply eip-4788 pre block contract call system_caller @@ -279,7 +286,7 @@ where ) .map_err(|err| { warn!(target: "payload_builder", - parent_hash=%parent_block.hash(), + parent_hash=%parent_header.hash(), %err, "failed to apply beacon root contract call for payload" ); @@ -291,10 +298,10 @@ where &mut db, &initialized_cfg, &initialized_block_env, - parent_block.hash(), + parent_header.hash(), ) .map_err(|err| { - warn!(target: "payload_builder", parent_hash=%parent_block.hash(), %err, "failed to update blockhashes for payload"); + warn!(target: "payload_builder", parent_hash=%parent_header.hash(), %err, "failed to update blockhashes for payload"); PayloadBuilderError::Internal(err.into()) })?; @@ -335,7 +342,7 @@ where let env = EnvWithHandlerCfg::new_with_cfg_env( initialized_cfg.clone(), initialized_block_env.clone(), - evm_config.tx_env(&tx), + evm_config.tx_env(tx.as_signed(), tx.signer()), ); // Configure the environment for the block. @@ -417,9 +424,7 @@ where } // calculate the requests and the requests root - let (requests, requests_root) = if chain_spec - .is_prague_active_at_timestamp(attributes.timestamp) - { + let requests = if chain_spec.is_prague_active_at_timestamp(attributes.timestamp) { let deposit_requests = parse_deposits_from_receipts(&chain_spec, receipts.iter().flatten()) .map_err(|err| PayloadBuilderError::Internal(RethError::Execution(err.into())))?; let withdrawal_requests = system_caller @@ -437,20 +442,17 @@ where ) .map_err(|err| PayloadBuilderError::Internal(err.into()))?; - let requests = [ + Some(Requests::new(vec![ deposit_requests, withdrawal_requests, consolidation_requests, - ] - .concat(); - let requests_root = calculate_requests_root(&requests); - (Some(requests.into()), Some(requests_root)) + ])) } else { - (None, None) + None }; // < GNOSIS SPECIFIC - gnosis_post_block_system_calls( + apply_post_block_system_calls( &chain_spec, &evm_config, &mut db, @@ -478,6 +480,7 @@ where // and 4788 contract call db.merge_transitions(BundleRetention::Reverts); + let requests_hash = requests.as_ref().map(|requests| requests.requests_hash()); let execution_outcome = ExecutionOutcome::new( db.take_bundle(), vec![receipts.clone()].into(), @@ -500,7 +503,7 @@ where .state_root_with_updates(hashed_state.clone()) .inspect_err(|err| { warn!(target: "payload_builder", - parent_hash=%parent_block.hash(), + parent_hash=%parent_header.hash(), %err, "failed to calculate state root for payload" ); @@ -526,9 +529,9 @@ where .collect(), )?; - excess_blob_gas = if chain_spec.is_cancun_active_at_timestamp(parent_block.timestamp) { - let parent_excess_blob_gas = parent_block.excess_blob_gas.unwrap_or_default(); - let parent_blob_gas_used = parent_block.blob_gas_used.unwrap_or_default(); + excess_blob_gas = if chain_spec.is_cancun_active_at_timestamp(parent_header.timestamp) { + let parent_excess_blob_gas = parent_header.excess_blob_gas.unwrap_or_default(); + let parent_blob_gas_used = parent_header.blob_gas_used.unwrap_or_default(); Some(calc_excess_blob_gas( parent_excess_blob_gas, parent_blob_gas_used, @@ -543,7 +546,7 @@ where } let header = Header { - parent_hash: parent_block.hash(), + parent_hash: parent_header.hash(), ommers_hash: EMPTY_OMMER_ROOT_HASH, beneficiary: initialized_block_env.coinbase, state_root, @@ -555,7 +558,7 @@ where mix_hash: attributes.prev_randao, nonce: BEACON_NONCE.into(), base_fee_per_gas: Some(base_fee), - number: parent_block.number + 1, + number: parent_header.number + 1, gas_limit: block_gas_limit, difficulty: U256::ZERO, gas_used: cumulative_gas_used, @@ -563,7 +566,7 @@ where parent_beacon_block_root: attributes.parent_beacon_block_root, blob_gas_used: blob_gas_used.map(Into::into), excess_blob_gas: excess_blob_gas.map(Into::into), - requests_root, + requests_hash, }; // seal the block @@ -573,7 +576,6 @@ where transactions: executed_txs, ommers: vec![], withdrawals, - requests, }, }; @@ -588,11 +590,16 @@ where hashed_state: Arc::new(hashed_state), trie: Arc::new(trie_output), }; - - let mut payload = EthBuiltPayload::new(attributes.id, sealed_block, total_fees, Some(executed)); + let mut payload = EthBuiltPayload::new( + attributes.id, + sealed_block, + total_fees, + Some(executed), + requests, + ); // extend the payload with the blob sidecars from the executed txs - payload.extend_sidecars(blob_sidecars); + payload.extend_sidecars(blob_sidecars.into_iter().map(Arc::unwrap_or_clone)); Ok(BuildOutcome::Better { payload,