diff --git a/Cargo.lock b/Cargo.lock index 869476f7..bb9a11a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2922,7 +2922,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -3796,7 +3796,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.2", + "windows-core 0.57.0", ] [[package]] @@ -5252,6 +5252,25 @@ dependencies = [ "thiserror 2.0.12", ] +[[package]] +name = "op-alloy-rpc-types" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82a315004b6720fbf756afdcfdc97ea7ddbcdccfec86ea7df7562bb0da29a3f" +dependencies = [ + "alloy-consensus 1.0.9", + "alloy-eips 1.0.9", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-eth", + "alloy-serde 1.0.9", + "derive_more", + "op-alloy-consensus", + "serde", + "serde_json", + "thiserror 2.0.12", +] + [[package]] name = "op-alloy-rpc-types-engine" version = "0.17.2" @@ -5970,7 +5989,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -6319,8 +6338,8 @@ checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3" [[package]] name = "reth-basic-payload-builder" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6343,8 +6362,8 @@ dependencies = [ [[package]] name = "reth-chain-state" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6366,6 +6385,7 @@ dependencies = [ "reth-trie", "revm-database", "revm-state", + "serde", "tokio", "tokio-stream", "tracing", @@ -6373,8 +6393,8 @@ dependencies = [ [[package]] name = "reth-chainspec" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-chains", "alloy-consensus 1.0.9", @@ -6393,8 +6413,8 @@ dependencies = [ [[package]] name = "reth-cli" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-genesis", "clap", @@ -6407,8 +6427,8 @@ dependencies = [ [[package]] name = "reth-cli-commands" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "ahash 0.8.12", "alloy-chains", @@ -6478,8 +6498,8 @@ dependencies = [ [[package]] name = "reth-cli-runner" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "reth-tasks", "tokio", @@ -6488,8 +6508,8 @@ dependencies = [ [[package]] name = "reth-cli-util" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -6505,8 +6525,8 @@ dependencies = [ [[package]] name = "reth-codecs" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6525,8 +6545,8 @@ dependencies = [ [[package]] name = "reth-codecs-derive" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "convert_case", "proc-macro2", @@ -6536,8 +6556,8 @@ dependencies = [ [[package]] name = "reth-config" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "eyre", "humantime-serde", @@ -6546,12 +6566,13 @@ dependencies = [ "reth-stages-types", "serde", "toml", + "url", ] [[package]] name = "reth-consensus" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -6563,8 +6584,8 @@ dependencies = [ [[package]] name = "reth-consensus-common" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6575,8 +6596,8 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6599,8 +6620,8 @@ dependencies = [ [[package]] name = "reth-db" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "derive_more", @@ -6625,8 +6646,8 @@ dependencies = [ [[package]] name = "reth-db-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-genesis", @@ -6654,8 +6675,8 @@ dependencies = [ [[package]] name = "reth-db-common" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-genesis", @@ -6683,8 +6704,8 @@ dependencies = [ [[package]] name = "reth-db-models" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -6698,8 +6719,8 @@ dependencies = [ [[package]] name = "reth-discv4" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6724,8 +6745,8 @@ dependencies = [ [[package]] name = "reth-discv5" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -6748,8 +6769,8 @@ dependencies = [ [[package]] name = "reth-dns-discovery" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "data-encoding", @@ -6772,8 +6793,8 @@ dependencies = [ [[package]] name = "reth-downloaders" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6807,8 +6828,8 @@ dependencies = [ [[package]] name = "reth-e2e-test-utils" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -6855,8 +6876,8 @@ dependencies = [ [[package]] name = "reth-ecies" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "aes", "alloy-primitives", @@ -6886,8 +6907,8 @@ dependencies = [ [[package]] name = "reth-engine-local" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -6895,18 +6916,11 @@ dependencies = [ "eyre", "futures-util", "reth-chainspec", - "reth-consensus", "reth-engine-primitives", - "reth-engine-service", - "reth-engine-tree", "reth-ethereum-engine-primitives", - "reth-evm", - "reth-node-types", "reth-payload-builder", "reth-payload-primitives", "reth-provider", - "reth-prune", - "reth-stages-api", "reth-transaction-pool", "scroll-alloy-rpc-types-engine", "tokio", @@ -6916,10 +6930,11 @@ dependencies = [ [[package]] name = "reth-engine-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", + "alloy-eips 1.0.9", "alloy-primitives", "alloy-rpc-types-engine 1.0.9", "auto_impl", @@ -6940,8 +6955,8 @@ dependencies = [ [[package]] name = "reth-engine-service" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "futures", "pin-project", @@ -6963,8 +6978,8 @@ dependencies = [ [[package]] name = "reth-engine-tree" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7015,8 +7030,8 @@ dependencies = [ [[package]] name = "reth-engine-util" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-rpc-types-engine 1.0.9", @@ -7042,8 +7057,8 @@ dependencies = [ [[package]] name = "reth-era" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7058,8 +7073,8 @@ dependencies = [ [[package]] name = "reth-era-downloader" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "bytes", @@ -7073,8 +7088,8 @@ dependencies = [ [[package]] name = "reth-era-utils" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "eyre", @@ -7093,8 +7108,8 @@ dependencies = [ [[package]] name = "reth-errors" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -7104,8 +7119,8 @@ dependencies = [ [[package]] name = "reth-eth-wire" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-chains", "alloy-primitives", @@ -7132,8 +7147,8 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-chains", "alloy-consensus 1.0.9", @@ -7153,8 +7168,8 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7169,8 +7184,8 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -7187,8 +7202,8 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -7201,8 +7216,8 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7228,8 +7243,8 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7246,8 +7261,8 @@ dependencies = [ [[package]] name = "reth-etl" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "rayon", "reth-db-api", @@ -7256,8 +7271,8 @@ dependencies = [ [[package]] name = "reth-evm" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7280,8 +7295,8 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7298,8 +7313,8 @@ dependencies = [ [[package]] name = "reth-execution-errors" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-evm", "alloy-primitives", @@ -7311,8 +7326,8 @@ dependencies = [ [[package]] name = "reth-execution-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7329,8 +7344,8 @@ dependencies = [ [[package]] name = "reth-exex" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7367,8 +7382,8 @@ dependencies = [ [[package]] name = "reth-exex-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -7381,8 +7396,8 @@ dependencies = [ [[package]] name = "reth-fs-util" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "serde", "serde_json", @@ -7391,8 +7406,8 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -7419,8 +7434,8 @@ dependencies = [ [[package]] name = "reth-ipc" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "bytes", "futures", @@ -7439,8 +7454,8 @@ dependencies = [ [[package]] name = "reth-libmdbx" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "bitflags 2.9.1", "byteorder", @@ -7456,8 +7471,8 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "bindgen", "cc", @@ -7465,8 +7480,8 @@ dependencies = [ [[package]] name = "reth-metrics" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "futures", "metrics", @@ -7477,16 +7492,16 @@ dependencies = [ [[package]] name = "reth-net-banlist" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", ] [[package]] name = "reth-net-nat" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "futures-util", "if-addrs", @@ -7499,8 +7514,8 @@ dependencies = [ [[package]] name = "reth-network" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7554,8 +7569,8 @@ dependencies = [ [[package]] name = "reth-network-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rpc-types-admin", @@ -7579,8 +7594,8 @@ dependencies = [ [[package]] name = "reth-network-p2p" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7602,8 +7617,8 @@ dependencies = [ [[package]] name = "reth-network-peers" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -7617,8 +7632,8 @@ dependencies = [ [[package]] name = "reth-network-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -7631,8 +7646,8 @@ dependencies = [ [[package]] name = "reth-nippy-jar" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "anyhow", "bincode", @@ -7648,8 +7663,8 @@ dependencies = [ [[package]] name = "reth-node-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-rpc-types-engine 1.0.9", "eyre", @@ -7672,8 +7687,8 @@ dependencies = [ [[package]] name = "reth-node-builder" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7737,8 +7752,8 @@ dependencies = [ [[package]] name = "reth-node-core" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7781,14 +7796,15 @@ dependencies = [ "thiserror 2.0.12", "toml", "tracing", + "url", "vergen", "vergen-git2", ] [[package]] name = "reth-node-ethereum" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-rpc-types-engine 1.0.9", @@ -7823,8 +7839,8 @@ dependencies = [ [[package]] name = "reth-node-events" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7847,8 +7863,8 @@ dependencies = [ [[package]] name = "reth-node-metrics" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "eyre", "http", @@ -7867,8 +7883,8 @@ dependencies = [ [[package]] name = "reth-node-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "reth-chainspec", "reth-db-api", @@ -7880,8 +7896,8 @@ dependencies = [ [[package]] name = "reth-optimism-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -7899,8 +7915,8 @@ dependencies = [ [[package]] name = "reth-payload-builder" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -7920,8 +7936,8 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "pin-project", "reth-payload-primitives", @@ -7932,8 +7948,8 @@ dependencies = [ [[package]] name = "reth-payload-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -7952,8 +7968,8 @@ dependencies = [ [[package]] name = "reth-payload-util" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -7962,8 +7978,8 @@ dependencies = [ [[package]] name = "reth-payload-validator" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-rpc-types-engine 1.0.9", @@ -7972,8 +7988,8 @@ dependencies = [ [[package]] name = "reth-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "arbitrary", @@ -7987,8 +8003,8 @@ dependencies = [ [[package]] name = "reth-primitives-traits" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8020,8 +8036,8 @@ dependencies = [ [[package]] name = "reth-provider" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8065,8 +8081,8 @@ dependencies = [ [[package]] name = "reth-prune" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8093,8 +8109,8 @@ dependencies = [ [[package]] name = "reth-prune-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "arbitrary", @@ -8107,8 +8123,8 @@ dependencies = [ [[package]] name = "reth-revm" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "reth-primitives-traits", @@ -8120,8 +8136,8 @@ dependencies = [ [[package]] name = "reth-rpc" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-dyn-abi", @@ -8178,11 +8194,13 @@ dependencies = [ "reth-storage-api", "reth-tasks", "reth-transaction-pool", + "reth-trie-common", "revm", "revm-inspectors", "revm-primitives", "serde", "serde_json", + "sha2 0.10.9", "thiserror 2.0.12", "tokio", "tokio-stream", @@ -8193,8 +8211,8 @@ dependencies = [ [[package]] name = "reth-rpc-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-genesis", @@ -8212,15 +8230,17 @@ dependencies = [ "alloy-rpc-types-txpool", "alloy-serde 1.0.9", "jsonrpsee", + "reth-chain-state", "reth-engine-primitives", "reth-network-peers", "reth-rpc-eth-api", + "reth-trie-common", ] [[package]] name = "reth-rpc-builder" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-network", "alloy-provider", @@ -8257,8 +8277,8 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -8287,8 +8307,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-dyn-abi", @@ -8330,8 +8350,8 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8372,8 +8392,8 @@ dependencies = [ [[package]] name = "reth-rpc-layer" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-rpc-types-engine 1.0.9", "http", @@ -8386,8 +8406,8 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -8402,21 +8422,30 @@ dependencies = [ [[package]] name = "reth-rpc-types-compat" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", + "alloy-network", "alloy-primitives", "alloy-rpc-types-eth", "jsonrpsee-types", + "op-alloy-consensus", + "op-alloy-rpc-types", + "reth-optimism-primitives", "reth-primitives-traits", + "reth-scroll-primitives", + "reth-storage-api", + "scroll-alloy-consensus", + "scroll-alloy-rpc-types", "serde", + "thiserror 2.0.12", ] [[package]] name = "reth-scroll-chainspec" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-chains", "alloy-consensus 1.0.9", @@ -8439,8 +8468,8 @@ dependencies = [ [[package]] name = "reth-scroll-cli" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "clap", "eyre", @@ -8462,8 +8491,8 @@ dependencies = [ [[package]] name = "reth-scroll-consensus" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -8482,8 +8511,8 @@ dependencies = [ [[package]] name = "reth-scroll-engine-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8507,8 +8536,8 @@ dependencies = [ [[package]] name = "reth-scroll-evm" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8535,8 +8564,8 @@ dependencies = [ [[package]] name = "reth-scroll-forks" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-chains", "alloy-primitives", @@ -8549,8 +8578,8 @@ dependencies = [ [[package]] name = "reth-scroll-node" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8601,8 +8630,8 @@ dependencies = [ [[package]] name = "reth-scroll-payload" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -8618,15 +8647,12 @@ dependencies = [ "reth-payload-util", "reth-primitives-traits", "reth-revm", - "reth-scroll-chainspec", "reth-scroll-engine-primitives", "reth-scroll-evm", - "reth-scroll-forks", "reth-scroll-primitives", "reth-storage-api", "reth-transaction-pool", "revm", - "scroll-alloy-consensus", "scroll-alloy-evm", "scroll-alloy-hardforks", "thiserror 2.0.12", @@ -8635,36 +8661,28 @@ dependencies = [ [[package]] name = "reth-scroll-primitives" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", - "alloy-evm", "alloy-primitives", "alloy-rlp", "arbitrary", "bytes", - "derive_more", "modular-bitfield", "once_cell", - "proptest", - "rand 0.8.5", "reth-codecs", "reth-primitives-traits", "reth-zstd-compressors", - "revm-context", - "revm-scroll", "scroll-alloy-consensus", - "scroll-alloy-evm", - "secp256k1", "serde", ] [[package]] name = "reth-scroll-rpc" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -8700,8 +8718,8 @@ dependencies = [ [[package]] name = "reth-scroll-txpool" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8728,14 +8746,15 @@ dependencies = [ [[package]] name = "reth-stages" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", "alloy-primitives", "bincode", "blake3", + "eyre", "futures-util", "itertools 0.14.0", "num-traits", @@ -8747,6 +8766,9 @@ dependencies = [ "reth-consensus", "reth-db", "reth-db-api", + "reth-era", + "reth-era-downloader", + "reth-era-utils", "reth-ethereum-primitives", "reth-etl", "reth-evm", @@ -8774,8 +8796,8 @@ dependencies = [ [[package]] name = "reth-stages-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -8801,8 +8823,8 @@ dependencies = [ [[package]] name = "reth-stages-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "arbitrary", @@ -8815,8 +8837,8 @@ dependencies = [ [[package]] name = "reth-static-file" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "parking_lot 0.12.3", @@ -8835,8 +8857,8 @@ dependencies = [ [[package]] name = "reth-static-file-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "clap", @@ -8847,8 +8869,8 @@ dependencies = [ [[package]] name = "reth-storage-api" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8871,8 +8893,8 @@ dependencies = [ [[package]] name = "reth-storage-errors" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-eips 1.0.9", "alloy-primitives", @@ -8887,8 +8909,8 @@ dependencies = [ [[package]] name = "reth-tasks" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "auto_impl", "dyn-clone", @@ -8905,8 +8927,8 @@ dependencies = [ [[package]] name = "reth-testing-utils" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8921,8 +8943,8 @@ dependencies = [ [[package]] name = "reth-tokio-util" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "tokio", "tokio-stream", @@ -8931,8 +8953,8 @@ dependencies = [ [[package]] name = "reth-tracing" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "clap", "eyre", @@ -8946,8 +8968,8 @@ dependencies = [ [[package]] name = "reth-transaction-pool" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -8985,8 +9007,8 @@ dependencies = [ [[package]] name = "reth-trie" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -9010,8 +9032,8 @@ dependencies = [ [[package]] name = "reth-trie-common" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-primitives", @@ -9036,8 +9058,8 @@ dependencies = [ [[package]] name = "reth-trie-db" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "reth-db-api", @@ -9049,8 +9071,8 @@ dependencies = [ [[package]] name = "reth-trie-parallel" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9074,8 +9096,8 @@ dependencies = [ [[package]] name = "reth-trie-sparse" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9092,8 +9114,8 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "zstd", ] @@ -9290,7 +9312,7 @@ dependencies = [ [[package]] name = "revm-scroll" version = "0.1.0" -source = "git+https://github.com/scroll-tech/scroll-revm#0c222b9298806809edd9a6f6ab5d415abcab588c" +source = "git+https://github.com/scroll-tech/scroll-revm#54e4e90105d95f14c0d055f0e37bd689b6f22306" dependencies = [ "auto_impl", "enumn", @@ -9837,7 +9859,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -9850,7 +9872,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.4", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -9908,7 +9930,7 @@ dependencies = [ "security-framework 3.2.0", "security-framework-sys", "webpki-root-certs 0.26.11", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -9995,8 +10017,8 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll-alloy-consensus" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -10009,12 +10031,13 @@ dependencies = [ "reth-codecs", "reth-codecs-derive", "serde", + "serde_with", ] [[package]] name = "scroll-alloy-evm" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -10030,8 +10053,8 @@ dependencies = [ [[package]] name = "scroll-alloy-hardforks" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-hardforks", "auto_impl", @@ -10040,8 +10063,8 @@ dependencies = [ [[package]] name = "scroll-alloy-network" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-network", @@ -10055,10 +10078,9 @@ dependencies = [ [[package]] name = "scroll-alloy-provider" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ - "alloy-json-rpc", "alloy-primitives", "alloy-provider", "alloy-rpc-client", @@ -10070,7 +10092,6 @@ dependencies = [ "eyre", "http-body-util", "jsonrpsee", - "jsonrpsee-types", "reqwest", "reth-rpc-api", "reth-scroll-engine-primitives", @@ -10082,8 +10103,8 @@ dependencies = [ [[package]] name = "scroll-alloy-rpc-types" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-consensus 1.0.9", "alloy-eips 1.0.9", @@ -10099,8 +10120,8 @@ dependencies = [ [[package]] name = "scroll-alloy-rpc-types-engine" -version = "1.4.3" -source = "git+https://github.com/scroll-tech/reth.git#4d7529e36b0c51266412828171db5ee5ca72da16" +version = "1.4.8" +source = "git+https://github.com/scroll-tech/reth.git#ce8b77ab464afc9b5159bdfff690892fd01be744" dependencies = [ "alloy-primitives", "alloy-rpc-types-engine 1.0.9", @@ -11289,7 +11310,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix 1.0.7", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -12311,7 +12332,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] diff --git a/crates/derivation-pipeline/src/lib.rs b/crates/derivation-pipeline/src/lib.rs index 9679a0db..9165415c 100644 --- a/crates/derivation-pipeline/src/lib.rs +++ b/crates/derivation-pipeline/src/lib.rs @@ -209,6 +209,7 @@ pub async fn derive { - tracing::info!(target: "scroll::engine", ?result, "handling payload building result"); + tracing::info!(target: "scroll::engine", result = ?result.as_ref().map(|b| b.header.as_ref()), "handling payload building result"); match result { Ok(block) => { diff --git a/crates/manager/src/consensus.rs b/crates/manager/src/consensus.rs index 826eaaf3..06c3246f 100644 --- a/crates/manager/src/consensus.rs +++ b/crates/manager/src/consensus.rs @@ -76,11 +76,10 @@ impl Consensus for SystemContractConsensus { #[cfg(test)] mod tests { use super::*; - use alloy_consensus::TxEip1559; + use alloy_consensus::{Signed, TxEip1559}; use alloy_primitives::{address, b256, bloom, bytes, TxKind, B64, U256}; use reth_primitives_traits::Header; - use reth_scroll_primitives::{ScrollBlockBody, ScrollTransactionSigned}; - use scroll_alloy_consensus::ScrollTypedTransaction; + use reth_scroll_primitives::ScrollBlockBody; use std::{str::FromStr, sync::OnceLock}; #[test] @@ -119,11 +118,8 @@ mod tests { requests_hash: None, }, body: ScrollBlockBody { - transactions: vec![ScrollTransactionSigned { - hash: tx_hash, - signature: - Signature::new(U256::from_str("12217337930795921874768983252881296563512928283585900928219483692173266513447").unwrap(), U256::from_str("37490897792770890087946325233571758133021734266092518377537449521790010698782").unwrap(), true) , - transaction: ScrollTypedTransaction::Eip1559(TxEip1559{ + transactions: vec![ + Signed::new_unhashed(TxEip1559 { chain_id: 534352, nonce: 145014, gas_limit: 600000, @@ -133,13 +129,11 @@ mod tests { value: U256::ZERO, access_list: Default::default(), input: bytes!("a00597a00000000000000000000000000000000000000000000000000000000001826cbe0000000000000000000000000000000000005eb6831c1aa0faf2055c7d53270e00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000813df550a32d4a9d42010d057386429ad2328ed9000000000000000000000000000000000000000000000000000000006807befd"), - }) , - }], + }, Signature::new(U256::from_str("12217337930795921874768983252881296563512928283585900928219483692173266513447").unwrap(), U256::from_str("37490897792770890087946325233571758133021734266092518377537449521790010698782").unwrap(), true)).into()], ommers: vec![], withdrawals: None, }, }; - consensus.validate_new_block(&block, &signature).unwrap() } } diff --git a/crates/network/Cargo.toml b/crates/network/Cargo.toml index 8143af1c..5ea6f040 100644 --- a/crates/network/Cargo.toml +++ b/crates/network/Cargo.toml @@ -44,4 +44,5 @@ serde = [ "reth-scroll-primitives/serde", "scroll-wire/serde", "reth-primitives-traits/serde", + "reth-storage-api/serde", ] diff --git a/crates/node/src/add_ons/mod.rs b/crates/node/src/add_ons/mod.rs index 641860b1..26c0a3d4 100644 --- a/crates/node/src/add_ons/mod.rs +++ b/crates/node/src/add_ons/mod.rs @@ -85,7 +85,7 @@ where ) -> eyre::Result { let Self { rpc_add_ons, rollup_manager_addon: rollup_node_manager_addon } = self; let rpc_handle: RpcHandle> = - rpc_add_ons.launch_add_ons_with(ctx.clone(), |_, _, _| Ok(())).await?; + rpc_add_ons.launch_add_ons_with(ctx.clone(), |_| Ok(())).await?; let (rollup_manager_handle, l1_watcher_tx) = rollup_node_manager_addon.launch(ctx.clone(), rpc_handle.clone()).await?; Ok(ScrollAddOnsHandle { diff --git a/crates/node/src/bridge.rs b/crates/node/src/bridge.rs deleted file mode 100644 index 7f6c7fc1..00000000 --- a/crates/node/src/bridge.rs +++ /dev/null @@ -1,87 +0,0 @@ -// TODO: remove this when re-integrating the bridge -#![allow(dead_code)] - -use alloy_primitives::Signature; -use reth_network::import::{BlockImport as RethBlockImport, NewBlockEvent}; -use reth_network_peers::PeerId; -use reth_scroll_primitives::ScrollBlock; -use scroll_network::NewBlockWithPeer; -use std::{ - sync::Arc, - task::{Context, Poll}, -}; -use tokio::sync::mpsc::UnboundedSender; -use tracing::{trace, warn}; - -const ECDSA_SIGNATURE_LEN: usize = 65; - -/// A block import implementation for the eth-wire protocol that sends block to the scroll-wire -/// protocol. -#[derive(Debug)] -struct BridgeBlockImport { - /// A sender for sending events to the scroll-wire protocol. - new_block_tx: UnboundedSender, -} - -impl BridgeBlockImport { - /// Creates a new [`BridgeBlockImport`] instance with the provided events sender and inner block - /// import. - const fn new(new_block_tx: UnboundedSender) -> Self { - Self { new_block_tx } - } - - /// Bridges a new block from the eth-wire protocol to the scroll-wire protocol. - fn bridge_new_block_to_scroll_wire( - &self, - peer_id: PeerId, - block: Arc>, - ) { - // We create a reference to the extra data of the incoming block. - let extra_data = &block.block.extra_data; - - // If we can extract a signature from the extra data we send the block to the scroll-wire - // protocol. The signature is extracted from the last `ECDSA_SIGNATURE_LEN` bytes of the - // extra data field. - if let Some(signature) = extra_data - .len() - .checked_sub(ECDSA_SIGNATURE_LEN) - .and_then(|i| Signature::from_raw(&extra_data[i..]).ok()) - { - let block = block.block.clone(); - trace!(target: "scroll::bridge::import", peer_id = %peer_id, block = ?block.hash_slow(), "Received new block from eth-wire protocol"); - - // We trigger a new block event to be sent to the rollup node's network manager. If this - // results in an error it means the network manager has been dropped. - let _ = self.new_block_tx.send(NewBlockWithPeer { peer_id, block, signature }); - } else { - warn!(target: "scroll::bridge::import", peer_id = %peer_id, "Failed to extract signature from block extra data"); - } - } -} - -impl RethBlockImport for BridgeBlockImport { - /// This function is called when a new block is received from the network, it delegates the - /// block import to the inner block import. - fn on_new_block( - &mut self, - peer_id: PeerId, - incoming_block: NewBlockEvent, - ) { - // We then delegate the block import to the inner block import. - match incoming_block { - NewBlockEvent::Block(block) => { - self.bridge_new_block_to_scroll_wire(peer_id, block.block) - } - NewBlockEvent::Hashes(_) => { - warn!(target: "scroll::bridge::import", peer_id = %peer_id, "Received NewBlockHashes event, expected NewBlock event"); - } - } - } - - fn poll( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Pending - } -} diff --git a/crates/node/src/lib.rs b/crates/node/src/lib.rs index 719d9c25..5d774ed6 100644 --- a/crates/node/src/lib.rs +++ b/crates/node/src/lib.rs @@ -2,7 +2,6 @@ pub mod add_ons; mod args; -mod bridge; mod constants; mod node; #[cfg(feature = "test-utils")] diff --git a/crates/node/src/node.rs b/crates/node/src/node.rs index c4c914ab..ab397849 100644 --- a/crates/node/src/node.rs +++ b/crates/node/src/node.rs @@ -1,6 +1,7 @@ //! Node specific implementations for Scroll rollup node. use crate::args::ScrollRollupNodeConfig; +use std::time::Duration; use super::add_ons::ScrollRollupNodeAddOns; use reth_node_api::NodeTypes; @@ -10,7 +11,7 @@ use reth_node_builder::{ }; use reth_scroll_node::{ ScrollConsensusBuilder, ScrollExecutorBuilder, ScrollNetworkBuilder, ScrollNode, - ScrollPayloadBuilder, ScrollPoolBuilder, + ScrollPayloadBuilderBuilder, ScrollPoolBuilder, }; /// The Scroll node implementation. @@ -37,7 +38,7 @@ where type ComponentsBuilder = ComponentsBuilder< N, ScrollPoolBuilder, - BasicPayloadServiceBuilder, + BasicPayloadServiceBuilder, ScrollNetworkBuilder, ScrollExecutorBuilder, ScrollConsensusBuilder, @@ -48,7 +49,14 @@ where >; fn components_builder(&self) -> Self::ComponentsBuilder { - ScrollNode::components() + ScrollNode::components().payload(BasicPayloadServiceBuilder::new( + ScrollPayloadBuilderBuilder { + payload_building_time_limit: Duration::from_millis( + self.config.sequencer_args.payload_building_duration, + ), + best_transactions: (), + }, + )) } fn add_ons(&self) -> Self::AddOns { diff --git a/crates/node/src/test_utils.rs b/crates/node/src/test_utils.rs index 662dc2bb..6d7d43b2 100644 --- a/crates/node/src/test_utils.rs +++ b/crates/node/src/test_utils.rs @@ -137,7 +137,7 @@ pub fn default_test_scroll_rollup_node_config() -> ScrollRollupNodeConfig { database_args: DatabaseArgs { path: Some(PathBuf::from("sqlite::memory:")) }, l1_provider_args: L1ProviderArgs::default(), engine_driver_args: EngineDriverArgs { en_sync_trigger: 100 }, - sequencer_args: SequencerArgs::default(), + sequencer_args: SequencerArgs { payload_building_duration: 1000, ..Default::default() }, beacon_provider_args: BeaconProviderArgs::default(), signer_args: Default::default(), } diff --git a/crates/node/tests/e2e.rs b/crates/node/tests/e2e.rs index 557de772..2ca0a3fd 100644 --- a/crates/node/tests/e2e.rs +++ b/crates/node/tests/e2e.rs @@ -76,7 +76,7 @@ async fn can_bridge_l1_messages() -> eyre::Result<()> { rnm_handle.build_block().await; if let Some(RollupManagerEvent::BlockSequenced(block)) = rnm_events.next().await { assert_eq!(block.body.transactions.len(), 1); - assert_eq!(block.body.transactions[0].transaction.l1_message().unwrap(), &l1_message,); + assert_eq!(block.body.transactions[0].as_l1_message().unwrap().inner(), &l1_message,); } else { panic!("Failed to receive block from rollup node"); } @@ -104,6 +104,7 @@ async fn can_sequence_and_gossip_blocks() { block_time: 0, max_l1_messages_per_block: 4, l1_message_inclusion_mode: L1MessageInclusionMode::BlockDepth(0), + payload_building_duration: 1000, ..SequencerArgs::default() }, beacon_provider_args: BeaconProviderArgs::default(), diff --git a/crates/providers/src/execution_payload.rs b/crates/providers/src/execution_payload.rs index bdf17136..efa5853f 100644 --- a/crates/providers/src/execution_payload.rs +++ b/crates/providers/src/execution_payload.rs @@ -58,8 +58,14 @@ mod tests { let chain_spec = (*SCROLL_MAINNET).clone(); // Get a test node. - let (mut node, _tasks, _wallet) = - setup_engine::(1, chain_spec, false, scroll_payload_attributes).await?; + let (mut node, _tasks, _wallet) = setup_engine::( + 1, + chain_spec, + false, + Default::default(), + scroll_payload_attributes, + ) + .await?; let node = node.pop().unwrap(); // Get a provider to the node. diff --git a/crates/sequencer/tests/e2e.rs b/crates/sequencer/tests/e2e.rs index 2665c939..bf48f25e 100644 --- a/crates/sequencer/tests/e2e.rs +++ b/crates/sequencer/tests/e2e.rs @@ -2,6 +2,7 @@ use alloy_consensus::BlockHeader; use alloy_primitives::{hex, Address, U256}; +use alloy_rpc_types_engine::PayloadAttributes; use futures::stream::StreamExt; use reth_e2e_test_utils::transaction::TransactionTestContext; use reth_node_core::primitives::SignedTransaction; @@ -19,11 +20,20 @@ use rollup_node_sequencer::{L1MessageInclusionMode, Sequencer}; use rollup_node_signer::SignerEvent; use scroll_alloy_consensus::TxL1Message; use scroll_alloy_provider::ScrollAuthApiEngineClient; +use scroll_alloy_rpc_types_engine::ScrollPayloadAttributes; use scroll_db::{test_utils::setup_test_db, DatabaseOperations}; use scroll_engine::{EngineDriver, EngineDriverEvent, ForkchoiceState}; -use std::{io::Write, path::PathBuf, sync::Arc}; +use std::{ + io::Write, + path::PathBuf, + sync::Arc, + time::{SystemTime, UNIX_EPOCH}, +}; use tempfile::NamedTempFile; -use tokio::{sync::Mutex, time::Duration}; +use tokio::{ + sync::Mutex, + time::{Duration, Instant}, +}; #[tokio::test] async fn can_build_blocks() { @@ -429,6 +439,7 @@ async fn can_sequence_blocks_with_private_key_file() -> eyre::Result<()> { block_time: 0, max_l1_messages_per_block: 4, l1_message_inclusion_mode: L1MessageInclusionMode::BlockDepth(0), + payload_building_duration: 1000, ..SequencerArgs::default() }, beacon_provider_args: BeaconProviderArgs::default(), @@ -509,6 +520,7 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result< block_time: 0, max_l1_messages_per_block: 4, l1_message_inclusion_mode: L1MessageInclusionMode::BlockDepth(0), + payload_building_duration: 1000, ..SequencerArgs::default() }, beacon_provider_args: BeaconProviderArgs::default(), @@ -559,3 +571,179 @@ async fn can_sequence_blocks_with_hex_key_file_without_prefix() -> eyre::Result< Ok(()) } + +#[tokio::test] +async fn can_build_blocks_and_exit_at_gas_limit() { + reth_tracing::init_test_tracing(); + + let chain_spec = SCROLL_DEV.clone(); + const MIN_TRANSACTION_GAS_COST: u64 = 21_000; + const BLOCK_BUILDING_DURATION: Duration = Duration::from_millis(250); + const BLOCK_GAP_TRIGGER: u64 = 100; + const TRANSACTIONS_COUNT: usize = 2000; + + // setup a test node. use a high value for the payload building duration to be sure we don't + // exit early. + let (mut nodes, _tasks, wallet) = setup_engine( + ScrollRollupNodeConfig { + sequencer_args: SequencerArgs { payload_building_duration: 1000, ..Default::default() }, + ..default_test_scroll_rollup_node_config() + }, + 1, + chain_spec, + false, + ) + .await + .unwrap(); + let node = nodes.pop().unwrap(); + let wallet = Arc::new(Mutex::new(wallet)); + + // add transactions. + let mut wallet_lock = wallet.lock().await; + for _ in 0..TRANSACTIONS_COUNT { + let raw_tx = TransactionTestContext::transfer_tx_nonce_bytes( + wallet_lock.chain_id, + wallet_lock.inner.clone(), + wallet_lock.inner_nonce, + ) + .await; + wallet_lock.inner_nonce += 1; + node.rpc.inject_tx(raw_tx).await.unwrap(); + } + drop(wallet_lock); + + // create a forkchoice state + let genesis_hash = node.inner.chain_spec().genesis_hash(); + let fcs = ForkchoiceState::new( + BlockInfo { hash: genesis_hash, number: 0 }, + Default::default(), + Default::default(), + ); + + // create the engine driver connected to the node + let auth_client = node.inner.engine_http_client(); + let engine_client = ScrollAuthApiEngineClient::new(auth_client); + let mut engine_driver = EngineDriver::new( + Arc::new(engine_client), + (*SCROLL_DEV).clone(), + None::, + fcs, + false, + BLOCK_GAP_TRIGGER, + BLOCK_BUILDING_DURATION, + ); + + // issue a new payload to the execution layer. + let timestamp = + SystemTime::now().duration_since(UNIX_EPOCH).expect("Time can't go backwards").as_secs(); + engine_driver.handle_build_new_payload(ScrollPayloadAttributes { + payload_attributes: PayloadAttributes { + timestamp, + prev_randao: Default::default(), + suggested_fee_recipient: Default::default(), + withdrawals: None, + parent_beacon_block_root: None, + }, + transactions: None, + no_tx_pool: false, + block_data_hint: None, + }); + + // verify the gas used is within MIN_TRANSACTION_GAS_COST of the gas limit. + if let Some(EngineDriverEvent::NewPayload(block)) = engine_driver.next().await { + assert!(block.header.gas_used >= block.gas_limit - MIN_TRANSACTION_GAS_COST); + } else { + panic!("expected a new payload event"); + } +} + +#[tokio::test] +async fn can_build_blocks_and_exit_at_time_limit() { + reth_tracing::init_test_tracing(); + + let chain_spec = SCROLL_DEV.clone(); + const MIN_TRANSACTION_GAS_COST: u64 = 21_000; + const BLOCK_BUILDING_DURATION: Duration = Duration::from_secs(1); + const BLOCK_GAP_TRIGGER: u64 = 100; + const TRANSACTIONS_COUNT: usize = 2000; + + // setup a test node. use a low payload building duration in order to exit before we reach the + // gas limit. + let (mut nodes, _tasks, wallet) = setup_engine( + ScrollRollupNodeConfig { + sequencer_args: SequencerArgs { payload_building_duration: 10, ..Default::default() }, + ..default_test_scroll_rollup_node_config() + }, + 1, + chain_spec, + false, + ) + .await + .unwrap(); + let node = nodes.pop().unwrap(); + let wallet = Arc::new(Mutex::new(wallet)); + + // add transactions. + let mut wallet_lock = wallet.lock().await; + for _ in 0..TRANSACTIONS_COUNT { + let raw_tx = TransactionTestContext::transfer_tx_nonce_bytes( + wallet_lock.chain_id, + wallet_lock.inner.clone(), + wallet_lock.inner_nonce, + ) + .await; + wallet_lock.inner_nonce += 1; + node.rpc.inject_tx(raw_tx).await.unwrap(); + } + drop(wallet_lock); + + // create a forkchoice state + let genesis_hash = node.inner.chain_spec().genesis_hash(); + let fcs = ForkchoiceState::new( + BlockInfo { hash: genesis_hash, number: 0 }, + Default::default(), + Default::default(), + ); + + // create the engine driver connected to the node + let auth_client = node.inner.engine_http_client(); + let engine_client = ScrollAuthApiEngineClient::new(auth_client); + let mut engine_driver = EngineDriver::new( + Arc::new(engine_client), + (*SCROLL_DEV).clone(), + None::, + fcs, + false, + BLOCK_GAP_TRIGGER, + BLOCK_BUILDING_DURATION, + ); + + // start timer. + let start = Instant::now(); + + // issue a new payload to the execution layer. + let timestamp = + SystemTime::now().duration_since(UNIX_EPOCH).expect("Time can't go backwards").as_secs(); + engine_driver.handle_build_new_payload(ScrollPayloadAttributes { + payload_attributes: PayloadAttributes { + timestamp, + prev_randao: Default::default(), + suggested_fee_recipient: Default::default(), + withdrawals: None, + parent_beacon_block_root: None, + }, + transactions: None, + no_tx_pool: false, + block_data_hint: None, + }); + + if let Some(EngineDriverEvent::NewPayload(block)) = engine_driver.next().await { + let payload_building_duration = start.elapsed(); + // verify that the block building duration is within 10% of the target (we allow for 10% + // mismatch due to slower performance of debug mode). + assert!(payload_building_duration < BLOCK_BUILDING_DURATION * 110 / 100); + assert!(block.gas_used < block.gas_limit - MIN_TRANSACTION_GAS_COST); + } else { + panic!("expected a new payload event"); + } +} diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index aa1207b3..2fec3892 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -8,7 +8,7 @@ services: command: > ' if [ "$${ENV:-}" = "dev" ]; then - exec rollup-node node --chain dev --datadir=/l2reth --metrics=0.0.0.0:6060 --disable-discovery --http --http.addr=0.0.0.0 --http.port=8545 --http.corsdomain "*" --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --log.stdout.format log-fmt -vvv --sequencer.enabled --sequencer.block-time 250 --builder.deadline 250ms --sequencer.payload-building-duration 230 --txpool.pending-max-count=1000000 --builder.gaslimit=10000000000 --rpc.max-connections=5000 + exec rollup-node node --chain dev --datadir=/l2reth --metrics=0.0.0.0:6060 --disable-discovery --http --http.addr=0.0.0.0 --http.port=8545 --http.corsdomain "*" --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --log.stdout.format log-fmt -vvv --sequencer.enabled --sequencer.block-time 250 --sequencer.payload-building-duration 230 --txpool.pending-max-count=1000000 --builder.gaslimit=10000000000 --rpc.max-connections=5000 elif [ "$${ENV:-}" = "sepolia" ]; then exec rollup-node node --chain scroll-sepolia --datadir=/l2reth --metrics=0.0.0.0:6060 --disable-discovery \ --http --http.addr=0.0.0.0 --http.port=8545 --http.corsdomain "*" --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev \