diff --git a/Cargo.lock b/Cargo.lock index 3703890..0a547b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -41,9 +41,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher 0.4.4", @@ -66,9 +66,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.7" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom 0.2.12", @@ -118,23 +118,23 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "alloy-chains" -version = "0.1.9" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a5f61137c31916542bb63cd70d0e0dd7a76f76b7f962f4337bc438612d45b2" +checksum = "e96c81b05c893348760f232c4cc6a6a77fd91cfb09885d4eaad25cd03bd7732e" dependencies = [ "alloy-rlp", "arbitrary", - "num_enum 0.7.2", + "num_enum", "proptest", "serde", - "strum", + "strum 0.26.2", ] [[package]] name = "alloy-dyn-abi" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf1d316f6375d7cff11b526e91938b199e021da118861f9d238438938e0ac7d" +checksum = "2919acdad13336bc5dc26b636cdd6892c2f27fb0d4a58320a00c2713cf6a4e9a" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -145,14 +145,34 @@ dependencies = [ "itoa", "serde", "serde_json", - "winnow", + "winnow 0.6.5", +] + +[[package]] +name = "alloy-eips" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=410850b#410850b305a28297483d819b669b04ba31796359" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-genesis" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=410850b#410850b305a28297483d819b669b04ba31796359" +dependencies = [ + "alloy-primitives", + "alloy-serde", + "serde", ] [[package]] name = "alloy-json-abi" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b07fb0de8c985deebc60b97fc8c45fd45c101822c3241c1f389e9f9a557dd7" +checksum = "24ed0f2a6c3a1c947b4508522a53a190dba8f94dcd4e3e1a5af945a498e78f2f" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -162,9 +182,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3729132072f369bc4e8e6e070f9cf4deb3490fc9b9eea6f71f75ec19406df811" +checksum = "600d34d8de81e23b6d909c094e23b3d357e01ca36b78a8c5424c501eedbe86f0" dependencies = [ "alloy-rlp", "arbitrary", @@ -206,16 +226,31 @@ checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", +] + +[[package]] +name = "alloy-rpc-engine-types" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=410850b#410850b305a28297483d819b669b04ba31796359" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-rpc-types", + "alloy-serde", + "jsonrpsee-types", + "serde", + "thiserror", ] [[package]] name = "alloy-rpc-trace-types" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy#5ed60f827f3bd0211855919c08504cc4701e8353" +source = "git+https://github.com/alloy-rs/alloy?rev=410850b#410850b305a28297483d819b669b04ba31796359" dependencies = [ "alloy-primitives", "alloy-rpc-types", + "alloy-serde", "serde", "serde_json", ] @@ -223,12 +258,13 @@ dependencies = [ [[package]] name = "alloy-rpc-types" version = "0.1.0" -source = "git+https://github.com/alloy-rs/alloy#5ed60f827f3bd0211855919c08504cc4701e8353" +source = "git+https://github.com/alloy-rs/alloy?rev=410850b#410850b305a28297483d819b669b04ba31796359" dependencies = [ "alloy-primitives", "alloy-rlp", + "alloy-serde", "arbitrary", - "itertools 0.12.0", + "itertools 0.12.1", "jsonrpsee-types", "proptest", "proptest-derive", @@ -237,38 +273,48 @@ dependencies = [ "thiserror", ] +[[package]] +name = "alloy-serde" +version = "0.1.0" +source = "git+https://github.com/alloy-rs/alloy?rev=410850b#410850b305a28297483d819b669b04ba31796359" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + [[package]] name = "alloy-sol-macro" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5531f0a16e36c547e68c73a1638bea1f26237ee8ae785527190c4e4f9fecd2c5" +checksum = "e86ec0a47740b20bc5613b8712d0d321d031c4efc58e9645af96085d5cccfc27" dependencies = [ "const-hex", "dunce", - "heck", - "indexmap 2.1.0", + "heck 0.4.1", + "indexmap 2.2.5", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-type-parser" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6958f72e4aa4acc979ea70bca59204336c0686e92b26d02d48244cf25b0dabb0" +checksum = "0045cc89524e1451ccf33e8581355b6027ac7c6e494bb02959d4213ad0d8e91d" dependencies = [ - "winnow", + "winnow 0.6.5", ] [[package]] name = "alloy-sol-types" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "783eb720b73d38f9d4c1fb9890e4db6bc8c708f7aa77d3071a19e06091ecd1c9" +checksum = "ad09ec5853fa700d12d778ad224dcdec636af424d29fad84fb9a2f16a5b0ef09" dependencies = [ "alloy-primitives", "alloy-sol-macro", @@ -278,15 +324,16 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677fd3c62d77b0550288d63723d331dbd88adcf3578e1f58daa123f0b599e383" +checksum = "6b9e1498416f7e7f09af8061970e14936846b6271e153aa5ba539a22a7eb414d" dependencies = [ "alloy-primitives", "alloy-rlp", "arbitrary", "derive_arbitrary", "derive_more", + "hashbrown 0.14.3", "nybbles", "proptest", "proptest-derive", @@ -312,9 +359,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.7" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba" +checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" dependencies = [ "anstyle", "anstyle-parse", @@ -326,9 +373,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" [[package]] name = "anstyle-parse" @@ -360,9 +407,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "aquamarine" @@ -375,7 +422,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -519,9 +566,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "async-compression" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc2d0cfb2a7388d34f590e76686704c494ed7aaceed62ee1ba35cbf363abc2a5" +checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" dependencies = [ "brotli", "flate2", @@ -550,28 +597,18 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", -] - -[[package]] -name = "atomic-polyfill" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" -dependencies = [ - "critical-section", + "syn 2.0.52", ] [[package]] name = "attohttpc" -version = "0.16.3" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdb8867f378f33f78a811a8eb9bf108ad99430d7aad43315dd9319c827ef6247" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" dependencies = [ "http", "log", "url", - "wildmatch", ] [[package]] @@ -586,14 +623,13 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" +checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.52", ] [[package]] @@ -604,11 +640,11 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backon" -version = "0.4.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c1a6197b2120bb2185a267f6515038558b019e92b832bb0320e96d66268dcf9" +checksum = "c491fa80d69c03084223a4e73c378dd9f9a1e612eb54051213f88b2d5249b458" dependencies = [ - "fastrand 1.9.0", + "fastrand", "futures-core", "pin-project", "tokio", @@ -673,52 +709,29 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.66.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" -dependencies = [ - "bitflags 2.4.1", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.48", - "which", -] - -[[package]] -name = "bindgen" -version = "0.68.1" +version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cexpr", "clang-sys", + "itertools 0.12.1", "lazy_static", "lazycell", - "peeking_take_while", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "binout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "288c7b1c00556959bb7dc822d8adad4a30edd0d3a1fcc6839515792b8f300e5f" +checksum = "b60b1af88a588fca5fe424ae7d735bc52814f80ff57614f57043cc4e2024f2ea" [[package]] name = "bit-set" @@ -743,9 +756,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" dependencies = [ "arbitrary", "serde", @@ -753,9 +766,9 @@ dependencies = [ [[package]] name = "bitm" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c963a97cda30f51eb4f343d0f7924d491bdf30273d806ca1775239e37ab6bad" +checksum = "31b9ea263f0faf826a1c9de0e8bf8f32f5986c05f5e3abcf6bcde74616009586" dependencies = [ "dyn_size_of", ] @@ -814,44 +827,49 @@ dependencies = [ [[package]] name = "boa_ast" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73498e9b2f0aa7db74977afa4d594657611e90587abf0dd564c0b55b4a130163" +checksum = "5b6fb81ca0f301f33aff7401e2ffab37dc9e0e4a1cf0ccf6b34f4d9e60aa0682" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "boa_interner", "boa_macros", - "indexmap 2.1.0", + "indexmap 2.2.5", "num-bigint", "rustc-hash", ] [[package]] name = "boa_engine" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16377479d5d6d33896e7acdd1cc698d04a8f72004025bbbddf47558cd29146a6" +checksum = "600e4e4a65b26efcef08a7b1cf2899d3845a32e82e067ee3b75eaf7e413ff31c" dependencies = [ - "bitflags 2.4.1", + "arrayvec", + "bitflags 2.4.2", "boa_ast", "boa_gc", - "boa_icu_provider", "boa_interner", "boa_macros", "boa_parser", "boa_profiler", - "chrono", + "bytemuck", + "cfg-if", "dashmap", "fast-float", + "hashbrown 0.14.3", "icu_normalizer", - "indexmap 2.1.0", - "itertools 0.11.0", + "indexmap 2.2.5", + "intrusive-collections", + "itertools 0.12.1", "num-bigint", "num-integer", "num-traits", - "num_enum 0.6.1", + "num_enum", "once_cell", + "paste", "pollster", + "portable-atomic", "rand 0.8.5", "regress", "rustc-hash", @@ -863,44 +881,31 @@ dependencies = [ "tap", "thin-vec", "thiserror", + "time", ] [[package]] name = "boa_gc" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c97b44beaef9d4452342d117d94607fdfa8d474280f1ba0fd97853834e3a49b2" +checksum = "c055ef3cd87ea7db014779195bc90c6adfc35de4902e3b2fe587adecbd384578" dependencies = [ "boa_macros", "boa_profiler", + "hashbrown 0.14.3", "thin-vec", ] -[[package]] -name = "boa_icu_provider" -version = "0.17.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30e52e34e451dd0bfc2c654a9a43ed34b0073dbd4ae3394b40313edda8627aa" -dependencies = [ - "icu_collections", - "icu_normalizer", - "icu_properties", - "icu_provider", - "icu_provider_adapters", - "icu_provider_blob", - "once_cell", -] - [[package]] name = "boa_interner" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e5afa991908cfbe79bd3109b824e473a1dc5f74f31fab91bb44c9e245daa77" +checksum = "0cacc9caf022d92195c827a3e5bf83f96089d4bfaff834b359ac7b6be46e9187" dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.14.3", - "indexmap 2.1.0", + "indexmap 2.2.5", "once_cell", "phf", "rustc-hash", @@ -909,46 +914,40 @@ dependencies = [ [[package]] name = "boa_macros" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005fa0c5bd20805466dda55eb34cd709bb31a2592bb26927b47714eeed6914d8" +checksum = "6be9c93793b60dac381af475b98634d4b451e28336e72218cad9a20176218dbc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "synstructure", ] [[package]] name = "boa_parser" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e09afb035377a9044443b598187a7d34cd13164617182a4d7c348522ee3f052" +checksum = "9e8592556849f0619ed142ce2b3a19086769314a8d657f93a5765d06dbce4818" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "boa_ast", - "boa_icu_provider", "boa_interner", "boa_macros", "boa_profiler", "fast-float", - "icu_locid", "icu_properties", - "icu_provider", - "icu_provider_macros", "num-bigint", "num-traits", - "once_cell", "regress", "rustc-hash", - "tinystr", ] [[package]] name = "boa_profiler" -version = "0.17.3" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3190f92dfe48224adc92881c620f08ccf37ff62b91a094bb357fe53bd5e84647" +checksum = "e0d8372f2d5cbac600a260de87877141b42da1e18d2c7a08ccb493a49cbd55c0" [[package]] name = "boyer-moore-magiclen" @@ -980,11 +979,22 @@ dependencies = [ "alloc-stdlib", ] +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata 0.1.10", +] + [[package]] name = "bumpalo" -version = "3.14.0" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "byte-slice-cast" @@ -992,6 +1002,26 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" +[[package]] +name = "bytemuck" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.52", +] + [[package]] name = "byteorder" version = "1.5.0" @@ -1009,11 +1039,10 @@ dependencies = [ [[package]] name = "c-kzg" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32700dc7904064bb64e857d38a1766607372928e2466ee5f02a869829b3297d7" +checksum = "94a4bc5367b6284358d2a6a6a1dc2d92ec4b86034561c3b9d3341909752fd848" dependencies = [ - "bindgen 0.66.1", "blst", "cc", "glob", @@ -1022,6 +1051,38 @@ dependencies = [ "serde", ] +[[package]] +name = "camino" +version = "1.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "694c8807f2ae16faecc43dc17d74b3eb042482789fd0eb64b39a2e04e087053f" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.22", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "cassowary" version = "0.3.0" @@ -1055,9 +1116,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1065,7 +1126,7 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.4", ] [[package]] @@ -1100,9 +1161,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.16" +version = "4.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e54881c004cec7895b0068a0a954cd5d62da01aef83fa35b1e594497bf5445" +checksum = "949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813" dependencies = [ "clap_builder", "clap_derive", @@ -1110,52 +1171,33 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.16" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59cb82d7f531603d2fd1f507441cdd35184fa81beff7bd489570de7f773460bb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.10.0", + "strsim 0.11.0", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "clap_lex" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" - -[[package]] -name = "cobs" -version = "0.2.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" - -[[package]] -name = "codecs-derive" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" -dependencies = [ - "convert_case 0.6.0", - "parity-scale-codec", - "proc-macro2", - "quote", - "serde", - "syn 2.0.48", -] +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "colorchoice" @@ -1169,29 +1211,50 @@ version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c64043d6c7b7a4c58e39e7efccfdea7b93d885a795d0c054a69dbbf4dd52686" dependencies = [ - "crossterm 0.27.0", - "strum", - "strum_macros", + "crossterm", + "strum 0.25.0", + "strum_macros 0.25.3", "unicode-width", ] +[[package]] +name = "concat-kdf" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d72c1252426a83be2092dd5884a5f6e3b8e7180f6891b6263d2c21b92ec8816" +dependencies = [ + "digest 0.10.7", +] + [[package]] name = "confy" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37668cb35145dcfaa1931a5f37fde375eeae8068b4c0d2f289da28a270b2d2c" +checksum = "45b1f4c00870f07dc34adcac82bb6a72cc5aabca8536ba1797e01df51d2ce9a0" dependencies = [ "directories", "serde", "thiserror", - "toml 0.5.11", + "toml", +] + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "windows-sys 0.52.0", ] [[package]] name = "const-hex" -version = "1.10.0" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5104de16b218eddf8e34ffe2f86f74bfa4e61e95a1b89732fccf6325efd0557" +checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" dependencies = [ "cfg-if", "cpufeatures", @@ -1208,9 +1271,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-str" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aca749d3d3f5b87a0d6100509879f9cf486ab510803a4a4e1001da1ff61c2bd6" +checksum = "3618cccc083bb987a415d85c02ca6c9994ea5b44731ec28b9ecf09658655fba9" [[package]] name = "convert_case" @@ -1269,24 +1332,18 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" dependencies = [ "cfg-if", ] -[[package]] -name = "critical-section" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" - [[package]] name = "crossbeam-channel" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ "crossbeam-utils", ] @@ -1316,29 +1373,13 @@ version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" -[[package]] -name = "crossterm" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" -dependencies = [ - "bitflags 1.3.2", - "crossterm_winapi", - "libc", - "mio", - "parking_lot 0.12.1", - "signal-hook", - "signal-hook-mio", - "winapi", -] - [[package]] name = "crossterm" version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "crossterm_winapi", "libc", "mio", @@ -1428,9 +1469,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" +checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" dependencies = [ "cfg-if", "cpufeatures", @@ -1451,7 +1492,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1466,12 +1507,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ - "darling_core 0.20.3", - "darling_macro 0.20.3", + "darling_core 0.20.8", + "darling_macro 0.20.8", ] [[package]] @@ -1490,16 +1531,16 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1515,13 +1556,13 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.3" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ - "darling_core 0.20.3", + "darling_core 0.20.8", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1598,7 +1639,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1639,12 +1680,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - [[package]] name = "digest" version = "0.9.0" @@ -1668,11 +1703,11 @@ dependencies = [ [[package]] name = "directories" -version = "4.0.1" +version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" +checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" dependencies = [ - "dirs-sys 0.3.7", + "dirs-sys", ] [[package]] @@ -1681,7 +1716,7 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys", ] [[package]] @@ -1694,17 +1729,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - [[package]] name = "dirs-sys" version = "0.4.1" @@ -1730,8 +1754,9 @@ dependencies = [ [[package]] name = "discv5" -version = "0.3.1" -source = "git+https://github.com/sigp/discv5?rev=f289bbd4c57d499bb1bdb393af3c249600a1c662#f289bbd4c57d499bb1bdb393af3c249600a1c662" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bac33cb3f99889a57e56a8c6ccb77aaf0cfc7787602b7af09783f736d77314e1" dependencies = [ "aes 0.7.5", "aes-gcm", @@ -1744,7 +1769,7 @@ dependencies = [ "hex", "hkdf", "lazy_static", - "lru 0.12.1", + "lru", "more-asserts", "parking_lot 0.11.2", "rand 0.8.5", @@ -1753,7 +1778,6 @@ dependencies = [ "socket2 0.4.10", "tokio", "tracing", - "tracing-subscriber", "uint", "zeroize", ] @@ -1766,7 +1790,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1789,15 +1813,15 @@ checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" [[package]] name = "dyn-clone" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "dyn_size_of" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8adcce29eef18ae1369bbd268fd56bf98144e80281315e9d4a82e34df001c7" +checksum = "33d4f78a40b1ec35bf8cafdaaf607ba2f773c366b0b3bda48937cacd7a8d5134" [[package]] name = "ecdsa" @@ -1825,9 +1849,9 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ "curve25519-dalek", "ed25519", @@ -1852,9 +1876,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" [[package]] name = "elliptic-curve" @@ -1876,10 +1900,10 @@ dependencies = [ ] [[package]] -name = "embedded-io" -version = "0.4.0" +name = "encode_unicode" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "endian-type" @@ -1889,9 +1913,9 @@ checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" [[package]] name = "enr" -version = "0.9.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe81b5c06ecfdbc71dd845216f225f53b62a10cb8a16c946836a3467f701d05b" +checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" dependencies = [ "base64 0.21.7", "bytes", @@ -1913,7 +1937,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "570d109b813e904becc80d8d5da38376818a143348413f7149f1340fe04754d4" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "syn 1.0.109", @@ -1925,10 +1949,10 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1941,7 +1965,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -1952,7 +1976,7 @@ checksum = "6fd000fd6988e73bbe993ea3db9b1aa64906ab88766d654973924340c8cddb42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -2017,9 +2041,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "eyre" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6267a1fa6f59179ea4afc8e50fd8612a3cc60bc858f786ff877a4a8cb042799" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" dependencies = [ "indenter", "once_cell", @@ -2031,15 +2055,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c" -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - [[package]] name = "fastrand" version = "2.0.1" @@ -2079,9 +2094,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" +checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" [[package]] name = "fixed-hash" @@ -2183,7 +2198,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -2199,10 +2214,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] -name = "futures-timer" -version = "3.0.2" +name = "futures-test" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "ce388237b32ac42eca0df1ba55ed3bbda4eaf005d7d4b5dbc0b20ab962928ac9" +dependencies = [ + "futures-core", + "futures-executor", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "futures-util", + "pin-project", + "pin-utils", +] + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" dependencies = [ "gloo-timers", "send_wrapper", @@ -2275,19 +2307,6 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" -[[package]] -name = "git2" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd" -dependencies = [ - "bitflags 2.4.1", - "libc", - "libgit2-sys", - "log", - "url", -] - [[package]] name = "glob" version = "0.3.1" @@ -2353,9 +2372,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b553656127a00601c8ae5590fcfdc118e4083a7924b6cf4ffc1ea4b99dc429d7" +checksum = "4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb" dependencies = [ "bytes", "fnv", @@ -2363,22 +2382,13 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.5", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hash32" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -2425,30 +2435,22 @@ dependencies = [ ] [[package]] -name = "heapless" -version = "0.7.17" +name = "heck" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" -dependencies = [ - "atomic-polyfill", - "hash32", - "rustc_version 0.4.0", - "serde", - "spin 0.9.8", - "stable_deref_trait", -] +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "heck" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "hex" @@ -2483,15 +2485,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - [[package]] name = "hostname" version = "0.3.1" @@ -2505,9 +2498,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2582,7 +2575,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.5", + "socket2 0.5.6", "tokio", "tower-service", "tracing", @@ -2621,9 +2614,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2644,12 +2637,11 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8302d8dfd6044d3ddb3f807a5ef3d7bbca9a574959c6d6e4dc39aa7012d0d5" +checksum = "137d96353afc8544d437e8a99eceb10ab291352699573b0de5b08bda38c78c60" dependencies = [ "displaydoc", - "serde", "yoke", "zerofrom", "zerovec", @@ -2657,29 +2649,48 @@ dependencies = [ [[package]] name = "icu_locid" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3003f85dccfc0e238ff567693248c59153a46f4e6125ba4020b973cef4d1d335" +checksum = "5c0aa2536adc14c07e2a521e95512b75ed8ef832f0fdf9299d4a0a45d2be2a9d" dependencies = [ "displaydoc", "litemap", - "serde", "tinystr", "writeable", "zerovec", ] +[[package]] +name = "icu_locid_transform" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c17d8f6524fdca4471101dd71f0a132eb6382b5d6d7f2970441cb25f6f435a" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "545c6c3e8bf9580e2dafee8de6f9ec14826aaf359787789c7724f1f85f47d3dc" + [[package]] name = "icu_normalizer" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "652869735c9fb9f5a64ba180ee16f2c848390469c116deef517ecc53f4343598" +checksum = "c183e31ed700f1ecd6b032d104c52fe8b15d028956b73727c97ec176b170e187" dependencies = [ "displaydoc", "icu_collections", + "icu_normalizer_data", "icu_properties", "icu_provider", - "serde", "smallvec", "utf16_iter", "utf8_iter", @@ -2687,75 +2698,59 @@ dependencies = [ "zerovec", ] +[[package]] +name = "icu_normalizer_data" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22026918a80e6a9a330cb01b60f950e2b4e5284c59528fd0c6150076ef4c8522" + [[package]] name = "icu_properties" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce0e1aa26851f16c9e04412a5911c86b7f8768dac8f8d4c5f1c568a7e5d7a434" +checksum = "976e296217453af983efa25f287a4c1da04b9a63bf1ed63719455068e4453eb5" dependencies = [ "displaydoc", "icu_collections", + "icu_locid_transform", + "icu_properties_data", "icu_provider", - "serde", "tinystr", "zerovec", ] +[[package]] +name = "icu_properties_data" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6a86c0e384532b06b6c104814f9c1b13bcd5b64409001c0d05713a1f3529d99" + [[package]] name = "icu_provider" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dc312a7b6148f7dfe098047ae2494d12d4034f48ade58d4f353000db376e305" +checksum = "ba58e782287eb6950247abbf11719f83f5d4e4a5c1f2cd490d30a334bc47c2f4" dependencies = [ "displaydoc", "icu_locid", "icu_provider_macros", - "postcard", - "serde", "stable_deref_trait", - "writeable", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_provider_adapters" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ae1e2bd0c41728b77e7c46e9afdec5e2127d1eedacc684724667d50c126bd3" -dependencies = [ - "icu_locid", - "icu_provider", - "serde", "tinystr", - "yoke", - "zerovec", -] - -[[package]] -name = "icu_provider_blob" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd364c9a01f791a4bc04a74cf2a1d01d9f6926a40fd5ae1c28004e1e70d8338b" -dependencies = [ - "icu_provider", - "postcard", - "serde", "writeable", "yoke", + "zerofrom", "zerovec", ] [[package]] name = "icu_provider_macros" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b728b9421e93eff1d9f8681101b78fa745e0748c95c655c83f337044a7e10" +checksum = "d2abdd3a62551e8337af119c5899e600ca0c88ec8f23a46c60ba216c803dcf1a" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.52", ] [[package]] @@ -2796,10 +2791,12 @@ dependencies = [ ] [[package]] -name = "igd" -version = "0.12.0" -source = "git+https://github.com/stevefan1999-personal/rust-igd?rev=c2d1f83eb1612a462962453cb0703bc93258b173#c2d1f83eb1612a462962453cb0703bc93258b173" +name = "igd-next" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" dependencies = [ + "async-trait", "attohttpc", "bytes", "futures", @@ -2888,15 +2885,21 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ "equivalent", "hashbrown 0.14.3", "serde", ] +[[package]] +name = "indoc" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" + [[package]] name = "inout" version = "0.1.3" @@ -2916,13 +2919,22 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "intrusive-collections" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b694dc9f70c3bda874626d2aed13b780f137aab435f4e9814121955cf706122e" +dependencies = [ + "memoffset", +] + [[package]] name = "ipconfig" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2 0.5.5", + "socket2 0.5.6", "widestring", "windows-sys 0.48.0", "winreg", @@ -2955,18 +2967,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] @@ -3010,18 +3013,18 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -3119,7 +3122,7 @@ version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29110019693a4fa2dbda04876499d098fa16d70eba06b1e6e2b3f1b251419515" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro-crate 1.3.1", "proc-macro2", "quote", @@ -3251,9 +3254,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.152" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libffi" @@ -3274,26 +3277,14 @@ dependencies = [ "cc", ] -[[package]] -name = "libgit2-sys" -version = "0.16.1+1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c" -dependencies = [ - "cc", - "libc", - "libz-sys", - "pkg-config", -] - [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-targets 0.52.4", ] [[package]] @@ -3304,11 +3295,11 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libproc" -version = "0.14.2" +version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229004ebba9d1d5caf41623f1523b6d52abb47d9f6ab87f7e6fc992e3b854aef" +checksum = "8eb6497078a4c9c2aca63df56d8dce6eb4381d53a960f781a3a748f7ea97436d" dependencies = [ - "bindgen 0.68.1", + "bindgen", "errno", "libc", ] @@ -3319,23 +3310,11 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "libc", "redox_syscall 0.4.1", ] -[[package]] -name = "libz-sys" -version = "1.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -3353,9 +3332,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "litemap" @@ -3375,24 +3354,15 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "lru" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" -dependencies = [ - "hashbrown 0.14.3", -] - -[[package]] -name = "lru" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ "hashbrown 0.14.3", ] @@ -3457,6 +3427,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + [[package]] name = "metrics" version = "0.21.1" @@ -3494,7 +3473,7 @@ checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -3555,18 +3534,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", @@ -3658,28 +3637,33 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" +checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6" dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" dependencies = [ "autocfg", "num-integer", @@ -3700,9 +3684,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.17" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", "libm", @@ -3718,34 +3702,13 @@ dependencies = [ "libc", ] -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - [[package]] name = "num_enum" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" dependencies = [ - "num_enum_derive 0.7.2", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.48", + "num_enum_derive", ] [[package]] @@ -3754,26 +3717,26 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" dependencies = [ - "proc-macro-crate 3.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "num_threads" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ "libc", ] [[package]] name = "nybbles" -version = "0.1.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836816c354fb2c09622b54545a6f98416147346b13cc7eba5f92fab6b3042c93" +checksum = "95f06be0417d97f81fe4e5c86d7d01b392655a9cac9c19a848aa033e18937b23" dependencies = [ "alloy-rlp", "arbitrary", @@ -3797,16 +3760,12 @@ name = "once_cell" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" -dependencies = [ - "critical-section", - "portable-atomic", -] [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl-probe" @@ -3940,12 +3899,6 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" version = "1.1.1" @@ -3963,9 +3916,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.6" +version = "2.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" +checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8" dependencies = [ "memchr", "thiserror", @@ -3974,9 +3927,9 @@ dependencies = [ [[package]] name = "ph" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8267f3f34640e69a448dcf1ae8c76ae49a573cd9665b7f5d50b26ae169f361c" +checksum = "86b7b74d575d7c11fb653fae69688be5206cafc1ead33c01ce61ac7f36eae45b" dependencies = [ "binout", "bitm", @@ -4015,7 +3968,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -4029,22 +3982,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -4071,9 +4024,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "platforms" @@ -4105,18 +4058,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" -[[package]] -name = "postcard" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" -dependencies = [ - "cobs", - "embedded-io", - "heapless", - "serde", -] - [[package]] name = "powerfmt" version = "0.2.0" @@ -4129,26 +4070,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "pretty_assertions" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "prettyplease" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" -dependencies = [ - "proc-macro2", - "syn 2.0.48", -] - [[package]] name = "primitive-types" version = "0.12.2" @@ -4183,11 +4104,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b2685dd208a3771337d8d386a89840f0f43cd68be8dae90a5f8c2384effc9cd" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.21.0", + "toml_edit 0.21.1", ] [[package]] @@ -4216,9 +4137,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.76" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -4229,7 +4150,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "chrono", "flate2", "hex", @@ -4244,7 +4165,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "chrono", "hex", ] @@ -4257,7 +4178,7 @@ checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.4.1", + "bitflags 2.4.2", "lazy_static", "num-traits", "rand 0.8.5", @@ -4428,6 +4349,25 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "ratatui" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5659e52e4ba6e07b2dad9f1158f578ef84a73762625ddb51536019f34d180eb" +dependencies = [ + "bitflags 2.4.2", + "cassowary", + "crossterm", + "indoc", + "itertools 0.12.1", + "lru", + "paste", + "stability", + "strum 0.25.0", + "unicode-segmentation", + "unicode-width", +] + [[package]] name = "raw-cpuid" version = "10.7.0" @@ -4439,9 +4379,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd" dependencies = [ "either", "rayon-core", @@ -4449,9 +4389,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -4488,13 +4428,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick 1.1.2", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.6", "regex-syntax 0.8.2", ] @@ -4509,9 +4449,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick 1.1.2", "memchr", @@ -4532,11 +4472,11 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "regress" -version = "0.6.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82a9ecfa0cb04d0b04dddb99b8ccf4f66bc8dfd23df694b398570bd8ae3a50fb" +checksum = "d06f9a1f7cd8473611ba1a480cf35f9c5cffc2954336ba90a982fdb7e7d7f51e" dependencies = [ - "hashbrown 0.13.2", + "hashbrown 0.14.3", "memchr", ] @@ -4552,8 +4492,8 @@ dependencies = [ [[package]] name = "reth" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-chains", "alloy-rlp", @@ -4563,29 +4503,18 @@ dependencies = [ "clap", "comfy-table", "confy", - "const-str", - "crossterm 0.27.0", - "dirs-next", + "crossterm", "eyre", "fdlimit", "futures", - "futures-util", "human_bytes", - "humantime", - "hyper", - "itertools 0.12.0", - "jemalloc-ctl", + "itertools 0.12.1", "jemallocator", - "metrics", - "metrics-exporter-prometheus", + "libc", "metrics-process", - "metrics-util", - "once_cell", - "pin-project", - "pretty_assertions", - "procfs", "proptest", "rand 0.8.5", + "ratatui", "rayon", "reth-auto-seal-consensus", "reth-basic-payload-builder", @@ -4598,15 +4527,15 @@ dependencies = [ "reth-downloaders", "reth-ethereum-payload-builder", "reth-interfaces", - "reth-metrics", - "reth-net-nat", "reth-network", "reth-network-api", "reth-nippy-jar", "reth-node-api", "reth-node-builder", + "reth-node-core", + "reth-node-ethereum", "reth-payload-builder", - "reth-payload-validator 0.1.0-alpha.15", + "reth-payload-validator 0.2.0-beta.3", "reth-primitives", "reth-provider", "reth-prune", @@ -4617,30 +4546,25 @@ dependencies = [ "reth-rpc-engine-api", "reth-rpc-types", "reth-rpc-types-compat", - "reth-snapshot", "reth-stages", + "reth-static-file", "reth-tasks", "reth-tracing", "reth-transaction-pool", "reth-trie", - "revm-inspectors", - "secp256k1 0.27.0", "serde", "serde_json", - "shellexpand", + "similar-asserts", "tempfile", - "thiserror", "tokio", - "toml 0.8.8", + "toml", "tracing", - "tui", - "vergen", ] [[package]] name = "reth-auto-seal-consensus" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "futures-util", "reth-beacon-consensus", @@ -4658,8 +4582,8 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", "futures-core", @@ -4681,10 +4605,9 @@ dependencies = [ [[package]] name = "reth-beacon-consensus" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "cfg-if", "futures", "metrics", "reth-beacon-consensus-core", @@ -4693,13 +4616,13 @@ dependencies = [ "reth-metrics", "reth-node-api", "reth-payload-builder", - "reth-payload-validator 0.1.0-alpha.15", + "reth-payload-validator 0.2.0-beta.3", "reth-primitives", "reth-provider", "reth-prune", "reth-rpc-types", - "reth-snapshot", "reth-stages", + "reth-static-file", "reth-tasks", "reth-tokio-util", "schnellru", @@ -4711,8 +4634,8 @@ dependencies = [ [[package]] name = "reth-beacon-consensus-core" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "reth-consensus-common", "reth-interfaces", @@ -4721,12 +4644,12 @@ dependencies = [ [[package]] name = "reth-blockchain-tree" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "aquamarine", "linked_hash_set", - "lru 0.11.1", + "lru", "metrics", "parking_lot 0.12.1", "reth-db", @@ -4742,36 +4665,44 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-primitives", "bytes", - "codecs-derive", + "reth-codecs-derive", +] + +[[package]] +name = "reth-codecs-derive" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" +dependencies = [ + "convert_case 0.6.0", + "proc-macro2", + "quote", + "syn 2.0.52", ] [[package]] name = "reth-config" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ + "humantime-serde", "reth-discv4", "reth-net-nat", "reth-network", "reth-primitives", "secp256k1 0.27.0", "serde", - "serde_json", - "tempfile", ] [[package]] name = "reth-consensus-common" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "alloy-chains", - "cfg-if", "reth-interfaces", "reth-primitives", "reth-provider", @@ -4779,28 +4710,21 @@ dependencies = [ [[package]] name = "reth-db" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "arbitrary", "bytes", "derive_more", "eyre", - "futures", - "heapless", - "itertools 0.12.0", "metrics", "modular-bitfield", "once_cell", "page_size", "parity-scale-codec", - "parking_lot 0.12.1", "paste", - "postcard", "proptest", "proptest-derive", - "rand 0.8.5", - "rayon", "reth-codecs", "reth-interfaces", "reth-libmdbx", @@ -4808,17 +4732,17 @@ dependencies = [ "reth-nippy-jar", "reth-primitives", "reth-tracing", + "rustc-hash", "serde", + "strum 0.26.2", "tempfile", "thiserror", - "tokio-stream", - "vergen", ] [[package]] name = "reth-discv4" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", "discv5", @@ -4839,12 +4763,10 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "alloy-chains", "alloy-rlp", - "async-trait", "data-encoding", "enr", "linked_hash_set", @@ -4864,13 +4786,13 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", "futures", "futures-util", - "itertools 0.12.0", + "itertools 0.12.1", "metrics", "pin-project", "rayon", @@ -4889,14 +4811,15 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "aes 0.8.3", + "aes 0.8.4", "alloy-rlp", "block-padding", "byteorder", "cipher 0.4.4", + "concat-kdf", "ctr 0.9.2", "digest 0.10.7", "educe", @@ -4920,12 +4843,11 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-chains", "alloy-rlp", - "async-trait", "bytes", "derive_more", "futures", @@ -4947,8 +4869,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-chains", "alloy-primitives", @@ -4963,8 +4885,8 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "reth-basic-payload-builder", "reth-payload-builder", @@ -4976,17 +4898,26 @@ dependencies = [ "tracing", ] +[[package]] +name = "reth-etl" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" +dependencies = [ + "rayon", + "reth-db", + "tempfile", +] + [[package]] name = "reth-interfaces" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "auto_impl", "clap", "futures", "reth-eth-wire", "reth-network-api", - "reth-nippy-jar", "reth-primitives", "reth-rpc-types", "thiserror", @@ -4996,8 +4927,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "async-trait", "bytes", @@ -5016,34 +4947,36 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "byteorder", + "dashmap", "derive_more", - "indexmap 2.1.0", + "indexmap 2.2.5", "libc", "libffi", "parking_lot 0.12.1", "reth-mdbx-sys", "thiserror", + "tracing", ] [[package]] name = "reth-mdbx-sys" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "bindgen 0.68.1", + "bindgen", "cc", "libc", ] [[package]] name = "reth-metrics" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "futures", "metrics", @@ -5054,20 +4987,20 @@ dependencies = [ [[package]] name = "reth-metrics-derive" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "once_cell", "proc-macro2", "quote", "regex", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "reth-net-common" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "pin-project", "reth-primitives", @@ -5076,10 +5009,10 @@ dependencies = [ [[package]] name = "reth-net-nat" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "igd", + "igd-next", "pin-project-lite", "public-ip", "serde_with", @@ -5090,19 +5023,19 @@ dependencies = [ [[package]] name = "reth-network" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", "aquamarine", - "async-trait", "auto_impl", "derive_more", "enr", "fnv", "futures", + "futures-test", "humantime-serde", - "linked-hash-map", + "itertools 0.12.1", "linked_hash_set", "metrics", "parking_lot 0.12.1", @@ -5126,6 +5059,7 @@ dependencies = [ "secp256k1 0.27.0", "serde", "serde_json", + "smallvec", "thiserror", "tokio", "tokio-stream", @@ -5135,11 +5069,10 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-chains", - "async-trait", "reth-discv4", "reth-eth-wire", "reth-primitives", @@ -5151,8 +5084,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "anyhow", "bincode", @@ -5161,8 +5094,9 @@ dependencies = [ "lz4_flex", "memmap2", "ph", + "reth-primitives", "serde", - "sucds 0.8.1", + "sucds", "thiserror", "tracing", "zstd 0.12.4", @@ -5170,62 +5104,154 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "reth-primitives", "reth-rpc-types", + "revm", + "revm-primitives", "serde", "thiserror", ] [[package]] name = "reth-node-builder" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ + "confy", + "eyre", + "fdlimit", + "futures", + "reth-auto-seal-consensus", + "reth-beacon-consensus", + "reth-blockchain-tree", + "reth-config", + "reth-db", + "reth-interfaces", + "reth-network", "reth-node-api", + "reth-node-core", "reth-payload-builder", "reth-primitives", - "reth-rpc-types", - "serde", + "reth-provider", + "reth-prune", + "reth-revm", + "reth-rpc", + "reth-rpc-engine-api", + "reth-stages", + "reth-static-file", + "reth-tasks", + "reth-tracing", + "reth-transaction-pool", + "tokio", ] [[package]] -name = "reth-payload-builder" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +name = "reth-node-core" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", - "async-trait", - "futures-util", + "clap", + "const-str", + "derive_more", + "dirs-next", + "eyre", + "futures", + "humantime", + "hyper", + "jemalloc-ctl", "metrics", + "metrics-exporter-prometheus", + "metrics-process", + "metrics-util", + "once_cell", + "pin-project", + "procfs", + "rand 0.8.5", + "reth-auto-seal-consensus", + "reth-beacon-consensus", + "reth-blockchain-tree", + "reth-config", + "reth-consensus-common", + "reth-db", + "reth-discv4", + "reth-downloaders", "reth-interfaces", "reth-metrics", + "reth-net-nat", + "reth-network", + "reth-network-api", "reth-node-api", "reth-primitives", "reth-provider", + "reth-prune", + "reth-revm", + "reth-rpc", + "reth-rpc-api", + "reth-rpc-builder", + "reth-rpc-engine-api", "reth-rpc-types", "reth-rpc-types-compat", + "reth-stages", + "reth-static-file", "reth-tasks", + "reth-tracing", "reth-transaction-pool", - "revm-primitives", + "secp256k1 0.27.0", "serde", - "sha2", + "serde_json", + "shellexpand", "thiserror", "tokio", - "tokio-stream", "tracing", + "vergen", ] [[package]] -name = "reth-payload-validator" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +name = "reth-node-ethereum" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ + "eyre", + "reth-basic-payload-builder", + "reth-ethereum-payload-builder", + "reth-network", + "reth-node-api", + "reth-node-builder", + "reth-payload-builder", + "reth-primitives", + "reth-provider", + "reth-rpc-types", + "reth-tracing", + "reth-transaction-pool", + "serde", +] + +[[package]] +name = "reth-payload-builder" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" +dependencies = [ + "alloy-rlp", + "futures-util", + "metrics", + "reth-interfaces", + "reth-metrics", + "reth-node-api", "reth-primitives", + "reth-provider", "reth-rpc-types", "reth-rpc-types-compat", + "reth-transaction-pool", + "revm-primitives", + "sha2", + "thiserror", + "tokio", + "tokio-stream", + "tracing", ] [[package]] @@ -5240,8 +5266,12 @@ dependencies = [ "jsonrpsee", "reth", "reth-db", + "reth-interfaces", + "reth-node-ethereum", + "reth-provider", "reth-tracing", - "secp256k1 0.28.1", + "ruint", + "secp256k1 0.28.2", "serde", "serde_json", "serde_with", @@ -5249,13 +5279,24 @@ dependencies = [ "uuid", ] +[[package]] +name = "reth-payload-validator" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" +dependencies = [ + "reth-primitives", + "reth-rpc-types", + "reth-rpc-types-compat", +] + [[package]] name = "reth-primitives" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "ahash", "alloy-chains", + "alloy-eips", + "alloy-genesis", "alloy-primitives", "alloy-rlp", "alloy-trie", @@ -5263,11 +5304,11 @@ dependencies = [ "byteorder", "bytes", "c-kzg", + "cfg-if", "clap", "derive_more", - "itertools 0.11.0", + "itertools 0.12.1", "modular-bitfield", - "num_enum 0.7.2", "nybbles", "once_cell", "proptest", @@ -5278,41 +5319,40 @@ dependencies = [ "reth-rpc-types", "revm", "revm-primitives", + "roaring", "secp256k1 0.27.0", "serde", "serde_json", "sha2", - "smallvec", - "strum", - "sucds 0.6.0", + "strum 0.26.2", "tempfile", "thiserror", - "tracing", "zstd 0.12.4", ] [[package]] name = "reth-provider" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "ahash", "alloy-rlp", "auto_impl", "dashmap", - "itertools 0.12.0", + "itertools 0.12.1", "metrics", "parking_lot 0.12.1", "pin-project", "rayon", + "reth-codecs", "reth-db", "reth-interfaces", "reth-metrics", "reth-nippy-jar", + "reth-node-api", "reth-primitives", "reth-trie", "revm", - "strum", + "strum 0.26.2", "tokio", "tokio-stream", "tracing", @@ -5320,10 +5360,10 @@ dependencies = [ [[package]] name = "reth-prune" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "itertools 0.12.0", + "itertools 0.12.1", "metrics", "rayon", "reth-config", @@ -5332,21 +5372,20 @@ dependencies = [ "reth-metrics", "reth-primitives", "reth-provider", - "reth-snapshot", "reth-tokio-util", "thiserror", - "tokio", "tokio-stream", "tracing", ] [[package]] name = "reth-revm" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "reth-consensus-common", "reth-interfaces", + "reth-node-api", "reth-primitives", "reth-provider", "revm", @@ -5356,8 +5395,8 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-dyn-abi", "alloy-primitives", @@ -5366,21 +5405,23 @@ dependencies = [ "async-trait", "bytes", "derive_more", + "dyn-clone", "futures", "http", "http-body", "hyper", "jsonrpsee", "jsonwebtoken", - "lazy_static", "metrics", + "parking_lot 0.12.1", "pin-project", "rand 0.8.5", - "rayon", "reth-consensus-common", "reth-interfaces", "reth-metrics", + "reth-network", "reth-network-api", + "reth-node-api", "reth-primitives", "reth-provider", "reth-revm", @@ -5391,6 +5432,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "revm", + "revm-inspectors", "revm-primitives", "schnellru", "secp256k1 0.27.0", @@ -5399,7 +5441,6 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "tokio-util", "tower", "tracing", "tracing-futures", @@ -5407,12 +5448,11 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "jsonrpsee", "reth-node-api", - "reth-payload-builder", "reth-primitives", "reth-rpc-types", "serde_json", @@ -5420,28 +5460,23 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "hyper", "jsonrpsee", "metrics", - "reth-interfaces", "reth-ipc", "reth-metrics", "reth-network-api", "reth-node-api", - "reth-primitives", "reth-provider", "reth-rpc", "reth-rpc-api", - "reth-rpc-engine-api", - "reth-rpc-types", - "reth-rpc-types-compat", "reth-tasks", "reth-transaction-pool", "serde", - "strum", + "strum 0.26.2", "thiserror", "tower", "tower-http", @@ -5450,8 +5485,8 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "async-trait", "jsonrpsee-core", @@ -5476,16 +5511,15 @@ dependencies = [ [[package]] name = "reth-rpc-types" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-primitives", "alloy-rlp", + "alloy-rpc-engine-types", "alloy-rpc-trace-types", "alloy-rpc-types", "arbitrary", - "bytes", - "itertools 0.12.0", "jsonrpsee-types", "proptest", "proptest-derive", @@ -5499,70 +5533,73 @@ dependencies = [ [[package]] name = "reth-rpc-types-compat" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", "alloy-rpc-types", "reth-primitives", "reth-rpc-types", - "serde_json", -] - -[[package]] -name = "reth-snapshot" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" -dependencies = [ - "clap", - "reth-db", - "reth-interfaces", - "reth-nippy-jar", - "reth-primitives", - "reth-provider", - "thiserror", - "tokio", - "tracing", ] [[package]] name = "reth-stages" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "aquamarine", - "async-trait", "auto_impl", "futures-util", - "itertools 0.12.0", + "itertools 0.12.1", "metrics", "num-traits", - "pin-project", "rayon", "reth-codecs", + "reth-config", "reth-db", + "reth-etl", "reth-interfaces", "reth-metrics", "reth-primitives", "reth-provider", + "reth-static-file", "reth-tokio-util", "reth-trie", - "revm", - "serde", + "tempfile", "thiserror", "tokio", "tokio-stream", "tracing", ] +[[package]] +name = "reth-static-file" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" +dependencies = [ + "clap", + "parking_lot 0.12.1", + "rayon", + "reth-db", + "reth-interfaces", + "reth-nippy-jar", + "reth-primitives", + "reth-provider", + "reth-tokio-util", + "tokio-stream", + "tracing", +] + [[package]] name = "reth-tasks" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "dyn-clone", "futures-util", "metrics", + "pin-project", + "rayon", "reth-metrics", "thiserror", "tokio", @@ -5572,8 +5609,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "tokio", "tokio-stream", @@ -5581,8 +5618,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "clap", "eyre", @@ -5596,21 +5633,21 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ "alloy-rlp", "aquamarine", - "async-trait", "auto_impl", - "bitflags 2.4.1", + "bitflags 2.4.2", "fnv", "futures-util", + "itertools 0.12.1", "metrics", "parking_lot 0.12.1", "paste", "rand 0.8.5", - "reth-interfaces", + "reth-eth-wire", "reth-metrics", "reth-primitives", "reth-provider", @@ -5618,6 +5655,7 @@ dependencies = [ "revm", "schnellru", "serde", + "smallvec", "thiserror", "tokio", "tokio-stream", @@ -5626,16 +5664,17 @@ dependencies = [ [[package]] name = "reth-trie" -version = "0.1.0-alpha.15" -source = "git+https://github.com/paradigmxyz/reth?rev=5a623a9c1285d986fc46f1091d58d7a388323457#5a623a9c1285d986fc46f1091d58d7a388323457" +version = "0.2.0-beta.3" +source = "git+https://github.com/paradigmxyz/reth?tag=v0.2.0-beta.3#56d688b9392eb34e07f239c556febfd6394e729d" dependencies = [ - "ahash", "alloy-chains", "alloy-rlp", "auto_impl", "derive_more", + "metrics", "reth-db", "reth-interfaces", + "reth-metrics", "reth-primitives", "revm", "thiserror", @@ -5644,44 +5683,52 @@ dependencies = [ [[package]] name = "revm" -version = "3.5.0" -source = "git+https://github.com/bluealloy/revm?branch=reth_freeze#5ea9d7948bd5cd34bc5fe00e33ae9fcba5340448" +version = "7.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "217d21144d329f21d5245b8e6a46e0d6d0a527d9917d7a087f225b161e529169" dependencies = [ "auto_impl", + "cfg-if", + "dyn-clone", "revm-interpreter", "revm-precompile", + "serde", + "serde_json", ] [[package]] name = "revm-inspectors" version = "0.1.0" -source = "git+https://github.com/paradigmxyz/evm-inspectors#29bb854055855daf84c5aac796681e3aae208895" +source = "git+https://github.com/paradigmxyz/evm-inspectors?rev=f96bc1f#f96bc1fb2f024c1314157a2b4277092136ac488c" dependencies = [ "alloy-primitives", "alloy-rpc-trace-types", "alloy-rpc-types", "alloy-sol-types", + "anstyle", "boa_engine", "boa_gc", + "colorchoice", "revm", - "serde", "serde_json", "thiserror", - "tokio", ] [[package]] name = "revm-interpreter" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm?branch=reth_freeze#5ea9d7948bd5cd34bc5fe00e33ae9fcba5340448" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "776848391ed76d5103ca1aa1632cd21b521e2870afb30b63723da862d69efd0f" dependencies = [ "revm-primitives", + "serde", ] [[package]] name = "revm-precompile" -version = "2.2.0" -source = "git+https://github.com/bluealloy/revm?branch=reth_freeze#5ea9d7948bd5cd34bc5fe00e33ae9fcba5340448" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3fd1856a7cb09197a02669d779e1afb5a627b0888a24814ba2b6a1ad4c3ff8d" dependencies = [ "aurora-engine-modexp", "c-kzg", @@ -5689,23 +5736,25 @@ dependencies = [ "once_cell", "revm-primitives", "ripemd", - "secp256k1 0.28.1", + "secp256k1 0.28.2", "sha2", "substrate-bn", ] [[package]] name = "revm-primitives" -version = "1.3.0" -source = "git+https://github.com/bluealloy/revm?branch=reth_freeze#5ea9d7948bd5cd34bc5fe00e33ae9fcba5340448" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a4d7d3e793e907dc0797a9d3b43abfdf5226d133855214db9bd27d4cee33ebd" dependencies = [ "alloy-primitives", - "alloy-rlp", "auto_impl", - "bitflags 2.4.1", + "bitflags 2.4.2", "bitvec", "c-kzg", + "cfg-if", "derive_more", + "dyn-clone", "enumn", "hashbrown 0.14.3", "hex", @@ -5740,16 +5789,17 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", + "cfg-if", "getrandom 0.2.12", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -5780,6 +5830,16 @@ dependencies = [ "rustc-hex", ] +[[package]] +name = "roaring" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1c77081a55300e016cb86f2864415b7518741879db925b8d488a0ee0d2da6bf" +dependencies = [ + "bytemuck", + "byteorder", +] + [[package]] name = "rolling-file" version = "0.2.0" @@ -5797,9 +5857,9 @@ checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "ruint" -version = "1.11.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608a5726529f2f0ef81b8fde9873c4bb829d6b5b5ca6be4d97345ddf0749c825" +checksum = "8f308135fef9fc398342da5472ce7c484529df23743fb7c734e0f3d472971e62" dependencies = [ "alloy-rlp", "arbitrary", @@ -5822,9 +5882,9 @@ dependencies = [ [[package]] name = "ruint-macro" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e666a5496a0b2186dbcd0ff6106e29e093c15591bde62c20d3842007c6978a09" +checksum = "f86854cf50259291520509879a5c294c3c9a4c334e9ff65071c51e42ef1e2343" [[package]] name = "rustc-demangle" @@ -5859,16 +5919,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.21", + "semver 1.0.22", ] [[package]] name = "rustix" -version = "0.38.30" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", "linux-raw-sys", @@ -5882,7 +5942,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", - "ring 0.17.7", + "ring 0.17.8", "rustls-webpki", "sct", ] @@ -5914,7 +5974,7 @@ version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.17.7", + "ring 0.17.8", "untrusted 0.9.0", ] @@ -5938,15 +5998,15 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" [[package]] name = "ryu-js" -version = "0.2.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6518fc26bced4d53678a22d6e423e9d8716377def84545fe328236e3af070e7f" +checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5" [[package]] name = "schannel" @@ -5980,7 +6040,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.17.7", + "ring 0.17.8", "untrusted 0.9.0", ] @@ -6011,9 +6071,9 @@ dependencies = [ [[package]] name = "secp256k1" -version = "0.28.1" +version = "0.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f622567e3b4b38154fb8190bcf6b160d7a4301d70595a49195b48c116007a27" +checksum = "d24b59d129cdadea20aea4fb2352fa053712e5d713eee47d700cd4b2bc002f10" dependencies = [ "rand 0.8.5", "secp256k1-sys 0.9.2", @@ -6071,9 +6131,12 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +dependencies = [ + "serde", +] [[package]] name = "semver-parser" @@ -6092,9 +6155,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" dependencies = [ "serde_derive", ] @@ -6110,21 +6173,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.197" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" dependencies = [ + "indexmap 2.2.5", "itoa", "ryu", "serde", @@ -6141,16 +6205,17 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.4.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23" +checksum = "ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a" dependencies = [ "base64 0.21.7", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.1.0", + "indexmap 2.2.5", "serde", + "serde_derive", "serde_json", "serde_with_macros", "time", @@ -6158,14 +6223,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.4.0" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788" +checksum = "6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655" dependencies = [ - "darling 0.20.3", + "darling 0.20.8", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -6232,9 +6297,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" @@ -6276,6 +6341,26 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "similar" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21" +dependencies = [ + "bstr", + "unicode-segmentation", +] + +[[package]] +name = "similar-asserts" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e041bb827d1bfca18f213411d51b665309f1afb37a04a5d1464530e13779fc0f" +dependencies = [ + "console", + "similar", +] + [[package]] name = "simple_asn1" version = "0.6.2" @@ -6296,9 +6381,9 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] name = "sketches-ddsketch" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a406c1882ed7f29cd5e248c9848a80e7cb6ae0fea82346d2746f2f941c07e1" +checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" [[package]] name = "slab" @@ -6311,9 +6396,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" dependencies = [ "arbitrary", "serde", @@ -6337,12 +6422,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -6372,9 +6457,6 @@ name = "spin" version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] [[package]] name = "spki" @@ -6392,6 +6474,16 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" +[[package]] +name = "stability" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce" +dependencies = [ + "quote", + "syn 1.0.109", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -6416,13 +6508,28 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" + [[package]] name = "strum" version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" dependencies = [ - "strum_macros", + "strum_macros 0.25.3", +] + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +dependencies = [ + "strum_macros 0.26.2", ] [[package]] @@ -6431,11 +6538,24 @@ version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" dependencies = [ - "heck", + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.52", +] + +[[package]] +name = "strum_macros" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -6457,15 +6577,6 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" -[[package]] -name = "sucds" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64accd20141dfbef67ad83c51d588146cff7810616e1bda35a975be369059533" -dependencies = [ - "anyhow", -] - [[package]] name = "sucds" version = "0.8.1" @@ -6489,9 +6600,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" dependencies = [ "proc-macro2", "quote", @@ -6500,26 +6611,25 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cfbd642e1748fd9e47951973abfa78f825b11fbf68af9e6b9db4c983a770166" +checksum = "cb3d0961cd53c23ea94eeec56ba940f636f6394788976e9f16ca5ee0aca7464a" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "synstructure" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "285ba80e733fac80aa4270fbcdf83772a79b80aa35c97075320abfee4a915b06" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", - "unicode-xid", + "syn 2.0.52", ] [[package]] @@ -6530,13 +6640,12 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.9.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "redox_syscall 0.4.1", + "fastrand", "rustix", "windows-sys 0.52.0", ] @@ -6549,29 +6658,29 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "thread_local" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" dependencies = [ "cfg-if", "once_cell", @@ -6588,13 +6697,15 @@ dependencies = [ [[package]] name = "time" -version = "0.3.31" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", + "js-sys", "libc", + "num-conv", "num_threads", "powerfmt", "serde", @@ -6610,10 +6721,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -6628,12 +6740,11 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.2" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8faa444297615a4e020acb64146b0603c9c395c03a97c17fd9028816d3b4d63e" +checksum = "83c02bf3c538ab32ba913408224323915f4ef9a6d61c0e85d493f355921c0ece" dependencies = [ "displaydoc", - "serde", "zerovec", ] @@ -6654,9 +6765,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -6666,7 +6777,7 @@ dependencies = [ "parking_lot 0.12.1", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.6", "tokio-macros", "windows-sys 0.48.0", ] @@ -6679,7 +6790,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -6694,9 +6805,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -6722,23 +6833,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.8.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "af06656561d28735e9c1cd63dfd57132c8155426aa6af24f36a00a351f88c48e" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.22.7", ] [[package]] @@ -6756,9 +6858,9 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.5", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] @@ -6767,22 +6869,33 @@ version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.5", "toml_datetime", - "winnow", + "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap 2.2.5", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "18769cd1cec395d70860ceb4d932812a0b4d06b1a4bb336745a4d21b9496e992" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.5", "serde", "serde_spanned", "toml_datetime", - "winnow", + "winnow 0.6.5", ] [[package]] @@ -6814,7 +6927,7 @@ checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ "async-compression", "base64 0.21.7", - "bitflags 2.4.1", + "bitflags 2.4.2", "bytes", "futures-core", "futures-util", @@ -6880,7 +6993,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -6929,9 +7042,9 @@ dependencies = [ [[package]] name = "tracing-logfmt" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84bab42e40ace4e4ff19c92023ee1dbc1510db60976828fbbdc6994852c7d065" +checksum = "22b8e455f6caa5212a102ec530bf86b8dc5a4c536299bffd84b238fed9119be7" dependencies = [ "time", "tracing", @@ -7067,19 +7180,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "tui" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1" -dependencies = [ - "bitflags 1.3.2", - "cassowary", - "crossterm 0.25.0", - "unicode-segmentation", - "unicode-width", -] - [[package]] name = "typenum" version = "1.17.0" @@ -7122,9 +7222,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -7134,18 +7234,18 @@ checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" @@ -7153,12 +7253,6 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - [[package]] name = "universal-hash" version = "0.4.0" @@ -7212,9 +7306,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "getrandom 0.2.12", ] @@ -7225,20 +7319,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "vergen" -version = "8.2.8" +version = "8.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cf9c2670809c4840d4648fc7daa396551d7d88966f9ba93821b81a5c0c2d3f5" +checksum = "e27d6bdd219887a9eadd19e1c34f32e47fa332301184935c6d9bca26f3cca525" dependencies = [ "anyhow", - "git2", + "cargo_metadata", + "cfg-if", + "regex", "rustversion", "time", ] @@ -7281,9 +7371,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -7291,24 +7381,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -7318,9 +7408,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7328,28 +7418,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -7357,21 +7447,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" - -[[package]] -name = "which" -version = "4.4.2" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix", -] +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "widestring" @@ -7379,12 +7457,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" -[[package]] -name = "wildmatch" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f44b95f62d34113cf558c93511ac93027e03e9c29a60dd0fd70e6e025c7270a" - [[package]] name = "winapi" version = "0.3.9" @@ -7414,7 +7486,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core", - "windows-targets 0.52.0", + "windows-targets 0.52.4", ] [[package]] @@ -7423,7 +7495,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.4", ] [[package]] @@ -7441,7 +7513,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.4", ] [[package]] @@ -7461,17 +7533,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.4", + "windows_aarch64_msvc 0.52.4", + "windows_i686_gnu 0.52.4", + "windows_i686_msvc 0.52.4", + "windows_x86_64_gnu 0.52.4", + "windows_x86_64_gnullvm 0.52.4", + "windows_x86_64_msvc 0.52.4", ] [[package]] @@ -7482,9 +7554,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" [[package]] name = "windows_aarch64_msvc" @@ -7494,9 +7566,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" [[package]] name = "windows_i686_gnu" @@ -7506,9 +7578,9 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" [[package]] name = "windows_i686_msvc" @@ -7518,9 +7590,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" [[package]] name = "windows_x86_64_gnu" @@ -7530,9 +7602,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" [[package]] name = "windows_x86_64_gnullvm" @@ -7542,9 +7614,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" [[package]] name = "windows_x86_64_msvc" @@ -7554,15 +7626,24 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" + +[[package]] +name = "winnow" +version = "0.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] [[package]] name = "winnow" -version = "0.5.34" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" +checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" dependencies = [ "memchr", ] @@ -7622,12 +7703,6 @@ dependencies = [ "xml-rs", ] -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - [[package]] name = "yoke" version = "0.7.3" @@ -7648,7 +7723,7 @@ checksum = "9e6936f0cce458098a201c245a11bef556c6a0181129c7034d10d76d1ec3a2b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "synstructure", ] @@ -7669,7 +7744,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] @@ -7689,7 +7764,7 @@ checksum = "e6a647510471d372f2e6c2e6b7219e44d8c574d24fdc11c610a61455782f18c3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", "synstructure", ] @@ -7710,16 +7785,15 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] name = "zerovec" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591691014119b87047ead4dcf3e6adfbf73cb7c38ab6980d4f18a32138f35d46" +checksum = "eff4439ae91fb5c72b8abc12f3f2dbf51bd27e6eadb9f8a5bc8898dddb0e27ea" dependencies = [ - "serde", "yoke", "zerofrom", "zerovec-derive", @@ -7727,13 +7801,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.9.6" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a4a1638a1934450809c2266a70362bfc96cd90550c073f5b8a55014d1010157" +checksum = "7b4e5997cbf58990550ef1f0e5124a05e47e1ebd33a84af25739be6031a62c20" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.52", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 08f0108..f791975 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,6 +16,11 @@ path = "src/main.rs" inherits = "release" debug = true +[profile.release] +opt-level = 3 +lto = "fat" +codegen-units = 1 + [dependencies] async-trait = "0.1.73" clap = "4.4.5" @@ -23,15 +28,19 @@ derivative = "2.2.0" eyre = "0.6.8" hex = "0.4.3" jsonrpsee = "0.20.1" -reth = { git = "https://github.com/paradigmxyz/reth", rev = "5a623a9c1285d986fc46f1091d58d7a388323457" } -reth-db = { features = ["test-utils"], git = "https://github.com/paradigmxyz/reth", rev = "5a623a9c1285d986fc46f1091d58d7a388323457"} -reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "5a623a9c1285d986fc46f1091d58d7a388323457"} +reth = { git = "https://github.com/paradigmxyz/reth", tag = "v0.2.0-beta.3" } +reth-db = { features = ["test-utils"], git = "https://github.com/paradigmxyz/reth", tag = "v0.2.0-beta.3"} +reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v0.2.0-beta.3", features=["test-utils"]} +reth-tracing = { git = "https://github.com/paradigmxyz/reth", tag = "v0.2.0-beta.3"} +reth-interfaces = { git = "https://github.com/paradigmxyz/reth", tag = "v0.2.0-beta.3"} +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v0.2.0-beta.3"} secp256k1 = { version = "0.28.0", features = ["rand-std"] } serde = "1.0.188" serde_json = "1.0.107" serde_with = "3.3.0" tokio = "1.35" uuid = "1.6.1" +ruint = "1.12.1" [dev-dependencies] tokio = "1.32.0" diff --git a/src/cli_ext.rs b/src/cli_ext.rs index 1d0ac97..92dc4a1 100644 --- a/src/cli_ext.rs +++ b/src/cli_ext.rs @@ -1,51 +1,7 @@ -use crate::rpc::ValidationApiServer; -use crate::ValidationApi; -use reth::cli::components::{RethNodeComponents, RethRpcComponents}; -use reth::cli::{ - config::RethRpcConfig, - ext::{RethCliExt, RethNodeCommandConfig}, -}; - -/// The type that tells the reth CLI what extensions to use -pub struct ValidationCliExt; - -impl RethCliExt for ValidationCliExt { - /// This tells the reth CLI to install the `validation` rpc namespace via `RethCliValidationApi` - type Node = RethCliValidationApi; -} - /// Our custom cli args extension that adds one flag to reth default CLI. #[derive(Debug, Clone, Copy, Default, clap::Args)] -pub struct RethCliValidationApi { +pub struct ValidationCliExt { /// CLI flag to enable the validation extension namespace #[clap(long)] pub enable_ext: bool, } - -impl RethNodeCommandConfig for RethCliValidationApi { - // This is the entrypoint for the CLI to extend the RPC server with custom rpc namespaces. - fn extend_rpc_modules( - &mut self, - _config: &Conf, - components: &Reth, - rpc_components: RethRpcComponents<'_, Reth>, - ) -> eyre::Result<()> - where - Conf: RethRpcConfig, - Reth: RethNodeComponents, - { - if !self.enable_ext { - return Ok(()); - } - - // here we get the configured pool type from the CLI. - let provider = components.provider(); - let ext = ValidationApi::new(provider); - - // now we merge our extension namespace into all configured transports - rpc_components.modules.merge_configured(ext.into_rpc())?; - - println!("validation extension enabled"); - Ok(()) - } -} diff --git a/src/main.rs b/src/main.rs index 021fba5..1bb8933 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,8 +14,29 @@ //! ``` use clap::Parser; use reth::cli::Cli; -use reth_payload_validator::ValidationCliExt; +use reth_node_ethereum::EthereumNode; +use reth_payload_validator::{rpc::ValidationApiServer, ValidationApi, ValidationCliExt}; fn main() { - Cli::::parse().run().unwrap(); + Cli::::parse() + .run(|builder, _args| async move { + let handle = builder + .node(EthereumNode::default()) + .extend_rpc_modules(move |ctx| { + // here we get the configured pool. + let provider = ctx.provider().clone(); + + let ext = ValidationApi::new(provider); + + // now we merge our extension namespace into all configured transports + ctx.modules.merge_configured(ext.into_rpc())?; + + println!("txpool extension enabled"); + Ok(()) + }) + .launch() + .await?; + handle.wait_for_node_exit().await + }) + .unwrap(); } diff --git a/src/rpc/api.rs b/src/rpc/api.rs index 18fa971..353e747 100644 --- a/src/rpc/api.rs +++ b/src/rpc/api.rs @@ -5,7 +5,7 @@ use jsonrpsee::proc_macros::rpc; /// trait interface for a custom rpc namespace: `validation` /// /// This defines an additional namespace where all methods are configured as trait functions. -#[rpc(client, server, namespace = "flashbots")] +#[rpc(server, client, namespace = "flashbots")] pub trait ValidationApi { /// Validates a block submitted to the relay #[method(name = "validateBuilderSubmissionV3")] diff --git a/src/rpc/utils.rs b/src/rpc/utils.rs index 6439f75..646291c 100644 --- a/src/rpc/utils.rs +++ b/src/rpc/utils.rs @@ -1,7 +1,5 @@ use crate::rpc::result::internal_rpc_err; use jsonrpsee::core::RpcResult; -use reth_tracing::tracing; -use std::cmp::Ordering; pub fn compare_values( name: &str, @@ -28,44 +26,27 @@ const MIN_GAS_LIMIT: u64 = 5000; // the target if the baseline gas is lower. // Ported from: https://github.com/flashbots/builder/blob/03ee71cf0a344397204f65ff6d3a917ee8e06724/core/utils/gas_limit.go#L8 // Reference implementation: https://eips.ethereum.org/EIPS/eip-1559#specification -pub fn calc_gas_limit(parent_gas_limit: u64, desired_limit: u64) -> u64 { +pub fn calc_gas_limit(parent_gas_limit: u64, mut desired_limit: u64) -> u64 { // TODO: Understand why 1 is subtracted here let delta = parent_gas_limit / GAS_LIMIT_BOUND_DIVISOR - 1; - let desired_or_min_limit = std::cmp::max(desired_limit, MIN_GAS_LIMIT); - match parent_gas_limit.cmp(&desired_or_min_limit) { - Ordering::Less => { - let max_acceptable_limit = parent_gas_limit + delta; - tracing::debug!( - parent_gas_limit, - delta, - desired_limit, - desired_or_min_limit, - max_acceptable_limit, - "Parent gas limit is less than desired/min limit" - ); - std::cmp::min(max_acceptable_limit, desired_or_min_limit) - } - Ordering::Greater => { - let min_acceptable_limit = parent_gas_limit - delta; - tracing::debug!( - parent_gas_limit, - delta, - desired_limit, - desired_or_min_limit, - min_acceptable_limit, - "Parent gas limit is greater than desired/min limit" - ); - std::cmp::max(min_acceptable_limit, desired_or_min_limit) + let mut limit = parent_gas_limit; + + if desired_limit < MIN_GAS_LIMIT { + desired_limit = MIN_GAS_LIMIT; + } + + // If we're outside our allowed gas range, we try to hone towards them + if limit < desired_limit { + limit = parent_gas_limit + delta; + if limit > desired_limit { + limit = desired_limit; } - Ordering::Equal => { - tracing::debug!( - parent_gas_limit, - delta, - desired_limit, - desired_or_min_limit, - "Parent gas limit is equal to desired/min limit" - ); - parent_gas_limit + } else if limit > desired_limit { + limit = parent_gas_limit - delta; + if limit < desired_limit { + limit = desired_limit; } } + + limit } diff --git a/src/rpc/validation.rs b/src/rpc/validation.rs index 41cb64a..f2f191e 100644 --- a/src/rpc/validation.rs +++ b/src/rpc/validation.rs @@ -2,9 +2,14 @@ use crate::rpc::result::internal_rpc_err; use crate::rpc::types::*; use crate::rpc::utils::*; use jsonrpsee::core::RpcResult; -use reth::consensus_common::validation::full_validation; +use reth::consensus_common::validation::{ + validate_all_transaction_regarding_block_and_nonces, validate_block_regarding_chain, + validate_block_standalone, validate_header_standalone, +}; +use reth::primitives::SealedHeader; use reth::primitives::{ - revm_primitives::AccountInfo, Address, Receipts, SealedBlock, TransactionSigned, U256, + revm_primitives::AccountInfo, Address, BlockId, ChainSpec, Receipts, SealedBlock, + TransactionSigned, U256, }; use reth::providers::{ AccountReader, BlockExecutor, BlockReaderIdExt, BundleStateWithReceipts, ChainSpecProvider, @@ -13,6 +18,8 @@ use reth::providers::{ use reth::revm::{database::StateProviderDatabase, db::BundleState, processor::EVMProcessor}; use reth::rpc::compat::engine::payload::try_into_sealed_block; use reth::rpc::result::ToRpcResult; +use reth_interfaces::{consensus::ConsensusError, RethResult}; +use reth_node_ethereum::EthEvmConfig; use reth_tracing::tracing; use std::time::Instant; use uuid::Uuid; @@ -71,8 +78,6 @@ where } fn validate_inner(&self) -> RpcResult<()> { - self.trace_validation_step(self.check_gas_limit(), "Check Gas Limit")?; - self.trace_validation_step( self.compare_message_execution_payload(), "Message / Payload comparison", @@ -80,7 +85,9 @@ where let block = self.trace_validation_step(self.parse_block(), "Block parsing")?; - self.trace_validation_step(self.validate_header(&block), "Full validation")?; + let parent = self.trace_validation_step(self.validate_header(&block), "Full validation")?; + + self.trace_validation_step(self.check_gas_limit(parent), "Check Gas Limit")?; let state = self.trace_validation_step( self.execute_and_verify_block(&block), @@ -146,7 +153,7 @@ where .to_rpc_result() } - fn validate_header(&self, block: &SealedBlock) -> RpcResult<()> { + fn validate_header(&self, block: &SealedBlock) -> RpcResult { full_validation(block, &self.provider, &self.provider.chain_spec()).to_rpc_result() } @@ -154,8 +161,11 @@ where let chain_spec = self.provider.chain_spec(); let state_provider = self.provider.latest().to_rpc_result()?; - let mut executor = - EVMProcessor::new_with_db(chain_spec, StateProviderDatabase::new(&state_provider)); + let mut executor = EVMProcessor::new_with_db( + chain_spec, + StateProviderDatabase::new(&state_provider), + EthEvmConfig::default(), + ); let unsealed_block = block @@ -179,7 +189,10 @@ where block: &SealedBlock, state: &BundleStateWithReceipts, ) -> RpcResult<()> { - let state_provider = self.provider.latest().to_rpc_result()?; + let state_provider = self + .provider + .state_by_block_id(BlockId::Hash(block.parent_hash.into())) + .to_rpc_result()?; let state_root = state_provider .state_root(state) .map_err(|e| internal_rpc_err(format!("Error computing state root: {e:?}")))?; @@ -211,21 +224,11 @@ where ) } - fn check_gas_limit(&self) -> RpcResult<()> { + fn check_gas_limit(&self, parent: SealedHeader) -> RpcResult<()> { let parent_hash = &self.request_body.execution_payload.parent_hash; let registered_gas_limit = self.request_body.registered_gas_limit; let block_gas_limit = self.request_body.execution_payload.gas_limit; - let parent = self - .provider - .header(parent_hash) - .to_rpc_result()? - .ok_or(internal_rpc_err(format!( - "Parent block with hash {} not found", - parent_hash - )))?; - tracing::debug!(request_id=self.request_id.to_string(), parent_hash = %parent_hash, parent_gas_limit = parent.gas_limit, registered_gas_limit = registered_gas_limit, block_gas_limit = block_gas_limit, "Checking gas limit"); - // Prysm has a bug where it registers validators with a desired gas limit // of 0. Some builders treat these as desiring gas limit 30_000_000. As a // workaround, whenever the desired gas limit is 0, we accept both the @@ -328,3 +331,37 @@ fn check_proposer_balance_change( fee_receiver_account_after.balance >= (fee_receiver_account_before.balance + expected_payment) } + +/// Full validation of block before execution. +pub fn full_validation( + block: &SealedBlock, + provider: Provider, + chain_spec: &ChainSpec, +) -> RethResult { + validate_header_standalone(&block.header, chain_spec)?; + validate_block_standalone(block, chain_spec)?; + let parent = validate_block_regarding_chain(block, &provider)?; + + let header = &block.header; + header + .validate_against_parent(&parent, chain_spec) + .map_err(ConsensusError::from)?; + + // NOTE: depending on the need of the stages, recovery could be done in different place. + let transactions = block + .body + .iter() + .map(|tx| { + tx.try_ecrecovered() + .ok_or(ConsensusError::TransactionSignerRecoveryError) + }) + .collect::, _>>()?; + + validate_all_transaction_regarding_block_and_nonces( + transactions.iter(), + &block.header, + provider, + chain_spec, + )?; + Ok(parent) +} diff --git a/tests/integration/http.rs b/tests/integration/http.rs index deace8b..f20dd54 100644 --- a/tests/integration/http.rs +++ b/tests/integration/http.rs @@ -15,13 +15,17 @@ use reth::providers::{ }; use reth::revm::{database::StateProviderDatabase, processor::EVMProcessor}; use reth::rpc::compat::engine::payload::try_into_block; -use reth_db::test_utils::{create_test_rw_db, TempDatabase}; +use reth_db::test_utils::TempDatabase; use reth_db::transaction::{DbTx, DbTxMut}; use reth_db::{tables, DatabaseEnv}; +use reth_node_ethereum::EthEvmConfig; use reth_payload_validator::rpc::{ ValidationApiClient, ValidationApiServer, ValidationRequestBody, }; use reth_payload_validator::ValidationApi; +use reth_provider::test_utils::create_test_provider_factory_with_chain_spec; + +use ruint::Uint; use secp256k1::{rand, PublicKey, Secp256k1, SecretKey}; use std::sync::Arc; use std::time::{SystemTime, UNIX_EPOCH}; @@ -177,7 +181,7 @@ async fn test_incorrect_parent() { validation_request_body.clone(), ) .await; - let expected_message = format!("Parent block with hash {:?} not found", new_parent_hash); + let expected_message = format!("block parent [hash={:?}] is not known", new_parent_hash); let error_message = get_call_error_message(result.unwrap_err()).unwrap(); assert_eq!(error_message, expected_message); } @@ -207,7 +211,7 @@ async fn test_tx_nonce_too_low() { nonce: 0, // Invalid Tx because nonce is too low gas_limit: 21000, to: TransactionKind::Call(receiver_address), - value: 1_000_000_u128.into(), + value: Uint::from(1_000_000), input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -269,7 +273,7 @@ async fn test_proposer_payment_validation_via_balance_change() { nonce: 0, gas_limit: 21000, to: TransactionKind::Call(receiver_address), - value: 1_000_000_u128.into(), + value: Uint::from(1_000_000), input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -331,7 +335,7 @@ async fn test_proposer_spent_in_same_block() { nonce: 0, gas_limit: 21000, to: TransactionKind::Call(receiver_address), - value: amount_to_send.into(), + value: amount_to_send, input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -346,7 +350,7 @@ async fn test_proposer_spent_in_same_block() { nonce: 0, gas_limit: 21000, to: TransactionKind::Call(receiver_address), - value: 1_000_000_u128.into(), + value: Uint::from(1_000_000), input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -409,7 +413,7 @@ async fn test_proposer_spent_in_same_block_but_payment_tx_last() { nonce: 0, gas_limit: 21000, to: TransactionKind::Call(receiver_address), - value: amount_to_send.into(), + value: Uint::from(amount_to_send), input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -424,7 +428,7 @@ async fn test_proposer_spent_in_same_block_but_payment_tx_last() { nonce: 0, gas_limit: 21000, to: TransactionKind::Call(receiver_address), - value: 1_000_000_u128.into(), + value: Uint::from(1_000_000), input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -567,7 +571,7 @@ fn generate_valid_request( nonce: 0, gas_limit: 21000, to: TransactionKind::Call(fee_recipient), - value: proposer_payment.into(), + value: Uint::from(proposer_payment), input: Bytes::default(), max_fee_per_gas: 0x4a817c800, max_priority_fee_per_gas: 0x3b9aca00, @@ -673,7 +677,11 @@ fn calculate_receipts_root( let chain_spec = GOERLI.clone(); let state_provider_db = StateProviderDatabase::new(provider_factory.latest().unwrap()); - let mut executor = EVMProcessor::new_with_db(chain_spec.clone(), state_provider_db); + let mut executor = EVMProcessor::new_with_db( + chain_spec.clone(), + state_provider_db, + EthEvmConfig::default(), + ); let block_with_senders = block .clone() .with_recovered_senders() @@ -699,7 +707,11 @@ fn calculate_receipts_root( .expect("failed to recover senders"); let state_provider_db = StateProviderDatabase::new(provider_factory.latest().unwrap()); - let mut block_executor = EVMProcessor::new_with_db(chain_spec.clone(), state_provider_db); + let mut block_executor = EVMProcessor::new_with_db( + chain_spec.clone(), + state_provider_db, + EthEvmConfig::default(), + ); block_executor .execute_and_verify_receipt(&new_block, U256::MAX) .unwrap(); @@ -729,15 +741,14 @@ fn sign_transaction(secret_key: &SecretKey, transaction: Transaction) -> Transac } fn get_provider_factory() -> TestProviderFactory { - let db = create_test_rw_db(); - ProviderFactory::new(db, GOERLI.clone()) + create_test_provider_factory_with_chain_spec(GOERLI.clone()) } fn add_account(provider_factory: &TestProviderFactory, address: Address, account: Account) { let hashed_address = keccak256(address); let provider = provider_factory.provider_rw().unwrap(); let tx = provider.into_tx(); - tx.put::(hashed_address, account) + tx.put::(hashed_address, account) .unwrap(); tx.commit().unwrap(); @@ -756,11 +767,11 @@ fn add_block_with_hash(provider_factory: &TestProviderFactory, hash: B256, block .unwrap(); tx.put::(header.clone().number, hash) .unwrap(); - tx.put::(header.number, U256::MAX.into()) - .unwrap(); + // tx.put::(header.number, U256::MAX.into()) + // .unwrap(); tx.put::(hash, header.number) .unwrap(); - tx.put::( + tx.put::( StageId::Finish.to_string(), StageCheckpoint { block_number: header.number,