From bf7e78ce62f11a853cb25966b847699dd3a5851c Mon Sep 17 00:00:00 2001 From: nicolas <48695862+merklefruit@users.noreply.github.com> Date: Sun, 20 Oct 2024 13:39:49 +0200 Subject: [PATCH 1/4] feat: cleanup + update deps + rm kona-primitives --- Cargo.lock | 855 +++++++++--------- Cargo.toml | 70 +- bin/op-rs/src/main.rs | 2 +- crates/providers-local/Cargo.toml | 1 - crates/providers-local/src/blob_provider.rs | 11 +- crates/providers-local/src/chain_provider.rs | 29 +- crates/rollup/Cargo.toml | 2 +- crates/rollup/src/driver/context/exex.rs | 15 +- crates/rollup/src/driver/context/mod.rs | 173 +++- .../rollup/src/driver/context/standalone.rs | 64 +- crates/rollup/src/driver/mod.rs | 47 +- crates/rollup/src/engine.rs | 2 +- crates/rollup/src/validator.rs | 2 +- 13 files changed, 668 insertions(+), 605 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 36b9105..b1fb54b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -97,9 +97,9 @@ checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "alloy-chains" -version = "0.1.39" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "742b81ecb16cc5e9c029d55257cc8d9d5f9409f6384b65d996e583ad62a8c831" +checksum = "d4932d790c723181807738cf1ac68198ab581cd699545b155601332541ee47bd" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -110,9 +110,9 @@ dependencies = [ [[package]] name = "alloy-consensus" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" +checksum = "42642aed67f938363d9c7543e5ca4163cfb4205d9ec15fe933dc4e865d2932dd" dependencies = [ "alloy-eips", "alloy-primitives", @@ -159,9 +159,9 @@ dependencies = [ [[package]] name = "alloy-eip7702" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" +checksum = "eeffd2590ce780ddfaa9d0ae340eb2b4e08627650c4676eef537cef0b4bf535d" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -174,9 +174,9 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" +checksum = "9fbc52a30df46f9831ed74557dfad0d94b12420393662a8b9ef90e2d6c8cb4b0" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -195,9 +195,9 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" +checksum = "0787d1688b9806290313cc335d416cc7ee39b11e3245f3d218544c62572d92ba" dependencies = [ "alloy-primitives", "alloy-serde", @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8fa8a1a3c4cbd221f2b8e3693aeb328fca79a757fe556ed08e47bbbc2a70db7" +checksum = "d55a16a5f9ca498a217c060414bcd1c43e934235dc8058b31b87dcd69ff4f105" dependencies = [ "alloy-primitives", "alloy-sol-types", @@ -232,9 +232,9 @@ dependencies = [ [[package]] name = "alloy-network" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fa23a6a9d612b52e402c995f2d582c25165ec03ac6edf64c861a76bc5b87cd" +checksum = "3d236a8c3e1d5adc09b1b63c81815fc9b757d9a4ba9482cc899f9679b55dd437" dependencies = [ "alloy-consensus", "alloy-eips", @@ -253,9 +253,9 @@ dependencies = [ [[package]] name = "alloy-network-primitives" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "801492711d4392b2ccf5fc0bc69e299fa1aab15167d74dcaa9aab96a54f684bd" +checksum = "cd15a0990fa8a56d85a42d6a689719aa4eebf5e2f1a5c5354658c0bfc52cac9a" dependencies = [ "alloy-consensus", "alloy-eips", @@ -298,9 +298,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcfaa4ffec0af04e3555686b8aacbcdf7d13638133a0672749209069750f78a6" +checksum = "316f522bb6f9ac3805132112197957013b570e20cfdad058e8339dae6030c849" dependencies = [ "alloy-chains", "alloy-consensus", @@ -323,21 +323,24 @@ dependencies = [ "futures", "futures-utils-wasm", "lru", + "parking_lot 0.12.3", "pin-project", "reqwest", + "schnellru", "serde", "serde_json", "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-pubsub" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f32cef487122ae75c91eb50154c70801d71fabdb976fec6c49e0af5e6486ab15" +checksum = "222cd9b17b1c5ad48de51a88ffbdb17f17145170288f22662f80ac88739125e6" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -376,9 +379,9 @@ dependencies = [ [[package]] name = "alloy-rpc-client" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "370143ed581aace6e663342d21d209c6b2e34ee6142f7d6675adb518deeaf0dc" +checksum = "5b2ab59712c594c9624aaa69e38e4d38f180cb569f1fa46cdaf8c21fd50793e5" dependencies = [ "alloy-json-rpc", "alloy-primitives", @@ -397,13 +400,14 @@ dependencies = [ "tower 0.5.1", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-rpc-types" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ffc534b7919e18f35e3aa1f507b6f3d9d92ec298463a9f6beaac112809d8d06" +checksum = "ba21284319e12d053baa204d438db6c1577aedd94c1298e4becefdac1f9cec87" dependencies = [ "alloy-primitives", "alloy-rpc-types-beacon", @@ -415,9 +419,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-admin" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb520ed46cc5b7d8c014a73fdd77b6a310383a2a5c0a5ae3c9b8055881f062b7" +checksum = "416cc9f391d0b876c4c8da85f7131e771a88a55b917cc9a35e1724d9409e3b1c" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -427,9 +431,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-anvil" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d780adaa5d95b07ad92006b2feb68ecfa7e2015f7d5976ceaac4c906c73ebd07" +checksum = "ba40bea86c3102b9ed9b3be579e32e0b3e54e766248d873de5fc0437238c8df2" dependencies = [ "alloy-primitives", "alloy-serde", @@ -438,9 +442,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-beacon" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8dc5980fe30203d698627cddb5f0cedc57f900c8b5e1229c8b9448e37acb4a" +checksum = "b535781fe224c101c3d957b514cb9f438d165ff0280e5c0b2f87a0d9a2950593" dependencies = [ "alloy-eips", "alloy-primitives", @@ -454,9 +458,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-debug" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59d8f8c5bfb160081a772f1f68eb9a37e8929c4ef74e5d01f5b78c2b645a5c5e" +checksum = "4303deacf4cbf12ed4431a5a1bbc3284f0defb4b8b72d9aa2b888656cc5ae657" dependencies = [ "alloy-primitives", "serde", @@ -464,9 +468,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0285c4c09f838ab830048b780d7f4a4f460f309aa1194bb049843309524c64c" +checksum = "44848fced3b42260b9cb61f22102246636dfe5a2d0132f8d10a617df3cb1a74b" dependencies = [ "alloy-consensus", "alloy-eips", @@ -485,9 +489,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413f4aa3ccf2c3e4234a047c5fa4727916d7daf25a89f9b765df0ba09784fd87" +checksum = "35894711990019fafff0012b82b9176cbb744516eb2a9bbe6b8e5cae522163ee" dependencies = [ "alloy-consensus", "alloy-eips", @@ -505,9 +509,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-mev" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cec23ce56c869eec5f6b6fd6a8a92b5aa0cfaf8d7be3a96502e537554dc7430" +checksum = "cac6250cad380a005ecb5ffc6d2facf03df0e72628d819a63dd8c3ade7a766ff" dependencies = [ "alloy-eips", "alloy-primitives", @@ -518,9 +522,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-trace" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "017cad3e5793c5613588c1f9732bcbad77e820ba7d0feaba3527749f856fdbc5" +checksum = "f568c5624881896d8a25e19acbdcbabadd8df339427ea2f10b2ee447d57c4509" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -532,9 +536,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-txpool" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b230e321c416be7f50530159392b4c41a45596d40d97e185575bcd0b545e521" +checksum = "d4a37d2e1ed9b7daf20ad0b3e0092613cbae46737e0e988b23caa556c7067ce6" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -544,9 +548,9 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dff0ab1cdd43ca001e324dc27ee0e8606bd2161d6623c63e0e0b8c4dfc13600" +checksum = "2843c195675f06b29c09a4315cccdc233ab5bdc7c0a3775909f9f0cab5e9ae0f" dependencies = [ "alloy-primitives", "arbitrary", @@ -556,9 +560,9 @@ dependencies = [ [[package]] name = "alloy-signer" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd4e0ad79c81a27ca659be5d176ca12399141659fef2bcbfdc848da478f4504" +checksum = "88b2a00d9803dfef99963303ffe41a7bf2221f3342f0a503d6741a9f4a18e5e5" dependencies = [ "alloy-primitives", "async-trait", @@ -570,9 +574,9 @@ dependencies = [ [[package]] name = "alloy-signer-local" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "494e0a256f3e99f2426f994bcd1be312c02cb8f88260088dacb33a8b8936475f" +checksum = "5a2505d4f8c98dcae86152d58d549cb4bcf953f8352fca903410e0a0ef535571" dependencies = [ "alloy-consensus", "alloy-network", @@ -656,9 +660,9 @@ dependencies = [ [[package]] name = "alloy-transport" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ac3e97dad3d31770db0fc89bd6a63b789fbae78963086733f960cf32c483904" +checksum = "9dc2c8f6b8c227ef0398f702d954c4ab572c2ead3c1ed4a5157aa1cbaf959747" dependencies = [ "alloy-json-rpc", "base64 0.22.1", @@ -671,13 +675,14 @@ dependencies = [ "tower 0.5.1", "tracing", "url", + "wasmtimer", ] [[package]] name = "alloy-transport-http" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b367dcccada5b28987c2296717ee04b9a5637aacd78eacb1726ef211678b5212" +checksum = "dd328e990d57f4c4e63899fb2c26877597d6503f8e0022a3d71b2d753ecbfc0c" dependencies = [ "alloy-json-rpc", "alloy-rpc-types-engine", @@ -695,9 +700,9 @@ dependencies = [ [[package]] name = "alloy-transport-ipc" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b90cf9cde7f2fce617da52768ee28f522264b282d148384a4ca0ea85af04fa3a" +checksum = "89aea26aaf1d67904a7ff95ec4a24ddd5e7d419a6945f641b885962d7c2803e2" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -714,9 +719,9 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.4.2" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7153b88690de6a50bba81c11e1d706bc41dbb90126d607404d60b763f6a3947f" +checksum = "e222e950ecc4ea12fbfb524b9a2275cac2cd5f57c8ce25bcaf1bd3ff80dd8fc8" dependencies = [ "alloy-pubsub", "alloy-transport", @@ -732,12 +737,13 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.6.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9703ce68b97f8faae6f7739d1e003fc97621b856953cbcdbb2b515743f23288" +checksum = "cdd7f8b3a7c65ca09b3c7bdd7c7d72d7423d026f5247eda96af53d24e58315c1" dependencies = [ "alloy-primitives", "alloy-rlp", + "arrayvec", "derive_more", "nybbles", "serde", @@ -811,9 +817,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "37bf3594c4c988a53154954629820791dde498571819ae4ca50ca811e060cc95" [[package]] name = "aquamarine" @@ -982,6 +988,9 @@ name = "arrayvec" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] [[package]] name = "asn1-rs" @@ -1698,9 +1707,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.30" +version = "1.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" +checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" dependencies = [ "jobserver", "libc", @@ -2017,6 +2026,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "critical-section" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" + [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -3580,7 +3595,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core 0.51.1", + "windows-core 0.52.0", ] [[package]] @@ -4262,7 +4277,7 @@ dependencies = [ [[package]] name = "kona-derive" version = "0.0.3" -source = "git+https://github.com/anton-rs/kona?branch=main#6b6a8816690831ba97462c9e4585a3d61a30af88" +source = "git+https://github.com/anton-rs/kona?branch=main#2991b08121c2dcdeab9fa8e95e6847126191f280" dependencies = [ "alloc-no-stdlib", "alloy-consensus", @@ -4272,68 +4287,53 @@ dependencies = [ "alloy-rpc-types-engine", "async-trait", "brotli", - "kona-primitives", "kona-providers", "miniz_oxide", - "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", + "op-alloy-consensus", + "op-alloy-genesis", + "op-alloy-protocol", + "op-alloy-rpc-types-engine", "serde", "thiserror 1.0.64 (git+https://github.com/quartiq/thiserror?branch=no-std)", "tracing", "unsigned-varint 0.8.0", ] -[[package]] -name = "kona-primitives" -version = "0.0.2" -source = "git+https://github.com/anton-rs/kona?branch=main#6b6a8816690831ba97462c9e4585a3d61a30af88" -dependencies = [ - "alloy-eips", - "alloy-primitives", - "anyhow", - "c-kzg", - "revm", - "serde", - "sha2 0.10.8", - "thiserror 1.0.64 (git+https://github.com/quartiq/thiserror?branch=no-std)", - "tracing", -] - [[package]] name = "kona-providers" version = "0.0.1" -source = "git+https://github.com/anton-rs/kona?branch=main#6b6a8816690831ba97462c9e4585a3d61a30af88" +source = "git+https://github.com/anton-rs/kona?branch=main#2991b08121c2dcdeab9fa8e95e6847126191f280" dependencies = [ "alloy-consensus", "alloy-primitives", "async-trait", - "op-alloy-consensus 0.4.0", - "op-alloy-genesis 0.4.0", - "op-alloy-protocol 0.4.0", + "op-alloy-consensus", + "op-alloy-genesis", + "op-alloy-protocol", ] [[package]] name = "kona-providers-alloy" version = "0.0.1" -source = "git+https://github.com/anton-rs/kona?branch=main#6b6a8816690831ba97462c9e4585a3d61a30af88" +source = "git+https://github.com/anton-rs/kona?branch=main#2991b08121c2dcdeab9fa8e95e6847126191f280" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-provider", "alloy-rlp", + "alloy-rpc-types-beacon", + "alloy-serde", "alloy-transport", "async-trait", "kona-derive", - "kona-primitives", "kona-providers", "lru", - "op-alloy-consensus 0.4.0", - "op-alloy-genesis 0.4.0", - "op-alloy-protocol 0.4.0", + "op-alloy-consensus", + "op-alloy-genesis", + "op-alloy-protocol", "reqwest", + "serde", "tracing", ] @@ -4350,10 +4350,9 @@ dependencies = [ "eyre", "hashbrown 0.15.0", "kona-derive", - "kona-primitives", "kona-providers", "kona-providers-alloy", - "op-alloy-protocol 0.4.0", + "op-alloy-protocol", "parking_lot 0.12.3", "reth", "tracing", @@ -5536,58 +5535,32 @@ name = "once_cell" version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - -[[package]] -name = "op-alloy-consensus" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f7f318f885db6e1455370ca91f74b7faed152c8142f6418f0936d606e582ff" dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "arbitrary", - "derive_more", - "serde", - "serde_with", - "spin 0.9.8", + "critical-section", + "portable-atomic", ] [[package]] name = "op-alloy-consensus" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", "alloy-serde", + "arbitrary", "derive_more", "serde", + "serde_with", "spin 0.9.8", ] [[package]] name = "op-alloy-genesis" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8215c87b74d2fbbaff0fd2887868a8341df33a3c495ee01f813e5ddd5be9c46" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-sol-types", - "serde", - "serde_repr", -] - -[[package]] -name = "op-alloy-genesis" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5599,25 +5572,8 @@ dependencies = [ [[package]] name = "op-alloy-protocol" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa5c397fbe35e07f9c95a571440ca2e90df754e198496d82ff4127de00b89dd9" -dependencies = [ - "alloy-consensus", - "alloy-eips", - "alloy-primitives", - "alloy-rlp", - "alloy-serde", - "derive_more", - "op-alloy-consensus 0.3.3", - "op-alloy-genesis 0.3.3", - "serde", -] - -[[package]] -name = "op-alloy-protocol" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5625,15 +5581,15 @@ dependencies = [ "alloy-rlp", "alloy-serde", "derive_more", - "op-alloy-consensus 0.4.0", - "op-alloy-genesis 0.4.0", + "op-alloy-consensus", + "op-alloy-genesis", "serde", ] [[package]] name = "op-alloy-provider" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-network", "alloy-primitives", @@ -5641,13 +5597,13 @@ dependencies = [ "alloy-rpc-types-engine", "alloy-transport", "async-trait", - "op-alloy-rpc-types-engine 0.4.0", + "op-alloy-rpc-types-engine", ] [[package]] name = "op-alloy-rpc-jsonrpsee" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-eips", "alloy-primitives", @@ -5657,8 +5613,8 @@ dependencies = [ [[package]] name = "op-alloy-rpc-types" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-consensus", "alloy-eips", @@ -5666,36 +5622,22 @@ dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", - "op-alloy-consensus 0.4.0", + "op-alloy-consensus", "serde", "serde_json", ] [[package]] name = "op-alloy-rpc-types-engine" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041122e20b76644cc690bba688671eecdc4626e6384a76eb740535d6ddcef14" -dependencies = [ - "alloy-primitives", - "alloy-rpc-types-engine", - "alloy-serde", - "derive_more", - "op-alloy-protocol 0.3.3", - "serde", -] - -[[package]] -name = "op-alloy-rpc-types-engine" -version = "0.4.0" -source = "git+https://github.com/alloy-rs/op-alloy?branch=main#9fd8a65e9b8c535f09fdde6f3997cc94637bd292" +version = "0.5.0" +source = "git+https://github.com/alloy-rs/op-alloy?branch=main#6675ced9bff1f9166d39df6f01d554d71ac52a36" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", "alloy-serde", "derive_more", "ethereum_ssz", - "op-alloy-protocol 0.4.0", + "op-alloy-protocol", "serde", "snap", ] @@ -5715,7 +5657,7 @@ dependencies = [ "lazy_static", "libp2p", "libp2p-identity", - "op-alloy-rpc-types-engine 0.4.0", + "op-alloy-rpc-types-engine", "openssl", "snap", "tokio", @@ -6668,8 +6610,8 @@ dependencies = [ [[package]] name = "reth" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-eips", @@ -6697,6 +6639,7 @@ dependencies = [ "reth-downloaders", "reth-engine-util", "reth-errors", + "reth-ethereum-cli", "reth-ethereum-payload-builder", "reth-evm", "reth-execution-types", @@ -6739,9 +6682,10 @@ dependencies = [ [[package]] name = "reth-auto-seal-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-eips", "alloy-primitives", "alloy-rpc-types-engine", "futures-util", @@ -6769,9 +6713,10 @@ dependencies = [ [[package]] name = "reth-basic-payload-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-primitives", "alloy-rlp", "futures-core", @@ -6793,8 +6738,8 @@ dependencies = [ [[package]] name = "reth-beacon-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -6827,8 +6772,8 @@ dependencies = [ [[package]] name = "reth-blockchain-tree" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6860,8 +6805,8 @@ dependencies = [ [[package]] name = "reth-blockchain-tree-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "reth-consensus", @@ -6873,8 +6818,8 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -6897,14 +6842,14 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-chains", + "alloy-consensus", "alloy-eips", "alloy-genesis", "alloy-primitives", - "alloy-trie", "auto_impl", "derive_more", "once_cell", @@ -6917,18 +6862,22 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-genesis", "clap", "eyre", "reth-cli-runner", + "reth-db", + "serde_json", + "shellexpand", ] [[package]] name = "reth-cli-commands" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "ahash", "alloy-eips", @@ -6956,6 +6905,7 @@ dependencies = [ "reth-downloaders", "reth-ecies", "reth-eth-wire", + "reth-ethereum-cli", "reth-evm", "reth-exex", "reth-fs-util", @@ -6984,8 +6934,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "reth-tasks", "tokio", @@ -6994,8 +6944,8 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7011,8 +6961,8 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7026,8 +6976,8 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "convert_case", "proc-macro2", @@ -7037,8 +6987,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "eyre", "humantime-serde", @@ -7051,9 +7001,10 @@ dependencies = [ [[package]] name = "reth-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-eips", "alloy-primitives", "auto_impl", "derive_more", @@ -7062,9 +7013,10 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -7074,8 +7026,8 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-eips", @@ -7098,8 +7050,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "bytes", @@ -7129,8 +7081,8 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -7152,8 +7104,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-genesis", "alloy-primitives", @@ -7180,8 +7132,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "bytes", @@ -7193,8 +7145,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7217,8 +7169,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7241,8 +7193,8 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "data-encoding", @@ -7263,8 +7215,8 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7292,8 +7244,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "aes", "alloy-primitives", @@ -7321,10 +7273,40 @@ dependencies = [ "typenum", ] +[[package]] +name = "reth-engine-local" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" +dependencies = [ + "alloy-primitives", + "alloy-rpc-types-engine", + "eyre", + "futures-util", + "reth-beacon-consensus", + "reth-chainspec", + "reth-consensus", + "reth-engine-primitives", + "reth-engine-service", + "reth-engine-tree", + "reth-ethereum-engine-primitives", + "reth-evm", + "reth-payload-builder", + "reth-payload-primitives", + "reth-payload-validator", + "reth-provider", + "reth-prune", + "reth-rpc-types-compat", + "reth-stages-api", + "reth-transaction-pool", + "tokio", + "tokio-stream", + "tracing", +] + [[package]] name = "reth-engine-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "reth-execution-types", @@ -7336,12 +7318,13 @@ dependencies = [ [[package]] name = "reth-engine-service" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "futures", "pin-project", "reth-beacon-consensus", + "reth-chainspec", "reth-consensus", "reth-engine-tree", "reth-evm", @@ -7358,8 +7341,8 @@ dependencies = [ [[package]] name = "reth-engine-tree" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7395,9 +7378,10 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-primitives", "alloy-rpc-types-engine", "eyre", @@ -7426,8 +7410,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "reth-blockchain-tree-api", "reth-consensus", @@ -7439,8 +7423,8 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7465,12 +7449,11 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-chains", "alloy-eips", - "alloy-genesis", "alloy-primitives", "alloy-rlp", "bytes", @@ -7481,11 +7464,23 @@ dependencies = [ "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "reth-ethereum-cli" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" +dependencies = [ + "eyre", + "reth-chainspec", + "reth-cli", +] + [[package]] name = "reth-ethereum-consensus" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "reth-chainspec", "reth-consensus", @@ -7496,8 +7491,8 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7515,8 +7510,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-chains", "alloy-primitives", @@ -7532,9 +7527,11 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", + "alloy-eips", "alloy-primitives", "reth-basic-payload-builder", "reth-chain-state", @@ -7557,8 +7554,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "rayon", "reth-db-api", @@ -7567,8 +7564,8 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7576,12 +7573,14 @@ dependencies = [ "futures-util", "metrics 0.23.0", "reth-chainspec", + "reth-consensus", "reth-execution-errors", "reth-execution-types", "reth-metrics", "reth-primitives", "reth-primitives-traits", "reth-prune-types", + "reth-revm", "reth-storage-errors", "revm", "revm-primitives", @@ -7589,13 +7588,15 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-sol-types", "reth-chainspec", + "reth-consensus", "reth-ethereum-consensus", "reth-ethereum-forks", "reth-evm", @@ -7608,8 +7609,8 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7624,8 +7625,8 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7639,8 +7640,8 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7675,8 +7676,8 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7688,8 +7689,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "serde", "serde_json", @@ -7698,8 +7699,8 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7723,8 +7724,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "async-trait", "bytes", @@ -7744,8 +7745,8 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "bitflags 2.6.0", "byteorder", @@ -7761,8 +7762,8 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "bindgen 0.70.1", "cc", @@ -7770,8 +7771,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "futures", "metrics 0.23.0", @@ -7782,16 +7783,16 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", ] [[package]] name = "reth-net-nat" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "futures-util", "if-addrs 0.13.3", @@ -7804,8 +7805,8 @@ dependencies = [ [[package]] name = "reth-network" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7854,8 +7855,8 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types-admin", @@ -7877,8 +7878,8 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -7897,8 +7898,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7912,8 +7913,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "humantime-serde", "reth-ethereum-forks", @@ -7926,8 +7927,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "anyhow", "bincode", @@ -7943,12 +7944,17 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-rpc-types-engine", + "eyre", + "reth-beacon-consensus", + "reth-consensus", "reth-engine-primitives", "reth-evm", "reth-network-api", + "reth-node-core", "reth-node-types", "reth-payload-builder", "reth-payload-primitives", @@ -7961,8 +7967,8 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -7984,6 +7990,7 @@ dependencies = [ "reth-db-api", "reth-db-common", "reth-downloaders", + "reth-engine-local", "reth-engine-service", "reth-engine-tree", "reth-engine-util", @@ -8024,10 +8031,10 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ - "alloy-genesis", + "alloy-consensus", "alloy-primitives", "alloy-rpc-types-engine", "clap", @@ -8039,14 +8046,12 @@ dependencies = [ "humantime", "rand", "reth-chainspec", - "reth-cli", "reth-cli-util", "reth-config", "reth-consensus-common", "reth-db", "reth-discv4", "reth-discv5", - "reth-fs-util", "reth-net-nat", "reth-network", "reth-network-p2p", @@ -8065,7 +8070,6 @@ dependencies = [ "reth-transaction-pool", "secp256k1", "serde", - "serde_json", "shellexpand", "strum", "thiserror 1.0.64 (registry+https://github.com/rust-lang/crates.io-index)", @@ -8076,8 +8080,8 @@ dependencies = [ [[package]] name = "reth-node-ethereum" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "eyre", "reth-auto-seal-consensus", @@ -8094,15 +8098,17 @@ dependencies = [ "reth-payload-builder", "reth-primitives", "reth-provider", + "reth-revm", "reth-rpc", "reth-tracing", "reth-transaction-pool", + "revm", ] [[package]] name = "reth-node-events" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -8124,8 +8130,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "eyre", "http 1.1.0", @@ -8148,18 +8154,20 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "reth-chainspec", "reth-db-api", "reth-engine-primitives", + "reth-primitives", + "reth-primitives-traits", ] [[package]] name = "reth-payload-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types", @@ -8178,13 +8186,13 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types", "async-trait", - "op-alloy-rpc-types-engine 0.3.3", + "op-alloy-rpc-types-engine", "pin-project", "reth-chain-state", "reth-chainspec", @@ -8200,9 +8208,11 @@ dependencies = [ [[package]] name = "reth-payload-validator" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-eips", + "alloy-primitives", "alloy-rpc-types", "reth-chainspec", "reth-primitives", @@ -8211,8 +8221,8 @@ dependencies = [ [[package]] name = "reth-primitives" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8224,7 +8234,7 @@ dependencies = [ "k256", "modular-bitfield", "once_cell", - "op-alloy-consensus 0.3.3", + "op-alloy-consensus", "rayon", "reth-codecs", "reth-ethereum-forks", @@ -8240,8 +8250,8 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8261,8 +8271,8 @@ dependencies = [ [[package]] name = "reth-provider" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8303,8 +8313,8 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "itertools 0.13.0", @@ -8329,8 +8339,8 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "bytes", @@ -8343,9 +8353,10 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-eips", "alloy-primitives", "reth-chainspec", "reth-consensus-common", @@ -8359,8 +8370,8 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -8425,8 +8436,8 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-json-rpc", @@ -8451,8 +8462,8 @@ dependencies = [ [[package]] name = "reth-rpc-builder" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-network", "alloy-rpc-types", @@ -8487,8 +8498,8 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8518,9 +8529,10 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-dyn-abi", "alloy-eips", "alloy-json-rpc", @@ -8559,8 +8571,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-eips", @@ -8571,6 +8583,7 @@ dependencies = [ "alloy-sol-types", "derive_more", "futures", + "itertools 0.13.0", "jsonrpsee-core", "jsonrpsee-types", "metrics 0.23.0", @@ -8602,8 +8615,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-rpc-types-engine", "http 1.1.0", @@ -8615,8 +8628,8 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine", @@ -8631,9 +8644,10 @@ dependencies = [ [[package]] name = "reth-rpc-types-compat" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", @@ -8647,8 +8661,8 @@ dependencies = [ [[package]] name = "reth-stages" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "bincode", @@ -8683,8 +8697,8 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "aquamarine", @@ -8709,8 +8723,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "bytes", @@ -8722,8 +8736,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "parking_lot 0.12.3", @@ -8744,8 +8758,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "clap", @@ -8756,9 +8770,10 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "auto_impl", @@ -8775,8 +8790,8 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-eips", "alloy-primitives", @@ -8788,8 +8803,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "auto_impl", "dyn-clone", @@ -8806,8 +8821,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "tokio", "tokio-stream", @@ -8816,8 +8831,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "clap", "eyre", @@ -8831,9 +8846,10 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-eips", "alloy-primitives", "alloy-rlp", @@ -8865,9 +8881,10 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ + "alloy-consensus", "alloy-primitives", "alloy-rlp", "auto_impl", @@ -8889,8 +8906,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -8909,8 +8926,8 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8934,8 +8951,8 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "1.0.8" -source = "git+https://github.com/paradigmxyz/reth?rev=a846cbd#a846cbdcee94d00ed1b022708f19e8ed20ffbb29" +version = "1.1.0" +source = "git+https://github.com/paradigmxyz/reth?rev=1efa764#1efa764b34f163e70890bbd54eac64ad2b6adcce" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -8957,9 +8974,9 @@ dependencies = [ [[package]] name = "revm" -version = "14.0.3" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "641702b12847f9ed418d552f4fcabe536d867a2c980e96b6e7e25d7b992f929f" +checksum = "34e44692d5736cc44c697a372e507890f8797f06d1541c5f4b9bec594d90fd8a" dependencies = [ "auto_impl", "cfg-if", @@ -8972,9 +8989,9 @@ dependencies = [ [[package]] name = "revm-inspectors" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c44af0bf801f48d25f7baf25cf72aff4c02d610f83b428175228162fef0246" +checksum = "a64e2246ad480167548724eb9c9c66945241b867c7d50894de3ca860c9823a45" dependencies = [ "alloy-primitives", "alloy-rpc-types-eth", @@ -8991,9 +9008,9 @@ dependencies = [ [[package]] name = "revm-interpreter" -version = "10.0.3" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5e14002afae20b5bf1566f22316122f42f57517000e559c55b25bf7a49cba2" +checksum = "6f89940d17d5d077570de1977f52f69049595322e237cb6c754c3d47f668f023" dependencies = [ "revm-primitives", "serde", @@ -9001,9 +9018,9 @@ dependencies = [ [[package]] name = "revm-precompile" -version = "11.0.3" +version = "13.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3198c06247e8d4ad0d1312591edf049b0de4ddffa9fecb625c318fd67db8639b" +checksum = "d8f816aaea3245cbdbe7fdd84955df33597f9322c7912c3e3ba7bc855e03211f" dependencies = [ "aurora-engine-modexp", "blst", @@ -9020,9 +9037,9 @@ dependencies = [ [[package]] name = "revm-primitives" -version = "10.0.0" +version = "12.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f1525851a03aff9a9d6a1d018b414d76252d6802ab54695b27093ecd7e7a101" +checksum = "532411bbde45a46707c1d434dcdc29866cf261c1b748fb01b303ce3b4310b361" dependencies = [ "alloy-eip2930", "alloy-eip7702", @@ -9157,7 +9174,6 @@ dependencies = [ name = "rollup" version = "0.0.0" dependencies = [ - "alloy-consensus", "alloy-eips", "alloy-network", "alloy-primitives", @@ -9165,6 +9181,7 @@ dependencies = [ "alloy-rpc-client", "alloy-rpc-types", "alloy-rpc-types-engine", + "alloy-rpc-types-eth", "alloy-transport", "alloy-transport-http", "async-trait", @@ -9178,10 +9195,10 @@ dependencies = [ "kona-providers-alloy", "kona-providers-local", "metrics-exporter-prometheus 0.16.0", - "op-alloy-genesis 0.4.0", - "op-alloy-protocol 0.4.0", + "op-alloy-genesis", + "op-alloy-protocol", "op-alloy-provider", - "op-alloy-rpc-types-engine 0.4.0", + "op-alloy-rpc-types-engine", "reqwest", "reth", "reth-execution-types", @@ -9601,8 +9618,8 @@ dependencies = [ "alloy-rlp", "eyre", "kona-derive", - "op-alloy-genesis 0.4.0", - "op-alloy-protocol 0.4.0", + "op-alloy-genesis", + "op-alloy-protocol", "op-alloy-rpc-jsonrpsee", "op-alloy-rpc-types", "rand", @@ -9631,9 +9648,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.129" +version = "1.0.131" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2" +checksum = "67d42a0bd4ac281beff598909bb56a86acaf979b84483e1c79c10dcaf98f8cf3" dependencies = [ "indexmap 2.6.0", "itoa", @@ -10038,12 +10055,12 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "superchain" -version = "0.7.1" -source = "git+https://github.com/anton-rs/superchain?branch=main#ade4cfcad120327b4a14e0ae90dedc4c55fba716" +version = "0.8.0" +source = "git+https://github.com/anton-rs/superchain?branch=main#997fbbac38c6d0647cd14b192e40d10bf1dfdfed" dependencies = [ "alloy-primitives", "lazy_static", - "op-alloy-genesis 0.4.0", + "op-alloy-genesis", "serde", "serde_json", ] @@ -10805,12 +10822,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" [[package]] name = "unicode-bidi" @@ -11079,6 +11093,20 @@ version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" +[[package]] +name = "wasmtimer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7ed9d8b15c7fb594d72bfb4b5a276f3d2029333cd93a932f376f5937f6f80ee" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.12.3", + "pin-utils", + "slab", + "wasm-bindgen", +] + [[package]] name = "web-sys" version = "0.3.72" @@ -11196,6 +11224,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.57.0" diff --git a/Cargo.toml b/Cargo.toml index c62e48f..6dcb11a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,6 @@ kona-providers-local = { path = "crates/providers-local" } # Kona kona-derive = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } kona-providers = { 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-providers-alloy = { git = "https://github.com/anton-rs/kona", branch = "main", default-features = true } # Superchain @@ -50,45 +49,46 @@ superchain = { git = "https://github.com/anton-rs/superchain", branch = "main", # Alloy alloy-rlp = { version = "0.3.8", default-features = false } -alloy-eips = { version = "0.4", default-features = false } -alloy-signer = { version = "0.4.2", default-features = false } -alloy-network = { version = "0.4.2", default-features = false } -alloy-provider = { version = "0.4.2", default-features = false } -alloy-contract = { version = "0.4.2", default-features = false } -alloy-transport = { version = "0.4.2", default-features = false } -alloy-rpc-types = { version = "0.4.2", default-features = false } -alloy-consensus = { version = "0.4.2", default-features = false } +alloy-eips = { version = "0.5", default-features = false } +alloy-signer = { version = "0.5.2", default-features = false } +alloy-network = { version = "0.5.2", default-features = false } +alloy-provider = { version = "0.5.2", default-features = false } +alloy-contract = { version = "0.5.2", default-features = false } +alloy-transport = { version = "0.5.2", default-features = false } +alloy-rpc-types = { version = "0.5.2", default-features = false } +alloy-consensus = { version = "0.5.2", default-features = false } alloy-primitives = { version = "0.8.8", default-features = false } -alloy-rpc-client = { version = "0.4.2", default-features = false } -alloy-transport-http = { version = "0.4.2", default-features = false } -alloy-rpc-types-engine = { version = "0.4.2", default-features = false } +alloy-rpc-client = { version = "0.5.2", default-features = false } +alloy-rpc-types-eth = { version = "0.5.2", default-features = false } +alloy-transport-http = { version = "0.5.2", default-features = false } +alloy-rpc-types-engine = { version = "0.5.2", default-features = false } # Op Alloy -op-alloy-genesis = { version = "0.4.0", default-features = false } -op-alloy-provider = { version = "0.4.0", default-features = false } -op-alloy-protocol = { version = "0.4.0", default-features = false } -op-alloy-consensus = { version = "0.4.0", default-features = false } -op-alloy-rpc-types = { version = "0.4.0", default-features = false } -op-alloy-rpc-jsonrpsee = { version = "0.4.0", default-features = false } -op-alloy-rpc-types-engine = { version = "0.4.0", default-features = false } +op-alloy-genesis = { version = "0.5.0", default-features = false } +op-alloy-provider = { version = "0.5.0", default-features = false } +op-alloy-protocol = { version = "0.5.0", default-features = false } +op-alloy-consensus = { version = "0.5.0", default-features = false } +op-alloy-rpc-types = { version = "0.5.0", default-features = false } +op-alloy-rpc-jsonrpsee = { version = "0.5.0", default-features = false } +op-alloy-rpc-types-engine = { version = "0.5.0", default-features = false } # Reth -reth = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-exex = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-discv5 = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-network-peers = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } -reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "a846cbd" } +reth = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-evm = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-revm = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-exex = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-discv5 = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-tracing = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-provider = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-node-api = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-chainspec = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-primitives = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-network-peers = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-execution-types = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } +reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", rev = "1efa764" } # Tokio tokio = { version = "1.21", default-features = false } diff --git a/bin/op-rs/src/main.rs b/bin/op-rs/src/main.rs index 5952c0b..a7e20f4 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::EthereumChainSpecParser, cli::Cli}; +use reth::{chainspec::EthereumChainSpecParser, cli::Cli}; use reth_node_ethereum::EthereumNode; use tracing::{info, warn}; diff --git a/crates/providers-local/Cargo.toml b/crates/providers-local/Cargo.toml index d2a1ae9..0af9f20 100644 --- a/crates/providers-local/Cargo.toml +++ b/crates/providers-local/Cargo.toml @@ -25,7 +25,6 @@ op-alloy-protocol.workspace = true kona-derive.workspace = true kona-providers.workspace = true kona-providers-alloy.workspace = true -kona-primitives.workspace = true # Reth reth.workspace = true diff --git a/crates/providers-local/src/blob_provider.rs b/crates/providers-local/src/blob_provider.rs index dad8eb5..d080d9b 100644 --- a/crates/providers-local/src/blob_provider.rs +++ b/crates/providers-local/src/blob_provider.rs @@ -7,8 +7,7 @@ use alloy_eips::eip4844::Blob; use alloy_primitives::B256; use async_trait::async_trait; use eyre::{eyre, Result}; -use kona_derive::{errors::BlobProviderError, traits::BlobProvider}; -use kona_primitives::IndexedBlobHash; +use kona_derive::{errors::BlobProviderError, sources::IndexedBlobHash, traits::BlobProvider}; use kona_providers_alloy::{ OnlineBeaconClient, OnlineBlobProviderBuilder, OnlineBlobProviderWithFallback, }; @@ -120,7 +119,7 @@ impl LayeredBlobProvider { &mut self, block_ref: &BlockInfo, blob_hashes: &[IndexedBlobHash], - ) -> Result> { + ) -> Result>> { let locked = self.memory.lock(); let sidecars_for_block = locked @@ -136,7 +135,7 @@ impl LayeredBlobProvider { for sidecar in sidecars_for_block { for (hash, blob) in sidecar.versioned_hashes().zip(&sidecar.blobs) { if requested_hashes.contains(&hash) { - blobs.push(*blob); + blobs.push(Box::new(*blob)); } } } @@ -150,7 +149,7 @@ impl LayeredBlobProvider { &mut self, block_ref: &BlockInfo, blob_hashes: &[IndexedBlobHash], - ) -> Result, BlobProviderError> { + ) -> Result>, BlobProviderError> { self.online.get_blobs(block_ref, blob_hashes).await } } @@ -164,7 +163,7 @@ impl BlobProvider for LayeredBlobProvider { &mut self, block_ref: &BlockInfo, blob_hashes: &[IndexedBlobHash], - ) -> Result, BlobProviderError> { + ) -> Result>, BlobProviderError> { if let Ok(b) = self.memory_blob_load(block_ref, blob_hashes).await { return Ok(b); } diff --git a/crates/providers-local/src/chain_provider.rs b/crates/providers-local/src/chain_provider.rs index e819862..d355413 100644 --- a/crates/providers-local/src/chain_provider.rs +++ b/crates/providers-local/src/chain_provider.rs @@ -105,8 +105,7 @@ impl InMemoryChainProviderInner { /// 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)); + self.hash_to_header.insert(header.hash(), (*header).clone()); } } @@ -223,32 +222,6 @@ impl ChainProvider for InMemoryChainProvider { } } -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); diff --git a/crates/rollup/Cargo.toml b/crates/rollup/Cargo.toml index ce337c5..edf4b6c 100644 --- a/crates/rollup/Cargo.toml +++ b/crates/rollup/Cargo.toml @@ -23,10 +23,10 @@ alloy-provider = { workspace = true, features = ["ipc"] } alloy-transport.workspace = true alloy-transport-http = { workspace = true, features = ["jwt-auth"] } alloy-network.workspace = true -alloy-consensus.workspace = true alloy-rpc-types = { workspace = true, features = ["ssz"] } alloy-rpc-client.workspace = true alloy-rpc-types-engine.workspace = true +alloy-rpc-types-eth.workspace = true # Op Alloy op-alloy-genesis.workspace = true diff --git a/crates/rollup/src/driver/context/exex.rs b/crates/rollup/src/driver/context/exex.rs index a7ab24b..83b2be8 100644 --- a/crates/rollup/src/driver/context/exex.rs +++ b/crates/rollup/src/driver/context/exex.rs @@ -1,10 +1,9 @@ -use alloy_eips::eip1898::BlockNumHash; +use alloy_eips::BlockNumHash; use async_trait::async_trait; use futures::StreamExt; use kona_providers_local::InMemoryChainProvider; use reth_exex::{ExExContext, ExExEvent}; use reth_node_api::FullNodeComponents; -use tokio::sync::mpsc::error::SendError; use crate::driver::{ChainNotification, DriverContext}; @@ -30,7 +29,7 @@ impl ExExHeraContext { #[async_trait] impl DriverContext for ExExHeraContext { async fn recv_notification(&mut self) -> Option { - let exex_notification = self.ctx.notifications.next().await?; + let exex_notification = self.ctx.notifications.next().await?.ok()?; // Commit the new chain to the L1 cache to make it available to the pipeline if let Some(chain) = exex_notification.committed_chain() { @@ -40,10 +39,10 @@ impl DriverContext for ExExHeraContext { Some(ChainNotification::from(exex_notification)) } - fn send_processed_tip_event( - &mut self, - tip: BlockNumHash, - ) -> Result<(), SendError> { - self.ctx.events.send(ExExEvent::FinishedHeight(tip)).map_err(|_| SendError(tip)) + fn send_processed_tip_event(&mut self, tip: BlockNumHash) { + // The only way this unbounded sender can error is if the receiver is dropped. + // For that to happen, the entire ExEx context would be dropped, so we can safely + // ignore the error here. + let _ = self.ctx.events.send(ExExEvent::FinishedHeight(tip)); } } diff --git a/crates/rollup/src/driver/context/mod.rs b/crates/rollup/src/driver/context/mod.rs index 3c44360..a01a3a2 100644 --- a/crates/rollup/src/driver/context/mod.rs +++ b/crates/rollup/src/driver/context/mod.rs @@ -2,17 +2,12 @@ use std::{collections::BTreeMap, sync::Arc}; -use alloy_consensus::TxEnvelope; use alloy_eips::eip1898::BlockNumHash; use alloy_primitives::{BlockNumber, U256}; -use alloy_rpc_types::Block; - +use alloy_rpc_types::{Block, BlockTransactions, Header, Transaction}; use async_trait::async_trait; -use kona_providers_local::reth_to_alloy_tx; -use reth::rpc::types::{BlockTransactions, Header}; use reth_execution_types::Chain; use reth_exex::ExExNotification; -use tokio::sync::mpsc::error::SendError; mod exex; pub use exex::ExExHeraContext; @@ -31,10 +26,7 @@ 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: BlockNumHash, - ) -> Result<(), SendError>; + fn send_processed_tip_event(&mut self, tip: BlockNumHash); } /// A notification representing a chain of blocks that come from an execution client. @@ -74,31 +66,32 @@ impl ChainNotification { /// A collection of blocks that form a chain. #[derive(Debug, Clone, Default)] -pub struct Blocks(Arc>>); +pub struct Blocks(Arc>); impl Blocks { /// Returns the tip of the chain. - pub fn tip(&self) -> BlockNumber { - *self.0.last_key_value().expect("Blocks should have at least one block").0 + pub fn tip(&self) -> BlockNumHash { + let last = self.0.last_key_value().expect("Blocks should have at least one block").1; + BlockNumHash::new(last.header.number, last.header.hash) } /// Returns the block at the fork point of the chain. - pub fn fork_block(&self) -> BlockNumber { + pub fn fork_block_number(&self) -> BlockNumber { let first = self.0.first_key_value().expect("Blocks should have at least one block").0; first.saturating_sub(1) } } -impl From> for Blocks { - fn from(value: Block) -> Self { +impl From for Blocks { + fn from(value: Block) -> Self { let mut blocks = BTreeMap::new(); blocks.insert(value.header.number, value); Self(Arc::new(blocks)) } } -impl From>> for Blocks { - fn from(value: Vec>) -> Self { +impl From> for Blocks { + fn from(value: Vec) -> Self { let mut blocks = BTreeMap::new(); for block in value { blocks.insert(block.header.number, block); @@ -111,16 +104,7 @@ impl From> for Blocks { fn from(value: Arc) -> Self { let mut blocks = BTreeMap::new(); for (block_number, sealed_block) in value.blocks() { - // from reth::primitives::SealedBlock to alloy_rpc_types::Block - let block = Block { - header: parse_reth_rpc_header(sealed_block), - 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.body.withdrawals.clone().map(|w| w.into_inner()), - }; + let block = parse_reth_block_to_alloy_rpc(sealed_block.block.clone()); blocks.insert(*block_number, block); } Self(Arc::new(blocks)) @@ -139,8 +123,137 @@ impl From for ChainNotification { } } +fn parse_reth_block_to_alloy_rpc(block: reth::primitives::SealedBlock) -> Block { + let transactions = block.body.transactions().map(parse_reth_transaction_to_alloy_rpc).collect(); + + Block { + header: parse_reth_header_to_alloy_rpc(&block), + uncles: block.body.ommers.iter().map(|x| x.hash_slow()).collect(), + transactions: BlockTransactions::Full(transactions), + size: Some(U256::from(block.size())), + withdrawals: block.body.withdrawals.clone().map(|w| w.into_inner()), + } +} + +fn parse_reth_transaction_to_alloy_rpc(tx: &reth::primitives::TransactionSigned) -> Transaction { + let nonce = match &tx.transaction { + reth::primitives::Transaction::Legacy(tx) => tx.nonce, + reth::primitives::Transaction::Eip2930(tx) => tx.nonce, + reth::primitives::Transaction::Eip1559(tx) => tx.nonce, + reth::primitives::Transaction::Eip4844(tx) => tx.nonce, + reth::primitives::Transaction::Eip7702(tx) => tx.nonce, + }; + + let value = match &tx.transaction { + reth::primitives::Transaction::Legacy(tx) => tx.value, + reth::primitives::Transaction::Eip2930(tx) => tx.value, + reth::primitives::Transaction::Eip1559(tx) => tx.value, + reth::primitives::Transaction::Eip4844(tx) => tx.value, + reth::primitives::Transaction::Eip7702(tx) => tx.value, + }; + + let gas_price = match &tx.transaction { + reth::primitives::Transaction::Legacy(tx) => Some(tx.gas_price), + reth::primitives::Transaction::Eip2930(tx) => Some(tx.gas_price), + _ => None, + }; + + let gas = match &tx.transaction { + reth::primitives::Transaction::Legacy(tx) => tx.gas_limit, + reth::primitives::Transaction::Eip2930(tx) => tx.gas_limit, + reth::primitives::Transaction::Eip1559(tx) => tx.gas_limit, + reth::primitives::Transaction::Eip4844(tx) => tx.gas_limit, + reth::primitives::Transaction::Eip7702(tx) => tx.gas_limit, + }; + + let max_fee_per_gas = match &tx.transaction { + reth::primitives::Transaction::Legacy(_) => None, + reth::primitives::Transaction::Eip2930(_) => None, + reth::primitives::Transaction::Eip1559(tx) => Some(tx.max_fee_per_gas), + reth::primitives::Transaction::Eip4844(tx) => Some(tx.max_fee_per_gas), + reth::primitives::Transaction::Eip7702(tx) => Some(tx.max_fee_per_gas), + }; + + let max_priority_fee_per_gas = match &tx.transaction { + reth::primitives::Transaction::Legacy(_) => None, + reth::primitives::Transaction::Eip2930(_) => None, + reth::primitives::Transaction::Eip1559(tx) => Some(tx.max_priority_fee_per_gas), + reth::primitives::Transaction::Eip4844(tx) => Some(tx.max_priority_fee_per_gas), + reth::primitives::Transaction::Eip7702(tx) => Some(tx.max_priority_fee_per_gas), + }; + + let max_fee_per_blob_gas = match &tx.transaction { + reth::primitives::Transaction::Eip4844(tx) => Some(tx.max_fee_per_blob_gas), + _ => None, + }; + + let chain_id = match &tx.transaction { + reth::primitives::Transaction::Legacy(tx) => tx.chain_id, + reth::primitives::Transaction::Eip2930(tx) => Some(tx.chain_id), + reth::primitives::Transaction::Eip1559(tx) => Some(tx.chain_id), + reth::primitives::Transaction::Eip4844(tx) => Some(tx.chain_id), + reth::primitives::Transaction::Eip7702(tx) => Some(tx.chain_id), + }; + + let blob_versioned_hashes = match &tx.transaction { + reth::primitives::Transaction::Eip4844(tx) => Some(tx.blob_versioned_hashes.clone()), + _ => None, + }; + + let transaction_type = match &tx.transaction { + reth::primitives::Transaction::Legacy(_) => Some(0), + reth::primitives::Transaction::Eip2930(_) => Some(1), + reth::primitives::Transaction::Eip1559(_) => Some(2), + reth::primitives::Transaction::Eip4844(_) => Some(3), + reth::primitives::Transaction::Eip7702(_) => Some(4), + }; + + let authorization_list = match &tx.transaction { + reth::primitives::Transaction::Eip7702(tx) => Some(tx.authorization_list.clone()), + _ => None, + }; + + let signature = alloy_rpc_types::Signature { + r: tx.signature.r(), + s: tx.signature.s(), + v: U256::from(tx.signature.v().to_u64()), + y_parity: Some(tx.signature.v().y_parity().into()), + }; + + let access_list = match &tx.transaction { + reth::primitives::Transaction::Legacy(_) => None, + reth::primitives::Transaction::Eip2930(tx) => Some(tx.access_list.clone()), + reth::primitives::Transaction::Eip1559(tx) => Some(tx.access_list.clone()), + reth::primitives::Transaction::Eip4844(tx) => Some(tx.access_list.clone()), + reth::primitives::Transaction::Eip7702(tx) => Some(tx.access_list.clone()), + }; + + Transaction { + hash: tx.hash(), + nonce, + block_hash: None, + block_number: None, + transaction_index: None, + from: tx.recover_signer().unwrap(), + to: tx.to(), + value, + gas_price, + gas, + max_fee_per_gas, + max_priority_fee_per_gas, + max_fee_per_blob_gas, + input: tx.input().clone(), + signature: Some(signature), + chain_id, + blob_versioned_hashes, + access_list, + transaction_type, + authorization_list, + } +} + // from reth::primitives::SealedBlock to alloy_rpc_types::Header -fn parse_reth_rpc_header(block: &reth::primitives::SealedBlock) -> Header { +fn parse_reth_header_to_alloy_rpc(block: &reth::primitives::SealedBlock) -> Header { Header { hash: block.header.hash(), parent_hash: block.parent_hash, @@ -164,6 +277,6 @@ fn parse_reth_rpc_header(block: &reth::primitives::SealedBlock) -> Header { 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, + requests_hash: block.requests_hash, } } diff --git a/crates/rollup/src/driver/context/standalone.rs b/crates/rollup/src/driver/context/standalone.rs index 0e505ac..b87e3d5 100644 --- a/crates/rollup/src/driver/context/standalone.rs +++ b/crates/rollup/src/driver/context/standalone.rs @@ -1,21 +1,16 @@ use hashbrown::HashMap; use std::{collections::BTreeMap, time::Duration}; -use alloy_consensus::TxEnvelope; use alloy_eips::{eip1898::BlockNumHash, BlockId}; use alloy_network::Ethereum; use alloy_primitives::{BlockNumber, B256}; use alloy_provider::{IpcConnect, Provider, ProviderBuilder, ReqwestProvider, WsConnect}; -use alloy_rpc_types::Block; +use alloy_rpc_types_eth::Block; use alloy_transport::{TransportErrorKind, TransportResult}; use async_trait::async_trait; use futures::StreamExt; -use reth::rpc::types::BlockTransactions; -use tokio::{ - sync::mpsc::{self, error::SendError}, - task::JoinHandle, -}; +use tokio::{sync::mpsc, task::JoinHandle}; use tracing::{debug, error, warn}; use url::Url; @@ -35,14 +30,14 @@ pub struct StandaloneHeraContext { /// The current tip of the L1 chain listener, used to detect reorgs l1_tip: BlockNumHash, /// Channel that receives new blocks from the L1 node - new_block_rx: mpsc::Receiver>, + 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: BlockNumHash, /// Cache of blocks that might be reorged out. In normal conditions, /// this cache will not grow beyond [`FINALIZATION_TIMEOUT`] keys. - reorg_cache: BTreeMap>>, + reorg_cache: BTreeMap>, /// Handle to the background task that fetches and processes new blocks. _handle: JoinHandle<()>, } @@ -76,8 +71,7 @@ impl StandaloneHeraContext { for hash in hashes { match client.get_block_by_hash(hash, true.into()).await { Ok(Some(block)) => { - let block_with_txs = parse_reth_rpc_block(block); - if let Err(e) = new_block_tx.try_send(block_with_txs) { + if let Err(e) = new_block_tx.try_send(block) { error!("Failed to send new block to channel: {:?}", e); } } @@ -120,8 +114,7 @@ impl StandaloneHeraContext { match client.get_block_by_hash(block.header.hash, true.into()).await { Ok(Some(full_block)) => { - let block_with_txs = parse_reth_rpc_block(full_block); - if let Err(e) = new_block_tx.try_send(block_with_txs) { + if let Err(e) = new_block_tx.try_send(full_block) { error!("Failed to send new block to channel: {:?}", e); } } @@ -155,8 +148,7 @@ impl StandaloneHeraContext { let mut block_sub = client.subscribe_blocks().await?.into_stream(); let _handle = tokio::spawn(async move { while let Some(block) = block_sub.next().await { - let block_with_txs_decoded = parse_reth_rpc_block(block); - if let Err(e) = new_block_tx.try_send(block_with_txs_decoded) { + if let Err(e) = new_block_tx.try_send(block) { error!("Failed to send new block to channel: {:?}", e); } } @@ -174,8 +166,7 @@ impl StandaloneHeraContext { let mut block_sub = client.subscribe_blocks().await?.into_stream(); let _handle = tokio::spawn(async move { while let Some(block) = block_sub.next().await { - let block_with_txs_decoded = parse_reth_rpc_block(block); - if let Err(e) = new_block_tx.try_send(block_with_txs_decoded) { + if let Err(e) = new_block_tx.try_send(block) { error!("Failed to send new block to channel: {:?}", e); } } @@ -185,10 +176,7 @@ impl StandaloneHeraContext { } /// Create a new standalone context with the given new block receiver and handle. - fn with_defaults( - new_block_rx: mpsc::Receiver>, - _handle: JoinHandle<()>, - ) -> Self { + fn with_defaults(new_block_rx: mpsc::Receiver, _handle: JoinHandle<()>) -> Self { Self { new_block_rx, _handle, @@ -225,39 +213,15 @@ impl DriverContext for StandaloneHeraContext { Some(ChainNotification::New { new_blocks: Blocks::from(block) }) } - fn send_processed_tip_event( - &mut self, - tip: BlockNumHash, - ) -> Result<(), SendError> { + fn send_processed_tip_event(&mut self, tip: BlockNumHash) { self.processed_tip = tip; - Ok(()) - } -} - -// from reth::rpc::types::Block to alloy_rpc_types::Block -fn parse_reth_rpc_block(block: Block) -> Block { - let txs = block - .transactions - .as_transactions() - .unwrap_or_default() - .iter() - .cloned() - .flat_map(|tx| TxEnvelope::try_from(tx).ok()) - .collect::>(); - - Block { - header: block.header, - uncles: block.uncles, - transactions: BlockTransactions::Full(txs), - size: block.size, - withdrawals: block.withdrawals, } } #[cfg(test)] mod tests { use super::*; - use alloy_rpc_types::Header; + use alloy_rpc_types::{BlockTransactions, Header}; #[tokio::test] async fn test_http_poller() -> eyre::Result<()> { @@ -330,13 +294,11 @@ mod tests { let mut ctx = StandaloneHeraContext::with_defaults(rx, handle); // Send a processed tip event - let result = - ctx.send_processed_tip_event(BlockNumHash { number: 100, ..Default::default() }); - assert!(result.is_ok()); + ctx.send_processed_tip_event(BlockNumHash { number: 100, ..Default::default() }); } // Helper function to create a mock Block - fn create_mock_block(number: u64) -> Block { + fn create_mock_block(number: u64) -> Block { Block { header: Header { number, hash: B256::random(), ..Default::default() }, transactions: BlockTransactions::Full(vec![]), diff --git a/crates/rollup/src/driver/mod.rs b/crates/rollup/src/driver/mod.rs index 4fc63fb..dc45731 100644 --- a/crates/rollup/src/driver/mod.rs +++ b/crates/rollup/src/driver/mod.rs @@ -1,7 +1,6 @@ //! Rollup Node Driver -use alloy_eips::eip1898::BlockNumHash; -use reth::rpc::types::engine::JwtSecret; +use alloy_rpc_types_engine::JwtSecret; use std::{fmt::Debug, sync::Arc}; use eyre::{bail, eyre, Result}; @@ -136,18 +135,15 @@ where if let Some(notification) = self.ctx.recv_notification().await { if let Some(new_chain) = notification.new_chain() { let tip = new_chain.tip(); + 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 { + if tip.number >= self.cfg.genesis.l1.number { break Ok(()); } - debug!("Chain not yet synced to rollup genesis. L1 block number: {}", tip); + debug!( + "Chain not yet synced to rollup genesis. L1 block number: {}", + tip.number + ); } } } @@ -268,37 +264,22 @@ where // The reverted chain contains the list of blocks that were invalidated by the // reorg. we need to reset the cursor to the last canonical block, which corresponds // to the block before the reorg happened. - let fork_block = reverted_chain.fork_block(); + let fork_block = reverted_chain.fork_block_number(); // Find the last known L2 block that is still valid after the reorg, // 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.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 - { + let (l2_safe_head, l1_origin) = self.cursor.reset(fork_block); + + warn!("Resetting derivation pipeline to L2 block: {}", l2_safe_head.block_info.number); + let reset_signal = ResetSignal { l1_origin, l2_safe_head, ..Default::default() }; + if let Err(e) = pipeline.signal(reset_signal.signal()).await { bail!("Failed to reset pipeline: {:?}", e); } } if let Some(new_chain) = notification.new_chain() { let tip = new_chain.tip(); - - if let Err(err) = self - .ctx - .send_processed_tip_event(BlockNumHash { number: tip, ..Default::default() }) - { - bail!("Failed to send processed tip event: {:?}", err); - } + self.ctx.send_processed_tip_event(tip); } Ok(()) diff --git a/crates/rollup/src/engine.rs b/crates/rollup/src/engine.rs index 5900d67..36601e1 100644 --- a/crates/rollup/src/engine.rs +++ b/crates/rollup/src/engine.rs @@ -4,6 +4,7 @@ use alloy_network::AnyNetwork; use alloy_primitives::Bytes; use alloy_provider::RootProvider; use alloy_rpc_client::RpcClient; +use alloy_rpc_types_engine::{ForkchoiceState, JwtSecret}; use alloy_transport_http::{ hyper_util::{ client::legacy::{connect::HttpConnector, Client}, @@ -15,7 +16,6 @@ use eyre::Result; use http_body_util::Full; use op_alloy_provider::ext::engine::OpEngineApi; use op_alloy_rpc_types_engine::OpAttributesWithParent; -use reth::rpc::types::engine::{ForkchoiceState, JwtSecret}; use tower::ServiceBuilder; use tracing::warn; use url::Url; diff --git a/crates/rollup/src/validator.rs b/crates/rollup/src/validator.rs index 3ab3f7b..830df8d 100644 --- a/crates/rollup/src/validator.rs +++ b/crates/rollup/src/validator.rs @@ -6,10 +6,10 @@ use alloy_eips::BlockNumberOrTag; use alloy_primitives::Bytes; use alloy_provider::{network::primitives::BlockTransactionsKind, Provider, ReqwestProvider}; use alloy_rpc_types_engine::PayloadAttributes; +use alloy_rpc_types_eth::Header; use eyre::{bail, eyre, Result}; use op_alloy_rpc_types_engine::{OpAttributesWithParent, OpPayloadAttributes}; -use reth::rpc::types::Header; use tracing::error; use url::Url; From 529cadcf8af52182069c7a65f90c9ae11d1fb9bc Mon Sep 17 00:00:00 2001 From: nicolas <48695862+merklefruit@users.noreply.github.com> Date: Sun, 20 Oct 2024 13:46:07 +0200 Subject: [PATCH 2/4] chore: rm parsing of whole txs in blocks --- crates/rollup/src/driver/context/mod.rs | 123 +----------------------- 1 file changed, 3 insertions(+), 120 deletions(-) diff --git a/crates/rollup/src/driver/context/mod.rs b/crates/rollup/src/driver/context/mod.rs index a01a3a2..82f031f 100644 --- a/crates/rollup/src/driver/context/mod.rs +++ b/crates/rollup/src/driver/context/mod.rs @@ -4,7 +4,7 @@ use std::{collections::BTreeMap, sync::Arc}; use alloy_eips::eip1898::BlockNumHash; use alloy_primitives::{BlockNumber, U256}; -use alloy_rpc_types::{Block, BlockTransactions, Header, Transaction}; +use alloy_rpc_types::{Block, BlockTransactions, Header}; use async_trait::async_trait; use reth_execution_types::Chain; use reth_exex::ExExNotification; @@ -124,134 +124,17 @@ impl From for ChainNotification { } fn parse_reth_block_to_alloy_rpc(block: reth::primitives::SealedBlock) -> Block { - let transactions = block.body.transactions().map(parse_reth_transaction_to_alloy_rpc).collect(); + let tx_hashes = block.body.transactions().map(|tx| tx.hash()).collect(); Block { header: parse_reth_header_to_alloy_rpc(&block), uncles: block.body.ommers.iter().map(|x| x.hash_slow()).collect(), - transactions: BlockTransactions::Full(transactions), + transactions: BlockTransactions::Hashes(tx_hashes), size: Some(U256::from(block.size())), withdrawals: block.body.withdrawals.clone().map(|w| w.into_inner()), } } -fn parse_reth_transaction_to_alloy_rpc(tx: &reth::primitives::TransactionSigned) -> Transaction { - let nonce = match &tx.transaction { - reth::primitives::Transaction::Legacy(tx) => tx.nonce, - reth::primitives::Transaction::Eip2930(tx) => tx.nonce, - reth::primitives::Transaction::Eip1559(tx) => tx.nonce, - reth::primitives::Transaction::Eip4844(tx) => tx.nonce, - reth::primitives::Transaction::Eip7702(tx) => tx.nonce, - }; - - let value = match &tx.transaction { - reth::primitives::Transaction::Legacy(tx) => tx.value, - reth::primitives::Transaction::Eip2930(tx) => tx.value, - reth::primitives::Transaction::Eip1559(tx) => tx.value, - reth::primitives::Transaction::Eip4844(tx) => tx.value, - reth::primitives::Transaction::Eip7702(tx) => tx.value, - }; - - let gas_price = match &tx.transaction { - reth::primitives::Transaction::Legacy(tx) => Some(tx.gas_price), - reth::primitives::Transaction::Eip2930(tx) => Some(tx.gas_price), - _ => None, - }; - - let gas = match &tx.transaction { - reth::primitives::Transaction::Legacy(tx) => tx.gas_limit, - reth::primitives::Transaction::Eip2930(tx) => tx.gas_limit, - reth::primitives::Transaction::Eip1559(tx) => tx.gas_limit, - reth::primitives::Transaction::Eip4844(tx) => tx.gas_limit, - reth::primitives::Transaction::Eip7702(tx) => tx.gas_limit, - }; - - let max_fee_per_gas = match &tx.transaction { - reth::primitives::Transaction::Legacy(_) => None, - reth::primitives::Transaction::Eip2930(_) => None, - reth::primitives::Transaction::Eip1559(tx) => Some(tx.max_fee_per_gas), - reth::primitives::Transaction::Eip4844(tx) => Some(tx.max_fee_per_gas), - reth::primitives::Transaction::Eip7702(tx) => Some(tx.max_fee_per_gas), - }; - - let max_priority_fee_per_gas = match &tx.transaction { - reth::primitives::Transaction::Legacy(_) => None, - reth::primitives::Transaction::Eip2930(_) => None, - reth::primitives::Transaction::Eip1559(tx) => Some(tx.max_priority_fee_per_gas), - reth::primitives::Transaction::Eip4844(tx) => Some(tx.max_priority_fee_per_gas), - reth::primitives::Transaction::Eip7702(tx) => Some(tx.max_priority_fee_per_gas), - }; - - let max_fee_per_blob_gas = match &tx.transaction { - reth::primitives::Transaction::Eip4844(tx) => Some(tx.max_fee_per_blob_gas), - _ => None, - }; - - let chain_id = match &tx.transaction { - reth::primitives::Transaction::Legacy(tx) => tx.chain_id, - reth::primitives::Transaction::Eip2930(tx) => Some(tx.chain_id), - reth::primitives::Transaction::Eip1559(tx) => Some(tx.chain_id), - reth::primitives::Transaction::Eip4844(tx) => Some(tx.chain_id), - reth::primitives::Transaction::Eip7702(tx) => Some(tx.chain_id), - }; - - let blob_versioned_hashes = match &tx.transaction { - reth::primitives::Transaction::Eip4844(tx) => Some(tx.blob_versioned_hashes.clone()), - _ => None, - }; - - let transaction_type = match &tx.transaction { - reth::primitives::Transaction::Legacy(_) => Some(0), - reth::primitives::Transaction::Eip2930(_) => Some(1), - reth::primitives::Transaction::Eip1559(_) => Some(2), - reth::primitives::Transaction::Eip4844(_) => Some(3), - reth::primitives::Transaction::Eip7702(_) => Some(4), - }; - - let authorization_list = match &tx.transaction { - reth::primitives::Transaction::Eip7702(tx) => Some(tx.authorization_list.clone()), - _ => None, - }; - - let signature = alloy_rpc_types::Signature { - r: tx.signature.r(), - s: tx.signature.s(), - v: U256::from(tx.signature.v().to_u64()), - y_parity: Some(tx.signature.v().y_parity().into()), - }; - - let access_list = match &tx.transaction { - reth::primitives::Transaction::Legacy(_) => None, - reth::primitives::Transaction::Eip2930(tx) => Some(tx.access_list.clone()), - reth::primitives::Transaction::Eip1559(tx) => Some(tx.access_list.clone()), - reth::primitives::Transaction::Eip4844(tx) => Some(tx.access_list.clone()), - reth::primitives::Transaction::Eip7702(tx) => Some(tx.access_list.clone()), - }; - - Transaction { - hash: tx.hash(), - nonce, - block_hash: None, - block_number: None, - transaction_index: None, - from: tx.recover_signer().unwrap(), - to: tx.to(), - value, - gas_price, - gas, - max_fee_per_gas, - max_priority_fee_per_gas, - max_fee_per_blob_gas, - input: tx.input().clone(), - signature: Some(signature), - chain_id, - blob_versioned_hashes, - access_list, - transaction_type, - authorization_list, - } -} - // from reth::primitives::SealedBlock to alloy_rpc_types::Header fn parse_reth_header_to_alloy_rpc(block: &reth::primitives::SealedBlock) -> Header { Header { From 1a81feba03fea268bf2142dddde0eb37313f3fea Mon Sep 17 00:00:00 2001 From: nicolas <48695862+merklefruit@users.noreply.github.com> Date: Sun, 20 Oct 2024 13:49:12 +0200 Subject: [PATCH 3/4] chore: fetch block with tx_hashes instead of full objects in standalone ctx --- crates/rollup/src/driver/context/standalone.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/crates/rollup/src/driver/context/standalone.rs b/crates/rollup/src/driver/context/standalone.rs index b87e3d5..a62e816 100644 --- a/crates/rollup/src/driver/context/standalone.rs +++ b/crates/rollup/src/driver/context/standalone.rs @@ -69,7 +69,7 @@ impl StandaloneHeraContext { let mut stream = new_block_hashes.into_stream(); while let Some(hashes) = stream.next().await { for hash in hashes { - match client.get_block_by_hash(hash, true.into()).await { + match client.get_block_by_hash(hash, false.into()).await { Ok(Some(block)) => { if let Err(e) = new_block_tx.try_send(block) { error!("Failed to send new block to channel: {:?}", e); @@ -111,7 +111,9 @@ impl StandaloneHeraContext { hash = block.header.hash; // Every time we get a new hash, fetch the full block - match client.get_block_by_hash(block.header.hash, true.into()).await + match client + .get_block_by_hash(block.header.hash, false.into()) + .await { Ok(Some(full_block)) => { if let Err(e) = new_block_tx.try_send(full_block) { From 01d9e9b36896c401806b908e8d8e0b35f3dff8ee Mon Sep 17 00:00:00 2001 From: nicolas <48695862+merklefruit@users.noreply.github.com> Date: Sun, 20 Oct 2024 13:58:00 +0200 Subject: [PATCH 4/4] chore: update msrv --- .github/workflows/lint.yml | 2 +- Cargo.toml | 2 +- clippy.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 423da78..d0e5621 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -59,7 +59,7 @@ jobs: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@master with: - toolchain: "1.81" # MSRV + toolchain: "1.82" # MSRV - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true diff --git a/Cargo.toml b/Cargo.toml index 6dcb11a..7c2ef32 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [workspace.package] version = "0.0.0" edition = "2021" -rust-version = "1.81" +rust-version = "1.82" authors = [] license = "MIT OR Apache-2.0" repository = "https://github.com/ithacaxyz/op-rs" diff --git a/clippy.toml b/clippy.toml index 8c0bc00..4579197 100644 --- a/clippy.toml +++ b/clippy.toml @@ -1 +1 @@ -msrv = "1.81" +msrv = "1.82"