Skip to content
This repository was archived by the owner on Jan 16, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion bin/host/src/interop/cfg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ impl InteropHost {
// Deserialize the config and return it.
let cfg: RollupConfig = serde_json::from_str(&ser_config)?;

acc.insert(cfg.l2_chain_id, cfg);
acc.insert(cfg.l2_chain_id.id(), cfg);
Ok(acc)
})
}
Expand Down
2 changes: 1 addition & 1 deletion bin/node/src/commands/node.rs
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ impl NodeCommand {

info!(
target: "rollup_node",
chain_id = cfg.l2_chain_id,
chain_id = cfg.l2_chain_id.id(),
"Starting rollup node services"
);
for hf in cfg.hardforks.to_string().lines() {
Expand Down
2 changes: 1 addition & 1 deletion bin/supervisor/src/flags/supervisor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ impl SupervisorArgs {

rollup_config_set
.add_from_rollup_config(
chain_id,
chain_id.id(),
rollup_config,
BlockInfo::new(
l1_genesis.header.hash,
Expand Down
1 change: 1 addition & 0 deletions crates/node/p2p/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ kona-cli.workspace = true
multihash.workspace = true
alloy-eips.workspace = true
serde_json.workspace = true
alloy-chains.workspace = true

rand = { workspace = true, features = ["thread_rng"] }
arbitrary = { workspace = true, features = ["derive"] }
Expand Down
7 changes: 5 additions & 2 deletions crates/node/p2p/src/gossip/behaviour.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ impl Behaviour {
mod tests {
use super::*;
use crate::gossip::{config, handler::BlockHandler};
use alloy_chains::Chain;
use alloy_primitives::Address;
use kona_genesis::RollupConfig;
use libp2p::gossipsub::{IdentTopic, TopicHash};
Expand All @@ -118,8 +119,10 @@ mod tests {
let key = libp2p::identity::Keypair::generate_secp256k1();
let cfg = config::default_config();
let (_, recv) = tokio::sync::watch::channel(Address::default());
let block_handler =
BlockHandler::new(RollupConfig { l2_chain_id: 10, ..Default::default() }, recv);
let block_handler = BlockHandler::new(
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
recv,
);
let handlers: Vec<Box<dyn Handler>> = vec![Box::new(block_handler)];
let behaviour = Behaviour::new(key.public(), cfg, &handlers).unwrap();
let mut topics = behaviour.gossipsub.topics().cloned().collect::<Vec<TopicHash>>();
Expand Down
36 changes: 19 additions & 17 deletions crates/node/p2p/src/gossip/block_validity.rs
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ impl BlockHandler {
}

// CHECK: The signature is valid.
let msg = envelope.payload_hash.signature_message(self.rollup_config.l2_chain_id);
let msg = envelope.payload_hash.signature_message(self.rollup_config.l2_chain_id.id());
let block_signer = *self.signer_recv.borrow();

// The block has a valid signature.
Expand Down Expand Up @@ -256,7 +256,9 @@ impl BlockHandler {

#[cfg(test)]
pub(crate) mod tests {

use super::*;
use alloy_chains::Chain;
use alloy_consensus::{Block, EMPTY_OMMER_ROOT_HASH};
use alloy_eips::{eip2718::Encodable2718, eip4895::Withdrawal};
use alloy_primitives::{Address, B256, Bytes, Signature};
Expand Down Expand Up @@ -377,7 +379,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -405,7 +407,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -433,7 +435,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -461,7 +463,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand All @@ -486,7 +488,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -514,7 +516,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -568,7 +570,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -596,7 +598,7 @@ pub(crate) mod tests {

let (_, unsafe_signer) = tokio::sync::watch::channel(Address::default());
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -624,7 +626,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand All @@ -646,7 +648,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand All @@ -671,7 +673,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -701,7 +703,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -731,7 +733,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -763,7 +765,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -794,7 +796,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -842,7 +844,7 @@ pub(crate) mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down
4 changes: 2 additions & 2 deletions crates/node/p2p/src/gossip/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -229,9 +229,9 @@ where

/// Dials the given [`Enr`].
pub fn dial(&mut self, enr: Enr) {
let validation = EnrValidation::validate(&enr, self.handler.rollup_config.l2_chain_id);
let validation = EnrValidation::validate(&enr, self.handler.rollup_config.l2_chain_id.id());
if validation.is_invalid() {
trace!(target: "gossip", "Invalid OP Stack ENR for chain id {}: {}", self.handler.rollup_config.l2_chain_id, validation);
trace!(target: "gossip", "Invalid OP Stack ENR for chain id {}: {}", self.handler.rollup_config.l2_chain_id.id(), validation);
return;
}
let Some(multiaddr) = enr_to_multiaddr(&enr) else {
Expand Down
19 changes: 10 additions & 9 deletions crates/node/p2p/src/gossip/handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ impl BlockHandler {
///
/// Requires the chain ID and a receiver channel for the unsafe block signer.
pub fn new(rollup_config: RollupConfig, signer_recv: Receiver<Address>) -> Self {
let chain_id = rollup_config.l2_chain_id;
let chain_id = rollup_config.l2_chain_id.id();
Self {
rollup_config,
signer_recv,
Expand Down Expand Up @@ -137,6 +137,7 @@ impl BlockHandler {

#[cfg(test)]
mod tests {
use alloy_chains::Chain;
use alloy_rpc_types_engine::{ExecutionPayloadV2, ExecutionPayloadV3};
use op_alloy_rpc_types_engine::{OpExecutionPayload, OpExecutionPayloadV4, PayloadHash};

Expand All @@ -163,7 +164,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -208,7 +209,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -242,7 +243,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -281,7 +282,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -320,7 +321,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -363,7 +364,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -405,7 +406,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down Expand Up @@ -451,7 +452,7 @@ mod tests {
let signer = envelope.signature.recover_address_from_prehash(&msg).unwrap();
let (_, unsafe_signer) = tokio::sync::watch::channel(signer);
let mut handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_signer,
);

Expand Down
3 changes: 2 additions & 1 deletion crates/node/p2p/tests/common/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//! Shared code for integration tests.

use alloy_chains::Chain;
use alloy_primitives::Address;
use kona_genesis::RollupConfig;
use kona_p2p::{Behaviour, BlockHandler, ConnectionGater, GaterConfig, GossipDriver};
Expand All @@ -22,7 +23,7 @@ pub(crate) fn gossip_driver(port: u16) -> GossipDriver<ConnectionGater> {
let unsafe_block_signer = Address::default();
let (_, unsafe_block_signer_recv) = tokio::sync::watch::channel(unsafe_block_signer);
let handler = BlockHandler::new(
RollupConfig { l2_chain_id: 10, ..Default::default() },
RollupConfig { l2_chain_id: Chain::optimism_mainnet(), ..Default::default() },
unsafe_block_signer_recv,
);
let behaviour = Behaviour::new(keypair.public(), config, &[Box::new(handler.clone())])
Expand Down
1 change: 1 addition & 0 deletions crates/node/service/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ kona-peers.workspace = true
kona-macros.workspace = true

# alloy
alloy-chains.workspace = true
alloy-signer.workspace = true
alloy-signer-local.workspace = true
alloy-primitives.workspace = true
Expand Down
Loading