Skip to content

Commit e9c6741

Browse files
author
Solar Mithril
committed
remove config entry temp
lock Simple engine api custom engine api
1 parent 99c69f4 commit e9c6741

File tree

8 files changed

+725
-453
lines changed

8 files changed

+725
-453
lines changed

Cargo.lock

Lines changed: 387 additions & 382 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 71 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -40,62 +40,66 @@ codegen-units = 1
4040
incremental = false
4141

4242
[workspace.dependencies]
43-
reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
44-
reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
45-
reth-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
46-
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
47-
reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
48-
reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
49-
reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
50-
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
51-
reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
52-
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
53-
reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
54-
reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
55-
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
56-
reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
57-
reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
58-
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
59-
reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1", features = [
43+
reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
44+
reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
45+
reth-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
46+
reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
47+
reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
48+
reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
49+
reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
50+
reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
51+
reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
52+
reth-rpc-engine-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
53+
reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
54+
reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
55+
reth-trie-parallel = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
56+
reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
57+
reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
58+
reth-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
59+
reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
60+
reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3", features = [
6061
"test-utils",
6162
] }
62-
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
63-
reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
64-
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
65-
reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
66-
reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
67-
reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
68-
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
69-
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
70-
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
71-
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
72-
reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
73-
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
74-
reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
75-
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
76-
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
77-
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
78-
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
79-
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
63+
reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
64+
reth-storage-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
65+
reth-rpc-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
66+
reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
67+
reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
68+
reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
69+
reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
70+
reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
71+
reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
72+
reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
73+
reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
74+
reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
75+
reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
76+
reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
77+
reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
78+
reth-rpc-layer = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
79+
reth-network-peers = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
80+
reth-testing-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
81+
reth-node-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
82+
reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
8083

8184
# reth optimism
82-
reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
83-
reth-optimism-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
84-
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
85-
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
86-
reth-optimism-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
87-
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
88-
reth-optimism-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
89-
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
90-
reth-optimism-txpool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.1" }
85+
reth-optimism-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
86+
reth-optimism-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
87+
reth-optimism-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
88+
reth-optimism-rpc = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
89+
reth-optimism-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
90+
reth-optimism-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
91+
reth-optimism-node = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
92+
reth-optimism-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
93+
reth-optimism-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
94+
reth-optimism-txpool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.4.3" }
9195

92-
# compatible with reth "v1.4.1 dependencies
96+
# compatible with reth "v1.4.3 dependencies
9397
revm = { version = "23.1.0", features = [
9498
"std",
9599
"secp256k1",
96100
"optional_balance_check",
97101
], default-features = false }
98-
revm-inspectors = { version = "0.22.0", default-features = false }
102+
revm-inspectors = { version = "0.22.3", default-features = false }
99103
op-revm = { version = "4.0.2", default-features = false }
100104

101105
ethereum_ssz_derive = "0.9.0"
@@ -104,29 +108,29 @@ ethereum_ssz = "0.9.0"
104108
alloy-primitives = { version = "1.1.0", default-features = false }
105109
alloy-rlp = "0.3.10"
106110
alloy-chains = "0.2.0"
107-
alloy-evm = { version = "0.8.0", default-features = false }
108-
alloy-provider = { version = "1.0.3", features = ["ipc", "pubsub", "txpool-api"] }
109-
alloy-pubsub = { version = "1.0.3" }
110-
alloy-eips = { version = "1.0.3" }
111-
alloy-rpc-types = { version = "1.0.3" }
112-
alloy-json-rpc = { version = "1.0.3" }
113-
alloy-transport-http = { version = "1.0.3" }
114-
alloy-network = { version = "1.0.3" }
115-
alloy-network-primitives = { version = "1.0.3" }
116-
alloy-transport = { version = "1.0.3" }
117-
alloy-node-bindings = { version = "1.0.3" }
118-
alloy-consensus = { version = "1.0.3", features = ["kzg"] }
119-
alloy-serde = { version = "1.0.3" }
120-
alloy-rpc-types-beacon = { version = "1.0.3", features = ["ssz"] }
121-
alloy-rpc-types-engine = { version = "1.0.3", features = ["ssz"] }
122-
alloy-rpc-types-eth = { version = "1.0.3" }
123-
alloy-signer-local = { version = "1.0.3" }
124-
alloy-rpc-client = { version = "1.0.3" }
125-
alloy-genesis = { version = "1.0.3" }
111+
alloy-evm = { version = "0.8.1", default-features = false }
112+
alloy-provider = { version = "1.0.5", features = ["ipc", "pubsub", "txpool-api"] }
113+
alloy-pubsub = { version = "1.0.5" }
114+
alloy-eips = { version = "1.0.5" }
115+
alloy-rpc-types = { version = "1.0.5" }
116+
alloy-json-rpc = { version = "1.0.5" }
117+
alloy-transport-http = { version = "1.0.5" }
118+
alloy-network = { version = "1.0.5" }
119+
alloy-network-primitives = { version = "1.0.5" }
120+
alloy-transport = { version = "1.0.5" }
121+
alloy-node-bindings = { version = "1.0.5" }
122+
alloy-consensus = { version = "1.0.5", features = ["kzg"] }
123+
alloy-serde = { version = "1.0.5" }
124+
alloy-rpc-types-beacon = { version = "1.0.5", features = ["ssz"] }
125+
alloy-rpc-types-engine = { version = "1.0.5", features = ["ssz"] }
126+
alloy-rpc-types-eth = { version = "1.0.5" }
127+
alloy-signer-local = { version = "1.0.5" }
128+
alloy-rpc-client = { version = "1.0.5" }
129+
alloy-genesis = { version = "1.0.5" }
126130
alloy-trie = { version = "0.8.1" }
127131

128132
# optimism
129-
alloy-op-evm = { version = "0.8.0", default-features = false }
133+
alloy-op-evm = { version = "0.8.1", default-features = false }
130134
op-alloy-rpc-types = { version = "0.16.0", default-features = false }
131135
op-alloy-rpc-types-engine = { version = "0.16.0", default-features = false }
132136
op-alloy-rpc-jsonrpsee = { version = "0.16.0", default-features = false }
@@ -141,6 +145,7 @@ thiserror = { version = "1.0.64" }
141145
eyre = { version = "0.6.12" }
142146
jsonrpsee = { version = "0.25.1" }
143147
jsonrpsee-types = { version = "0.25.1" }
148+
jsonrpsee-core = { version = "0.25.1" }
144149
parking_lot = { version = "0.12.3" }
145150
tokio = { version = "1.40.0" }
146151
auto_impl = { version = "1.2.0" }

crates/op-rbuilder/Cargo.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ repository.workspace = true
1111
reth.workspace = true
1212
reth-optimism-node.workspace = true
1313
reth-optimism-cli.workspace = true
14+
reth-optimism-rpc.workspace = true
1415
reth-optimism-chainspec.workspace = true
1516
reth-optimism-payload-builder.workspace = true
1617
reth-optimism-evm.workspace = true
@@ -26,6 +27,8 @@ reth-chainspec.workspace = true
2627
reth-primitives.workspace = true
2728
reth-primitives-traits.workspace = true
2829
reth-node-api.workspace = true
30+
reth-rpc-engine-api.workspace = true
31+
reth-node-core.workspace = true
2932
reth-basic-payload-builder.workspace = true
3033
reth-payload-builder.workspace = true
3134
reth-node-ethereum.workspace = true
@@ -43,6 +46,8 @@ reth-network-peers.workspace = true
4346
reth-testing-utils.workspace = true
4447
reth-optimism-forks.workspace = true
4548
reth-node-builder.workspace = true
49+
reth-storage-api.workspace = true
50+
reth-rpc-api.workspace = true
4651
reth-rpc-eth-types.workspace = true
4752

4853
alloy-primitives.workspace = true
@@ -76,7 +81,8 @@ serde.workspace = true
7681
secp256k1.workspace = true
7782
tokio.workspace = true
7883
jsonrpsee = { workspace = true }
79-
jsonrpsee-types.workspace = true
84+
jsonrpsee-core = { workspace = true }
85+
jsonrpsee-types = { workspace = true }
8086
async-trait = { workspace = true }
8187
clap_builder = { workspace = true }
8288
clap.workspace = true

crates/op-rbuilder/src/args/op.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ pub struct OpRbuilderArgs {
6363
#[arg(long = "builder.enable-revert-protection", default_value = "false")]
6464
pub enable_revert_protection: bool,
6565

66+
/// Path to builder playgorund to automatically start up the node connected to it
6667
#[arg(
6768
long = "builder.playground",
6869
num_args = 0..=1,
@@ -71,6 +72,9 @@ pub struct OpRbuilderArgs {
7172
env = "PLAYGROUND_DIR",
7273
)]
7374
pub playground: Option<PathBuf>,
75+
/// List or builders in the network that FCU would be propagated to separated by comma
76+
#[arg(long = "builder.engine-api-peers")]
77+
pub engine_peers: Option<String>,
7478
}
7579

7680
fn expand_path(s: &str) -> Result<PathBuf, String> {

crates/op-rbuilder/src/main.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ use args::*;
22
use builders::{BuilderConfig, BuilderMode, FlashblocksBuilder, StandardBuilder};
33
use core::fmt::Debug;
44
use reth_optimism_node::{
5-
node::{OpAddOnsBuilder, OpPoolBuilder},
5+
node::{OpAddOnsBuilder, OpEngineValidatorBuilder, OpPoolBuilder},
66
OpNode,
77
};
8+
89
use reth_transaction_pool::TransactionPool;
910

1011
/// CLI argument parsing.
@@ -23,6 +24,7 @@ use metrics::{
2324
VERGEN_CARGO_FEATURES, VERGEN_CARGO_TARGET_TRIPLE, VERGEN_GIT_SHA,
2425
};
2526
use monitor_tx_pool::monitor_tx_pool;
27+
use primitives::reth::engine_api_builder::OpEngineApiBuilder;
2628
use revert_protection::{EthApiOverrideServer, RevertProtectionExt};
2729
use tx::FBPooledTransaction;
2830

@@ -68,6 +70,8 @@ where
6870
cli.run(|builder, builder_args| async move {
6971
let builder_config = BuilderConfig::<B::Config>::try_from(builder_args.clone())
7072
.expect("Failed to convert rollup args to builder config");
73+
let default_builder: OpEngineApiBuilder<OpEngineValidatorBuilder> =
74+
OpEngineApiBuilder::default();
7175
let da_config = builder_config.da_config.clone();
7276
let rollup_args = builder_args.rollup_args;
7377
let op_node = OpNode::new(rollup_args.clone());
@@ -96,7 +100,9 @@ where
96100
.with_sequencer(rollup_args.sequencer.clone())
97101
.with_enable_tx_conditional(rollup_args.enable_tx_conditional)
98102
.with_da_config(da_config)
99-
.build(),
103+
.build()
104+
.rpc_add_ons
105+
.with_engine_api(default_builder),
100106
)
101107
.extend_rpc_modules(move |ctx| {
102108
if builder_args.enable_revert_protection {

0 commit comments

Comments
 (0)