diff --git a/bin/reth/Cargo.toml b/bin/reth/Cargo.toml index ae8427b858ef..b74be8eedd01 100644 --- a/bin/reth/Cargo.toml +++ b/bin/reth/Cargo.toml @@ -153,6 +153,7 @@ optimism = [ "reth-payload-builder/optimism", "reth-optimism-payload-builder/optimism", "reth-ethereum-payload-builder/optimism", + "reth-node-api/optimism", ] # no-op feature flag for switching between the `optimism` and default functionality in CI matrices diff --git a/crates/node-api/Cargo.toml b/crates/node-api/Cargo.toml index 177fa745fe7c..6183d7d0ed82 100644 --- a/crates/node-api/Cargo.toml +++ b/crates/node-api/Cargo.toml @@ -22,3 +22,6 @@ serde.workspace = true [dev-dependencies] # for examples reth-payload-builder.workspace = true + +[features] +optimism = [] \ No newline at end of file diff --git a/crates/payload/basic/src/lib.rs b/crates/payload/basic/src/lib.rs index 8c035ba3c2f2..ce4098a7b343 100644 --- a/crates/payload/basic/src/lib.rs +++ b/crates/payload/basic/src/lib.rs @@ -501,6 +501,7 @@ where // with this branch. remove this branch from the non-op code. remove // `on_missing_payload` requirement from builder trait if let Some(payload) = self.builder.on_missing_payload(args) { + debug!(target: "payload_builder", id=%self.config.payload_id(), "resolving fallback payload as best payload"); return ( ResolveBestPayload { best_payload: Some(payload), maybe_better, empty_payload }, KeepPayloadJobAlive::Yes, diff --git a/crates/payload/builder/src/optimism.rs b/crates/payload/builder/src/optimism.rs index 9c22158e9c15..8e88775caeec 100644 --- a/crates/payload/builder/src/optimism.rs +++ b/crates/payload/builder/src/optimism.rs @@ -64,14 +64,14 @@ impl PayloadBuilderAttributes for OptimismPayloadBuilderAttributes { }) } - fn parent(&self) -> B256 { - self.payload_attributes.parent - } - fn payload_id(&self) -> PayloadId { self.payload_attributes.id } + fn parent(&self) -> B256 { + self.payload_attributes.parent + } + fn timestamp(&self) -> u64 { self.payload_attributes.timestamp } diff --git a/crates/payload/optimism/src/lib.rs b/crates/payload/optimism/src/lib.rs index 0939587ea40c..5866a3c92845 100644 --- a/crates/payload/optimism/src/lib.rs +++ b/crates/payload/optimism/src/lib.rs @@ -117,6 +117,11 @@ mod builder { Client: StateProviderFactory, Pool: TransactionPool, { + debug_assert!( + args.config.initialized_cfg.optimism, + "optimism payload builder called on non-optimism chain" + ); + let BuildArguments { client, pool, mut cached_reads, config, cancel, best_payload } = args; let state_provider = client.state_by_block_hash(config.parent_block.hash)?; @@ -212,7 +217,7 @@ mod builder { Err(err) => { match err { EVMError::Transaction(err) => { - trace!(target: "optimism_payload_builder", ?err, ?sequencer_tx, "Error in sequencer transaction, skipping."); + trace!(target: "payload_builder", ?err, ?sequencer_tx, "Error in sequencer transaction, skipping."); continue } err => {