diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8b6a0d6..3f012d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,7 @@ on: env: CARGO_TERM_COLOR: always + LIBZ_SYS_STATIC: 0 jobs: lint: diff --git a/Cargo.lock b/Cargo.lock index 238876e..6a0d06d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,9 +31,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy-chains" -version = "0.2.30" +version = "0.2.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f374d3c6d729268bbe2d0e0ff992bb97898b2df756691a62ee1d5f0506bc39" +checksum = "f4e9e31d834fe25fe991b8884e4b9f0e59db4a97d86e05d1464d6899c013cd62" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -44,9 +44,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4ff99651d46cef43767b5e8262ea228cd05287409ccb0c947cc25e70a952f9" +checksum = "7f16daaf7e1f95f62c6c3bf8a3fc3d78b08ae9777810c0bb5e94966c7cd57ef0" dependencies = [ "alloy-eips", "alloy-primitives", @@ -72,9 +72,9 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a0701b0eda8051a2398591113e7862f807ccdd3315d0b441f06c2a0865a379b" +checksum = "118998d9015332ab1b4720ae1f1e3009491966a0349938a1f43ff45a8a4c6299" dependencies = [ "alloy-consensus", "alloy-eips", @@ -146,9 +146,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def1626eea28d48c6cc0a6f16f34d4af0001906e4f889df6c660b39c86fd044d" +checksum = "e6ef28c9fdad22d4eec52d894f5f2673a0895f1e5ef196734568e68c0f6caca8" dependencies = [ "alloy-eip2124", "alloy-eip2930", @@ -163,19 +163,16 @@ dependencies = [ "c-kzg", "derive_more", "either", - "ethereum_ssz", - "ethereum_ssz_derive", "serde", "serde_with", "sha2", - "thiserror", ] [[package]] name = "alloy-evm" -version = "0.27.2" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ccfe6d724ceabd5518350cfb34f17dd3a6c3cc33579eee94d98101d3a511ff" +checksum = "e13146597a586a4166ac31b192883e08c044272d6b8c43de231ee1f43dd9a115" dependencies = [ "alloy-consensus", "alloy-eips", @@ -186,17 +183,16 @@ dependencies = [ "alloy-sol-types", "auto_impl", "derive_more", - "op-alloy", - "op-revm", "revm", "thiserror", + "tracing", ] [[package]] name = "alloy-genesis" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55d9d1aba3f914f0e8db9e4616ae37f3d811426d95bdccf44e47d0605ab202f6" +checksum = "bbf9480307b09d22876efb67d30cadd9013134c21f3a17ec9f93fd7536d38024" dependencies = [ "alloy-eips", "alloy-primitives", @@ -234,9 +230,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57586581f2008933241d16c3e3f633168b3a5d2738c5c42ea5246ec5e0ef17a" +checksum = "422d110f1c40f1f8d0e5562b0b649c35f345fccb7093d9f02729943dcd1eef71" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -249,9 +245,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b36c2a0ed74e48851f78415ca5b465211bd678891ba11e88fee09eac534bab1" +checksum = "7197a66d94c4de1591cdc16a9bcea5f8cccd0da81b865b49aef97b1b4016e0fa" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -275,9 +271,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "636c8051da58802e757b76c3b65af610b95799f72423dc955737dec73de234fd" +checksum = "eb82711d59a43fdfd79727c99f270b974c784ec4eb5728a0d0d22f26716c87ef" dependencies = [ "alloy-consensus", "alloy-eips", @@ -316,42 +312,6 @@ dependencies = [ "sha3", ] -[[package]] -name = "alloy-provider" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3dd56e2eafe8b1803e325867ac2c8a4c73c9fb5f341ffd8347f9344458c5922" -dependencies = [ - "alloy-chains", - "alloy-consensus", - "alloy-eips", - "alloy-json-rpc", - "alloy-network", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-client", - "alloy-rpc-types-eth", - "alloy-signer", - "alloy-sol-types", - "alloy-transport", - "async-stream", - "async-trait", - "auto_impl", - "dashmap", - "either", - "futures", - "futures-utils-wasm", - "lru", - "parking_lot", - "pin-project", - "serde", - "serde_json", - "thiserror", - "tokio", - "tracing", - "wasmtimer", -] - [[package]] name = "alloy-rlp" version = "0.3.13" @@ -374,31 +334,11 @@ dependencies = [ "syn 2.0.116", ] -[[package]] -name = "alloy-rpc-client" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91577235d341a1bdbee30a463655d08504408a4d51e9f72edbfc5a622829f402" -dependencies = [ - "alloy-json-rpc", - "alloy-primitives", - "alloy-transport", - "futures", - "pin-project", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tower", - "tracing", - "wasmtimer", -] - [[package]] name = "alloy-rpc-types-any" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73234a141ecce14e2989748c04fcac23deee67a445e2c4c167cfb42d4dacd1b6" +checksum = "3823026d1ed239a40f12364fac50726c8daf1b6ab8077a97212c5123910429ed" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -407,9 +347,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "779f70ab16a77e305571881b07a9bc6b0068ae6f962497baf5762825c5b839fb" +checksum = "2145138f3214928f08cd13da3cb51ef7482b5920d8ac5a02ecd4e38d1a8f6d1e" dependencies = [ "alloy-primitives", "derive_more", @@ -419,9 +359,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10620d600cc46538f613c561ac9a923843c6c74c61f054828dcdb8dd18c72ec4" +checksum = "bb9b97b6e7965679ad22df297dda809b11cebc13405c1b537e5cffecc95834fa" dependencies = [ "alloy-consensus", "alloy-eips", @@ -429,8 +369,6 @@ dependencies = [ "alloy-rlp", "alloy-serde", "derive_more", - "ethereum_ssz", - "ethereum_ssz_derive", "rand 0.8.5", "serde", "strum", @@ -438,9 +376,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "010e101dbebe0c678248907a2545b574a87d078d82c2f6f5d0e8e7c9a6149a10" +checksum = "59c095f92c4e1ff4981d89e9aa02d5f98c762a1980ab66bec49c44be11349da2" dependencies = [ "alloy-consensus", "alloy-consensus-any", @@ -460,9 +398,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e6d631f8b975229361d8af7b2c749af31c73b3cf1352f90e144ddb06227105e" +checksum = "11ece63b89294b8614ab3f483560c08d016930f842bf36da56bf0b764a15c11e" dependencies = [ "alloy-primitives", "arbitrary", @@ -472,9 +410,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f40010b5e8f79b70bf163b38cd15f529b18ca88c4427c0e43441ee54e4ed82" +checksum = "43f447aefab0f1c0649f71edc33f590992d4e122bc35fb9cdbbf67d4421ace85" dependencies = [ "alloy-primitives", "async-trait", @@ -487,9 +425,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c4ec1cc27473819399a3f0da83bc1cef0ceaac8c1c93997696e46dc74377a58" +checksum = "f721f4bf2e4812e5505aaf5de16ef3065a8e26b9139ac885862d00b5a55a659a" dependencies = [ "alloy-consensus", "alloy-network", @@ -571,29 +509,6 @@ dependencies = [ "serde", ] -[[package]] -name = "alloy-transport" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a03bb3f02b9a7ab23dacd1822fa7f69aa5c8eefcdcf57fad085e0b8d76fb4334" -dependencies = [ - "alloy-json-rpc", - "auto_impl", - "base64", - "derive_more", - "futures", - "futures-utils-wasm", - "parking_lot", - "serde", - "serde_json", - "thiserror", - "tokio", - "tower", - "tracing", - "url", - "wasmtimer", -] - [[package]] name = "alloy-trie" version = "0.8.1" @@ -633,11 +548,11 @@ dependencies = [ [[package]] name = "alloy-tx-macros" -version = "1.6.3" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397406cf04b11ca2a48e6f81804c70af3f40a36abf648e11dc7416043eb0834d" +checksum = "d69722eddcdf1ce096c3ab66cf8116999363f734eb36fe94a148f4f71c85da84" dependencies = [ - "darling 0.21.3", + "darling 0.23.0", "proc-macro2", "quote", "syn 2.0.116", @@ -1022,28 +937,6 @@ dependencies = [ "serde", ] -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.116", -] - [[package]] name = "async-trait" version = "0.1.89" @@ -1301,11 +1194,21 @@ dependencies = [ "serde", ] +[[package]] +name = "bzip2-sys" +version = "0.1.13+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +dependencies = [ + "cc", + "pkg-config", +] + [[package]] name = "c-kzg" -version = "2.1.5" +version = "2.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e00bf4b112b07b505472dbefd19e37e53307e2bfed5a79e0cc161d58ccd0e687" +checksum = "6648ed1e4ea8e8a1a4a2c78e1cda29a3fd500bc622899c340d8525ea9a76b24a" dependencies = [ "arbitrary", "blst", @@ -1361,7 +1264,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1532,6 +1435,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1568,29 +1480,29 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", + "darling_core 0.21.3", + "darling_macro 0.21.3", ] [[package]] name = "darling" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", + "darling_core 0.23.0", + "darling_macro 0.23.0", ] [[package]] name = "darling_core" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", @@ -1602,11 +1514,10 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" dependencies = [ - "fnv", "ident_case", "proc-macro2", "quote", @@ -1617,22 +1528,22 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.11" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core 0.20.11", + "darling_core 0.21.3", "quote", "syn 2.0.116", ] [[package]] name = "darling_macro" -version = "0.21.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" dependencies = [ - "darling_core 0.21.3", + "darling_core 0.23.0", "quote", "syn 2.0.116", ] @@ -1906,46 +1817,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "ethereum_serde_utils" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dc1355dbb41fbbd34ec28d4fb2a57d9a70c67ac3c19f6a5ca4d4a176b9e997a" -dependencies = [ - "alloy-primitives", - "hex", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "ethereum_ssz" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dcddb2554d19cde19b099fadddde576929d7a4d0c1cd3512d1fd95cf174375c" -dependencies = [ - "alloy-primitives", - "ethereum_serde_utils", - "itertools 0.13.0", - "serde", - "serde_derive", - "smallvec", - "typenum", -] - -[[package]] -name = "ethereum_ssz_derive" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a657b6b3b7e153637dc6bdc6566ad9279d9ee11a15b12cfb24a2e04360637e9f" -dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", - "syn 2.0.116", -] - [[package]] name = "eyre" version = "0.6.12" @@ -2286,8 +2157,6 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ - "allocator-api2", - "equivalent", "foldhash 0.2.0", "serde", "serde_core", @@ -2438,7 +2307,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core", + "windows-core 0.62.2", ] [[package]] @@ -2787,7 +2656,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -2796,6 +2665,32 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" +[[package]] +name = "librocksdb-sys" +version = "0.17.3+10.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef2a00ee60fe526157c9023edab23943fae1ce2ab6f4abb2a807c1746835de9" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "libc", + "libz-sys", + "lz4-sys", + "zstd-sys", +] + +[[package]] +name = "libz-sys" +version = "1.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786a7c68b5bbe177567d237ec4940d11666206e97b20a983421b251092f24d7d" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "linux-raw-sys" version = "0.11.0" @@ -2824,12 +2719,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] -name = "lru" -version = "0.16.3" +name = "lz4-sys" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ - "hashbrown 0.16.1", + "cc", + "libc", ] [[package]] @@ -3190,122 +3086,6 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -[[package]] -name = "op-alloy" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9b8fee21003dd4f076563de9b9d26f8c97840157ef78593cd7f262c5ca99848" -dependencies = [ - "op-alloy-consensus", - "op-alloy-network", - "op-alloy-provider", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", -] - -[[package]] -name = "op-alloy-consensus" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736381a95471d23e267263cfcee9e1d96d30b9754a94a2819148f83379de8a86" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "derive_more", - "serde", - "serde_with", - "thiserror", -] - -[[package]] -name = "op-alloy-network" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4034183dca6bff6632e7c24c92e75ff5f0eabb58144edb4d8241814851334d47" -dependencies = [ - "alloy-consensus", - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-eth", - "alloy-signer", - "op-alloy-consensus", - "op-alloy-rpc-types", -] - -[[package]] -name = "op-alloy-provider" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6753d90efbaa8ea8bcb89c1737408ca85fa60d7adb875049d3f382c063666f86" -dependencies = [ - "alloy-network", - "alloy-primitives", - "alloy-provider", - "alloy-rpc-types-engine", - "alloy-transport", - "async-trait", - "op-alloy-rpc-types-engine", -] - -[[package]] -name = "op-alloy-rpc-types" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd87c6b9e5b6eee8d6b76f41b04368dca0e9f38d83338e5b00e730c282098a4" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-network-primitives", - "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", - "derive_more", - "op-alloy-consensus", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "op-alloy-rpc-types-engine" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77727699310a18cdeed32da3928c709e2704043b6584ed416397d5da65694efc" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-rpc-types-engine", - "alloy-serde", - "derive_more", - "ethereum_ssz", - "ethereum_ssz_derive", - "op-alloy-consensus", - "serde", - "sha2", - "snap", - "thiserror", -] - -[[package]] -name = "op-revm" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c92b75162c2ed1661849fa51683b11254a5b661798360a2c24be918edafd40" -dependencies = [ - "auto_impl", - "revm", - "serde", -] - [[package]] name = "opentelemetry" version = "0.31.0" @@ -3414,7 +3194,6 @@ version = "3.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" dependencies = [ - "arbitrary", "arrayvec", "bitvec", "byte-slice-cast", @@ -3458,7 +3237,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3766,6 +3545,21 @@ dependencies = [ "syn 2.0.116", ] +[[package]] +name = "quanta" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi", + "web-sys", + "winapi", +] + [[package]] name = "quick-error" version = "1.2.3" @@ -3879,10 +3673,18 @@ version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84816e4c99c467e92cf984ee6328caa976dfecd33a673544489d79ca2caaefe5" dependencies = [ - "rand 0.9.2", "rustversion", ] +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags 2.11.0", +] + [[package]] name = "rayon" version = "1.11.0" @@ -4006,8 +3808,8 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4036,8 +3838,8 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-chains", "alloy-consensus", @@ -4056,8 +3858,9 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf1df733d93427eb197cf80a7aaa68bff8949e1b59d34cde1ad410351a24136d" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4067,7 +3870,7 @@ dependencies = [ "arbitrary", "bytes", "modular-bitfield", - "op-alloy-consensus", + "parity-scale-codec", "reth-codecs-derive", "reth-zstd-compressors", "serde", @@ -4076,8 +3879,9 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d14acf8feadf1eed0734d1766b55b6c19a374d4cb140bc862880f96da33e7e5a" dependencies = [ "proc-macro2", "quote", @@ -4086,8 +3890,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "eyre", "reth-network-types", @@ -4099,8 +3903,8 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -4112,11 +3916,12 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", + "alloy-primitives", "reth-chainspec", "reth-consensus", "reth-primitives-traits", @@ -4124,8 +3929,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "derive_more", @@ -4133,6 +3938,7 @@ dependencies = [ "metrics", "page_size", "parking_lot", + "quanta", "reth-db-api", "reth-fs-util", "reth-libmdbx", @@ -4151,11 +3957,10 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", - "alloy-genesis", "alloy-primitives", "arbitrary", "arrayvec", @@ -4163,8 +3968,6 @@ dependencies = [ "derive_more", "metrics", "modular-bitfield", - "op-alloy-consensus", - "parity-scale-codec", "proptest", "reth-codecs", "reth-db-models", @@ -4180,8 +3983,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -4210,8 +4013,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-eips", "alloy-primitives", @@ -4225,8 +4028,8 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4250,8 +4053,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -4261,8 +4064,8 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4277,26 +4080,24 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-eips", "alloy-primitives", - "alloy-rlp", "alloy-rpc-types-engine", "reth-engine-primitives", "reth-ethereum-primitives", "reth-payload-primitives", "reth-primitives-traits", "serde", - "sha2", "thiserror", ] [[package]] name = "reth-ethereum-forks" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -4308,28 +4109,22 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", - "alloy-rlp", "alloy-rpc-types-eth", - "alloy-serde", - "arbitrary", - "modular-bitfield", "reth-codecs", "reth-primitives-traits", - "reth-zstd-compressors", "serde", - "serde_with", ] [[package]] name = "reth-etl" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "rayon", "reth-db-api", @@ -4338,8 +4133,8 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4360,15 +4155,14 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", "alloy-rpc-types-engine", - "derive_more", "reth-chainspec", "reth-ethereum-forks", "reth-ethereum-primitives", @@ -4381,8 +4175,8 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-evm", "alloy-primitives", @@ -4394,13 +4188,14 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-evm", "alloy-primitives", + "alloy-rlp", "derive_more", "reth-ethereum-primitives", "reth-primitives-traits", @@ -4412,8 +4207,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "serde", "serde_json", @@ -4422,11 +4217,12 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "bitflags 2.11.0", "byteorder", + "crossbeam-queue", "dashmap", "derive_more", "parking_lot", @@ -4438,8 +4234,8 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "bindgen", "cc", @@ -4447,8 +4243,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "metrics", "metrics-derive", @@ -4456,8 +4252,8 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "ipnet", @@ -4465,8 +4261,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -4478,20 +4274,19 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-eip2124", "reth-net-banlist", "reth-network-peers", - "serde_json", "tracing", ] [[package]] name = "reth-nippy-jar" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "anyhow", "bincode", @@ -4507,8 +4302,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "reth-chainspec", "reth-db-api", @@ -4519,8 +4314,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "pin-project", "reth-payload-primitives", @@ -4531,16 +4326,16 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", + "alloy-rlp", "alloy-rpc-types-engine", "auto_impl", "either", - "op-alloy-rpc-types-engine", "reth-chain-state", "reth-chainspec", "reth-errors", @@ -4548,14 +4343,16 @@ dependencies = [ "reth-primitives-traits", "reth-trie-common", "serde", + "sha2", "thiserror", "tokio", ] [[package]] name = "reth-primitives-traits" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03650bb740d1bca0d974c007248177ae7a7e38c50c9f46eb02292c5d9bc01252" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4565,16 +4362,15 @@ dependencies = [ "alloy-rpc-types-eth", "alloy-trie 0.9.4", "arbitrary", - "auto_impl", "byteorder", "bytes", "dashmap", "derive_more", "modular-bitfield", "once_cell", - "op-alloy-consensus", "proptest", "proptest-arbitrary-interop", + "quanta", "rayon", "reth-codecs", "revm-bytecode", @@ -4582,17 +4378,17 @@ dependencies = [ "revm-state", "secp256k1 0.30.0", "serde", - "serde_with", "thiserror", ] [[package]] name = "reth-provider" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", + "alloy-genesis", "alloy-primitives", "alloy-rpc-types-engine", "eyre", @@ -4625,6 +4421,7 @@ dependencies = [ "reth-trie-db", "revm-database", "revm-state", + "rocksdb", "strum", "tokio", "tracing", @@ -4632,8 +4429,8 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "arbitrary", @@ -4648,10 +4445,12 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types-debug", "reth-primitives-traits", "reth-storage-api", "reth-storage-errors", @@ -4661,8 +4460,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "arbitrary", @@ -4675,8 +4474,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "derive_more", @@ -4689,8 +4488,8 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4713,13 +4512,14 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-eips", "alloy-primitives", "alloy-rlp", "derive_more", + "reth-codecs", "reth-primitives-traits", "reth-prune-types", "reth-static-file-types", @@ -4730,17 +4530,20 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ - "auto_impl", - "dyn-clone", + "crossbeam-utils", + "dashmap", "futures-util", + "libc", "metrics", + "parking_lot", "pin-project", "rayon", "reth-metrics", "thiserror", + "thread-priority", "tokio", "tracing", "tracing-futures", @@ -4748,8 +4551,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "clap", "eyre", @@ -4765,8 +4568,8 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "clap", "eyre", @@ -4782,8 +4585,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-eips", @@ -4808,8 +4611,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -4835,8 +4638,8 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "metrics", @@ -4855,8 +4658,8 @@ dependencies = [ [[package]] name = "reth-trie-sparse" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "1.11.3" +source = "git+https://github.com/paradigmxyz/reth?rev=adc960162f#adc960162fb960471c98d301fcef4a1bea2abe02" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -4866,23 +4669,27 @@ dependencies = [ "reth-execution-errors", "reth-primitives-traits", "reth-trie-common", + "serde", + "serde_json", + "slotmap", "smallvec", "tracing", ] [[package]] name = "reth-zstd-compressors" -version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be2e9bda3e45c5d87cfbe811676bfb9cb1f0e6fa82d1dd6a3e8cd996512f236" dependencies = [ "zstd", ] [[package]] name = "revm" -version = "34.0.0" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2aabdebaa535b3575231a88d72b642897ae8106cf6b0d12eafc6bfdf50abfc7" +checksum = "b0abc15d09cd211e9e73410ada10134069c794d4bcdb787dfc16a1bf0939849c" dependencies = [ "revm-bytecode", "revm-context", @@ -4899,9 +4706,9 @@ dependencies = [ [[package]] name = "revm-bytecode" -version = "8.0.0" +version = "9.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d1e5c1eaa44d39d537f668bc5c3409dc01e5c8be954da6c83370bbdf006457" +checksum = "e86e468df3cf5cf59fa7ef71a3e9ccabb76bb336401ea2c0674f563104cf3c5e" dependencies = [ "bitvec", "phf", @@ -4911,9 +4718,9 @@ dependencies = [ [[package]] name = "revm-context" -version = "13.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "892ff3e6a566cf8d72ffb627fdced3becebbd9ba64089c25975b9b028af326a5" +checksum = "9eb1f0a76b14d684a444fc52f7bf6b7564bf882599d91ee62e76d602e7a187c7" dependencies = [ "bitvec", "cfg-if", @@ -4928,9 +4735,9 @@ dependencies = [ [[package]] name = "revm-context-interface" -version = "14.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57f61cc6d23678c4840af895b19f8acfbbd546142ec8028b6526c53cc1c16c98" +checksum = "fc256b27743e2912ca16899568e6652a372eb5d1d573e6edb16c7836b16cf487" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -4944,9 +4751,9 @@ dependencies = [ [[package]] name = "revm-database" -version = "10.0.0" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529528d0b05fe646be86223032c3e77aa8b05caa2a35447d538c55965956a511" +checksum = "2c0a7d6da41061f2c50f99a2632571026b23684b5449ff319914151f4449b6c8" dependencies = [ "alloy-eips", "revm-bytecode", @@ -4958,9 +4765,9 @@ dependencies = [ [[package]] name = "revm-database-interface" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7bf93ac5b91347c057610c0d96e923db8c62807e03f036762d03e981feddc1d" +checksum = "bd497a38a79057b94a049552cb1f925ad15078bc1a479c132aeeebd1d2ccc768" dependencies = [ "auto_impl", "either", @@ -4972,9 +4779,9 @@ dependencies = [ [[package]] name = "revm-handler" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd0e43e815a85eded249df886c4badec869195e70cdd808a13cfca2794622d2" +checksum = "9f1eed729ca9b228ae98688f352235871e9b8be3d568d488e4070f64c56e9d3d" dependencies = [ "auto_impl", "derive-where", @@ -4991,9 +4798,9 @@ dependencies = [ [[package]] name = "revm-inspector" -version = "15.0.0" +version = "17.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3ccad59db91ef93696536a0dbaf2f6f17cfe20d4d8843ae118edb7e97947ef" +checksum = "cbf5102391706513689f91cb3cb3d97b5f13a02e8647e6e9cb7620877ef84847" dependencies = [ "auto_impl", "either", @@ -5009,9 +4816,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "32.0.0" +version = "34.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11406408597bc249392d39295831c4b641b3a6f5c471a7c41104a7a1e3564c07" +checksum = "cf22f80612bb8f58fd1f578750281f2afadb6c93835b14ae6a4d6b75ca26f445" dependencies = [ "revm-bytecode", "revm-context-interface", @@ -5022,9 +4829,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "32.0.0" +version = "32.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c1285c848d240678bf69cb0f6179ff5a4aee6fc8e921d89708087197a0aff3" +checksum = "e2ec11f45deec71e4945e1809736bb20d454285f9167ab53c5159dae1deb603f" dependencies = [ "ark-bls12-381", "ark-bn254", @@ -5046,9 +4853,9 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "22.0.0" +version = "22.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba580c56a8ec824a64f8a1683577876c2e1dbe5247044199e9b881421ad5dcf9" +checksum = "4bcfb5ce6cf18b118932bcdb7da05cd9c250f2cb9f64131396b55f3fe3537c35" dependencies = [ "alloy-primitives", "num_enum", @@ -5058,9 +4865,9 @@ dependencies = [ [[package]] name = "revm-state" -version = "9.0.0" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "311720d4f0f239b041375e7ddafdbd20032a33b7bae718562ea188e188ed9fd3" +checksum = "d29404707763da607e5d6e4771cb203998c28159279c2f64cc32de08d2814651" dependencies = [ "alloy-eip7928", "bitflags 2.11.0", @@ -5138,6 +4945,16 @@ dependencies = [ "byteorder", ] +[[package]] +name = "rocksdb" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddb7af00d2b17dbd07d82c0063e25411959748ff03e8d4f96134c2ff41fce34f" +dependencies = [ + "libc", + "librocksdb-sys", +] + [[package]] name = "rolling-file" version = "0.2.0" @@ -5187,9 +5004,6 @@ name = "rustc-hash" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -dependencies = [ - "rand 0.8.5", -] [[package]] name = "rustc-hex" @@ -5542,6 +5356,15 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" +[[package]] +name = "slotmap" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038" +dependencies = [ + "version_check", +] + [[package]] name = "smallvec" version = "1.15.1" @@ -5552,12 +5375,6 @@ dependencies = [ "serde", ] -[[package]] -name = "snap" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" - [[package]] name = "socket2" version = "0.6.2" @@ -5713,7 +5530,7 @@ dependencies = [ "ntapi", "objc2-core-foundation", "objc2-io-kit", - "windows", + "windows 0.62.2", ] [[package]] @@ -5755,6 +5572,20 @@ dependencies = [ "syn 2.0.116", ] +[[package]] +name = "thread-priority" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2210811179577da3d54eb69ab0b50490ee40491a25d95b8c6011ba40771cb721" +dependencies = [ + "bitflags 2.11.0", + "cfg-if", + "libc", + "log", + "rustversion", + "windows 0.61.3", +] + [[package]] name = "thread_local" version = "1.1.9" @@ -6074,9 +5905,9 @@ dependencies = [ [[package]] name = "tracing-logfmt" -version = "0.3.5" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1f47d22deb79c3f59fcf2a1f00f60cbdc05462bf17d1cd356c1fefa3f444bd" +checksum = "a250055a3518b5efba928a18ffac8d32d42ea607a9affff4532144cd5b2e378e" dependencies = [ "time", "tracing", @@ -6275,6 +6106,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version_check" version = "0.9.5" @@ -6437,20 +6274,6 @@ dependencies = [ "semver 1.0.27", ] -[[package]] -name = "wasmtimer" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" -dependencies = [ - "futures", - "js-sys", - "parking_lot", - "pin-utils", - "slab", - "wasm-bindgen", -] - [[package]] name = "web-sys" version = "0.3.85" @@ -6502,16 +6325,38 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections 0.2.0", + "windows-core 0.61.2", + "windows-future 0.2.1", + "windows-link 0.1.3", + "windows-numerics 0.2.0", +] + [[package]] name = "windows" version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" dependencies = [ - "windows-collections", - "windows-core", - "windows-future", - "windows-numerics", + "windows-collections 0.3.2", + "windows-core 0.62.2", + "windows-future 0.3.2", + "windows-numerics 0.3.1", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", ] [[package]] @@ -6520,7 +6365,20 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" dependencies = [ - "windows-core", + "windows-core 0.62.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", ] [[package]] @@ -6531,9 +6389,20 @@ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", - "windows-link", - "windows-result", - "windows-strings", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading 0.1.0", ] [[package]] @@ -6542,9 +6411,9 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" dependencies = [ - "windows-core", - "windows-link", - "windows-threading", + "windows-core 0.62.2", + "windows-link 0.2.1", + "windows-threading 0.2.1", ] [[package]] @@ -6569,20 +6438,45 @@ dependencies = [ "syn 2.0.116", ] +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + [[package]] name = "windows-numerics" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" dependencies = [ - "windows-core", - "windows-link", + "windows-core 0.62.2", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -6591,7 +6485,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -6600,7 +6503,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -6618,7 +6521,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -6627,7 +6530,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows_aarch64_gnullvm", "windows_aarch64_msvc", "windows_i686_gnu", @@ -6638,13 +6541,22 @@ dependencies = [ "windows_x86_64_msvc", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows-threading" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index ea97a4a..ad506a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,38 +44,38 @@ stateless = { path = "crates/stateless" } tries = { path = "crates/tries" } # reth -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-db-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-tracing = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-trie-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-trie-sparse = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-db = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-db-api = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-db-common = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-primitives-traits = { version = "0.1.0", default-features = false } +reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-trie = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-trie-common = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } +reth-trie-db = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f" } +reth-trie-sparse = { git = "https://github.com/paradigmxyz/reth", rev = "adc960162f", default-features = false } # alloy -alloy-consensus = { version = "1.5", default-features = false } -alloy-eips = { version = "1.5", default-features = false } -alloy-genesis = { version = "1.5", default-features = false } -alloy-primitives = { version = "1.5", default-features = false, features = ["map-indexmap"] } +alloy-consensus = { version = "1.8", default-features = false } +alloy-eips = { version = "1.8", default-features = false } +alloy-genesis = { version = "1.8", default-features = false } +alloy-primitives = { version = "1.5.6", default-features = false, features = ["map-foldhash"] } alloy-rlp = { version = "0.3", default-features = false } -alloy-rpc-types-debug = { version = "1.5", default-features = false } +alloy-rpc-types-debug = { version = "1.8", default-features = false } alloy-trie = { version = "0.9", default-features = false } # revm -revm = { version = "34.0.0", default-features = false } -revm-bytecode = { version = "8.0.0", default-features = false } -revm-database-interface = { version = "9.0.0", default-features = false } -revm-state = { version = "9.0.0", default-features = false } +revm = { version = "36.0.0", default-features = false } +revm-bytecode = { version = "9.0.0", default-features = false } +revm-database-interface = { version = "10.0.0", default-features = false } +revm-state = { version = "10.0.0", default-features = false } # misc arrayvec = { version = "0.7", default-features = false } diff --git a/crates/stateless/Cargo.toml b/crates/stateless/Cargo.toml index 2b17653..941e654 100644 --- a/crates/stateless/Cargo.toml +++ b/crates/stateless/Cargo.toml @@ -25,7 +25,7 @@ alloy-genesis = { workspace = true, features = ["serde-bincode-compat"] } # reth reth-ethereum-consensus.workspace = true reth-primitives-traits.workspace = true -reth-ethereum-primitives = { workspace = true, features = ["serde", "serde-bincode-compat"] } +reth-ethereum-primitives = { workspace = true, features = ["serde"] } reth-evm.workspace = true reth-trie-common.workspace = true reth-chainspec.workspace = true diff --git a/crates/stateless/src/lib.rs b/crates/stateless/src/lib.rs index cecb440..6cd51d1 100644 --- a/crates/stateless/src/lib.rs +++ b/crates/stateless/src/lib.rs @@ -70,9 +70,6 @@ use reth_ethereum_primitives::Block; #[derive(Clone, Debug, Default, serde::Serialize, serde::Deserialize)] pub struct StatelessInput { /// The block being executed in the stateless validation function - #[serde_as( - as = "reth_primitives_traits::serde_bincode_compat::Block" - )] pub block: Block, /// `ExecutionWitness` for the stateless validation function pub witness: ExecutionWitness, diff --git a/crates/tries/src/default.rs b/crates/tries/src/default.rs index f2e6c9f..321e2c9 100644 --- a/crates/tries/src/default.rs +++ b/crates/tries/src/default.rs @@ -1,15 +1,14 @@ use crate::{StatelessTrie, StatelessTrieError, WitnessDbError}; -use alloc::{format, vec::Vec}; +use alloc::{collections::VecDeque, format, vec::Vec}; use alloy_primitives::{Address, B256, U256, keccak256, map::B256IndexMap}; -// TODO: `reveal_witness` from reth uses B256Map. We would need to change it from -// there first. -#[allow(clippy::disallowed_types)] -use alloy_primitives::map::B256Map; use alloy_rlp::{Decodable, Encodable}; use alloy_rpc_types_debug::ExecutionWitness; -use alloy_trie::{EMPTY_ROOT_HASH, TrieAccount}; +use alloy_trie::{EMPTY_ROOT_HASH, TrieAccount, nodes::TrieNode}; use itertools::Itertools; -use reth_trie_common::{HashedPostState, Nibbles, TRIE_ACCOUNT_RLP_MAX_SIZE}; +use reth_trie_common::{ + BranchNodeMasks, DecodedMultiProofV2, HashedPostState, Nibbles, ProofTrieNodeV2, + TRIE_ACCOUNT_RLP_MAX_SIZE, +}; use reth_trie_sparse::{ RevealableSparseTrie, SparseStateTrie, SparseTrie, errors::SparseStateTrieResult, @@ -48,7 +47,7 @@ impl StatelessSparseTrie { return Ok(Some(account)); } - if !self.inner.check_valid_account_witness(hashed_address) { + if !self.inner.is_account_revealed(hashed_address) { return Err(WitnessDbError::TrieWitness(format!( "incomplete account witness for {hashed_address:?}" ))); @@ -82,7 +81,7 @@ impl StatelessSparseTrie { "incomplete storage witness: prover must supply exclusion proof for slot {hashed_slot:?} in account {hashed_address:?}" ))); } - } else if !self.inner.check_valid_account_witness(hashed_address) { + } else if !self.inner.is_account_revealed(hashed_address) { // ...else if account is missing, validate that the account trie was sufficiently // revealed. return Err(WitnessDbError::TrieWitness(format!( @@ -140,37 +139,31 @@ impl StatelessTrie for StatelessSparseTrie { /// /// If the roots do not match, it returns an error indicating the witness is invalid /// for the given `pre_state_root` (see [`StatelessTrieError::PreStateRootMismatch`]). -// Note: This approach might be inefficient for ZKVMs requiring minimal memory operations, which -// would explain why they have for the most part re-implemented this function. fn verify_execution_witness( witness: &ExecutionWitness, pre_state_root: B256, ) -> Result<(SparseStateTrie, B256IndexMap), StatelessTrieError> { let provider_factory = DefaultTrieNodeProviderFactory; let mut trie = SparseStateTrie::new(); - // `reveal_witness` requires `&B256Map`, so we must use the disallowed type here. - #[allow(clippy::disallowed_types)] - let mut state_witness = B256Map::default(); let mut bytecode = B256IndexMap::default(); + // Build a hash-indexed map of witness nodes. + let mut nodes_by_hash = B256IndexMap::default(); for rlp_encoded in &witness.state { let hash = keccak256(rlp_encoded); - state_witness.insert(hash, rlp_encoded.clone()); + nodes_by_hash.insert(hash, rlp_encoded.clone()); } for rlp_encoded in &witness.codes { let hash = keccak256(rlp_encoded); bytecode.insert(hash, Bytecode::new_raw(rlp_encoded.clone())); } - // Reveal the witness with our state root - // This method builds a trie using the sparse trie using the state_witness with - // the root being the pre_state_root. - // Here are some things to note: - // - You can pass in more witnesses than is needed for the block execution. - // - If you try to get an account and it has not been seen. This means that the account - // was not inserted into the Trie. It does not mean that the account does not exist. - // In order to determine an account not existing, we must do an exclusion proof. - trie.reveal_witness(pre_state_root, &state_witness) + // Build a DecodedMultiProofV2 by walking the witness from the root. + let multiproof = build_multiproof_from_witness(pre_state_root, &nodes_by_hash) + .map_err(|_| StatelessTrieError::WitnessRevealFailed { pre_state_root })?; + + // Reveal the witness into the sparse trie. + trie.reveal_decoded_multiproof_v2(multiproof) .map_err(|_e| StatelessTrieError::WitnessRevealFailed { pre_state_root })?; // Calculate the root @@ -188,6 +181,94 @@ fn verify_execution_witness( } } +/// Builds a [`DecodedMultiProofV2`] from a flat witness map by walking the trie from the root. +/// +/// This replicates the old `SparseStateTrie::reveal_witness` logic, but outputs the V2 multiproof +/// structure needed by the current API. +fn build_multiproof_from_witness( + state_root: B256, + nodes_by_hash: &B256IndexMap, +) -> Result { + #[allow(clippy::disallowed_types)] + use alloy_primitives::map::B256Map; + + let mut account_nodes: Vec<(Nibbles, TrieNode, Option)> = Vec::new(); + #[allow(clippy::disallowed_types)] + let mut storage_nodes: B256Map)>> = + B256Map::default(); + + // BFS queue: (hash, path, maybe_account_address) + // When maybe_account is None, we're traversing the account trie. + // When Some(hashed_address), we're traversing that account's storage trie. + let mut queue: VecDeque<(B256, Nibbles, Option)> = + VecDeque::from([(state_root, Nibbles::default(), None)]); + + while let Some((hash, path, maybe_account)) = queue.pop_front() { + let Some(trie_node_bytes) = nodes_by_hash.get(&hash) else { continue }; + let trie_node = TrieNode::decode(&mut &trie_node_bytes[..])?; + + // Push children nodes into the queue. + match &trie_node { + TrieNode::Branch(branch) => { + for (idx, maybe_child) in branch.as_ref().children() { + if let Some(child_hash) = + maybe_child.and_then(alloy_trie::nodes::RlpNode::as_hash) + { + let mut child_path = path; + child_path.push_unchecked(idx); + queue.push_back((child_hash, child_path, maybe_account)); + } + } + } + TrieNode::Extension(ext) => { + if let Some(child_hash) = ext.child.as_hash() { + let mut child_path = path; + child_path.extend(&ext.key); + queue.push_back((child_hash, child_path, maybe_account)); + } + } + TrieNode::Leaf(leaf) => { + if maybe_account.is_none() { + // Account trie leaf: decode the account and enqueue storage trie if needed. + let mut full_path = path; + full_path.extend(&leaf.key); + let hashed_address = B256::from_slice(&full_path.pack()); + let account = TrieAccount::decode(&mut &leaf.value[..])?; + if account.storage_root != EMPTY_ROOT_HASH { + queue.push_back(( + account.storage_root, + Nibbles::default(), + Some(hashed_address), + )); + } + } + } + TrieNode::EmptyRoot => {} + } + + // Record the node for the appropriate trie. + if let Some(account) = maybe_account { + storage_nodes.entry(account).or_default().push((path, trie_node, None)); + } else { + account_nodes.push((path, trie_node, None)); + } + } + + // Sort nodes in depth-first order (children before parents) as required by + // ProofTrieNodeV2::from_sorted_trie_nodes. + account_nodes.sort_by(|(a, _, _), (b, _, _)| b.cmp(a)); + let account_proofs = ProofTrieNodeV2::from_sorted_trie_nodes(account_nodes); + + #[allow(clippy::disallowed_types)] + let mut storage_proofs = B256Map::default(); + for (account, mut nodes) in storage_nodes { + nodes.sort_by(|(a, _, _), (b, _, _)| b.cmp(a)); + storage_proofs.insert(account, ProofTrieNodeV2::from_sorted_trie_nodes(nodes)); + } + + Ok(DecodedMultiProofV2 { account_proofs, storage_proofs }) +} + // Copied and modified from ress: https://github.com/paradigmxyz/ress/blob/06bf2c4788e45b8fcbd640e38b6243e6f87c4d0e/crates/engine/src/tree/root.rs /// Calculates the post-execution state root by applying state changes to a sparse trie. /// @@ -200,12 +281,12 @@ fn calculate_state_root( trie: &mut SparseStateTrie, state: HashedPostState, ) -> SparseStateTrieResult { - // 1. Apply storage‑slot updates and compute each contract’s storage root + // 1. Apply storage‑slot updates and compute each contract's storage root // // // We walk over every (address, storage) pair in deterministic order // and update the corresponding per‑account storage trie in‑place. - // When we’re done we collect (address, updated_storage_trie) in a `Vec` + // When we're done we collect (address, updated_storage_trie) in a `Vec` // so that we can insert them back into the outer state trie afterwards ― this avoids // borrowing issues. let mut storage_results = Vec::with_capacity(state.storages.len()); @@ -216,7 +297,7 @@ fn calculate_state_root( let storage_provider = DefaultTrieNodeProvider; for (address, storage) in state.storages.into_iter().sorted_unstable_by_key(|(addr, _)| *addr) { - // Take the existing storage trie (or create an empty, “revealed” one) + // Take the existing storage trie (or create an empty, "revealed" one) let mut storage_trie = trie.take_storage_trie(&address).unwrap_or_else(RevealableSparseTrie::revealed_empty); @@ -252,7 +333,6 @@ fn calculate_state_root( // 2. Apply account‑level updates and (re)encode the account nodes // Update accounts with new values - // TODO: upstream changes into reth so that `SparseStateTrie::update_account` handles this let mut account_rlp_buf = Vec::with_capacity(TRIE_ACCOUNT_RLP_MAX_SIZE); for (hashed_address, account) in diff --git a/testing/ef-tests/src/cases/blockchain_test.rs b/testing/ef-tests/src/cases/blockchain_test.rs index ea64b1d..b306f5e 100644 --- a/testing/ef-tests/src/cases/blockchain_test.rs +++ b/testing/ef-tests/src/cases/blockchain_test.rs @@ -24,7 +24,9 @@ use reth_provider::{ }; use reth_revm::{State, database::StateProviderDatabase, witness::ExecutionWitnessRecord}; use reth_trie::{HashedPostState, KeccakKeyHasher, StateRoot}; -use reth_trie_db::DatabaseStateRoot; +use reth_trie_db::{ + DatabaseHashedCursorFactory, DatabaseStateRoot, DatabaseTrieCursorFactory, LegacyKeyAdapter, +}; use stateless::{ ExecutionWitness, UncompressedPublicKey, validation::stateless_validation_with_trie, }; @@ -355,7 +357,10 @@ where // Compute and check the post state root let hashed_state = HashedPostState::from_bundle_state::(output.state.state()); - let (computed_state_root, _) = StateRoot::overlay_root_with_updates( + let (computed_state_root, _) = , + DatabaseHashedCursorFactory<_>, + > as DatabaseStateRoot<_>>::overlay_root_with_updates( provider.tx_ref(), &hashed_state.clone_into_sorted(), )