From 6873f950df4fb74bb59d81c7d47d997824feb901 Mon Sep 17 00:00:00 2001 From: nicolas <48695862+merklefruit@users.noreply.github.com> Date: Sun, 6 Oct 2024 13:53:02 +0200 Subject: [PATCH 1/5] chore: rm kona-providers and use upstream --- Cargo.lock | 2023 +++++++++++++------ Cargo.toml | 42 +- crates/kona-providers/Cargo.toml | 29 - crates/kona-providers/src/blob_provider.rs | 176 -- crates/kona-providers/src/chain_provider.rs | 351 ---- crates/kona-providers/src/lib.rs | 17 - crates/net/src/types/envelope.rs | 2 - crates/rollup/Cargo.toml | 8 +- crates/rollup/src/driver/mod.rs | 2 +- crates/ser/Cargo.toml | 4 - 10 files changed, 1382 insertions(+), 1272 deletions(-) delete mode 100644 crates/kona-providers/Cargo.toml delete mode 100644 crates/kona-providers/src/blob_provider.rs delete mode 100644 crates/kona-providers/src/chain_provider.rs delete mode 100644 crates/kona-providers/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 9c73094..00c3512 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -133,21 +133,21 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8367891bf380210abb0d6aa30c5f85a9080cb4a066c4d5c5acadad630823751b" +checksum = "056f2c01b2aed86e15b43c47d109bfc8b82553dc34e66452875e51247ec31ab2" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.4.2", "alloy-contract", "alloy-core", - "alloy-eips", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-network", "alloy-provider", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types", - "alloy-serde", + "alloy-serde 0.4.2", "alloy-signer", "alloy-transport", "alloy-transport-http", @@ -173,20 +173,36 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "629b62e38d471cc15fea534eb7283d2f8a4e8bdb1811bcc5d66dda6cfce6fae1" dependencies = [ - "alloy-eips", + "alloy-eips 0.3.6", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.3.6", + "serde", +] + +[[package]] +name = "alloy-consensus" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" +dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "arbitrary", + "auto_impl", "c-kzg", + "derive_more", "serde", + "serde_with", ] [[package]] name = "alloy-contract" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eefe64fd344cffa9cf9e3435ec4e93e6e9c3481bc37269af988bf497faf4a6a" +checksum = "917f7d12cf3971dc8c11c9972f732b35ccb9aaaf5f28f2f87e9e6523bee3a8ad" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -200,26 +216,27 @@ dependencies = [ "alloy-transport", "futures", "futures-util", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "alloy-core" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b095eb0533144b4497e84a9cc3e44a5c2e3754a3983c0376a55a2f9183a53e" +checksum = "5ce854562e7cafd5049189d0268d6e5cba05fe6c9cb7c6f8126a79b94800629c" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", "alloy-primitives", + "alloy-rlp", "alloy-sol-types", ] [[package]] name = "alloy-dyn-abi" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4004925bff5ba0a11739ae84dbb6601a981ea692f3bd45b626935ee90a6b8471" +checksum = "0b499852e1d0e9b8c6db0f24c48998e647c0d5762a01090f955106a7700e4611" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -251,9 +268,9 @@ dependencies = [ [[package]] name = "alloy-eip7702" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d319bb544ca6caeab58c39cea8921c55d924d4f68f2c60f24f914673f9a74a" +checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -261,6 +278,7 @@ dependencies = [ "k256", "rand", "serde", + "serde_with", ] [[package]] @@ -273,11 +291,27 @@ dependencies = [ "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.3.6", + "c-kzg", + "serde", + "sha2 0.10.8", +] + +[[package]] +name = "alloy-eips" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" +dependencies = [ + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", "arbitrary", "c-kzg", "derive_more", - "ethereum_ssz", + "ethereum_ssz 0.8.0", "ethereum_ssz_derive", "once_cell", "serde", @@ -286,20 +320,20 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a7a18afb0b318616b6b2b0e2e7ac5529d32a966c673b48091c9919e284e6aca" +checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" dependencies = [ "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-json-abi" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9996daf962fd0a90d3c93b388033228865953b92de7bb1959b891d78750a4091" +checksum = "a438d4486b5d525df3b3004188f9d5cd1d65cd30ecc41e5a3ccef6f6342e8af9" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -309,56 +343,57 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3c717b5298fad078cd3a418335b266eba91b511383ca9bd497f742d5975d5ab" +checksum = "f8fa8a1a3c4cbd221f2b8e3693aeb328fca79a757fe556ed08e47bbbc2a70db7" dependencies = [ "alloy-primitives", "alloy-sol-types", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", ] [[package]] name = "alloy-network" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb3705ce7d8602132bcf5ac7a1dd293a42adc2f183abf5907c30ac535ceca049" +checksum = "85fa23a6a9d612b52e402c995f2d582c25165ec03ac6edf64c861a76bc5b87cd" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-json-rpc", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde", + "alloy-serde 0.4.2", "alloy-signer", "alloy-sol-types", "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "alloy-network-primitives" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94ad40869867ed2d9cd3842b1e800889e5b49e6b92da346e93862b4a741bedf3" +checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" dependencies = [ - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-primitives" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "411aff151f2a73124ee473708e82ed51b2535f68928b6a1caa8bc1246ae6f7cd" +checksum = "260d3ff3bff0bb84599f032a2f2c6828180b0ea0cd41fdaf44f39cef3ba41861" dependencies = [ "alloy-rlp", "arbitrary", @@ -368,27 +403,32 @@ dependencies = [ "derive_arbitrary", "derive_more", "getrandom", + "hashbrown 0.14.5", "hex-literal", + "indexmap 2.5.0", "itoa", "k256", "keccak-asm", + "paste", "proptest", "proptest-derive", "rand", "ruint", + "rustc-hash 2.0.0", "serde", + "sha3", "tiny-keccak", ] [[package]] name = "alloy-provider" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927f708dd457ed63420400ee5f06945df9632d5d101851952056840426a10dc5" +checksum = "fcfaa4ffec0af04e3555686b8aacbcdf7d13638133a0672749209069750f78a6" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-json-rpc", "alloy-network", "alloy-network-primitives", @@ -404,7 +444,7 @@ dependencies = [ "async-stream", "async-trait", "auto_impl", - "dashmap", + "dashmap 6.1.0", "futures", "futures-utils-wasm", "lru", @@ -412,7 +452,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", "url", @@ -420,9 +460,9 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d05f63677e210d758cd5d6d1ce10f20c980c3560ccfbe79ba1997791862a04f" +checksum = "f32cef487122ae75c91eb50154c70801d71fabdb976fec6c49e0af5e6486ab15" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -461,9 +501,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d82952dca71173813d4e5733e2c986d8b04aea9e0f3b0a576664c232ad050a5" +checksum = "370143ed581aace6e663342d21d209c6b2e34ee6142f7d6675adb518deeaf0dc" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -486,22 +526,23 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64333d639f2a0cf73491813c629a405744e16343a4bc5640931be707c345ecc5" +checksum = "9ffc534b7919e18f35e3aa1f507b6f3d9d92ec298463a9f6beaac112809d8d06" dependencies = [ + "alloy-primitives", "alloy-rpc-types-beacon", "alloy-rpc-types-engine", "alloy-rpc-types-eth", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-rpc-types-admin" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fefd12e99dd6b7de387ed13ad047ce2c90d8950ca62fc48b8a457ebb8f936c61" +checksum = "cb520ed46cc5b7d8c014a73fdd77b6a310383a2a5c0a5ae3c9b8055881f062b7" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -511,36 +552,36 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25cb45ad7c0930dd62eecf164d2afe4c3d2dd2c82af85680ad1f118e1e5cb83" +checksum = "d780adaa5d95b07ad92006b2feb68ecfa7e2015f7d5976ceaac4c906c73ebd07" dependencies = [ "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] [[package]] name = "alloy-rpc-types-beacon" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7081d2206dca51ce23a06338d78d9b536931cc3f15134fc1c6535eb2b77f18" +checksum = "7a8dc5980fe30203d698627cddb5f0cedc57f900c8b5e1229c8b9448e37acb4a" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rpc-types-engine", - "ethereum_ssz", + "ethereum_ssz 0.8.0", "ethereum_ssz_derive", "serde", "serde_with", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "alloy-rpc-types-debug" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f9f9033796bb3078d11cc9c839f00e277431ef997db2849a46045fcffee3835" +checksum = "59d8f8c5bfb160081a772f1f68eb9a37e8929c4ef74e5d01f5b78c2b645a5c5e" dependencies = [ "alloy-primitives", "serde", @@ -548,41 +589,40 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1464c4dd646e1bdfde86ae65ce5ba168dbb29180b478011fe87117ae46b1629b" +checksum = "e0285c4c09f838ab830048b780d7f4a4f460f309aa1194bb049843309524c64c" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "derive_more", - "ethereum_ssz", + "ethereum_ssz 0.8.0", "ethereum_ssz_derive", "jsonrpsee-types", "jsonwebtoken", "rand", "serde", + "strum", ] [[package]] name = "alloy-rpc-types-eth" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83aa984386deda02482660aa31cb8ca1e63d533f1c31a52d7d181ac5ec68e9b8" +checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", "alloy-sol-types", "arbitrary", - "cfg-if", "derive_more", - "hashbrown 0.14.5", "itertools 0.13.0", "jsonrpsee-types", "serde", @@ -591,40 +631,40 @@ dependencies = [ [[package]] name = "alloy-rpc-types-mev" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "922d92389e5022650c4c60ffd2f9b2467c3f853764f0f74ff16a23106f9017d5" +checksum = "7cec23ce56c869eec5f6b6fd6a8a92b5aa0cfaf8d7be3a96502e537554dc7430" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-serde", + "alloy-serde 0.4.2", "serde", "serde_json", ] [[package]] name = "alloy-rpc-types-trace" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98db35cd42c90b484377e6bc44d95377a7a38a5ebee996e67754ac0446d542ab" +checksum = "017cad3e5793c5613588c1f9732bcbad77e820ba7d0feaba3527749f856fdbc5" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde", + "alloy-serde 0.4.2", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "alloy-rpc-types-txpool" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bac37082c3b21283b3faf5cc0e08974272aee2f756ce1adeb26db56a5fce0d5" +checksum = "2b230e321c416be7f50530159392b4c41a45596d40d97e185575bcd0b545e521" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde", + "alloy-serde 0.4.2", "serde", ] @@ -633,6 +673,17 @@ name = "alloy-serde" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "731f75ec5d383107fd745d781619bd9cedf145836c51ecb991623d41278e71fa" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-serde" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dff0ab1cdd43ca001e324dc27ee0e8606bd2161d6623c63e0e0b8c4dfc13600" dependencies = [ "alloy-primitives", "arbitrary", @@ -642,23 +693,39 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307324cca94354cd654d6713629f0383ec037e1ff9e3e3d547212471209860c0" +checksum = "2fd4e0ad79c81a27ca659be5d176ca12399141659fef2bcbfdc848da478f4504" dependencies = [ "alloy-primitives", "async-trait", "auto_impl", "elliptic-curve", "k256", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", +] + +[[package]] +name = "alloy-signer-local" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "494e0a256f3e99f2426f994bcd1be312c02cb8f88260088dacb33a8b8936475f" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-network", + "alloy-primitives", + "alloy-signer", + "async-trait", + "k256", + "rand", + "thiserror 1.0.63", ] [[package]] name = "alloy-sol-macro" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0458ccb02a564228fcd76efb8eb5a520521a8347becde37b402afec9a1b83859" +checksum = "68e7f6e8fe5b443f82b3f1e15abfa191128f71569148428e49449d01f6f49e8b" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -670,9 +737,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc65475025fc1e84bf86fc840f04f63fcccdcf3cf12053c99918e4054dfbc69" +checksum = "6b96ce28d2fde09abb6135f410c41fad670a3a770b6776869bd852f1df102e6f" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", @@ -689,9 +756,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed10f0715a0b69fde3236ff3b9ae5f6f7c97db5a387747100070d3016b9266b" +checksum = "906746396a8296537745711630d9185746c0b50c033d5e9d18b0a6eba3d53f90" dependencies = [ "alloy-json-abi", "const-hex", @@ -706,9 +773,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3edae8ea1de519ccba896b6834dec874230f72fe695ff3c9c118e90ec7cff783" +checksum = "bc85178909a49c8827ffccfc9103a7ce1767ae66a801b69bdc326913870bf8e6" dependencies = [ "serde", "winnow", @@ -716,9 +783,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eb88e4da0a1b697ed6a9f811fdba223cf4d5c21410804fd1707836af73a462b" +checksum = "d86a533ce22525969661b25dfe296c112d35eb6861f188fd284f8bd4bb3842ae" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -729,9 +796,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33616b2edf7454302a1d48084db185e52c309f73f6c10be99b0fe39354b3f1e9" +checksum = "2ac3e97dad3d31770db0fc89bd6a63b789fbae78963086733f960cf32c483904" dependencies = [ "alloy-json-rpc", "base64 0.22.1", @@ -739,7 +806,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tower 0.5.1", "tracing", @@ -748,9 +815,9 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a944f5310c690b62bbb3e7e5ce34527cbd36b2d18532a797af123271ce595a49" +checksum = "b367dcccada5b28987c2296717ee04b9a5637aacd78eacb1726ef211678b5212" dependencies = [ "alloy-json-rpc", "alloy-transport", @@ -763,9 +830,9 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fd8491249f74d16ec979b1f5672377b12ebb818e6056478ffa386954dbd350" +checksum = "b90cf9cde7f2fce617da52768ee28f522264b282d148384a4ca0ea85af04fa3a" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -782,9 +849,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.3.6" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9704761f6297fe482276bee7f77a93cb42bd541c2bd6c1c560b6f3a9ece672e" +checksum = "7153b88690de6a50bba81c11e1d706bc41dbb90126d607404d60b763f6a3947f" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -800,14 +867,13 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a46c9c4fdccda7982e7928904bd85fe235a0404ee3d7e197fff13d61eac8b4f" +checksum = "e9703ce68b97f8faae6f7739d1e003fc97621b856953cbcdbb2b515743f23288" dependencies = [ "alloy-primitives", "alloy-rlp", "derive_more", - "hashbrown 0.14.5", "nybbles", "serde", "smallvec", @@ -1064,7 +1130,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "time", ] @@ -1262,7 +1328,7 @@ version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3ddc4a5b231dd6958b140ff3151b6412b3f4321fab354f399eec8f14b06df62" dependencies = [ - "bindgen", + "bindgen 0.69.4", "cc", "cmake", "dunce", @@ -1273,13 +1339,11 @@ dependencies = [ [[package]] name = "backon" -version = "0.4.4" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d67782c3f868daa71d3533538e98a8e13713231969def7536e8039606fc46bf0" +checksum = "e4fa97bb310c33c811334143cf64c5bb2b7b3c06e453db6b095d7061eff8f113" dependencies = [ "fastrand", - "futures-core", - "pin-project", "tokio", ] @@ -1372,6 +1436,24 @@ dependencies = [ "which", ] +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.13.0", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.77", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -1463,6 +1545,144 @@ dependencies = [ "zeroize", ] +[[package]] +name = "boa_ast" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a69ee3a749ea36d4e56d92941e7b25076b493d4917c3d155b6cf369e23547d9" +dependencies = [ + "bitflags 2.6.0", + "boa_interner", + "boa_macros", + "indexmap 2.5.0", + "num-bigint", + "rustc-hash 2.0.0", +] + +[[package]] +name = "boa_engine" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06e4559b35b80ceb2e6328481c0eca9a24506663ea33ee1e279be6b5b618b25c" +dependencies = [ + "arrayvec", + "bitflags 2.6.0", + "boa_ast", + "boa_gc", + "boa_interner", + "boa_macros", + "boa_parser", + "boa_profiler", + "boa_string", + "bytemuck", + "cfg-if", + "dashmap 5.5.3", + "fast-float", + "hashbrown 0.14.5", + "icu_normalizer", + "indexmap 2.5.0", + "intrusive-collections", + "itertools 0.13.0", + "num-bigint", + "num-integer", + "num-traits", + "num_enum", + "once_cell", + "pollster", + "portable-atomic", + "rand", + "regress", + "rustc-hash 2.0.0", + "ryu-js", + "serde", + "serde_json", + "sptr", + "static_assertions", + "tap", + "thin-vec", + "thiserror 1.0.63", + "time", +] + +[[package]] +name = "boa_gc" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "716406f57d67bc3ac7fd227d5513b42df401dff14a3be22cbd8ee29817225363" +dependencies = [ + "boa_macros", + "boa_profiler", + "boa_string", + "hashbrown 0.14.5", + "thin-vec", +] + +[[package]] +name = "boa_interner" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e18df2272616e1ba0322a69333d37dbb78797f1aa0595aad9dc41e8ecd06ad9" +dependencies = [ + "boa_gc", + "boa_macros", + "hashbrown 0.14.5", + "indexmap 2.5.0", + "once_cell", + "phf", + "rustc-hash 2.0.0", + "static_assertions", +] + +[[package]] +name = "boa_macros" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240f4126219a83519bad05c9a40bfc0303921eeb571fc2d7e44c17ffac99d3f1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure", +] + +[[package]] +name = "boa_parser" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b59dc05bf1dc019b11478a92986f590cff43fced4d20e866eefb913493e91c" +dependencies = [ + "bitflags 2.6.0", + "boa_ast", + "boa_interner", + "boa_macros", + "boa_profiler", + "fast-float", + "icu_properties", + "num-bigint", + "num-traits", + "regress", + "rustc-hash 2.0.0", +] + +[[package]] +name = "boa_profiler" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00ee0645509b3b91abd724f25072649d9e8e65653a78ff0b6e592788a58dd838" + +[[package]] +name = "boa_string" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae85205289bab1f2c7c8a30ddf0541cf89ba2ff7dbd144feef50bbfa664288d4" +dependencies = [ + "fast-float", + "paste", + "rustc-hash 2.0.0", + "sptr", + "static_assertions", +] + [[package]] name = "boyer-moore-magiclen" version = "0.2.20" @@ -1502,17 +1722,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "bstr" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" -dependencies = [ - "memchr", - "regex-automata 0.4.7", - "serde", -] - [[package]] name = "bumpalo" version = "3.16.0" @@ -1530,6 +1739,20 @@ name = "bytemuck" version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] [[package]] name = "byteorder" @@ -1590,7 +1813,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] @@ -1781,7 +2004,7 @@ version = "7.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" dependencies = [ - "crossterm", + "crossterm 0.27.0", "strum", "strum_macros", "unicode-width", @@ -1789,13 +2012,14 @@ dependencies = [ [[package]] name = "compact_str" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" +checksum = "6050c3a16ddab2e412160b31f2c871015704239bca62f72f6e5f0be631d3f644" dependencies = [ "castaway", "cfg-if", "itoa", + "rustversion", "ryu", "static_assertions", ] @@ -1980,8 +2204,21 @@ dependencies = [ "bitflags 2.6.0", "crossterm_winapi", "libc", - "mio 0.8.11", "parking_lot 0.12.3", + "winapi", +] + +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.6.0", + "crossterm_winapi", + "mio 1.0.2", + "parking_lot 0.12.3", + "rustix", "signal-hook", "signal-hook-mio", "winapi", @@ -2117,11 +2354,24 @@ dependencies = [ name = "darling_macro" version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ - "darling_core", - "quote", - "syn 2.0.77", + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core 0.9.10", ] [[package]] @@ -2504,12 +2754,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "endian-type" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" - [[package]] name = "enr" version = "0.12.1" @@ -2569,6 +2813,19 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "ethereum_serde_utils" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70cbccfccf81d67bff0ab36e591fa536c8a935b078a7b0e58c1d00d418332fc9" +dependencies = [ + "alloy-primitives", + "hex", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "ethereum_ssz" version = "0.7.1" @@ -2580,11 +2837,27 @@ dependencies = [ "smallvec", ] +[[package]] +name = "ethereum_ssz" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfbba28f4f3f32d92c06a64f5bf6c4537b5d4e21f28c689bd2bbaecfea4e0d3e" +dependencies = [ + "alloy-primitives", + "derivative", + "ethereum_serde_utils", + "itertools 0.13.0", + "serde", + "serde_derive", + "smallvec", + "typenum", +] + [[package]] name = "ethereum_ssz_derive" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3deae99c8e74829a00ba7a92d49055732b3c1f093f2ccfa3cbc621679b6fa91" +checksum = "0d37845ba7c16bf4be8be4b5786f03a2ba5f2fda0d7f9e7cb2282f69cff420d7" dependencies = [ "darling", "proc-macro2", @@ -2623,6 +2896,12 @@ dependencies = [ "once_cell", ] +[[package]] +name = "fast-float" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95765f67b4b18863968b4a1bd5bb576f732b29a4a28c7cd84c09fa3e2875f33c" + [[package]] name = "fastrand" version = "2.1.1" @@ -2647,7 +2926,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] @@ -2960,7 +3239,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3152,7 +3431,7 @@ dependencies = [ "once_cell", "rand", "socket2 0.5.7", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tinyvec", "tokio", "tracing", @@ -3175,7 +3454,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -3459,6 +3738,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -3605,6 +4002,7 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ + "arbitrary", "equivalent", "hashbrown 0.14.5", "serde", @@ -3640,6 +4038,16 @@ dependencies = [ "generic-array", ] +[[package]] +name = "instability" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b23a0c8dfe501baac4adf6ebbfa6eddf8f0c07f56b058cc1288017e32397846c" +dependencies = [ + "quote", + "syn 2.0.77", +] + [[package]] name = "instant" version = "0.1.13" @@ -3664,6 +4072,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "intrusive-collections" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "189d0897e4cbe8c75efedf3502c18c887b05046e59d28404d4d8e46cbc4d1e86" +dependencies = [ + "memoffset", +] + [[package]] name = "ipconfig" version = "0.3.2" @@ -3741,7 +4158,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "walkdir", ] @@ -3804,7 +4221,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-rustls", "tokio-util", @@ -3832,7 +4249,7 @@ dependencies = [ "rustc-hash 2.0.0", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tracing", @@ -3857,7 +4274,7 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tower 0.4.13", "tracing", @@ -3896,7 +4313,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tokio-util", @@ -3913,7 +4330,7 @@ dependencies = [ "http 1.1.0", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] @@ -3991,29 +4408,25 @@ dependencies = [ [[package]] name = "kona-derive" version = "0.0.3" -source = "git+https://github.com/anton-rs/kona?branch=main#6830edb15e989658fd8c3c0d515f580a3fdc2e26" +source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" dependencies = [ "alloc-no-stdlib", - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-provider", "alloy-rlp", "alloy-rpc-types-engine", - "alloy-transport", "async-trait", "brotli", - "hashbrown 0.14.5", "kona-primitives", - "lru", + "kona-providers 0.0.1 (git+https://github.com/anton-rs/kona?branch=main)", "miniz_oxide", "op-alloy-consensus", - "op-alloy-genesis", + "op-alloy-genesis 0.3.3", "op-alloy-protocol", "op-alloy-rpc-types-engine", - "reqwest", "serde", - "thiserror 1.0.63 (git+https://github.com/quartiq/thiserror?branch=no-std)", + "thiserror 1.0.64", "tracing", "unsigned-varint 0.8.0", ] @@ -4021,40 +4434,67 @@ dependencies = [ [[package]] name = "kona-primitives" version = "0.0.2" -source = "git+https://github.com/anton-rs/kona?branch=main#6830edb15e989658fd8c3c0d515f580a3fdc2e26" +source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", - "alloy-rlp", "anyhow", "c-kzg", - "op-alloy-consensus", - "op-alloy-genesis", - "op-alloy-protocol", "revm", "serde", "sha2 0.10.8", - "thiserror 1.0.63 (git+https://github.com/quartiq/thiserror?branch=no-std)", + "thiserror 1.0.64", "tracing", ] [[package]] name = "kona-providers" -version = "0.0.0" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75864c0e451358b56e7451ad3eb32e983ad80c9cae5842af4935214ed9c1944c" dependencies = [ - "alloy", + "alloy-consensus 0.4.2", + "alloy-primitives", + "async-trait", + "op-alloy-consensus", + "op-alloy-genesis 0.3.3", + "op-alloy-protocol", +] + +[[package]] +name = "kona-providers" +version = "0.0.1" +source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-primitives", + "async-trait", + "op-alloy-consensus", + "op-alloy-genesis 0.3.3", + "op-alloy-protocol", +] + +[[package]] +name = "kona-providers-alloy" +version = "0.0.1" +source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-provider", "alloy-rlp", + "alloy-transport", "async-trait", - "eyre", - "hashbrown 0.14.5", "kona-derive", "kona-primitives", + "kona-providers 0.0.1 (git+https://github.com/anton-rs/kona?branch=main)", + "lru", + "op-alloy-consensus", + "op-alloy-genesis 0.3.3", "op-alloy-protocol", - "parking_lot 0.12.3", - "reth", + "reqwest", "tracing", - "url", ] [[package]] @@ -4158,7 +4598,7 @@ dependencies = [ "multiaddr", "pin-project", "rw-stream-sink", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] @@ -4206,7 +4646,7 @@ dependencies = [ "rand", "rw-stream-sink", "smallvec", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", "unsigned-varint 0.8.0", "void", @@ -4275,7 +4715,7 @@ dependencies = [ "quick-protobuf", "rand", "sha2 0.10.8", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", "zeroize", ] @@ -4338,7 +4778,7 @@ dependencies = [ "sha2 0.10.8", "snow", "static_assertions", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", "x25519-dalek", "zeroize", @@ -4381,7 +4821,7 @@ dependencies = [ "ring 0.17.8", "rustls", "socket2 0.5.7", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -4453,7 +4893,7 @@ dependencies = [ "ring 0.17.8", "rustls", "rustls-webpki 0.101.7", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "x509-parser", "yasna", ] @@ -4483,7 +4923,7 @@ dependencies = [ "either", "futures", "libp2p-core", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", "yamux 0.12.1", "yamux 0.13.3", @@ -4495,7 +4935,7 @@ version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae9ea4b75e1a81675429dafe43441df1caea70081e82246a8cccf514884a88bb" dependencies = [ - "bindgen", + "bindgen 0.69.4", "errno", "libc", ] @@ -4580,6 +5020,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + [[package]] name = "lock_api" version = "0.4.12" @@ -4659,6 +5105,15 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + [[package]] name = "metrics" version = "0.23.0" @@ -4669,6 +5124,18 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "metrics-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3dbdd96ed57d565ec744cba02862d707acf373c5772d152abae6ec5c4e24f6c" +dependencies = [ + "proc-macro2", + "quote", + "regex", + "syn 2.0.77", +] + [[package]] name = "metrics-exporter-prometheus" version = "0.15.3" @@ -4685,7 +5152,7 @@ dependencies = [ "metrics", "metrics-util", "quanta", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -4711,16 +5178,12 @@ version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828" dependencies = [ - "aho-corasick", "crossbeam-epoch", "crossbeam-utils", "hashbrown 0.14.5", - "indexmap 2.5.0", "metrics", "num_cpus", - "ordered-float", "quanta", - "radix_trie", "sketches-ddsketch", ] @@ -4775,6 +5238,7 @@ checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", + "log", "wasi", "windows-sys 0.52.0", ] @@ -4918,7 +5382,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] @@ -4932,7 +5396,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", ] @@ -4949,15 +5413,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "nibble_vec" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" -dependencies = [ - "smallvec", -] - [[package]] name = "nix" version = "0.24.3" @@ -5044,6 +5499,7 @@ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", + "serde", ] [[package]] @@ -5127,6 +5583,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ + "proc-macro-crate", "proc-macro2", "quote", "syn 2.0.77", @@ -5180,17 +5637,19 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "op-alloy-consensus" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21aad1fbf80d2bcd7406880efc7ba109365f44bbb72896758ddcbfa46bf1592c" +checksum = "c4f7f318f885db6e1455370ca91f74b7faed152c8142f6418f0936d606e582ff" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.4.2", + "arbitrary", "derive_more", "serde", + "serde_with", "spin 0.9.8", ] @@ -5200,8 +5659,22 @@ version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e1b8a9b70da0e027242ec1762f0f3a386278b6291d00d12ff5a64929dc19f68" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.3.6", + "alloy-eips 0.3.6", + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_repr", +] + +[[package]] +name = "op-alloy-genesis" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8215c87b74d2fbbaff0fd2887868a8341df33a3c495ee01f813e5ddd5be9c46" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-sol-types", "serde", @@ -5210,34 +5683,33 @@ dependencies = [ [[package]] name = "op-alloy-protocol" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf300a82ae2d30e2255bfea87a2259da49f63a25a44db561ae64cc9e3084139f" +checksum = "fa5c397fbe35e07f9c95a571440ca2e90df754e198496d82ff4127de00b89dd9" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", - "alloy-serde", - "hashbrown 0.14.5", + "alloy-serde 0.4.2", + "derive_more", "op-alloy-consensus", - "op-alloy-genesis", + "op-alloy-genesis 0.3.3", "serde", ] [[package]] name = "op-alloy-rpc-types" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e281fbfc2198b7c0c16457d6524f83d192662bc9f3df70f24c3038d4521616df" +checksum = "547d29c5ab957ff32e14edddb93652dad748d2ef6cbe4b0fe8615ce06b0a3ddb" dependencies = [ - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde", - "cfg-if", - "hashbrown 0.14.5", + "alloy-serde 0.4.2", "op-alloy-consensus", "serde", "serde_json", @@ -5245,17 +5717,14 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types-engine" -version = "0.2.12" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2947272a81ebf988f4804b6f0f6a7c0b2f6f89a908cb410e36f8f3828f81c778" +checksum = "5041122e20b76644cc690bba688671eecdc4626e6384a76eb740535d6ddcef14" dependencies = [ - "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", - "alloy-serde", + "alloy-serde 0.4.2", "derive_more", - "op-alloy-consensus", - "op-alloy-genesis", "op-alloy-protocol", "serde", ] @@ -5269,7 +5738,7 @@ dependencies = [ "arbitrary", "arbtest", "discv5 0.6.0", - "ethereum_ssz", + "ethereum_ssz 0.7.1", "eyre", "futures", "kona-primitives", @@ -5361,15 +5830,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" -[[package]] -name = "ordered-float" -version = "4.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" -dependencies = [ - "num-traits", -] - [[package]] name = "overload" version = "0.1.1" @@ -5490,24 +5950,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] -name = "pest" -version = "2.7.13" +name = "pest" +version = "2.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +dependencies = [ + "memchr", + "thiserror 1.0.63", + "ucd-trie", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.1", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" dependencies = [ - "memchr", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", - "ucd-trie", + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.77", ] [[package]] -name = "pharos" -version = "0.5.3" +name = "phf_shared" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "futures", - "rustc_version 0.4.1", + "siphasher", ] [[package]] @@ -5573,6 +6075,12 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + [[package]] name = "poly1305" version = "0.8.0" @@ -5843,7 +6351,7 @@ dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "unsigned-varint 0.8.0", ] @@ -5861,7 +6369,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "socket2 0.5.7", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] @@ -5878,7 +6386,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "slab", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tinyvec", "tracing", ] @@ -5911,16 +6419,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "radix_trie" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" -dependencies = [ - "endian-type", - "nibble_vec", -] - [[package]] name = "rand" version = "0.8.5" @@ -5930,6 +6428,7 @@ dependencies = [ "libc", "rand_chacha", "rand_core", + "serde", ] [[package]] @@ -5962,18 +6461,18 @@ dependencies = [ [[package]] name = "ratatui" -version = "0.27.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" +checksum = "fdef7f9be5c0122f890d58bdf4d964349ba6a6161f705907526d891efabba57d" dependencies = [ "bitflags 2.6.0", "cassowary", "compact_str", - "crossterm", + "crossterm 0.28.1", + "instability", "itertools 0.13.0", "lru", "paste", - "stability", "strum", "strum_macros", "unicode-segmentation", @@ -6054,7 +6553,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] @@ -6101,6 +6600,16 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +[[package]] +name = "regress" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1541daf4e4ed43a0922b7969bdc2170178bcacc5dabf7e39bc508a9fa3953a7a" +dependencies = [ + "hashbrown 0.14.5", + "memchr", +] + [[package]] name = "reqwest" version = "0.12.7" @@ -6161,10 +6670,14 @@ dependencies = [ [[package]] name = "reth" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-rlp", + "alloy-rpc-types", "aquamarine", "backon", "clap", @@ -6212,7 +6725,6 @@ dependencies = [ "reth-rpc-builder", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-stages", "reth-static-file", @@ -6229,10 +6741,11 @@ dependencies = [ [[package]] name = "reth-auto-seal-consensus" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", + "alloy-rpc-types-engine", "futures-util", "reth-beacon-consensus", "reth-chainspec", @@ -6246,11 +6759,11 @@ dependencies = [ "reth-primitives", "reth-provider", "reth-revm", - "reth-rpc-types", "reth-stages-api", "reth-tokio-util", "reth-transaction-pool", "reth-trie", + "revm-primitives", "tokio", "tokio-stream", "tracing", @@ -6258,9 +6771,10 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", "alloy-rlp", "futures-core", "futures-util", @@ -6281,10 +6795,11 @@ dependencies = [ [[package]] name = "reth-beacon-consensus" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", + "alloy-rpc-types-engine", "futures", "itertools 0.13.0", "metrics", @@ -6301,13 +6816,12 @@ dependencies = [ "reth-primitives", "reth-provider", "reth-prune", - "reth-rpc-types", "reth-stages-api", "reth-static-file", "reth-tasks", "reth-tokio-util", "schnellru", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tracing", @@ -6315,9 +6829,10 @@ dependencies = [ [[package]] name = "reth-blockchain-tree" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", "aquamarine", "linked_hash_set", @@ -6347,22 +6862,23 @@ dependencies = [ [[package]] name = "reth-blockchain-tree-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "reth-consensus", "reth-execution-errors", "reth-primitives", "reth-storage-errors", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-chain-state" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", "auto_impl", "derive_more", @@ -6383,11 +6899,11 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-chains", - "alloy-eips", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-trie", @@ -6403,8 +6919,8 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "clap", "eyre", @@ -6413,16 +6929,16 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "ahash", - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "backon", "clap", "comfy-table", - "crossterm", + "crossterm 0.28.1", "eyre", "fdlimit", "futures", @@ -6470,8 +6986,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "reth-tasks", "tokio", @@ -6480,10 +6996,10 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "cfg-if", "eyre", @@ -6491,30 +7007,29 @@ dependencies = [ "rand", "reth-fs-util", "secp256k1", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tikv-jemallocator", ] [[package]] name = "reth-codecs" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-trie", "bytes", "modular-bitfield", "reth-codecs-derive", - "serde", ] [[package]] name = "reth-codecs-derive" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "convert_case", "proc-macro2", @@ -6524,8 +7039,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "eyre", "humantime-serde", @@ -6538,8 +7053,8 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "auto_impl", @@ -6549,32 +7064,34 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "reth-chainspec", "reth-consensus", "reth-primitives", + "revm-primitives", ] [[package]] name = "reth-consensus-debug-client" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-provider", + "alloy-rpc-types", + "alloy-rpc-types-engine", "auto_impl", "eyre", "futures", "reqwest", "reth-node-api", - "reth-node-core", "reth-rpc-api", "reth-rpc-builder", - "reth-rpc-types", "reth-tracing", "ringbuffer", "serde", @@ -6583,8 +7100,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "bytes", @@ -6609,14 +7126,15 @@ dependencies = [ "serde", "strum", "sysinfo", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-db-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-genesis", "alloy-primitives", "bytes", "derive_more", @@ -6636,8 +7154,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -6658,14 +7176,14 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", ] [[package]] name = "reth-db-models" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "bytes", @@ -6677,8 +7195,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6693,7 +7211,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tracing", @@ -6701,8 +7219,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6718,15 +7236,15 @@ dependencies = [ "reth-metrics", "reth-network-peers", "secp256k1", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] [[package]] name = "reth-dns-discovery" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "data-encoding", @@ -6738,7 +7256,7 @@ dependencies = [ "reth-tokio-util", "schnellru", "secp256k1", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tracing", @@ -6747,9 +7265,11 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-rlp", "futures", "futures-util", @@ -6765,7 +7285,7 @@ dependencies = [ "reth-primitives", "reth-storage-api", "reth-tasks", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tokio-util", @@ -6774,8 +7294,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "aes 0.8.4", "alloy-primitives", @@ -6795,7 +7315,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tokio-util", @@ -6805,10 +7325,10 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "reth-chainspec", + "alloy-primitives", "reth-execution-types", "reth-payload-primitives", "reth-primitives", @@ -6818,8 +7338,8 @@ dependencies = [ [[package]] name = "reth-engine-service" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "futures", "pin-project", @@ -6835,27 +7355,30 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-engine-tree" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rpc-types-engine", "futures", "metrics", "reth-beacon-consensus", "reth-blockchain-tree", "reth-blockchain-tree-api", "reth-chain-state", + "reth-chainspec", "reth-consensus", "reth-engine-primitives", "reth-errors", "reth-evm", "reth-metrics", "reth-network-p2p", - "reth-node-types", "reth-payload-builder", "reth-payload-primitives", "reth-payload-validator", @@ -6863,21 +7386,22 @@ dependencies = [ "reth-provider", "reth-prune", "reth-revm", - "reth-rpc-types", "reth-stages-api", "reth-tasks", "reth-trie", "reth-trie-parallel", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] [[package]] name = "reth-engine-util" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine", "eyre", "futures", "itertools 0.13.0", @@ -6892,7 +7416,6 @@ dependencies = [ "reth-primitives", "reth-provider", "reth-revm", - "reth-rpc-types", "reth-rpc-types-compat", "reth-trie", "revm-primitives", @@ -6905,22 +7428,23 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "reth-blockchain-tree-api", "reth-consensus", "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-eth-wire" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", "alloy-rlp", "bytes", "derive_more", @@ -6934,7 +7458,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "snap", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tokio-util", @@ -6943,25 +7467,28 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-chains", + "alloy-eips 0.4.2", "alloy-genesis", + "alloy-primitives", "alloy-rlp", "bytes", "derive_more", "reth-chainspec", "reth-codecs-derive", "reth-primitives", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-ethereum-consensus" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", "reth-chainspec", "reth-consensus", "reth-consensus-common", @@ -6971,16 +7498,18 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-rlp", + "alloy-rpc-types-engine", "reth-chain-state", "reth-chainspec", "reth-engine-primitives", "reth-payload-primitives", "reth-primitives", - "reth-rpc-types", "reth-rpc-types-compat", "serde", "sha2 0.10.8", @@ -6988,8 +7517,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-chains", "alloy-primitives", @@ -7005,11 +7534,13 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", "reth-basic-payload-builder", "reth-chain-state", + "reth-chainspec", "reth-errors", "reth-evm", "reth-evm-ethereum", @@ -7022,13 +7553,14 @@ dependencies = [ "reth-transaction-pool", "reth-trie", "revm", + "revm-primitives", "tracing", ] [[package]] name = "reth-etl" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "rayon", "reth-db-api", @@ -7037,10 +7569,11 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", + "alloy-primitives", "auto_impl", "futures-util", "metrics", @@ -7058,10 +7591,11 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-sol-types", "reth-chainspec", "reth-ethereum-consensus", @@ -7076,10 +7610,10 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "derive_more", @@ -7092,28 +7626,37 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "reth-execution-errors", "reth-primitives", "reth-trie", "revm", "serde", + "serde_with", ] [[package]] name = "reth-exex" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "eyre", "futures", + "itertools 0.13.0", "metrics", + "parking_lot 0.12.3", + "reth-chain-state", "reth-chainspec", "reth-config", "reth-evm", "reth-exex-types", + "reth-fs-util", "reth-metrics", "reth-node-api", "reth-node-core", @@ -7126,36 +7669,41 @@ dependencies = [ "reth-stages-api", "reth-tasks", "reth-tracing", + "rmp-serde", "tokio", "tokio-util", + "tracing", ] [[package]] name = "reth-exex-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", - "reth-primitives", - "reth-provider", + "reth-chain-state", + "reth-execution-types", "serde", + "serde_with", ] [[package]] name = "reth-fs-util" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-invalid-block-hooks" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", "alloy-rlp", "alloy-rpc-types-debug", "eyre", @@ -7171,13 +7719,14 @@ dependencies = [ "reth-rpc-api", "reth-tracing", "reth-trie", + "serde", "serde_json", ] [[package]] name = "reth-ipc" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "async-trait", "bytes", @@ -7187,7 +7736,7 @@ dependencies = [ "jsonrpsee", "pin-project", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tokio-util", @@ -7197,78 +7746,71 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "bitflags 2.6.0", "byteorder", - "dashmap", + "dashmap 6.1.0", "derive_more", "indexmap 2.5.0", "parking_lot 0.12.3", "reth-mdbx-sys", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec", + "thiserror 1.0.63", "tracing", ] [[package]] name = "reth-mdbx-sys" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "bindgen", + "bindgen 0.70.1", "cc", ] [[package]] name = "reth-metrics" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "futures", "metrics", - "reth-metrics-derive", + "metrics-derive", "tokio", "tokio-util", ] -[[package]] -name = "reth-metrics-derive" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" -dependencies = [ - "proc-macro2", - "quote", - "regex", - "syn 2.0.77", -] - [[package]] name = "reth-net-banlist" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", ] [[package]] name = "reth-net-nat" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "futures-util", "if-addrs 0.13.3", "reqwest", "serde_with", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", + "tracing", ] [[package]] name = "reth-network" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "alloy-rlp", "aquamarine", "auto_impl", @@ -7305,7 +7847,7 @@ dependencies = [ "secp256k1", "serde", "smallvec", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tokio-util", @@ -7314,8 +7856,8 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rpc-types-admin", @@ -7330,16 +7872,18 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", ] [[package]] name = "reth-network-p2p" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", + "alloy-primitives", "auto_impl", "derive_more", "futures", @@ -7355,23 +7899,23 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rlp", "enr", "secp256k1", "serde_with", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "url", ] [[package]] name = "reth-network-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "humantime-serde", "reth-ethereum-forks", @@ -7384,8 +7928,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "anyhow", "bincode", @@ -7394,15 +7938,15 @@ dependencies = [ "memmap2", "reth-fs-util", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tracing", "zstd", ] [[package]] name = "reth-node-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "reth-engine-primitives", "reth-evm", @@ -7419,11 +7963,11 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-network", "alloy-primitives", + "alloy-rpc-types", "aquamarine", "eyre", "fdlimit", @@ -7433,6 +7977,7 @@ dependencies = [ "reth-auto-seal-consensus", "reth-beacon-consensus", "reth-blockchain-tree", + "reth-chain-state", "reth-chainspec", "reth-cli-util", "reth-config", @@ -7456,6 +8001,7 @@ dependencies = [ "reth-node-events", "reth-node-metrics", "reth-payload-builder", + "reth-payload-primitives", "reth-payload-validator", "reth-primitives", "reth-provider", @@ -7466,7 +8012,6 @@ dependencies = [ "reth-rpc-engine-api", "reth-rpc-eth-types", "reth-rpc-layer", - "reth-rpc-types", "reth-stages", "reth-static-file", "reth-tasks", @@ -7481,8 +8026,8 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -7514,7 +8059,6 @@ dependencies = [ "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-stages-types", "reth-storage-api", @@ -7526,7 +8070,7 @@ dependencies = [ "serde_json", "shellexpand", "strum", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "toml", "tracing", "vergen", @@ -7534,8 +8078,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "eyre", "reth-auto-seal-consensus", @@ -7559,8 +8103,8 @@ dependencies = [ [[package]] name = "reth-node-events" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -7582,8 +8126,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "eyre", "http 1.1.0", @@ -7606,8 +8150,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "reth-chainspec", "reth-db-api", @@ -7616,21 +8160,19 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", + "alloy-rpc-types", + "async-trait", "futures-util", "metrics", - "pin-project", - "reth-errors", "reth-ethereum-engine-primitives", "reth-metrics", "reth-payload-primitives", "reth-primitives", "reth-provider", - "reth-rpc-types", - "reth-transaction-pool", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -7638,39 +8180,44 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", + "alloy-rpc-types", + "async-trait", + "op-alloy-rpc-types-engine", + "pin-project", "reth-chain-state", "reth-chainspec", "reth-errors", "reth-primitives", - "reth-rpc-types", "reth-transaction-pool", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", + "tokio-stream", + "tracing", ] [[package]] name = "reth-payload-validator" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-rpc-types", "reth-chainspec", "reth-primitives", - "reth-rpc-types", "reth-rpc-types-compat", ] [[package]] name = "reth-primitives" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-genesis", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "bytes", @@ -7679,6 +8226,7 @@ dependencies = [ "k256", "modular-bitfield", "once_cell", + "op-alloy-consensus", "rayon", "reth-codecs", "reth-ethereum-forks", @@ -7688,16 +8236,17 @@ dependencies = [ "revm-primitives", "secp256k1", "serde", + "serde_with", "zstd", ] [[package]] name = "reth-primitives-traits" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -7709,18 +8258,19 @@ dependencies = [ "revm-primitives", "roaring", "serde", + "serde_with", ] [[package]] name = "reth-provider" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", - "dashmap", + "dashmap 6.1.0", "itertools 0.13.0", "metrics", "notify", @@ -7755,8 +8305,8 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "itertools 0.13.0", @@ -7774,15 +8324,15 @@ dependencies = [ "reth-static-file-types", "reth-tokio-util", "rustc-hash 2.0.0", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] [[package]] name = "reth-prune-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "bytes", @@ -7790,14 +8340,15 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "reth-revm" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", "reth-chainspec", "reth-consensus-common", "reth-execution-errors", @@ -7810,15 +8361,26 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-consensus 0.4.2", "alloy-dyn-abi", - "alloy-eips", + "alloy-eips 0.4.2", "alloy-genesis", "alloy-network", "alloy-primitives", "alloy-rlp", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-debug", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde 0.4.2", + "alloy-signer", + "alloy-signer-local", "async-trait", "derive_more", "futures", @@ -7846,7 +8408,6 @@ dependencies = [ "reth-rpc-eth-api", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-tasks", "reth-transaction-pool", @@ -7854,10 +8415,9 @@ dependencies = [ "revm", "revm-inspectors", "revm-primitives", - "secp256k1", "serde", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tower 0.4.13", @@ -7867,26 +8427,38 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-json-rpc", "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-admin", + "alloy-rpc-types-anvil", + "alloy-rpc-types-beacon", + "alloy-rpc-types-debug", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", + "alloy-rpc-types-trace", + "alloy-rpc-types-txpool", + "alloy-serde 0.4.2", "jsonrpsee", "reth-engine-primitives", "reth-network-peers", "reth-primitives", "reth-rpc-eth-api", - "reth-rpc-types", ] [[package]] name = "reth-rpc-builder" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-network", + "alloy-rpc-types", + "alloy-serde 0.4.2", "http 1.1.0", "jsonrpsee", "metrics", @@ -7906,11 +8478,10 @@ dependencies = [ "reth-rpc-eth-types", "reth-rpc-layer", "reth-rpc-server-types", - "reth-rpc-types", "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tower 0.4.13", "tower-http", "tracing", @@ -7918,11 +8489,12 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", + "alloy-rpc-types-engine", "async-trait", "jsonrpsee-core", "jsonrpsee-types", @@ -7936,26 +8508,29 @@ dependencies = [ "reth-payload-primitives", "reth-primitives", "reth-rpc-api", - "reth-rpc-types", "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] [[package]] name = "reth-rpc-eth-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-dyn-abi", + "alloy-eips 0.4.2", "alloy-json-rpc", "alloy-network", "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-eth", + "alloy-rpc-types-mev", "async-trait", "auto_impl", "dyn-clone", @@ -7973,7 +8548,6 @@ dependencies = [ "reth-revm", "reth-rpc-eth-types", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-tasks", "reth-transaction-pool", @@ -7987,11 +8561,15 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", "alloy-primitives", + "alloy-rpc-types", + "alloy-rpc-types-eth", + "alloy-serde 0.4.2", "alloy-sol-types", "derive_more", "futures", @@ -8008,7 +8586,6 @@ dependencies = [ "reth-primitives", "reth-revm", "reth-rpc-server-types", - "reth-rpc-types", "reth-rpc-types-compat", "reth-storage-api", "reth-tasks", @@ -8019,7 +8596,7 @@ dependencies = [ "revm-primitives", "schnellru", "serde", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tracing", @@ -8027,8 +8604,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-rpc-types-engine", "http 1.1.0", @@ -8040,59 +8617,43 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", + "alloy-rpc-types-engine", "jsonrpsee-core", "jsonrpsee-types", "reth-errors", "reth-network-api", "reth-primitives", - "reth-rpc-types", "serde", "strum", ] -[[package]] -name = "reth-rpc-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types", - "alloy-rpc-types-admin", - "alloy-rpc-types-anvil", - "alloy-rpc-types-beacon", - "alloy-rpc-types-debug", - "alloy-rpc-types-engine", - "alloy-rpc-types-mev", - "alloy-rpc-types-trace", - "alloy-rpc-types-txpool", - "alloy-serde", - "jsonrpsee-types", - "op-alloy-rpc-types", - "op-alloy-rpc-types-engine", -] - [[package]] name = "reth-rpc-types-compat" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "alloy-rpc-types", + "alloy-rpc-types-engine", + "alloy-rpc-types-eth", + "alloy-serde 0.4.2", "reth-primitives", - "reth-rpc-types", "reth-trie-common", ] [[package]] name = "reth-stages" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ + "alloy-primitives", + "bincode", "futures-util", "itertools 0.13.0", "num-traits", @@ -8117,15 +8678,15 @@ dependencies = [ "reth-storage-errors", "reth-trie", "reth-trie-db", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] [[package]] name = "reth-stages-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "aquamarine", @@ -8133,11 +8694,9 @@ dependencies = [ "futures-util", "metrics", "reth-consensus", - "reth-db-api", "reth-errors", "reth-metrics", "reth-network-p2p", - "reth-node-types", "reth-primitives-traits", "reth-provider", "reth-prune", @@ -8145,15 +8704,15 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", ] [[package]] name = "reth-stages-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "bytes", @@ -8165,8 +8724,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "parking_lot 0.12.3", @@ -8187,8 +8746,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "clap", @@ -8199,10 +8758,10 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "auto_impl", "reth-chainspec", @@ -8218,10 +8777,10 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "derive_more", @@ -8231,8 +8790,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "auto_impl", "dyn-clone", @@ -8241,7 +8800,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", "tracing-futures", @@ -8249,8 +8808,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "tokio", "tokio-stream", @@ -8259,8 +8818,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "clap", "eyre", @@ -8274,10 +8833,10 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips", + "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", "aquamarine", @@ -8300,7 +8859,7 @@ dependencies = [ "schnellru", "serde", "smallvec", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tokio-stream", "tracing", @@ -8308,8 +8867,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8326,15 +8885,16 @@ dependencies = [ "reth-trie-common", "revm", "serde", + "serde_with", "tracing", ] [[package]] name = "reth-trie-common" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.4.2", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -8351,8 +8911,8 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8376,8 +8936,8 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "1.0.7" -source = "git+https://github.com/paradigmxyz/reth?rev=000b412#000b41233d3bc1bed365e72bcfe0ebed6394e50f" +version = "1.0.8" +source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8391,19 +8951,17 @@ dependencies = [ "reth-metrics", "reth-primitives", "reth-provider", - "reth-tasks", "reth-trie", "reth-trie-db", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio", + "thiserror 1.0.63", "tracing", ] [[package]] name = "revm" -version = "14.0.2" +version = "14.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9f3f55d0414c3d73902d876ba3d55a654f05fe937089fbf5f34b1ced26d78d5" +checksum = "641702b12847f9ed418d552f4fcabe536d867a2c980e96b6e7e25d7b992f929f" dependencies = [ "auto_impl", "cfg-if", @@ -8416,26 +8974,28 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48294aab02ed5d1940ad9b06f2a3230c3f0d98db6eacd618878cf143e204f6b0" +checksum = "43c44af0bf801f48d25f7baf25cf72aff4c02d610f83b428175228162fef0246" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-rpc-types-trace", "alloy-sol-types", "anstyle", + "boa_engine", + "boa_gc", "colorchoice", "revm", "serde_json", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", ] [[package]] name = "revm-interpreter" -version = "10.0.2" +version = "10.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713dbb271acd13afb06dcd460c1dc43da211e7ac9bc73cdf13528f615f55f96b" +checksum = "2e5e14002afae20b5bf1566f22316122f42f57517000e559c55b25bf7a49cba2" dependencies = [ "revm-primitives", "serde", @@ -8443,9 +9003,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.2" +version = "11.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73010c271d53fa7904e9845338e95f3955eb1200a0355e0abfdb89c41aaa9cd" +checksum = "3198c06247e8d4ad0d1312591edf049b0de4ddffa9fecb625c318fd67db8639b" dependencies = [ "aurora-engine-modexp", "blst", @@ -8462,11 +9022,12 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "9.0.2" +version = "10.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a6bff9dbde3370a5ac9555104117f7e6039b3cc76e8d5d9d01899088beca2a" +checksum = "6f1525851a03aff9a9d6a1d018b414d76252d6802ab54695b27093ecd7e7a101" dependencies = [ - "alloy-eips", + "alloy-eip2930", + "alloy-eip7702", "alloy-primitives", "auto_impl", "bitflags 2.6.0", @@ -8475,7 +9036,6 @@ dependencies = [ "cfg-if", "dyn-clone", "enumn", - "hashbrown 0.14.5", "hex", "serde", ] @@ -8554,6 +9114,28 @@ dependencies = [ "rustc-hex", ] +[[package]] +name = "rmp" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +dependencies = [ + "byteorder", + "num-traits", + "paste", +] + +[[package]] +name = "rmp-serde" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +dependencies = [ + "byteorder", + "rmp", + "serde", +] + [[package]] name = "roaring" version = "0.10.6" @@ -8584,9 +9166,10 @@ dependencies = [ "futures", "hashbrown 0.14.5", "kona-derive", - "kona-providers", + "kona-providers 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kona-providers-alloy", "metrics-exporter-prometheus", - "op-alloy-genesis", + "op-alloy-genesis 0.3.3", "op-alloy-protocol", "op-alloy-rpc-types-engine", "reqwest", @@ -8619,7 +9202,7 @@ dependencies = [ "netlink-packet-route", "netlink-proto", "nix", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", ] @@ -8671,6 +9254,9 @@ name = "rustc-hash" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +dependencies = [ + "rand", +] [[package]] name = "rustc-hex" @@ -8860,6 +9446,12 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +[[package]] +name = "ryu-js" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5" + [[package]] name = "same-file" version = "1.0.6" @@ -8999,7 +9591,7 @@ dependencies = [ "alloy-rlp", "eyre", "kona-derive", - "op-alloy-genesis", + "op-alloy-genesis 0.3.3", "op-alloy-protocol", "op-alloy-rpc-types", "rand", @@ -9197,7 +9789,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ "libc", - "mio 0.8.11", + "mio 1.0.2", "signal-hook", ] @@ -9225,10 +9817,6 @@ name = "similar" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" -dependencies = [ - "bstr", - "unicode-segmentation", -] [[package]] name = "similar-asserts" @@ -9248,10 +9836,16 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "time", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "sketches-ddsketch" version = "0.2.2" @@ -9361,14 +9955,16 @@ dependencies = [ ] [[package]] -name = "stability" -version = "0.2.1" +name = "sptr" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" -dependencies = [ - "quote", - "syn 2.0.77", -] +checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "static_assertions" @@ -9432,7 +10028,7 @@ dependencies = [ "alloy-primitives", "hashbrown 0.14.5", "lazy_static", - "op-alloy-genesis", + "op-alloy-genesis 0.2.12", "serde", "serde_json", ] @@ -9461,9 +10057,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b95156f8b577cb59dc0b1df15c6f29a10afc5f8a7ac9786b0b5c68c19149278" +checksum = "0ab661c8148c2261222a4d641ad5477fd4bea79406a99056096a0b41b35617a5" dependencies = [ "paste", "proc-macro2", @@ -9499,16 +10095,15 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.30.13" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" +checksum = "355dbe4f8799b304b05e1b0f05fc59b2a18d36645cf169607da45bde2f69a1be" dependencies = [ - "cfg-if", "core-foundation-sys", "libc", + "memchr", "ntapi", - "once_cell", - "windows 0.52.0", + "windows 0.57.0", ] [[package]] @@ -9572,21 +10167,27 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "thin-vec" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" + [[package]] name = "thiserror" version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ - "thiserror-impl 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror-impl 1.0.63", ] [[package]] name = "thiserror" -version = "1.0.63" -source = "git+https://github.com/quartiq/thiserror?branch=no-std#44737a516b7fd0cc9dabcab07e7b1f927f8f5636" +version = "1.0.64" +source = "git+https://github.com/quartiq/thiserror?branch=no-std#e779e1b70023cee5807f378e147f66387d1ccd4f" dependencies = [ - "thiserror-impl 1.0.63 (git+https://github.com/quartiq/thiserror?branch=no-std)", + "thiserror-impl 1.0.64", ] [[package]] @@ -9602,8 +10203,8 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "1.0.63" -source = "git+https://github.com/quartiq/thiserror?branch=no-std#44737a516b7fd0cc9dabcab07e7b1f927f8f5636" +version = "1.0.64" +source = "git+https://github.com/quartiq/thiserror?branch=no-std#e779e1b70023cee5807f378e147f66387d1ccd4f" dependencies = [ "proc-macro2", "quote", @@ -9688,6 +10289,7 @@ checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", + "js-sys", "libc", "num-conv", "num_threads", @@ -9722,6 +10324,16 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -9801,9 +10413,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" dependencies = [ "futures-util", "log", @@ -9961,7 +10573,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "time", "tracing-subscriber", ] @@ -10080,7 +10692,7 @@ dependencies = [ "once_cell", "rand", "smallvec", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tinyvec", "tokio", "tracing", @@ -10102,7 +10714,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "tokio", "tracing", "trust-dns-proto", @@ -10116,9 +10728,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" dependencies = [ "byteorder", "bytes", @@ -10130,7 +10742,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "utf-8", ] @@ -10284,6 +10896,18 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -10526,16 +11150,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.57.0" @@ -10804,6 +11418,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + [[package]] name = "ws_stream_wasm" version = "0.7.4" @@ -10817,7 +11443,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -10857,7 +11483,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror 1.0.63 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.63", "time", ] @@ -10922,6 +11548,30 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -10943,6 +11593,27 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure", +] + [[package]] name = "zeroize" version = "1.8.1" @@ -10963,6 +11634,28 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "zstd" version = "0.13.2" diff --git a/Cargo.toml b/Cargo.toml index 1ef0972..2b76f54 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,6 @@ members = [ "bin/hera", "bin/op-rs", "crates/net", - "crates/kona-providers", "crates/rollup", "crates/ser", ] @@ -33,17 +32,18 @@ incremental = false [workspace.dependencies] # Workspace op-net = { path = "crates/net" } -kona-providers = { path = "crates/kona-providers" } rollup = { path = "crates/rollup" } ser = { path = "crates/ser" } # Optimism superchain = { version = "0.5", default-features = false } +kona-providers = "0.0.1" +kona-providers-alloy = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-primitives = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-derive = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } # Alloy -alloy = { version = "0.3.6", features = [ +alloy = { version = "0.4.2", features = [ "contract", "providers", "provider-http", @@ -58,10 +58,10 @@ alloy = { version = "0.3.6", features = [ ] } alloy-primitives = { version = "0.8", features = ["serde"] } alloy-rlp = "0.3" -op-alloy-protocol = { version = "0.2.12", default-features = false } -op-alloy-rpc-types = { version = "0.2.12", default-features = false } -op-alloy-rpc-types-engine = { version = "0.2.12", default-features = false } -op-alloy-genesis = { version = "0.2.12", default-features = false } +op-alloy-protocol = { version = "0.3", default-features = false } +op-alloy-rpc-types = { version = "0.3", default-features = false } +op-alloy-rpc-types-engine = { version = "0.3", default-features = false } +op-alloy-genesis = { version = "0.3", default-features = false } # Tokio tokio = { version = "1.21", default-features = false } @@ -71,20 +71,20 @@ serde_json = "1" ethereum_ssz = "0.7.1" # Reth -reth = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-discv5 = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-exex = { git = "https://github.com/paradigmxyz/reth", features = ["serde"], rev = "000b412" } -reth-network-peers = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } -reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "000b412" } +reth = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-discv5 = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-exex = { git = "https://github.com/paradigmxyz/reth", features = ["serde"], rev = "a846cbd" } +reth-network-peers = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } # Networking snap = "1.1.1" diff --git a/crates/kona-providers/Cargo.toml b/crates/kona-providers/Cargo.toml deleted file mode 100644 index 1677ae0..0000000 --- a/crates/kona-providers/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "kona-providers" -description = "Provider implementations for Kona trait abstractions" -version = "0.0.0" -edition.workspace = true -authors.workspace = true -license.workspace = true -keywords.workspace = true -repository.workspace = true -categories.workspace = true -rust-version.workspace = true - -[dependencies] -reth.workspace = true -alloy.workspace = true -alloy-rlp.workspace = true -hashbrown.workspace = true -async-trait.workspace = true -parking_lot.workspace = true -kona-derive.workspace = true -kona-primitives.workspace = true -tracing.workspace = true -eyre.workspace = true -url.workspace = true -op-alloy-protocol.workspace = true - -[features] -default = ["online"] -online = ["kona-derive/online"] diff --git a/crates/kona-providers/src/blob_provider.rs b/crates/kona-providers/src/blob_provider.rs deleted file mode 100644 index 425947f..0000000 --- a/crates/kona-providers/src/blob_provider.rs +++ /dev/null @@ -1,176 +0,0 @@ -use alloc::{collections::VecDeque, sync::Arc}; -use hashbrown::HashMap; - -use alloy::{eips::eip4844::Blob, primitives::B256}; -use async_trait::async_trait; -use eyre::{eyre, Result}; -use kona_derive::{ - errors::BlobProviderError, - online::{ - OnlineBeaconClient, OnlineBlobProviderBuilder, OnlineBlobProviderWithFallback, - SimpleSlotDerivation, - }, - traits::BlobProvider, -}; -use kona_primitives::IndexedBlobHash; -use op_alloy_protocol::BlockInfo; -use parking_lot::Mutex; -use reth::primitives::BlobTransactionSidecar; -use tracing::warn; -use url::Url; - -/// A blob provider that first attempts to fetch blobs from a primary beacon client and -/// falls back to a secondary blob archiver if the primary fails. -/// -/// Any blob archiver just needs to implement the beacon -/// [`blob_sidecars` API](https://ethereum.github.io/beacon-APIs/#/Beacon/getBlobSidecars) -pub type DurableBlobProvider = - OnlineBlobProviderWithFallback; - -/// Layered [BlobProvider] for the Kona derivation pipeline. -/// -/// This provider wraps different blob sources in an ordered manner: -/// - First, it attempts to fetch blobs from an in-memory store. -/// - If the blobs are not found, it then attempts to fetch them from an online beacon client. -/// - If the blobs are still not found, it tries to fetch them from a blob archiver (if set). -/// - If all sources fail, the provider will return a [BlobProviderError]. -#[derive(Debug, Clone)] -pub struct LayeredBlobProvider { - /// In-memory inner blob provider, used for locally caching blobs as - /// they come during live sync (when following the chain tip). - memory: Arc>, - - /// Fallback online blob provider. - /// This is used primarily during sync when archived blobs - /// aren't provided by reth since they'll be too old. - /// - /// The `Durable` setup allows to specify two different - /// endpoints for a primary and a fallback blob provider. - online: DurableBlobProvider, -} - -/// A blob provider that hold blobs in memory. -#[derive(Debug)] -pub struct InnerBlobProvider { - /// Maximum number of blobs to keep in memory. - capacity: usize, - /// Order of key insertion for oldest entry eviction. - key_order: VecDeque, - /// Maps block hashes to blob hashes to blob sidecars. - blocks_to_blob_sidecars: HashMap>, -} - -impl InnerBlobProvider { - /// Creates a new [InnerBlobProvider]. - pub fn with_capacity(cap: usize) -> Self { - Self { - capacity: cap, - blocks_to_blob_sidecars: HashMap::with_capacity(cap), - key_order: VecDeque::with_capacity(cap), - } - } - - /// Inserts multiple blob sidecars nto the provider. - pub fn insert_blob_sidecars( - &mut self, - block_hash: B256, - sidecars: Vec, - ) { - if let Some(existing_blobs) = self.blocks_to_blob_sidecars.get_mut(&block_hash) { - existing_blobs.extend(sidecars); - } else { - if self.blocks_to_blob_sidecars.len() >= self.capacity { - if let Some(oldest) = self.key_order.pop_front() { - self.blocks_to_blob_sidecars.remove(&oldest); - } - } - self.blocks_to_blob_sidecars.insert(block_hash, sidecars); - } - } -} - -impl LayeredBlobProvider { - /// Creates a new [LayeredBlobProvider] with a local blob store, an online primary beacon - /// client and an optional fallback blob archiver for fetching blobs. - pub fn new(beacon_client_url: Url, blob_archiver_url: Option) -> Self { - let memory = Arc::new(Mutex::new(InnerBlobProvider::with_capacity(512))); - - let online = OnlineBlobProviderBuilder::new() - .with_primary(beacon_client_url.as_str().trim_end_matches('/').to_string()) - .with_fallback( - blob_archiver_url.map(|url| url.as_str().trim_end_matches('/').to_string()), - ) - .build(); - - Self { memory, online } - } - - /// Inserts multiple blob sidecars into the in-memory provider. - #[inline] - pub fn insert_blob_sidecars( - &mut self, - block_hash: B256, - sidecars: Vec, - ) { - self.memory.lock().insert_blob_sidecars(block_hash, sidecars); - } - - /// Attempts to fetch blobs using the in-memory blob store. - #[inline] - async fn memory_blob_load( - &mut self, - block_ref: &BlockInfo, - blob_hashes: &[IndexedBlobHash], - ) -> Result> { - let locked = self.memory.lock(); - - let sidecars_for_block = locked - .blocks_to_blob_sidecars - .get(&block_ref.hash) - .ok_or(eyre!("No blob sidecars found for block ref: {:?}", block_ref))?; - - // for each sidecar, get the blob hashes and check if any of them are - // part of the requested hashes. If they are, add the corresponding blobs - // to the blobs vector. - let mut blobs = Vec::with_capacity(blob_hashes.len()); - let requested_hashes = blob_hashes.iter().map(|h| h.hash).collect::>(); - for sidecar in sidecars_for_block { - for (hash, blob) in sidecar.versioned_hashes().zip(&sidecar.blobs) { - if requested_hashes.contains(&hash) { - blobs.push(*blob); - } - } - } - - Ok(blobs) - } - - /// Attempts to fetch blobs using the online blob provider. - #[inline] - async fn online_blob_load( - &mut self, - block_ref: &BlockInfo, - blob_hashes: &[IndexedBlobHash], - ) -> Result, BlobProviderError> { - self.online.get_blobs(block_ref, blob_hashes).await - } -} - -#[async_trait] -impl BlobProvider for LayeredBlobProvider { - type Error = BlobProviderError; - - /// Fetches blobs for a given block ref and the blob hashes. - async fn get_blobs( - &mut self, - block_ref: &BlockInfo, - blob_hashes: &[IndexedBlobHash], - ) -> Result, BlobProviderError> { - if let Ok(b) = self.memory_blob_load(block_ref, blob_hashes).await { - return Ok(b); - } else { - warn!("Blob provider falling back to online provider"); - self.online_blob_load(block_ref, blob_hashes).await - } - } -} diff --git a/crates/kona-providers/src/chain_provider.rs b/crates/kona-providers/src/chain_provider.rs deleted file mode 100644 index fe847eb..0000000 --- a/crates/kona-providers/src/chain_provider.rs +++ /dev/null @@ -1,351 +0,0 @@ -//! Chain Provider - -use alloc::{collections::vec_deque::VecDeque, sync::Arc}; -use hashbrown::HashMap; - -use alloy::{ - consensus::{ - Header, Receipt, Signed, TxEip1559, TxEip2930, TxEip4844, TxEip4844Variant, TxEnvelope, - TxLegacy, - }, - eips::BlockNumHash, - primitives::B256, - signers::Signature, -}; -use alloy_rlp::Decodable; -use async_trait::async_trait; -use eyre::eyre; -use kona_derive::traits::ChainProvider; -use op_alloy_protocol::BlockInfo; -use parking_lot::RwLock; -use reth::{primitives::Transaction, providers::Chain}; - -/// An in-memory [ChainProvider] that stores chain data, -/// meant to be shared between multiple readers. -/// -/// This provider uses a ring buffer to limit capacity -/// to avoid storing an unbounded amount of data in memory. -#[derive(Debug, Clone)] -pub struct InMemoryChainProvider(Arc>); - -impl InMemoryChainProvider { - /// Create a new [InMemoryChainProvider] with the given capacity. - pub fn with_capacity(cap: usize) -> Self { - Self(Arc::new(RwLock::new(InMemoryChainProviderInner::with_capacity(cap)))) - } - - /// Commits Chain state to the provider. - pub fn commit(&mut self, chain: Arc) { - self.0.write().commit(chain); - } - - /// Inserts the L2 genesis [BlockNumHash] into the provider. - pub fn insert_l2_genesis_block(&mut self, block: BlockNumHash) { - self.0.write().insert_l2_genesis_block(block); - } -} - -/// The inner state of an [InMemoryChainProvider]. -#[derive(Debug)] -struct InMemoryChainProviderInner { - /// The maximum number of items to store in the provider. - /// This is used to prevent unbounded memory usage. - capacity: usize, - - /// The order in which keys were inserted into the provider. - /// This is used to evict the oldest items when the provider - /// reaches its capacity. - key_order: VecDeque, - - /// Maps [B256] hash to [Header]. - hash_to_header: HashMap, - - /// Maps [B256] hash to [BlockInfo]. - hash_to_block_info: HashMap, - - /// Maps [B256] hash to [Vec]<[Receipt]>. - hash_to_receipts: HashMap>, - - /// Maps a [B256] hash to a [Vec]<[TxEnvelope]>. - hash_to_txs: HashMap>, -} - -impl InMemoryChainProviderInner { - fn with_capacity(cap: usize) -> Self { - Self { - capacity: cap, - key_order: VecDeque::new(), - hash_to_header: HashMap::with_capacity(cap), - hash_to_block_info: HashMap::with_capacity(cap), - hash_to_receipts: HashMap::with_capacity(cap), - hash_to_txs: HashMap::with_capacity(cap), - } - } - - /// Commits Chain state to the provider. - fn commit(&mut self, chain: Arc) { - // Remove the oldest items if the provider is at capacity. - self.key_order.extend(chain.headers().map(|h| h.hash())); - if self.key_order.len() > self.capacity { - let to_remove = self.key_order.len() - self.capacity; - for _ in 0..to_remove { - if let Some(key) = self.key_order.pop_front() { - self.hash_to_header.remove(&key); - self.hash_to_block_info.remove(&key); - self.hash_to_receipts.remove(&key); - self.hash_to_txs.remove(&key); - } - } - } - - self.commit_headers(&chain); - self.commit_block_infos(&chain); - self.commit_receipts(&chain); - self.commit_txs(&chain); - } - - /// Commits [Header]s to the provider. - fn commit_headers(&mut self, chain: &Arc) { - for header in chain.headers() { - // TODO: won't need to coerce once reth uses alloy types - self.hash_to_header.insert(header.hash(), reth_to_alloy_header(&header)); - } - } - - /// Commits [BlockInfo]s to the provider. - fn commit_block_infos(&mut self, chain: &Arc) { - for block in chain.blocks_iter() { - self.hash_to_block_info.insert( - block.hash(), - BlockInfo { - hash: block.hash(), - number: block.number, - timestamp: block.timestamp, - parent_hash: block.parent_hash, - }, - ); - } - } - - /// Inserts the L2 genesis [BlockNumHash] into the provider. - fn insert_l2_genesis_block(&mut self, block: BlockNumHash) { - self.hash_to_block_info.insert( - block.hash, - BlockInfo { - hash: block.hash, - number: block.number, - timestamp: Default::default(), - parent_hash: Default::default(), - }, - ); - } - - /// Commits [Receipt]s to the provider. - fn commit_receipts(&mut self, chain: &Arc) { - for (b, receipt) in chain.blocks_and_receipts() { - self.hash_to_receipts.insert( - b.hash(), - receipt - .iter() - .flat_map(|r| { - r.as_ref().map(|r| Receipt { - cumulative_gas_used: r.cumulative_gas_used as u128, - logs: r.logs.clone(), - status: alloy::consensus::Eip658Value::Eip658(r.success), - }) - }) - .collect(), - ); - } - } - - /// Commits [TxEnvelope]s to the provider. - fn commit_txs(&mut self, chain: &Arc) { - for b in chain.blocks_iter() { - let txs = b.transactions().flat_map(reth_to_alloy_tx).collect(); - self.hash_to_txs.insert(b.hash(), txs); - } - } -} - -#[async_trait] -impl ChainProvider for InMemoryChainProvider { - type Error = eyre::Error; - - /// Fetch the L1 [Header] for the given [B256] hash. - async fn header_by_hash(&mut self, hash: B256) -> eyre::Result
{ - self.0 - .read() - .hash_to_header - .get(&hash) - .cloned() - .ok_or_else(|| eyre!("Header not found for hash: {}", hash)) - } - - /// Returns the block at the given number, or an error if the block does not exist in the data - /// source. - async fn block_info_by_number(&mut self, number: u64) -> eyre::Result { - self.0 - .read() - .hash_to_block_info - .values() - .find(|bi| bi.number == number) - .cloned() - .ok_or_else(|| eyre!("Block not found")) - } - - /// Returns all receipts in the block with the given hash, or an error if the block does not - /// exist in the data source. - async fn receipts_by_hash(&mut self, hash: B256) -> eyre::Result> { - self.0 - .read() - .hash_to_receipts - .get(&hash) - .cloned() - .ok_or_else(|| eyre!("Receipts not found")) - } - - /// Returns block info and transactions for the given block hash. - async fn block_info_and_transactions_by_hash( - &mut self, - hash: B256, - ) -> eyre::Result<(BlockInfo, Vec)> { - let block_info = self - .0 - .read() - .hash_to_block_info - .get(&hash) - .cloned() - .ok_or_else(|| eyre!("Block not found"))?; - - let txs = - self.0.read().hash_to_txs.get(&hash).cloned().ok_or_else(|| eyre!("Tx not found"))?; - - Ok((block_info, txs)) - } -} - -pub fn reth_to_alloy_header(header: &reth::primitives::SealedHeader) -> Header { - Header { - parent_hash: header.parent_hash, - ommers_hash: header.ommers_hash, - beneficiary: header.beneficiary, - state_root: header.state_root, - requests_root: header.requests_root, - transactions_root: header.transactions_root, - receipts_root: header.receipts_root, - withdrawals_root: header.withdrawals_root, - logs_bloom: header.logs_bloom, - difficulty: header.difficulty, - number: header.number, - gas_limit: header.gas_limit as u128, - gas_used: header.gas_used as u128, - timestamp: header.timestamp, - mix_hash: header.mix_hash, - nonce: header.nonce.into(), - base_fee_per_gas: header.base_fee_per_gas.map(|b| b as u128), - blob_gas_used: header.blob_gas_used.map(|b| b as u128), - excess_blob_gas: header.excess_blob_gas.map(|b| b as u128), - parent_beacon_block_root: header.parent_beacon_block_root, - extra_data: header.extra_data.clone(), - } -} - -pub fn reth_to_alloy_tx(tx: &reth::primitives::TransactionSigned) -> Option { - let mut buf = Vec::new(); - tx.signature.encode(&mut buf); - let sig = Signature::decode(&mut buf.as_slice()).ok()?; - let new = match &tx.transaction { - Transaction::Legacy(l) => { - let legacy_tx = TxLegacy { - chain_id: l.chain_id, - nonce: l.nonce, - gas_price: l.gas_price, - gas_limit: l.gas_limit, - to: l.to, - value: l.value, - input: l.input.clone(), - }; - TxEnvelope::Legacy(Signed::new_unchecked(legacy_tx, sig, tx.hash)) - } - Transaction::Eip2930(e) => { - let eip_tx = TxEip2930 { - chain_id: e.chain_id, - nonce: e.nonce, - gas_price: e.gas_price, - gas_limit: e.gas_limit, - to: e.to, - value: e.value, - input: e.input.clone(), - access_list: alloy::eips::eip2930::AccessList( - e.access_list - .0 - .clone() - .into_iter() - .map(|item| alloy::eips::eip2930::AccessListItem { - address: item.address, - storage_keys: item.storage_keys.clone(), - }) - .collect(), - ), - }; - TxEnvelope::Eip2930(Signed::new_unchecked(eip_tx, sig, tx.hash)) - } - Transaction::Eip1559(e) => { - let eip_tx = TxEip1559 { - chain_id: e.chain_id, - nonce: e.nonce, - max_priority_fee_per_gas: e.max_priority_fee_per_gas, - max_fee_per_gas: e.max_fee_per_gas, - gas_limit: e.gas_limit, - to: e.to, - value: e.value, - input: e.input.clone(), - access_list: alloy::eips::eip2930::AccessList( - e.access_list - .0 - .clone() - .into_iter() - .map(|item| alloy::eips::eip2930::AccessListItem { - address: item.address, - storage_keys: item.storage_keys.clone(), - }) - .collect(), - ), - }; - TxEnvelope::Eip1559(Signed::new_unchecked(eip_tx, sig, tx.hash)) - } - Transaction::Eip4844(e) => { - let eip_tx = TxEip4844 { - chain_id: e.chain_id, - nonce: e.nonce, - max_fee_per_gas: e.max_fee_per_gas, - max_priority_fee_per_gas: e.max_priority_fee_per_gas, - max_fee_per_blob_gas: e.max_fee_per_blob_gas, - blob_versioned_hashes: e.blob_versioned_hashes.clone(), - gas_limit: e.gas_limit, - to: e.to, - value: e.value, - input: e.input.clone(), - access_list: alloy::eips::eip2930::AccessList( - e.access_list - .0 - .clone() - .into_iter() - .map(|item| alloy::eips::eip2930::AccessListItem { - address: item.address, - storage_keys: item.storage_keys.clone(), - }) - .collect(), - ), - }; - TxEnvelope::Eip4844(Signed::new_unchecked( - TxEip4844Variant::TxEip4844(eip_tx), - sig, - tx.hash, - )) - } - Transaction::Eip7702(_) => unimplemented!("EIP-7702 not implemented"), - }; - Some(new) -} diff --git a/crates/kona-providers/src/lib.rs b/crates/kona-providers/src/lib.rs deleted file mode 100644 index a63a8be..0000000 --- a/crates/kona-providers/src/lib.rs +++ /dev/null @@ -1,17 +0,0 @@ -//! Provider implementations for Kona trait abstractions - -#![doc(issue_tracker_base_url = "https://github.com/paradigmxyz/op-rs/issues/")] -#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] -#![cfg_attr(not(test), warn(unused_crate_dependencies))] -#![cfg_attr(not(any(test, feature = "online")), no_std)] - -extern crate alloc; - -/// Re-export kona's derivation traits -pub use kona_derive::traits::*; - -pub mod chain_provider; -pub use chain_provider::InMemoryChainProvider; - -pub mod blob_provider; -pub use blob_provider::LayeredBlobProvider; diff --git a/crates/net/src/types/envelope.rs b/crates/net/src/types/envelope.rs index b2f3491..fde5cc0 100644 --- a/crates/net/src/types/envelope.rs +++ b/crates/net/src/types/envelope.rs @@ -5,8 +5,6 @@ use alloy::{ rpc::types::engine::{ExecutionPayloadV1, ExecutionPayloadV2, ExecutionPayloadV3}, }; use eyre::Result; -use kona_primitives::L2ExecutionPayload; -use ssz::Decode; use super::payload::PayloadHash; diff --git a/crates/rollup/Cargo.toml b/crates/rollup/Cargo.toml index 3e78d29..e7cfabd 100644 --- a/crates/rollup/Cargo.toml +++ b/crates/rollup/Cargo.toml @@ -10,9 +10,9 @@ keywords.workspace = true categories.workspace = true [dependencies] -kona-providers.workspace = true - # OP Stack Dependencies +kona-providers.workspace = true +kona-providers-alloy.workspace = true kona-derive.workspace = true op-alloy-genesis.workspace = true op-alloy-protocol.workspace = true @@ -41,7 +41,3 @@ tokio.workspace = true futures.workspace = true alloy.workspace = true hashbrown.workspace = true - -[features] -default = ["online"] -online = ["kona-derive/online"] diff --git a/crates/rollup/src/driver/mod.rs b/crates/rollup/src/driver/mod.rs index 82d4fa9..749b5f4 100644 --- a/crates/rollup/src/driver/mod.rs +++ b/crates/rollup/src/driver/mod.rs @@ -5,13 +5,13 @@ use std::{fmt::Debug, sync::Arc}; use eyre::{bail, eyre, Result}; use kona_derive::{ errors::{PipelineError, PipelineErrorKind}, - online::{AlloyChainProvider, AlloyL2ChainProvider, OnlineBlobProviderBuilder}, traits::{BlobProvider, ChainProvider, L2ChainProvider}, }; use kona_providers::{ blob_provider::DurableBlobProvider, InMemoryChainProvider, LayeredBlobProvider, Pipeline, StepResult, }; +use kona_providers_alloy::{AlloyChainProvider, AlloyL2ChainProvider, OnlineBlobProviderBuilder}; use op_alloy_genesis::RollupConfig; use op_alloy_protocol::{BlockInfo, L2BlockInfo}; use reth::rpc::types::engine::JwtSecret; diff --git a/crates/ser/Cargo.toml b/crates/ser/Cargo.toml index 43cc43a..fb9c645 100644 --- a/crates/ser/Cargo.toml +++ b/crates/ser/Cargo.toml @@ -24,7 +24,3 @@ op-alloy-genesis.workspace = true rand.workspace = true eyre.workspace = true tracing.workspace = true - -[features] -default = ["online"] -online = ["kona-derive/online"] From 2283a96b4fbbe7b3e9f60d3e74ccc949af90d12c Mon Sep 17 00:00:00 2001 From: nicolas <48695862+merklefruit@users.noreply.github.com> Date: Sun, 6 Oct 2024 13:53:25 +0200 Subject: [PATCH 2/5] chore: update execution payload envelope type --- Cargo.lock | 752 +++++++++++++++++-------------- Cargo.toml | 14 +- crates/net/Cargo.toml | 5 +- crates/net/src/driver.rs | 17 +- crates/net/src/gossip/handler.rs | 27 +- crates/net/src/types/envelope.rs | 185 -------- crates/net/src/types/mod.rs | 2 - crates/net/src/types/payload.rs | 51 --- 8 files changed, 437 insertions(+), 616 deletions(-) delete mode 100644 crates/net/src/types/envelope.rs delete mode 100644 crates/net/src/types/payload.rs diff --git a/Cargo.lock b/Cargo.lock index 00c3512..f8441a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] @@ -157,9 +157,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.33" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "805f7a974de5804f5c053edc6ca43b20883bdd3a733b3691200ae3a4b454a2db" +checksum = "94c225801d42099570d0674701dddd4142f0ef715282aeb5985042e2ec962df7" dependencies = [ "alloy-rlp", "num_enum", @@ -216,7 +216,7 @@ dependencies = [ "alloy-transport", "futures", "futures-util", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -311,7 +311,7 @@ dependencies = [ "arbitrary", "c-kzg", "derive_more", - "ethereum_ssz 0.8.0", + "ethereum_ssz", "ethereum_ssz_derive", "once_cell", "serde", @@ -351,7 +351,7 @@ dependencies = [ "alloy-sol-types", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -373,7 +373,7 @@ dependencies = [ "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -405,7 +405,7 @@ dependencies = [ "getrandom", "hashbrown 0.14.5", "hex-literal", - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "k256", "keccak-asm", @@ -452,7 +452,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", "url", @@ -496,7 +496,7 @@ checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -570,11 +570,11 @@ dependencies = [ "alloy-eips 0.4.2", "alloy-primitives", "alloy-rpc-types-engine", - "ethereum_ssz 0.8.0", + "ethereum_ssz", "ethereum_ssz_derive", "serde", "serde_with", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -599,7 +599,7 @@ dependencies = [ "alloy-rlp", "alloy-serde 0.4.2", "derive_more", - "ethereum_ssz 0.8.0", + "ethereum_ssz", "ethereum_ssz_derive", "jsonrpsee-types", "jsonwebtoken", @@ -653,7 +653,7 @@ dependencies = [ "alloy-serde 0.4.2", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -702,7 +702,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -718,7 +718,7 @@ dependencies = [ "async-trait", "k256", "rand", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -732,7 +732,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -745,11 +745,11 @@ dependencies = [ "alloy-sol-macro-input", "const-hex", "heck", - "indexmap 2.5.0", + "indexmap 2.6.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "syn-solidity", "tiny-keccak", ] @@ -767,7 +767,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.77", + "syn 2.0.79", "syn-solidity", ] @@ -806,7 +806,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tower 0.5.1", "tracing", @@ -961,7 +961,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1130,7 +1130,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "time", ] @@ -1142,7 +1142,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "synstructure", ] @@ -1154,7 +1154,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1165,11 +1165,11 @@ checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "async-compression" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" +checksum = "7e614738943d3f68c628ae3dbce7c3daffb196665f82f8c8ea6b65de73c79429" dependencies = [ - "brotli", + "brotli 7.0.0", "flate2", "futures-core", "memchr", @@ -1211,9 +1211,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1222,24 +1222,24 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1301,20 +1301,20 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-lc-rs" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f95446d919226d587817a7d21379e6eb099b97b45110a7f272a444ca5c54070" +checksum = "cdd82dba44d209fddb11c190e0a94b78651f95299598e472215667417a03ff1d" dependencies = [ "aws-lc-sys", "mirai-annotations", @@ -1324,9 +1324,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.21.2" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3ddc4a5b231dd6958b140ff3151b6412b3f4321fab354f399eec8f14b06df62" +checksum = "df7a4168111d7eb622a31b214057b8509c0a7e1794f44c546d742330dc793972" dependencies = [ "bindgen 0.69.4", "cc", @@ -1432,7 +1432,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.77", + "syn 2.0.79", "which", ] @@ -1451,7 +1451,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1554,7 +1554,7 @@ dependencies = [ "bitflags 2.6.0", "boa_interner", "boa_macros", - "indexmap 2.5.0", + "indexmap 2.6.0", "num-bigint", "rustc-hash 2.0.0", ] @@ -1580,7 +1580,7 @@ dependencies = [ "fast-float", "hashbrown 0.14.5", "icu_normalizer", - "indexmap 2.5.0", + "indexmap 2.6.0", "intrusive-collections", "itertools 0.13.0", "num-bigint", @@ -1600,7 +1600,7 @@ dependencies = [ "static_assertions", "tap", "thin-vec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "time", ] @@ -1626,7 +1626,7 @@ dependencies = [ "boa_gc", "boa_macros", "hashbrown 0.14.5", - "indexmap 2.5.0", + "indexmap 2.6.0", "once_cell", "phf", "rustc-hash 2.0.0", @@ -1641,7 +1641,7 @@ checksum = "240f4126219a83519bad05c9a40bfc0303921eeb571fc2d7e44c17ffac99d3f1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "synstructure", ] @@ -1697,6 +1697,16 @@ name = "brotli" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +dependencies = [ + "alloc-no-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1751,7 +1761,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -1813,7 +1823,7 @@ dependencies = [ "semver 1.0.23", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1833,9 +1843,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.21" +version = "1.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0" +checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" dependencies = [ "jobserver", "libc", @@ -1935,9 +1945,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.18" +version = "4.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3" +checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" dependencies = [ "clap_builder", "clap_derive", @@ -1945,9 +1955,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.18" +version = "4.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b" +checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" dependencies = [ "anstream", "anstyle", @@ -1964,7 +1974,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2056,9 +2066,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.12.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8a24a26d37e1ffd45343323dc9fe6654ceea44c12f2fcb3d7ac29e610bc6" +checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" dependencies = [ "cfg-if", "cpufeatures", @@ -2323,7 +2333,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2347,7 +2357,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2358,7 +2368,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2483,7 +2493,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2504,7 +2514,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "unicode-xid", ] @@ -2648,7 +2658,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2783,7 +2793,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2794,7 +2804,7 @@ checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2826,17 +2836,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "ethereum_ssz" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e999563461faea0ab9bc0024e5e66adcee35881f3d5062f52f31a4070fe1522" -dependencies = [ - "alloy-primitives", - "itertools 0.13.0", - "smallvec", -] - [[package]] name = "ethereum_ssz" version = "0.8.0" @@ -2862,7 +2861,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -2926,7 +2925,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182f7dbc2ef73d9ef67351c5fbbea084729c48362d3ce9dd44c28e32e277fe5" dependencies = [ "libc", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2971,9 +2970,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" dependencies = [ "crc32fast", "miniz_oxide", @@ -3032,9 +3031,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -3047,9 +3046,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -3057,15 +3056,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -3075,9 +3074,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -3091,13 +3090,13 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3113,15 +3112,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-ticker" @@ -3146,9 +3145,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -3214,9 +3213,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" @@ -3239,7 +3238,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -3293,7 +3292,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.5.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -3312,7 +3311,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.5.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -3342,6 +3341,12 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" + [[package]] name = "hashlink" version = "0.8.4" @@ -3431,7 +3436,7 @@ dependencies = [ "once_cell", "rand", "socket2 0.5.7", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tinyvec", "tokio", "tracing", @@ -3454,7 +3459,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -3582,9 +3587,9 @@ checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -3697,9 +3702,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da62f120a8a37763efb0cf8fdf264b884c7b8b9ac8660b900c8661030c00e6ba" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", @@ -3710,7 +3715,6 @@ dependencies = [ "pin-project-lite", "socket2 0.5.7", "tokio", - "tower 0.4.13", "tower-service", "tracing", ] @@ -3853,7 +3857,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -3998,13 +4002,13 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "arbitrary", "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "serde", ] @@ -4045,7 +4049,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b23a0c8dfe501baac4adf6ebbfa6eddf8f0c07f56b058cc1288017e32397846c" dependencies = [ "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4095,15 +4099,15 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c25163201be6ded9e686703e85532f8f852ea1f92ba625cb3c51f7fe6d07a4a" +checksum = "44bd7eced44cfe2cebc674adb2a7124a754a4b5269288d22e9f39f8fada3562d" dependencies = [ "memchr", "serde", @@ -4158,7 +4162,7 @@ dependencies = [ "combine", "jni-sys", "log", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "walkdir", ] @@ -4188,9 +4192,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd1ead9fb95614e8dc5556d12a8681c2f6d352d0c1d3efc8708c7ccbba47bc6" +checksum = "126b48a5acc3c52fbd5381a77898cb60e145123179588a29e7ac48f9c06e401b" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -4206,9 +4210,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89841d4f03a14c055eb41d4f41901819573ef948e8ee0d5c86466fd286b2ce7f" +checksum = "bf679a8e0e083c77997f7c4bb4ca826577105906027ae462aac70ff348d02c6a" dependencies = [ "base64 0.22.1", "futures-channel", @@ -4221,7 +4225,7 @@ dependencies = [ "rustls-pki-types", "rustls-platform-verifier", "soketto", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-rustls", "tokio-util", @@ -4231,9 +4235,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff79651479f69ada7bda604ef2acf3f1aa50755d97cc36d25ff04c2664f9d96f" +checksum = "b0e503369a76e195b65af35058add0e6900b794a4e9a9316900ddd3a87a80477" dependencies = [ "async-trait", "bytes", @@ -4249,7 +4253,7 @@ dependencies = [ "rustc-hash 2.0.0", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -4258,9 +4262,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ed8b301b19f4dad8ddc66ed956a70fc227def5c19b3898e0a29ce8f0edee06" +checksum = "f2c0caba4a6a8efbafeec9baa986aa22a75a96c29d3e4b0091b0098d6470efb5" dependencies = [ "async-trait", "base64 0.22.1", @@ -4274,7 +4278,7 @@ dependencies = [ "rustls-platform-verifier", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tower 0.4.13", "tracing", @@ -4283,22 +4287,22 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0d4c6bec4909c966f59f52db3655c0e9d4685faae8b49185973d9d7389bb884" +checksum = "fc660a9389e2748e794a40673a4155d501f32db667757cdb80edeff0306b489b" dependencies = [ "heck", "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "jsonrpsee-server" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe2198e5fd96cf2153ecc123364f699b6e2151317ea09c7bf799c43c2fe1415" +checksum = "af6e6c9b6d975edcb443565d648b605f3e85a04ec63aa6941811a8894cc9cded" dependencies = [ "futures-util", "http 1.1.0", @@ -4313,7 +4317,7 @@ dependencies = [ "serde", "serde_json", "soketto", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tokio-util", @@ -4323,21 +4327,21 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531e386460425e49679587871a056f2895a47dade21457324ad1262cd78ef6d9" +checksum = "d8fb16314327cbc94fdf7965ef7e4422509cd5597f76d137bd104eb34aeede67" dependencies = [ "http 1.1.0", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "jsonrpsee-wasm-client" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2d2206c8f04c6b79a11bd1d92d6726b6f7fd3dec57c91e07fa53e867268bbb" +checksum = "e0da62b43702bd5640ea305d35df95da30abc878e79a7b4b01feda3beaf35d3c" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -4346,9 +4350,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.24.4" +version = "0.24.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87bc869e143d430e748988261d19b630e8f1692074e68f1a7f0eb4c521d2fc58" +checksum = "39aabf5d6c6f22da8d5b808eea1fab0736059f11fb42f71f141b14f404e5046a" dependencies = [ "http 1.1.0", "jsonrpsee-client-transport", @@ -4408,7 +4412,7 @@ dependencies = [ [[package]] name = "kona-derive" version = "0.0.3" -source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" +source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" dependencies = [ "alloc-no-stdlib", "alloy-consensus 0.4.2", @@ -4417,16 +4421,16 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-engine", "async-trait", - "brotli", + "brotli 6.0.0", "kona-primitives", "kona-providers 0.0.1 (git+https://github.com/anton-rs/kona?branch=main)", "miniz_oxide", - "op-alloy-consensus", - "op-alloy-genesis 0.3.3", - "op-alloy-protocol", - "op-alloy-rpc-types-engine", + "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-rpc-types-engine 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde", - "thiserror 1.0.64", + "thiserror 1.0.64 (git+https://github.com/quartiq/thiserror?branch=no-std)", "tracing", "unsigned-varint 0.8.0", ] @@ -4434,7 +4438,7 @@ dependencies = [ [[package]] name = "kona-primitives" version = "0.0.2" -source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" +source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" dependencies = [ "alloy-eips 0.4.2", "alloy-primitives", @@ -4443,7 +4447,7 @@ dependencies = [ "revm", "serde", "sha2 0.10.8", - "thiserror 1.0.64", + "thiserror 1.0.64 (git+https://github.com/quartiq/thiserror?branch=no-std)", "tracing", ] @@ -4456,28 +4460,28 @@ dependencies = [ "alloy-consensus 0.4.2", "alloy-primitives", "async-trait", - "op-alloy-consensus", - "op-alloy-genesis 0.3.3", - "op-alloy-protocol", + "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kona-providers" version = "0.0.1" -source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" +source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" dependencies = [ "alloy-consensus 0.4.2", "alloy-primitives", "async-trait", - "op-alloy-consensus", - "op-alloy-genesis 0.3.3", - "op-alloy-protocol", + "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kona-providers-alloy" version = "0.0.1" -source = "git+https://github.com/anton-rs/kona?branch=main#e611d34e666e8e5f82a5dbf6b01a973b7d60a572" +source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", @@ -4490,9 +4494,9 @@ dependencies = [ "kona-primitives", "kona-providers 0.0.1 (git+https://github.com/anton-rs/kona?branch=main)", "lru", - "op-alloy-consensus", - "op-alloy-genesis 0.3.3", - "op-alloy-protocol", + "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "reqwest", "tracing", ] @@ -4549,9 +4553,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libloading" @@ -4598,7 +4602,7 @@ dependencies = [ "multiaddr", "pin-project", "rw-stream-sink", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -4646,7 +4650,7 @@ dependencies = [ "rand", "rw-stream-sink", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "unsigned-varint 0.8.0", "void", @@ -4715,7 +4719,7 @@ dependencies = [ "quick-protobuf", "rand", "sha2 0.10.8", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "zeroize", ] @@ -4778,7 +4782,7 @@ dependencies = [ "sha2 0.10.8", "snow", "static_assertions", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "x25519-dalek", "zeroize", @@ -4821,7 +4825,7 @@ dependencies = [ "ring 0.17.8", "rustls", "socket2 0.5.7", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -4859,7 +4863,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -4893,7 +4897,7 @@ dependencies = [ "ring 0.17.8", "rustls", "rustls-webpki 0.101.7", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "x509-parser", "yasna", ] @@ -4923,7 +4927,7 @@ dependencies = [ "either", "futures", "libp2p-core", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "yamux 0.12.1", "yamux 0.13.3", @@ -4931,11 +4935,11 @@ dependencies = [ [[package]] name = "libproc" -version = "0.14.8" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9ea4b75e1a81675429dafe43441df1caea70081e82246a8cccf514884a88bb" +checksum = "78cca3586d5efa98fba425856ba227950fd4287525dd5317b352f476ca7d603b" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.70.1", "errno", "libc", ] @@ -4948,7 +4952,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", - "redox_syscall 0.5.4", + "redox_syscall 0.5.7", ] [[package]] @@ -5133,7 +5137,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5147,12 +5151,12 @@ dependencies = [ "hyper 1.4.1", "hyper-rustls", "hyper-util", - "indexmap 2.5.0", + "indexmap 2.6.0", "ipnet", "metrics", "metrics-util", "quanta", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -5278,9 +5282,9 @@ checksum = "1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e" [[package]] name = "multiaddr" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ "arrayref", "byteorder", @@ -5291,7 +5295,7 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", "url", ] @@ -5382,7 +5386,7 @@ dependencies = [ "anyhow", "byteorder", "paste", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -5396,7 +5400,7 @@ dependencies = [ "log", "netlink-packet-core", "netlink-sys", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", ] @@ -5586,7 +5590,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5613,9 +5617,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.4" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] @@ -5631,9 +5635,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "op-alloy-consensus" @@ -5653,6 +5657,21 @@ dependencies = [ "spin 0.9.8", ] +[[package]] +name = "op-alloy-consensus" +version = "0.3.3" +source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.4.2", + "derive_more", + "serde", + "spin 0.9.8", +] + [[package]] name = "op-alloy-genesis" version = "0.2.12" @@ -5681,6 +5700,17 @@ dependencies = [ "serde_repr", ] +[[package]] +name = "op-alloy-genesis" +version = "0.3.3" +source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-sol-types", +] + [[package]] name = "op-alloy-protocol" version = "0.3.3" @@ -5693,16 +5723,29 @@ dependencies = [ "alloy-rlp", "alloy-serde 0.4.2", "derive_more", - "op-alloy-consensus", - "op-alloy-genesis 0.3.3", + "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde", ] +[[package]] +name = "op-alloy-protocol" +version = "0.3.3" +source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +dependencies = [ + "alloy-consensus 0.4.2", + "alloy-eips 0.4.2", + "alloy-primitives", + "alloy-rlp", + "derive_more", + "op-alloy-consensus 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-genesis 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", +] + [[package]] name = "op-alloy-rpc-types" version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "547d29c5ab957ff32e14edddb93652dad748d2ef6cbe4b0fe8615ce06b0a3ddb" +source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", @@ -5710,7 +5753,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde 0.4.2", - "op-alloy-consensus", + "op-alloy-consensus 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", "serde", "serde_json", ] @@ -5725,10 +5768,23 @@ dependencies = [ "alloy-rpc-types-engine", "alloy-serde 0.4.2", "derive_more", - "op-alloy-protocol", + "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde", ] +[[package]] +name = "op-alloy-rpc-types-engine" +version = "0.3.3" +source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine", + "derive_more", + "ethereum_ssz", + "op-alloy-protocol 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "snap", +] + [[package]] name = "op-net" version = "0.0.0" @@ -5738,13 +5794,12 @@ dependencies = [ "arbitrary", "arbtest", "discv5 0.6.0", - "ethereum_ssz 0.7.1", "eyre", "futures", - "kona-primitives", "lazy_static", "libp2p", "libp2p-identity", + "op-alloy-rpc-types-engine 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", "openssl", "snap", "tokio", @@ -5793,7 +5848,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -5922,7 +5977,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.4", + "redox_syscall 0.5.7", "smallvec", "windows-targets 0.52.6", ] @@ -5956,7 +6011,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "ucd-trie", ] @@ -6000,7 +6055,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6014,22 +6069,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "baf123a161dde1e524adf36f90bc5d8d3462824a9c43553ad07a8183161189ec" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6056,9 +6111,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "polling" @@ -6118,9 +6173,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d30538d42559de6b034bc76fd6dd4c38961b1ee5c6c56e3808c50128fdbc22ce" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "powerfmt" @@ -6154,7 +6209,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6220,7 +6275,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6278,7 +6333,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6295,7 +6350,7 @@ dependencies = [ "rand", "rand_chacha", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -6309,7 +6364,7 @@ checksum = "6ff7ff745a347b87471d859a377a9a404361e7efc2a971d73424a6d183c0fc77" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -6351,7 +6406,7 @@ dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "unsigned-varint 0.8.0", ] @@ -6369,7 +6424,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "socket2 0.5.7", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -6386,7 +6441,7 @@ dependencies = [ "rustc-hash 2.0.0", "rustls", "slab", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tinyvec", "tracing", ] @@ -6482,9 +6537,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.1.0" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb9ee317cfe3fbd54b36a511efc1edd42e216903c9cd575e686dd68a2ba90d8d" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ "bitflags 2.6.0", ] @@ -6538,9 +6593,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.4" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] @@ -6553,19 +6608,19 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -6579,13 +6634,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -6596,9 +6651,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "regress" @@ -6612,9 +6667,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.7" +version = "0.12.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" dependencies = [ "base64 0.22.1", "bytes", @@ -6821,7 +6876,7 @@ dependencies = [ "reth-tasks", "reth-tokio-util", "schnellru", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -6870,7 +6925,7 @@ dependencies = [ "reth-execution-errors", "reth-primitives", "reth-storage-errors", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -7007,7 +7062,7 @@ dependencies = [ "rand", "reth-fs-util", "secp256k1", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tikv-jemallocator", ] @@ -7034,7 +7089,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -7126,7 +7181,7 @@ dependencies = [ "serde", "strum", "sysinfo", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -7176,7 +7231,7 @@ dependencies = [ "reth-trie-db", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -7211,7 +7266,7 @@ dependencies = [ "schnellru", "secp256k1", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -7236,7 +7291,7 @@ dependencies = [ "reth-metrics", "reth-network-peers", "secp256k1", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -7256,7 +7311,7 @@ dependencies = [ "reth-tokio-util", "schnellru", "secp256k1", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -7285,7 +7340,7 @@ dependencies = [ "reth-primitives", "reth-storage-api", "reth-tasks", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tokio-util", @@ -7315,7 +7370,7 @@ dependencies = [ "secp256k1", "sha2 0.10.8", "sha3", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tokio-util", @@ -7355,7 +7410,7 @@ dependencies = [ "reth-prune", "reth-stages-api", "reth-tasks", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -7390,7 +7445,7 @@ dependencies = [ "reth-tasks", "reth-trie", "reth-trie-parallel", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -7436,7 +7491,7 @@ dependencies = [ "reth-execution-errors", "reth-fs-util", "reth-storage-errors", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -7458,7 +7513,7 @@ dependencies = [ "reth-network-peers", "reth-primitives", "snap", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tokio-util", @@ -7480,7 +7535,7 @@ dependencies = [ "reth-chainspec", "reth-codecs-derive", "reth-primitives", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -7695,7 +7750,7 @@ source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1 dependencies = [ "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -7736,7 +7791,7 @@ dependencies = [ "jsonrpsee", "pin-project", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tokio-util", @@ -7753,11 +7808,11 @@ dependencies = [ "byteorder", "dashmap 6.1.0", "derive_more", - "indexmap 2.5.0", + "indexmap 2.6.0", "parking_lot 0.12.3", "reth-mdbx-sys", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -7799,7 +7854,7 @@ dependencies = [ "if-addrs 0.13.3", "reqwest", "serde_with", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -7847,7 +7902,7 @@ dependencies = [ "secp256k1", "serde", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tokio-util", @@ -7872,7 +7927,7 @@ dependencies = [ "reth-network-types", "reth-tokio-util", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", ] @@ -7907,7 +7962,7 @@ dependencies = [ "enr", "secp256k1", "serde_with", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "url", ] @@ -7938,7 +7993,7 @@ dependencies = [ "memmap2", "reth-fs-util", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", "zstd", ] @@ -8070,7 +8125,7 @@ dependencies = [ "serde_json", "shellexpand", "strum", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "toml", "tracing", "vergen", @@ -8186,7 +8241,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types", "async-trait", - "op-alloy-rpc-types-engine", + "op-alloy-rpc-types-engine 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "pin-project", "reth-chain-state", "reth-chainspec", @@ -8194,7 +8249,7 @@ dependencies = [ "reth-primitives", "reth-transaction-pool", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -8226,7 +8281,7 @@ dependencies = [ "k256", "modular-bitfield", "once_cell", - "op-alloy-consensus", + "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "rayon", "reth-codecs", "reth-ethereum-forks", @@ -8324,7 +8379,7 @@ dependencies = [ "reth-static-file-types", "reth-tokio-util", "rustc-hash 2.0.0", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -8340,7 +8395,7 @@ dependencies = [ "modular-bitfield", "reth-codecs", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -8417,7 +8472,7 @@ dependencies = [ "revm-primitives", "serde", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tower 0.4.13", @@ -8481,7 +8536,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tower 0.4.13", "tower-http", "tracing", @@ -8513,7 +8568,7 @@ dependencies = [ "reth-tasks", "reth-transaction-pool", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -8596,7 +8651,7 @@ dependencies = [ "revm-primitives", "schnellru", "serde", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -8678,7 +8733,7 @@ dependencies = [ "reth-storage-errors", "reth-trie", "reth-trie-db", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -8704,7 +8759,7 @@ dependencies = [ "reth-static-file", "reth-static-file-types", "reth-tokio-util", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", ] @@ -8800,7 +8855,7 @@ dependencies = [ "pin-project", "rayon", "reth-metrics", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", "tracing-futures", @@ -8859,7 +8914,7 @@ dependencies = [ "schnellru", "serde", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tokio-stream", "tracing", @@ -8953,7 +9008,7 @@ dependencies = [ "reth-provider", "reth-trie", "reth-trie-db", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tracing", ] @@ -8988,7 +9043,7 @@ dependencies = [ "colorchoice", "revm", "serde_json", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -9169,9 +9224,9 @@ dependencies = [ "kona-providers 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "kona-providers-alloy", "metrics-exporter-prometheus", - "op-alloy-genesis 0.3.3", - "op-alloy-protocol", - "op-alloy-rpc-types-engine", + "op-alloy-genesis 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-protocol 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-rpc-types-engine 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", "reqwest", "reth", "reth-execution-types", @@ -9202,7 +9257,7 @@ dependencies = [ "netlink-packet-route", "netlink-proto", "nix", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", ] @@ -9306,9 +9361,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.13" +version = "0.23.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" +checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" dependencies = [ "aws-lc-rs", "log", @@ -9348,19 +9403,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" [[package]] name = "rustls-platform-verifier" @@ -9591,8 +9645,8 @@ dependencies = [ "alloy-rlp", "eyre", "kona-derive", - "op-alloy-genesis 0.3.3", - "op-alloy-protocol", + "op-alloy-genesis 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-protocol 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", "op-alloy-rpc-types", "rand", "tracing", @@ -9615,7 +9669,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -9624,7 +9678,7 @@ version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -9639,14 +9693,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -9665,15 +9719,15 @@ dependencies = [ [[package]] name = "serde_with" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +checksum = "8e28bdad6db2b8340e449f7108f020b3b092e8583a9e3fb82713e1d4e71fe817" dependencies = [ "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_derive", "serde_json", @@ -9683,14 +9737,14 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.9.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +checksum = "9d846214a9854ef724f3da161b426242d8de7c1fc7de2f89bb1efcb154dca79d" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -9836,7 +9890,7 @@ checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" dependencies = [ "num-bigint", "num-traits", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "time", ] @@ -9997,7 +10051,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10046,9 +10100,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.77" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -10064,7 +10118,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10090,7 +10144,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10156,9 +10210,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", "fastrand", @@ -10175,11 +10229,11 @@ checksum = "a38c90d48152c236a3ab59271da4f4ae63d678c5d7ad6b7714d7cb9760be5e4b" [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ - "thiserror-impl 1.0.63", + "thiserror-impl 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -10187,18 +10241,18 @@ name = "thiserror" version = "1.0.64" source = "git+https://github.com/quartiq/thiserror?branch=no-std#e779e1b70023cee5807f378e147f66387d1ccd4f" dependencies = [ - "thiserror-impl 1.0.64", + "thiserror-impl 1.0.64 (git+https://github.com/quartiq/thiserror?branch=no-std)", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10208,7 +10262,7 @@ source = "git+https://github.com/quartiq/thiserror?branch=no-std#e779e1b70023cee dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10375,7 +10429,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10465,11 +10519,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.21" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.5.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", @@ -10573,7 +10627,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" dependencies = [ "crossbeam-channel", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "time", "tracing-subscriber", ] @@ -10586,7 +10640,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -10692,7 +10746,7 @@ dependencies = [ "once_cell", "rand", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tinyvec", "tokio", "tracing", @@ -10714,7 +10768,7 @@ dependencies = [ "rand", "resolv-conf", "smallvec", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", "trust-dns-proto", @@ -10742,7 +10796,7 @@ dependencies = [ "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "utf-8", ] @@ -10754,9 +10808,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -10787,9 +10841,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-ident" @@ -11017,7 +11071,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-shared", ] @@ -11051,7 +11105,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -11198,7 +11252,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11209,7 +11263,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11401,9 +11455,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -11443,7 +11497,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -11483,7 +11537,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror 1.0.63", + "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "time", ] @@ -11568,7 +11622,7 @@ checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "synstructure", ] @@ -11590,7 +11644,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11610,7 +11664,7 @@ checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", "synstructure", ] @@ -11631,7 +11685,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] @@ -11653,7 +11707,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.77", + "syn 2.0.79", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 2b76f54..37f1deb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -58,10 +58,16 @@ alloy = { version = "0.4.2", features = [ ] } alloy-primitives = { version = "0.8", features = ["serde"] } alloy-rlp = "0.3" -op-alloy-protocol = { version = "0.3", default-features = false } -op-alloy-rpc-types = { version = "0.3", default-features = false } -op-alloy-rpc-types-engine = { version = "0.3", default-features = false } -op-alloy-genesis = { version = "0.3", default-features = false } + +# Op-Alloy +# op-alloy-protocol = { version = "0.3", default-features = false } +# op-alloy-rpc-types = { version = "0.3", default-features = false } +# op-alloy-rpc-types-engine = { version = "0.3", default-features = false } +# op-alloy-genesis = { version = "0.3", default-features = false } +op-alloy-protocol = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } +op-alloy-rpc-types = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } +op-alloy-rpc-types-engine = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } +op-alloy-genesis = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } # Tokio tokio = { version = "1.21", default-features = false } diff --git a/crates/net/Cargo.toml b/crates/net/Cargo.toml index 79580f0..d8b8faa 100644 --- a/crates/net/Cargo.toml +++ b/crates/net/Cargo.toml @@ -14,12 +14,9 @@ rust-version.workspace = true # Alloy alloy.workspace = true alloy-rlp.workspace = true - -# Kona -kona-primitives.workspace = true +op-alloy-rpc-types-engine.workspace = true # Networking -ethereum_ssz.workspace = true snap.workspace = true futures.workspace = true discv5.workspace = true diff --git a/crates/net/src/driver.rs b/crates/net/src/driver.rs index 191312f..74d82f9 100644 --- a/crates/net/src/driver.rs +++ b/crates/net/src/driver.rs @@ -1,14 +1,15 @@ //! Driver for network services. -use crate::{ - builder::NetworkDriverBuilder, discovery::driver::DiscoveryDriver, - gossip::driver::GossipDriver, types::envelope::ExecutionPayloadEnvelope, -}; -use alloy::primitives::Address; -use eyre::Result; use std::sync::mpsc::Receiver; + +use alloy::{primitives::Address, rpc::types::engine::ExecutionPayload}; +use eyre::Result; use tokio::{select, sync::watch}; +use crate::{ + builder::NetworkDriverBuilder, discovery::driver::DiscoveryDriver, gossip::driver::GossipDriver, +}; + /// NetworkDriver /// /// Contains the logic to run Optimism's consensus-layer networking stack. @@ -17,7 +18,7 @@ use tokio::{select, sync::watch}; /// - Peer discovery with `discv5`. pub struct NetworkDriver { /// Channel to receive unsafe blocks. - pub(crate) unsafe_block_recv: Option>, + pub(crate) unsafe_block_recv: Option>, /// Channel to send unsafe signer updates. pub(crate) unsafe_block_signer_sender: Option>, /// The swarm instance. @@ -33,7 +34,7 @@ impl NetworkDriver { } /// Take the unsafe block receiver. - pub fn take_unsafe_block_recv(&mut self) -> Option> { + pub fn take_unsafe_block_recv(&mut self) -> Option> { self.unsafe_block_recv.take() } diff --git a/crates/net/src/gossip/handler.rs b/crates/net/src/gossip/handler.rs index 2f354c7..4e9c49a 100644 --- a/crates/net/src/gossip/handler.rs +++ b/crates/net/src/gossip/handler.rs @@ -1,12 +1,13 @@ //! Block Handler -use crate::types::envelope::ExecutionPayloadEnvelope; -use alloy::primitives::Address; -use libp2p::gossipsub::{IdentTopic, Message, MessageAcceptance, TopicHash}; use std::{ sync::mpsc::{channel, Receiver, Sender}, time::SystemTime, }; + +use alloy::{primitives::Address, rpc::types::engine::ExecutionPayload}; +use libp2p::gossipsub::{IdentTopic, Message, MessageAcceptance, TopicHash}; +use op_alloy_rpc_types_engine::OptimismNetworkPayloadEnvelope; use tokio::sync::watch; /// This trait defines the functionality required to process incoming messages @@ -29,7 +30,7 @@ pub struct BlockHandler { /// blockchains. pub chain_id: u64, /// A channel sender to forward new blocks to other modules - pub block_sender: Sender, + pub block_sender: Sender, /// A [Receiver] to monitor changes to the unsafe block signer. pub unsafe_signer_recv: watch::Receiver
, /// The libp2p topic for pre Canyon/Shangai blocks. @@ -47,11 +48,11 @@ impl Handler for BlockHandler { tracing::debug!("received block"); let decoded = if msg.topic == self.blocks_v1_topic.hash() { - ExecutionPayloadEnvelope::decode_v1(&msg.data) + OptimismNetworkPayloadEnvelope::decode_v1(&msg.data) } else if msg.topic == self.blocks_v2_topic.hash() { - ExecutionPayloadEnvelope::decode_v2(&msg.data) + OptimismNetworkPayloadEnvelope::decode_v2(&msg.data) } else if msg.topic == self.blocks_v3_topic.hash() { - ExecutionPayloadEnvelope::decode_v3(&msg.data) + OptimismNetworkPayloadEnvelope::decode_v3(&msg.data) } else { return MessageAcceptance::Reject; }; @@ -59,7 +60,7 @@ impl Handler for BlockHandler { match decoded { Ok(envelope) => { if self.block_valid(&envelope) { - _ = self.block_sender.send(envelope); + _ = self.block_sender.send(envelope.payload); MessageAcceptance::Accept } else { tracing::warn!("invalid unsafe block"); @@ -84,7 +85,7 @@ impl BlockHandler { pub fn new( chain_id: u64, unsafe_recv: watch::Receiver
, - ) -> (Self, Receiver) { + ) -> (Self, Receiver) { let (sender, recv) = channel(); let handler = Self { @@ -103,15 +104,15 @@ impl BlockHandler { /// /// True if the block is less than 1 minute old, and correctly signed by the unsafe block /// signer. - fn block_valid(&self, envelope: &ExecutionPayloadEnvelope) -> bool { + fn block_valid(&self, envelope: &OptimismNetworkPayloadEnvelope) -> bool { let current_timestamp = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs(); - let is_future = envelope.payload.timestamp > current_timestamp + 5; - let is_past = envelope.payload.timestamp < current_timestamp - 60; + let is_future = envelope.payload.timestamp() > current_timestamp + 5; + let is_past = envelope.payload.timestamp() < current_timestamp - 60; let time_valid = !(is_future || is_past); - let msg = envelope.hash.signature_message(self.chain_id); + let msg = envelope.payload_hash.signature_message(self.chain_id); let block_signer = *self.unsafe_signer_recv.borrow(); let Ok(msg_signer) = envelope.signature.recover_address_from_msg(msg) else { // TODO: add telemetry here if this happens. diff --git a/crates/net/src/types/envelope.rs b/crates/net/src/types/envelope.rs deleted file mode 100644 index fde5cc0..0000000 --- a/crates/net/src/types/envelope.rs +++ /dev/null @@ -1,185 +0,0 @@ -//! Execution Payload Envelope Type - -use alloy::{ - primitives::{Signature, B256}, - rpc::types::engine::{ExecutionPayloadV1, ExecutionPayloadV2, ExecutionPayloadV3}, -}; -use eyre::Result; - -use super::payload::PayloadHash; - -/// An envelope around the execution payload for L2. -#[derive(Debug, Clone)] -pub struct ExecutionPayloadEnvelope { - /// The execution payload. - pub payload: L2ExecutionPayload, - /// A signature for the payload. - pub signature: Signature, - /// The hash of the payload. - pub hash: PayloadHash, - /// The parent beacon block root. - pub parent_beacon_block_root: Option, -} - -impl ExecutionPayloadEnvelope { - /// Decode V1 - pub fn decode_v1(data: &[u8]) -> Result { - let mut decoder = snap::raw::Decoder::new(); - let decompressed = decoder.decompress_vec(data)?; - let sig_data = &decompressed[..65]; - let block_data = &decompressed[65..]; - - let signature = Signature::try_from(sig_data)?; - - let payload = - ExecutionPayloadV1::from_ssz_bytes(block_data).map_err(|e| eyre::eyre!("{:?}", e))?; - let payload = Self::convert_payload_v1(payload); - - let hash = PayloadHash::from(block_data); - - Ok(ExecutionPayloadEnvelope { parent_beacon_block_root: None, signature, payload, hash }) - } - - /// Decode V2 - pub fn decode_v2(data: &[u8]) -> Result { - let mut decoder = snap::raw::Decoder::new(); - let decompressed = decoder.decompress_vec(data)?; - let sig_data = &decompressed[..65]; - let block_data = &decompressed[65..]; - - let signature = Signature::try_from(sig_data)?; - - let payload = - ExecutionPayloadV2::from_ssz_bytes(block_data).map_err(|e| eyre::eyre!("{:?}", e))?; - let payload = Self::convert_payload_v2(payload); - - let hash = PayloadHash::from(block_data); - - Ok(ExecutionPayloadEnvelope { parent_beacon_block_root: None, signature, payload, hash }) - } - - /// Decode V3 - pub fn decode_v3(data: &[u8]) -> Result { - let mut decoder = snap::raw::Decoder::new(); - let decompressed = decoder.decompress_vec(data)?; - let sig_data = &decompressed[..65]; - let parent_beacon_block_root = &decompressed[65..97]; - let block_data = &decompressed[97..]; - - let signature = Signature::try_from(sig_data)?; - - let parent_beacon_block_root = Some(B256::from_slice(parent_beacon_block_root)); - - let payload = - ExecutionPayloadV3::from_ssz_bytes(block_data).map_err(|e| eyre::eyre!("{:?}", e))?; - let payload = Self::convert_payload_v3(payload); - - let hash = PayloadHash::from(block_data); - - Ok(ExecutionPayloadEnvelope { parent_beacon_block_root, signature, payload, hash }) - } - - fn convert_payload_v1(payload: ExecutionPayloadV1) -> L2ExecutionPayload { - L2ExecutionPayload { - parent_hash: payload.parent_hash, - fee_recipient: payload.fee_recipient, - state_root: payload.state_root, - receipts_root: payload.receipts_root, - logs_bloom: payload.logs_bloom, - prev_randao: payload.prev_randao, - block_number: payload.block_number, - gas_limit: payload.gas_limit.into(), - gas_used: payload.gas_used.into(), - timestamp: payload.timestamp, - extra_data: payload.extra_data, - base_fee_per_gas: Self::convert_uint128(payload.base_fee_per_gas), - block_hash: payload.block_hash, - transactions: payload.transactions, - deserialized_transactions: Vec::new(), - withdrawals: None, - blob_gas_used: None, - excess_blob_gas: None, - } - } - - fn convert_payload_v2(payload: ExecutionPayloadV2) -> L2ExecutionPayload { - L2ExecutionPayload { - parent_hash: payload.payload_inner.parent_hash, - fee_recipient: payload.payload_inner.fee_recipient, - state_root: payload.payload_inner.state_root, - receipts_root: payload.payload_inner.receipts_root, - logs_bloom: payload.payload_inner.logs_bloom, - prev_randao: payload.payload_inner.prev_randao, - block_number: payload.payload_inner.block_number, - gas_limit: payload.payload_inner.gas_limit.into(), - gas_used: payload.payload_inner.gas_used.into(), - timestamp: payload.payload_inner.timestamp, - extra_data: payload.payload_inner.extra_data, - base_fee_per_gas: Self::convert_uint128(payload.payload_inner.base_fee_per_gas), - block_hash: payload.payload_inner.block_hash, - transactions: payload.payload_inner.transactions, - deserialized_transactions: Vec::default(), - withdrawals: Some(Vec::new()), - blob_gas_used: None, - excess_blob_gas: None, - } - } - - fn convert_payload_v3(payload: ExecutionPayloadV3) -> L2ExecutionPayload { - L2ExecutionPayload { - parent_hash: payload.payload_inner.payload_inner.parent_hash, - fee_recipient: payload.payload_inner.payload_inner.fee_recipient, - state_root: payload.payload_inner.payload_inner.state_root, - receipts_root: payload.payload_inner.payload_inner.receipts_root, - logs_bloom: payload.payload_inner.payload_inner.logs_bloom, - prev_randao: payload.payload_inner.payload_inner.prev_randao, - block_number: payload.payload_inner.payload_inner.block_number, - gas_limit: payload.payload_inner.payload_inner.gas_limit.into(), - gas_used: payload.payload_inner.payload_inner.gas_used.into(), - timestamp: payload.payload_inner.payload_inner.timestamp, - extra_data: payload.payload_inner.payload_inner.extra_data, - base_fee_per_gas: Self::convert_uint128( - payload.payload_inner.payload_inner.base_fee_per_gas, - ), - block_hash: payload.payload_inner.payload_inner.block_hash, - transactions: payload.payload_inner.payload_inner.transactions, - deserialized_transactions: Vec::default(), - withdrawals: Some(Vec::new()), - blob_gas_used: Some(payload.blob_gas_used.into()), - excess_blob_gas: Some(payload.excess_blob_gas.into()), - } - } - - fn convert_uint128(value: alloy::primitives::U256) -> Option { - let bytes = value.to_le_bytes_vec(); - let bytes: [u8; 16] = bytes.try_into().ok()?; - Some(u128::from_le_bytes(bytes)) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use alloy::hex; - - #[test] - fn decode_v1() { - let data = hex::decode("0xbd04f043128457c6ccf35128497167442bcc0f8cce78cda8b366e6a12e526d938d1e4c1046acffffbfc542a7e212bb7d80d3a4b2f84f7b196d935398a24eb84c519789b401000000fe0300fe0300fe0300fe0300fe0300fe0300a203000c4a8fd56621ad04fc0101067601008ce60be0005b220117c32c0f3b394b346c2aa42cfa8157cd41f891aa0bec485a62fc010000").unwrap(); - let payload_envelop = ExecutionPayloadEnvelope::decode_v1(&data).unwrap(); - assert_eq!(1725271882, payload_envelop.payload.timestamp); - } - - #[test] - fn decode_v2() { - let data = hex::decode("0xc104f0433805080eb36c0b130a7cc1dc74c3f721af4e249aa6f61bb89d1557143e971bb738a3f3b98df7c457e74048e9d2d7e5cd82bb45e3760467e2270e9db86d1271a700000000fe0300fe0300fe0300fe0300fe0300fe0300a203000c6b89d46525ad000205067201009cda69cb5b9b73fc4eb2458b37d37f04ff507fe6c9cd2ab704a05ea9dae3cd61760002000000020000").unwrap(); - let payload_envelop = ExecutionPayloadEnvelope::decode_v2(&data).unwrap(); - assert_eq!(1708427627, payload_envelop.payload.timestamp); - } - - #[test] - fn decode_v3() { - let data = hex::decode("0xf104f0434442b9eb38b259f5b23826e6b623e829d2fb878dac70187a1aecf42a3f9bedfd29793d1fcb5822324be0d3e12340a95855553a65d64b83e5579dffb31470df5d010000006a03000412346a1d00fe0100fe0100fe0100fe0100fe0100fe01004201000cc588d465219504100201067601007cfece77b89685f60e3663b6e0faf2de0734674eb91339700c4858c773a8ff921e014401043e0100").unwrap(); - let payload_envelop = ExecutionPayloadEnvelope::decode_v3(&data).unwrap(); - assert_eq!(1708427461, payload_envelop.payload.timestamp); - } -} diff --git a/crates/net/src/types/mod.rs b/crates/net/src/types/mod.rs index 7fb106e..3f1a6af 100644 --- a/crates/net/src/types/mod.rs +++ b/crates/net/src/types/mod.rs @@ -1,6 +1,4 @@ //! Common types for the Networking Crate. pub mod enr; -pub mod envelope; -pub mod payload; pub mod peer; diff --git a/crates/net/src/types/payload.rs b/crates/net/src/types/payload.rs deleted file mode 100644 index d7791ea..0000000 --- a/crates/net/src/types/payload.rs +++ /dev/null @@ -1,51 +0,0 @@ -//! Execution Payload Types - -use alloy::primitives::{keccak256, B256}; - -/// Represents the Keccak256 hash of the block -#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] -#[cfg_attr(any(test, feature = "arbitrary"), derive(arbitrary::Arbitrary))] -pub struct PayloadHash(B256); - -impl From<&[u8]> for PayloadHash { - /// Returns the Keccak256 hash of a sequence of bytes - fn from(value: &[u8]) -> Self { - Self(keccak256(value)) - } -} - -impl PayloadHash { - /// The expected message that should be signed by the unsafe block signer. - pub fn signature_message(&self, chain_id: u64) -> B256 { - let domain = B256::ZERO.as_slice(); - let chain_id = B256::left_padding_from(&chain_id.to_be_bytes()[..]); - let payload_hash = self.0.as_slice(); - keccak256([domain, chain_id.as_slice(), payload_hash].concat()) - } -} - -#[cfg(test)] -mod tests { - use alloy::primitives::b256; - - use super::*; - - #[test] - fn test_signature_message() { - let inner = b256!("9999999999999999999999999999999999999999999999999999999999999999"); - let hash = PayloadHash::from(inner.as_slice()); - let chain_id = 10; - let expected = b256!("44a0e2b1aba1aae1771eddae1dcd2ad18a8cdac8891517153f03253e49d3f206"); - assert_eq!(hash.signature_message(chain_id), expected); - } - - #[test] - fn test_inner_payload_hash() { - arbtest::arbtest(|u| { - let inner = B256::from(u.arbitrary::<[u8; 32]>()?); - let hash = PayloadHash::from(inner.as_slice()); - assert_eq!(hash.0, keccak256(inner.as_slice())); - Ok(()) - }); - } -} From 3ce0b3bbf59cf123ef7d64c532f97b0b1d10e5ac Mon Sep 17 00:00:00 2001 From: refcell Date: Wed, 16 Oct 2024 14:07:37 -0400 Subject: [PATCH 3/5] fixes --- Cargo.lock | 436 ++++++++++++++---------- Cargo.toml | 32 +- README.md | 4 +- bin/hera/src/main.rs | 2 +- bin/op-rs/src/main.rs | 2 +- crates/net/Cargo.toml | 2 +- crates/net/src/gossip/handler.rs | 10 +- crates/net/src/lib.rs | 2 +- crates/rollup/src/driver/context/mod.rs | 10 +- crates/rollup/src/driver/mod.rs | 8 +- crates/rollup/src/lib.rs | 2 +- crates/rollup/src/pipeline.rs | 12 +- crates/rollup/src/validator.rs | 13 +- crates/ser/src/lib.rs | 4 +- 14 files changed, 302 insertions(+), 237 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f8441a2..72e9913 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -157,10 +157,11 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.36" +version = "0.1.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c225801d42099570d0674701dddd4142f0ef715282aeb5985042e2ec962df7" +checksum = "156bfc5dcd52ef9a5f33381701fa03310317e14c65093a9430d3e3557b08dcd3" dependencies = [ + "alloy-primitives", "alloy-rlp", "num_enum", "serde", @@ -221,9 +222,9 @@ dependencies = [ [[package]] name = "alloy-core" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce854562e7cafd5049189d0268d6e5cba05fe6c9cb7c6f8126a79b94800629c" +checksum = "a54c7158ea4a394bef220d82d8fdd412fb9b1ca2d6024db539070b7bc01b6401" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -234,9 +235,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b499852e1d0e9b8c6db0f24c48998e647c0d5762a01090f955106a7700e4611" +checksum = "e6228abfc751a29cde117b0879b805a3e0b3b641358f063272c83ca459a56886" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -331,9 +332,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a438d4486b5d525df3b3004188f9d5cd1d65cd30ecc41e5a3ccef6f6342e8af9" +checksum = "d46eb5871592c216d39192499c95a99f7175cb94104f88c307e6dc960676d9f1" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -391,9 +392,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260d3ff3bff0bb84599f032a2f2c6828180b0ea0cd41fdaf44f39cef3ba41861" +checksum = "38f35429a652765189c1c5092870d8360ee7b7769b09b06d89ebaefd34676446" dependencies = [ "alloy-rlp", "arbitrary", @@ -402,8 +403,9 @@ dependencies = [ "const-hex", "derive_arbitrary", "derive_more", + "foldhash", "getrandom", - "hashbrown 0.14.5", + "hashbrown 0.15.0", "hex-literal", "indexmap 2.6.0", "itoa", @@ -723,9 +725,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68e7f6e8fe5b443f82b3f1e15abfa191128f71569148428e49449d01f6f49e8b" +checksum = "3b2395336745358cc47207442127c47c63801a7065ecc0aa928da844f8bb5576" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", @@ -737,9 +739,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-expander" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b96ce28d2fde09abb6135f410c41fad670a3a770b6776869bd852f1df102e6f" +checksum = "9ed5047c9a241df94327879c2b0729155b58b941eae7805a7ada2e19436e6b39" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", @@ -756,9 +758,9 @@ dependencies = [ [[package]] name = "alloy-sol-macro-input" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "906746396a8296537745711630d9185746c0b50c033d5e9d18b0a6eba3d53f90" +checksum = "5dee02a81f529c415082235129f0df8b8e60aa1601b9c9298ffe54d75f57210b" dependencies = [ "alloy-json-abi", "const-hex", @@ -773,9 +775,9 @@ dependencies = [ [[package]] name = "alloy-sol-type-parser" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc85178909a49c8827ffccfc9103a7ce1767ae66a801b69bdc326913870bf8e6" +checksum = "f631f0bd9a9d79619b27c91b6b1ab2c4ef4e606a65192369a1ee05d40dcf81cc" dependencies = [ "serde", "winnow", @@ -783,9 +785,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86a533ce22525969661b25dfe296c112d35eb6861f188fd284f8bd4bb3842ae" +checksum = "c2841af22d99e2c0f82a78fe107b6481be3dd20b89bfb067290092794734343a" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -1165,11 +1167,11 @@ checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" [[package]] name = "async-compression" -version = "0.4.13" +version = "0.4.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e614738943d3f68c628ae3dbce7c3daffb196665f82f8c8ea6b65de73c79429" +checksum = "103db485efc3e41214fe4fda9f3dbeae2eb9082f48fd236e6095627a9422066e" dependencies = [ - "brotli 7.0.0", + "brotli", "flate2", "futures-core", "memchr", @@ -1328,7 +1330,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df7a4168111d7eb622a31b214057b8509c0a7e1794f44c546d742330dc793972" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.69.5", "cc", "cmake", "dunce", @@ -1415,9 +1417,9 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.4" +version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ "bitflags 2.6.0", "cexpr", @@ -1692,16 +1694,6 @@ dependencies = [ "debug-helper", ] -[[package]] -name = "brotli" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" -dependencies = [ - "alloc-no-stdlib", - "brotli-decompressor", -] - [[package]] name = "brotli" version = "7.0.0" @@ -1746,18 +1738,18 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytemuck" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" +checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", @@ -1843,9 +1835,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.28" +version = "1.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" +checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" dependencies = [ "jobserver", "libc", @@ -1945,9 +1937,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -1955,9 +1947,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -2984,6 +2976,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -3346,6 +3344,12 @@ name = "hashbrown" version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", + "serde", +] [[package]] name = "hashlink" @@ -3621,9 +3625,9 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", @@ -3645,9 +3649,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" dependencies = [ "bytes", "futures-channel", @@ -3672,7 +3676,7 @@ checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-util", "log", "rustls", @@ -3692,7 +3696,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-util", "native-tls", "tokio", @@ -3711,7 +3715,7 @@ dependencies = [ "futures-util", "http 1.1.0", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.5.0", "pin-project-lite", "socket2 0.5.7", "tokio", @@ -3936,7 +3940,7 @@ dependencies = [ "bytes", "futures", "http 0.2.12", - "hyper 0.14.30", + "hyper 0.14.31", "log", "rand", "tokio", @@ -4105,9 +4109,9 @@ checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "iri-string" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bd7eced44cfe2cebc674adb2a7124a754a4b5269288d22e9f39f8fada3562d" +checksum = "dc0f0a572e8ffe56e2ff4f769f32ffe919282c3916799f8b68688b6030063bea" dependencies = [ "memchr", "serde", @@ -4183,18 +4187,18 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126b48a5acc3c52fbd5381a77898cb60e145123179588a29e7ac48f9c06e401b" +checksum = "c5c71d8c1a731cc4227c2f698d377e7848ca12c8a48866fc5e6951c43a4db843" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -4210,9 +4214,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf679a8e0e083c77997f7c4bb4ca826577105906027ae462aac70ff348d02c6a" +checksum = "548125b159ba1314104f5bb5f38519e03a41862786aa3925cf349aae9cdd546e" dependencies = [ "base64 0.22.1", "futures-channel", @@ -4235,9 +4239,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e503369a76e195b65af35058add0e6900b794a4e9a9316900ddd3a87a80477" +checksum = "f2882f6f8acb9fdaec7cefc4fd607119a9bd709831df7d7672a1d3b644628280" dependencies = [ "async-trait", "bytes", @@ -4262,14 +4266,14 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2c0caba4a6a8efbafeec9baa986aa22a75a96c29d3e4b0091b0098d6470efb5" +checksum = "b3638bc4617f96675973253b3a45006933bde93c2fd8a6170b33c777cc389e5b" dependencies = [ "async-trait", "base64 0.22.1", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-rustls", "hyper-util", "jsonrpsee-core", @@ -4287,9 +4291,9 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc660a9389e2748e794a40673a4155d501f32db667757cdb80edeff0306b489b" +checksum = "c06c01ae0007548e73412c08e2285ffe5d723195bf268bce67b1b77c3bb2a14d" dependencies = [ "heck", "proc-macro-crate", @@ -4300,15 +4304,15 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af6e6c9b6d975edcb443565d648b605f3e85a04ec63aa6941811a8894cc9cded" +checksum = "82ad8ddc14be1d4290cd68046e7d1d37acd408efed6d3ca08aefcc3ad6da069c" dependencies = [ "futures-util", "http 1.1.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-util", "jsonrpsee-core", "jsonrpsee-types", @@ -4327,9 +4331,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8fb16314327cbc94fdf7965ef7e4422509cd5597f76d137bd104eb34aeede67" +checksum = "a178c60086f24cc35bb82f57c651d0d25d99c4742b4d335de04e97fa1f08a8a1" dependencies = [ "http 1.1.0", "serde", @@ -4339,9 +4343,9 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0da62b43702bd5640ea305d35df95da30abc878e79a7b4b01feda3beaf35d3c" +checksum = "1a01cd500915d24ab28ca17527e23901ef1be6d659a2322451e1045532516c25" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -4350,9 +4354,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.24.5" +version = "0.24.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39aabf5d6c6f22da8d5b808eea1fab0736059f11fb42f71f141b14f404e5046a" +checksum = "0fe322e0896d0955a3ebdd5bf813571c53fea29edd713bc315b76620b327e86d" dependencies = [ "http 1.1.0", "jsonrpsee-client-transport", @@ -4412,7 +4416,7 @@ dependencies = [ [[package]] name = "kona-derive" version = "0.0.3" -source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" +source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ "alloc-no-stdlib", "alloy-consensus 0.4.2", @@ -4421,14 +4425,14 @@ dependencies = [ "alloy-rlp", "alloy-rpc-types-engine", "async-trait", - "brotli 6.0.0", + "brotli", "kona-primitives", - "kona-providers 0.0.1 (git+https://github.com/anton-rs/kona?branch=main)", + "kona-providers", "miniz_oxide", - "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-rpc-types-engine 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-consensus 0.4.0", + "op-alloy-genesis 0.4.0", + "op-alloy-protocol 0.4.0", + "op-alloy-rpc-types-engine 0.4.0", "serde", "thiserror 1.0.64 (git+https://github.com/quartiq/thiserror?branch=no-std)", "tracing", @@ -4438,7 +4442,7 @@ dependencies = [ [[package]] name = "kona-primitives" version = "0.0.2" -source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" +source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ "alloy-eips 0.4.2", "alloy-primitives", @@ -4454,34 +4458,20 @@ dependencies = [ [[package]] name = "kona-providers" version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75864c0e451358b56e7451ad3eb32e983ad80c9cae5842af4935214ed9c1944c" -dependencies = [ - "alloy-consensus 0.4.2", - "alloy-primitives", - "async-trait", - "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "kona-providers" -version = "0.0.1" -source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" +source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ "alloy-consensus 0.4.2", "alloy-primitives", "async-trait", - "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-consensus 0.4.0", + "op-alloy-genesis 0.4.0", + "op-alloy-protocol 0.4.0", ] [[package]] name = "kona-providers-alloy" version = "0.0.1" -source = "git+https://github.com/anton-rs/kona?branch=main#ed6c0dbf534e7ef55371cfd45a95873802c7edf1" +source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", @@ -4492,11 +4482,11 @@ dependencies = [ "async-trait", "kona-derive", "kona-primitives", - "kona-providers 0.0.1 (git+https://github.com/anton-rs/kona?branch=main)", + "kona-providers", "lru", - "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-consensus 0.4.0", + "op-alloy-genesis 0.4.0", + "op-alloy-protocol 0.4.0", "reqwest", "tracing", ] @@ -4935,9 +4925,9 @@ dependencies = [ [[package]] name = "libproc" -version = "0.14.9" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cca3586d5efa98fba425856ba227950fd4287525dd5317b352f476ca7d603b" +checksum = "e78a09b56be5adbcad5aa1197371688dc6bb249a26da3bca2011ee2fb987ebfb" dependencies = [ "bindgen 0.70.1", "errno", @@ -5048,11 +5038,11 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] @@ -5148,7 +5138,7 @@ checksum = "b4f0c8427b39666bf970460908b213ec09b3b350f20c0c2eabcbba51704a08e6" dependencies = [ "base64 0.22.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-rustls", "hyper-util", "indexmap 2.6.0", @@ -5163,17 +5153,18 @@ dependencies = [ [[package]] name = "metrics-process" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb524e5438255eaa8aa74214d5a62713b77b2c3c6e3c0bbeee65cfd9a58948ba" +checksum = "e69e6ced169644e186e060ddc15f3923fdf06862c811a867bb1e5e7c7824f4d0" dependencies = [ + "libc", "libproc", "mach2", "metrics", "once_cell", - "procfs", + "procfs 0.17.0", "rlimit", - "windows 0.57.0", + "windows 0.58.0", ] [[package]] @@ -5659,8 +5650,8 @@ dependencies = [ [[package]] name = "op-alloy-consensus" -version = "0.3.3" -source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +version = "0.4.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", @@ -5702,13 +5693,15 @@ dependencies = [ [[package]] name = "op-alloy-genesis" -version = "0.3.3" -source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +version = "0.4.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", "alloy-primitives", "alloy-sol-types", + "serde", + "serde_repr", ] [[package]] @@ -5723,29 +5716,31 @@ dependencies = [ "alloy-rlp", "alloy-serde 0.4.2", "derive_more", - "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "op-alloy-genesis 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-consensus 0.3.3", + "op-alloy-genesis 0.3.3", "serde", ] [[package]] name = "op-alloy-protocol" -version = "0.3.3" -source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +version = "0.4.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", "alloy-primitives", "alloy-rlp", + "alloy-serde 0.4.2", "derive_more", - "op-alloy-consensus 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", - "op-alloy-genesis 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-consensus 0.4.0", + "op-alloy-genesis 0.4.0", + "serde", ] [[package]] name = "op-alloy-rpc-types" -version = "0.3.3" -source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +version = "0.4.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ "alloy-consensus 0.4.2", "alloy-eips 0.4.2", @@ -5753,7 +5748,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde 0.4.2", - "op-alloy-consensus 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-consensus 0.4.0", "serde", "serde_json", ] @@ -5768,20 +5763,22 @@ dependencies = [ "alloy-rpc-types-engine", "alloy-serde 0.4.2", "derive_more", - "op-alloy-protocol 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-protocol 0.3.3", "serde", ] [[package]] name = "op-alloy-rpc-types-engine" -version = "0.3.3" -source = "git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope#d6bb692713f5a0321aad09473a409ddf364cb0c7" +version = "0.4.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", + "alloy-serde 0.4.2", "derive_more", "ethereum_ssz", - "op-alloy-protocol 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-protocol 0.4.0", + "serde", "snap", ] @@ -5799,7 +5796,7 @@ dependencies = [ "lazy_static", "libp2p", "libp2p-identity", - "op-alloy-rpc-types-engine 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-rpc-types-engine 0.4.0", "openssl", "snap", "tokio", @@ -5827,9 +5824,9 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.66" +version = "0.10.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "7b8cefcf97f41316955f9294cd61f639bdcfa9f2f230faac6cb896aa8ab64704" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -5868,9 +5865,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", @@ -6006,9 +6003,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6280,9 +6277,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9" dependencies = [ "unicode-ident", ] @@ -6298,7 +6295,19 @@ dependencies = [ "flate2", "hex", "lazy_static", - "procfs-core", + "procfs-core 0.16.0", + "rustix", +] + +[[package]] +name = "procfs" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" +dependencies = [ + "bitflags 2.6.0", + "hex", + "procfs-core 0.17.0", "rustix", ] @@ -6313,6 +6322,16 @@ dependencies = [ "hex", ] +[[package]] +name = "procfs-core" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" +dependencies = [ + "bitflags 2.6.0", + "hex", +] + [[package]] name = "prometheus-client" version = "0.22.3" @@ -6680,7 +6699,7 @@ dependencies = [ "http 1.1.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-rustls", "hyper-tls", "hyper-util", @@ -8191,7 +8210,7 @@ dependencies = [ "metrics-exporter-prometheus", "metrics-process", "metrics-util", - "procfs", + "procfs 0.16.0", "reth-db-api", "reth-metrics", "reth-provider", @@ -8241,7 +8260,7 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types", "async-trait", - "op-alloy-rpc-types-engine 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-rpc-types-engine 0.3.3", "pin-project", "reth-chain-state", "reth-chainspec", @@ -8281,7 +8300,7 @@ dependencies = [ "k256", "modular-bitfield", "once_cell", - "op-alloy-consensus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "op-alloy-consensus 0.3.3", "rayon", "reth-codecs", "reth-ethereum-forks", @@ -8441,7 +8460,7 @@ dependencies = [ "futures", "http 1.1.0", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.5.0", "jsonrpsee", "jsonwebtoken", "parking_lot 0.12.3", @@ -9221,12 +9240,12 @@ dependencies = [ "futures", "hashbrown 0.14.5", "kona-derive", - "kona-providers 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kona-providers", "kona-providers-alloy", "metrics-exporter-prometheus", - "op-alloy-genesis 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", - "op-alloy-protocol 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", - "op-alloy-rpc-types-engine 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-genesis 0.4.0", + "op-alloy-protocol 0.4.0", + "op-alloy-rpc-types-engine 0.4.0", "reqwest", "reth", "reth-execution-types", @@ -9361,9 +9380,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.14" +version = "0.23.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" +checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" dependencies = [ "aws-lc-rs", "log", @@ -9412,9 +9431,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" [[package]] name = "rustls-platform-verifier" @@ -9467,9 +9486,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rusty-fork" @@ -9517,9 +9536,9 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ "windows-sys 0.59.0", ] @@ -9645,8 +9664,8 @@ dependencies = [ "alloy-rlp", "eyre", "kona-derive", - "op-alloy-genesis 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", - "op-alloy-protocol 0.3.3 (git+https://github.com/merklefruit/op-alloy?branch=nico/feat/net-payload-envelope)", + "op-alloy-genesis 0.4.0", + "op-alloy-protocol 0.4.0", "op-alloy-rpc-types", "rand", "tracing", @@ -10111,9 +10130,9 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab661c8148c2261222a4d641ad5477fd4bea79406a99056096a0b41b35617a5" +checksum = "ebfc1bfd06acc78f16d8fd3ef846bc222ee7002468d10a7dce8d703d6eab89a3" dependencies = [ "paste", "proc-macro2", @@ -10970,9 +10989,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" dependencies = [ "getrandom", ] @@ -11051,9 +11070,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", "once_cell", @@ -11062,9 +11081,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", @@ -11077,9 +11096,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.43" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -11089,9 +11108,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -11099,9 +11118,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", @@ -11112,15 +11131,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -11214,6 +11233,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.51.1" @@ -11238,12 +11267,25 @@ version = "0.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" dependencies = [ - "windows-implement", - "windows-interface", + "windows-implement 0.57.0", + "windows-interface 0.57.0", "windows-result 0.1.2", "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + [[package]] name = "windows-implement" version = "0.57.0" @@ -11255,6 +11297,17 @@ dependencies = [ "syn 2.0.79", ] +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "windows-interface" version = "0.57.0" @@ -11266,6 +11319,17 @@ dependencies = [ "syn 2.0.79", ] +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + [[package]] name = "windows-registry" version = "0.2.0" diff --git a/Cargo.toml b/Cargo.toml index 37f1deb..5f461aa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,18 +4,12 @@ edition = "2021" rust-version = "1.81" authors = [] license = "MIT OR Apache-2.0" -repository = "https://github.com/paradigmxyz/op-rs" +repository = "https://github.com/ithacaxyz/op-rs" keywords = ["ethereum", "crypto"] categories = ["cryptography", "cryptography::cryptocurrencies"] [workspace] -members = [ - "bin/hera", - "bin/op-rs", - "crates/net", - "crates/rollup", - "crates/ser", -] +members = ["bin/*", "crates/*"] default-members = ["bin/hera"] # Explicitly set the resolver to version 2, which is the default for packages with edition >= 2021 @@ -29,6 +23,13 @@ panic = "unwind" codegen-units = 1 incremental = false +[patch.crates-io] +op-alloy-consensus = { git = "https://github.com/alloy-rs/op-alloy", branch = "main" } +op-alloy-protocol = { git = "https://github.com/alloy-rs/op-alloy", branch = "main" } +op-alloy-genesis = { git = "https://github.com/alloy-rs/op-alloy", branch = "main" } +op-alloy-rpc-types = { git = "https://github.com/alloy-rs/op-alloy", branch = "main" } +op-alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/op-alloy", branch = "main" } + [workspace.dependencies] # Workspace op-net = { path = "crates/net" } @@ -37,7 +38,7 @@ ser = { path = "crates/ser" } # Optimism superchain = { version = "0.5", default-features = false } -kona-providers = "0.0.1" +kona-providers = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-providers-alloy = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-primitives = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-derive = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } @@ -60,14 +61,11 @@ alloy-primitives = { version = "0.8", features = ["serde"] } alloy-rlp = "0.3" # Op-Alloy -# op-alloy-protocol = { version = "0.3", default-features = false } -# op-alloy-rpc-types = { version = "0.3", default-features = false } -# op-alloy-rpc-types-engine = { version = "0.3", default-features = false } -# op-alloy-genesis = { version = "0.3", default-features = false } -op-alloy-protocol = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } -op-alloy-rpc-types = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } -op-alloy-rpc-types-engine = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } -op-alloy-genesis = { git = "https://github.com/merklefruit/op-alloy", branch = "nico/feat/net-payload-envelope", default-features = false } +op-alloy-consensus = { version = "0.4.0", default-features = false } +op-alloy-protocol = { version = "0.4.0", default-features = false } +op-alloy-genesis = { version = "0.4.0", default-features = false } +op-alloy-rpc-types = { version = "0.4.0", default-features = false } +op-alloy-rpc-types-engine = { version = "0.4.0", default-features = false } # Tokio tokio = { version = "1.21", default-features = false } diff --git a/README.md b/README.md index 762b659..a0a71f2 100644 --- a/README.md +++ b/README.md @@ -32,5 +32,5 @@ shall be dual licensed as above, without any additional terms or conditions. [apache-badge]: https://img.shields.io/badge/license-Apache--2.0-blue.svg [mit-url]: LICENSE-MIT [apache-url]: LICENSE-APACHE -[actions-badge]: https://github.com/paradigmxyz/op-rs/workflows/unit/badge.svg -[actions-url]: https://github.com/paradigmxyz/op-rs/actions?query=workflow%3ACI+branch%3Amain +[actions-badge]: https://github.com/ithacaxyz/op-rs/workflows/unit/badge.svg +[actions-url]: https://github.com/ithacaxyz/op-rs/actions?query=workflow%3ACI+branch%3Amain diff --git a/bin/hera/src/main.rs b/bin/hera/src/main.rs index 34571cb..24342e9 100644 --- a/bin/hera/src/main.rs +++ b/bin/hera/src/main.rs @@ -1,7 +1,7 @@ //! Hera OP Stack Rollup node #![doc = include_str!("../README.md")] -#![doc(issue_tracker_base_url = "https://github.com/paradigmxyz/op-rs/issues/")] +#![doc(issue_tracker_base_url = "https://github.com/ithacaxyz/op-rs/issues/")] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] #![cfg_attr(not(test), warn(unused_crate_dependencies))] diff --git a/bin/op-rs/src/main.rs b/bin/op-rs/src/main.rs index c2ad6b9..722a0cf 100644 --- a/bin/op-rs/src/main.rs +++ b/bin/op-rs/src/main.rs @@ -1,7 +1,7 @@ //! Runner for OP-RS execution extensions #![doc = include_str!("../README.md")] -#![doc(issue_tracker_base_url = "https://github.com/paradigmxyz/op-rs/issues/")] +#![doc(issue_tracker_base_url = "https://github.com/ithacaxyz/op-rs/issues/")] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] #![cfg_attr(not(test), warn(unused_crate_dependencies))] diff --git a/crates/net/Cargo.toml b/crates/net/Cargo.toml index d8b8faa..6b9f48d 100644 --- a/crates/net/Cargo.toml +++ b/crates/net/Cargo.toml @@ -14,7 +14,7 @@ rust-version.workspace = true # Alloy alloy.workspace = true alloy-rlp.workspace = true -op-alloy-rpc-types-engine.workspace = true +op-alloy-rpc-types-engine = { workspace = true, features = ["std"] } # Networking snap.workspace = true diff --git a/crates/net/src/gossip/handler.rs b/crates/net/src/gossip/handler.rs index 4e9c49a..3ac9e9f 100644 --- a/crates/net/src/gossip/handler.rs +++ b/crates/net/src/gossip/handler.rs @@ -7,7 +7,7 @@ use std::{ use alloy::{primitives::Address, rpc::types::engine::ExecutionPayload}; use libp2p::gossipsub::{IdentTopic, Message, MessageAcceptance, TopicHash}; -use op_alloy_rpc_types_engine::OptimismNetworkPayloadEnvelope; +use op_alloy_rpc_types_engine::OpNetworkPayloadEnvelope; use tokio::sync::watch; /// This trait defines the functionality required to process incoming messages @@ -48,11 +48,11 @@ impl Handler for BlockHandler { tracing::debug!("received block"); let decoded = if msg.topic == self.blocks_v1_topic.hash() { - OptimismNetworkPayloadEnvelope::decode_v1(&msg.data) + OpNetworkPayloadEnvelope::decode_v1(&msg.data) } else if msg.topic == self.blocks_v2_topic.hash() { - OptimismNetworkPayloadEnvelope::decode_v2(&msg.data) + OpNetworkPayloadEnvelope::decode_v2(&msg.data) } else if msg.topic == self.blocks_v3_topic.hash() { - OptimismNetworkPayloadEnvelope::decode_v3(&msg.data) + OpNetworkPayloadEnvelope::decode_v3(&msg.data) } else { return MessageAcceptance::Reject; }; @@ -104,7 +104,7 @@ impl BlockHandler { /// /// True if the block is less than 1 minute old, and correctly signed by the unsafe block /// signer. - fn block_valid(&self, envelope: &OptimismNetworkPayloadEnvelope) -> bool { + fn block_valid(&self, envelope: &OpNetworkPayloadEnvelope) -> bool { let current_timestamp = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs(); diff --git a/crates/net/src/lib.rs b/crates/net/src/lib.rs index 563459b..8ef1f92 100644 --- a/crates/net/src/lib.rs +++ b/crates/net/src/lib.rs @@ -1,5 +1,5 @@ #![doc = include_str!("../README.md")] -#![doc(issue_tracker_base_url = "https://github.com/paradigmxyz/op-rs/issues/")] +#![doc(issue_tracker_base_url = "https://github.com/ithacaxyz/op-rs/issues/")] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] #![cfg_attr(not(test), warn(unused_crate_dependencies))] diff --git a/crates/rollup/src/driver/context/mod.rs b/crates/rollup/src/driver/context/mod.rs index 3492f62..be26d17 100644 --- a/crates/rollup/src/driver/context/mod.rs +++ b/crates/rollup/src/driver/context/mod.rs @@ -149,17 +149,17 @@ fn parse_reth_rpc_header(block: &reth::primitives::SealedBlock) -> Header { logs_bloom: block.logs_bloom, difficulty: block.difficulty, number: block.number, - gas_limit: block.gas_limit as u128, - gas_used: block.gas_used as u128, + gas_limit: block.gas_limit, + gas_used: block.gas_used, timestamp: block.timestamp, total_difficulty: Some(block.difficulty), extra_data: block.extra_data.clone(), mix_hash: Some(block.mix_hash), nonce: Some(block.nonce.into()), - base_fee_per_gas: block.base_fee_per_gas.map(|x| x as u128), + base_fee_per_gas: block.base_fee_per_gas, withdrawals_root: block.withdrawals_root, - blob_gas_used: block.blob_gas_used.map(|x| x as u128), - excess_blob_gas: block.excess_blob_gas.map(|x| x as u128), + blob_gas_used: block.blob_gas_used, + excess_blob_gas: block.excess_blob_gas, parent_beacon_block_root: block.parent_beacon_block_root, requests_root: block.requests_root, } diff --git a/crates/rollup/src/driver/mod.rs b/crates/rollup/src/driver/mod.rs index 749b5f4..34b845c 100644 --- a/crates/rollup/src/driver/mod.rs +++ b/crates/rollup/src/driver/mod.rs @@ -4,13 +4,11 @@ use std::{fmt::Debug, sync::Arc}; use eyre::{bail, eyre, Result}; use kona_derive::{ + pipeline::{StepResult, Pipeline}, errors::{PipelineError, PipelineErrorKind}, - traits::{BlobProvider, ChainProvider, L2ChainProvider}, -}; -use kona_providers::{ - blob_provider::DurableBlobProvider, InMemoryChainProvider, LayeredBlobProvider, Pipeline, - StepResult, + traits::BlobProvider, }; +use kona_providers::{ChainProvider, L2ChainProvider}; use kona_providers_alloy::{AlloyChainProvider, AlloyL2ChainProvider, OnlineBlobProviderBuilder}; use op_alloy_genesis::RollupConfig; use op_alloy_protocol::{BlockInfo, L2BlockInfo}; diff --git a/crates/rollup/src/lib.rs b/crates/rollup/src/lib.rs index ed753fc..a28078d 100644 --- a/crates/rollup/src/lib.rs +++ b/crates/rollup/src/lib.rs @@ -1,6 +1,6 @@ //! Rollup Node -#![doc(issue_tracker_base_url = "https://github.com/paradigmxyz/op-rs/issues/")] +#![doc(issue_tracker_base_url = "https://github.com/ithacaxyz/op-rs/issues/")] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] #![cfg_attr(not(test), warn(unused_crate_dependencies))] diff --git a/crates/rollup/src/pipeline.rs b/crates/rollup/src/pipeline.rs index 0a517f9..62af063 100644 --- a/crates/rollup/src/pipeline.rs +++ b/crates/rollup/src/pipeline.rs @@ -3,13 +3,17 @@ use std::{fmt::Debug, sync::Arc}; use kona_derive::{ - online::{AlloyL2ChainProvider, DerivationPipeline, EthereumDataSource, PipelineBuilder}, + attributes::StatefulAttributesBuilder, + pipeline::{DerivationPipeline, PipelineBuilder}, + sources::EthereumDataSource, stages::{ AttributesQueue, BatchQueue, ChannelBank, ChannelReader, FrameQueue, L1Retrieval, - L1Traversal, StatefulAttributesBuilder, + L1Traversal, }, - traits::{BlobProvider, ChainProvider}, + traits::BlobProvider, }; +use kona_providers::ChainProvider; +use kona_providers_alloy::AlloyL2ChainProvider; use op_alloy_genesis::RollupConfig; use op_alloy_protocol::BlockInfo; @@ -30,7 +34,7 @@ type L1AttributesQueue = AttributesQueue< /// /// This pipeline is a derivation pipeline that takes the outputs of the [FrameQueue] stage /// and transforms them into -/// [OptimismPayloadAttributes](op_alloy_rpc_types_engine::OptimismPayloadAttributes). +/// [OpPayloadAttributes](op_alloy_rpc_types_engine::OpPayloadAttributes). pub type RollupPipeline = DerivationPipeline, AlloyL2ChainProvider>; diff --git a/crates/rollup/src/validator.rs b/crates/rollup/src/validator.rs index 69b656a..a98f62c 100644 --- a/crates/rollup/src/validator.rs +++ b/crates/rollup/src/validator.rs @@ -10,7 +10,7 @@ use alloy::{ }; use async_trait::async_trait; use eyre::{bail, eyre, Result}; -use op_alloy_rpc_types_engine::{OptimismAttributesWithParent, OptimismPayloadAttributes}; +use op_alloy_rpc_types_engine::{OpAttributesWithParent, OpPayloadAttributes}; use reqwest::{ header::{AUTHORIZATION, CONTENT_TYPE}, Client, StatusCode, @@ -29,7 +29,7 @@ use url::Url; pub trait AttributesValidator: Debug + Send { /// Validates the given [`OptimismAttributesWithParent`] and returns true /// if the attributes are valid, false otherwise. - async fn validate(&self, attributes: &OptimismAttributesWithParent) -> Result; + async fn validate(&self, attributes: &OpAttributesWithParent) -> Result; } /// TrustedValidator @@ -91,10 +91,10 @@ impl TrustedValidator { } /// Gets the payload for the specified [BlockNumberOrTag]. - pub async fn get_payload(&self, tag: BlockNumberOrTag) -> Result { + pub async fn get_payload(&self, tag: BlockNumberOrTag) -> Result { let (header, transactions) = self.get_block(tag).await?; - Ok(OptimismPayloadAttributes { + Ok(OpPayloadAttributes { payload_attributes: PayloadAttributes { timestamp: header.timestamp, suggested_fee_recipient: header.miner, @@ -106,13 +106,14 @@ impl TrustedValidator { transactions: Some(transactions), no_tx_pool: Some(true), gas_limit: Some(header.gas_limit as u64), + eip_1559_params: None, // TODO: fix this }) } } #[async_trait] impl AttributesValidator for TrustedValidator { - async fn validate(&self, attributes: &OptimismAttributesWithParent) -> Result { + async fn validate(&self, attributes: &OpAttributesWithParent) -> Result { let expected = attributes.parent.block_info.number + 1; let tag = BlockNumberOrTag::from(expected); @@ -150,7 +151,7 @@ impl EngineApiValidator { #[async_trait] impl AttributesValidator for EngineApiValidator { - async fn validate(&self, attributes: &OptimismAttributesWithParent) -> Result { + async fn validate(&self, attributes: &OpAttributesWithParent) -> Result { let request_body = serde_json::json!({ "id": 1, "jsonrpc": "2.0", diff --git a/crates/ser/src/lib.rs b/crates/ser/src/lib.rs index 76b10a4..45c8517 100644 --- a/crates/ser/src/lib.rs +++ b/crates/ser/src/lib.rs @@ -1,9 +1,9 @@ //! Serialization for higher order chain data. -#![doc(issue_tracker_base_url = "https://github.com/paradigmxyz/op-rs/issues/")] +#![doc(issue_tracker_base_url = "https://github.com/ithacaxyz/op-rs/issues/")] #![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] #![cfg_attr(not(test), warn(unused_crate_dependencies))] -#![cfg_attr(not(any(test, feature = "online")), no_std)] +#![cfg_attr(not(test), no_std)] extern crate alloc; From 3f03f8f7f39b4948dc0a98e2e10b8f324130bb26 Mon Sep 17 00:00:00 2001 From: refcell Date: Wed, 16 Oct 2024 15:05:47 -0400 Subject: [PATCH 4/5] fixes --- Cargo.lock | 286 +++++++------- Cargo.toml | 6 +- Justfile | 5 +- bin/op-rs/src/main.rs | 4 +- crates/providers-local/Cargo.toml | 27 ++ crates/providers-local/src/blob_provider.rs | 173 +++++++++ crates/providers-local/src/chain_provider.rs | 351 ++++++++++++++++++ crates/providers-local/src/lib.rs | 17 + crates/rollup/Cargo.toml | 1 + crates/rollup/src/driver/context/exex.rs | 9 +- crates/rollup/src/driver/context/mod.rs | 14 +- .../rollup/src/driver/context/standalone.rs | 28 +- crates/rollup/src/driver/cursor.rs | 6 +- crates/rollup/src/driver/mod.rs | 33 +- crates/rollup/src/pipeline.rs | 10 +- crates/rollup/src/validator.rs | 2 +- 16 files changed, 771 insertions(+), 201 deletions(-) create mode 100644 crates/providers-local/Cargo.toml create mode 100644 crates/providers-local/src/blob_provider.rs create mode 100644 crates/providers-local/src/chain_provider.rs create mode 100644 crates/providers-local/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 72e9913..209379f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -137,17 +137,17 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "056f2c01b2aed86e15b43c47d109bfc8b82553dc34e66452875e51247ec31ab2" dependencies = [ - "alloy-consensus 0.4.2", + "alloy-consensus", "alloy-contract", "alloy-core", - "alloy-eips 0.4.2", + "alloy-eips", "alloy-genesis", "alloy-network", "alloy-provider", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types", - "alloy-serde 0.4.2", + "alloy-serde", "alloy-signer", "alloy-transport", "alloy-transport-http", @@ -168,29 +168,16 @@ dependencies = [ "strum", ] -[[package]] -name = "alloy-consensus" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629b62e38d471cc15fea534eb7283d2f8a4e8bdb1811bcc5d66dda6cfce6fae1" -dependencies = [ - "alloy-eips 0.3.6", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 0.3.6", - "serde", -] - [[package]] name = "alloy-consensus" version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "arbitrary", "auto_impl", "c-kzg", @@ -282,22 +269,6 @@ dependencies = [ "serde_with", ] -[[package]] -name = "alloy-eips" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f923dd5fca5f67a43d81ed3ebad0880bd41f6dd0ada930030353ac356c54cd0f" -dependencies = [ - "alloy-eip2930", - "alloy-eip7702", - "alloy-primitives", - "alloy-rlp", - "alloy-serde 0.3.6", - "c-kzg", - "serde", - "sha2 0.10.8", -] - [[package]] name = "alloy-eips" version = "0.4.2" @@ -308,7 +279,7 @@ dependencies = [ "alloy-eip7702", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "arbitrary", "c-kzg", "derive_more", @@ -326,7 +297,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" dependencies = [ "alloy-primitives", - "alloy-serde 0.4.2", + "alloy-serde", "serde", ] @@ -362,13 +333,13 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85fa23a6a9d612b52e402c995f2d582c25165ec03ac6edf64c861a76bc5b87cd" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-json-rpc", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "alloy-signer", "alloy-sol-types", "async-trait", @@ -383,10 +354,10 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", - "alloy-serde 0.4.2", + "alloy-serde", "serde", ] @@ -429,8 +400,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcfaa4ffec0af04e3555686b8aacbcdf7d13638133a0672749209069750f78a6" dependencies = [ "alloy-chains", - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-json-rpc", "alloy-network", "alloy-network-primitives", @@ -536,7 +507,7 @@ dependencies = [ "alloy-rpc-types-beacon", "alloy-rpc-types-engine", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "serde", ] @@ -559,7 +530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d780adaa5d95b07ad92006b2feb68ecfa7e2015f7d5976ceaac4c906c73ebd07" dependencies = [ "alloy-primitives", - "alloy-serde 0.4.2", + "alloy-serde", "serde", ] @@ -569,7 +540,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a8dc5980fe30203d698627cddb5f0cedc57f900c8b5e1229c8b9448e37acb4a" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "ethereum_ssz", @@ -595,11 +566,11 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0285c4c09f838ab830048b780d7f4a4f460f309aa1194bb049843309524c64c" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "derive_more", "ethereum_ssz", "ethereum_ssz_derive", @@ -616,12 +587,12 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-network-primitives", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "alloy-sol-types", "arbitrary", "derive_more", @@ -637,9 +608,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cec23ce56c869eec5f6b6fd6a8a92b5aa0cfaf8d7be3a96502e537554dc7430" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", - "alloy-serde 0.4.2", + "alloy-serde", "serde", "serde_json", ] @@ -652,7 +623,7 @@ checksum = "017cad3e5793c5613588c1f9732bcbad77e820ba7d0feaba3527749f856fdbc5" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "serde", "serde_json", "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -666,21 +637,10 @@ checksum = "2b230e321c416be7f50530159392b4c41a45596d40d97e185575bcd0b545e521" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "serde", ] -[[package]] -name = "alloy-serde" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731f75ec5d383107fd745d781619bd9cedf145836c51ecb991623d41278e71fa" -dependencies = [ - "alloy-primitives", - "serde", - "serde_json", -] - [[package]] name = "alloy-serde" version = "0.4.2" @@ -713,7 +673,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "494e0a256f3e99f2426f994bcd1be312c02cb8f88260088dacb33a8b8936475f" dependencies = [ - "alloy-consensus 0.4.2", + "alloy-consensus", "alloy-network", "alloy-primitives", "alloy-signer", @@ -3336,7 +3296,6 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", - "serde", ] [[package]] @@ -4419,8 +4378,8 @@ version = "0.0.3" source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ "alloc-no-stdlib", - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-engine", @@ -4444,7 +4403,7 @@ name = "kona-primitives" version = "0.0.2" source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "anyhow", "c-kzg", @@ -4460,7 +4419,7 @@ name = "kona-providers" version = "0.0.1" source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ - "alloy-consensus 0.4.2", + "alloy-consensus", "alloy-primitives", "async-trait", "op-alloy-consensus 0.4.0", @@ -4473,8 +4432,8 @@ name = "kona-providers-alloy" version = "0.0.1" source = "git+https://github.com/anton-rs/kona?branch=main#a83f0cfbd3704343b74c288a6a7ff889aaf9e098" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-provider", "alloy-rlp", @@ -4491,6 +4450,26 @@ dependencies = [ "tracing", ] +[[package]] +name = "kona-providers-local" +version = "0.0.0" +dependencies = [ + "alloy", + "alloy-rlp", + "async-trait", + "eyre", + "hashbrown 0.14.5", + "kona-derive", + "kona-primitives", + "kona-providers", + "kona-providers-alloy", + "op-alloy-protocol 0.4.0", + "parking_lot 0.12.3", + "reth", + "tracing", + "url", +] + [[package]] name = "konst" version = "0.2.19" @@ -5636,11 +5615,11 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4f7f318f885db6e1455370ca91f74b7faed152c8142f6418f0936d606e582ff" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "arbitrary", "derive_more", "serde", @@ -5653,38 +5632,24 @@ name = "op-alloy-consensus" version = "0.4.0" source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "derive_more", "serde", "spin 0.9.8", ] -[[package]] -name = "op-alloy-genesis" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e1b8a9b70da0e027242ec1762f0f3a386278b6291d00d12ff5a64929dc19f68" -dependencies = [ - "alloy-consensus 0.3.6", - "alloy-eips 0.3.6", - "alloy-primitives", - "alloy-sol-types", - "serde", - "serde_repr", -] - [[package]] name = "op-alloy-genesis" version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8215c87b74d2fbbaff0fd2887868a8341df33a3c495ee01f813e5ddd5be9c46" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-sol-types", "serde", @@ -5696,8 +5661,8 @@ name = "op-alloy-genesis" version = "0.4.0" source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-sol-types", "serde", @@ -5710,11 +5675,11 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa5c397fbe35e07f9c95a571440ca2e90df754e198496d82ff4127de00b89dd9" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "derive_more", "op-alloy-consensus 0.3.3", "op-alloy-genesis 0.3.3", @@ -5726,11 +5691,11 @@ name = "op-alloy-protocol" version = "0.4.0" source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", - "alloy-serde 0.4.2", + "alloy-serde", "derive_more", "op-alloy-consensus 0.4.0", "op-alloy-genesis 0.4.0", @@ -5742,12 +5707,12 @@ name = "op-alloy-rpc-types" version = "0.4.0" source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c00087827f70d6b4a42afb79dc39da9" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-network-primitives", "alloy-primitives", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "op-alloy-consensus 0.4.0", "serde", "serde_json", @@ -5761,7 +5726,7 @@ checksum = "5041122e20b76644cc690bba688671eecdc4626e6384a76eb740535d6ddcef14" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", - "alloy-serde 0.4.2", + "alloy-serde", "derive_more", "op-alloy-protocol 0.3.3", "serde", @@ -5774,7 +5739,7 @@ source = "git+https://github.com/alloy-rs/op-alloy?branch=main#20eb16233c0008782 dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", - "alloy-serde 0.4.2", + "alloy-serde", "derive_more", "ethereum_ssz", "op-alloy-protocol 0.4.0", @@ -6747,8 +6712,8 @@ name = "reth" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-rpc-types", @@ -6906,7 +6871,7 @@ name = "reth-blockchain-tree" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "aquamarine", "linked_hash_set", @@ -6952,7 +6917,7 @@ name = "reth-chain-state" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "auto_impl", "derive_more", @@ -6977,7 +6942,7 @@ version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-chains", - "alloy-eips 0.4.2", + "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-trie", @@ -7007,7 +6972,7 @@ version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "ahash", - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "backon", "clap", @@ -7073,7 +7038,7 @@ name = "reth-cli-util" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "cfg-if", "eyre", @@ -7090,8 +7055,8 @@ name = "reth-codecs" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-trie", @@ -7153,8 +7118,8 @@ name = "reth-consensus-debug-client" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-provider", "alloy-rpc-types", @@ -7342,7 +7307,7 @@ name = "reth-downloaders" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "futures", @@ -7437,7 +7402,7 @@ name = "reth-engine-tree" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "futures", @@ -7545,7 +7510,7 @@ version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-chains", - "alloy-eips 0.4.2", + "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -7575,7 +7540,7 @@ name = "reth-ethereum-engine-primitives" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-rpc-types-engine", @@ -7646,7 +7611,7 @@ name = "reth-evm" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "auto_impl", "futures-util", @@ -7668,7 +7633,7 @@ name = "reth-evm-ethereum" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-sol-types", "reth-chainspec", @@ -7687,7 +7652,7 @@ name = "reth-execution-errors" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "derive_more", @@ -7703,7 +7668,7 @@ name = "reth-execution-types" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "reth-execution-errors", "reth-primitives", @@ -7718,7 +7683,7 @@ name = "reth-exex" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "eyre", "futures", @@ -7754,7 +7719,7 @@ name = "reth-exex-types" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "reth-chain-state", "reth-execution-types", @@ -7883,7 +7848,7 @@ name = "reth-network" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "aquamarine", @@ -7956,7 +7921,7 @@ name = "reth-network-p2p" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "auto_impl", "derive_more", @@ -8290,8 +8255,8 @@ name = "reth-primitives" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rlp", "bytes", @@ -8319,8 +8284,8 @@ name = "reth-primitives-traits" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -8340,7 +8305,7 @@ name = "reth-provider" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "auto_impl", @@ -8438,9 +8403,9 @@ name = "reth-rpc" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", + "alloy-consensus", "alloy-dyn-abi", - "alloy-eips 0.4.2", + "alloy-eips", "alloy-genesis", "alloy-network", "alloy-primitives", @@ -8452,7 +8417,7 @@ dependencies = [ "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 0.4.2", + "alloy-serde", "alloy-signer", "alloy-signer-local", "async-trait", @@ -8504,7 +8469,7 @@ name = "reth-rpc-api" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-json-rpc", "alloy-primitives", "alloy-rpc-types", @@ -8517,7 +8482,7 @@ dependencies = [ "alloy-rpc-types-mev", "alloy-rpc-types-trace", "alloy-rpc-types-txpool", - "alloy-serde 0.4.2", + "alloy-serde", "jsonrpsee", "reth-engine-primitives", "reth-network-peers", @@ -8532,7 +8497,7 @@ source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1 dependencies = [ "alloy-network", "alloy-rpc-types", - "alloy-serde 0.4.2", + "alloy-serde", "http 1.1.0", "jsonrpsee", "metrics", @@ -8566,7 +8531,7 @@ name = "reth-rpc-engine-api" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "async-trait", @@ -8598,7 +8563,7 @@ version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ "alloy-dyn-abi", - "alloy-eips 0.4.2", + "alloy-eips", "alloy-json-rpc", "alloy-network", "alloy-primitives", @@ -8638,12 +8603,12 @@ name = "reth-rpc-eth-types" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", - "alloy-eips 0.4.2", + "alloy-consensus", + "alloy-eips", "alloy-primitives", "alloy-rpc-types", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "alloy-sol-types", "derive_more", "futures", @@ -8710,13 +8675,13 @@ name = "reth-rpc-types-compat" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-rpc-types", "alloy-rpc-types-engine", "alloy-rpc-types-eth", - "alloy-serde 0.4.2", + "alloy-serde", "reth-primitives", "reth-trie-common", ] @@ -8835,7 +8800,7 @@ name = "reth-storage-api" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "auto_impl", "reth-chainspec", @@ -8854,7 +8819,7 @@ name = "reth-storage-errors" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "derive_more", @@ -8910,7 +8875,7 @@ name = "reth-transaction-pool" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-eips 0.4.2", + "alloy-eips", "alloy-primitives", "alloy-rlp", "aquamarine", @@ -8968,7 +8933,7 @@ name = "reth-trie-common" version = "1.0.8" source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" dependencies = [ - "alloy-consensus 0.4.2", + "alloy-consensus", "alloy-genesis", "alloy-primitives", "alloy-rlp", @@ -9242,6 +9207,7 @@ dependencies = [ "kona-derive", "kona-providers", "kona-providers-alloy", + "kona-providers-local", "metrics-exporter-prometheus", "op-alloy-genesis 0.4.0", "op-alloy-protocol 0.4.0", @@ -10094,14 +10060,12 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "superchain" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e6a2cf2036fe8d041cc4efa8b1a91660b77497077b1656ab769e8665d8ad0c" +version = "0.7.1" +source = "git+https://github.com/anton-rs/superchain?branch=main#5a2e3e4ebb0eaf473f4aee95d3d4211657dcd40c" dependencies = [ "alloy-primitives", - "hashbrown 0.14.5", "lazy_static", - "op-alloy-genesis 0.2.12", + "op-alloy-genesis 0.4.0", "serde", "serde_json", ] diff --git a/Cargo.toml b/Cargo.toml index 5f461aa..3c5a4c7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,9 +35,11 @@ op-alloy-rpc-types-engine = { git = "https://github.com/alloy-rs/op-alloy", bran op-net = { path = "crates/net" } rollup = { path = "crates/rollup" } ser = { path = "crates/ser" } +kona-providers-local = { path = "crates/providers-local" } # Optimism -superchain = { version = "0.5", default-features = false } +# superchain = { version = "0.7", default-features = false } +superchain = { git = "https://github.com/anton-rs/superchain", branch = "main", default-features = false } kona-providers = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-providers-alloy = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-primitives = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } @@ -113,7 +115,7 @@ async-trait = "0.1.81" hashbrown = "0.14.5" parking_lot = "0.12.3" unsigned-varint = "0.8.0" -rand = { version = "0.8.3", features = ["small_rng"], default-features = false } +rand = { version = "0.8.5", features = ["small_rng", "alloc", "getrandom"], default-features = false } url = "2.5.2" [workspace.metadata.docs.rs] diff --git a/Justfile b/Justfile index 20af6da..2abc0ff 100644 --- a/Justfile +++ b/Justfile @@ -26,8 +26,9 @@ doc-lints: # Lint lint: - cargo clippy --workspace --examples --tests --benches --all-features \ - && cargo hack check + cargo clippy --workspace --examples --tests --benches --all-features && \ + cargo +stable install cargo-hack --locked && \ + cargo hack check # Format fmt: diff --git a/bin/op-rs/src/main.rs b/bin/op-rs/src/main.rs index 722a0cf..5952c0b 100644 --- a/bin/op-rs/src/main.rs +++ b/bin/op-rs/src/main.rs @@ -7,7 +7,7 @@ use clap::Parser; use eyre::{bail, Result}; -use reth::{args::utils::DefaultChainSpecParser, cli::Cli}; +use reth::{args::utils::EthereumChainSpecParser, cli::Cli}; use reth_node_ethereum::EthereumNode; use tracing::{info, warn}; @@ -29,7 +29,7 @@ pub(crate) struct RethArgsExt { } fn main() -> Result<()> { - Cli::::parse().run(|builder, args| async move { + Cli::::parse().run(|builder, args| async move { if args.hera { info!("Running Reth with the Hera Execution Extension"); let Some(hera_args) = args.hera_config else { diff --git a/crates/providers-local/Cargo.toml b/crates/providers-local/Cargo.toml new file mode 100644 index 0000000..5df8170 --- /dev/null +++ b/crates/providers-local/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "kona-providers-local" +description = "Local provider implementations for Kona trait abstractions" +version = "0.0.0" +edition.workspace = true +authors.workspace = true +license.workspace = true +keywords.workspace = true +repository.workspace = true +categories.workspace = true +rust-version.workspace = true + +[dependencies] +reth.workspace = true +alloy.workspace = true +alloy-rlp.workspace = true +hashbrown.workspace = true +async-trait.workspace = true +parking_lot.workspace = true +kona-derive.workspace = true +kona-providers.workspace = true +kona-providers-alloy.workspace = true +kona-primitives.workspace = true +tracing.workspace = true +eyre.workspace = true +url.workspace = true +op-alloy-protocol.workspace = true diff --git a/crates/providers-local/src/blob_provider.rs b/crates/providers-local/src/blob_provider.rs new file mode 100644 index 0000000..3a8431a --- /dev/null +++ b/crates/providers-local/src/blob_provider.rs @@ -0,0 +1,173 @@ +//! Blob Providers + +use alloc::{boxed::Box, collections::VecDeque, string::ToString, sync::Arc, vec::Vec}; +use hashbrown::HashMap; + +use alloy::{eips::eip4844::Blob, primitives::B256}; +use async_trait::async_trait; +use eyre::{eyre, Result}; +use kona_derive::{errors::BlobProviderError, traits::BlobProvider}; +use kona_primitives::IndexedBlobHash; +use kona_providers_alloy::{ + OnlineBeaconClient, OnlineBlobProviderBuilder, OnlineBlobProviderWithFallback, +}; +use op_alloy_protocol::BlockInfo; +use parking_lot::Mutex; +use reth::primitives::BlobTransactionSidecar; +use tracing::warn; +use url::Url; + +/// A blob provider that first attempts to fetch blobs from a primary beacon client and +/// falls back to a secondary blob archiver if the primary fails. +/// +/// Any blob archiver just needs to implement the beacon +/// [`blob_sidecars` API](https://ethereum.github.io/beacon-APIs/#/Beacon/getBlobSidecars) +pub type DurableBlobProvider = + OnlineBlobProviderWithFallback; + +/// Layered [BlobProvider] for the Kona derivation pipeline. +/// +/// This provider wraps different blob sources in an ordered manner: +/// - First, it attempts to fetch blobs from an in-memory store. +/// - If the blobs are not found, it then attempts to fetch them from an online beacon client. +/// - If the blobs are still not found, it tries to fetch them from a blob archiver (if set). +/// - If all sources fail, the provider will return a [BlobProviderError]. +#[derive(Debug, Clone)] +pub struct LayeredBlobProvider { + /// In-memory inner blob provider, used for locally caching blobs as + /// they come during live sync (when following the chain tip). + memory: Arc>, + + /// Fallback online blob provider. + /// This is used primarily during sync when archived blobs + /// aren't provided by reth since they'll be too old. + /// + /// The `Durable` setup allows to specify two different + /// endpoints for a primary and a fallback blob provider. + online: DurableBlobProvider, +} + +/// A blob provider that hold blobs in memory. +#[derive(Debug)] +pub struct InnerBlobProvider { + /// Maximum number of blobs to keep in memory. + capacity: usize, + /// Order of key insertion for oldest entry eviction. + key_order: VecDeque, + /// Maps block hashes to blob hashes to blob sidecars. + blocks_to_blob_sidecars: HashMap>, +} + +impl InnerBlobProvider { + /// Creates a new [InnerBlobProvider]. + pub fn with_capacity(cap: usize) -> Self { + Self { + capacity: cap, + blocks_to_blob_sidecars: HashMap::with_capacity(cap), + key_order: VecDeque::with_capacity(cap), + } + } + + /// Inserts multiple blob sidecars nto the provider. + pub fn insert_blob_sidecars( + &mut self, + block_hash: B256, + sidecars: Vec, + ) { + if let Some(existing_blobs) = self.blocks_to_blob_sidecars.get_mut(&block_hash) { + existing_blobs.extend(sidecars); + } else { + if self.blocks_to_blob_sidecars.len() >= self.capacity { + if let Some(oldest) = self.key_order.pop_front() { + self.blocks_to_blob_sidecars.remove(&oldest); + } + } + self.blocks_to_blob_sidecars.insert(block_hash, sidecars); + } + } +} + +impl LayeredBlobProvider { + /// Creates a new [LayeredBlobProvider] with a local blob store, an online primary beacon + /// client and an optional fallback blob archiver for fetching blobs. + pub fn new(beacon_client_url: Url, blob_archiver_url: Option) -> Self { + let memory = Arc::new(Mutex::new(InnerBlobProvider::with_capacity(512))); + + let online = OnlineBlobProviderBuilder::new() + .with_primary(beacon_client_url.as_str().trim_end_matches('/').to_string()) + .with_fallback( + blob_archiver_url.map(|url| url.as_str().trim_end_matches('/').to_string()), + ) + .build(); + + Self { memory, online } + } + + /// Inserts multiple blob sidecars into the in-memory provider. + #[inline] + pub fn insert_blob_sidecars( + &mut self, + block_hash: B256, + sidecars: Vec, + ) { + self.memory.lock().insert_blob_sidecars(block_hash, sidecars); + } + + /// Attempts to fetch blobs using the in-memory blob store. + #[inline] + async fn memory_blob_load( + &mut self, + block_ref: &BlockInfo, + blob_hashes: &[IndexedBlobHash], + ) -> Result> { + let locked = self.memory.lock(); + + let sidecars_for_block = locked + .blocks_to_blob_sidecars + .get(&block_ref.hash) + .ok_or(eyre!("No blob sidecars found for block ref: {:?}", block_ref))?; + + // for each sidecar, get the blob hashes and check if any of them are + // part of the requested hashes. If they are, add the corresponding blobs + // to the blobs vector. + let mut blobs = Vec::with_capacity(blob_hashes.len()); + let requested_hashes = blob_hashes.iter().map(|h| h.hash).collect::>(); + for sidecar in sidecars_for_block { + for (hash, blob) in sidecar.versioned_hashes().zip(&sidecar.blobs) { + if requested_hashes.contains(&hash) { + blobs.push(*blob); + } + } + } + + Ok(blobs) + } + + /// Attempts to fetch blobs using the online blob provider. + #[inline] + async fn online_blob_load( + &mut self, + block_ref: &BlockInfo, + blob_hashes: &[IndexedBlobHash], + ) -> Result, BlobProviderError> { + self.online.get_blobs(block_ref, blob_hashes).await + } +} + +#[async_trait] +impl BlobProvider for LayeredBlobProvider { + type Error = BlobProviderError; + + /// Fetches blobs for a given block ref and the blob hashes. + async fn get_blobs( + &mut self, + block_ref: &BlockInfo, + blob_hashes: &[IndexedBlobHash], + ) -> Result, BlobProviderError> { + if let Ok(b) = self.memory_blob_load(block_ref, blob_hashes).await { + return Ok(b); + } + warn!("Blob provider falling back to online provider"); + self.online_blob_load(block_ref, blob_hashes).await + } +} diff --git a/crates/providers-local/src/chain_provider.rs b/crates/providers-local/src/chain_provider.rs new file mode 100644 index 0000000..700e058 --- /dev/null +++ b/crates/providers-local/src/chain_provider.rs @@ -0,0 +1,351 @@ +//! Chain Provider + +use alloc::{boxed::Box, collections::vec_deque::VecDeque, sync::Arc, vec::Vec}; +use hashbrown::HashMap; + +use alloy::{ + consensus::{ + Header, Receipt, Signed, TxEip1559, TxEip2930, TxEip4844, TxEip4844Variant, TxEnvelope, + TxLegacy, + }, + eips::BlockNumHash, + primitives::B256, + signers::Signature, +}; +use alloy_rlp::{Decodable, Encodable}; +use async_trait::async_trait; +use eyre::eyre; +use kona_providers::ChainProvider; +use op_alloy_protocol::BlockInfo; +use parking_lot::RwLock; +use reth::{primitives::Transaction, providers::Chain}; + +/// An in-memory [ChainProvider] that stores chain data, +/// meant to be shared between multiple readers. +/// +/// This provider uses a ring buffer to limit capacity +/// to avoid storing an unbounded amount of data in memory. +#[derive(Debug, Clone)] +pub struct InMemoryChainProvider(Arc>); + +impl InMemoryChainProvider { + /// Create a new [InMemoryChainProvider] with the given capacity. + pub fn with_capacity(cap: usize) -> Self { + Self(Arc::new(RwLock::new(InMemoryChainProviderInner::with_capacity(cap)))) + } + + /// Commits Chain state to the provider. + pub fn commit(&mut self, chain: Arc) { + self.0.write().commit(chain); + } + + /// Inserts the L2 genesis [BlockNumHash] into the provider. + pub fn insert_l2_genesis_block(&mut self, block: BlockNumHash) { + self.0.write().insert_l2_genesis_block(block); + } +} + +/// The inner state of an [InMemoryChainProvider]. +#[derive(Debug)] +struct InMemoryChainProviderInner { + /// The maximum number of items to store in the provider. + /// This is used to prevent unbounded memory usage. + capacity: usize, + + /// The order in which keys were inserted into the provider. + /// This is used to evict the oldest items when the provider + /// reaches its capacity. + key_order: VecDeque, + + /// Maps [B256] hash to [Header]. + hash_to_header: HashMap, + + /// Maps [B256] hash to [BlockInfo]. + hash_to_block_info: HashMap, + + /// Maps [B256] hash to [Vec]<[Receipt]>. + hash_to_receipts: HashMap>, + + /// Maps a [B256] hash to a [Vec]<[TxEnvelope]>. + hash_to_txs: HashMap>, +} + +impl InMemoryChainProviderInner { + fn with_capacity(cap: usize) -> Self { + Self { + capacity: cap, + key_order: VecDeque::new(), + hash_to_header: HashMap::with_capacity(cap), + hash_to_block_info: HashMap::with_capacity(cap), + hash_to_receipts: HashMap::with_capacity(cap), + hash_to_txs: HashMap::with_capacity(cap), + } + } + + /// Commits Chain state to the provider. + fn commit(&mut self, chain: Arc) { + // Remove the oldest items if the provider is at capacity. + self.key_order.extend(chain.headers().map(|h| h.hash())); + if self.key_order.len() > self.capacity { + let to_remove = self.key_order.len() - self.capacity; + for _ in 0..to_remove { + if let Some(key) = self.key_order.pop_front() { + self.hash_to_header.remove(&key); + self.hash_to_block_info.remove(&key); + self.hash_to_receipts.remove(&key); + self.hash_to_txs.remove(&key); + } + } + } + + self.commit_headers(&chain); + self.commit_block_infos(&chain); + self.commit_receipts(&chain); + self.commit_txs(&chain); + } + + /// Commits [Header]s to the provider. + fn commit_headers(&mut self, chain: &Arc) { + for header in chain.headers() { + // TODO: won't need to coerce once reth uses alloy types + self.hash_to_header.insert(header.hash(), reth_to_alloy_header(&header)); + } + } + + /// Commits [BlockInfo]s to the provider. + fn commit_block_infos(&mut self, chain: &Arc) { + for block in chain.blocks_iter() { + self.hash_to_block_info.insert( + block.hash(), + BlockInfo { + hash: block.hash(), + number: block.number, + timestamp: block.timestamp, + parent_hash: block.parent_hash, + }, + ); + } + } + + /// Inserts the L2 genesis [BlockNumHash] into the provider. + fn insert_l2_genesis_block(&mut self, block: BlockNumHash) { + self.hash_to_block_info.insert( + block.hash, + BlockInfo { + hash: block.hash, + number: block.number, + timestamp: Default::default(), + parent_hash: Default::default(), + }, + ); + } + + /// Commits [Receipt]s to the provider. + fn commit_receipts(&mut self, chain: &Arc) { + for (b, receipt) in chain.blocks_and_receipts() { + self.hash_to_receipts.insert( + b.hash(), + receipt + .iter() + .flat_map(|r| { + r.as_ref().map(|r| Receipt { + cumulative_gas_used: r.cumulative_gas_used as u128, + logs: r.logs.clone(), + status: alloy::consensus::Eip658Value::Eip658(r.success), + }) + }) + .collect(), + ); + } + } + + /// Commits [TxEnvelope]s to the provider. + fn commit_txs(&mut self, chain: &Arc) { + for b in chain.blocks_iter() { + let txs = b.transactions().flat_map(reth_to_alloy_tx).collect(); + self.hash_to_txs.insert(b.hash(), txs); + } + } +} + +#[async_trait] +impl ChainProvider for InMemoryChainProvider { + type Error = eyre::Error; + + /// Fetch the L1 [Header] for the given [B256] hash. + async fn header_by_hash(&mut self, hash: B256) -> eyre::Result
{ + self.0 + .read() + .hash_to_header + .get(&hash) + .cloned() + .ok_or_else(|| eyre!("Header not found for hash: {}", hash)) + } + + /// Returns the block at the given number, or an error if the block does not exist in the data + /// source. + async fn block_info_by_number(&mut self, number: u64) -> eyre::Result { + self.0 + .read() + .hash_to_block_info + .values() + .find(|bi| bi.number == number) + .cloned() + .ok_or_else(|| eyre!("Block not found")) + } + + /// Returns all receipts in the block with the given hash, or an error if the block does not + /// exist in the data source. + async fn receipts_by_hash(&mut self, hash: B256) -> eyre::Result> { + self.0 + .read() + .hash_to_receipts + .get(&hash) + .cloned() + .ok_or_else(|| eyre!("Receipts not found")) + } + + /// Returns block info and transactions for the given block hash. + async fn block_info_and_transactions_by_hash( + &mut self, + hash: B256, + ) -> eyre::Result<(BlockInfo, Vec)> { + let block_info = self + .0 + .read() + .hash_to_block_info + .get(&hash) + .cloned() + .ok_or_else(|| eyre!("Block not found"))?; + + let txs = + self.0.read().hash_to_txs.get(&hash).cloned().ok_or_else(|| eyre!("Tx not found"))?; + + Ok((block_info, txs)) + } +} + +pub fn reth_to_alloy_header(header: &reth::primitives::SealedHeader) -> Header { + Header { + parent_hash: header.parent_hash, + ommers_hash: header.ommers_hash, + beneficiary: header.beneficiary, + state_root: header.state_root, + requests_root: header.requests_root, + transactions_root: header.transactions_root, + receipts_root: header.receipts_root, + withdrawals_root: header.withdrawals_root, + logs_bloom: header.logs_bloom, + difficulty: header.difficulty, + number: header.number, + gas_limit: header.gas_limit, + gas_used: header.gas_used, + timestamp: header.timestamp, + mix_hash: header.mix_hash, + nonce: header.nonce, + base_fee_per_gas: header.base_fee_per_gas, + blob_gas_used: header.blob_gas_used, + excess_blob_gas: header.excess_blob_gas, + parent_beacon_block_root: header.parent_beacon_block_root, + extra_data: header.extra_data.clone(), + } +} + +pub fn reth_to_alloy_tx(tx: &reth::primitives::TransactionSigned) -> Option { + let mut buf = Vec::new(); + tx.signature.encode(&mut buf); + let sig = Signature::decode(&mut buf.as_slice()).ok()?; + let new = match &tx.transaction { + Transaction::Legacy(l) => { + let legacy_tx = TxLegacy { + chain_id: l.chain_id, + nonce: l.nonce, + gas_price: l.gas_price, + gas_limit: l.gas_limit, + to: l.to, + value: l.value, + input: l.input.clone(), + }; + TxEnvelope::Legacy(Signed::new_unchecked(legacy_tx, sig, tx.hash)) + } + Transaction::Eip2930(e) => { + let eip_tx = TxEip2930 { + chain_id: e.chain_id, + nonce: e.nonce, + gas_price: e.gas_price, + gas_limit: e.gas_limit, + to: e.to, + value: e.value, + input: e.input.clone(), + access_list: alloy::eips::eip2930::AccessList( + e.access_list + .0 + .clone() + .into_iter() + .map(|item| alloy::eips::eip2930::AccessListItem { + address: item.address, + storage_keys: item.storage_keys.clone(), + }) + .collect(), + ), + }; + TxEnvelope::Eip2930(Signed::new_unchecked(eip_tx, sig, tx.hash)) + } + Transaction::Eip1559(e) => { + let eip_tx = TxEip1559 { + chain_id: e.chain_id, + nonce: e.nonce, + max_priority_fee_per_gas: e.max_priority_fee_per_gas, + max_fee_per_gas: e.max_fee_per_gas, + gas_limit: e.gas_limit, + to: e.to, + value: e.value, + input: e.input.clone(), + access_list: alloy::eips::eip2930::AccessList( + e.access_list + .0 + .clone() + .into_iter() + .map(|item| alloy::eips::eip2930::AccessListItem { + address: item.address, + storage_keys: item.storage_keys.clone(), + }) + .collect(), + ), + }; + TxEnvelope::Eip1559(Signed::new_unchecked(eip_tx, sig, tx.hash)) + } + Transaction::Eip4844(e) => { + let eip_tx = TxEip4844 { + chain_id: e.chain_id, + nonce: e.nonce, + max_fee_per_gas: e.max_fee_per_gas, + max_priority_fee_per_gas: e.max_priority_fee_per_gas, + max_fee_per_blob_gas: e.max_fee_per_blob_gas, + blob_versioned_hashes: e.blob_versioned_hashes.clone(), + gas_limit: e.gas_limit, + to: e.to, + value: e.value, + input: e.input.clone(), + access_list: alloy::eips::eip2930::AccessList( + e.access_list + .0 + .clone() + .into_iter() + .map(|item| alloy::eips::eip2930::AccessListItem { + address: item.address, + storage_keys: item.storage_keys.clone(), + }) + .collect(), + ), + }; + TxEnvelope::Eip4844(Signed::new_unchecked( + TxEip4844Variant::TxEip4844(eip_tx), + sig, + tx.hash, + )) + } + Transaction::Eip7702(_) => unimplemented!("EIP-7702 not implemented"), + }; + Some(new) +} diff --git a/crates/providers-local/src/lib.rs b/crates/providers-local/src/lib.rs new file mode 100644 index 0000000..df646c1 --- /dev/null +++ b/crates/providers-local/src/lib.rs @@ -0,0 +1,17 @@ +//! Provider implementations for Kona trait abstractions + +#![doc(issue_tracker_base_url = "https://github.com/ithacaxyz/op-rs/issues/")] +#![cfg_attr(docsrs, feature(doc_cfg, doc_auto_cfg))] +#![cfg_attr(not(test), warn(unused_crate_dependencies))] +#![cfg_attr(not(test), no_std)] + +extern crate alloc; + +/// Re-export kona's derivation traits +pub use kona_derive::traits::*; + +mod chain_provider; +pub use chain_provider::{reth_to_alloy_tx, InMemoryChainProvider}; + +mod blob_provider; +pub use blob_provider::{DurableBlobProvider, LayeredBlobProvider}; diff --git a/crates/rollup/Cargo.toml b/crates/rollup/Cargo.toml index e7cfabd..aaf8f62 100644 --- a/crates/rollup/Cargo.toml +++ b/crates/rollup/Cargo.toml @@ -13,6 +13,7 @@ categories.workspace = true # OP Stack Dependencies kona-providers.workspace = true kona-providers-alloy.workspace = true +kona-providers-local.workspace = true kona-derive.workspace = true op-alloy-genesis.workspace = true op-alloy-protocol.workspace = true diff --git a/crates/rollup/src/driver/context/exex.rs b/crates/rollup/src/driver/context/exex.rs index f82a16e..84a439f 100644 --- a/crates/rollup/src/driver/context/exex.rs +++ b/crates/rollup/src/driver/context/exex.rs @@ -1,7 +1,7 @@ -use alloy::primitives::BlockNumber; +use alloy::eips::eip1898::BlockNumHash; use async_trait::async_trait; use futures::StreamExt; -use kona_providers::InMemoryChainProvider; +use kona_providers_local::InMemoryChainProvider; use reth_exex::{ExExContext, ExExEvent}; use reth_node_api::FullNodeComponents; use tokio::sync::mpsc::error::SendError; @@ -40,7 +40,10 @@ impl DriverContext for ExExHeraContext { Some(ChainNotification::from(exex_notification)) } - fn send_processed_tip_event(&mut self, tip: BlockNumber) -> Result<(), SendError> { + fn send_processed_tip_event( + &mut self, + tip: BlockNumHash, + ) -> Result<(), SendError> { self.ctx.events.send(ExExEvent::FinishedHeight(tip)).map_err(|_| SendError(tip)) } } diff --git a/crates/rollup/src/driver/context/mod.rs b/crates/rollup/src/driver/context/mod.rs index be26d17..ddc73bb 100644 --- a/crates/rollup/src/driver/context/mod.rs +++ b/crates/rollup/src/driver/context/mod.rs @@ -4,11 +4,12 @@ use std::{collections::BTreeMap, sync::Arc}; use alloy::{ consensus::TxEnvelope, + eips::eip1898::BlockNumHash, primitives::{BlockNumber, U256}, rpc::types::Block, }; use async_trait::async_trait; -use kona_providers::chain_provider::reth_to_alloy_tx; +use kona_providers_local::reth_to_alloy_tx; use reth::rpc::types::{BlockTransactions, Header}; use reth_execution_types::Chain; use reth_exex::ExExNotification; @@ -31,7 +32,10 @@ pub trait DriverContext { async fn recv_notification(&mut self) -> Option; /// Sends an event indicating that the processed tip has been updated. - fn send_processed_tip_event(&mut self, tip: BlockNumber) -> Result<(), SendError>; + fn send_processed_tip_event( + &mut self, + tip: BlockNumHash, + ) -> Result<(), SendError>; } /// A notification representing a chain of blocks that come from an execution client. @@ -111,12 +115,12 @@ impl From> for Blocks { // from reth::primitives::SealedBlock to alloy::rpc::types::Block let block = Block { header: parse_reth_rpc_header(sealed_block), - uncles: sealed_block.ommers.iter().map(|x| x.hash_slow()).collect(), + uncles: sealed_block.body.ommers.iter().map(|x| x.hash_slow()).collect(), transactions: BlockTransactions::Full( sealed_block.transactions().flat_map(reth_to_alloy_tx).collect(), ), size: Some(U256::from(sealed_block.size())), - withdrawals: sealed_block.withdrawals.clone().map(|w| w.into_inner()), + withdrawals: sealed_block.body.withdrawals.clone().map(|w| w.into_inner()), }; blocks.insert(*block_number, block); } @@ -155,7 +159,7 @@ fn parse_reth_rpc_header(block: &reth::primitives::SealedBlock) -> Header { total_difficulty: Some(block.difficulty), extra_data: block.extra_data.clone(), mix_hash: Some(block.mix_hash), - nonce: Some(block.nonce.into()), + nonce: Some(block.nonce), base_fee_per_gas: block.base_fee_per_gas, withdrawals_root: block.withdrawals_root, blob_gas_used: block.blob_gas_used, diff --git a/crates/rollup/src/driver/context/standalone.rs b/crates/rollup/src/driver/context/standalone.rs index 269f537..2917ca8 100644 --- a/crates/rollup/src/driver/context/standalone.rs +++ b/crates/rollup/src/driver/context/standalone.rs @@ -3,7 +3,7 @@ use std::{collections::BTreeMap, time::Duration}; use alloy::{ consensus::TxEnvelope, - eips::BlockId, + eips::{eip1898::BlockNumHash, BlockId}, network::Ethereum, primitives::{BlockNumber, B256}, providers::{IpcConnect, Provider, ProviderBuilder, ReqwestProvider, WsConnect}, @@ -34,13 +34,13 @@ const FINALIZATION_TIMEOUT: u64 = 64; #[derive(Debug)] pub struct StandaloneHeraContext { /// The current tip of the L1 chain listener, used to detect reorgs - l1_tip: BlockNumber, + l1_tip: BlockNumHash, /// Channel that receives new blocks from the L1 node new_block_rx: mpsc::Receiver>, /// The highest block that was successfully processed by the driver. /// We can safely prune all cached blocks below this tip once they /// become finalized on L1. - processed_tip: BlockNumber, + processed_tip: BlockNumHash, /// Cache of blocks that might be reorged out. In normal conditions, /// this cache will not grow beyond [`FINALIZATION_TIMEOUT`] keys. reorg_cache: BTreeMap>>, @@ -190,7 +190,13 @@ impl StandaloneHeraContext { new_block_rx: mpsc::Receiver>, _handle: JoinHandle<()>, ) -> Self { - Self { new_block_rx, _handle, l1_tip: 0, processed_tip: 0, reorg_cache: BTreeMap::new() } + Self { + new_block_rx, + _handle, + l1_tip: BlockNumHash::default(), + processed_tip: BlockNumHash::default(), + reorg_cache: BTreeMap::new(), + } } } @@ -207,10 +213,10 @@ impl DriverContext for StandaloneHeraContext { let entry = self.reorg_cache.entry(block_num).or_default(); entry.insert(block.header.hash, block.clone()); - if block_num <= self.l1_tip { + if block_num <= self.l1_tip.number { todo!("handle reorgs"); } else { - self.l1_tip = block_num; + self.l1_tip = BlockNumHash { number: block_num, hash: block.header.hash }; // upon a new tip, prune the reorg cache for all blocks that have been finalized, // as they are no longer candidates for reorgs. @@ -220,7 +226,10 @@ impl DriverContext for StandaloneHeraContext { Some(ChainNotification::New { new_blocks: Blocks::from(block) }) } - fn send_processed_tip_event(&mut self, tip: BlockNumber) -> Result<(), SendError> { + fn send_processed_tip_event( + &mut self, + tip: BlockNumHash, + ) -> Result<(), SendError> { self.processed_tip = tip; Ok(()) } @@ -303,7 +312,7 @@ mod tests { // Simulate receiving a new block that should trigger pruning let new_block = create_mock_block(101); - ctx.l1_tip = 101; + ctx.l1_tip = BlockNumHash { number: 101, ..Default::default() }; ctx.reorg_cache.entry(101).or_default().insert(new_block.header.hash, new_block.clone()); // Manually call the pruning logic @@ -322,7 +331,8 @@ mod tests { let mut ctx = StandaloneHeraContext::with_defaults(rx, handle); // Send a processed tip event - let result = ctx.send_processed_tip_event(100); + let result = + ctx.send_processed_tip_event(BlockNumHash { number: 100, ..Default::default() }); assert!(result.is_ok()); } diff --git a/crates/rollup/src/driver/cursor.rs b/crates/rollup/src/driver/cursor.rs index f3f68b6..ddb96ad 100644 --- a/crates/rollup/src/driver/cursor.rs +++ b/crates/rollup/src/driver/cursor.rs @@ -68,13 +68,13 @@ impl SyncCursor { /// beginning of the channel. /// /// Returns the (L2 block info, L1 origin block info) tuple for the new cursor state. - pub fn reset(&mut self, fork_block: u64) -> (BlockInfo, BlockInfo) { + pub fn reset(&mut self, fork_block: u64) -> (L2BlockInfo, BlockInfo) { let channel_start = fork_block - self.channel_timeout; match self.l1_origin_to_l2_blocks.get(&channel_start) { Some(l2_safe_tip) => { // The channel start block is in the cache, we can use it to reset the cursor. - (l2_safe_tip.block_info, self.l1_origin_block_info[&channel_start]) + (*l2_safe_tip, self.l1_origin_block_info[&channel_start]) } None => { // If the channel start block is not in the cache, we reset the cursor @@ -85,7 +85,7 @@ impl SyncCursor { .next_back() .expect("walked back to genesis without finding anchor origin block"); - (l2_known_tip.block_info, self.l1_origin_block_info[last_l1_known_tip]) + (*l2_known_tip, self.l1_origin_block_info[last_l1_known_tip]) } } } diff --git a/crates/rollup/src/driver/mod.rs b/crates/rollup/src/driver/mod.rs index 34b845c..877a8f4 100644 --- a/crates/rollup/src/driver/mod.rs +++ b/crates/rollup/src/driver/mod.rs @@ -1,15 +1,17 @@ //! Rollup Node Driver +use alloy::eips::eip1898::BlockNumHash; use std::{fmt::Debug, sync::Arc}; use eyre::{bail, eyre, Result}; use kona_derive::{ - pipeline::{StepResult, Pipeline}, errors::{PipelineError, PipelineErrorKind}, - traits::BlobProvider, + pipeline::{Pipeline, StepResult}, + traits::{BlobProvider, ResetSignal, SignalReceiver}, }; use kona_providers::{ChainProvider, L2ChainProvider}; use kona_providers_alloy::{AlloyChainProvider, AlloyL2ChainProvider, OnlineBlobProviderBuilder}; +use kona_providers_local::{DurableBlobProvider, InMemoryChainProvider, LayeredBlobProvider}; use op_alloy_genesis::RollupConfig; use op_alloy_protocol::{BlockInfo, L2BlockInfo}; use reth::rpc::types::engine::JwtSecret; @@ -129,15 +131,17 @@ where if let Some(new_chain) = notification.new_chain() { let tip = new_chain.tip(); - if let Err(err) = self.ctx.send_processed_tip_event(tip) { + if let Err(err) = self.ctx.send_processed_tip_event(BlockNumHash { + number: tip, + ..Default::default() + }) { bail!("Failed to send processed tip event: {:?}", err); } if tip >= self.cfg.genesis.l1.number { break Ok(()); - } else { - debug!("Chain not yet synced to rollup genesis. L1 block number: {}", tip); } + debug!("Chain not yet synced to rollup genesis. L1 block number: {}", tip); } } } @@ -253,8 +257,18 @@ where // and reset the cursor and pipeline to it. let (l2_safe_tip, l2_safe_tip_l1_origin) = self.cursor.reset(fork_block); - warn!("Reverting derivation pipeline to L2 block: {}", l2_safe_tip.number); - if let Err(e) = pipeline.reset(l2_safe_tip, l2_safe_tip_l1_origin).await { + warn!("Reverting derivation pipeline to L2 block: {}", l2_safe_tip.block_info.number); + if let Err(e) = pipeline + .signal( + ResetSignal { + l1_origin: l2_safe_tip_l1_origin, + l2_safe_head: l2_safe_tip, + ..Default::default() + } + .signal(), + ) + .await + { bail!("Failed to reset pipeline: {:?}", e); } } @@ -262,7 +276,10 @@ where if let Some(new_chain) = notification.new_chain() { let tip = new_chain.tip(); - if let Err(err) = self.ctx.send_processed_tip_event(tip) { + if let Err(err) = self + .ctx + .send_processed_tip_event(BlockNumHash { number: tip, ..Default::default() }) + { bail!("Failed to send processed tip event: {:?}", err); } } diff --git a/crates/rollup/src/pipeline.rs b/crates/rollup/src/pipeline.rs index 62af063..7ea6ac3 100644 --- a/crates/rollup/src/pipeline.rs +++ b/crates/rollup/src/pipeline.rs @@ -7,8 +7,8 @@ use kona_derive::{ pipeline::{DerivationPipeline, PipelineBuilder}, sources::EthereumDataSource, stages::{ - AttributesQueue, BatchQueue, ChannelBank, ChannelReader, FrameQueue, L1Retrieval, - L1Traversal, + AttributesQueue, BatchQueue, BatchStream, ChannelProvider, ChannelReader, FrameQueue, + L1Retrieval, L1Traversal, }, traits::BlobProvider, }; @@ -24,7 +24,7 @@ type L1FrameQueue = FrameQueue, L /// A concrete [NextAttributes](kona_derive::traits::NextAttributes) stage implementation that /// accepts batches from the [BatchQueue] stage and transforms them into payload attributes. type L1AttributesQueue = AttributesQueue< - BatchQueue>>, L2CP>, + BatchQueue>>, L2CP>, L2CP>, StatefulAttributesBuilder, >; @@ -52,7 +52,7 @@ where BP: BlobProvider + Send + Sync + Clone + Debug, { let dap = EthereumDataSource::new(chain_provider.clone(), blob_provider.clone(), &cfg.clone()); - let attributes = StatefulAttributesBuilder::new( + let builder = StatefulAttributesBuilder::new( cfg.clone(), l2_chain_provider.clone(), chain_provider.clone(), @@ -63,7 +63,7 @@ where .dap_source(dap) .l2_chain_provider(l2_chain_provider) .chain_provider(chain_provider) - .builder(attributes) + .builder(builder) .origin(origin) .build() } diff --git a/crates/rollup/src/validator.rs b/crates/rollup/src/validator.rs index a98f62c..5b6862a 100644 --- a/crates/rollup/src/validator.rs +++ b/crates/rollup/src/validator.rs @@ -105,7 +105,7 @@ impl TrustedValidator { }, transactions: Some(transactions), no_tx_pool: Some(true), - gas_limit: Some(header.gas_limit as u64), + gas_limit: Some(header.gas_limit), eip_1559_params: None, // TODO: fix this }) } From af0c253faba5e15c0bf24e898f19140f7b8dc796 Mon Sep 17 00:00:00 2001 From: refcell Date: Wed, 16 Oct 2024 15:12:57 -0400 Subject: [PATCH 5/5] fixes --- crates/rollup/src/validator.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/rollup/src/validator.rs b/crates/rollup/src/validator.rs index 5b6862a..01cf0b1 100644 --- a/crates/rollup/src/validator.rs +++ b/crates/rollup/src/validator.rs @@ -27,14 +27,14 @@ use url::Url; /// A trait that defines the interface for validating newly derived L2 attributes. #[async_trait] pub trait AttributesValidator: Debug + Send { - /// Validates the given [`OptimismAttributesWithParent`] and returns true + /// Validates the given [`OpAttributesWithParent`] and returns true /// if the attributes are valid, false otherwise. async fn validate(&self, attributes: &OpAttributesWithParent) -> Result; } /// TrustedValidator /// -/// Validates the [`OptimismAttributesWithParent`] by fetching the associated L2 block from +/// Validates the [`OpAttributesWithParent`] by fetching the associated L2 block from /// a trusted L2 RPC and constructing the L2 Attributes from the block. #[derive(Debug, Clone)] pub struct TrustedValidator { @@ -129,7 +129,7 @@ impl AttributesValidator for TrustedValidator { /// EngineApiValidator /// -/// Validates the [`OptimismAttributesWithParent`] by sending the attributes to an L2 engine API. +/// Validates the [`OpAttributesWithParent`] by sending the attributes to an L2 engine API. /// The engine API will return a `VALID` or `INVALID` response. #[derive(Debug, Clone)] pub struct EngineApiValidator {