diff --git a/Cargo.lock b/Cargo.lock index da428e8a4..b29972749 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,9 +97,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19a9cc9d81ace3da457883b0bdf76776e55f1b84219a9e9d55c27ad308548d3f" +checksum = "5674914c2cfdb866c21cb0c09d82374ee39a1395cf512e7515f4c014083b3fff" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -112,24 +112,25 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad451f9a70c341d951bca4e811d74dbe1e193897acd17e9dbac1353698cc430b" +checksum = "e9c6ad411efe0f49e0e99b9c7d8749a1eb55f6dbf74a1bc6953ab285b02c4f67" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", "alloy-trie", + "alloy-tx-macros", "arbitrary", "auto_impl", "c-kzg", - "derive_more 2.0.1", + "derive_more", "either", "k256", "once_cell", "rand 0.8.5", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_with", "thiserror 2.0.12", @@ -137,9 +138,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142daffb15d5be1a2b20d2cd540edbcef03037b55d4ff69dc06beb4d06286dba" +checksum = "0bf397edad57b696501702d5887e4e14d7d0bbae9fbb6439e148d361f7254f45" dependencies = [ "alloy-consensus", "alloy-eips", @@ -152,15 +153,15 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9135eb501feccf7f4cb8a183afd406a65483fdad7bbd7332d0470e5d725c92f" +checksum = "7b95b3deca680efc7e9cba781f1a1db352fa1ea50e6384a514944dcf4419e652" dependencies = [ "alloy-json-abi", "alloy-primitives", "alloy-sol-type-parser", "alloy-sol-types", - "derive_more 2.0.1", + "derive_more", "itoa", "serde", "serde_json", @@ -213,9 +214,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3056872f6da48046913e76edb5ddced272861f6032f09461aea1a2497be5ae5d" +checksum = "749b8449e4daf7359bdf1dabdba6ce424ff8b1bdc23bdb795661b2e991a08d87" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -226,7 +227,7 @@ dependencies = [ "arbitrary", "auto_impl", "c-kzg", - "derive_more 2.0.1", + "derive_more", "either", "ethereum_ssz", "ethereum_ssz_derive", @@ -236,17 +237,18 @@ dependencies = [ [[package]] name = "alloy-evm" -version = "0.10.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "394b09cf3a32773eedf11828987f9c72dfa74545040be0422e3f5f09a2a3fab9" +checksum = "ff5aae4c6dc600734b206b175f3200085ee82dcdaa388760358830a984ca9869" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-hardforks", "alloy-primitives", + "alloy-rpc-types-eth", "alloy-sol-types", "auto_impl", - "derive_more 2.0.1", + "derive_more", "op-alloy-consensus", "op-revm", "revm", @@ -255,22 +257,23 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c98fb40f07997529235cc474de814cd7bd9de561e101716289095696c0e4639d" +checksum = "5fcbae2107f3f2df2b02bb7d9e81e8aa730ae371ca9dd7fd0c81c3d0cb78a452" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-serde", "alloy-trie", "serde", + "serde_with", ] [[package]] name = "alloy-hardforks" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "977d2492ce210e34baf7b36afaacea272c96fbe6774c47e23f97d14033c0e94f" +checksum = "4ce138b29a2f8e7ed97c064af8359dfa6559c12cba5e821ae4eb93081a56557e" dependencies = [ "alloy-chains", "alloy-eip2124", @@ -282,9 +285,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b26fdd571915bafe857fccba4ee1a4f352965800e46a53e4a5f50187b7776fa" +checksum = "15516116086325c157c18261d768a20677f0f699348000ed391d4ad0dcb82530" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -294,12 +297,13 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc08b31ebf9273839bd9a01f9333cbb7a3abb4e820c312ade349dd18bdc79581" +checksum = "bc30b0e20fcd0843834ecad2a716661c7b9d5aca2486f8e96b93d5246eb83e06" dependencies = [ "alloy-primitives", "alloy-sol-types", + "http 1.3.1", "serde", "serde_json", "thiserror 2.0.12", @@ -308,9 +312,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed117b08f0cc190312bf0c38c34cf4f0dabfb4ea8f330071c587cd7160a88cb2" +checksum = "eaeb681024cf71f5ca14f3d812c0a8d8b49f13f7124713538e66d74d3bfe6aff" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -325,7 +329,7 @@ dependencies = [ "alloy-sol-types", "async-trait", "auto_impl", - "derive_more 2.0.1", + "derive_more", "futures-utils-wasm", "serde", "serde_json", @@ -334,9 +338,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7162ff7be8649c0c391f4e248d1273e85c62076703a1f3ec7daf76b283d886d" +checksum = "a03ad273e1c55cc481889b4130e82860e33624e6969e9a08854e0f3ebe659295" dependencies = [ "alloy-consensus", "alloy-eips", @@ -347,9 +351,9 @@ dependencies = [ [[package]] name = "alloy-op-evm" -version = "0.10.0" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f32538cc243ec5d4603da9845cc2f5254c6a3a78e82475beb1a2a1de6c0d36c" +checksum = "588a87b77b30452991151667522d2f2f724cec9c2ec6602e4187bc97f66d8095" dependencies = [ "alloy-consensus", "alloy-eips", @@ -364,19 +368,20 @@ dependencies = [ [[package]] name = "alloy-op-hardforks" -version = "0.2.7" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08b147547aff595aa3d4c2fc2c8146263e18d3372909def423619ed631ecbcfa" +checksum = "4a9a510692bef4871797062ca09ec7873c45dc68c7f3f72291165320f53606a3" dependencies = [ + "alloy-chains", "alloy-hardforks", "auto_impl", ] [[package]] name = "alloy-primitives" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a326d47106039f38b811057215a92139f46eef7983a4b77b10930a0ea5685b1e" +checksum = "6177ed26655d4e84e00b65cb494d4e0b8830e7cae7ef5d63087d445a2600fb55" dependencies = [ "alloy-rlp", "arbitrary", @@ -384,11 +389,11 @@ dependencies = [ "cfg-if", "const-hex", "derive_arbitrary", - "derive_more 2.0.1", + "derive_more", "foldhash", "getrandom 0.3.3", "hashbrown 0.15.4", - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "k256", "keccak-asm", @@ -405,9 +410,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84eba1fd8b6fe8b02f2acd5dd7033d0f179e304bd722d11e817db570d1fa6c4" +checksum = "abc164acf8c41c756e76c7aea3be8f0fb03f8a3ef90a33e3ddcea5d1614d8779" dependencies = [ "alloy-chains", "alloy-consensus", @@ -432,6 +437,7 @@ dependencies = [ "either", "futures", "futures-utils-wasm", + "http 1.3.1", "lru 0.13.0", "parking_lot", "pin-project", @@ -447,9 +453,9 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8550f7306e0230fc835eb2ff4af0a96362db4b6fc3f25767d161e0ad0ac765bf" +checksum = "670d155c3e35bcaa252ca706a2757a456c56aa71b80ad1539d07d49b86304e78" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -485,14 +491,14 @@ checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] name = "alloy-rpc-client" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518a699422a3eab800f3dac2130d8f2edba8e4fff267b27a9c7dc6a2b0d313ee" +checksum = "03c44d31bcb9afad460915fe1fba004a2af5a07a3376c307b9bdfeec3678c209" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -518,9 +524,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c000cab4ec26a4b3e29d144e999e1c539c2fa0abed871bf90311eb3466187ca8" +checksum = "2ba2cf3d3c6ece87f1c6bb88324a997f28cf0ad7e98d5e0b6fa91c4003c30916" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -531,9 +537,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-admin" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ebdc864f573645c5288370c208912b85b5cacc8025b700c50c2b74d06ab9830" +checksum = "e4ce874dde17cc749f1aa8883e0c1431ddda6ba6dd9c9eb9b31d1fb0a6023830" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -543,9 +549,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8abecc34549a208b5f91bc7f02df3205c36e2aa6586f1d9375c3382da1066b3b" +checksum = "65e80e2ffa56956a92af375df1422b239fde6552bd222dfeaeb39f07949060fa" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -555,9 +561,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "508b2fbe66d952089aa694e53802327798806498cd29ff88c75135770ecaabfc" +checksum = "ef5b22062142ce3b2ed3374337d4b343437e5de6959397f55d2c9fe2c2ce0162" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -566,9 +572,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241aba7808bddc3ad1c6228e296a831f326f89118b1017012090709782a13334" +checksum = "438a7a3a5c5d11877787e324dd1ffd9ab82314ca145513ebe8d12257cbfefb5b" dependencies = [ "alloy-eips", "alloy-primitives", @@ -584,9 +590,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c832f2e851801093928dbb4b7bd83cd22270faf76b2e080646b806a285c8757" +checksum = "1f53a2a78b44582e0742ab96d5782842d9b90cebf6ef6ccd8be864ae246fdd0f" dependencies = [ "alloy-primitives", "serde", @@ -594,16 +600,16 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab52691970553d84879d777419fa7b6a2e92e9fe8641f9324cc071008c2f656" +checksum = "7041c3fd4dcd7af95e86280944cc33b4492ac2ddbe02f84079f8019742ec2857" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", - "derive_more 2.0.1", + "derive_more", "ethereum_ssz", "ethereum_ssz_derive", "jsonwebtoken", @@ -614,9 +620,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcaf7dff0fdd756a714d58014f4f8354a1706ebf9fa2cf73431e0aeec3c9431e" +checksum = "391e59f81bacbffc7bddd2da3a26d6eec0e2058e9237c279e9b1052bdf21b49e" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -635,9 +641,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-mev" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18bd1c5d7b9f3f1caeeaa1c082aa28ba7ce2d67127b12b2a9b462712c8f6e1c5" +checksum = "de3f327d4cd140eca2c6c27c82c381aba6fa6a32cbb697c146b5607532f82167" dependencies = [ "alloy-consensus", "alloy-eips", @@ -650,9 +656,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e3507a04e868dd83219ad3cd6a8c58aefccb64d33f426b3934423a206343e84" +checksum = "29d96238f37e8a72dcf2cf6bead4c4f91dec1c0720b12be10558406e1633a804" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -664,9 +670,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eec36272621c3ac82b47dd77f0508346687730b1c2e3e10d3715705c217c0a05" +checksum = "e45d00db47a280d0a6e498b6e63344bccd9485d8860d2e2f06b680200c37ebc2" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -676,9 +682,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730e8f2edf2fc224cabd1c25d090e1655fa6137b2e409f92e5eec735903f1507" +checksum = "0ea08bc854235d4dff08fd57df8033285c11b8d7548b20c6da218194e7e6035f" dependencies = [ "alloy-primitives", "arbitrary", @@ -688,9 +694,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0d2428445ec13edc711909e023d7779618504c4800be055a5b940025dbafe3" +checksum = "bcb3759f85ef5f010a874d9ebd5ee6ce01cac65211510863124e0ebac6552db0" dependencies = [ "alloy-primitives", "async-trait", @@ -703,9 +709,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14fe6fedb7fe6e0dfae47fe020684f1d8e063274ef14bca387ddb7a6efa8ec1" +checksum = "14d95902d29e1290809e1c967a1e974145b44b78f6e3e12fc07a60c1225e3df0" dependencies = [ "alloy-consensus", "alloy-network", @@ -719,41 +725,41 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4be1ce1274ddd7fdfac86e5ece1b225e9bba1f2327e20fbb30ee6b9cc1423fe" +checksum = "a14f21d053aea4c6630687c2f4ad614bed4c81e14737a9b904798b24f30ea849" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] name = "alloy-sol-macro-expander" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e92f3708ea4e0d9139001c86c051c538af0146944a2a9c7181753bd944bf57" +checksum = "34d99282e7c9ef14eb62727981a985a01869e586d1dec729d3bb33679094c100" dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.9.0", + "indexmap 2.10.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afe1bd348a41f8c9b4b54dfb314886786d6201235b0b3f47198b9d910c86bb2" +checksum = "eda029f955b78e493360ee1d7bd11e1ab9f2a220a5715449babc79d6d0a01105" dependencies = [ "const-hex", "dunce", @@ -761,15 +767,15 @@ dependencies = [ "macro-string", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6195df2acd42df92a380a8db6205a5c7b41282d0ce3f4c665ecf7911ac292f1" +checksum = "10db1bd7baa35bc8d4a1b07efbf734e73e5ba09f2580fb8cee3483a36087ceb2" dependencies = [ "serde", "winnow", @@ -777,9 +783,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6185e98a79cf19010722f48a74b5a65d153631d2f038cabd250f4b9e9813b8ad" +checksum = "58377025a47d8b8426b3e4846a251f2c1991033b27f517aade368146f6ab1dfe" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -789,14 +795,14 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a712bdfeff42401a7dd9518f72f617574c36226a9b5414537fedc34350b73bf9" +checksum = "dcdf4b7fc58ebb2605b2fc5a33dae5cf15527ea70476978351cc0db1c596ea93" dependencies = [ "alloy-json-rpc", "alloy-primitives", "base64 0.22.1", - "derive_more 2.0.1", + "derive_more", "futures", "futures-utils-wasm", "parking_lot", @@ -812,9 +818,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea5a76d7f2572174a382aedf36875bedf60bcc41116c9f031cf08040703a2dc" +checksum = "4c4b0f3a9c28bcd3761504d9eb3578838d6d115c8959fc1ea05f59a3a8f691af" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -827,9 +833,9 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "606af17a7e064d219746f6d2625676122c79d78bf73dfe746d6db9ecd7dbcb85" +checksum = "758edb7c266374374e001c50fb1ea89cb5ed48d47ffbf297599f2a557804dd3b" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -847,15 +853,15 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "1.0.9" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c6f9b37cd8d44aab959613966cc9d4d7a9b429c575cec43b3e5b46ea109a79" +checksum = "c5596b913d1299ee37a9c1bb5118b2639bf253dc1088957bdf2073ae63a6fdfa" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", "http 1.3.1", - "rustls 0.23.27", + "rustls 0.23.28", "serde_json", "tokio", "tokio-tungstenite", @@ -865,16 +871,16 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "983d99aa81f586cef9dae38443245e585840fcf0fc58b09aee0b1f27aed1d500" +checksum = "bada1fc392a33665de0dc50d401a3701b62583c655e3522a323490a5da016962" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", "arrayvec", "derive_arbitrary", - "derive_more 2.0.1", + "derive_more", "nybbles", "proptest", "proptest-derive", @@ -883,6 +889,19 @@ dependencies = [ "tracing", ] +[[package]] +name = "alloy-tx-macros" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79bf2869e66904b2148c809e7a75e23ca26f5d7b46663a149a1444fb98a69d1d" +dependencies = [ + "alloy-primitives", + "darling", + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -965,7 +984,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -1107,7 +1126,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -1145,7 +1164,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -1234,7 +1253,7 @@ checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -1290,9 +1309,9 @@ checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "async-compression" -version = "0.4.24" +version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d615619615a650c571269c00dca41db04b9210037fa76ed8239f70404ab56985" +checksum = "40f6024f3f856663b45fd0c9b6f2024034a702f453549449e0d84a305900dad4" dependencies = [ "brotli", "flate2", @@ -1323,7 +1342,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -1334,7 +1353,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -1372,20 +1391,20 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "aws-config" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455e9fb7743c6f6267eb2830ccc08686fbb3d13c9a689369562fd4d4ef9ea462" +checksum = "c18d005c70d2b9c0c1ea8876c039db0ec7fb71164d25c73ccea21bf41fd02171" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1473,9 +1492,9 @@ dependencies = [ [[package]] name = "aws-sdk-s3" -version = "1.93.0" +version = "1.96.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b9734dc8145b417a3c22eae8769a2879851690982dba718bdc52bd28ad04ce" +checksum = "6e25d24de44b34dcdd5182ac4e4c6f07bcec2661c505acef94c0d293b65505fe" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1507,9 +1526,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.73.0" +version = "1.74.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ac1674cba7872061a29baaf02209fefe499ff034dfd91bd4cc59e4d7741489" +checksum = "e0a69de9c1b9272da2872af60c7402683e7f45c06267735b4332deacb203239b" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1529,9 +1548,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.74.0" +version = "1.75.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6a22f077f5fd3e3c0270d4e1a110346cddf6769e9433eb9e6daceb4ca3b149" +checksum = "f0b161d836fac72bdd5ac1a4cd1cdc38ab888c7af26cfd95f661be4409505e63" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1551,9 +1570,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.75.0" +version = "1.76.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3258fa707f2f585ee3049d9550954b959002abd59176975150a01d5cf38ae3f" +checksum = "cb1cd79a3412751a341a28e2cd0d6fa4345241976da427b075a0c0cd5409f886" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1613,9 +1632,9 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.63.3" +version = "0.63.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f77a921dbd2c78ebe70726799787c1d110a2245dd65e39b20923dfdfb2deee" +checksum = "244f00666380d35c1c76b90f7b88a11935d11b84076ac22a4c014ea0939627af" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -1665,15 +1684,15 @@ dependencies = [ [[package]] name = "aws-smithy-http-client" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f491388e741b7ca73b24130ff464c1478acc34d5b331b7dd0a2ee4643595a15" +checksum = "f108f1ca850f3feef3009bdcc977be201bca9a91058864d9de0684e64514bee0" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", "h2 0.3.26", - "h2 0.4.10", + "h2 0.4.11", "http 0.2.12", "http 1.3.1", "http-body 0.4.6", @@ -1684,7 +1703,7 @@ dependencies = [ "hyper-util", "pin-project-lite", "rustls 0.21.12", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", @@ -1810,6 +1829,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "az" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" + [[package]] name = "backon" version = "1.5.1" @@ -1905,7 +1930,7 @@ dependencies = [ "bitflags 2.9.1", "cexpr", "clang-sys", - "itertools 0.10.5", + "itertools 0.12.1", "lazy_static", "lazycell", "log", @@ -1915,7 +1940,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.102", + "syn 2.0.104", "which", ] @@ -1934,7 +1959,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2058,7 +2083,7 @@ dependencies = [ "boa_interner", "boa_macros", "boa_string", - "indexmap 2.9.0", + "indexmap 2.10.0", "num-bigint", "rustc-hash 2.1.1", ] @@ -2084,7 +2109,7 @@ dependencies = [ "fast-float2", "hashbrown 0.15.4", "icu_normalizer 1.5.0", - "indexmap 2.9.0", + "indexmap 2.10.0", "intrusive-collections", "itertools 0.13.0", "num-bigint", @@ -2130,7 +2155,7 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.15.4", - "indexmap 2.9.0", + "indexmap 2.10.0", "once_cell", "phf", "rustc-hash 2.1.1", @@ -2145,7 +2170,7 @@ checksum = "9fd3f870829131332587f607a7ff909f1af5fc523fd1b192db55fbbdf52e8d3c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "synstructure", ] @@ -2239,9 +2264,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.18.1" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -2272,7 +2297,7 @@ checksum = "7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2481,7 +2506,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2606,12 +2631,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "convert_case" version = "0.7.1" @@ -2769,9 +2788,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -2841,7 +2860,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2865,7 +2884,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2876,7 +2895,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2929,7 +2948,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -2992,13 +3011,13 @@ dependencies = [ [[package]] name = "derive-where" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e73f2692d4bd3cac41dca28934a39894200c9fabf49586d77d0e5954af1d7902" +checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3009,7 +3028,7 @@ checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3030,7 +3049,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3040,20 +3059,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.102", -] - -[[package]] -name = "derive_more" -version = "0.99.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" -dependencies = [ - "convert_case 0.4.0", - "proc-macro2", - "quote", - "rustc_version 0.4.1", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3071,10 +3077,10 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ - "convert_case 0.7.1", + "convert_case", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "unicode-xid", ] @@ -3133,7 +3139,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.0", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3188,7 +3194,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3270,7 +3276,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3342,7 +3348,7 @@ dependencies = [ "k256", "log", "rand 0.8.5", - "secp256k1", + "secp256k1 0.30.0", "serde", "sha3", "zeroize", @@ -3357,7 +3363,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3377,7 +3383,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3388,12 +3394,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3453,7 +3459,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3668,7 +3674,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -3728,7 +3734,7 @@ dependencies = [ "libc", "log", "rustversion", - "windows 0.61.1", + "windows 0.61.3", ] [[package]] @@ -3851,6 +3857,16 @@ dependencies = [ "web-sys", ] +[[package]] +name = "gmp-mpfr-sys" +version = "1.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66d61197a68f6323b9afa616cf83d55d69191e1bf364d4eb7d35ae18defe776" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "group" version = "0.12.1" @@ -3885,7 +3901,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -3894,9 +3910,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" +checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785" dependencies = [ "atomic-waker", "bytes", @@ -3904,7 +3920,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.3.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "slab", "tokio", "tokio-util", @@ -3977,9 +3993,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -4203,7 +4219,7 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.10", + "h2 0.4.11", "http 1.3.1", "http-body 1.0.1", "httparse", @@ -4241,13 +4257,13 @@ dependencies = [ "hyper 1.6.0", "hyper-util", "log", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-native-certs 0.8.1", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", "tower-service", - "webpki-roots 1.0.0", + "webpki-roots 1.0.1", ] [[package]] @@ -4499,7 +4515,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -4556,7 +4572,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -4597,9 +4613,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "arbitrary", "equivalent", @@ -4653,7 +4669,7 @@ dependencies = [ "indoc", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -4680,6 +4696,17 @@ dependencies = [ "memoffset", ] +[[package]] +name = "io-uring" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "libc", +] + [[package]] name = "ipconfig" version = "0.3.2" @@ -4723,6 +4750,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -4820,7 +4856,7 @@ dependencies = [ "http 1.3.1", "jsonrpsee-core", "pin-project", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-pki-types", "rustls-platform-verifier", "soketto", @@ -4873,7 +4909,7 @@ dependencies = [ "hyper-util", "jsonrpsee-core", "jsonrpsee-types", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-platform-verifier", "serde", "serde_json", @@ -4893,7 +4929,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -5044,15 +5080,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libgit2-sys" -version = "0.18.1+1.9.0" +version = "0.18.2+1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e" +checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222" dependencies = [ "cc", "libc", @@ -5067,7 +5103,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.53.0", + "windows-targets 0.53.2", ] [[package]] @@ -5078,9 +5114,9 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libp2p-identity" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb68ea10844211a59ce46230909fd0ea040e8a192454d4cc2ee0d53e12280eb" +checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" dependencies = [ "asn1_der", "bs58", @@ -5108,9 +5144,9 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" dependencies = [ "bitflags 2.9.1", "libc", @@ -5290,18 +5326,18 @@ dependencies = [ [[package]] name = "lz4_flex" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75761162ae2b0e580d7e7c390558127e5f01b4194debd6221fd8c207fc80e3f5" +checksum = "08ab2867e3eeeca90e844d1940eab391c9dc5228783db2ed999acbc0a9ed375a" dependencies = [ "twox-hash", ] [[package]] name = "mach2" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +checksum = "d640282b302c0bb0a2a8e0233ead9035e3bed871f0b7e81fe4a1ec829765db44" dependencies = [ "libc", ] @@ -5314,7 +5350,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -5338,9 +5374,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memmap2" @@ -5379,7 +5415,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -5389,7 +5425,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd7399781913e5393588a8d8c6a2867bf85fb38eaf2502fdce465aad2dc6f034" dependencies = [ "base64 0.22.1", - "indexmap 2.9.0", + "indexmap 2.10.0", "metrics", "metrics-util", "quanta", @@ -5719,23 +5755,24 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -5749,14 +5786,14 @@ dependencies = [ [[package]] name = "nybbles" -version = "0.3.4" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +checksum = "11d51b0175c49668a033fe7cc69080110d9833b291566cdf332905f3ad9c68a0" dependencies = [ "alloy-rlp", "arbitrary", - "const-hex", "proptest", + "ruint", "serde", "smallvec", ] @@ -5788,17 +5825,19 @@ checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" [[package]] name = "op-alloy-consensus" -version = "0.17.2" +version = "0.18.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2423a125ef2daa0d15dacc361805a0b6f76d6acfc6e24a1ff6473582087fe75" +checksum = "a8719d9b783b29cfa1cf8d591b894805786b9ab4940adc700a57fd0d5b721cf5" dependencies = [ "alloy-consensus", "alloy-eips", + "alloy-network", "alloy-primitives", "alloy-rlp", + "alloy-rpc-types-eth", "alloy-serde", "arbitrary", - "derive_more 2.0.1", + "derive_more", "serde", "serde_with", "thiserror 2.0.12", @@ -5812,9 +5851,9 @@ checksum = "a79f352fc3893dcd670172e615afef993a41798a1d3fc0db88a3e60ef2e70ecc" [[package]] name = "op-alloy-network" -version = "0.17.2" +version = "0.18.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bac5140ed9a01112a1c63866da3c38c74eb387b95917d0f304a4bd4ee825986" +checksum = "839a7a1826dc1d38fdf9c6d30d1f4ed8182c63816c97054e5815206f1ebf08c7" dependencies = [ "alloy-consensus", "alloy-network", @@ -5828,9 +5867,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-jsonrpsee" -version = "0.17.2" +version = "0.18.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cb0771602eb2b25e38817d64cd0f841ff07ef9df1e9ce96a53c1742776e874" +checksum = "6b9d3de5348e2b34366413412f1f1534dc6b10d2cf6e8e1d97c451749c0c81c0" dependencies = [ "alloy-primitives", "jsonrpsee", @@ -5838,9 +5877,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types" -version = "0.17.2" +version = "0.18.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f82a315004b6720fbf756afdcfdc97ea7ddbcdccfec86ea7df7562bb0da29a3f" +checksum = "9640f9e78751e13963762a4a44c846e9ec7974b130c29a51706f40503fe49152" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5848,7 +5887,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", - "derive_more 2.0.1", + "derive_more", "op-alloy-consensus", "serde", "serde_json", @@ -5857,9 +5896,9 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.17.2" +version = "0.18.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47aea08d8ad3f533df0c5082d3e93428a4c57898b7ade1be928fa03918f22e71" +checksum = "6a4559d84f079b3fdfd01e4ee0bb118025e92105fbb89736f5d77ab3ca261698" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5867,8 +5906,9 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-engine", "alloy-serde", - "derive_more 2.0.1", + "derive_more", "ethereum_ssz", + "ethereum_ssz_derive", "op-alloy-consensus", "serde", "snap", @@ -5877,9 +5917,9 @@ dependencies = [ [[package]] name = "op-revm" -version = "5.0.1" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0e8a3830a2be82166fbe9ead34361149ff4320743ed7ee5502ab779de221361" +checksum = "2b97d2b54651fcd2955b454e86b2336c031e17925a127f4c44e2b63b2eeda923" dependencies = [ "auto_impl", "once_cell", @@ -5977,7 +6017,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -6027,9 +6067,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" +checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", "thiserror 2.0.12", @@ -6077,7 +6117,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -6106,7 +6146,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -6216,12 +6256,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.34" +version = "0.2.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6837b9e10d61f45f987d50808f83d1ee3d206c66acf650c3e4ae2e1f6ddedf55" +checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a" dependencies = [ "proc-macro2", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -6272,7 +6312,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -6347,7 +6387,7 @@ checksum = "4ee1c9ac207483d5e7db4940700de86a9aae46ef90c48b57f99fe7edb8345e49" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -6403,7 +6443,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.1.1", - "rustls 0.23.27", + "rustls 0.23.28", "socket2", "thiserror 2.0.12", "tokio", @@ -6423,7 +6463,7 @@ dependencies = [ "rand 0.9.1", "ring", "rustc-hash 2.1.1", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-pki-types", "slab", "thiserror 2.0.12", @@ -6434,9 +6474,9 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842" +checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" dependencies = [ "cfg_aliases", "libc", @@ -6457,9 +6497,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -6605,9 +6645,9 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags 2.9.1", ] @@ -6634,6 +6674,26 @@ dependencies = [ "thiserror 2.0.12", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "regex" version = "1.11.1" @@ -6696,9 +6756,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.19" +version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2f8e5513d63f2e5b386eb5106dc67eaf3f84e95258e210489136b8b92ad6119" +checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ "base64 0.22.1", "bytes", @@ -6711,15 +6771,12 @@ dependencies = [ "hyper 1.6.0", "hyper-rustls 0.27.7", "hyper-util", - "ipnet", "js-sys", "log", - "mime", - "once_cell", "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-native-certs 0.8.1", "rustls-pki-types", "serde", @@ -6737,7 +6794,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 1.0.0", + "webpki-roots 1.0.1", ] [[package]] @@ -6748,8 +6805,8 @@ checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" [[package]] name = "reth" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-rpc-types", "aquamarine", @@ -6782,9 +6839,9 @@ dependencies = [ "reth-rpc", "reth-rpc-api", "reth-rpc-builder", + "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-tasks", "reth-tokio-util", "reth-transaction-pool", @@ -6794,8 +6851,8 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6818,15 +6875,15 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-signer", "alloy-signer-local", - "derive_more 2.0.1", + "derive_more", "metrics", "parking_lot", "pin-project", @@ -6849,8 +6906,8 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-chains", "alloy-consensus", @@ -6860,7 +6917,7 @@ dependencies = [ "alloy-primitives", "alloy-trie", "auto_impl", - "derive_more 2.0.1", + "derive_more", "reth-ethereum-forks", "reth-network-peers", "reth-primitives-traits", @@ -6869,8 +6926,8 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-genesis", "clap", @@ -6883,8 +6940,8 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "ahash", "alloy-chains", @@ -6949,7 +7006,7 @@ dependencies = [ "reth-trie", "reth-trie-common", "reth-trie-db", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_json", "tar", @@ -6961,8 +7018,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "reth-tasks", "tokio", @@ -6971,8 +7028,8 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6981,7 +7038,7 @@ dependencies = [ "libc", "rand 0.8.5", "reth-fs-util", - "secp256k1", + "secp256k1 0.30.0", "serde", "thiserror 2.0.12", "tikv-jemallocator", @@ -6989,8 +7046,8 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7009,19 +7066,19 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ - "convert_case 0.7.1", + "convert_case", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] name = "reth-config" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "eyre", "humantime-serde", @@ -7035,8 +7092,8 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7048,8 +7105,8 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7060,8 +7117,8 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7070,7 +7127,7 @@ dependencies = [ "alloy-provider", "alloy-rpc-types-engine", "auto_impl", - "derive_more 2.0.1", + "derive_more", "eyre", "futures", "reqwest", @@ -7084,11 +7141,11 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", - "derive_more 2.0.1", + "derive_more", "eyre", "metrics", "page_size", @@ -7110,15 +7167,15 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-genesis", "alloy-primitives", "arbitrary", "bytes", - "derive_more 2.0.1", + "derive_more", "metrics", "modular-bitfield", "parity-scale-codec", @@ -7138,8 +7195,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -7167,8 +7224,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7182,8 +7239,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7198,7 +7255,7 @@ dependencies = [ "reth-net-nat", "reth-network-peers", "schnellru", - "secp256k1", + "secp256k1 0.30.0", "serde", "thiserror 2.0.12", "tokio", @@ -7208,12 +7265,12 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "alloy-rlp", - "derive_more 2.0.1", + "derive_more", "discv5", "enr", "futures", @@ -7224,7 +7281,7 @@ dependencies = [ "reth-ethereum-forks", "reth-metrics", "reth-network-peers", - "secp256k1", + "secp256k1 0.30.0", "thiserror 2.0.12", "tokio", "tracing", @@ -7232,8 +7289,8 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "data-encoding", @@ -7245,7 +7302,7 @@ dependencies = [ "reth-network-peers", "reth-tokio-util", "schnellru", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_with", "thiserror 2.0.12", @@ -7256,8 +7313,8 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7286,8 +7343,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "aes", "alloy-primitives", @@ -7304,7 +7361,7 @@ dependencies = [ "pin-project", "rand 0.8.5", "reth-network-peers", - "secp256k1", + "secp256k1 0.30.0", "sha2 0.10.9", "sha3", "thiserror 2.0.12", @@ -7317,8 +7374,8 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7339,8 +7396,8 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7364,8 +7421,8 @@ dependencies = [ [[package]] name = "reth-engine-service" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "futures", "pin-project", @@ -7387,8 +7444,8 @@ dependencies = [ [[package]] name = "reth-engine-tree" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7396,7 +7453,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "alloy-rpc-types-engine", - "derive_more 2.0.1", + "derive_more", "futures", "itertools 0.14.0", "metrics", @@ -7434,8 +7491,8 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -7461,8 +7518,8 @@ dependencies = [ [[package]] name = "reth-era" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7477,8 +7534,8 @@ dependencies = [ [[package]] name = "reth-era-downloader" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "bytes", @@ -7492,19 +7549,23 @@ dependencies = [ [[package]] name = "reth-era-utils" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ + "alloy-consensus", "alloy-primitives", + "alloy-rlp", "eyre", "futures-util", "reth-db-api", "reth-era", "reth-era-downloader", + "reth-ethereum-primitives", "reth-etl", "reth-fs-util", "reth-primitives-traits", "reth-provider", + "reth-stages-types", "reth-storage-api", "tokio", "tracing", @@ -7512,8 +7573,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -7523,15 +7584,15 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-chains", "alloy-primitives", "alloy-rlp", "arbitrary", "bytes", - "derive_more 2.0.1", + "derive_more", "futures", "pin-project", "reth-codecs", @@ -7552,8 +7613,8 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-chains", "alloy-consensus", @@ -7563,7 +7624,7 @@ dependencies = [ "alloy-rlp", "arbitrary", "bytes", - "derive_more 2.0.1", + "derive_more", "proptest", "proptest-arbitrary-interop", "reth-chainspec", @@ -7576,8 +7637,8 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7635,8 +7696,8 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7651,8 +7712,8 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7669,8 +7730,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -7683,8 +7744,8 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7710,8 +7771,8 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7728,8 +7789,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "rayon", "reth-db-api", @@ -7738,15 +7799,15 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", "auto_impl", - "derive_more 2.0.1", + "derive_more", "futures-util", "metrics", "reth-execution-errors", @@ -7761,14 +7822,14 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", - "derive_more 2.0.1", + "derive_more", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -7780,8 +7841,8 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-evm", "alloy-primitives", @@ -7793,14 +7854,14 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", - "derive_more 2.0.1", + "derive_more", "reth-ethereum-primitives", "reth-primitives-traits", "reth-trie-common", @@ -7811,8 +7872,8 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7849,8 +7910,8 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7863,8 +7924,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "serde", "serde_json", @@ -7873,8 +7934,8 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -7901,8 +7962,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "bytes", "futures", @@ -7921,14 +7982,14 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "bitflags 2.9.1", "byteorder", "dashmap 6.1.0", - "derive_more 2.0.1", - "indexmap 2.9.0", + "derive_more", + "indexmap 2.10.0", "parking_lot", "reth-mdbx-sys", "smallvec", @@ -7938,8 +7999,8 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "bindgen 0.70.1", "cc", @@ -7947,8 +8008,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "futures", "metrics", @@ -7959,16 +8020,16 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", ] [[package]] name = "reth-net-nat" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "futures-util", "if-addrs", @@ -7981,8 +8042,8 @@ dependencies = [ [[package]] name = "reth-network" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7990,7 +8051,7 @@ dependencies = [ "alloy-rlp", "aquamarine", "auto_impl", - "derive_more 2.0.1", + "derive_more", "discv5", "enr", "futures", @@ -8024,7 +8085,7 @@ dependencies = [ "reth-transaction-pool", "rustc-hash 2.1.1", "schnellru", - "secp256k1", + "secp256k1 0.30.0", "serde", "smallvec", "thiserror 2.0.12", @@ -8036,13 +8097,13 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "alloy-rpc-types-admin", "auto_impl", - "derive_more 2.0.1", + "derive_more", "enr", "futures", "reth-eth-wire-types", @@ -8059,14 +8120,14 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "auto_impl", - "derive_more 2.0.1", + "derive_more", "futures", "reth-consensus", "reth-eth-wire-types", @@ -8081,13 +8142,13 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "alloy-rlp", "enr", - "secp256k1", + "secp256k1 0.30.0", "serde_with", "thiserror 2.0.12", "tokio", @@ -8096,8 +8157,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -8110,12 +8171,12 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "anyhow", "bincode", - "derive_more 2.0.1", + "derive_more", "lz4_flex", "memmap2", "reth-fs-util", @@ -8127,8 +8188,8 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -8151,8 +8212,8 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8206,7 +8267,7 @@ dependencies = [ "reth-tokio-util", "reth-tracing", "reth-transaction-pool", - "secp256k1", + "secp256k1 0.30.0", "serde_json", "tokio", "tokio-stream", @@ -8215,15 +8276,15 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "clap", - "derive_more 2.0.1", + "derive_more", "dirs-next", "eyre", "futures", @@ -8244,15 +8305,15 @@ dependencies = [ "reth-network-peers", "reth-primitives-traits", "reth-prune-types", + "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-stages-types", "reth-storage-api", "reth-storage-errors", "reth-tracing", "reth-transaction-pool", - "secp256k1", + "secp256k1 0.30.0", "serde", "shellexpand", "strum 0.27.1", @@ -8266,8 +8327,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-rpc-types-engine", @@ -8302,14 +8363,14 @@ dependencies = [ [[package]] name = "reth-node-events" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", - "derive_more 2.0.1", + "derive_more", "futures", "humantime", "pin-project", @@ -8326,8 +8387,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "eyre", "http 1.3.1", @@ -8347,8 +8408,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "reth-chainspec", "reth-db-api", @@ -8360,8 +8421,8 @@ dependencies = [ [[package]] name = "reth-optimism-chainspec" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-chains", "alloy-consensus", @@ -8369,7 +8430,7 @@ dependencies = [ "alloy-genesis", "alloy-hardforks", "alloy-primitives", - "derive_more 2.0.1", + "derive_more", "op-alloy-rpc-types", "reth-chainspec", "reth-ethereum-forks", @@ -8382,8 +8443,8 @@ dependencies = [ [[package]] name = "reth-optimism-consensus" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8407,8 +8468,8 @@ dependencies = [ [[package]] name = "reth-optimism-evm" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8432,8 +8493,8 @@ dependencies = [ [[package]] name = "reth-optimism-forks" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-op-hardforks", "alloy-primitives", @@ -8443,8 +8504,8 @@ dependencies = [ [[package]] name = "reth-optimism-payload-builder" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8452,7 +8513,7 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-debug", "alloy-rpc-types-engine", - "derive_more 2.0.1", + "derive_more", "op-alloy-consensus", "op-alloy-rpc-types-engine", "reth-basic-payload-builder", @@ -8482,8 +8543,8 @@ dependencies = [ [[package]] name = "reth-optimism-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8502,8 +8563,8 @@ dependencies = [ [[package]] name = "reth-optimism-rpc" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8516,7 +8577,7 @@ dependencies = [ "alloy-transport", "alloy-transport-http", "async-trait", - "derive_more 2.0.1", + "derive_more", "eyre", "jsonrpsee", "jsonrpsee-core", @@ -8553,15 +8614,17 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "revm", + "serde_json", "thiserror 2.0.12", "tokio", + "tower", "tracing", ] [[package]] name = "reth-optimism-txpool" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8571,7 +8634,7 @@ dependencies = [ "alloy-rpc-types-eth", "alloy-serde", "c-kzg", - "derive_more 2.0.1", + "derive_more", "futures-util", "metrics", "op-alloy-consensus", @@ -8596,8 +8659,8 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-rpc-types", @@ -8616,8 +8679,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "pin-project", "reth-payload-primitives", @@ -8628,8 +8691,8 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8647,8 +8710,8 @@ dependencies = [ [[package]] name = "reth-payload-util" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8657,8 +8720,8 @@ dependencies = [ [[package]] name = "reth-payload-validator" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -8667,8 +8730,8 @@ dependencies = [ [[package]] name = "reth-primitives" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "c-kzg", @@ -8681,20 +8744,21 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-rlp", + "alloy-rpc-types-eth", "alloy-trie", "arbitrary", "auto_impl", "byteorder", "bytes", - "derive_more 2.0.1", + "derive_more", "modular-bitfield", "once_cell", "op-alloy-consensus", @@ -8705,7 +8769,7 @@ dependencies = [ "revm-bytecode", "revm-primitives", "revm-state", - "secp256k1", + "secp256k1 0.30.0", "serde", "serde_with", "thiserror 2.0.12", @@ -8713,8 +8777,8 @@ dependencies = [ [[package]] name = "reth-provider" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8758,8 +8822,8 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8786,12 +8850,12 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "arbitrary", - "derive_more 2.0.1", + "derive_more", "modular-bitfield", "reth-codecs", "serde", @@ -8800,8 +8864,8 @@ dependencies = [ [[package]] name = "reth-ress-protocol" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8819,8 +8883,8 @@ dependencies = [ [[package]] name = "reth-ress-provider" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -8846,8 +8910,8 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "reth-primitives-traits", @@ -8859,8 +8923,8 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -8883,7 +8947,7 @@ dependencies = [ "alloy-signer", "alloy-signer-local", "async-trait", - "derive_more 2.0.1", + "derive_more", "futures", "http 1.3.1", "http-body 1.0.1", @@ -8900,6 +8964,7 @@ dependencies = [ "reth-errors", "reth-ethereum-primitives", "reth-evm", + "reth-evm-ethereum", "reth-execution-types", "reth-metrics", "reth-network-api", @@ -8909,11 +8974,11 @@ dependencies = [ "reth-primitives-traits", "reth-revm", "reth-rpc-api", + "reth-rpc-convert", "reth-rpc-engine-api", "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", @@ -8934,8 +8999,8 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-genesis", @@ -8962,8 +9027,8 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-network", "alloy-provider", @@ -8998,10 +9063,32 @@ dependencies = [ "tracing", ] +[[package]] +name = "reth-rpc-convert" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" +dependencies = [ + "alloy-consensus", + "alloy-json-rpc", + "alloy-network", + "alloy-primitives", + "alloy-rpc-types-eth", + "jsonrpsee-types", + "op-alloy-consensus", + "op-alloy-rpc-types", + "op-revm", + "reth-evm", + "reth-optimism-primitives", + "reth-primitives-traits", + "reth-storage-api", + "revm-context", + "thiserror 2.0.12", +] + [[package]] name = "reth-rpc-engine-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9030,8 +9117,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -9050,6 +9137,7 @@ dependencies = [ "jsonrpsee", "jsonrpsee-types", "parking_lot", + "reth-chain-state", "reth-chainspec", "reth-errors", "reth-evm", @@ -9058,9 +9146,9 @@ dependencies = [ "reth-payload-builder", "reth-primitives-traits", "reth-revm", + "reth-rpc-convert", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", @@ -9073,15 +9161,15 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rpc-types-eth", "alloy-sol-types", - "derive_more 2.0.1", + "derive_more", "futures", "itertools 0.14.0", "jsonrpsee-core", @@ -9097,8 +9185,8 @@ dependencies = [ "reth-metrics", "reth-primitives-traits", "reth-revm", + "reth-rpc-convert", "reth-rpc-server-types", - "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", @@ -9115,8 +9203,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-rpc-types-engine", "http 1.3.1", @@ -9129,8 +9217,8 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9143,29 +9231,10 @@ dependencies = [ "strum 0.27.1", ] -[[package]] -name = "reth-rpc-types-compat" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" -dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-rpc-types-eth", - "jsonrpsee-types", - "op-alloy-consensus", - "op-alloy-rpc-types", - "reth-optimism-primitives", - "reth-primitives-traits", - "reth-storage-api", - "serde", - "thiserror 2.0.12", -] - [[package]] name = "reth-stages" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9210,8 +9279,8 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9237,8 +9306,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "arbitrary", @@ -9251,8 +9320,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "parking_lot", @@ -9271,20 +9340,20 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "clap", - "derive_more 2.0.1", + "derive_more", "serde", "strum 0.27.1", ] [[package]] name = "reth-storage-api" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9307,13 +9376,13 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", - "derive_more 2.0.1", + "derive_more", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", @@ -9323,8 +9392,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "auto_impl", "dyn-clone", @@ -9341,8 +9410,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "tokio", "tokio-stream", @@ -9351,8 +9420,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "clap", "eyre", @@ -9366,8 +9435,8 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9404,8 +9473,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9429,8 +9498,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9440,7 +9509,7 @@ dependencies = [ "alloy-trie", "arbitrary", "bytes", - "derive_more 2.0.1", + "derive_more", "hash-db", "itertools 0.14.0", "nybbles", @@ -9455,8 +9524,8 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "reth-db-api", @@ -9468,12 +9537,12 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "alloy-rlp", - "derive_more 2.0.1", + "derive_more", "itertools 0.14.0", "metrics", "rayon", @@ -9493,8 +9562,8 @@ dependencies = [ [[package]] name = "reth-trie-sparse" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9511,8 +9580,8 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "1.4.8" -source = "git+https://github.com/sprites0/reth?rev=131c608706ed662f16112eabaad9e8a5a0471ef4#131c608706ed662f16112eabaad9e8a5a0471ef4" +version = "1.5.0" +source = "git+https://github.com/sprites0/reth?rev=fc754e5983f055365325dc9a04632d5ba2c4a8bc#fc754e5983f055365325dc9a04632d5ba2c4a8bc" dependencies = [ "zstd", ] @@ -9544,7 +9613,7 @@ dependencies = [ "bytes", "cfg-if", "clap", - "derive_more 0.99.20", + "derive_more", "eyre", "futures", "jsonrpsee", @@ -9596,7 +9665,7 @@ dependencies = [ "rmp-serde", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.12", "tikv-jemalloc-ctl", "tikv-jemallocator", "time", @@ -9608,9 +9677,9 @@ dependencies = [ [[package]] name = "revm" -version = "24.0.1" +version = "26.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d277408ff8d6f747665ad9e52150ab4caf8d5eaf0d787614cf84633c8337b4" +checksum = "7b2a493c73054a0f6635bad6e840cdbef34838e6e6186974833c901dff7dd709" dependencies = [ "revm-bytecode", "revm-context", @@ -9627,9 +9696,9 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "4.1.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942fe4724cf552fd28db6b0a2ca5b79e884d40dd8288a4027ed1e9090e0c6f49" +checksum = "b395ee2212d44fcde20e9425916fee685b5440c3f8e01fabae8b0f07a2fd7f08" dependencies = [ "bitvec", "once_cell", @@ -9640,9 +9709,9 @@ dependencies = [ [[package]] name = "revm-context" -version = "5.0.1" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01aad49e1233f94cebda48a4e5cef022f7c7ed29b4edf0d202b081af23435ef" +checksum = "7b97b69d05651509b809eb7215a6563dc64be76a941666c40aabe597ab544d38" dependencies = [ "cfg-if", "derive-where", @@ -9656,9 +9725,9 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "5.0.0" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b844f48a411e62c7dde0f757bf5cce49c85b86d6fc1d3b2722c07f2bec4c3ce" +checksum = "9f8f4f06a1c43bf8e6148509aa06a6c4d28421541944842b9b11ea1a6e53468f" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -9672,9 +9741,9 @@ dependencies = [ [[package]] name = "revm-database" -version = "4.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad3fbe34f6bb00a9c3155723b3718b9cb9f17066ba38f9eb101b678cd3626775" +checksum = "763eb5867a109a85f8e47f548b9d88c9143c0e443ec056742052f059fa32f4f1" dependencies = [ "alloy-eips", "revm-bytecode", @@ -9686,9 +9755,9 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "4.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8acd36784a6d95d5b9e1b7be3ce014f1e759abb59df1fa08396b30f71adc2a" +checksum = "cf5ecd19a5b75b862841113b9abdd864ad4b22e633810e11e6d620e8207e361d" dependencies = [ "auto_impl", "revm-primitives", @@ -9698,11 +9767,12 @@ dependencies = [ [[package]] name = "revm-handler" -version = "5.0.1" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "481e8c3290ff4fa1c066592fdfeb2b172edfd14d12e6cade6f6f5588cad9359a" +checksum = "17b61f992beaa7a5fc3f5fcf79f1093624fa1557dc42d36baa42114c2d836b59" dependencies = [ "auto_impl", + "derive-where", "revm-bytecode", "revm-context", "revm-context-interface", @@ -9716,11 +9786,12 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "5.0.1" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc1167ef8937d8867888e63581d8ece729a72073d322119ef4627d813d99ecb" +checksum = "d7e4400a109a2264f4bf290888ac6d02432b6d5d070492b9dcf134b0c7d51354" dependencies = [ "auto_impl", + "either", "revm-context", "revm-database-interface", "revm-handler", @@ -9733,9 +9804,9 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.23.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b50ef375dbacefecfdacf8f02afc31df98acc5d8859a6f2b24d121ff2a740a8" +checksum = "2aabdffc06bdb434d9163e2d63b6fae843559afd300ea3fbeb113b8a0d8ec728" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -9753,9 +9824,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "20.0.0" +version = "22.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ee65e57375c6639b0f50555e92a4f1b2434349dd32f52e2176f5c711171697" +checksum = "a2481ef059708772cec0ce6bc4c84b796a40111612efb73b01adf1caed7ff9ac" dependencies = [ "revm-bytecode", "revm-context-interface", @@ -9765,9 +9836,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "21.0.0" +version = "23.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9311e735123d8d53a02af2aa81877bba185be7c141be7f931bb3d2f3af449c" +checksum = "6d581e78c8f132832bd00854fb5bf37efd95a52582003da35c25cd2cbfc63849" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -9784,15 +9855,16 @@ dependencies = [ "p256 0.13.2", "revm-primitives", "ripemd", - "secp256k1", + "rug", + "secp256k1 0.31.1", "sha2 0.10.9", ] [[package]] name = "revm-primitives" -version = "19.2.0" +version = "20.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1588093530ec4442461163be49c433c07a3235d1ca6f6799fef338dacc50d3" +checksum = "52cdf897b3418f2ee05bcade64985e5faed2dbaa349b2b5f27d3d6bfd10fff2a" dependencies = [ "alloy-primitives", "num_enum", @@ -9801,9 +9873,9 @@ dependencies = [ [[package]] name = "revm-state" -version = "4.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0040c61c30319254b34507383ba33d85f92949933adf6525a2cede05d165e1fa" +checksum = "8d6274928dd78f907103740b10800d3c0db6caeca391e75a159c168a1e5c78f8" dependencies = [ "bitflags 2.9.1", "revm-bytecode", @@ -9927,6 +9999,18 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" +[[package]] +name = "rug" +version = "1.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4207e8d668e5b8eb574bda8322088ccd0d7782d3d03c7e8d562e82ed82bdcbc3" +dependencies = [ + "az", + "gmp-mpfr-sys", + "libc", + "libm", +] + [[package]] name = "ruint" version = "1.15.0" @@ -10046,9 +10130,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.27" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "aws-lc-rs", "log", @@ -10123,7 +10207,7 @@ dependencies = [ "jni", "log", "once_cell", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-native-certs 0.8.1", "rustls-platform-verifier-android", "rustls-webpki 0.103.3", @@ -10209,6 +10293,30 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + [[package]] name = "schnellru" version = "0.2.4" @@ -10279,10 +10387,21 @@ checksum = "b50c5943d326858130af85e049f2661ba3c78b26589b8ab98e65e80ae44a1252" dependencies = [ "bitcoin_hashes", "rand 0.8.5", - "secp256k1-sys", + "secp256k1-sys 0.10.1", "serde", ] +[[package]] +name = "secp256k1" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2" +dependencies = [ + "bitcoin_hashes", + "rand 0.9.1", + "secp256k1-sys 0.11.0", +] + [[package]] name = "secp256k1-sys" version = "0.10.1" @@ -10292,6 +10411,15 @@ dependencies = [ "cc", ] +[[package]] +name = "secp256k1-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb913707158fadaf0d8702c2db0e857de66eb003ccfdda5924b5f5ac98efb38" +dependencies = [ + "cc", +] + [[package]] name = "security-framework" version = "2.11.1" @@ -10384,7 +10512,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10393,7 +10521,7 @@ version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "itoa", "memchr", "ryu", @@ -10423,15 +10551,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.9.0", + "indexmap 2.10.0", + "schemars 0.9.0", + "schemars 1.0.3", "serde", "serde_derive", "serde_json", @@ -10441,14 +10571,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.12.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10652,12 +10782,9 @@ checksum = "c1e9a774a6c28142ac54bb25d25562e6bcf957493a184f15ad4eebccb23e410a" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" @@ -10773,7 +10900,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10786,7 +10913,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10808,9 +10935,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.102" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -10819,14 +10946,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c8c8f496c33dc6343dac05b4be8d9e0bca180a4caa81d7b8416b10cc2273cd" +checksum = "b9ac494e7266fcdd2ad80bf4375d55d27a117ea5c866c26d0e97fe5b3caeeb75" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10846,7 +10973,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10930,7 +11057,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -10941,17 +11068,16 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -11074,17 +11200,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", + "slab", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -11098,7 +11226,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -11117,7 +11245,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" dependencies = [ - "rustls 0.23.27", + "rustls 0.23.28", "tokio", ] @@ -11141,7 +11269,7 @@ checksum = "7a9daff607c6d2bf6c16fd681ccb7eecc83e4e2cdc1ca067ffaadfca5de7f084" dependencies = [ "futures-util", "log", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-pki-types", "tokio", "tokio-rustls 0.26.2", @@ -11191,7 +11319,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.9.0", + "indexmap 2.10.0", "serde", "serde_spanned", "toml_datetime", @@ -11214,7 +11342,7 @@ dependencies = [ "futures-core", "futures-util", "hdrhistogram", - "indexmap 2.9.0", + "indexmap 2.10.0", "pin-project-lite", "slab", "sync_wrapper", @@ -11294,13 +11422,13 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -11421,7 +11549,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -11458,7 +11586,7 @@ dependencies = [ "httparse", "log", "rand 0.9.1", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-pki-types", "sha1", "thiserror 2.0.12", @@ -11467,13 +11595,9 @@ dependencies = [ [[package]] name = "twox-hash" -version = "1.6.3" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if", - "static_assertions", -] +checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" [[package]] name = "typenum" @@ -11596,7 +11720,7 @@ dependencies = [ "flate2", "log", "percent-encoding", - "rustls 0.23.27", + "rustls 0.23.28", "rustls-pemfile 2.2.0", "rustls-pki-types", "ureq-proto", @@ -11736,7 +11860,7 @@ checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -11810,7 +11934,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "wasm-bindgen-shared", ] @@ -11845,7 +11969,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11874,9 +11998,9 @@ dependencies = [ [[package]] name = "wasmtimer" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +checksum = "d8d49b5d6c64e8558d9b1b065014426f35c18de636895d24893dbbd329743446" dependencies = [ "futures", "js-sys", @@ -11912,14 +12036,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75c7f0ef91146ebfb530314f5f1d24528d7f0767efbfd31dce919275413e393e" dependencies = [ - "webpki-root-certs 1.0.0", + "webpki-root-certs 1.0.1", ] [[package]] name = "webpki-root-certs" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a83f7e1a9f8712695c03eabe9ed3fbca0feff0152f33f12593e5a6303cb1a4" +checksum = "86138b15b2b7d561bc4469e77027b8dd005a43dc502e9031d1f5afc8ce1f280e" dependencies = [ "rustls-pki-types", ] @@ -11930,14 +12054,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.0", + "webpki-roots 1.0.1", ] [[package]] name = "webpki-roots" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb" +checksum = "8782dd5a41a24eed3a4f40b606249b3e236ca61adf1f25ea4d45c73de122b502" dependencies = [ "rustls-pki-types", ] @@ -12013,9 +12137,9 @@ dependencies = [ [[package]] name = "windows" -version = "0.61.1" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5ee8f3d025738cb02bad7868bbb5f8a6327501e870bf51f1b455b0a2454a419" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ "windows-collections", "windows-core 0.61.2", @@ -12090,7 +12214,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12101,7 +12225,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12112,7 +12236,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12123,7 +12247,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12134,7 +12258,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12145,14 +12269,14 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-numerics" @@ -12246,6 +12370,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.2", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -12294,9 +12427,9 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" dependencies = [ "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", @@ -12573,9 +12706,9 @@ dependencies = [ [[package]] name = "xattr" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" +checksum = "af3a19837351dc82ba89f8a125e22a3c475f05aba604acc023d62b2739ae2909" dependencies = [ "libc", "rustix 1.0.7", @@ -12625,7 +12758,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "synstructure", ] @@ -12637,28 +12770,28 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12678,7 +12811,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", "synstructure", ] @@ -12699,7 +12832,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12743,7 +12876,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] @@ -12754,7 +12887,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.102", + "syn 2.0.104", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 157933e3f..46ea479b1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,61 +12,61 @@ name = "reth-hl" path = "src/main.rs" [dependencies] -reth = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-cli = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-cli-commands = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-basic-payload-builder = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-db = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-db-api = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-chainspec = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-cli-util = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-discv4 = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-engine-primitives = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-ethereum-forks = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-ethereum-payload-builder = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-ethereum-primitives = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-eth-wire = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-eth-wire-types = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-evm = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-evm-ethereum = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-node-core = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-revm = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-network = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-network-p2p = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-network-api = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-node-ethereum = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-network-peers = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-optimism-rpc = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-payload-primitives = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-primitives = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-primitives-traits = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-provider = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4", features = ["test-utils"] } -reth-rpc-eth-api = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-rpc-engine-api = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-tracing = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-trie-common = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-trie-db = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-codecs = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -reth-transaction-pool = { git = "https://github.com/sprites0/reth", rev = "131c608706ed662f16112eabaad9e8a5a0471ef4" } -revm = { version = "24.0.1" } +reth = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-cli = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-cli-commands = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-basic-payload-builder = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-db = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-db-api = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-chainspec = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-cli-util = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-discv4 = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-engine-primitives = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-ethereum-forks = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-ethereum-payload-builder = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-ethereum-primitives = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-eth-wire = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-eth-wire-types = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-evm = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-evm-ethereum = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-node-core = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-revm = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-network = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-network-p2p = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-network-api = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-node-ethereum = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-network-peers = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-optimism-rpc = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-payload-primitives = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-primitives = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-primitives-traits = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-provider = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc", features = ["test-utils"] } +reth-rpc-eth-api = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-rpc-engine-api = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-tracing = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-trie-common = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-trie-db = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-codecs = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +reth-transaction-pool = { git = "https://github.com/sprites0/reth", rev = "fc754e5983f055365325dc9a04632d5ba2c4a8bc" } +revm = { version = "26.0.1" } # alloy dependencies -alloy-genesis = "1.0.9" -alloy-consensus = { version = "1.0.9", features = ["serde"] } +alloy-genesis = "1.0.13" +alloy-consensus = { version = "1.0.13", features = ["serde"] } alloy-chains = "0.2.0" -alloy-eips = "1.0.9" -alloy-evm = "0.10" +alloy-eips = "1.0.13" +alloy-evm = "0.12" alloy-json-abi = { version = "1.0.0", default-features = false } -alloy-dyn-abi = "1.1.0" -alloy-network = "1.0.9" -alloy-primitives = { version = "1.1.0", default-features = false, features = ["map-foldhash"] } +alloy-dyn-abi = "1.2.0" +alloy-network = "1.0.13" +alloy-primitives = { version = "1.2.0", default-features = false, features = ["map-foldhash"] } alloy-rlp = { version = "0.3.10", default-features = false, features = ["core-net"] } -alloy-rpc-types = { version = "1.0.9", features = ["engine"] } -alloy-rpc-types-eth = "1.0.9" -alloy-rpc-types-engine = "1.0.9" -alloy-signer = "1.0.9" -alloy-sol-macro = "1.1.0" -alloy-sol-types = { version = "1.1.0", default-features = false } +alloy-rpc-types = { version = "1.0.13", features = ["engine"] } +alloy-rpc-types-eth = "1.0.13" +alloy-rpc-types-engine = "1.0.13" +alloy-signer = "1.0.13" +alloy-sol-macro = "1.2.0" +alloy-sol-types = { version = "1.2.0", default-features = false } jsonrpsee = "0.25.1" jsonrpsee-core = { version = "0.25.1" } @@ -76,9 +76,9 @@ jsonrpsee-types = "0.25.1" auto_impl = "1" async-trait = "0.1" bytes = "1.5" -clap = { version = "4.4", features = ["derive"] } +clap = { version = "4", features = ["derive"] } cfg-if = { version = "1.0", default-features = false } -derive_more = "0.99" +derive_more = { version = "2", default-features = false, features = ["full"] } eyre = "0.6" futures = "0.3" lazy_static = "1.4.0" @@ -86,16 +86,16 @@ once_cell = { version = "1.19", default-features = false, features = ["alloc"] } parking_lot = "0.12" serde = { version = "1.0", features = ["derive"], default-features = false } serde_json = "1.0" -thiserror = "1.0" -tokio = { version = "1.36", features = ["full"] } +thiserror = { version = "2.0.0", default-features = false } +tokio = { version = "1.44.2", features = ["full"] } tokio-stream = "0.1" tracing = "0.1" -rmp-serde = "1.0.0" -lz4_flex = "0.11.3" +rmp-serde = "1.3" +lz4_flex = "0.11" ureq = "3.0.12" aws-sdk-s3 = "1.93.0" aws-config = "1.8.0" -rayon = "1.10.0" +rayon = "1.7" time = "0.3.41" diff --git a/src/evm/api/builder.rs b/src/evm/api/builder.rs index 14c01eee0..67152d616 100644 --- a/src/evm/api/builder.rs +++ b/src/evm/api/builder.rs @@ -1,17 +1,15 @@ use super::HlEvmInner; use crate::evm::{spec::HlSpecId, transaction::HlTxTr}; +use reth_revm::context::ContextTr; use revm::{ - context::{Cfg, JournalOutput}, - context_interface::{Block, JournalTr}, - handler::instructions::EthInstructions, - interpreter::interpreter::EthInterpreter, - Context, Database, + context::Cfg, context_interface::Block, handler::instructions::EthInstructions, + interpreter::interpreter::EthInterpreter, Context, Database, }; /// Trait that allows for hl HlEvm to be built. pub trait HlBuilder: Sized { /// Type of the context. - type Context; + type Context: ContextTr; /// Build the hl with an inspector. fn build_hl_with_inspector( @@ -20,13 +18,12 @@ pub trait HlBuilder: Sized { ) -> HlEvmInner>; } -impl HlBuilder for Context +impl HlBuilder for Context where BLOCK: Block, TX: HlTxTr, CFG: Cfg, DB: Database, - JOURNAL: JournalTr, { type Context = Self; diff --git a/src/evm/api/exec.rs b/src/evm/api/exec.rs index 34eea1063..b4944e06f 100644 --- a/src/evm/api/exec.rs +++ b/src/evm/api/exec.rs @@ -1,29 +1,26 @@ use super::HlEvmInner; -use crate::evm::{handler::HlHandler, spec::HlSpecId, transaction::HlTxTr}; +use crate::evm::{spec::HlSpecId, transaction::HlTxTr}; use revm::{ - context::{ContextSetters, JournalOutput}, + context::{result::HaltReason, ContextSetters}, context_interface::{ result::{EVMError, ExecutionResult, ResultAndState}, Cfg, ContextTr, Database, JournalTr, }, - handler::{instructions::EthInstructions, EthFrame, EvmTr, Handler, PrecompileProvider}, - inspector::{InspectCommitEvm, InspectEvm, Inspector, InspectorHandler, JournalExt}, + handler::{instructions::EthInstructions, PrecompileProvider}, + inspector::{InspectCommitEvm, InspectEvm, Inspector, JournalExt}, interpreter::{interpreter::EthInterpreter, InterpreterResult}, + state::EvmState, DatabaseCommit, ExecuteCommitEvm, ExecuteEvm, }; // Type alias for HL context pub trait HlContextTr: - ContextTr, Tx: HlTxTr, Cfg: Cfg> + ContextTr, Tx: HlTxTr, Cfg: Cfg> { } impl HlContextTr for T where - T: ContextTr< - Journal: JournalTr, - Tx: HlTxTr, - Cfg: Cfg, - > + T: ContextTr, Tx: HlTxTr, Cfg: Cfg> { } @@ -36,23 +33,32 @@ where CTX: HlContextTr + ContextSetters, PRECOMPILE: PrecompileProvider, { - type Output = Result>; + type ExecutionResult = ExecutionResult; + type State = EvmState; + type Error = HlError; type Tx = ::Tx; type Block = ::Block; - fn set_tx(&mut self, tx: Self::Tx) { - self.0.ctx.set_tx(tx); + #[inline] + fn transact_one(&mut self, tx: Self::Tx) -> Result { + self.0.transact_one(tx) } + #[inline] + fn finalize(&mut self) -> Self::State { + self.0.finalize() + } + + #[inline] fn set_block(&mut self, block: Self::Block) { - self.0.ctx.set_block(block); + self.0.set_block(block); } - fn replay(&mut self) -> Self::Output { - let mut h = HlHandler::<_, _, EthFrame<_, _, _>>::new(); - h.run(self) + #[inline] + fn replay(&mut self) -> Result, Self::Error> { + self.0.replay() } } @@ -62,13 +68,8 @@ where CTX: HlContextTr + ContextSetters, PRECOMPILE: PrecompileProvider, { - type CommitOutput = Result>; - - fn replay_commit(&mut self) -> Self::CommitOutput { - self.replay().map(|r| { - self.ctx().db().commit(r.state); - r.result - }) + fn commit(&mut self, state: Self::State) { + self.0.commit(state); } } @@ -82,12 +83,11 @@ where type Inspector = INSP; fn set_inspector(&mut self, inspector: Self::Inspector) { - self.0.inspector = inspector; + self.0.set_inspector(inspector); } - fn inspect_replay(&mut self) -> Self::Output { - let mut h = HlHandler::<_, _, EthFrame<_, _, _>>::new(); - h.inspect_run(self) + fn inspect_one_tx(&mut self, tx: Self::Tx) -> Result { + self.0.inspect_one_tx(tx) } } @@ -98,10 +98,4 @@ where INSP: Inspector, PRECOMPILE: PrecompileProvider, { - fn inspect_replay_commit(&mut self) -> Self::CommitOutput { - self.inspect_replay().map(|r| { - self.ctx().db().commit(r.state); - r.result - }) - } } diff --git a/src/evm/api/mod.rs b/src/evm/api/mod.rs index d25c4e911..bdbd50aaa 100644 --- a/src/evm/api/mod.rs +++ b/src/evm/api/mod.rs @@ -1,12 +1,13 @@ use revm::{ - context::{ContextSetters, Evm as EvmCtx}, + context::{ContextSetters, Evm, FrameStack}, context_interface::ContextTr, handler::{ + evm::{ContextDbError, FrameInitResult}, instructions::{EthInstructions, InstructionProvider}, - EthPrecompiles, EvmTr, PrecompileProvider, + EthFrame, EthPrecompiles, EvmTr, FrameInitOrResult, FrameTr, PrecompileProvider, }, inspector::{InspectorEvmTr, JournalExt}, - interpreter::{interpreter::EthInterpreter, Interpreter, InterpreterAction, InterpreterTypes}, + interpreter::{interpreter::EthInterpreter, InterpreterResult}, Inspector, }; @@ -14,19 +15,23 @@ pub mod builder; pub mod ctx; mod exec; -pub struct HlEvmInner, P = EthPrecompiles>( - pub EvmCtx, -); +pub struct HlEvmInner< + CTX: ContextTr, + INSP, + I = EthInstructions, + P = EthPrecompiles, +>(pub Evm>); impl HlEvmInner, EthPrecompiles> { pub fn new(ctx: CTX, inspector: INSP) -> Self { - Self(EvmCtx { + Self(Evm { ctx, inspector, instruction: EthInstructions::new_mainnet(), precompiles: EthPrecompiles::default(), + frame_stack: FrameStack::new(), }) } @@ -42,12 +47,9 @@ impl impl InspectorEvmTr for HlEvmInner where CTX: ContextTr + ContextSetters, - I: InstructionProvider< - Context = CTX, - InterpreterTypes: InterpreterTypes, - >, + I: InstructionProvider, INSP: Inspector, - P: PrecompileProvider, + P: PrecompileProvider, { type Inspector = INSP; @@ -59,41 +61,29 @@ where (&mut self.0.ctx, &mut self.0.inspector) } - fn run_inspect_interpreter( + fn ctx_inspector_frame( &mut self, - interpreter: &mut Interpreter< - ::InterpreterTypes, - >, - ) -> <::InterpreterTypes as InterpreterTypes>::Output - { - self.0.run_inspect_interpreter(interpreter) + ) -> (&mut Self::Context, &mut Self::Inspector, &mut Self::Frame) { + (&mut self.0.ctx, &mut self.0.inspector, self.0.frame_stack.get()) + } + + fn ctx_inspector_frame_instructions( + &mut self, + ) -> (&mut Self::Context, &mut Self::Inspector, &mut Self::Frame, &mut Self::Instructions) { + (&mut self.0.ctx, &mut self.0.inspector, self.0.frame_stack.get(), &mut self.0.instruction) } } impl EvmTr for HlEvmInner where CTX: ContextTr, - I: InstructionProvider< - Context = CTX, - InterpreterTypes: InterpreterTypes, - >, - P: PrecompileProvider, + I: InstructionProvider, + P: PrecompileProvider, { type Context = CTX; type Instructions = I; type Precompiles = P; - - fn run_interpreter( - &mut self, - interpreter: &mut Interpreter< - ::InterpreterTypes, - >, - ) -> <::InterpreterTypes as InterpreterTypes>::Output - { - let context = &mut self.0.ctx; - let instructions = &mut self.0.instruction; - interpreter.run_plain(instructions.instruction_table(), context) - } + type Frame = EthFrame; fn ctx(&mut self) -> &mut Self::Context { &mut self.0.ctx @@ -110,6 +100,30 @@ where fn ctx_precompiles(&mut self) -> (&mut Self::Context, &mut Self::Precompiles) { (&mut self.0.ctx, &mut self.0.precompiles) } + + fn frame_stack(&mut self) -> &mut FrameStack { + &mut self.0.frame_stack + } + + fn frame_init( + &mut self, + frame_input: ::FrameInit, + ) -> Result, ContextDbError> { + self.0.frame_init(frame_input) + } + + fn frame_run( + &mut self, + ) -> Result, ContextDbError> { + self.0.frame_run() + } + + fn frame_return_result( + &mut self, + result: ::FrameResult, + ) -> Result::FrameResult>, ContextDbError> { + self.0.frame_return_result(result) + } } // #[cfg(test)] diff --git a/src/evm/handler.rs b/src/evm/handler.rs index c11c6ec3e..8b1378917 100644 --- a/src/evm/handler.rs +++ b/src/evm/handler.rs @@ -1,122 +1 @@ -//! EVM Handler related to Hl chain -use super::{spec::HlSpecId, transaction::HlTxTr}; -use revm::{ - context::{ - result::{ExecutionResult, HaltReason}, - Cfg, ContextTr, JournalOutput, LocalContextTr, - }, - context_interface::{result::ResultAndState, JournalTr}, - handler::{handler::EvmTrError, EvmTr, Frame, FrameResult, Handler, MainnetHandler}, - inspector::{Inspector, InspectorEvmTr, InspectorFrame, InspectorHandler}, - interpreter::{interpreter::EthInterpreter, FrameInput, SuccessOrHalt}, -}; - -pub struct HlHandler { - pub mainnet: MainnetHandler, -} - -impl HlHandler { - pub fn new() -> Self { - Self { mainnet: MainnetHandler::default() } - } -} - -impl Default for HlHandler { - fn default() -> Self { - Self::new() - } -} - -pub trait HlContextTr: - ContextTr, Tx: HlTxTr, Cfg: Cfg> -{ -} - -impl HlContextTr for T where - T: ContextTr< - Journal: JournalTr, - Tx: HlTxTr, - Cfg: Cfg, - > -{ -} - -impl Handler for HlHandler -where - EVM: EvmTr, - ERROR: EvmTrError, - FRAME: Frame, -{ - type Evm = EVM; - type Error = ERROR; - type Frame = FRAME; - type HaltReason = HaltReason; - - fn validate_initial_tx_gas( - &self, - evm: &Self::Evm, - ) -> Result { - self.mainnet.validate_initial_tx_gas(evm) - } - - fn output( - &self, - evm: &mut Self::Evm, - result: ::FrameResult, - ) -> Result, Self::Error> { - let ctx = evm.ctx(); - ctx.error(); - - // used gas with refund calculated. - let gas_refunded = result.gas().refunded() as u64; - let final_gas_used = result.gas().spent() - gas_refunded; - let output = result.output(); - let instruction_result = result.into_interpreter_result(); - - // Reset journal and return present state. - let JournalOutput { state, logs } = evm.ctx().journal().finalize(); - - let result = match SuccessOrHalt::from(instruction_result.result) { - SuccessOrHalt::Success(reason) => ExecutionResult::Success { - reason, - gas_used: final_gas_used, - gas_refunded, - logs, - output, - }, - SuccessOrHalt::Revert => { - ExecutionResult::Revert { gas_used: final_gas_used, output: output.into_data() } - } - SuccessOrHalt::Halt(reason) => { - ExecutionResult::Halt { reason, gas_used: final_gas_used } - } - // Only two internal return flags. - flag @ (SuccessOrHalt::FatalExternalError | SuccessOrHalt::Internal(_)) => { - panic!( - "Encountered unexpected internal return flag: {flag:?} with instruction result: {instruction_result:?}" - ) - } - }; - - // Clear local context - evm.ctx().local().clear(); - // Clear journal - evm.ctx().journal().clear(); - - Ok(ResultAndState { result, state }) - } -} - -impl InspectorHandler for HlHandler -where - EVM: InspectorEvmTr< - Context: HlContextTr, - Inspector: Inspector<<::Evm as EvmTr>::Context, EthInterpreter>, - >, - ERROR: EvmTrError, - FRAME: Frame - + InspectorFrame, -{ - type IT = EthInterpreter; -} diff --git a/src/evm/transaction.rs b/src/evm/transaction.rs index bd2379dc6..8f1dc6702 100644 --- a/src/evm/transaction.rs +++ b/src/evm/transaction.rs @@ -130,7 +130,7 @@ impl FromRecoveredTx for HlTxEnv { impl FromTxWithEncoded for HlTxEnv { fn from_encoded_tx(tx: &TransactionSigned, sender: Address, _encoded: Bytes) -> Self { - let base = match tx.clone().0.into_typed_transaction() { + let base = match tx.clone().into_inner().into_typed_transaction() { reth_primitives::Transaction::Legacy(tx) => TxEnv::from_recovered_tx(&tx, sender), reth_primitives::Transaction::Eip2930(tx) => TxEnv::from_recovered_tx(&tx, sender), reth_primitives::Transaction::Eip1559(tx) => TxEnv::from_recovered_tx(&tx, sender), diff --git a/src/node/consensus/mod.rs b/src/node/consensus/mod.rs index bc4588283..e81b62cc3 100644 --- a/src/node/consensus/mod.rs +++ b/src/node/consensus/mod.rs @@ -135,7 +135,9 @@ impl Consensus for HlConsensus FullConsensus for HlConsensus { +impl + HlHardforks> + FullConsensus for HlConsensus +{ fn validate_block_post_execution( &self, block: &RecoveredBlock, diff --git a/src/node/evm/config.rs b/src/node/evm/config.rs index 631387291..13085fa03 100644 --- a/src/node/evm/config.rs +++ b/src/node/evm/config.rs @@ -14,7 +14,6 @@ use alloy_consensus::{BlockHeader, Header, Transaction as _, TxReceipt, EMPTY_OM use alloy_eips::merge::BEACON_NONCE; use alloy_primitives::{Log, U256}; use reth_chainspec::{EthChainSpec, EthereumHardforks, Hardforks}; -use reth_ethereum_forks::EthereumHardfork; use reth_evm::{ block::{BlockExecutionError, BlockExecutorFactory, BlockExecutorFor}, eth::{receipt_builder::ReceiptBuilder, EthBlockExecutionCtx}, @@ -67,7 +66,7 @@ where .. } = input; - let timestamp = evm_env.block_env.timestamp; + let timestamp = evm_env.block_env.timestamp.saturating_to(); // Filter out system tx receipts let transactions_for_root: Vec = @@ -122,7 +121,7 @@ where mix_hash: evm_env.block_env.prevrandao.unwrap_or_default(), nonce: BEACON_NONCE.into(), base_fee_per_gas: Some(evm_env.block_env.basefee), - number: evm_env.block_env.number, + number: evm_env.block_env.number.saturating_to(), gas_limit: evm_env.block_env.gas_limit, difficulty: evm_env.block_env.difficulty, gas_used: *gas_used, @@ -264,8 +263,6 @@ where } } -const EIP1559_INITIAL_BASE_FEE: u64 = 0; - impl ConfigureEvm for HlEvmConfig where Self: Send + Sync + Unpin + Clone + 'static, @@ -297,7 +294,7 @@ where CfgEnv::new().with_chain_id(self.chain_spec().chain().id()).with_spec(spec); if let Some(blob_params) = &blob_params { - cfg_env.set_blob_max_count(blob_params.max_blob_count); + cfg_env.set_max_blobs_per_tx(blob_params.max_blobs_per_tx); } // TODO: enable only for system transactions @@ -315,9 +312,9 @@ where let eth_spec = spec.into_eth_spec(); let block_env = BlockEnv { - number: header.number(), + number: U256::from(header.number()), beneficiary: header.beneficiary(), - timestamp: header.timestamp(), + timestamp: U256::from(header.timestamp()), difficulty: if eth_spec >= SpecId::MERGE { U256::ZERO } else { header.difficulty() }, prevrandao: if eth_spec >= SpecId::MERGE { header.mix_hash() } else { None }, gas_limit: header.gas_limit(), @@ -346,43 +343,19 @@ where // if the parent block did not have excess blob gas (i.e. it was pre-cancun), but it is // cancun now, we need to set the excess blob gas to the default value(0) - let blob_excess_gas_and_price = parent - .maybe_next_block_excess_blob_gas( - self.chain_spec().blob_params_at_timestamp(attributes.timestamp), - ) - .or_else(|| (spec_id.into_eth_spec().is_enabled_in(SpecId::CANCUN)).then_some(0)) - .map(|gas| BlobExcessGasAndPrice::new(gas, false)); + let blob_excess_gas_and_price = spec_id + .into_eth_spec() + .is_enabled_in(SpecId::CANCUN) + .then_some(BlobExcessGasAndPrice { excess_blob_gas: 0, blob_gasprice: 0 }); - let mut basefee = parent.next_block_base_fee( + let basefee = parent.next_block_base_fee( self.chain_spec().base_fee_params_at_timestamp(attributes.timestamp), ); - let mut gas_limit = U256::from(parent.gas_limit); - - // If we are on the London fork boundary, we need to multiply the parent's gas limit by the - // elasticity multiplier to get the new gas limit. - if self - .chain_spec() - .inner - .fork(EthereumHardfork::London) - .transitions_at_block(parent.number + 1) - { - let elasticity_multiplier = self - .chain_spec() - .base_fee_params_at_timestamp(attributes.timestamp) - .elasticity_multiplier; - - // multiply the gas limit by the elasticity multiplier - gas_limit *= U256::from(elasticity_multiplier); - - // set the base fee to the initial base fee from the EIP-1559 spec - basefee = Some(EIP1559_INITIAL_BASE_FEE) - } - let block_env = BlockEnv { - number: parent.number() + 1, + number: U256::from(parent.number() + 1), beneficiary: attributes.suggested_fee_recipient, - timestamp: attributes.timestamp, + timestamp: U256::from(attributes.timestamp), difficulty: U256::ZERO, prevrandao: Some(attributes.prev_randao), gas_limit: attributes.gas_limit, diff --git a/src/node/evm/executor.rs b/src/node/evm/executor.rs index b8597cbed..4f0d22742 100644 --- a/src/node/evm/executor.rs +++ b/src/node/evm/executor.rs @@ -16,8 +16,8 @@ use reth_evm::{ block::{BlockValidationError, CommitChanges}, eth::receipt_builder::ReceiptBuilder, execute::{BlockExecutionError, BlockExecutor}, - precompiles::{DynPrecompile, PrecompilesMap}, - Database, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, OnStateHook, RecoveredTx, + precompiles::{DynPrecompile, PrecompileInput, PrecompilesMap}, + Database, Evm, FromRecoveredTx, FromTxWithEncoded, IntoTxEnv, OnStateHook, }; use reth_provider::BlockExecutionResult; use reth_revm::State; @@ -133,24 +133,13 @@ where fn execute_transaction_with_commit_condition( &mut self, - _tx: impl ExecutableTx, - _f: impl FnOnce(&ExecutionResult<::HaltReason>) -> CommitChanges, + tx: impl ExecutableTx, + f: impl FnOnce(&ExecutionResult<::HaltReason>) -> CommitChanges, ) -> Result, BlockExecutionError> { - Ok(Some(0)) - } - - fn execute_transaction_with_result_closure( - &mut self, - tx: impl ExecutableTx - + IntoTxEnv<::Tx> - + RecoveredTx, - f: impl for<'b> FnOnce(&'b ExecutionResult<::HaltReason>), - ) -> Result { - // Check if it's a system transaction - // let signer = tx.signer(); - // let is_system_transaction = is_system_transaction(tx.tx()); - + // 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 = self.evm.block().gas_limit - self.gas_used; + if tx.tx().gas_limit() > block_available_gas { return Err(BlockValidationError::TransactionGasLimitMoreThanAvailableBlockGas { transaction_gas_limit: tx.tx().gas_limit(), @@ -158,25 +147,33 @@ where } .into()); } - let result_and_state = self + + // Execute transaction. + let ResultAndState { result, mut state } = self .evm .transact(tx) .map_err(|err| BlockExecutionError::evm(err, tx.tx().trie_hash()))?; - let ResultAndState { result, mut state } = result_and_state; - f(&result); + + if !f(&result).should_commit() { + return Ok(None); + } + let gas_used = result.gas_used(); + + // append gas used if !is_system_transaction(tx.tx()) { self.gas_used += gas_used; } // apply patches after patch_mainnet_after_tx( - self.evm.block().number, + self.evm.block().number.saturating_to(), self.receipts.len() as u64, is_system_transaction(tx.tx()), &mut state, )?; + // Push transaction changeset and calculate header bloom filter for receipt. self.receipts.push(self.receipt_builder.build_receipt(ReceiptBuilderCtx { tx: tx.tx(), evm: &self.evm, @@ -185,9 +182,10 @@ where cumulative_gas_used: self.gas_used, })); + // Commit the state changes. self.evm.db_mut().commit(state); - Ok(gas_used) + Ok(Some(gas_used)) } fn finish(self) -> Result<(Self::Evm, BlockExecutionResult), BlockExecutionError> { @@ -229,8 +227,8 @@ where for (address, precompile) in ctx.read_precompile_calls.iter() { let precompile = precompile.clone(); precompiles_mut.apply_precompile(address, |_| { - Some(DynPrecompile::from(move |data: &[u8], gas: u64| { - run_precompile(&precompile, data, gas) + Some(DynPrecompile::from(move |input: PrecompileInput| -> PrecompileResult { + run_precompile(&precompile, input.data, input.gas) })) }); } diff --git a/src/node/evm/factory.rs b/src/node/evm/factory.rs index 8655fff9a..843ae2192 100644 --- a/src/node/evm/factory.rs +++ b/src/node/evm/factory.rs @@ -7,8 +7,8 @@ use crate::evm::{ spec::HlSpecId, transaction::HlTxEnv, }; -use reth_evm::{precompiles::PrecompilesMap, EvmEnv, EvmFactory}; -use reth_revm::{Context, Database}; +use reth_evm::{precompiles::PrecompilesMap, Database, EvmEnv, EvmFactory}; +use reth_revm::Context; use revm::{ context::{ result::{EVMError, HaltReason}, @@ -25,16 +25,15 @@ use revm::{ pub struct HlEvmFactory; impl EvmFactory for HlEvmFactory { - type Evm, I: Inspector>> = - HlEvm; - type Context> = HlContext; + type Evm>> = HlEvm; + type Context = HlContext; type Tx = HlTxEnv; type Error = EVMError; type HaltReason = HaltReason; type Spec = HlSpecId; type Precompiles = PrecompilesMap; - fn create_evm>( + fn create_evm( &self, db: DB, input: EvmEnv, diff --git a/src/node/evm/mod.rs b/src/node/evm/mod.rs index b1ce8ee08..1a4796002 100644 --- a/src/node/evm/mod.rs +++ b/src/node/evm/mod.rs @@ -97,8 +97,7 @@ where tx: Self::Tx, ) -> Result, Self::Error> { if self.inspect { - self.inner.set_tx(tx); - self.inner.inspect_replay() + self.inner.inspect_tx(tx) } else { self.inner.transact(tx) } diff --git a/src/node/mod.rs b/src/node/mod.rs index 76cf29b15..d59850870 100644 --- a/src/node/mod.rs +++ b/src/node/mod.rs @@ -139,7 +139,7 @@ where inner: BlockBody { transactions: transactions .into_transactions() - .map(|tx| TransactionSigned(tx.inner.into_inner().into())) + .map(|tx| TransactionSigned::Default(tx.inner.into_inner().into())) .collect(), ommers: Default::default(), withdrawals, diff --git a/src/node/primitives/tx_wrapper.rs b/src/node/primitives/tx_wrapper.rs index 223ba5726..bbc60b23f 100644 --- a/src/node/primitives/tx_wrapper.rs +++ b/src/node/primitives/tx_wrapper.rs @@ -1,18 +1,13 @@ //! HlNodePrimitives::TransactionSigned; it's the same as ethereum transaction type, //! except that it supports pseudo signer for system transactions. -use std::hash::Hasher; - use alloy_consensus::{ - crypto::RecoveryError, EthereumTxEnvelope, Signed, Transaction as TransactionTrait, TxEip1559, - TxEip2930, TxEip4844, TxEip4844WithSidecar, TxEip7702, TxEnvelope, TxLegacy, TxType, - TypedTransaction, + crypto::RecoveryError, error::ValueError, EthereumTxEnvelope, SignableTransaction, Signed, + Transaction as TransactionTrait, TransactionEnvelope, TxEip1559, TxEip2930, TxEip4844, + TxEip4844WithSidecar, TxEip7702, TxLegacy, TxType, TypedTransaction, }; -use alloy_eips::{ - eip2718::Eip2718Result, eip7594::BlobTransactionSidecarVariant, eip7702::SignedAuthorization, - Decodable2718, Encodable2718, Typed2718, -}; -use alloy_primitives::{address, Address, Bytes, TxHash, TxKind, Uint, B256, U256}; -use alloy_rpc_types::AccessList; +use alloy_eips::{eip7594::BlobTransactionSidecarVariant, Encodable2718}; +use alloy_primitives::{address, Address, TxHash, U256}; +use alloy_rpc_types::{Transaction, TransactionInfo, TransactionRequest}; use alloy_signer::Signature; use reth_codecs::alloy::transaction::FromTxCompact; use reth_db::{ @@ -24,13 +19,22 @@ use reth_primitives::Recovered; use reth_primitives_traits::{ serde_bincode_compat::SerdeBincodeCompat, InMemorySize, SignedTransaction, SignerRecoverable, }; -use revm::context::TxEnv; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use reth_rpc_eth_api::{ + transaction::{FromConsensusTx, TryIntoTxEnv}, + EthTxEnvError, TryIntoSimTx, +}; +use revm::context::{BlockEnv, CfgEnv, TxEnv}; + +use crate::evm::transaction::HlTxEnv; type InnerType = alloy_consensus::EthereumTxEnvelope; -#[derive(Debug, Clone, Eq)] -pub struct TransactionSigned(pub InnerType); +#[derive(Debug, Clone, TransactionEnvelope)] +#[envelope(tx_type_name = HlTxType)] +pub enum TransactionSigned { + #[envelope(flatten)] + Default(InnerType), +} fn s_to_address(s: U256) -> Address { if s == U256::ONE { @@ -46,20 +50,20 @@ impl SignerRecoverable for TransactionSigned { if self.is_system_transaction() { return Ok(s_to_address(self.signature().s())); } - self.0.recover_signer() + self.inner().recover_signer() } fn recover_signer_unchecked(&self) -> Result { if self.is_system_transaction() { return Ok(s_to_address(self.signature().s())); } - self.0.recover_signer_unchecked() + self.inner().recover_signer_unchecked() } } impl SignedTransaction for TransactionSigned { fn tx_hash(&self) -> &TxHash { - self.0.tx_hash() + self.inner().tx_hash() } fn recover_signer_unchecked_with_buf( @@ -69,8 +73,7 @@ impl SignedTransaction for TransactionSigned { if self.is_system_transaction() { return Ok(s_to_address(self.signature().s())); } - - self.0.recover_signer_unchecked_with_buf(buf) + self.inner().recover_signer_unchecked_with_buf(buf) } } @@ -78,30 +81,12 @@ impl SignedTransaction for TransactionSigned { // NOTE: All lines below are just wrappers for the inner type. // ------------------------------------------------------------ -impl Serialize for TransactionSigned { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - self.0.serialize(serializer) - } -} - -impl<'de> Deserialize<'de> for TransactionSigned { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - Ok(Self(InnerType::deserialize(deserializer)?)) - } -} - macro_rules! impl_from_signed { ($($tx:ident),*) => { $( impl From> for TransactionSigned { fn from(value: Signed<$tx>) -> Self { - Self(value.into()) + Self::Default(value.into()) } } )* @@ -113,139 +98,7 @@ impl_from_signed!(TxLegacy, TxEip2930, TxEip1559, TxEip7702, TypedTransaction); impl InMemorySize for TransactionSigned { #[inline] fn size(&self) -> usize { - self.0.size() - } -} - -impl alloy_rlp::Encodable for TransactionSigned { - fn encode(&self, out: &mut dyn alloy_rlp::bytes::BufMut) { - self.0.encode(out); - } - - fn length(&self) -> usize { - self.0.length() - } -} - -impl alloy_rlp::Decodable for TransactionSigned { - fn decode(buf: &mut &[u8]) -> alloy_rlp::Result { - Ok(Self(TxEnvelope::decode(buf)?.into())) - } -} - -impl Encodable2718 for TransactionSigned { - fn type_flag(&self) -> Option { - self.0.type_flag() - } - - fn encode_2718_len(&self) -> usize { - self.0.encode_2718_len() - } - - fn encode_2718(&self, out: &mut dyn alloy_rlp::BufMut) { - self.0.encode_2718(out) - } -} - -impl Decodable2718 for TransactionSigned { - fn typed_decode(ty: u8, buf: &mut &[u8]) -> Eip2718Result { - Ok(Self(TxEnvelope::typed_decode(ty, buf)?.into())) - } - - fn fallback_decode(buf: &mut &[u8]) -> Eip2718Result { - Ok(Self(TxEnvelope::fallback_decode(buf)?.into())) - } -} - -impl Typed2718 for TransactionSigned { - fn ty(&self) -> u8 { - self.0.ty() - } -} - -impl PartialEq for TransactionSigned { - fn eq(&self, other: &Self) -> bool { - self.0 == other.0 - } -} - -impl core::hash::Hash for TransactionSigned { - fn hash(&self, state: &mut H) { - core::hash::Hash::hash(&self.0, state); - } -} - -impl TransactionTrait for TransactionSigned { - fn chain_id(&self) -> Option { - self.0.chain_id() - } - - fn nonce(&self) -> u64 { - self.0.nonce() - } - - fn gas_limit(&self) -> u64 { - self.0.gas_limit() - } - - fn gas_price(&self) -> Option { - self.0.gas_price() - } - - fn max_fee_per_gas(&self) -> u128 { - self.0.max_fee_per_gas() - } - - fn max_priority_fee_per_gas(&self) -> Option { - self.0.max_priority_fee_per_gas() - } - - fn max_fee_per_blob_gas(&self) -> Option { - self.0.max_fee_per_blob_gas() - } - - fn priority_fee_or_price(&self) -> u128 { - self.0.priority_fee_or_price() - } - - fn effective_gas_price(&self, base_fee: Option) -> u128 { - self.0.effective_gas_price(base_fee) - } - - fn effective_tip_per_gas(&self, base_fee: u64) -> Option { - self.0.effective_tip_per_gas(base_fee) - } - - fn is_dynamic_fee(&self) -> bool { - self.0.is_dynamic_fee() - } - - fn kind(&self) -> TxKind { - self.0.kind() - } - - fn is_create(&self) -> bool { - self.0.is_create() - } - - fn value(&self) -> Uint<256, 4> { - self.0.value() - } - - fn input(&self) -> &Bytes { - self.0.input() - } - - fn access_list(&self) -> Option<&AccessList> { - self.0.access_list() - } - - fn blob_versioned_hashes(&self) -> Option<&[B256]> { - self.0.blob_versioned_hashes() - } - - fn authorization_list(&self) -> Option<&[SignedAuthorization]> { - self.0.authorization_list() + self.inner().size() } } @@ -254,23 +107,23 @@ impl reth_codecs::Compact for TransactionSigned { where B: bytes::BufMut + AsMut<[u8]>, { - self.0.to_compact(buf) + self.inner().to_compact(buf) } fn from_compact(buf: &[u8], _len: usize) -> (Self, &[u8]) { let (tx, hash) = InnerType::from_compact(buf, _len); - (Self(tx), hash) + (Self::Default(tx), hash) } } pub fn convert_recovered(value: Recovered) -> Recovered { let (tx, signer) = value.into_parts(); - Recovered::new_unchecked(tx.0, signer) + Recovered::new_unchecked(tx.into_inner(), signer) } impl FromRecoveredTx for TxEnv { fn from_recovered_tx(tx: &TransactionSigned, sender: Address) -> Self { - TxEnv::from_recovered_tx(&tx.0, sender) + TxEnv::from_recovered_tx(&tx.inner(), sender) } } @@ -282,27 +135,41 @@ impl FromTxCompact for TransactionSigned { Self: Sized, { let (tx, buf) = InnerType::from_tx_compact(buf, tx_type, signature); - (Self(tx), buf) + (Self::Default(tx), buf) } } impl reth_codecs::alloy::transaction::Envelope for TransactionSigned { fn signature(&self) -> &Signature { - self.0.signature() + self.inner().signature() } fn tx_type(&self) -> Self::TxType { - self.0.tx_type() + self.inner().tx_type() } } impl TransactionSigned { - pub const fn signature(&self) -> &Signature { - self.0.signature() + #[inline] + pub fn into_inner(self) -> InnerType { + match self { + Self::Default(tx) => tx, + } + } + + #[inline] + pub const fn inner(&self) -> &InnerType { + match self { + Self::Default(tx) => tx, + } + } + + pub fn signature(&self) -> &Signature { + self.inner().signature() } pub const fn tx_type(&self) -> TxType { - self.0.tx_type() + self.inner().tx_type() } pub fn is_system_transaction(&self) -> bool { @@ -329,7 +196,7 @@ pub type BlockBody = alloy_consensus::BlockBody; impl From for EthereumTxEnvelope { fn from(value: TransactionSigned) -> Self { - value.0 + value.into_inner() } } @@ -337,7 +204,7 @@ impl TryFrom for EthereumTxEnvelope { type Error = >>::Error; fn try_from(value: TransactionSigned) -> Result { - value.0.try_into() + value.into_inner().try_into() } } @@ -349,7 +216,7 @@ impl TryFrom >>::Error; fn try_from(value: TransactionSigned) -> Result { - value.0.try_into() + value.into_inner().try_into() } } @@ -359,7 +226,7 @@ impl From fn from( value: EthereumTxEnvelope>, ) -> Self { - Self(value.into()) + Self::Default(value.into()) } } @@ -367,23 +234,23 @@ impl Compress for TransactionSigned { type Compressed = Vec; fn compress(self) -> Self::Compressed { - self.0.compress() + self.into_inner().compress() } fn compress_to_buf>(&self, buf: &mut B) { - self.0.compress_to_buf(buf); + self.inner().compress_to_buf(buf); } } impl Decompress for TransactionSigned { fn decompress(value: &[u8]) -> Result { - Ok(Self(InnerType::decompress(value)?)) + Ok(Self::Default(InnerType::decompress(value)?)) } } pub fn convert_to_eth_block_body(value: BlockBody) -> alloy_consensus::BlockBody { alloy_consensus::BlockBody { - transactions: value.transactions.into_iter().map(|tx| tx.0).collect(), + transactions: value.transactions.into_iter().map(|tx| tx.into_inner()).collect(), ommers: value.ommers, withdrawals: value.withdrawals, } @@ -391,8 +258,41 @@ pub fn convert_to_eth_block_body(value: BlockBody) -> alloy_consensus::BlockBody pub fn convert_to_hl_block_body(value: alloy_consensus::BlockBody) -> BlockBody { BlockBody { - transactions: value.transactions.into_iter().map(TransactionSigned).collect(), + transactions: value.transactions.into_iter().map(TransactionSigned::Default).collect(), ommers: value.ommers, withdrawals: value.withdrawals, } } + +impl TryIntoSimTx for TransactionRequest { + fn try_into_sim_tx(self) -> Result> { + let tx = self + .build_typed_tx() + .map_err(|request| ValueError::new(request, "Required fields missing"))?; + + // Create an empty signature for the transaction. + let signature = Signature::new(Default::default(), Default::default(), false); + + Ok(tx.into_signed(signature).into()) + } +} + +impl TryIntoTxEnv> for TransactionRequest { + type Err = EthTxEnvError; + + fn try_into_tx_env( + self, + cfg_env: &CfgEnv, + block_env: &BlockEnv, + ) -> Result, Self::Err> { + Ok(HlTxEnv::new(self.clone().try_into_tx_env(cfg_env, block_env)?)) + } +} + +impl FromConsensusTx for Transaction { + type TxInfo = TransactionInfo; + + fn from_consensus_tx(tx: TransactionSigned, signer: Address, tx_info: Self::TxInfo) -> Self { + Self::from_transaction(Recovered::new_unchecked(tx.into_inner().into(), signer), tx_info) + } +} diff --git a/src/node/rpc/block.rs b/src/node/rpc/block.rs index b4a892fff..98495ce66 100644 --- a/src/node/rpc/block.rs +++ b/src/node/rpc/block.rs @@ -3,7 +3,6 @@ use crate::{ node::{ primitives::TransactionSigned, rpc::{HlEthApi, HlNodeCore}, - HlBlock, HlPrimitives, }, }; use alloy_consensus::{BlockHeader, ReceiptEnvelope, TxType}; @@ -16,8 +15,7 @@ use reth::{ rpc::{ eth::EthApiTypes, server_types::eth::{ - error::FromEvmError, receipt::build_receipt, EthApiError, EthReceiptBuilder, - PendingBlock, + error::FromEvmError, receipt::build_receipt, EthApiError, PendingBlock, }, types::{BlockId, TransactionReceipt}, }, @@ -25,7 +23,8 @@ use reth::{ }; use reth_chainspec::{EthChainSpec, EthereumHardforks}; use reth_evm::{ConfigureEvm, NextBlockEnvAttributes}; -use reth_primitives_traits::BlockBody as _; +use reth_primitives::NodePrimitives; +use reth_primitives_traits::{BlockBody as _, SignedTransaction as _}; use reth_provider::{ BlockReader, ChainSpecProvider, HeaderProvider, ProviderBlock, ProviderReceipt, ProviderTx, StateProviderFactory, @@ -33,7 +32,7 @@ use reth_provider::{ use reth_rpc_eth_api::{ helpers::{EthBlocks, LoadBlock, LoadPendingBlock, LoadReceipt, SpawnBlocking}, types::RpcTypes, - FromEthApiError, RpcNodeCore, RpcNodeCoreExt, RpcReceipt, + FromEthApiError, RpcConvert, RpcNodeCore, RpcNodeCoreExt, RpcReceipt, }; impl EthBlocks for HlEthApi @@ -68,7 +67,7 @@ where .enumerate() .map(|(idx, (tx, receipt))| { let meta = TransactionMeta { - tx_hash: *tx.0.tx_hash(), + tx_hash: *tx.tx_hash(), index: idx as u64, block_hash, block_number, @@ -76,8 +75,15 @@ where excess_blob_gas, timestamp, }; - EthReceiptBuilder::new(&tx.0, meta, receipt, &receipts, blob_params) - .map(|builder| builder.build()) + build_receipt(tx, meta, receipt, &receipts, blob_params, |receipt_with_bloom| { + match receipt.tx_type { + TxType::Legacy => ReceiptEnvelope::Legacy(receipt_with_bloom), + TxType::Eip2930 => ReceiptEnvelope::Eip2930(receipt_with_bloom), + TxType::Eip1559 => ReceiptEnvelope::Eip1559(receipt_with_bloom), + TxType::Eip4844 => ReceiptEnvelope::Eip4844(receipt_with_bloom), + TxType::Eip7702 => ReceiptEnvelope::Eip7702(receipt_with_bloom), + } + }) }) .collect::, Self::Error>>() .map(Some); @@ -108,17 +114,23 @@ where Header = alloy_rpc_types_eth::Header>, >, Error: FromEvmError, + RpcConvert: RpcConvert, >, N: RpcNodeCore< - Provider: BlockReaderIdExt< - Transaction = TransactionSigned, - Block = HlBlock, - Receipt = Receipt, - Header = alloy_consensus::Header, - > + ChainSpecProvider + Provider: BlockReaderIdExt + + ChainSpecProvider + StateProviderFactory, Pool: TransactionPool>>, - Evm: ConfigureEvm, + Evm: ConfigureEvm< + Primitives = ::Primitives, + NextBlockEnvCtx: From, + >, + Primitives: NodePrimitives< + BlockHeader = ProviderHeader, + SignedTx = ProviderTx, + Receipt = ProviderReceipt, + Block = ProviderBlock, + >, >, { #[inline] @@ -141,7 +153,8 @@ where gas_limit: parent.gas_limit(), parent_beacon_block_root: parent.parent_beacon_block_root(), withdrawals: None, - }) + } + .into()) } } diff --git a/src/node/rpc/call.rs b/src/node/rpc/call.rs index a1eaebfce..b38511f65 100644 --- a/src/node/rpc/call.rs +++ b/src/node/rpc/call.rs @@ -1,21 +1,15 @@ use super::{HlEthApi, HlNodeCore}; use crate::evm::transaction::HlTxEnv; -use alloy_consensus::TxType; -use alloy_primitives::{TxKind, U256}; use alloy_rpc_types::TransactionRequest; -use alloy_signer::Either; -use reth::rpc::server_types::eth::{revm_utils::CallFees, EthApiError, RpcInvalidTransactionError}; -use reth_evm::{block::BlockExecutorFactory, ConfigureEvm, EvmEnv, EvmFactory, SpecFor}; +use reth::rpc::server_types::eth::EthApiError; +use reth_evm::{block::BlockExecutorFactory, ConfigureEvm, EvmFactory, TxEnvFor}; use reth_primitives::NodePrimitives; -use reth_provider::{ProviderHeader, ProviderTx}; +use reth_provider::{ProviderError, ProviderHeader, ProviderTx}; use reth_rpc_eth_api::{ helpers::{estimate::EstimateCall, Call, EthCall, LoadBlock, LoadState, SpawnBlocking}, - FromEthApiError, FromEvmError, FullEthApiTypes, IntoEthApiError, -}; -use revm::{ - context::{Block as _, TxEnv}, - Database, + FromEvmError, FullEthApiTypes, RpcConvert, RpcTypes, }; +use revm::context::TxEnv; impl EthCall for HlEthApi where @@ -44,7 +38,11 @@ where EvmFactory: EvmFactory>, >, >, - Error: FromEvmError, + RpcConvert: RpcConvert, Network = Self::NetworkTypes>, + NetworkTypes: RpcTypes>, + Error: FromEvmError + + From<::Error> + + From, > + SpawnBlocking, Self::Error: From, N: HlNodeCore, @@ -58,107 +56,4 @@ where fn max_simulate_blocks(&self) -> u64 { self.inner.eth_api.max_simulate_blocks() } - - fn create_txn_env( - &self, - evm_env: &EvmEnv>, - request: TransactionRequest, - mut db: impl Database>, - ) -> Result, Self::Error> { - // Ensure that if versioned hashes are set, they're not empty - if request.blob_versioned_hashes.as_ref().is_some_and(|hashes| hashes.is_empty()) { - return Err(RpcInvalidTransactionError::BlobTransactionMissingBlobHashes.into_eth_err()); - } - - let tx_type = if request.authorization_list.is_some() { - TxType::Eip7702 - } else if request.sidecar.is_some() || request.max_fee_per_blob_gas.is_some() { - TxType::Eip4844 - } else if request.max_fee_per_gas.is_some() || request.max_priority_fee_per_gas.is_some() { - TxType::Eip1559 - } else if request.access_list.is_some() { - TxType::Eip2930 - } else { - TxType::Legacy - } as u8; - - let TransactionRequest { - from, - to, - gas_price, - max_fee_per_gas, - max_priority_fee_per_gas, - gas, - value, - input, - nonce, - access_list, - chain_id, - blob_versioned_hashes, - max_fee_per_blob_gas, - authorization_list, - transaction_type: _, - sidecar: _, - } = request; - - let CallFees { max_priority_fee_per_gas, gas_price, max_fee_per_blob_gas } = - CallFees::ensure_fees( - gas_price.map(U256::from), - max_fee_per_gas.map(U256::from), - max_priority_fee_per_gas.map(U256::from), - U256::from(evm_env.block_env.basefee), - blob_versioned_hashes.as_deref(), - max_fee_per_blob_gas.map(U256::from), - evm_env.block_env.blob_gasprice().map(U256::from), - )?; - - let gas_limit = gas.unwrap_or( - // Use maximum allowed gas limit. The reason for this - // is that both Erigon and Geth use pre-configured gas cap even if - // it's possible to derive the gas limit from the block: - // - evm_env.block_env.gas_limit, - ); - - let chain_id = chain_id.unwrap_or(evm_env.cfg_env.chain_id); - - let caller = from.unwrap_or_default(); - - let nonce = if let Some(nonce) = nonce { - nonce - } else { - db.basic(caller).map_err(Into::into)?.map(|acc| acc.nonce).unwrap_or_default() - }; - - let env = TxEnv { - tx_type, - gas_limit, - nonce, - caller, - gas_price: gas_price.saturating_to(), - gas_priority_fee: max_priority_fee_per_gas.map(|v| v.saturating_to()), - kind: to.unwrap_or(TxKind::Create), - value: value.unwrap_or_default(), - data: input - .try_into_unique_input() - .map_err(Self::Error::from_eth_err)? - .unwrap_or_default(), - chain_id: Some(chain_id), - access_list: access_list.unwrap_or_default(), - // EIP-4844 fields - blob_hashes: blob_versioned_hashes.unwrap_or_default(), - max_fee_per_blob_gas: max_fee_per_blob_gas - .map(|v| v.saturating_to()) - .unwrap_or_default(), - // EIP-7702 fields - authorization_list: authorization_list - .unwrap_or_default() - .into_iter() - .map(Either::Left) - .collect(), - }; - - Ok(HlTxEnv::new(env)) - } } diff --git a/src/node/rpc/mod.rs b/src/node/rpc/mod.rs index 695407a9e..42ffaf1f8 100644 --- a/src/node/rpc/mod.rs +++ b/src/node/rpc/mod.rs @@ -20,7 +20,6 @@ use reth::{ }; use reth_evm::ConfigureEvm; use reth_network::NetworkInfo; -use reth_optimism_rpc::eth::EthApiNodeBackend; use reth_primitives::NodePrimitives; use reth_provider::{ BlockNumReader, BlockReader, BlockReaderIdExt, ProviderBlock, ProviderHeader, ProviderReceipt, @@ -31,11 +30,11 @@ use reth_rpc_eth_api::{ AddDevSigners, EthApiSpec, EthFees, EthSigner, EthState, LoadBlock, LoadFee, LoadState, SpawnBlocking, Trace, }, - EthApiTypes, FromEvmError, RpcNodeCore, RpcNodeCoreExt, + EthApiTypes, FromEvmError, RpcConverter, RpcNodeCore, RpcNodeCoreExt, }; use std::{fmt, sync::Arc}; -use crate::HlPrimitives; +use reth_optimism_rpc::eth::EthApiNodeBackend; mod block; mod call; @@ -57,6 +56,8 @@ pub(crate) struct HlEthApiInner { pub struct HlEthApi { /// Gateway to node's core components. pub(crate) inner: Arc>, + /// Converter for RPC types. + tx_resp_builder: RpcConverter, } impl fmt::Debug for HlEthApi { @@ -69,13 +70,14 @@ impl EthApiTypes for HlEthApi where Self: Send + Sync, N: HlNodeCore, + N::Evm: std::fmt::Debug, { type Error = EthApiError; type NetworkTypes = Ethereum; - type TransactionCompat = Self; + type RpcConvert = RpcConverter; - fn tx_resp_builder(&self) -> &Self::TransactionCompat { - self + fn tx_resp_builder(&self) -> &Self::RpcConvert { + &self.tx_resp_builder } } @@ -83,7 +85,7 @@ impl RpcNodeCore for HlEthApi where N: HlNodeCore, { - type Primitives = HlPrimitives; + type Primitives = N::Primitives; type Provider = N::Provider; type Pool = N::Pool; type Evm = ::Evm; @@ -152,6 +154,7 @@ impl SpawnBlocking for HlEthApi where Self: Send + Sync + Clone + 'static, N: HlNodeCore, + N::Evm: std::fmt::Debug, { #[inline] fn io_task_spawner(&self) -> impl TaskSpawner { @@ -189,11 +192,13 @@ where } } -impl LoadState for HlEthApi where +impl LoadState for HlEthApi +where N: HlNodeCore< Provider: StateProviderFactory + ChainSpecProvider, Pool: TransactionPool, - > + >, + N::Evm: std::fmt::Debug, { } @@ -210,7 +215,11 @@ where impl EthFees for HlEthApi where - Self: LoadFee, + Self: LoadFee< + Provider: ChainSpecProvider< + ChainSpec: EthChainSpec
>, + >, + >, N: HlNodeCore, { } @@ -268,6 +277,9 @@ where .proof_permits(ctx.config.proof_permits) .build_inner(); - Ok(HlEthApi { inner: Arc::new(HlEthApiInner { eth_api }) }) + Ok(HlEthApi { + inner: Arc::new(HlEthApiInner { eth_api }), + tx_resp_builder: Default::default(), + }) } } diff --git a/src/node/rpc/transaction.rs b/src/node/rpc/transaction.rs index 4b9ed4b84..79738d100 100644 --- a/src/node/rpc/transaction.rs +++ b/src/node/rpc/transaction.rs @@ -1,28 +1,14 @@ use super::HlNodeCore; -use crate::{ - node::{ - primitives::{tx_wrapper::convert_recovered, TransactionSigned}, - rpc::HlEthApi, - }, - HlPrimitives, -}; -use alloy_network::{Ethereum, Network}; -use alloy_primitives::{Bytes, Signature, B256}; +use crate::node::rpc::HlEthApi; +use alloy_primitives::{Bytes, B256}; use reth::{ - builder::FullNodeComponents, - primitives::{Receipt, Recovered}, - providers::ReceiptProvider, - rpc::{ - eth::helpers::types::EthRpcConverter, - server_types::eth::{utils::recover_raw_transaction, EthApiError}, - types::{TransactionInfo, TransactionRequest}, - }, + rpc::server_types::eth::utils::recover_raw_transaction, transaction_pool::{PoolTransaction, TransactionOrigin, TransactionPool}, }; use reth_provider::{BlockReader, BlockReaderIdExt, ProviderTx, TransactionsProvider}; use reth_rpc_eth_api::{ helpers::{EthSigner, EthTransactions, LoadTransaction, SpawnBlocking}, - FromEthApiError, FullEthApiTypes, RpcNodeCore, RpcNodeCoreExt, TransactionCompat, + FromEthApiError, FullEthApiTypes, RpcNodeCore, RpcNodeCoreExt, }; impl LoadTransaction for HlEthApi @@ -33,41 +19,6 @@ where { } -impl TransactionCompat for HlEthApi -where - N: FullNodeComponents>, -{ - type Primitives = HlPrimitives; - type Transaction = ::TransactionResponse; - - type Error = EthApiError; - - fn fill( - &self, - tx: Recovered, - tx_info: TransactionInfo, - ) -> Result { - let builder = EthRpcConverter::default(); - builder.fill(convert_recovered(tx), tx_info) - } - - fn build_simulate_v1_transaction( - &self, - request: TransactionRequest, - ) -> Result { - let Ok(tx) = request.build_typed_tx() else { - return Err(EthApiError::TransactionConversionError); - }; - - // Create an empty signature for the transaction. - let signature = Signature::new(Default::default(), Default::default(), false); - Ok(TransactionSigned(reth_primitives::TransactionSigned::new_unhashed( - tx.into(), - signature, - ))) - } -} - impl EthTransactions for HlEthApi where Self: LoadTransaction, diff --git a/src/node/storage/mod.rs b/src/node/storage/mod.rs index eab40d5b5..6540a78e8 100644 --- a/src/node/storage/mod.rs +++ b/src/node/storage/mod.rs @@ -139,7 +139,7 @@ where inputs .into_iter() .map(|(header, transactions)| { - (header, transactions.into_iter().map(|tx| tx.0).collect()) + (header, transactions.into_iter().map(|tx| tx.into_inner()).collect()) }) .collect(), )?; diff --git a/src/node/types/reth_compat.rs b/src/node/types/reth_compat.rs index 9c527783d..1d33472a6 100644 --- a/src/node/types/reth_compat.rs +++ b/src/node/types/reth_compat.rs @@ -47,19 +47,19 @@ impl TransactionSigned { fn to_reth_transaction(&self) -> TxSigned { match self.transaction.clone() { Transaction::Legacy(tx) => { - TxSigned(RethTxSigned::Legacy(Signed::new_unhashed(tx, self.signature))) + TxSigned::Default(RethTxSigned::Legacy(Signed::new_unhashed(tx, self.signature))) } Transaction::Eip2930(tx) => { - TxSigned(RethTxSigned::Eip2930(Signed::new_unhashed(tx, self.signature))) + TxSigned::Default(RethTxSigned::Eip2930(Signed::new_unhashed(tx, self.signature))) } Transaction::Eip1559(tx) => { - TxSigned(RethTxSigned::Eip1559(Signed::new_unhashed(tx, self.signature))) + TxSigned::Default(RethTxSigned::Eip1559(Signed::new_unhashed(tx, self.signature))) } Transaction::Eip4844(tx) => { - TxSigned(RethTxSigned::Eip4844(Signed::new_unhashed(tx, self.signature))) + TxSigned::Default(RethTxSigned::Eip4844(Signed::new_unhashed(tx, self.signature))) } Transaction::Eip7702(tx) => { - TxSigned(RethTxSigned::Eip7702(Signed::new_unhashed(tx, self.signature))) + TxSigned::Default(RethTxSigned::Eip7702(Signed::new_unhashed(tx, self.signature))) } } } @@ -104,7 +104,7 @@ fn system_tx_to_reth_transaction(transaction: &SystemTx, chain_id: u64) -> TxSig } }; let signature = Signature::new(U256::from(0x1), s, true); - TxSigned(RethTxSigned::Legacy(Signed::new_unhashed(tx.clone(), signature))) + TxSigned::Default(RethTxSigned::Legacy(Signed::new_unhashed(tx.clone(), signature))) } }