From 26bc23482ac97976369c89caa86fabbcf879f5d1 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Thu, 18 Jun 2026 02:02:46 +0200 Subject: [PATCH 01/19] test(fixtures): parameterize Bedrock channel per zone, add two-zone harness test --- .../tests/indexer_ffi_helpers/mod.rs | 9 +- integration_tests/tests/two_zone.rs | 109 ++++++++++++++++++ test_fixtures/src/config.rs | 23 +++- test_fixtures/src/lib.rs | 8 +- test_fixtures/src/setup.rs | 14 ++- 5 files changed, 150 insertions(+), 13 deletions(-) create mode 100644 integration_tests/tests/two_zone.rs diff --git a/integration_tests/tests/indexer_ffi_helpers/mod.rs b/integration_tests/tests/indexer_ffi_helpers/mod.rs index c3c3caff..fe8f8989 100644 --- a/integration_tests/tests/indexer_ffi_helpers/mod.rs +++ b/integration_tests/tests/indexer_ffi_helpers/mod.rs @@ -57,9 +57,12 @@ pub fn setup_indexer_ffi( temp_indexer_dir.path().display() ); - let indexer_config = - integration_tests::config::indexer_config(bedrock_addr, temp_indexer_dir.path().to_owned()) - .context("Failed to create Indexer config")?; + let indexer_config = integration_tests::config::indexer_config( + bedrock_addr, + temp_indexer_dir.path().to_owned(), + integration_tests::config::bedrock_channel_id(), + ) + .context("Failed to create Indexer config")?; let config_json = serde_json::to_vec(&indexer_config)?; let config_path = temp_indexer_dir.path().join("indexer_config.json"); diff --git a/integration_tests/tests/two_zone.rs b/integration_tests/tests/two_zone.rs new file mode 100644 index 00000000..1b1ddefc --- /dev/null +++ b/integration_tests/tests/two_zone.rs @@ -0,0 +1,109 @@ +#![expect( + clippy::tests_outside_test_module, + clippy::arithmetic_side_effects, + reason = "We don't care about these in tests" +)] + +//! Two zones (sequencer + indexer each, on separate channels) sharing one +//! Bedrock node, each producing and finalizing blocks independently. + +use std::{net::SocketAddr, time::Duration}; + +use anyhow::{Context as _, Result}; +use indexer_service_rpc::RpcClient as _; +use integration_tests::{ + config::{self, SequencerPartialConfig}, + indexer_client::IndexerClient, + setup::{setup_bedrock_node, setup_indexer, setup_sequencer}, +}; +use sequencer_service_rpc::{RpcClient as _, SequencerClientBuilder}; +use tokio::test; + +const ZONE_LIVE_TIMEOUT: Duration = Duration::from_secs(360); + +// Genesis is block 1, so reaching 2 means a block was produced past it. +const MIN_BLOCK_ID: u64 = 2; + +#[test] +async fn two_zones_share_one_bedrock_and_both_advance() -> Result<()> { + // Declared first so it outlives both zones (drops run in reverse order). + let (_bedrock, bedrock_addr) = setup_bedrock_node() + .await + .context("Failed to set up shared Bedrock node")?; + + let partial = SequencerPartialConfig::default(); + let channel_a = config::bedrock_channel_id(); + let channel_b = config::bedrock_channel_id_b(); + + // Empty genesis is enough: the clock transaction drives block production. + let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_a) + .await + .context("Failed to set up zone A sequencer")?; + let (idx_a, _idx_a_home) = setup_indexer(bedrock_addr, channel_a) + .await + .context("Failed to set up zone A indexer")?; + let (seq_b, _seq_b_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_b) + .await + .context("Failed to set up zone B sequencer")?; + let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b) + .await + .context("Failed to set up zone B indexer")?; + + let (height_a, height_b) = tokio::try_join!( + wait_until_zone_live("A", seq_a.addr(), idx_a.addr()), + wait_until_zone_live("B", seq_b.addr(), idx_b.addr()), + )?; + + assert!( + height_a >= MIN_BLOCK_ID, + "Zone A indexer only reached block {height_a}, expected >= {MIN_BLOCK_ID}" + ); + assert!( + height_b >= MIN_BLOCK_ID, + "Zone B indexer only reached block {height_b}, expected >= {MIN_BLOCK_ID}" + ); + + Ok(()) +} + +/// Wait for the sequencer to produce past genesis and the indexer to finalize up +/// to it. Returns the indexer's finalized block id. +async fn wait_until_zone_live( + label: &str, + sequencer_addr: SocketAddr, + indexer_addr: SocketAddr, +) -> Result { + let sequencer_url = config::addr_to_url(config::UrlProtocol::Http, sequencer_addr) + .context("Failed to build sequencer URL")?; + let sequencer = SequencerClientBuilder::default() + .build(sequencer_url) + .context("Failed to build sequencer client")?; + + let indexer_url = config::addr_to_url(config::UrlProtocol::Ws, indexer_addr) + .context("Failed to build indexer URL")?; + let indexer = IndexerClient::new(&indexer_url) + .await + .context("Failed to build indexer client")?; + + let wait = async { + loop { + if sequencer.get_last_block_id().await? >= MIN_BLOCK_ID { + break; + } + tokio::time::sleep(Duration::from_secs(2)).await; + } + let target = sequencer.get_last_block_id().await?; + loop { + let finalized = indexer.get_last_finalized_block_id().await?.unwrap_or(0); + if finalized >= target { + log::info!("Zone {label} live: sequencer at {target}, indexer finalized {finalized}"); + return Ok::(finalized); + } + tokio::time::sleep(Duration::from_secs(2)).await; + } + }; + + tokio::time::timeout(ZONE_LIVE_TIMEOUT, wait) + .await + .with_context(|| format!("Zone {label} did not become live within {ZONE_LIVE_TIMEOUT:?}"))? +} diff --git a/test_fixtures/src/config.rs b/test_fixtures/src/config.rs index 73cd775b..fe61a348 100644 --- a/test_fixtures/src/config.rs +++ b/test_fixtures/src/config.rs @@ -67,6 +67,7 @@ pub fn sequencer_config( home: PathBuf, bedrock_addr: SocketAddr, genesis_transactions: Vec, + channel_id: ChannelId, ) -> Result { let SequencerPartialConfig { max_num_tx_in_block, @@ -85,7 +86,7 @@ pub fn sequencer_config( genesis: genesis_transactions, signing_key: [37; 32], bedrock_config: BedrockConfig { - channel_id: bedrock_channel_id(), + channel_id, node_url: addr_to_url(UrlProtocol::Http, bedrock_addr) .context("Failed to convert bedrock addr to URL")?, auth: None, @@ -163,7 +164,11 @@ pub fn wallet_config(sequencer_addr: SocketAddr) -> Result { }) } -pub fn indexer_config(bedrock_addr: SocketAddr, home: PathBuf) -> Result { +pub fn indexer_config( + bedrock_addr: SocketAddr, + home: PathBuf, + channel_id: ChannelId, +) -> Result { Ok(IndexerConfig { home, consensus_info_polling_interval: Duration::from_secs(1), @@ -172,7 +177,7 @@ pub fn indexer_config(bedrock_addr: SocketAddr, home: PathBuf) -> Result ChannelId { .unwrap_or_else(|_| unreachable!()); ChannelId::from(channel_id) } + +/// Second channel on the same Bedrock node, for two-zone tests. +/// Distinct from [`bedrock_channel_id`] so two zones settle independently on +/// one shared L1. +#[must_use] +pub fn bedrock_channel_id_b() -> ChannelId { + let channel_id: [u8; 32] = [0_u8, 2] + .repeat(16) + .try_into() + .unwrap_or_else(|_| unreachable!()); + ChannelId::from(channel_id) +} diff --git a/test_fixtures/src/lib.rs b/test_fixtures/src/lib.rs index 75394662..8ca97147 100644 --- a/test_fixtures/src/lib.rs +++ b/test_fixtures/src/lib.rs @@ -307,9 +307,10 @@ impl TestContextBuilder { .context("Failed to setup Bedrock node")?; let indexer_components = if enable_indexer { - let (indexer_handle, temp_indexer_dir) = setup_indexer(bedrock_addr) - .await - .context("Failed to setup Indexer")?; + let (indexer_handle, temp_indexer_dir) = + setup_indexer(bedrock_addr, config::bedrock_channel_id()) + .await + .context("Failed to setup Indexer")?; let indexer_url = config::addr_to_url(config::UrlProtocol::Ws, indexer_handle.addr()) .context("Failed to convert indexer addr to URL")?; let indexer_client = IndexerClient::new(&indexer_url) @@ -342,6 +343,7 @@ impl TestContextBuilder { sequencer_partial_config.unwrap_or_default(), bedrock_addr, genesis, + config::bedrock_channel_id(), ) .await .context("Failed to setup Sequencer")?; diff --git a/test_fixtures/src/setup.rs b/test_fixtures/src/setup.rs index 7eb0e1fd..85652e2f 100644 --- a/test_fixtures/src/setup.rs +++ b/test_fixtures/src/setup.rs @@ -1,7 +1,7 @@ use std::{net::SocketAddr, path::PathBuf}; use anyhow::{Context as _, Result, bail}; -use indexer_service::IndexerHandle; +use indexer_service::{ChannelId, IndexerHandle}; use lee::{AccountId, PrivateKey, PublicKey}; use log::{debug, warn}; use sequencer_service::{GenesisAction, SequencerHandle}; @@ -89,7 +89,10 @@ pub async fn setup_bedrock_node() -> Result<(DockerCompose, SocketAddr)> { Ok((compose, addr)) } -pub async fn setup_indexer(bedrock_addr: SocketAddr) -> Result<(IndexerHandle, TempDir)> { +pub async fn setup_indexer( + bedrock_addr: SocketAddr, + channel_id: ChannelId, +) -> Result<(IndexerHandle, TempDir)> { let temp_indexer_dir = tempfile::tempdir().context("Failed to create temp dir for indexer home")?; @@ -98,8 +101,9 @@ pub async fn setup_indexer(bedrock_addr: SocketAddr) -> Result<(IndexerHandle, T temp_indexer_dir.path().display() ); - let indexer_config = config::indexer_config(bedrock_addr, temp_indexer_dir.path().to_owned()) - .context("Failed to create Indexer config")?; + let indexer_config = + config::indexer_config(bedrock_addr, temp_indexer_dir.path().to_owned(), channel_id) + .context("Failed to create Indexer config")?; indexer_service::run_server(indexer_config, 0) .await @@ -111,6 +115,7 @@ pub async fn setup_sequencer( partial: config::SequencerPartialConfig, bedrock_addr: SocketAddr, genesis_transactions: Vec, + channel_id: ChannelId, ) -> Result<(SequencerHandle, TempDir)> { let temp_sequencer_dir = tempfile::tempdir().context("Failed to create temp dir for sequencer home")?; @@ -125,6 +130,7 @@ pub async fn setup_sequencer( temp_sequencer_dir.path().to_owned(), bedrock_addr, genesis_transactions, + channel_id, ) .context("Failed to create Sequencer config")?; From 43ce9b59326c4fa097497c9dec9c78afdd61f09d Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Thu, 18 Jun 2026 13:54:01 +0200 Subject: [PATCH 02/19] feat(cross-zone): add inbox and outbox core crates (envelope, replay key, dispatch builder) --- Cargo.lock | 19 +++ Cargo.toml | 4 + programs/cross_zone_inbox/core/Cargo.toml | 18 ++ programs/cross_zone_inbox/core/src/lib.rs | 186 +++++++++++++++++++++ programs/cross_zone_outbox/core/Cargo.toml | 13 ++ programs/cross_zone_outbox/core/src/lib.rs | 61 +++++++ 6 files changed, 301 insertions(+) create mode 100644 programs/cross_zone_inbox/core/Cargo.toml create mode 100644 programs/cross_zone_inbox/core/src/lib.rs create mode 100644 programs/cross_zone_outbox/core/Cargo.toml create mode 100644 programs/cross_zone_outbox/core/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index d3898e49..0d9eae93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1796,6 +1796,25 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "cross_zone_inbox_core" +version = "0.1.0" +dependencies = [ + "lee", + "lee_core", + "risc0-zkvm", + "serde", +] + +[[package]] +name = "cross_zone_outbox_core" +version = "0.1.0" +dependencies = [ + "lee_core", + "risc0-zkvm", + "serde", +] + [[package]] name = "crossbeam-channel" version = "0.5.15" diff --git a/Cargo.toml b/Cargo.toml index 25f03774..1b15f129 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,6 +24,8 @@ members = [ "programs/faucet/core", "programs/bridge/core", "programs/vault/core", + "programs/cross_zone_outbox/core", + "programs/cross_zone_inbox/core", "lez/sequencer/core", "lez/sequencer/service", "lez/sequencer/service/protocol", @@ -80,6 +82,8 @@ authenticated_transfer_core = { path = "programs/authenticated_transfer/core" } faucet_core = { path = "programs/faucet/core" } bridge_core = { path = "programs/bridge/core" } vault_core = { path = "programs/vault/core" } +cross_zone_outbox_core = { path = "programs/cross_zone_outbox/core" } +cross_zone_inbox_core = { path = "programs/cross_zone_inbox/core" } test_program_methods = { path = "test_program_methods" } testnet_initial_state = { path = "lez/testnet_initial_state" } keycard_wallet = { path = "lez/keycard_wallet" } diff --git a/programs/cross_zone_inbox/core/Cargo.toml b/programs/cross_zone_inbox/core/Cargo.toml new file mode 100644 index 00000000..63760c53 --- /dev/null +++ b/programs/cross_zone_inbox/core/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "cross_zone_inbox_core" +version = "0.1.0" +edition = "2024" +license = { workspace = true } + +[lints] +workspace = true + +[dependencies] +lee_core.workspace = true +serde = { workspace = true, features = ["alloc"] } +risc0-zkvm.workspace = true +lee = { workspace = true, optional = true } + +[features] +# Host-only transaction builder; pulls `lee`, so the risc0 guest builds without it. +host = ["dep:lee"] diff --git a/programs/cross_zone_inbox/core/src/lib.rs b/programs/cross_zone_inbox/core/src/lib.rs new file mode 100644 index 00000000..9af223f5 --- /dev/null +++ b/programs/cross_zone_inbox/core/src/lib.rs @@ -0,0 +1,186 @@ +use std::collections::BTreeMap; + +use lee_core::{ + account::AccountId, + program::{PdaSeed, ProgramId}, +}; +use serde::{Deserialize, Serialize}; + +/// Raw 32-byte zone (channel) id; the host maps it to the zone-sdk `ChannelId`. +pub type ZoneId = [u8; 32]; + +/// Block-signing public key pinned per peer zone. +pub type ExpectedPubkey = [u8; 32]; + +/// Content-addressed replay key for a delivered message. +pub type MessageKey = [u8; 32]; + +/// Source blocks per seen-set shard, so no single seen account grows without bound. +pub const EPOCH_BLOCKS: u64 = 10_000; + +const MESSAGE_KEY_DOMAIN: [u8; 32] = *b"/LEZ/v0.3/CrossZoneMsgKey/00000/"; +const INBOX_CONFIG_SEED: [u8; 32] = *b"/LEZ/v0.3/CrossZoneInboxCfg/000/"; +const INBOX_SEEN_SEED_DOMAIN: [u8; 32] = *b"/LEZ/v0.3/CrossZoneInboxSeen/00/"; + +/// A finalized outbound message observed on a peer zone, addressed to a program +/// on this zone. The watcher fills it from the peer's block; it is never +/// self-reported by a user. +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub struct CrossZoneMessage { + pub src_zone: ZoneId, + pub src_block_id: u64, + pub src_tx_index: u32, + pub src_program_id: ProgramId, + pub target_program_id: ProgramId, + pub payload: Vec, + /// Reserved for a future source-state proof; MUST be `None` in v1. + pub l1_inclusion_witness: Option>, +} + +/// Peer and per-peer target allowlists. +#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] +pub struct InboxConfig { + pub allowed_peers: BTreeMap, + pub allowed_targets: BTreeMap>, +} + +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum Instruction { + /// Delivers a finalized peer message to its target program. + Dispatch(CrossZoneMessage), +} + +/// Content-addressed replay key: `(src_zone, src_block_id, src_tx_index)` hashed +/// under a domain separator. Watcher-independent and immune to proof +/// malleability, since it keys on block id plus index rather than a tx hash. +#[must_use] +pub fn message_key(src_zone: &ZoneId, src_block_id: u64, src_tx_index: u32) -> MessageKey { + use risc0_zkvm::sha::{Impl, Sha256 as _}; + + let mut bytes = Vec::with_capacity(MESSAGE_KEY_DOMAIN.len() + 32 + 8 + 4); + bytes.extend_from_slice(&MESSAGE_KEY_DOMAIN); + bytes.extend_from_slice(src_zone); + bytes.extend_from_slice(&src_block_id.to_le_bytes()); + bytes.extend_from_slice(&src_tx_index.to_le_bytes()); + + Impl::hash_bytes(&bytes) + .as_bytes() + .try_into() + .unwrap_or_else(|_| unreachable!()) +} + +/// The config account holding the allowlists. +#[must_use] +pub fn inbox_config_account_id(inbox_id: ProgramId) -> AccountId { + AccountId::for_public_pda(&inbox_id, &PdaSeed::new(INBOX_CONFIG_SEED)) +} + +/// The seen-set shard for the `(src_zone, epoch)` the message falls in. +#[must_use] +pub fn inbox_seen_shard_account_id( + inbox_id: ProgramId, + src_zone: &ZoneId, + src_block_id: u64, +) -> AccountId { + AccountId::for_public_pda(&inbox_id, &seen_shard_seed(src_zone, src_block_id)) +} + +fn seen_shard_seed(src_zone: &ZoneId, src_block_id: u64) -> PdaSeed { + use risc0_zkvm::sha::{Impl, Sha256 as _}; + + let src_epoch = src_block_id / EPOCH_BLOCKS; + let mut bytes = Vec::with_capacity(INBOX_SEEN_SEED_DOMAIN.len() + 32 + 8); + bytes.extend_from_slice(&INBOX_SEEN_SEED_DOMAIN); + bytes.extend_from_slice(src_zone); + bytes.extend_from_slice(&src_epoch.to_le_bytes()); + + let seed: [u8; 32] = Impl::hash_bytes(&bytes) + .as_bytes() + .try_into() + .unwrap_or_else(|_| unreachable!()); + PdaSeed::new(seed) +} + +/// Builds the sequencer-origin dispatch transaction. Pure, so the watcher's +/// injected tx and the indexer's re-derived tx are byte-identical for the same +/// inputs (the basis of the Option B check). `target_account_ids` are the +/// inbox's chained-call targets; deriving them is target-specific. +#[cfg(feature = "host")] +#[must_use] +pub fn build_inbox_dispatch_tx( + inbox_id: ProgramId, + msg: &CrossZoneMessage, + target_account_ids: Vec, +) -> lee::PublicTransaction { + let mut account_ids = Vec::with_capacity(2 + target_account_ids.len()); + account_ids.push(inbox_config_account_id(inbox_id)); + account_ids.push(inbox_seen_shard_account_id( + inbox_id, + &msg.src_zone, + msg.src_block_id, + )); + account_ids.extend(target_account_ids); + + let message = lee::public_transaction::Message::try_new( + inbox_id, + account_ids, + vec![], + Instruction::Dispatch(msg.clone()), + ) + .expect("inbox dispatch instruction must serialize"); + + lee::PublicTransaction::new( + message, + lee::public_transaction::WitnessSet::from_raw_parts(vec![]), + ) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn zone(b: u8) -> ZoneId { + [b; 32] + } + + #[test] + fn message_key_is_stable_and_content_addressed() { + assert_eq!(message_key(&zone(1), 7, 3), message_key(&zone(1), 7, 3)); + assert_ne!(message_key(&zone(1), 7, 3), message_key(&zone(2), 7, 3)); + assert_ne!(message_key(&zone(1), 7, 3), message_key(&zone(1), 8, 3)); + assert_ne!(message_key(&zone(1), 7, 3), message_key(&zone(1), 7, 4)); + } + + #[test] + fn seen_shards_split_on_epoch_boundary() { + let id: ProgramId = [9; 8]; + assert_eq!( + inbox_seen_shard_account_id(id, &zone(1), 0), + inbox_seen_shard_account_id(id, &zone(1), EPOCH_BLOCKS - 1), + ); + assert_ne!( + inbox_seen_shard_account_id(id, &zone(1), EPOCH_BLOCKS - 1), + inbox_seen_shard_account_id(id, &zone(1), EPOCH_BLOCKS), + ); + } + + #[cfg(feature = "host")] + #[test] + fn build_inbox_dispatch_tx_is_deterministic() { + let inbox: ProgramId = [5; 8]; + let msg = CrossZoneMessage { + src_zone: zone(1), + src_block_id: 42, + src_tx_index: 2, + src_program_id: [6; 8], + target_program_id: [7; 8], + payload: vec![1, 2, 3, 4], + l1_inclusion_witness: None, + }; + let targets = vec![AccountId::new([8; 32]), AccountId::new([9; 32])]; + + let tx1 = build_inbox_dispatch_tx(inbox, &msg, targets.clone()); + let tx2 = build_inbox_dispatch_tx(inbox, &msg, targets); + assert_eq!(tx1, tx2); + } +} diff --git a/programs/cross_zone_outbox/core/Cargo.toml b/programs/cross_zone_outbox/core/Cargo.toml new file mode 100644 index 00000000..8e26009c --- /dev/null +++ b/programs/cross_zone_outbox/core/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "cross_zone_outbox_core" +version = "0.1.0" +edition = "2024" +license = { workspace = true } + +[lints] +workspace = true + +[dependencies] +lee_core.workspace = true +serde = { workspace = true, features = ["alloc"] } +risc0-zkvm.workspace = true diff --git a/programs/cross_zone_outbox/core/src/lib.rs b/programs/cross_zone_outbox/core/src/lib.rs new file mode 100644 index 00000000..256aae69 --- /dev/null +++ b/programs/cross_zone_outbox/core/src/lib.rs @@ -0,0 +1,61 @@ +use lee_core::{ + account::AccountId, + program::{PdaSeed, ProgramId}, +}; +use serde::{Deserialize, Serialize}; + +/// Raw 32-byte zone (channel) id; the host maps it to the zone-sdk `ChannelId`. +pub type ZoneId = [u8; 32]; + +const OUTBOX_SEED_DOMAIN: [u8; 32] = *b"/LEZ/v0.3/CrossZoneOutbox/00000/"; + +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum Instruction { + /// Records an outbound cross-zone message as a write to a self-owned PDA. + /// + /// Required accounts (1): + /// - Outbox PDA account + Emit { + target_zone: ZoneId, + target_program_id: ProgramId, + payload: Vec, + }, +} + +/// PDA holding one emitted message, keyed by destination zone and a per-zone +/// ordinal. +#[must_use] +pub fn outbox_pda(outbox_id: ProgramId, target_zone: &ZoneId, ordinal: u32) -> AccountId { + AccountId::for_public_pda(&outbox_id, &outbox_seed(target_zone, ordinal)) +} + +fn outbox_seed(target_zone: &ZoneId, ordinal: u32) -> PdaSeed { + use risc0_zkvm::sha::{Impl, Sha256 as _}; + + let mut bytes = Vec::with_capacity(OUTBOX_SEED_DOMAIN.len() + target_zone.len() + 4); + bytes.extend_from_slice(&OUTBOX_SEED_DOMAIN); + bytes.extend_from_slice(target_zone); + bytes.extend_from_slice(&ordinal.to_le_bytes()); + + let seed: [u8; 32] = Impl::hash_bytes(&bytes) + .as_bytes() + .try_into() + .unwrap_or_else(|_| unreachable!()); + PdaSeed::new(seed) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn outbox_pda_is_unique_per_zone_and_ordinal() { + let id: ProgramId = [3; 8]; + let zone_a = [1; 32]; + let zone_b = [2; 32]; + + assert_eq!(outbox_pda(id, &zone_a, 0), outbox_pda(id, &zone_a, 0)); + assert_ne!(outbox_pda(id, &zone_a, 0), outbox_pda(id, &zone_a, 1)); + assert_ne!(outbox_pda(id, &zone_a, 0), outbox_pda(id, &zone_b, 0)); + } +} From 30bd869ac2aaed541a6bc216ec32444f2862d312 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Fri, 19 Jun 2026 00:48:10 +0200 Subject: [PATCH 03/19] feat(cross-zone): add inbox and outbox guest programs with genesis registration --- Cargo.lock | 4 + .../program_methods/cross_zone_inbox.bin | Bin 0 -> 497372 bytes .../program_methods/cross_zone_outbox.bin | Bin 0 -> 429440 bytes lee/state_machine/src/program.rs | 21 ++- lee/state_machine/src/state.rs | 2 + program_methods/guest/Cargo.toml | 2 + .../guest/src/bin/cross_zone_inbox.rs | 127 ++++++++++++++++++ .../guest/src/bin/cross_zone_outbox.rs | 64 +++++++++ programs/cross_zone_inbox/core/Cargo.toml | 1 + programs/cross_zone_inbox/core/src/lib.rs | 58 +++++++- programs/cross_zone_outbox/core/Cargo.toml | 1 + programs/cross_zone_outbox/core/src/lib.rs | 31 ++++- 12 files changed, 302 insertions(+), 9 deletions(-) create mode 100644 artifacts/program_methods/cross_zone_inbox.bin create mode 100644 artifacts/program_methods/cross_zone_outbox.bin create mode 100644 program_methods/guest/src/bin/cross_zone_inbox.rs create mode 100644 program_methods/guest/src/bin/cross_zone_outbox.rs diff --git a/Cargo.lock b/Cargo.lock index 0d9eae93..6dd5b588 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1800,6 +1800,7 @@ checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" name = "cross_zone_inbox_core" version = "0.1.0" dependencies = [ + "borsh", "lee", "lee_core", "risc0-zkvm", @@ -1810,6 +1811,7 @@ dependencies = [ name = "cross_zone_outbox_core" version = "0.1.0" dependencies = [ + "borsh", "lee_core", "risc0-zkvm", "serde", @@ -7403,6 +7405,8 @@ dependencies = [ "authenticated_transfer_core", "bridge_core", "clock_core", + "cross_zone_inbox_core", + "cross_zone_outbox_core", "faucet_core", "lee_core", "risc0-zkvm", diff --git a/artifacts/program_methods/cross_zone_inbox.bin b/artifacts/program_methods/cross_zone_inbox.bin new file mode 100644 index 0000000000000000000000000000000000000000..3595d60dbc94c11dc93e29be565d8bb372313248 GIT binary patch literal 497372 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
itV_WTZ=OZJ^_@e0NleWlv2zPF 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 VE4}eR(c#8dGPcd!n>Z)j{{yk23D5ul literal 0 HcmV?d00001 diff --git a/artifacts/program_methods/cross_zone_outbox.bin b/artifacts/program_methods/cross_zone_outbox.bin new file mode 100644 index 0000000000000000000000000000000000000000..b89f8d0fbd6869f34bc624946ef2d7430d47e0e4 GIT binary patch literal 429440 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 Self { + Self { + id: CROSS_ZONE_OUTBOX_ID, + elf: CROSS_ZONE_OUTBOX_ELF.to_vec(), + } + } + + #[must_use] + pub fn cross_zone_inbox() -> Self { + Self { + id: CROSS_ZONE_INBOX_ID, + elf: CROSS_ZONE_INBOX_ELF.to_vec(), + } + } } // TODO: Testnet only. Refactor to prevent compilation on mainnet. diff --git a/lee/state_machine/src/state.rs b/lee/state_machine/src/state.rs index c7152917..110f3113 100644 --- a/lee/state_machine/src/state.rs +++ b/lee/state_machine/src/state.rs @@ -197,6 +197,8 @@ impl V03State { this.insert_program(Program::vault()); this.insert_program(Program::faucet()); this.insert_program(Program::bridge()); + this.insert_program(Program::cross_zone_outbox()); + this.insert_program(Program::cross_zone_inbox()); this } diff --git a/program_methods/guest/Cargo.toml b/program_methods/guest/Cargo.toml index b7b37961..d7572235 100644 --- a/program_methods/guest/Cargo.toml +++ b/program_methods/guest/Cargo.toml @@ -20,5 +20,7 @@ ata_program.workspace = true faucet_core.workspace = true bridge_core.workspace = true vault_core.workspace = true +cross_zone_outbox_core.workspace = true +cross_zone_inbox_core.workspace = true risc0-zkvm.workspace = true serde = { workspace = true, default-features = false } diff --git a/program_methods/guest/src/bin/cross_zone_inbox.rs b/program_methods/guest/src/bin/cross_zone_inbox.rs new file mode 100644 index 00000000..41a1015b --- /dev/null +++ b/program_methods/guest/src/bin/cross_zone_inbox.rs @@ -0,0 +1,127 @@ +use cross_zone_inbox_core::{ + InboxConfig, Instruction, SeenShard, inbox_config_account_id, inbox_seen_shard_account_id, + inbox_seen_shard_seed, message_key, +}; +use lee_core::{ + account::AccountWithMetadata, + program::{AccountPostState, ChainedCall, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, +}; + +fn unchanged(pre: &AccountWithMetadata) -> AccountPostState { + AccountPostState::new(pre.account.clone()) +} + +fn main() { + let ( + ProgramInput { + self_program_id, + caller_program_id, + pre_states, + instruction, + }, + instruction_words, + ) = read_lee_inputs::(); + + assert!( + caller_program_id.is_none(), + "Inbox is only invoked as a top-level sequencer-origin transaction" + ); + + let msg = match instruction { + Instruction::Dispatch(msg) => msg, + }; + + assert!( + msg.l1_inclusion_witness.is_none(), + "l1_inclusion_witness must be None in v1" + ); + + // pre_states layout: [config, seen_shard, then the target accounts]. + let mut accounts = pre_states.into_iter(); + let config = accounts.next().expect("config account required"); + let seen = accounts.next().expect("seen shard account required"); + let target_accounts: Vec = accounts.collect(); + + assert_eq!( + config.account_id, + inbox_config_account_id(self_program_id), + "First account must be the inbox config PDA" + ); + assert_eq!( + seen.account_id, + inbox_seen_shard_account_id(self_program_id, &msg.src_zone, msg.src_block_id), + "Second account must be the seen-shard PDA" + ); + + let cfg = InboxConfig::from_bytes(&config.account.data.clone().into_inner()) + .expect("inbox config decodes"); + + assert!( + msg.src_zone != cfg.self_zone, + "Source zone must not be this zone" + ); + let allowed_targets = cfg + .allowed_targets + .get(&msg.src_zone) + .expect("Source zone is not an allowed peer"); + assert!( + allowed_targets.contains(&msg.target_program_id), + "Target program is not allowed for this peer" + ); + + let key = message_key(&msg.src_zone, msg.src_block_id, msg.src_tx_index); + let mut shard = + SeenShard::from_bytes(&seen.account.data.clone().into_inner()).expect("seen shard decodes"); + let already_seen = shard.contains(&key); + + // On replay this is a no-op: the seen shard is untouched and no call is made. + let (seen_post, chained_calls) = if already_seen { + (unchanged(&seen), vec![]) + } else { + shard.insert(key); + let mut seen_account = seen.account.clone(); + seen_account.data = shard + .to_bytes() + .try_into() + .expect("seen shard fits in account data"); + let seen_post = AccountPostState::new_claimed_if_default( + seen_account, + Claim::Pda(inbox_seen_shard_seed(&msg.src_zone, msg.src_block_id)), + ); + + // The payload carries the target instruction as risc0 words, little-endian. + assert!( + msg.payload.len() % 4 == 0, + "payload must be u32-aligned instruction words" + ); + let instruction_data = msg + .payload + .chunks_exact(4) + .map(|c| u32::from_le_bytes([c[0], c[1], c[2], c[3]])) + .collect(); + + let call = ChainedCall { + program_id: msg.target_program_id, + pre_states: target_accounts.clone(), + instruction_data, + pda_seeds: vec![], + }; + (seen_post, vec![call]) + }; + + let mut post_states = vec![unchanged(&config), seen_post]; + post_states.extend(target_accounts.iter().map(unchanged)); + + let mut pre_states = vec![config, seen]; + pre_states.extend(target_accounts); + + ProgramOutput::new( + self_program_id, + caller_program_id, + instruction_words, + pre_states, + post_states, + ) + .with_chained_calls(chained_calls) + .write(); +} diff --git a/program_methods/guest/src/bin/cross_zone_outbox.rs b/program_methods/guest/src/bin/cross_zone_outbox.rs new file mode 100644 index 00000000..84805807 --- /dev/null +++ b/program_methods/guest/src/bin/cross_zone_outbox.rs @@ -0,0 +1,64 @@ +use cross_zone_outbox_core::{Instruction, OutboxRecord, outbox_pda, outbox_pda_seed}; +use lee_core::{ + account::AccountWithMetadata, + program::{AccountPostState, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, +}; + +fn main() { + let ( + ProgramInput { + self_program_id, + caller_program_id, + pre_states, + instruction, + }, + instruction_words, + ) = read_lee_inputs::(); + + assert!( + caller_program_id.is_some(), + "Outbox is only callable through a chain call from a user program" + ); + + let (target_zone, target_program_id, payload, ordinal) = match instruction { + Instruction::Emit { + target_zone, + target_program_id, + payload, + ordinal, + } => (target_zone, target_program_id, payload, ordinal), + }; + + let [outbox] = + <[AccountWithMetadata; 1]>::try_from(pre_states).expect("Emit requires exactly 1 account"); + + assert_eq!( + outbox.account_id, + outbox_pda(self_program_id, &target_zone, ordinal), + "Account must be the outbox PDA for (target_zone, ordinal)" + ); + + let mut post_account = outbox.account.clone(); + post_account.data = OutboxRecord { + target_zone, + target_program_id, + payload, + } + .to_bytes() + .try_into() + .expect("OutboxRecord fits in account data"); + + let post = AccountPostState::new_claimed_if_default( + post_account, + Claim::Pda(outbox_pda_seed(&target_zone, ordinal)), + ); + + ProgramOutput::new( + self_program_id, + caller_program_id, + instruction_words, + vec![outbox], + vec![post], + ) + .write(); +} diff --git a/programs/cross_zone_inbox/core/Cargo.toml b/programs/cross_zone_inbox/core/Cargo.toml index 63760c53..0afc78c4 100644 --- a/programs/cross_zone_inbox/core/Cargo.toml +++ b/programs/cross_zone_inbox/core/Cargo.toml @@ -11,6 +11,7 @@ workspace = true lee_core.workspace = true serde = { workspace = true, features = ["alloc"] } risc0-zkvm.workspace = true +borsh.workspace = true lee = { workspace = true, optional = true } [features] diff --git a/programs/cross_zone_inbox/core/src/lib.rs b/programs/cross_zone_inbox/core/src/lib.rs index 9af223f5..d3db5f78 100644 --- a/programs/cross_zone_inbox/core/src/lib.rs +++ b/programs/cross_zone_inbox/core/src/lib.rs @@ -1,5 +1,6 @@ -use std::collections::BTreeMap; +use std::collections::{BTreeMap, BTreeSet}; +use borsh::{BorshDeserialize, BorshSerialize}; use lee_core::{ account::AccountId, program::{PdaSeed, ProgramId}, @@ -37,13 +38,58 @@ pub struct CrossZoneMessage { pub l1_inclusion_witness: Option>, } -/// Peer and per-peer target allowlists. -#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)] +/// Peer and per-peer target allowlists, plus this inbox's own zone id. +#[derive( + Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize, BorshSerialize, BorshDeserialize, +)] pub struct InboxConfig { + pub self_zone: ZoneId, pub allowed_peers: BTreeMap, pub allowed_targets: BTreeMap>, } +impl InboxConfig { + /// Borsh-encoded form stored in the inbox config account. + #[must_use] + pub fn to_bytes(&self) -> Vec { + borsh::to_vec(self).expect("InboxConfig serializes") + } + + /// Decodes an [`InboxConfig`] from account data. + pub fn from_bytes(bytes: &[u8]) -> borsh::io::Result { + borsh::from_slice(bytes) + } +} + +/// The replay keys seen for one `(src_zone, epoch)` shard. +#[derive(Clone, Debug, Default, PartialEq, Eq, BorshSerialize, BorshDeserialize)] +pub struct SeenShard(pub BTreeSet); + +impl SeenShard { + /// Decodes a shard from account data; empty data is an empty shard. + pub fn from_bytes(bytes: &[u8]) -> borsh::io::Result { + if bytes.is_empty() { + return Ok(Self::default()); + } + borsh::from_slice(bytes) + } + + #[must_use] + pub fn to_bytes(&self) -> Vec { + borsh::to_vec(self).expect("SeenShard serializes") + } + + #[must_use] + pub fn contains(&self, key: &MessageKey) -> bool { + self.0.contains(key) + } + + /// Inserts a key; returns true if it was newly inserted. + pub fn insert(&mut self, key: MessageKey) -> bool { + self.0.insert(key) + } +} + #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub enum Instruction { /// Delivers a finalized peer message to its target program. @@ -82,10 +128,12 @@ pub fn inbox_seen_shard_account_id( src_zone: &ZoneId, src_block_id: u64, ) -> AccountId { - AccountId::for_public_pda(&inbox_id, &seen_shard_seed(src_zone, src_block_id)) + AccountId::for_public_pda(&inbox_id, &inbox_seen_shard_seed(src_zone, src_block_id)) } -fn seen_shard_seed(src_zone: &ZoneId, src_block_id: u64) -> PdaSeed { +/// Seed of the seen-shard PDA, exposed so the guest can claim the account. +#[must_use] +pub fn inbox_seen_shard_seed(src_zone: &ZoneId, src_block_id: u64) -> PdaSeed { use risc0_zkvm::sha::{Impl, Sha256 as _}; let src_epoch = src_block_id / EPOCH_BLOCKS; diff --git a/programs/cross_zone_outbox/core/Cargo.toml b/programs/cross_zone_outbox/core/Cargo.toml index 8e26009c..c7876286 100644 --- a/programs/cross_zone_outbox/core/Cargo.toml +++ b/programs/cross_zone_outbox/core/Cargo.toml @@ -11,3 +11,4 @@ workspace = true lee_core.workspace = true serde = { workspace = true, features = ["alloc"] } risc0-zkvm.workspace = true +borsh.workspace = true diff --git a/programs/cross_zone_outbox/core/src/lib.rs b/programs/cross_zone_outbox/core/src/lib.rs index 256aae69..528cf769 100644 --- a/programs/cross_zone_outbox/core/src/lib.rs +++ b/programs/cross_zone_outbox/core/src/lib.rs @@ -1,3 +1,4 @@ +use borsh::{BorshDeserialize, BorshSerialize}; use lee_core::{ account::AccountId, program::{PdaSeed, ProgramId}, @@ -19,17 +20,43 @@ pub enum Instruction { target_zone: ZoneId, target_program_id: ProgramId, payload: Vec, + ordinal: u32, }, } +/// The message as stored in an outbox PDA. The destination zone's watcher reads +/// this from the inscribed block; the source coordinates are filled by the +/// watcher, not stored here. +#[derive(Clone, Debug, PartialEq, Eq, BorshSerialize, BorshDeserialize)] +pub struct OutboxRecord { + pub target_zone: ZoneId, + pub target_program_id: ProgramId, + pub payload: Vec, +} + +impl OutboxRecord { + /// Borsh-encoded form stored in the outbox PDA's account data. + #[must_use] + pub fn to_bytes(&self) -> Vec { + borsh::to_vec(self).expect("OutboxRecord serializes") + } + + /// Decodes an [`OutboxRecord`] from account data. + pub fn from_bytes(bytes: &[u8]) -> borsh::io::Result { + borsh::from_slice(bytes) + } +} + /// PDA holding one emitted message, keyed by destination zone and a per-zone /// ordinal. #[must_use] pub fn outbox_pda(outbox_id: ProgramId, target_zone: &ZoneId, ordinal: u32) -> AccountId { - AccountId::for_public_pda(&outbox_id, &outbox_seed(target_zone, ordinal)) + AccountId::for_public_pda(&outbox_id, &outbox_pda_seed(target_zone, ordinal)) } -fn outbox_seed(target_zone: &ZoneId, ordinal: u32) -> PdaSeed { +/// Seed of an outbox message PDA, exposed so the guest can claim the account. +#[must_use] +pub fn outbox_pda_seed(target_zone: &ZoneId, ordinal: u32) -> PdaSeed { use risc0_zkvm::sha::{Impl, Sha256 as _}; let mut bytes = Vec::with_capacity(OUTBOX_SEED_DOMAIN.len() + target_zone.len() + 4); From 42078d030573bca01d8b072e4e7b74583cdd3ae6 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Fri, 19 Jun 2026 17:50:50 +0200 Subject: [PATCH 04/19] test(cross-zone): add ping_receiver and a single-zone inbox dispatch test --- Cargo.lock | 11 ++ Cargo.toml | 2 + artifacts/program_methods/ping_receiver.bin | Bin 0 -> 406336 bytes lee/state_machine/Cargo.toml | 2 + .../src/cross_zone_dispatch_tests.rs | 104 ++++++++++++++++++ lee/state_machine/src/lib.rs | 3 + lee/state_machine/src/program.rs | 12 +- lee/state_machine/src/state.rs | 5 + program_methods/guest/Cargo.toml | 1 + .../guest/src/bin/ping_receiver.rs | 47 ++++++++ programs/ping/core/Cargo.toml | 12 ++ programs/ping/core/src/lib.rs | 25 +++++ 12 files changed, 222 insertions(+), 2 deletions(-) create mode 100644 artifacts/program_methods/ping_receiver.bin create mode 100644 lee/state_machine/src/cross_zone_dispatch_tests.rs create mode 100644 program_methods/guest/src/bin/ping_receiver.rs create mode 100644 programs/ping/core/Cargo.toml create mode 100644 programs/ping/core/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 6dd5b588..d0395448 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4524,6 +4524,7 @@ dependencies = [ "borsh", "bridge_core", "clock_core", + "cross_zone_inbox_core", "env_logger", "faucet_core", "hex", @@ -4531,6 +4532,7 @@ dependencies = [ "k256", "lee_core", "log", + "ping_core", "rand 0.8.6", "risc0-binfmt", "risc0-build", @@ -7133,6 +7135,14 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +[[package]] +name = "ping_core" +version = "0.1.0" +dependencies = [ + "lee_core", + "serde", +] + [[package]] name = "pkcs1" version = "0.7.5" @@ -7409,6 +7419,7 @@ dependencies = [ "cross_zone_outbox_core", "faucet_core", "lee_core", + "ping_core", "risc0-zkvm", "serde", "token_core", diff --git a/Cargo.toml b/Cargo.toml index 1b15f129..0fd60a92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,7 @@ members = [ "programs/vault/core", "programs/cross_zone_outbox/core", "programs/cross_zone_inbox/core", + "programs/ping/core", "lez/sequencer/core", "lez/sequencer/service", "lez/sequencer/service/protocol", @@ -84,6 +85,7 @@ bridge_core = { path = "programs/bridge/core" } vault_core = { path = "programs/vault/core" } cross_zone_outbox_core = { path = "programs/cross_zone_outbox/core" } cross_zone_inbox_core = { path = "programs/cross_zone_inbox/core" } +ping_core = { path = "programs/ping/core" } test_program_methods = { path = "test_program_methods" } testnet_initial_state = { path = "lez/testnet_initial_state" } keycard_wallet = { path = "lez/keycard_wallet" } diff --git a/artifacts/program_methods/ping_receiver.bin b/artifacts/program_methods/ping_receiver.bin new file mode 100644 index 0000000000000000000000000000000000000000..e5c1680e6f765ef07f14ce2497a87c451406781c GIT binary patch literal 406336 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

d*L<5@6WN^kn})t+wmEN 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­=|uHr7waW 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⪻ivYh{#^L|`(rfxQGVee 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 UzDjv>r1o+1-k49nH!;Hf0Ywu{ApigX literal 0 HcmV?d00001 diff --git a/lee/state_machine/Cargo.toml b/lee/state_machine/Cargo.toml index 8777db09..7337cb47 100644 --- a/lee/state_machine/Cargo.toml +++ b/lee/state_machine/Cargo.toml @@ -34,6 +34,8 @@ risc0-binfmt = "3.0.2" lee_core = { workspace = true, features = ["test_utils"] } token_core.workspace = true authenticated_transfer_core.workspace = true +cross_zone_inbox_core.workspace = true +ping_core.workspace = true test_program_methods.workspace = true env_logger.workspace = true diff --git a/lee/state_machine/src/cross_zone_dispatch_tests.rs b/lee/state_machine/src/cross_zone_dispatch_tests.rs new file mode 100644 index 00000000..aab90e85 --- /dev/null +++ b/lee/state_machine/src/cross_zone_dispatch_tests.rs @@ -0,0 +1,104 @@ +#![expect( + clippy::tests_outside_test_module, + clippy::arithmetic_side_effects, + reason = "We don't care about these in tests" +)] + +use std::collections::BTreeMap; + +use cross_zone_inbox_core::{ + CrossZoneMessage, InboxConfig, Instruction, inbox_config_account_id, + inbox_seen_shard_account_id, +}; +use lee_core::account::Account; +use ping_core::{ReceiverInstruction, ping_record_pda}; + +use crate::{ + V03State, + program::Program, + public_transaction::{Message, WitnessSet}, + validated_state_diff::ValidatedStateDiff, +}; + +/// Drives `cross_zone_inbox::Dispatch` directly through the state machine +/// (no watcher) and asserts the message is delivered to `ping_receiver`, which +/// records the payload into its own PDA. +#[test] +fn inbox_dispatch_delivers_payload_to_ping_receiver() { + let mut state = V03State::new_with_genesis_accounts(&[], vec![], 0); + // ping_receiver is a throwaway demo target, registered only in this test state. + state.insert_program(Program::ping_receiver()); + + let inbox_id = Program::cross_zone_inbox().id(); + let receiver_id = Program::ping_receiver().id(); + + let self_zone = [1_u8; 32]; + let src_zone = [2_u8; 32]; + let src_block_id = 5; + + // Seed the inbox config account (inbox-owned) allowing src_zone -> ping_receiver. + let mut allowed_targets = BTreeMap::new(); + allowed_targets.insert(src_zone, vec![receiver_id]); + let config = InboxConfig { + self_zone, + allowed_peers: BTreeMap::new(), + allowed_targets, + }; + let config_id = inbox_config_account_id(inbox_id); + state.force_insert_account( + config_id, + Account { + program_owner: inbox_id, + balance: 0_u128, + data: config + .to_bytes() + .try_into() + .expect("config fits in account data"), + nonce: 0_u128.into(), + }, + ); + + // The payload is the ping_receiver instruction, serialized as risc0 words in + // little-endian bytes (the contract the inbox reverses when forwarding). + let inner = b"hello-cross-zone".to_vec(); + let words = risc0_zkvm::serde::to_vec(&ReceiverInstruction::Record { + payload: inner.clone(), + }) + .expect("serialize ping instruction"); + let payload: Vec = words.iter().flat_map(|word| word.to_le_bytes()).collect(); + + let msg = CrossZoneMessage { + src_zone, + src_block_id, + src_tx_index: 0, + src_program_id: [9_u32; 8], + target_program_id: receiver_id, + payload, + l1_inclusion_witness: None, + }; + + let seen_id = inbox_seen_shard_account_id(inbox_id, &src_zone, src_block_id); + let record_id = ping_record_pda(receiver_id); + + let message = Message::try_new( + inbox_id, + vec![config_id, seen_id, record_id], + vec![], + Instruction::Dispatch(msg), + ) + .expect("build dispatch message"); + let tx = crate::PublicTransaction::new(message, WitnessSet::from_raw_parts(vec![])); + + let diff = ValidatedStateDiff::from_public_transaction(&tx, &state, 1, 0) + .expect("dispatch must validate and execute"); + let public_diff = diff.public_diff(); + + let record = public_diff + .get(&record_id) + .expect("ping record account must change"); + assert_eq!( + record.data.clone().into_inner(), + inner, + "ping_receiver must record the delivered payload" + ); +} diff --git a/lee/state_machine/src/lib.rs b/lee/state_machine/src/lib.rs index 129821b5..87dfd513 100644 --- a/lee/state_machine/src/lib.rs +++ b/lee/state_machine/src/lib.rs @@ -33,6 +33,9 @@ mod signature; mod state; mod validated_state_diff; +#[cfg(test)] +mod cross_zone_dispatch_tests; + pub mod program_methods { include!(concat!(env!("OUT_DIR"), "/program_methods/mod.rs")); } diff --git a/lee/state_machine/src/program.rs b/lee/state_machine/src/program.rs index bf48afd8..8b71448b 100644 --- a/lee/state_machine/src/program.rs +++ b/lee/state_machine/src/program.rs @@ -12,8 +12,8 @@ use crate::{ AMM_ELF, AMM_ID, ASSOCIATED_TOKEN_ACCOUNT_ELF, ASSOCIATED_TOKEN_ACCOUNT_ID, AUTHENTICATED_TRANSFER_ELF, AUTHENTICATED_TRANSFER_ID, BRIDGE_ELF, BRIDGE_ID, CLOCK_ELF, CLOCK_ID, CROSS_ZONE_INBOX_ELF, CROSS_ZONE_INBOX_ID, CROSS_ZONE_OUTBOX_ELF, - CROSS_ZONE_OUTBOX_ID, FAUCET_ELF, FAUCET_ID, PINATA_ELF, PINATA_ID, TOKEN_ELF, TOKEN_ID, - VAULT_ELF, VAULT_ID, + CROSS_ZONE_OUTBOX_ID, FAUCET_ELF, FAUCET_ID, PINATA_ELF, PINATA_ID, PING_RECEIVER_ELF, + PING_RECEIVER_ID, TOKEN_ELF, TOKEN_ID, VAULT_ELF, VAULT_ID, }, }; @@ -190,6 +190,14 @@ impl Program { elf: CROSS_ZONE_INBOX_ELF.to_vec(), } } + + #[must_use] + pub fn ping_receiver() -> Self { + Self { + id: PING_RECEIVER_ID, + elf: PING_RECEIVER_ELF.to_vec(), + } + } } // TODO: Testnet only. Refactor to prevent compilation on mainnet. diff --git a/lee/state_machine/src/state.rs b/lee/state_machine/src/state.rs index 110f3113..949c9920 100644 --- a/lee/state_machine/src/state.rs +++ b/lee/state_machine/src/state.rs @@ -711,6 +711,11 @@ pub mod tests { this.insert(Program::vault().id(), Program::vault()); this.insert(Program::faucet().id(), Program::faucet()); this.insert(Program::bridge().id(), Program::bridge()); + this.insert( + Program::cross_zone_outbox().id(), + Program::cross_zone_outbox(), + ); + this.insert(Program::cross_zone_inbox().id(), Program::cross_zone_inbox()); this }; diff --git a/program_methods/guest/Cargo.toml b/program_methods/guest/Cargo.toml index d7572235..318af4b6 100644 --- a/program_methods/guest/Cargo.toml +++ b/program_methods/guest/Cargo.toml @@ -22,5 +22,6 @@ bridge_core.workspace = true vault_core.workspace = true cross_zone_outbox_core.workspace = true cross_zone_inbox_core.workspace = true +ping_core.workspace = true risc0-zkvm.workspace = true serde = { workspace = true, default-features = false } diff --git a/program_methods/guest/src/bin/ping_receiver.rs b/program_methods/guest/src/bin/ping_receiver.rs new file mode 100644 index 00000000..567736da --- /dev/null +++ b/program_methods/guest/src/bin/ping_receiver.rs @@ -0,0 +1,47 @@ +use lee_core::{ + account::AccountWithMetadata, + program::{AccountPostState, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, +}; +use ping_core::{ReceiverInstruction, ping_record_pda, ping_record_seed}; + +fn main() { + let ( + ProgramInput { + self_program_id, + caller_program_id, + pre_states, + instruction, + }, + instruction_words, + ) = read_lee_inputs::(); + + assert!( + caller_program_id.is_some(), + "ping_receiver is only callable through a chained call" + ); + + let payload = match instruction { + ReceiverInstruction::Record { payload } => payload, + }; + + let [record] = <[AccountWithMetadata; 1]>::try_from(pre_states) + .expect("Record requires exactly 1 account"); + assert_eq!( + record.account_id, + ping_record_pda(self_program_id), + "Account must be the ping record PDA" + ); + + let mut post_account = record.account.clone(); + post_account.data = payload.try_into().expect("payload fits in account data"); + let post = AccountPostState::new_claimed_if_default(post_account, Claim::Pda(ping_record_seed())); + + ProgramOutput::new( + self_program_id, + caller_program_id, + instruction_words, + vec![record], + vec![post], + ) + .write(); +} diff --git a/programs/ping/core/Cargo.toml b/programs/ping/core/Cargo.toml new file mode 100644 index 00000000..29870630 --- /dev/null +++ b/programs/ping/core/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "ping_core" +version = "0.1.0" +edition = "2024" +license = { workspace = true } + +[lints] +workspace = true + +[dependencies] +lee_core.workspace = true +serde = { workspace = true, features = ["alloc"] } diff --git a/programs/ping/core/src/lib.rs b/programs/ping/core/src/lib.rs new file mode 100644 index 00000000..f6b5b963 --- /dev/null +++ b/programs/ping/core/src/lib.rs @@ -0,0 +1,25 @@ +use lee_core::{ + account::AccountId, + program::{PdaSeed, ProgramId}, +}; +use serde::{Deserialize, Serialize}; + +const PING_RECORD_SEED: [u8; 32] = *b"/LEZ/v0.3/PingRecord/0000000000/"; + +/// Instruction delivered to `ping_receiver` by the inbox: record the payload. +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum ReceiverInstruction { + Record { payload: Vec }, +} + +/// The account a `ping_receiver` records the latest delivered payload into. +#[must_use] +pub fn ping_record_pda(receiver_id: ProgramId) -> AccountId { + AccountId::for_public_pda(&receiver_id, &ping_record_seed()) +} + +/// Seed of the record PDA, exposed so the guest can claim the account. +#[must_use] +pub fn ping_record_seed() -> PdaSeed { + PdaSeed::new(PING_RECORD_SEED) +} From 0631ffc481e345060e53e5160a0d7a5ad0bc5b3d Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Mon, 22 Jun 2026 17:55:22 +0200 Subject: [PATCH 05/19] feat(cross-zone): add ping_sender and thread target_accounts through outbox emission --- .../program_methods/cross_zone_outbox.bin | Bin 429440 -> 434692 bytes artifacts/program_methods/ping_sender.bin | Bin 0 -> 417492 bytes lee/state_machine/src/program.rs | 11 +++- .../guest/src/bin/cross_zone_outbox.rs | 12 +++- program_methods/guest/src/bin/ping_sender.rs | 59 ++++++++++++++++++ programs/cross_zone_outbox/core/src/lib.rs | 5 ++ programs/ping/core/src/lib.rs | 13 ++++ 7 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 artifacts/program_methods/ping_sender.bin create mode 100644 program_methods/guest/src/bin/ping_sender.rs diff --git a/artifacts/program_methods/cross_zone_outbox.bin b/artifacts/program_methods/cross_zone_outbox.bin index b89f8d0fbd6869f34bc624946ef2d7430d47e0e4..e87cd663de55a3dc61fb9f9f0b19ce86246a6434 100644 GIT binary patch delta 119783 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 rPh*8T#~FYTP&A6J_5IHnfl*(Rbx3xpIB<79YKn z=2PVBcGBpetlw-(^?!l?3*Wz!&Y^4f@C+}Fi4T2S@*EU&&)kB-hiwz_XD&FJ+&f5# z0Zc?p_edw|Zlr-B#dGI$Gn}NN-1au#@1;w^8i1G!#9&BBtjrB>^YOdreTgZ1?aC08 z@oz44LPx-?e*j~Dg!!T@1|aD7;T_(jt!d?6p8O__4sPaGg7KpY=$GNhu$5z2yoG* zP-5|cFqG>3-265j>X;6gu%0C#AS5>_IJU{}4{H^xbc~4Q9qMU(SkHIt`bzUWkh&xF ze22gCHtkL4zr)YGP5WtE0nZYhTY2_g8a(I>{1V_%b*LAE7j(o&&^nGfT^(9IGJRU%WZ^3> z*YhWRG{zp96sw~NS&LMh5~~!W&aYA1llWdAV(Mkt63+x2k(TxJe($4i&=M13r$w+o zZ-ZSqi1ZoK8Klcdfd}kL1kx_RV~{5y^+0kV4MiG*RERVesRC&w(kn>NaK;FAw7yziu5$nG9>Zwb6;O#;I}RGc?yn#h{QrK4-+6%MhlPKD`D{^d`+#pcfc1I$2mEWmgQ@@*0p#Z& z@YI8JfOZk(+oTK^9i+KIqdv4NnSf_~$Ui+uH+6~pNXoPeav?9<#K-1Ne#ADVVA}M_ zlTh}Pxl6w(%-<`LXHqMo-yl0z}_QL#!k(s@YJA3CO? zJ_{GLi-rI;B35bXDUW@`li!1t1~l@~@6iEKqZ*|f6MgxWZ_)#?y7K7Wx1GHhD1!k$ zsX=j&w=4^$iW_RT?=b)G`&gjP z&E&lg!I7c-=pmY6KZ`zoM7n}xLYqY!?Z9qk>EHwW!$b7(lFEO}(4a41V$t-Md*4#d zxTQP=W#M%E__Oew(4t(7XW@zca1o-2vH8o7;5i!lt@K7u{>mp&*|O1gl$|Xa?Z9(O zB1=#f3!}gN(|GQDOSzj~=BXdjNT(m~DbxwW_Ls}>9FHV+W0n8r4}D0Z)wo%){QeCz zrKAZ<3_(m=RZXmNZ9BAMN34>9B=X@qWiFooD(ylWkxLI?^s5rW;A* z?pm4e@|E}>{yHDFH&!`~lwveqy1yBBDe47W ziyzU@z{fw4VaX=__(JXI(FN9(4{xNya66o@Yov4f&H7Zvw_>pse$-zU)6%ls#V8}w zKLmd-m+?Cf(*aF1ZbzLkem{--@SND9EYv|b+~RpNA1jdK(`3Z~D0X^k;B9D3`%Lgt>OY4QpX3{gI2H4ej6fH|;mT-+mw33l;O1V<>J5 zwJ1AK7VZ7;IFyBIfll|2>3tOWGaqBaf_&%4^wAOz`l&+SdyqEa*^RUTNqq3Xr<7-q z)*0nR$k!kp1@0Q8SB!drTaM>dNb@l%uNw7FBYz%g3zGZ&<^`k<&qarzwC~5pD*pY$ zu@9ONc722urcp=0*7#WjLnZ5IAYJ+e|NaP#HrYOeJNs@g9nHsof}Ly3m;CWhsJ->z zFQv$iuD2^T-nJgi_IyIa>D({*zdymH?zvxj-}{ut5IXKF{{3e-IYl0QlqLs``%0cx z&gU0S(#-Du;@>eWcu2)x-j8SD#r@^q@hqkrWOg2f3q*b$d5ItX7+@{ix5Cu5EC=6G zZhcF64$5&Y`uiKoLT&x@%TNw$QJ#V__;EBL3`2#ONq>V7lqCb+GoRA|q~rGEcAY{4 za)DU%vfR~(GIvceCzb@9u<66%9|?@6q@$iF{{co=!| zDcY~QzuCXgOo-cG4ubfFN&CxUzJ)%a-E*gCexSepHJ*M72kE|3*eG@VoVL>mpQhbK zJ|20PAMq<=K2iVDX_|4jzrF{(xuXn}Wk+&6({CxCLRl{`xnxd(7qUW#IWX+K2(Brll(Wx+22wJW4a1{_-?~$F5!OEVy&p%qb$6^uz9> z0ymzQoPlwJ_>wa;Rhx1SI>~c>qEY;lGc<&{&+#*7Xus$qs29$+8jeRe$}B@yPoCrb zzNP)_rXS_5I|R8HOdO(h5o`5A*^C@`>%PT_tsid^>V+dd3A*4>*?x|H`YjxF73$+r zMsT2rprh(XZ_HWxsWxEMFLvGY&c=|1*|jW-Rlr}Kgx*B>?JuurD)Wq=AVt$fKIJDm zGhoq08M1np%`*Q?z3*S3FOZna!grx@_!ViHcx;N|c6H$uztGg2!N$n%0gl*nJ%n6L zZ;%b|XQs>*!J*>EIcVT6HE?uX?}g9tc8y=YNJlz$U6tbc8o5{l1Amv|7>ou(k%nEd z^I5;rq{z^bf7}rA6d&Q0MEo)`gunhPb((jDT)z=T_>)0u6#wt9G?K0j#XqWH>$*}<+j0l#pA718-MK*?L+5A@$WBTHChwJ!+t|}KCC?-`WvFi)9rbM zDAz^vy~xdnI$pmK4sE$gV|dhMYNKmoc<;;Td0gk~HwF{_OnbE*f8sK1rP#*zUZ!?) zwu<9_{n<&~dX8V*zDiBzr2s6l@itdzKXQ?mUZLIaFZvYaNG!ke3SOO5U!f+t-7X5r z{P-0bKvz2WGwsyWFfr&#F^0J7H^kOR8O(pWOry;QQ5PJ?hhD|@JthA7jY+)pcN)&` zu&cP>b(IEa6HvK8Rvx|z7PrRp@2|pd9E#_Wzr$}VNZ{+tYD|!j=rt%8%1{0dMX5^Q zuM2ox0{`iE2=hq7s-IMh;u@Gbo4|)&qZwLS^7R`dSFKk&n-g(bH!gYAI@ONvE+L*s z7IMJP8Vl^D$$~<1kO-K!0=PDrr~ZLMz+K7w&OadLi(SMJyPLBy!4p#WUQrjE$}jyv zleGz{*KgGEwpVC7o_(E0(etT%^mTA^yc=I~ojNsJ+VvZ0e7UA};EmTY+C-Gy{DM=p z^7GfJO)XBl&fn^$cH(I_z{&J9-unh7*p<#7y@3xk^YI$$&-UlfpsZc&fBi;BK08ni z=O1XGcihF#0AC9oC?;ijSJfIQSgOXxvY5YMRy*_IW{@w&dqXqijW>YMM5i`A_xg=t ze7PO7_Qmfsh@TfoWx4#S0J;Gjtn(Hm+@23h+U8t7zyh|EJU$cu!a>W;yMAM-(3wd7 zFN@kiuFT`#Tht7CHjmo_Fm1{pX#j$?Yr?e-;!g&EjA;1HySDj`>o;to zS8I@EF5H}Qy5G7F_y%9)JOaYiTLL6sek0(>g!USawL61>P-2!N`m+hTa`2Fm8>}YTkfjn6reKLAB>vhY{^yc7X zoW4)S0nIkzb*Ve|qUskWfb2Hkt zs;TDWcT=Y#_3iG=ovU&)I>yJ(Ox>Hy(5goK9w!77WUQ2hT>plPAAIsG;UcWSTPFv2B zCClvkp5tF5iaB3Oo=d&jmeZo&bE&W8-_qw&JKM?#y_6cjPhrP5zm&RWe-3u;YpLIH zRs}arQ~dw#7T+ACrTC@k%y?OSkYNiMR@SGkJb;{hK5*3_^B>&S+!JJaRCJ;B@rM?HlAsm{F)FJsyi|!ezbNG8G z@u3;1sq$}iMrv_B(`QLWYE3@%ZO%xiUTd4twq-3ZWw%mCd1_v_jD7a#$H3Q<)GITc zUKtN|d`uU1d{I_vW*3IIP4hHU!QbKST{1evH@8Ub-<1Z+Tc-MU&FI~1$!_WN`d~!w z>&k*qwtG4~JJr7{*RYSea&=gio%+3N#*rCYvgyFKc)Q(7X>s+Tyc)?)4LFcFm%o4N z!2>hSiEmA${yLD0A@_Z~3o^Q9l;rybIyP@{IQM*D;QlNmGEoXi7?qz+Z%s8OGCHL` zE68XUZ__pP7p3BbT~qB3Vys7XP3s!x#(L60jCEN->fwV}GHVY?{c;eE)pk!E(v7|B zSC~#0-P6deg`C8BJfbcuOg-3*0jw!Zz1oeOm4~L{2eTB7KRk8Z!OW!E!)09L6iH1v zm>E7BFG{Vb;9L#~tKPvUu!OX1eqSV(1XPn=x>gcq)U)w|Wp@G*p6G>W~nfm8I zX2Q+g*@?{KQjhUxo8o!LrPg%M=$$d;1orwrJ`;0bkBoNB>P}3jt5O}W&e|_k-Xo)X zd}E)~%pUZx}r{V>92|p_F({URUmq$6Ji7-9^Z|)p=63)LrcmXTzJs#tO5t~c}ACh5I zL0DiNZXn)*CZ)hmT+}^`$GGMVH5JM=P&yQBagSSWe+Sg8h+Yx#OGuFVhVpk_`~=N# zAsJ*u)ED6;#+P9I)S^^yhqLCt3rmO9_h8vU^=!NicOyZ{zn*jnn&C|>L!@4X^@ER6 z;16ew|Al1))Z1}|lYGu?2M)K!^i7+C9pYBmi^bz!^87~6+rZqYBx5`t^Sb>R3~?`R z6U6UenG-|z4E*?C!5o;+3r>mm`#U)1wa!0dIpz~ti6ws9w&0Mib@8<6P^QSEq!&X6tUeSzl?Z-XS>i9HhsTg>Z%GGu@igMHG5=%U zIuho)1o3BhBa@1k0*HO$Sx@+x-k8T#VFDxHM%_qN% z&>hY}`y|N2B>9ADu*JN4uzaXgt`<_@CufcSg5?vU1ulL(ul~gvKM~94JD0oo3(gvU z2^Srg@QP&rrGYIjK{Nb;%WA_RZqLE3q=3dd;zAAy14Ze$SBm8mwHhCYTbvlKxKCpF z)UC#!!V^mp-XhxfJJ8?~G{g6};Dkg#n)ne*g~1l{e#TSGoXF)-**fC0$RIm(m9yr* z2IrXk^YEyX5?(TsB~=QzBxCP5+%7cw{0=J+6Igcg&BDNzWk8CQ) zpGRCq^guF-gN>CHUq^WsQosD!ct(;8we(yH@MU9fhAA)uXYzUHgI$58c&jq^*?M>gH(g;&d7xEI#=g*cB%&D8Nba4SxZC!wQDc#ecoX4W_0ImWy1!NtZjcqCp< zyn`!094|8YtMLZo7w~Gc1K;hz`ByM7L2=n)-VbEx<38CgL!84{$wCusac>_iAL3WH z#`0l)bz8j5I1jHh?ts@BciNNrx6veYA%lLZUpg?*SsOSL%f&{0HkON#x(v%l|J6hA z0^?!0&Uko|gjFVC1eWgtXays&d?!FX8q0SB)MN2h<4P>w4bb>ixV!N+xR-JAIuc~a zwZKF?)L1%LWjqy6GoFrLHlBe!&LXYvHY^K|dM1{OnRC*+lZ3)B!JCDT!2QV~hu}45 zt>ASmE1&vJEDMi%6_$lb{T`O{UcCm(IumTkxc4Cmvao1|by!v^^=DYt1@#wL)&ccb zSQZ|21D4CN`g<&wYxR$~pE}7N{!D^=4?;6+#`1j#_5ZMZFGBr)SQZlXpLhm7i3Az3 z1Sh;$;6ksuA6@2v3)u&fK}a$JFjyZpB~ zYkVe_g^Nwr|G0N22@NFhs>g3&xwGVu_-j~Ju3+P~8Rz4}NRSTw=B)88ST5h{Kd>xp z>c6lod_ntEu$=^1=`_O*EGwBhjb)`%$9X&~E1S9*)^CeQhYFoFemIt;S$!myrP<$q z*~6nrsBmGqZ!gB-)|h^KGx0;YO(#)qt7rZeoY($Z&VBq^Eax@-^zZBU{+&JME;lD0 zGe+27*e>J3m|FE3*^6@cw;c)!cU|rA# zZ@_Zit4H%XL2l#6yAJo*9^6CvS4Y~r4s*|$3@(=>yh(!GM9LmXhhG1O264i<3m;67 zwOt#C?+Dg%^;RsWm4E%GgGc@s%yQj<@wniGgxBEe`vfm|AQ@J;-_Brd)(YohSy~em zkUhRR9h`<-t$n|P_3KL#-<_$bUtTrbl^cOU)GvJT<)-bbq?~! zyx;dqvbLKZHj-g5=cT*>E$49_x2t`yKPT`hc((DCc-x>vP#-0(#-(S39xwSH4nAQm z^*w^?vDUXHNx}kC;dZ?4tgr%k<48IXY;iA*rGx4?(_Oz>CJpp()_5V74yzBx(w;hb zBnfpU;bdzEmL98*$M%q%h{LTh-Et3JPqG8uc~L8~{$vxELvoe4Ea8g8lHN5W z)P)J&b$G35a3aooBAjXBbb%wu3WpxHYDi@PQ?1Z#9YWIIsV^$S0OasPhwI z-j!Gy^p8l$W#QHq)T&@gh9!yaZ9%V&2nu_K<`x z=6}q4mV^-(xCHzh?tWqDI$TvA`emtLc<5Jg8#7`nBuC%O zgj-{}h97yA2J~9cZ*NQmx-Rgm#(sxaxrOTGeHj5d+|Rk!elfqnW>hL8vTvK1zXSO$ z{(jh=d@-sq{k!Rrbf_`RKoyPYt;UjnU)EIJ1Igb;*4U=4F@1os-Qjc>&nG!SfY?{?hJxCToHG=4X>BX%#A&EJ0+;#)b! zvd613g7da@ZprY#sAQXby$syuOBGEF-eX`R%qbe@Lrc{*ed7{2kJ3#m`uF zK<^*A<;7$NlTD}97!qU;^fX(9Wr+21xi?RzWr)?2u?*=b*Wlk+hIF>;&_nHG{s`&C z={~o|g#9`95}tK=G9hM*d9TP2U6Jr5uE+UThJFKIV21Q9yukP!Dep?lq+E@|tuf7? zD);N-Wbj9@fey|}Ud~tk;z7ct9e8+12XrAC(lO>Ypd&IDO9yn}`M@+FvwRDdZ|-)d zRk_*?;Q5_6*kaxpSibG69*mRIOv1S&)X{){-crR4xR$sSkqSR|)(SRY`Es%P8!TTq zR(~gP;~%hm^;qMZ_GSL9r9rN`R3G>DZcPE~?=ddM`h{}IaXjwzs9T7LkH*DV^WTGq z8rS10<6rScBq4`Sv+0l@i9Pq}HW`uOc!Mc00vAsTD;SB37KG1q?!qmMU%_%n zgDvjWV;Ny}@(mK?5NN_%c%$(2t@wUMn(EQD?98z@)EQj3R{!j2aa~ucrlh^ zu09^yh37;ZZjI?KT%KhPmAi#!J1davz(Hh6%Jume)^0hby3kC*vPbG?_h&WayiHI* z*8VQ6A;yJ z$Ry*Y)%PqclS=Pk{ydP23wzYX#gF8&s6Tcf9)_8v`zn0*S0P)A2HU1=)27@i` zJ%we?Nc(JA-VzeRtucK$S10LlE{Sr?FFT0qKTbF=HTh+a*WvOh5|xejknm>XFR-1Y zUj^k|`&5wFi&wi8;Ii*G$R9uQE3BqE=|DqJz^`5!j2*yPGd1B`8qCCH>|vY~8PP*< zzKI`-2jfEGvUFeP+g$%Ak}%B_NaAJ2Q}JCiAorruz#=>mb4~I6DISXbNi5yqSXLN! z!-*RcEPEJiTpO@7s2+i(LG?&19aN9TvIFX|IH^CA zA$v5N1hHm#09SJss2{}o^BR)>9cPWN#?oQ+2iP9-k8rp(rU$g<^`A7Lr`^-6Ofp2- zGM^Q;QB~0*s z!HbN4!!>3SZo%WttKC1a{!WW@pk0T+K?mbr0?Q#*cgBe(bN%m1f*d2wa1fSbsP2ws zgw#E;91`_mSPp^u2rP$GU4&%>)yH5NF@KZm|8XS9G13etV0+s1!Qs}Jp3X`sL+HOR z$i?R^EJLhU&*t({&bW@3ax&{TxRrGQmv0$SIqUrE|1+%ZG9+5T?mc7vSx`U*InA!a zau)DB()a&iIb;_Rm#g0?ri1>~FR}xdnYg^xtOy;v{=b8S%$pNbCmWv!!15zA`AF94 z)``Fpm3Z3(_i)5Zki;iAL$;VVDZyI5FnnF{IPQaWY5ow)FXg!FAJ=~V`w}uVCrKvJ zPFyjA|MNHA9q-6m&4bBu%m*^Oeer7kkW!iNOs^}>zcqnmW1YagOoM0PhDBiqCgUyQ zq@O+RJwbx^RG48M&M{8o@|pyhWTT5RUG7W>*ys{2G5HJe7|eUplG_`C3r+kcJP0TK zTOu+%L&627zy_Q!1^9(GZxqgO6&{A=w|`2p9D)VTkd4ov;Th!TzQymrr+6OL7dkPH z?f9qk^*>c~CqaKZNqT&avtJ)R56h6Mhe`!z9k>w7G1mA+SmuEG5-f*UJqlMWI*FA zbpx4X;kxt$CMJhaU#Kj=atQr(fQ9SV6L|hB=XqT$DA4{yZYap0OY3l4Zwk!Ea)`8o zpRmjUb+?mZ{xMdM#j-9GX9e}o$1-UXbWm2#-IAx!@}1!;mkn5d9ZWK`??;8~!C+Tl zIM(0ul6XyjKD@*T_VVMI-X<&~7<8bSx7>`FEY06UMl|`I$slX<55`iU1uuCv(n0^0 zi!*tGGwn%}-XwWRbXUS}P}YH^&VCp_k00Zh%e6#K>jo^pZ{^}i?|TvoNswbC73|YB zu*=}J#_~&GnJ#{cv&K)w^5a+P({ZKoAUxmrEX>~kclkN~=aA5AmL|l!^RWDSR@YqCkGRiSp8sD?Leb*jM^R*m?!)|KS5P1E zIk?Ki-^TLuU%?jh-o^6sVe0p>{Ct>tEta1dQ-6%*kjTdMC+>Yp!Wwg4evaGFV6er# z4Oo7l&7V}{Z+>84jqiqK2h^>w{3x5|FLKuSF<5qpO|F030g+(O^Am8m@%}&&FFrYj z2@>VJZg+IdKjt#)#RIS$b9EBSF|Tv+oZdX3;1Kij!p}bj%MRv9`*IpBCP9w*dRL$U z%Q0_o-uoC94vy&{=YCj@xq32|W3Kt1$8yZozhgP(1+D|#i&>~R#6`?Mzel4%OU$fw|T*xy6E z5N}-)=KmCTHu2a&tQ!v|ymge9rF@oi(5IM}!t%q5{tgpw*^Tp05;Q}0H=gM{l;xDICiZ6cwC%TP`R zv1Yg!%g;FK#b=hY##2~+Wl?>FI3ArZ2U%0|#=txZo z6VJyBOne~jZsKR+QO0NEWyWQA=)AB)$sr`PcsNWLhQ}KZ$8+X~@ez2+W1&Z4`8mjH zFE}J?ogrJy`xvie&g|xkS5~+IHw&Ef4(h>OubEVX@eerL6-Z(^rok5XregV}PMx$* zIct0gmP4RkisjciHUHPnL7dnB-;yB5Lv|Xu~^mxbtRT{MST^Pbwzy*mUV?~cm5amt|OuIGpXk* zGP)%{=0YK>RFyFmvCzdl{ zk@G)T&Y04`Nw3f0Jai;sfy?j|mc!Eq%R2r)EXPlMD3>%jgDPGAB$hKMKOS_b_y`(g zbo}{2`N>!ghpahLUp6Z#;$g*mV%$+A)o#tqmXC7i@1CjV4C@j1Ud?Nekr3AJ@$g)^}H{%o-E zF&sS2cqX1@d?%i7JPWTiPGRYg)^|Ua4hQ$F^l&Z-X_G;|`gtKgk*@_F!Frl;WWC35 zg^53bCmJupYmJ}A4aUz(d8u6XU*58Lj)ZV)OiwvE<_}SRhC36m3}G=>FF7+x2XIN| zkW{#M;!MsA4%sN@^RbKwSLxse2Fr-~heU2*u#8Yr6WX1{L^T<{#Inat@xi=p!yfo= z?^D5rSoTok^RUc`5*m~awm&=Ok6^az0DslpA2H4UFy;^^n?7pwJqdCM%3Xmj=P&{^ zaE5c886lazUt;+!;b4n-U*kICZ}GNQ!uUpPpE3P}w?1p`8Gj)mb7^?Yf5SbEx8PaE ze_;O@`aQ_<{=(tbnEsLH1JZ$#crYR(*&*q$e}BRVy@~6RB$T*gcF?)IK2R8qi_8Ot zg;+YsZH0eKH{-455cDYH7!%ha{shYojBxq4n-0nd<`ss&?C#&TcO#*wK9zMvM%Scd zI1U%CNKjn1n0Epm8-V}M^7`Q7Hxn);<_(JYEZoP$FT_RsS~GLlUnlOy^XXuL^DDS4 z$RDf=^&}KfAjf6+)fEU@jC;T1)l@Ll#oHblSmSwE%BwqI>43TuUg0D=)CC8de_l4G z3z`y`8;r$fGXW*5_gR%UKxW>=L@)PCi^RfKwxcUNIAr96B-Zdpb zev@1?Tr3%!q{o-yaO0)iXB$C!7sR&0xewyxrYS~8i;%QVQE0UKh~cRmj+LE)_6ZG9Z;W!E8O^#mgNl~A>8;> zEK9Fl8M~dqOFQ;ZRyrB-GfaLNfhsJ&pdV~8?^-7+f z!b$^EB!kv2>2QebDKK{x1$^|Lq=p zWim*C24g9Z#pz)4x0KVPX=_Yp8%zGfBKeOnajCy3X%eKsut{| zrGbYd`5!fL$-lr@^1m0!zb1^!`qP;HFih|-zgr^({x)&R|BtaW(C#QRq>NAkhg)O1 zv$5pw+mzp5|FXRPCWACkYAglDH5HI*v%D)!T=HLSEcs{Se(xq+A7b7E5`QoBgV)#SQZp;eaP}&FmcKM zlCk9fDU$ye6PNtI`F8C~f&Gu(b&uQOaO1;n#*+W^Nd7@4E)ASzEcvHI^4}4JsNP*`~T=KtYEDih^$^Wy7Oa9HqlD}&s;BjLqusV|e0~4409~n#jza#no zF>%SC{LdsvflfSgv&Xm#4mVyY8B6}tBl!oJxHNEx?ty`oBF=V28;d1=7aSK>o42j?jTP+_)IY4$VmRtCNBBM8cY6}k^FZy z#r^ZYF+Hm(A$a}&9A0a#*L665b;9i?-=M|vSJi?o=Dmtnn^(7+@FxAf053*=#rk)w z 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 diff --git a/artifacts/program_methods/ping_sender.bin b/artifacts/program_methods/ping_sender.bin new file mode 100644 index 0000000000000000000000000000000000000000..c2480bc33da485b0242d8abb2ca13898eddfdc16 GIT binary patch literal 417492 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%0DlY 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 Self { + Self { + id: PING_SENDER_ID, + elf: PING_SENDER_ELF.to_vec(), + } + } } // TODO: Testnet only. Refactor to prevent compilation on mainnet. diff --git a/program_methods/guest/src/bin/cross_zone_outbox.rs b/program_methods/guest/src/bin/cross_zone_outbox.rs index 84805807..432e8d9c 100644 --- a/program_methods/guest/src/bin/cross_zone_outbox.rs +++ b/program_methods/guest/src/bin/cross_zone_outbox.rs @@ -20,13 +20,20 @@ fn main() { "Outbox is only callable through a chain call from a user program" ); - let (target_zone, target_program_id, payload, ordinal) = match instruction { + let (target_zone, target_program_id, target_accounts, payload, ordinal) = match instruction { Instruction::Emit { target_zone, target_program_id, + target_accounts, payload, ordinal, - } => (target_zone, target_program_id, payload, ordinal), + } => ( + target_zone, + target_program_id, + target_accounts, + payload, + ordinal, + ), }; let [outbox] = @@ -42,6 +49,7 @@ fn main() { post_account.data = OutboxRecord { target_zone, target_program_id, + target_accounts, payload, } .to_bytes() diff --git a/program_methods/guest/src/bin/ping_sender.rs b/program_methods/guest/src/bin/ping_sender.rs new file mode 100644 index 00000000..d0ad04f5 --- /dev/null +++ b/program_methods/guest/src/bin/ping_sender.rs @@ -0,0 +1,59 @@ +use cross_zone_outbox_core::Instruction as OutboxInstruction; +use lee_core::{ + account::AccountWithMetadata, + program::{AccountPostState, ChainedCall, ProgramInput, ProgramOutput, read_lee_inputs}, +}; +use ping_core::SenderInstruction; + +fn main() { + let ( + ProgramInput { + self_program_id, + caller_program_id, + pre_states, + instruction, + }, + instruction_words, + ) = read_lee_inputs::(); + + assert!( + caller_program_id.is_none(), + "ping_sender is only invoked as a top-level user transaction" + ); + + let SenderInstruction::Send { + outbox_program_id, + target_zone, + target_program_id, + target_accounts, + payload, + ordinal, + } = instruction; + + // The single account is the outbox PDA the chained call writes into; the + // outbox claims it, so ping_sender forwards it unchanged. + let [outbox] = + <[AccountWithMetadata; 1]>::try_from(pre_states).expect("Send requires exactly 1 account"); + + let call = ChainedCall::new( + outbox_program_id, + vec![outbox.clone()], + &OutboxInstruction::Emit { + target_zone, + target_program_id, + target_accounts, + payload, + ordinal, + }, + ); + + ProgramOutput::new( + self_program_id, + caller_program_id, + instruction_words, + vec![outbox.clone()], + vec![AccountPostState::new(outbox.account)], + ) + .with_chained_calls(vec![call]) + .write(); +} diff --git a/programs/cross_zone_outbox/core/src/lib.rs b/programs/cross_zone_outbox/core/src/lib.rs index 528cf769..b3449598 100644 --- a/programs/cross_zone_outbox/core/src/lib.rs +++ b/programs/cross_zone_outbox/core/src/lib.rs @@ -19,6 +19,10 @@ pub enum Instruction { Emit { target_zone: ZoneId, target_program_id: ProgramId, + /// Accounts the destination inbox must hand to the target program's + /// chained call. The emitter specifies them; the watcher forwards them + /// verbatim so the inbox stays target-agnostic. + target_accounts: Vec<[u8; 32]>, payload: Vec, ordinal: u32, }, @@ -31,6 +35,7 @@ pub enum Instruction { pub struct OutboxRecord { pub target_zone: ZoneId, pub target_program_id: ProgramId, + pub target_accounts: Vec<[u8; 32]>, pub payload: Vec, } diff --git a/programs/ping/core/src/lib.rs b/programs/ping/core/src/lib.rs index f6b5b963..268e5b98 100644 --- a/programs/ping/core/src/lib.rs +++ b/programs/ping/core/src/lib.rs @@ -12,6 +12,19 @@ pub enum ReceiverInstruction { Record { payload: Vec }, } +/// Instruction to `ping_sender`: forwarded verbatim into `cross_zone_outbox::Instruction::Emit`. +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum SenderInstruction { + Send { + outbox_program_id: ProgramId, + target_zone: [u8; 32], + target_program_id: ProgramId, + target_accounts: Vec<[u8; 32]>, + payload: Vec, + ordinal: u32, + }, +} + /// The account a `ping_receiver` records the latest delivered payload into. #[must_use] pub fn ping_record_pda(receiver_id: ProgramId) -> AccountId { From 77cfff5256905ad96b445a4679611c562a1f9f42 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Tue, 23 Jun 2026 10:17:46 +0200 Subject: [PATCH 06/19] feat(cross-zone): add inbox watcher and seed inbox config at genesis --- Cargo.lock | 2 + integration_tests/tests/two_zone.rs | 4 +- lee/state_machine/src/state.rs | 11 + lez/sequencer/core/Cargo.toml | 2 + lez/sequencer/core/src/config.rs | 20 ++ lez/sequencer/core/src/cross_zone_watcher.rs | 216 +++++++++++++++++++ lez/sequencer/core/src/lib.rs | 22 ++ test_fixtures/src/config.rs | 4 +- test_fixtures/src/lib.rs | 1 + test_fixtures/src/setup.rs | 2 + 10 files changed, 281 insertions(+), 3 deletions(-) create mode 100644 lez/sequencer/core/src/cross_zone_watcher.rs diff --git a/Cargo.lock b/Cargo.lock index d0395448..e09f6a21 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4001,7 +4001,9 @@ dependencies = [ "logos-blockchain-key-management-system-service", "logos-blockchain-zone-sdk", "num-bigint 0.4.6", + "ping_core", "reqwest", + "risc0-zkvm", "sequencer_core", "sequencer_service_rpc", "serde_json", diff --git a/integration_tests/tests/two_zone.rs b/integration_tests/tests/two_zone.rs index 1b1ddefc..90f994cb 100644 --- a/integration_tests/tests/two_zone.rs +++ b/integration_tests/tests/two_zone.rs @@ -36,13 +36,13 @@ async fn two_zones_share_one_bedrock_and_both_advance() -> Result<()> { let channel_b = config::bedrock_channel_id_b(); // Empty genesis is enough: the clock transaction drives block production. - let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_a) + let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_a, None) .await .context("Failed to set up zone A sequencer")?; let (idx_a, _idx_a_home) = setup_indexer(bedrock_addr, channel_a) .await .context("Failed to set up zone A indexer")?; - let (seq_b, _seq_b_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_b) + let (seq_b, _seq_b_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_b, None) .await .context("Failed to set up zone B sequencer")?; let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b) diff --git a/lee/state_machine/src/state.rs b/lee/state_machine/src/state.rs index 949c9920..cbcbad53 100644 --- a/lee/state_machine/src/state.rs +++ b/lee/state_machine/src/state.rs @@ -199,6 +199,8 @@ impl V03State { this.insert_program(Program::bridge()); this.insert_program(Program::cross_zone_outbox()); this.insert_program(Program::cross_zone_inbox()); + this.insert_program(Program::ping_sender()); + this.insert_program(Program::ping_receiver()); this } @@ -374,6 +376,13 @@ impl V03State { }, ); } + + /// Inserts an account directly into genesis state, bypassing execution. + /// Genesis-only: used to seed configuration accounts that are not produced by + /// any transaction. Must never be reachable from transaction processing. + pub fn insert_genesis_account(&mut self, account_id: AccountId, account: Account) { + self.public_state.insert(account_id, account); + } } #[cfg(any(test, feature = "test-utils"))] @@ -716,6 +725,8 @@ pub mod tests { Program::cross_zone_outbox(), ); this.insert(Program::cross_zone_inbox().id(), Program::cross_zone_inbox()); + this.insert(Program::ping_sender().id(), Program::ping_sender()); + this.insert(Program::ping_receiver().id(), Program::ping_receiver()); this }; diff --git a/lez/sequencer/core/Cargo.toml b/lez/sequencer/core/Cargo.toml index 9201d8b3..09fef127 100644 --- a/lez/sequencer/core/Cargo.toml +++ b/lez/sequencer/core/Cargo.toml @@ -18,6 +18,8 @@ testnet_initial_state.workspace = true faucet_core.workspace = true bridge_core.workspace = true vault_core.workspace = true +cross_zone_inbox_core = { workspace = true, features = ["host"] } +ping_core.workspace = true logos-blockchain-key-management-system-service.workspace = true logos-blockchain-core.workspace = true diff --git a/lez/sequencer/core/src/config.rs b/lez/sequencer/core/src/config.rs index b445bcd5..8e299152 100644 --- a/lez/sequencer/core/src/config.rs +++ b/lez/sequencer/core/src/config.rs @@ -10,6 +10,7 @@ use bytesize::ByteSize; use common::config::BasicAuth; use humantime_serde; use lee::AccountId; +use lee_core::program::ProgramId; use logos_blockchain_core::mantle::ops::channel::ChannelId; use serde::{Deserialize, Serialize}; use url::Url; @@ -27,6 +28,22 @@ pub enum GenesisAction { }, } +/// A peer zone whose outbox this zone watches for inbound cross-zone messages. +#[derive(Clone, Debug, Serialize, Deserialize)] +pub struct CrossZonePeer { + /// The peer's Bedrock channel; its 32 bytes double as the peer's zone id. + pub channel_id: [u8; 32], + /// Programs on this zone a message from this peer is allowed to target. + pub allowed_targets: Vec, +} + +/// Cross-zone watcher configuration: the peers this zone reads from Bedrock and, +/// per peer, the local programs they may deliver to. `None` disables the watcher. +#[derive(Clone, Debug, Serialize, Deserialize)] +pub struct CrossZoneConfig { + pub peers: Vec, +} + // TODO: Provide default values #[derive(Clone, Serialize, Deserialize)] pub struct SequencerConfig { @@ -53,6 +70,9 @@ pub struct SequencerConfig { /// Genesis configuration. #[serde(default)] pub genesis: Vec, + /// Cross-zone messaging configuration. `None` disables the watcher. + #[serde(default)] + pub cross_zone: Option, } #[derive(Clone, Serialize, Deserialize)] diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs new file mode 100644 index 00000000..a81967b4 --- /dev/null +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -0,0 +1,216 @@ +use std::{collections::BTreeMap, time::Duration}; + +use common::{block::Block, transaction::LeeTransaction}; +use cross_zone_inbox_core::{ + CrossZoneMessage, InboxConfig, build_inbox_dispatch_tx, inbox_config_account_id, +}; +use futures::StreamExt as _; +use lee::{AccountId, program::Program}; +use lee_core::{account::Account, program::ProgramId}; +use log::{error, info, warn}; +use logos_blockchain_core::mantle::ops::channel::ChannelId; +use logos_blockchain_zone_sdk::{ + CommonHttpClient, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, +}; +use mempool::MemPoolHandle; +use ping_core::SenderInstruction; + +use crate::{ + TransactionOrigin, + config::{BedrockConfig, CrossZoneConfig}, +}; + +/// The inbox config account this zone seeds at startup so the inbox guest can +/// authorize inbound peer messages. The config is zone-specific (self zone plus +/// per-peer target allowlists), so it cannot live in the shared genesis state. +#[must_use] +pub fn inbox_config_account(self_zone: [u8; 32], cross_zone: &CrossZoneConfig) -> (AccountId, Account) { + let inbox_id = Program::cross_zone_inbox().id(); + + let mut allowed_targets = BTreeMap::new(); + for peer in &cross_zone.peers { + allowed_targets.insert(peer.channel_id, peer.allowed_targets.clone()); + } + let config = InboxConfig { + self_zone, + allowed_peers: BTreeMap::new(), + allowed_targets, + }; + + let account = Account { + program_owner: inbox_id, + balance: 0, + data: config + .to_bytes() + .try_into() + .expect("inbox config fits in account data"), + nonce: 0_u128.into(), + }; + (inbox_config_account_id(inbox_id), account) +} + +/// Spawns one watcher task per configured peer. Each task reads the peer's +/// finalized blocks from Bedrock, recognizes outbound messages addressed to this +/// zone, and injects the matching inbox dispatch as a sequencer-origin +/// transaction into the local mempool. +pub fn spawn_watchers( + bedrock_config: &BedrockConfig, + cross_zone: &CrossZoneConfig, + poll_interval: Duration, + mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, +) { + let self_zone: [u8; 32] = *bedrock_config.channel_id.as_ref(); + let inbox_id = Program::cross_zone_inbox().id(); + let emitter_id = Program::ping_sender().id(); + + for peer in cross_zone.peers.clone() { + let node = NodeHttpClient::new( + CommonHttpClient::new(bedrock_config.auth.clone().map(Into::into)), + bedrock_config.node_url.clone(), + ); + tokio::spawn(watch_peer( + ZoneIndexer::new(ChannelId::from(peer.channel_id), node), + peer.channel_id, + peer.allowed_targets, + self_zone, + inbox_id, + emitter_id, + poll_interval, + mempool_handle.clone(), + )); + } +} + +#[expect( + clippy::too_many_arguments, + reason = "Each parameter is an independent piece of per-peer watcher state" +)] +async fn watch_peer( + zone_indexer: ZoneIndexer, + peer_zone: [u8; 32], + allowed_targets: Vec, + self_zone: [u8; 32], + inbox_id: ProgramId, + emitter_id: ProgramId, + poll_interval: Duration, + mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, +) { + info!("Cross-zone watcher started for peer {}", hex::encode(peer_zone)); + + let mut cursor = None; + loop { + let stream = match zone_indexer.next_messages(cursor).await { + Ok(stream) => stream, + Err(err) => { + error!( + "Watcher next_messages failed for peer {}: {err}", + hex::encode(peer_zone) + ); + tokio::time::sleep(poll_interval).await; + continue; + } + }; + let mut stream = std::pin::pin!(stream); + + while let Some((msg, slot)) = stream.next().await { + let zone_block = match msg { + ZoneMessage::Block(block) => block, + ZoneMessage::Deposit(_) | ZoneMessage::Withdraw(_) => continue, + }; + match borsh::from_slice::(&zone_block.data) { + Ok(block) => { + deliver_block( + &block, + peer_zone, + self_zone, + inbox_id, + emitter_id, + &allowed_targets, + &mempool_handle, + ) + .await; + } + Err(err) => error!("Watcher failed to deserialize peer block: {err}"), + } + cursor = Some(slot); + } + + // Stream ended (caught up to the peer's last finalized block); poll again. + tokio::time::sleep(poll_interval).await; + } +} + +/// Scans one peer block for outbound messages and injects a dispatch per match. +/// +/// Option A (M3): the watcher recognizes the demo emitter and reads the outbound +/// message straight off its instruction. M4 replaces this with re-derivation +/// from the outbox PDA write, which removes the emitter-specific decoding. +async fn deliver_block( + block: &Block, + peer_zone: [u8; 32], + self_zone: [u8; 32], + inbox_id: ProgramId, + emitter_id: ProgramId, + allowed_targets: &[ProgramId], + mempool_handle: &MemPoolHandle<(TransactionOrigin, LeeTransaction)>, +) { + for (index, tx) in block.body.transactions.iter().enumerate() { + let LeeTransaction::Public(public_tx) = tx else { + continue; + }; + let message = public_tx.message(); + if message.program_id != emitter_id { + continue; + } + + let SenderInstruction::Send { + target_zone, + target_program_id, + target_accounts, + payload, + .. + } = match risc0_zkvm::serde::from_slice(&message.instruction_data) { + Ok(send) => send, + Err(err) => { + warn!("Watcher could not decode emitter instruction: {err}"); + continue; + } + }; + + if target_zone != self_zone { + continue; + } + if !allowed_targets.contains(&target_program_id) { + warn!( + "Watcher dropping message to disallowed target from peer {}", + hex::encode(peer_zone) + ); + continue; + } + + let cross_zone_message = CrossZoneMessage { + src_zone: peer_zone, + src_block_id: block.header.block_id, + src_tx_index: u32::try_from(index).unwrap_or(u32::MAX), + src_program_id: emitter_id, + target_program_id, + payload, + l1_inclusion_witness: None, + }; + let target_ids: Vec = target_accounts.into_iter().map(AccountId::new).collect(); + let dispatch = build_inbox_dispatch_tx(inbox_id, &cross_zone_message, target_ids); + + match mempool_handle + .push((TransactionOrigin::Sequencer, LeeTransaction::Public(dispatch))) + .await + { + Ok(()) => info!( + "Watcher injected cross-zone dispatch from peer {} block {} tx {}", + hex::encode(peer_zone), + block.header.block_id, + index + ), + Err(err) => error!("Watcher failed to enqueue inbox dispatch: {err}"), + } + } +} diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index 651951d2..fec6f57d 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -31,6 +31,7 @@ use crate::{ pub mod block_publisher; pub mod block_store; pub mod config; +pub mod cross_zone_watcher; #[cfg(feature = "mock")] pub mod mock; @@ -158,6 +159,17 @@ impl SequencerCore { .expect("Failed to publish genesis block"); } + // Cross-zone messaging: start a watcher per configured peer. The inbox + // config account is seeded into genesis state in `build_genesis_state`. + if let Some(cross_zone) = &config.cross_zone { + cross_zone_watcher::spawn_watchers( + &config.bedrock_config, + cross_zone, + config.block_create_timeout, + mempool_handle.clone(), + ); + } + let sequencer_core = Self { state, store, @@ -609,6 +621,15 @@ fn build_genesis_state(config: &SequencerConfig) -> (lee::V03State, Vec, channel_id: ChannelId, + cross_zone: Option, ) -> Result { let SequencerPartialConfig { max_num_tx_in_block, @@ -91,6 +92,7 @@ pub fn sequencer_config( .context("Failed to convert bedrock addr to URL")?, auth: None, }, + cross_zone, }) } diff --git a/test_fixtures/src/lib.rs b/test_fixtures/src/lib.rs index 8ca97147..46ac0668 100644 --- a/test_fixtures/src/lib.rs +++ b/test_fixtures/src/lib.rs @@ -344,6 +344,7 @@ impl TestContextBuilder { bedrock_addr, genesis, config::bedrock_channel_id(), + None, ) .await .context("Failed to setup Sequencer")?; diff --git a/test_fixtures/src/setup.rs b/test_fixtures/src/setup.rs index 85652e2f..df26141a 100644 --- a/test_fixtures/src/setup.rs +++ b/test_fixtures/src/setup.rs @@ -116,6 +116,7 @@ pub async fn setup_sequencer( bedrock_addr: SocketAddr, genesis_transactions: Vec, channel_id: ChannelId, + cross_zone: Option, ) -> Result<(SequencerHandle, TempDir)> { let temp_sequencer_dir = tempfile::tempdir().context("Failed to create temp dir for sequencer home")?; @@ -131,6 +132,7 @@ pub async fn setup_sequencer( bedrock_addr, genesis_transactions, channel_id, + cross_zone, ) .context("Failed to create Sequencer config")?; From b83a3c7556646a8dade544aa1fc02aee53f9f81a Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Tue, 23 Jun 2026 10:42:30 +0200 Subject: [PATCH 07/19] test(cross-zone): add two-zone ping round-trip integration test --- Cargo.lock | 3 + integration_tests/Cargo.toml | 3 + integration_tests/tests/cross_zone_ping.rs | 138 +++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 integration_tests/tests/cross_zone_ping.rs diff --git a/Cargo.lock b/Cargo.lock index e09f6a21..ca99945c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3986,6 +3986,7 @@ dependencies = [ "bridge_core", "bytesize", "common", + "cross_zone_outbox_core", "faucet_core", "futures", "hex", @@ -8865,6 +8866,7 @@ dependencies = [ "bytesize", "chrono", "common", + "cross_zone_inbox_core", "faucet_core", "futures", "hex", @@ -8878,6 +8880,7 @@ dependencies = [ "logos-blockchain-zone-sdk", "mempool", "num-bigint 0.4.6", + "ping_core", "rand 0.8.6", "risc0-zkvm", "serde", diff --git a/integration_tests/Cargo.toml b/integration_tests/Cargo.toml index 3b1731d8..c460b881 100644 --- a/integration_tests/Cargo.toml +++ b/integration_tests/Cargo.toml @@ -23,6 +23,9 @@ ata_core.workspace = true vault_core.workspace = true faucet_core.workspace = true bridge_core.workspace = true +ping_core.workspace = true +cross_zone_outbox_core.workspace = true +risc0-zkvm.workspace = true indexer_service_rpc = { workspace = true, features = ["client"] } sequencer_service_rpc = { workspace = true, features = ["client"] } wallet-ffi.workspace = true diff --git a/integration_tests/tests/cross_zone_ping.rs b/integration_tests/tests/cross_zone_ping.rs new file mode 100644 index 00000000..3afeeb39 --- /dev/null +++ b/integration_tests/tests/cross_zone_ping.rs @@ -0,0 +1,138 @@ +#![expect( + clippy::tests_outside_test_module, + clippy::arithmetic_side_effects, + reason = "We don't care about these in tests" +)] + +//! End-to-end cross-zone round trip: a ping submitted on zone A is delivered by +//! zone B's watcher to `ping_receiver` on zone B, which records the payload. +//! +//! Two sequencers share one Bedrock node (no indexers): zone A publishes the +//! ping to Bedrock, zone B's watcher reads zone A's finalized blocks, injects the +//! inbox dispatch, and zone B's sequencer delivers it. This is the M3 milestone, +//! sequencer-trusted, with no indexer re-derivation (that is M4). + +use std::{net::SocketAddr, time::Duration}; + +use anyhow::{Context as _, Result}; +use common::transaction::LeeTransaction; +use cross_zone_outbox_core::outbox_pda; +use integration_tests::{ + config::{self, SequencerPartialConfig}, + setup::{setup_bedrock_node, setup_sequencer}, +}; +use lee::{AccountId, PublicTransaction, program::Program, public_transaction::Message}; +use lee_core::program::ProgramId; +use ping_core::{ReceiverInstruction, SenderInstruction, ping_record_pda}; +use sequencer_core::config::{CrossZoneConfig, CrossZonePeer}; +use sequencer_service_rpc::{RpcClient as _, SequencerClient, SequencerClientBuilder}; +use tokio::test; + +const DELIVERY_TIMEOUT: Duration = Duration::from_secs(480); +const PING_PAYLOAD: &[u8] = b"hello-cross-zone"; + +#[test] +async fn ping_crosses_from_zone_a_to_zone_b() -> Result<()> { + // Declared first so it outlives both zones (drops run in reverse order). + let (_bedrock, bedrock_addr) = setup_bedrock_node() + .await + .context("Failed to set up shared Bedrock node")?; + + let partial = SequencerPartialConfig::default(); + let channel_a = config::bedrock_channel_id(); + let channel_b = config::bedrock_channel_id_b(); + let zone_a: [u8; 32] = *channel_a.as_ref(); + let zone_b: [u8; 32] = *channel_b.as_ref(); + + let receiver_id = Program::ping_receiver().id(); + + // Zone B watches zone A and allows delivery only to ping_receiver. + let cross_zone = CrossZoneConfig { + peers: vec![CrossZonePeer { + channel_id: zone_a, + allowed_targets: vec![receiver_id], + }], + }; + + let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_a, None) + .await + .context("Failed to set up zone A sequencer")?; + let (seq_b, _seq_b_home) = + setup_sequencer(partial, bedrock_addr, vec![], channel_b, Some(cross_zone)) + .await + .context("Failed to set up zone B sequencer")?; + + // Submit the ping on zone A, addressed to ping_receiver on zone B. + let ping = build_ping_tx(zone_b, receiver_id); + sequencer_client(seq_a.addr())? + .send_transaction(ping) + .await + .context("Failed to submit ping on zone A")?; + + // Wait until zone B's sequencer records the delivered payload. + let record_id = ping_record_pda(receiver_id); + let delivered = wait_for_delivery(sequencer_client(seq_b.addr())?, record_id).await?; + + assert_eq!( + delivered, PING_PAYLOAD, + "Zone B must record the payload delivered from zone A" + ); + Ok(()) +} + +/// Builds a top-level ping_sender transaction that chains into the outbox to emit +/// a message carrying a `ping_receiver::Record` instruction for the target zone. +fn build_ping_tx(target_zone: [u8; 32], receiver_id: ProgramId) -> LeeTransaction { + let outbox_id = Program::cross_zone_outbox().id(); + let ordinal = 0; + + // The payload is the ping_receiver instruction, serialized as risc0 words in + // little-endian bytes (the contract the inbox reverses when forwarding). + let words = risc0_zkvm::serde::to_vec(&ReceiverInstruction::Record { + payload: PING_PAYLOAD.to_vec(), + }) + .expect("serialize ping instruction"); + let payload: Vec = words.iter().flat_map(|word| word.to_le_bytes()).collect(); + + let send = SenderInstruction::Send { + outbox_program_id: outbox_id, + target_zone, + target_program_id: receiver_id, + target_accounts: vec![ping_record_pda(receiver_id).into_value()], + payload, + ordinal, + }; + + let outbox_account = outbox_pda(outbox_id, &target_zone, ordinal); + let message = Message::try_new(Program::ping_sender().id(), vec![outbox_account], vec![], send) + .expect("build ping message"); + LeeTransaction::Public(PublicTransaction::new( + message, + lee::public_transaction::WitnessSet::from_raw_parts(vec![]), + )) +} + +fn sequencer_client(addr: SocketAddr) -> Result { + let url = config::addr_to_url(config::UrlProtocol::Http, addr) + .context("Failed to build sequencer URL")?; + SequencerClientBuilder::default() + .build(url) + .context("Failed to build sequencer client") +} + +/// Polls zone B's sequencer until the ping record PDA holds a payload. +async fn wait_for_delivery(client: SequencerClient, record_id: AccountId) -> Result> { + let wait = async { + loop { + let account = client.get_account(record_id).await?; + let data = account.data.into_inner(); + if !data.is_empty() { + return Ok::, anyhow::Error>(data); + } + tokio::time::sleep(Duration::from_secs(3)).await; + } + }; + tokio::time::timeout(DELIVERY_TIMEOUT, wait) + .await + .context("Zone B did not record the cross-zone payload in time")? +} From 0ddb7a92912aa8ecd0b5e9eef4c7ae6b54a8c345 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Tue, 23 Jun 2026 14:21:16 +0200 Subject: [PATCH 08/19] feat(cross-zone): add Option B indexer verifier and seed inbox config consistently --- Cargo.lock | 4 + .../tests/indexer_ffi_helpers/mod.rs | 1 + integration_tests/tests/two_zone.rs | 4 +- lez/indexer/core/Cargo.toml | 4 + lez/indexer/core/src/block_store.rs | 15 +- lez/indexer/core/src/config.rs | 4 + lez/indexer/core/src/cross_zone_verifier.rs | 369 ++++++++++++++++++ lez/indexer/core/src/lib.rs | 33 +- lez/sequencer/core/src/config.rs | 17 +- lez/sequencer/core/src/cross_zone_watcher.rs | 56 +-- lez/sequencer/core/src/lib.rs | 2 +- programs/cross_zone_inbox/core/src/lib.rs | 78 ++++ test_fixtures/src/config.rs | 2 + test_fixtures/src/lib.rs | 2 +- test_fixtures/src/setup.rs | 11 +- 15 files changed, 528 insertions(+), 74 deletions(-) create mode 100644 lez/indexer/core/src/cross_zone_verifier.rs diff --git a/Cargo.lock b/Cargo.lock index ca99945c..ebe1637b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3824,13 +3824,17 @@ dependencies = [ "authenticated_transfer_core", "borsh", "common", + "cross_zone_inbox_core", "futures", + "hex", "humantime-serde", "lee", "lee_core", "log", "logos-blockchain-core", "logos-blockchain-zone-sdk", + "ping_core", + "risc0-zkvm", "serde", "serde_json", "storage", diff --git a/integration_tests/tests/indexer_ffi_helpers/mod.rs b/integration_tests/tests/indexer_ffi_helpers/mod.rs index fe8f8989..51320193 100644 --- a/integration_tests/tests/indexer_ffi_helpers/mod.rs +++ b/integration_tests/tests/indexer_ffi_helpers/mod.rs @@ -61,6 +61,7 @@ pub fn setup_indexer_ffi( bedrock_addr, temp_indexer_dir.path().to_owned(), integration_tests::config::bedrock_channel_id(), + None, ) .context("Failed to create Indexer config")?; diff --git a/integration_tests/tests/two_zone.rs b/integration_tests/tests/two_zone.rs index 90f994cb..4770a9d7 100644 --- a/integration_tests/tests/two_zone.rs +++ b/integration_tests/tests/two_zone.rs @@ -39,13 +39,13 @@ async fn two_zones_share_one_bedrock_and_both_advance() -> Result<()> { let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_a, None) .await .context("Failed to set up zone A sequencer")?; - let (idx_a, _idx_a_home) = setup_indexer(bedrock_addr, channel_a) + let (idx_a, _idx_a_home) = setup_indexer(bedrock_addr, channel_a, None) .await .context("Failed to set up zone A indexer")?; let (seq_b, _seq_b_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_b, None) .await .context("Failed to set up zone B sequencer")?; - let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b) + let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b, None) .await .context("Failed to set up zone B indexer")?; diff --git a/lez/indexer/core/Cargo.toml b/lez/indexer/core/Cargo.toml index c6cc5fc6..249e6e49 100644 --- a/lez/indexer/core/Cargo.toml +++ b/lez/indexer/core/Cargo.toml @@ -12,6 +12,8 @@ common.workspace = true logos-blockchain-zone-sdk.workspace = true lee.workspace = true lee_core.workspace = true +cross_zone_inbox_core = { workspace = true, features = ["host"] } +ping_core.workspace = true storage.workspace = true testnet_initial_state.workspace = true @@ -26,6 +28,8 @@ logos-blockchain-core.workspace = true serde_json.workspace = true async-stream.workspace = true tokio.workspace = true +risc0-zkvm.workspace = true +hex.workspace = true [dev-dependencies] tempfile.workspace = true diff --git a/lez/indexer/core/src/block_store.rs b/lez/indexer/core/src/block_store.rs index f00c94c5..6b7c5c83 100644 --- a/lez/indexer/core/src/block_store.rs +++ b/lez/indexer/core/src/block_store.rs @@ -22,8 +22,13 @@ pub struct IndexerStore { impl IndexerStore { /// Starting database at the start of new chain. /// Creates files if necessary. - pub fn open_db(location: &Path) -> Result { - let initial_state = testnet_initial_state::initial_state(); + pub fn open_db(location: &Path, genesis_seed: Option<(AccountId, Account)>) -> Result { + let mut initial_state = testnet_initial_state::initial_state(); + // Seed any zone-specific genesis accounts (e.g. the cross-zone inbox + // config) so the indexer's replayed state matches the sequencer's. + if let Some((account_id, account)) = genesis_seed { + initial_state.insert_genesis_account(account_id, account); + } let dbio = RocksDBIO::open_or_create(location, &initial_state)?; let current_state = dbio.final_state()?; @@ -215,7 +220,7 @@ mod tests { fn correct_startup() { let home = tempdir().unwrap(); - let storage = IndexerStore::open_db(home.as_ref()).unwrap(); + let storage = IndexerStore::open_db(home.as_ref(), None).unwrap(); let final_id = storage.get_last_block_id().unwrap(); @@ -226,7 +231,7 @@ mod tests { async fn state_transition() { let home = tempdir().unwrap(); - let storage = IndexerStore::open_db(home.as_ref()).unwrap(); + let storage = IndexerStore::open_db(home.as_ref(), None).unwrap(); let initial_accounts = initial_pub_accounts_private_keys(); let from = initial_accounts[0].account_id; @@ -278,7 +283,7 @@ mod tests { async fn account_state_at_block() { let home = tempdir().unwrap(); - let storage = IndexerStore::open_db(home.as_ref()).unwrap(); + let storage = IndexerStore::open_db(home.as_ref(), None).unwrap(); let mut prev_hash = None; diff --git a/lez/indexer/core/src/config.rs b/lez/indexer/core/src/config.rs index 6a019828..bcf4a31a 100644 --- a/lez/indexer/core/src/config.rs +++ b/lez/indexer/core/src/config.rs @@ -7,6 +7,7 @@ use std::{ use anyhow::{Context as _, Result}; use common::config::BasicAuth; +use cross_zone_inbox_core::CrossZoneConfig; use humantime_serde; pub use logos_blockchain_core::mantle::ops::channel::ChannelId; use serde::{Deserialize, Serialize}; @@ -27,6 +28,9 @@ pub struct IndexerConfig { pub consensus_info_polling_interval: Duration, pub bedrock_config: ClientConfig, pub channel_id: ChannelId, + /// Cross-zone configuration. `None` disables the indexer's cross-zone handling. + #[serde(default)] + pub cross_zone: Option, } impl IndexerConfig { diff --git a/lez/indexer/core/src/cross_zone_verifier.rs b/lez/indexer/core/src/cross_zone_verifier.rs new file mode 100644 index 00000000..6514ed87 --- /dev/null +++ b/lez/indexer/core/src/cross_zone_verifier.rs @@ -0,0 +1,369 @@ +use std::{ + collections::{HashMap, HashSet}, + sync::Arc, + time::Duration, +}; + +use anyhow::{Context as _, Result, bail}; +use common::{block::Block, transaction::LeeTransaction}; +use cross_zone_inbox_core::{ + CrossZoneMessage, Instruction as InboxInstruction, MessageKey, ZoneId, + build_dispatch_from_emission, message_key, +}; +use futures::StreamExt as _; +use lee::program::Program; +use lee_core::program::ProgramId; +use log::{error, info}; +use logos_blockchain_core::mantle::ops::channel::ChannelId; +use logos_blockchain_zone_sdk::{ + CommonHttpClient, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, +}; +use ping_core::SenderInstruction; +use tokio::sync::RwLock; + +use crate::config::IndexerConfig; + +/// How long the verifier waits for a referenced peer block to finalize before +/// rejecting the dispatch as referencing a nonexistent block. +const PEER_BLOCK_WAIT: Duration = Duration::from_secs(60); + +/// Cache of finalized peer-zone blocks, filled by per-peer reader tasks and read +/// by the verifier to re-derive cross-zone dispatch transactions. +#[derive(Clone, Default)] +struct PeerBlocks { + chains: Arc>>>, +} + +impl PeerBlocks { + async fn insert(&self, zone: ZoneId, block: Block) { + self.chains + .write() + .await + .entry(zone) + .or_default() + .insert(block.header.block_id, block); + } + + async fn get(&self, zone: ZoneId, block_id: u64) -> Option { + self.chains + .read() + .await + .get(&zone) + .and_then(|chain| chain.get(&block_id).cloned()) + } +} + +/// The indexer-side Option B verifier. For every cross-zone dispatch in a block +/// it re-derives the transaction from the peer's finalized block and rejects it +/// if the bytes differ (a forgery) or the message was already delivered (a +/// replay), so delivery no longer relies on trusting the sequencer. +#[derive(Clone)] +pub struct CrossZoneVerifier { + self_zone: ZoneId, + inbox_id: ProgramId, + emitter_id: ProgramId, + peers: PeerBlocks, + seen: Arc>>, +} + +impl CrossZoneVerifier { + /// Builds the verifier and spawns one peer reader per configured peer. + /// Returns `None` when cross-zone messaging is disabled. + pub fn start(config: &IndexerConfig) -> Option { + let cross_zone = config.cross_zone.as_ref()?; + let self_zone: ZoneId = *config.channel_id.as_ref(); + let peers = PeerBlocks::default(); + + for peer in &cross_zone.peers { + let node = NodeHttpClient::new( + CommonHttpClient::new(config.bedrock_config.auth.clone().map(Into::into)), + config.bedrock_config.addr.clone(), + ); + tokio::spawn(read_peer( + ZoneIndexer::new(ChannelId::from(peer.channel_id), node), + peer.channel_id, + peers.clone(), + config.consensus_info_polling_interval, + )); + } + + Some(Self { + self_zone, + inbox_id: Program::cross_zone_inbox().id(), + emitter_id: Program::ping_sender().id(), + peers, + seen: Arc::new(RwLock::new(HashSet::new())), + }) + } + + /// Verifies every cross-zone dispatch in a block, returning `Err` on the + /// first forged or replayed dispatch. The caller halts ingestion on error. + pub async fn verify_block(&self, block: &Block) -> Result<()> { + for tx in &block.body.transactions { + let Some(msg) = self.decode_dispatch(tx) else { + continue; + }; + + let key = message_key(&msg.src_zone, msg.src_block_id, msg.src_tx_index); + if self.seen.read().await.contains(&key) { + bail!("cross-zone replay: message {} re-delivered", hex::encode(key)); + } + + let expected = self.rederive(&msg).await?; + if LeeTransaction::Public(expected) != *tx { + bail!( + "forged cross-zone dispatch from zone {} block {} tx {}: re-derivation mismatch", + hex::encode(msg.src_zone), + msg.src_block_id, + msg.src_tx_index + ); + } + + self.seen.write().await.insert(key); + info!( + "Verified cross-zone dispatch from zone {} block {} tx {}", + hex::encode(msg.src_zone), + msg.src_block_id, + msg.src_tx_index + ); + } + Ok(()) + } + + /// Decodes a transaction into the cross-zone message it dispatches, or `None` + /// if it is not an inbox dispatch. + fn decode_dispatch(&self, tx: &LeeTransaction) -> Option { + let LeeTransaction::Public(public_tx) = tx else { + return None; + }; + if public_tx.message().program_id != self.inbox_id { + return None; + } + match risc0_zkvm::serde::from_slice::( + &public_tx.message().instruction_data, + ) { + Ok(InboxInstruction::Dispatch(msg)) => Some(msg), + Err(_) => None, + } + } + + /// Re-derives the dispatch transaction the watcher should have injected for + /// `msg`, reading the source emission from the peer's finalized block. + async fn rederive(&self, msg: &CrossZoneMessage) -> Result { + let peer_block = self + .wait_for_peer_block(msg.src_zone, msg.src_block_id) + .await + .with_context(|| { + format!( + "no peer block {} from zone {} to verify against", + msg.src_block_id, + hex::encode(msg.src_zone) + ) + })?; + + let emission = peer_block + .body + .transactions + .get(msg.src_tx_index as usize) + .ok_or_else(|| { + anyhow::anyhow!("src_tx_index {} out of range in peer block", msg.src_tx_index) + })?; + + let LeeTransaction::Public(emission) = emission else { + bail!("peer emission transaction is not public"); + }; + if emission.message().program_id != self.emitter_id { + bail!("peer transaction at src_tx_index is not an emitter transaction"); + } + + let SenderInstruction::Send { + target_zone, + target_program_id, + target_accounts, + payload, + .. + } = risc0_zkvm::serde::from_slice(&emission.message().instruction_data) + .context("decode peer emission instruction")?; + + if target_zone != self.self_zone { + bail!("peer emission targets a different zone"); + } + + Ok(build_dispatch_from_emission( + self.inbox_id, + msg.src_zone, + msg.src_block_id, + msg.src_tx_index, + self.emitter_id, + target_program_id, + &target_accounts, + payload, + )) + } + + /// Polls the peer cache until the referenced block finalizes. A forged + /// reference to a never-finalized block times out and is rejected. + async fn wait_for_peer_block(&self, zone: ZoneId, block_id: u64) -> Result { + let mut waited = Duration::ZERO; + loop { + if let Some(block) = self.peers.get(zone, block_id).await { + return Ok(block); + } + if waited >= PEER_BLOCK_WAIT { + bail!( + "peer block {} from zone {} did not finalize within {:?}", + block_id, + hex::encode(zone), + PEER_BLOCK_WAIT + ); + } + tokio::time::sleep(Duration::from_secs(1)).await; + waited += Duration::from_secs(1); + } + } +} + +/// Reads a peer zone's finalized blocks from Bedrock into the shared cache. +async fn read_peer( + zone_indexer: ZoneIndexer, + peer_zone: ZoneId, + peers: PeerBlocks, + poll_interval: Duration, +) { + info!("Cross-zone peer reader started for {}", hex::encode(peer_zone)); + + let mut cursor = None; + loop { + let stream = match zone_indexer.next_messages(cursor).await { + Ok(stream) => stream, + Err(err) => { + error!( + "Peer reader next_messages failed for {}: {err}", + hex::encode(peer_zone) + ); + tokio::time::sleep(poll_interval).await; + continue; + } + }; + let mut stream = std::pin::pin!(stream); + + while let Some((msg, slot)) = stream.next().await { + if let ZoneMessage::Block(zone_block) = msg { + match borsh::from_slice::(&zone_block.data) { + Ok(block) => peers.insert(peer_zone, block).await, + Err(err) => error!("Peer reader failed to deserialize block: {err}"), + } + } + cursor = Some(slot); + } + + tokio::time::sleep(poll_interval).await; + } +} + +#[cfg(test)] +mod tests { + use common::test_utils::produce_dummy_block; + use lee::{ + PublicTransaction, + program::Program, + public_transaction::{Message, WitnessSet}, + }; + use ping_core::ping_record_pda; + + use super::*; + + const SELF_ZONE: ZoneId = [1; 32]; + const PEER_ZONE: ZoneId = [2; 32]; + const PEER_BLOCK_ID: u64 = 5; + + fn verifier() -> CrossZoneVerifier { + CrossZoneVerifier { + self_zone: SELF_ZONE, + inbox_id: Program::cross_zone_inbox().id(), + emitter_id: Program::ping_sender().id(), + peers: PeerBlocks::default(), + seen: Arc::new(RwLock::new(HashSet::new())), + } + } + + /// A ping_sender emission addressed to `SELF_ZONE` carrying `payload`. + fn emission(payload: &[u8]) -> LeeTransaction { + let receiver_id = Program::ping_receiver().id(); + let send = SenderInstruction::Send { + outbox_program_id: Program::cross_zone_outbox().id(), + target_zone: SELF_ZONE, + target_program_id: receiver_id, + target_accounts: vec![ping_record_pda(receiver_id).into_value()], + payload: payload.to_vec(), + ordinal: 0, + }; + let message = Message::try_new(Program::ping_sender().id(), vec![], vec![], send) + .expect("emission serializes"); + LeeTransaction::Public(PublicTransaction::new( + message, + WitnessSet::from_raw_parts(vec![]), + )) + } + + /// The dispatch a watcher would inject for a `PEER_BLOCK_ID` emission of `payload`. + fn dispatch(payload: &[u8]) -> LeeTransaction { + let receiver_id = Program::ping_receiver().id(); + LeeTransaction::Public(build_dispatch_from_emission( + Program::cross_zone_inbox().id(), + PEER_ZONE, + PEER_BLOCK_ID, + 0, + Program::ping_sender().id(), + receiver_id, + &[ping_record_pda(receiver_id).into_value()], + payload.to_vec(), + )) + } + + #[tokio::test] + async fn verifies_dispatch_matching_a_peer_emission() { + let verifier = verifier(); + verifier + .peers + .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .await; + + let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); + verifier + .verify_block(&block) + .await + .expect("dispatch matching the peer emission verifies"); + } + + #[tokio::test] + async fn rejects_dispatch_with_no_matching_emission() { + let verifier = verifier(); + // The peer block carries the real emission, but the block claims a + // different payload, so re-derivation does not reproduce it. + verifier + .peers + .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"real")])) + .await; + + let block = produce_dummy_block(9, None, vec![dispatch(b"forged")]); + let err = verifier.verify_block(&block).await.unwrap_err(); + assert!(err.to_string().contains("forged"), "unexpected error: {err}"); + } + + #[tokio::test] + async fn rejects_replayed_dispatch() { + let verifier = verifier(); + verifier + .peers + .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .await; + + let first = produce_dummy_block(9, None, vec![dispatch(b"hi")]); + verifier.verify_block(&first).await.expect("first delivery verifies"); + + let replay = produce_dummy_block(10, None, vec![dispatch(b"hi")]); + let err = verifier.verify_block(&replay).await.unwrap_err(); + assert!(err.to_string().contains("replay"), "unexpected error: {err}"); + } +} diff --git a/lez/indexer/core/src/lib.rs b/lez/indexer/core/src/lib.rs index b0416905..ee0e813d 100644 --- a/lez/indexer/core/src/lib.rs +++ b/lez/indexer/core/src/lib.rs @@ -10,16 +10,20 @@ use logos_blockchain_zone_sdk::{ CommonHttpClient, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, }; -use crate::{block_store::IndexerStore, config::IndexerConfig}; +use crate::{ + block_store::IndexerStore, config::IndexerConfig, cross_zone_verifier::CrossZoneVerifier, +}; pub mod block_store; pub mod config; +pub mod cross_zone_verifier; #[derive(Clone)] pub struct IndexerCore { pub zone_indexer: Arc>, pub config: IndexerConfig, pub store: IndexerStore, + verifier: Option, } impl IndexerCore { @@ -33,10 +37,22 @@ impl IndexerCore { ); let zone_indexer = ZoneIndexer::new(config.channel_id, node); + // Seed the inbox config so the indexer can replay cross-zone dispatch + // transactions, matching the account the sequencer seeds at genesis. + let inbox_config_seed = config.cross_zone.as_ref().map(|cross_zone| { + let self_zone: [u8; 32] = *config.channel_id.as_ref(); + cross_zone_inbox_core::build_inbox_config_account(self_zone, cross_zone) + }); + + // Option B verifier: re-derives each cross-zone dispatch from the peer's + // finalized blocks. `None` when cross-zone messaging is disabled. + let verifier = CrossZoneVerifier::start(&config); + Ok(Self { zone_indexer: Arc::new(zone_indexer), config, - store: IndexerStore::open_db(&home)?, + store: IndexerStore::open_db(&home, inbox_config_seed)?, + verifier, }) } @@ -91,6 +107,19 @@ impl IndexerCore { info!("Indexed L2 block {}", block.header.block_id); + // Option B: re-derive and verify every cross-zone dispatch + // before applying the block. A forged or replayed dispatch + // halts ingestion rather than persisting an invalid state. + if let Some(verifier) = &self.verifier { + if let Err(err) = verifier.verify_block(&block).await { + error!( + "Cross-zone verification failed for block {}: {err:#}. Halting indexer ingestion.", + block.header.block_id + ); + return; + } + } + // TODO: Remove l1_header placeholder once storage layer // no longer requires it. Zone-sdk handles L1 tracking internally. let placeholder_l1_header = HeaderId::from([0_u8; 32]); diff --git a/lez/sequencer/core/src/config.rs b/lez/sequencer/core/src/config.rs index 8e299152..ce686676 100644 --- a/lez/sequencer/core/src/config.rs +++ b/lez/sequencer/core/src/config.rs @@ -10,7 +10,6 @@ use bytesize::ByteSize; use common::config::BasicAuth; use humantime_serde; use lee::AccountId; -use lee_core::program::ProgramId; use logos_blockchain_core::mantle::ops::channel::ChannelId; use serde::{Deserialize, Serialize}; use url::Url; @@ -28,21 +27,7 @@ pub enum GenesisAction { }, } -/// A peer zone whose outbox this zone watches for inbound cross-zone messages. -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct CrossZonePeer { - /// The peer's Bedrock channel; its 32 bytes double as the peer's zone id. - pub channel_id: [u8; 32], - /// Programs on this zone a message from this peer is allowed to target. - pub allowed_targets: Vec, -} - -/// Cross-zone watcher configuration: the peers this zone reads from Bedrock and, -/// per peer, the local programs they may deliver to. `None` disables the watcher. -#[derive(Clone, Debug, Serialize, Deserialize)] -pub struct CrossZoneConfig { - pub peers: Vec, -} +pub use cross_zone_inbox_core::{CrossZoneConfig, CrossZonePeer}; // TODO: Provide default values #[derive(Clone, Serialize, Deserialize)] diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs index a81967b4..8a176f3b 100644 --- a/lez/sequencer/core/src/cross_zone_watcher.rs +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -1,12 +1,10 @@ -use std::{collections::BTreeMap, time::Duration}; +use std::time::Duration; use common::{block::Block, transaction::LeeTransaction}; -use cross_zone_inbox_core::{ - CrossZoneMessage, InboxConfig, build_inbox_dispatch_tx, inbox_config_account_id, -}; +use cross_zone_inbox_core::build_dispatch_from_emission; use futures::StreamExt as _; -use lee::{AccountId, program::Program}; -use lee_core::{account::Account, program::ProgramId}; +use lee::program::Program; +use lee_core::program::ProgramId; use log::{error, info, warn}; use logos_blockchain_core::mantle::ops::channel::ChannelId; use logos_blockchain_zone_sdk::{ @@ -20,35 +18,6 @@ use crate::{ config::{BedrockConfig, CrossZoneConfig}, }; -/// The inbox config account this zone seeds at startup so the inbox guest can -/// authorize inbound peer messages. The config is zone-specific (self zone plus -/// per-peer target allowlists), so it cannot live in the shared genesis state. -#[must_use] -pub fn inbox_config_account(self_zone: [u8; 32], cross_zone: &CrossZoneConfig) -> (AccountId, Account) { - let inbox_id = Program::cross_zone_inbox().id(); - - let mut allowed_targets = BTreeMap::new(); - for peer in &cross_zone.peers { - allowed_targets.insert(peer.channel_id, peer.allowed_targets.clone()); - } - let config = InboxConfig { - self_zone, - allowed_peers: BTreeMap::new(), - allowed_targets, - }; - - let account = Account { - program_owner: inbox_id, - balance: 0, - data: config - .to_bytes() - .try_into() - .expect("inbox config fits in account data"), - nonce: 0_u128.into(), - }; - (inbox_config_account_id(inbox_id), account) -} - /// Spawns one watcher task per configured peer. Each task reads the peer's /// finalized blocks from Bedrock, recognizes outbound messages addressed to this /// zone, and injects the matching inbox dispatch as a sequencer-origin @@ -188,17 +157,16 @@ async fn deliver_block( continue; } - let cross_zone_message = CrossZoneMessage { - src_zone: peer_zone, - src_block_id: block.header.block_id, - src_tx_index: u32::try_from(index).unwrap_or(u32::MAX), - src_program_id: emitter_id, + let dispatch = build_dispatch_from_emission( + inbox_id, + peer_zone, + block.header.block_id, + u32::try_from(index).unwrap_or(u32::MAX), + emitter_id, target_program_id, + &target_accounts, payload, - l1_inclusion_witness: None, - }; - let target_ids: Vec = target_accounts.into_iter().map(AccountId::new).collect(); - let dispatch = build_inbox_dispatch_tx(inbox_id, &cross_zone_message, target_ids); + ); match mempool_handle .push((TransactionOrigin::Sequencer, LeeTransaction::Public(dispatch))) diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index fec6f57d..69c596e3 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -626,7 +626,7 @@ fn build_genesis_state(config: &SequencerConfig) -> (lee::V03State, Vec, +} + +/// Cross-zone configuration shared by a zone's sequencer (watcher) and indexer +/// (verifier): the peers it reads from Bedrock and, per peer, the local programs +/// they may deliver to. +#[derive(Clone, Debug, Serialize, Deserialize)] +pub struct CrossZoneConfig { + pub peers: Vec, +} + /// A finalized outbound message observed on a peer zone, addressed to a program /// on this zone. The watcher fills it from the peer's block; it is never /// self-reported by a user. @@ -183,6 +200,67 @@ pub fn build_inbox_dispatch_tx( ) } +/// Builds the dispatch transaction for one peer emission. Both the sequencer's +/// watcher and the indexer's verifier go through this so their transactions are +/// byte-identical for the same emission (the basis of the Option B check). +#[cfg(feature = "host")] +#[must_use] +pub fn build_dispatch_from_emission( + inbox_id: ProgramId, + src_zone: ZoneId, + src_block_id: u64, + src_tx_index: u32, + src_program_id: ProgramId, + target_program_id: ProgramId, + target_accounts: &[[u8; 32]], + payload: Vec, +) -> lee::PublicTransaction { + let msg = CrossZoneMessage { + src_zone, + src_block_id, + src_tx_index, + src_program_id, + target_program_id, + payload, + l1_inclusion_witness: None, + }; + let target_ids = target_accounts.iter().copied().map(AccountId::new).collect(); + build_inbox_dispatch_tx(inbox_id, &msg, target_ids) +} + +/// Builds the inbox config account a zone seeds into genesis state so the inbox +/// guest can authorize inbound peer messages. The sequencer and indexer seed the +/// same account from the same config, keeping their replayed state consistent. +#[cfg(feature = "host")] +#[must_use] +pub fn build_inbox_config_account( + self_zone: ZoneId, + cross_zone: &CrossZoneConfig, +) -> (AccountId, lee_core::account::Account) { + let inbox_id = lee::program::Program::cross_zone_inbox().id(); + + let mut allowed_targets = BTreeMap::new(); + for peer in &cross_zone.peers { + allowed_targets.insert(peer.channel_id, peer.allowed_targets.clone()); + } + let config = InboxConfig { + self_zone, + allowed_peers: BTreeMap::new(), + allowed_targets, + }; + + let account = lee_core::account::Account { + program_owner: inbox_id, + balance: 0, + data: config + .to_bytes() + .try_into() + .expect("inbox config fits in account data"), + nonce: 0_u128.into(), + }; + (inbox_config_account_id(inbox_id), account) +} + #[cfg(test)] mod tests { use super::*; diff --git a/test_fixtures/src/config.rs b/test_fixtures/src/config.rs index 48a15a3a..a58be4fe 100644 --- a/test_fixtures/src/config.rs +++ b/test_fixtures/src/config.rs @@ -170,6 +170,7 @@ pub fn indexer_config( bedrock_addr: SocketAddr, home: PathBuf, channel_id: ChannelId, + cross_zone: Option, ) -> Result { Ok(IndexerConfig { home, @@ -180,6 +181,7 @@ pub fn indexer_config( auth: None, }, channel_id, + cross_zone, }) } diff --git a/test_fixtures/src/lib.rs b/test_fixtures/src/lib.rs index 46ac0668..283240d9 100644 --- a/test_fixtures/src/lib.rs +++ b/test_fixtures/src/lib.rs @@ -308,7 +308,7 @@ impl TestContextBuilder { let indexer_components = if enable_indexer { let (indexer_handle, temp_indexer_dir) = - setup_indexer(bedrock_addr, config::bedrock_channel_id()) + setup_indexer(bedrock_addr, config::bedrock_channel_id(), None) .await .context("Failed to setup Indexer")?; let indexer_url = config::addr_to_url(config::UrlProtocol::Ws, indexer_handle.addr()) diff --git a/test_fixtures/src/setup.rs b/test_fixtures/src/setup.rs index df26141a..dd8753f3 100644 --- a/test_fixtures/src/setup.rs +++ b/test_fixtures/src/setup.rs @@ -92,6 +92,7 @@ pub async fn setup_bedrock_node() -> Result<(DockerCompose, SocketAddr)> { pub async fn setup_indexer( bedrock_addr: SocketAddr, channel_id: ChannelId, + cross_zone: Option, ) -> Result<(IndexerHandle, TempDir)> { let temp_indexer_dir = tempfile::tempdir().context("Failed to create temp dir for indexer home")?; @@ -101,9 +102,13 @@ pub async fn setup_indexer( temp_indexer_dir.path().display() ); - let indexer_config = - config::indexer_config(bedrock_addr, temp_indexer_dir.path().to_owned(), channel_id) - .context("Failed to create Indexer config")?; + let indexer_config = config::indexer_config( + bedrock_addr, + temp_indexer_dir.path().to_owned(), + channel_id, + cross_zone, + ) + .context("Failed to create Indexer config")?; indexer_service::run_server(indexer_config, 0) .await From 60741a7191f766b3366efd9c20f6a8fa1c83a52f Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Tue, 23 Jun 2026 18:20:44 +0200 Subject: [PATCH 09/19] fix(cross-zone): halt the indexer on a failed block and add the verified round-trip test --- .../tests/cross_zone_verified.rs | 152 ++++++++++++++++++ lez/indexer/core/src/lib.rs | 8 +- 2 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 integration_tests/tests/cross_zone_verified.rs diff --git a/integration_tests/tests/cross_zone_verified.rs b/integration_tests/tests/cross_zone_verified.rs new file mode 100644 index 00000000..e25312eb --- /dev/null +++ b/integration_tests/tests/cross_zone_verified.rs @@ -0,0 +1,152 @@ +#![expect( + clippy::tests_outside_test_module, + clippy::arithmetic_side_effects, + reason = "We don't care about these in tests" +)] + +//! Cross-zone round trip with the indexer in the loop (Option B). A ping on zone +//! A is delivered to zone B, and zone B's indexer independently re-derives the +//! injected dispatch from zone A's finalized blocks before applying it. The +//! payload landing in the indexer's state proves verification passed; a forgery +//! would have halted the indexer instead. + +use std::{net::SocketAddr, time::Duration}; + +use anyhow::{Context as _, Result}; +use common::transaction::LeeTransaction; +use cross_zone_outbox_core::outbox_pda; +use integration_tests::{ + config::{self, SequencerPartialConfig}, + indexer_client::IndexerClient, + setup::{setup_bedrock_node, setup_indexer, setup_sequencer}, +}; +use lee::{AccountId, PublicTransaction, program::Program, public_transaction::Message}; +use lee_core::program::ProgramId; +use ping_core::{ReceiverInstruction, SenderInstruction, ping_record_pda}; +use sequencer_core::config::{CrossZoneConfig, CrossZonePeer}; +use sequencer_service_rpc::{RpcClient as _, SequencerClient, SequencerClientBuilder}; +use tokio::test; + +const DELIVERY_TIMEOUT: Duration = Duration::from_secs(600); +const PING_PAYLOAD: &[u8] = b"hello-verified-zone"; + +#[test] +async fn indexer_verifies_and_delivers_cross_zone_ping() -> Result<()> { + // Declared first so it outlives both zones (drops run in reverse order). + let (_bedrock, bedrock_addr) = setup_bedrock_node() + .await + .context("Failed to set up shared Bedrock node")?; + + let partial = SequencerPartialConfig::default(); + let channel_a = config::bedrock_channel_id(); + let channel_b = config::bedrock_channel_id_b(); + let zone_a: [u8; 32] = *channel_a.as_ref(); + let zone_b: [u8; 32] = *channel_b.as_ref(); + + let receiver_id = Program::ping_receiver().id(); + let cross_zone = CrossZoneConfig { + peers: vec![CrossZonePeer { + channel_id: zone_a, + allowed_targets: vec![receiver_id], + }], + }; + + // Zone A: source. Zone B: destination, with the watcher on its sequencer and + // the verifier on its indexer. + let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, vec![], channel_a, None) + .await + .context("Failed to set up zone A sequencer")?; + let (_idx_a, _idx_a_home) = setup_indexer(bedrock_addr, channel_a, None) + .await + .context("Failed to set up zone A indexer")?; + let (_seq_b, _seq_b_home) = + setup_sequencer(partial, bedrock_addr, vec![], channel_b, Some(cross_zone.clone())) + .await + .context("Failed to set up zone B sequencer")?; + let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b, Some(cross_zone)) + .await + .context("Failed to set up zone B indexer")?; + + // Submit the ping on zone A, addressed to ping_receiver on zone B. + let ping = build_ping_tx(zone_b, receiver_id); + sequencer_client(seq_a.addr())? + .send_transaction(ping) + .await + .context("Failed to submit ping on zone A")?; + + // Wait until zone B's indexer records the delivered payload. The indexer only + // applies the dispatch after re-deriving and verifying it. + let record_id = ping_record_pda(receiver_id); + let indexer_url = config::addr_to_url(config::UrlProtocol::Ws, idx_b.addr()) + .context("Failed to build indexer URL")?; + let indexer = IndexerClient::new(&indexer_url) + .await + .context("Failed to build indexer client")?; + + let delivered = wait_for_indexer_delivery(&indexer, record_id).await?; + assert_eq!( + delivered, PING_PAYLOAD, + "Zone B's indexer must record the verified cross-zone payload" + ); + Ok(()) +} + +fn build_ping_tx(target_zone: [u8; 32], receiver_id: ProgramId) -> LeeTransaction { + let outbox_id = Program::cross_zone_outbox().id(); + let ordinal = 0; + + let words = risc0_zkvm::serde::to_vec(&ReceiverInstruction::Record { + payload: PING_PAYLOAD.to_vec(), + }) + .expect("serialize ping instruction"); + let payload: Vec = words.iter().flat_map(|word| word.to_le_bytes()).collect(); + + let send = SenderInstruction::Send { + outbox_program_id: outbox_id, + target_zone, + target_program_id: receiver_id, + target_accounts: vec![ping_record_pda(receiver_id).into_value()], + payload, + ordinal, + }; + + let outbox_account = outbox_pda(outbox_id, &target_zone, ordinal); + let message = Message::try_new(Program::ping_sender().id(), vec![outbox_account], vec![], send) + .expect("build ping message"); + LeeTransaction::Public(PublicTransaction::new( + message, + lee::public_transaction::WitnessSet::from_raw_parts(vec![]), + )) +} + +fn sequencer_client(addr: SocketAddr) -> Result { + let url = config::addr_to_url(config::UrlProtocol::Http, addr) + .context("Failed to build sequencer URL")?; + SequencerClientBuilder::default() + .build(url) + .context("Failed to build sequencer client") +} + +/// Polls zone B's indexer until the ping record PDA holds a payload. +async fn wait_for_indexer_delivery( + indexer: &IndexerClient, + record_id: AccountId, +) -> Result> { + let account_id = indexer_service_protocol::AccountId { + value: record_id.into_value(), + }; + let wait = async { + loop { + let account = + indexer_service_rpc::RpcClient::get_account(&**indexer, account_id).await?; + let data = account.data.0; + if !data.is_empty() { + return Ok::, anyhow::Error>(data); + } + tokio::time::sleep(Duration::from_secs(3)).await; + } + }; + tokio::time::timeout(DELIVERY_TIMEOUT, wait) + .await + .context("Zone B's indexer did not record the payload in time")? +} diff --git a/lez/indexer/core/src/lib.rs b/lez/indexer/core/src/lib.rs index ee0e813d..46d2cbb6 100644 --- a/lez/indexer/core/src/lib.rs +++ b/lez/indexer/core/src/lib.rs @@ -124,7 +124,13 @@ impl IndexerCore { // no longer requires it. Zone-sdk handles L1 tracking internally. let placeholder_l1_header = HeaderId::from([0_u8; 32]); if let Err(err) = self.store.put_block(block.clone(), placeholder_l1_header).await { - error!("Failed to store block {}: {err:#}", block.header.block_id); + // Do not advance the cursor past a block we failed to + // apply: halt ingestion instead of silently desyncing. + error!( + "Failed to store block {}: {err:#}. Halting indexer ingestion.", + block.header.block_id + ); + return; } cursor = Some(slot); From 5d77359fd8529716182154b08c996c54a177b4c3 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 10:08:55 +0200 Subject: [PATCH 10/19] feat(cross-zone)!: add wrapped_token and bridge_lock programs BREAKING CHANGE: registers the wrapped_token and bridge_lock builtin programs and seeds the wrapped_token config account at genesis, changing the genesis state. --- Cargo.lock | 30 +++++ Cargo.toml | 4 + artifacts/program_methods/bridge_lock.bin | Bin 0 -> 433980 bytes artifacts/program_methods/wrapped_token.bin | Bin 0 -> 416568 bytes lee/state_machine/Cargo.toml | 1 + lee/state_machine/src/program.rs | 18 ++- lee/state_machine/src/state.rs | 30 +++++ program_methods/guest/Cargo.toml | 2 + program_methods/guest/src/bin/bridge_lock.rs | 117 ++++++++++++++++++ .../guest/src/bin/wrapped_token.rs | 68 ++++++++++ programs/bridge_lock/core/Cargo.toml | 17 +++ programs/bridge_lock/core/src/lib.rs | 92 ++++++++++++++ programs/wrapped_token/core/Cargo.toml | 13 ++ programs/wrapped_token/core/src/lib.rs | 115 +++++++++++++++++ 14 files changed, 506 insertions(+), 1 deletion(-) create mode 100644 artifacts/program_methods/bridge_lock.bin create mode 100644 artifacts/program_methods/wrapped_token.bin create mode 100644 program_methods/guest/src/bin/bridge_lock.rs create mode 100644 program_methods/guest/src/bin/wrapped_token.rs create mode 100644 programs/bridge_lock/core/Cargo.toml create mode 100644 programs/bridge_lock/core/src/lib.rs create mode 100644 programs/wrapped_token/core/Cargo.toml create mode 100644 programs/wrapped_token/core/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index ebe1637b..d68d52fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1145,6 +1145,15 @@ dependencies = [ "serde", ] +[[package]] +name = "bridge_lock_core" +version = "0.1.0" +dependencies = [ + "lee", + "lee_core", + "serde", +] + [[package]] name = "bs58" version = "0.5.1" @@ -1801,8 +1810,10 @@ name = "cross_zone_inbox_core" version = "0.1.0" dependencies = [ "borsh", + "bridge_lock_core", "lee", "lee_core", + "ping_core", "risc0-zkvm", "serde", ] @@ -3823,6 +3834,7 @@ dependencies = [ "async-stream", "authenticated_transfer_core", "borsh", + "bridge_lock_core", "common", "cross_zone_inbox_core", "futures", @@ -3988,8 +4000,10 @@ dependencies = [ "authenticated_transfer_core", "borsh", "bridge_core", + "bridge_lock_core", "bytesize", "common", + "cross_zone_inbox_core", "cross_zone_outbox_core", "faucet_core", "futures", @@ -4019,6 +4033,7 @@ dependencies = [ "vault_core", "wallet", "wallet-ffi", + "wrapped_token_core", ] [[package]] @@ -4530,8 +4545,10 @@ dependencies = [ "authenticated_transfer_core", "borsh", "bridge_core", + "bridge_lock_core", "clock_core", "cross_zone_inbox_core", + "cross_zone_outbox_core", "env_logger", "faucet_core", "hex", @@ -4551,6 +4568,7 @@ dependencies = [ "test_program_methods", "thiserror 2.0.18", "token_core", + "wrapped_token_core", ] [[package]] @@ -7421,6 +7439,7 @@ dependencies = [ "ata_program", "authenticated_transfer_core", "bridge_core", + "bridge_lock_core", "clock_core", "cross_zone_inbox_core", "cross_zone_outbox_core", @@ -7432,6 +7451,7 @@ dependencies = [ "token_core", "token_program", "vault_core", + "wrapped_token_core", ] [[package]] @@ -8867,6 +8887,7 @@ dependencies = [ "anyhow", "borsh", "bridge_core", + "bridge_lock_core", "bytesize", "chrono", "common", @@ -11475,6 +11496,15 @@ dependencies = [ "wasmparser", ] +[[package]] +name = "wrapped_token_core" +version = "0.1.0" +dependencies = [ + "lee_core", + "risc0-zkvm", + "serde", +] + [[package]] name = "writeable" version = "0.6.3" diff --git a/Cargo.toml b/Cargo.toml index 0fd60a92..f1410330 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,8 @@ members = [ "programs/cross_zone_outbox/core", "programs/cross_zone_inbox/core", "programs/ping/core", + "programs/wrapped_token/core", + "programs/bridge_lock/core", "lez/sequencer/core", "lez/sequencer/service", "lez/sequencer/service/protocol", @@ -86,6 +88,8 @@ vault_core = { path = "programs/vault/core" } cross_zone_outbox_core = { path = "programs/cross_zone_outbox/core" } cross_zone_inbox_core = { path = "programs/cross_zone_inbox/core" } ping_core = { path = "programs/ping/core" } +wrapped_token_core = { path = "programs/wrapped_token/core" } +bridge_lock_core = { path = "programs/bridge_lock/core" } test_program_methods = { path = "test_program_methods" } testnet_initial_state = { path = "lez/testnet_initial_state" } keycard_wallet = { path = "lez/keycard_wallet" } diff --git a/artifacts/program_methods/bridge_lock.bin b/artifacts/program_methods/bridge_lock.bin new file mode 100644 index 0000000000000000000000000000000000000000..d4aa0cd1429ad46e8fe46a3b063b43300a5f3b8e GIT binary patch literal 433980 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 pANK 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

D6Fwf&}>1){jf+rH! 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�fUzSZDvj#5i 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 z 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 pWS~Uh(iwz2J~D2&({(-&VoZIN|FeHvL2 Self { + Self { + id: BRIDGE_LOCK_ID, + elf: BRIDGE_LOCK_ELF.to_vec(), + } + } + + #[must_use] + pub fn wrapped_token() -> Self { + Self { + id: WRAPPED_TOKEN_ID, + elf: WRAPPED_TOKEN_ELF.to_vec(), + } + } } // TODO: Testnet only. Refactor to prevent compilation on mainnet. diff --git a/lee/state_machine/src/state.rs b/lee/state_machine/src/state.rs index cbcbad53..1f3484fd 100644 --- a/lee/state_machine/src/state.rs +++ b/lee/state_machine/src/state.rs @@ -201,6 +201,23 @@ impl V03State { this.insert_program(Program::cross_zone_inbox()); this.insert_program(Program::ping_sender()); this.insert_program(Program::ping_receiver()); + this.insert_program(Program::bridge_lock()); + this.insert_program(Program::wrapped_token()); + + // Seed the wrapped-token config with its authorized minter (the cross-zone + // inbox), so the guest can pin its caller without importing the inbox id. + let wrapped_token_id = Program::wrapped_token().id(); + this.public_state.insert( + wrapped_token_core::config_account_id(wrapped_token_id), + Account { + program_owner: wrapped_token_id, + data: wrapped_token_core::minter_bytes(Program::cross_zone_inbox().id()) + .to_vec() + .try_into() + .expect("minter id fits in account data"), + ..Account::default() + }, + ); this } @@ -705,6 +722,17 @@ pub mod tests { }, ); } + this.insert( + wrapped_token_core::config_account_id(Program::wrapped_token().id()), + Account { + program_owner: Program::wrapped_token().id(), + data: wrapped_token_core::minter_bytes(Program::cross_zone_inbox().id()) + .to_vec() + .try_into() + .unwrap(), + ..Account::default() + }, + ); this }; let expected_builtin_programs = { @@ -727,6 +755,8 @@ pub mod tests { this.insert(Program::cross_zone_inbox().id(), Program::cross_zone_inbox()); this.insert(Program::ping_sender().id(), Program::ping_sender()); this.insert(Program::ping_receiver().id(), Program::ping_receiver()); + this.insert(Program::bridge_lock().id(), Program::bridge_lock()); + this.insert(Program::wrapped_token().id(), Program::wrapped_token()); this }; diff --git a/program_methods/guest/Cargo.toml b/program_methods/guest/Cargo.toml index 318af4b6..3db42314 100644 --- a/program_methods/guest/Cargo.toml +++ b/program_methods/guest/Cargo.toml @@ -23,5 +23,7 @@ vault_core.workspace = true cross_zone_outbox_core.workspace = true cross_zone_inbox_core.workspace = true ping_core.workspace = true +wrapped_token_core.workspace = true +bridge_lock_core.workspace = true risc0-zkvm.workspace = true serde = { workspace = true, default-features = false } diff --git a/program_methods/guest/src/bin/bridge_lock.rs b/program_methods/guest/src/bin/bridge_lock.rs new file mode 100644 index 00000000..0d278d51 --- /dev/null +++ b/program_methods/guest/src/bin/bridge_lock.rs @@ -0,0 +1,117 @@ +use bridge_lock_core::{Instruction, balance_bytes, escrow_account_id, escrow_seed, read_balance}; +use cross_zone_outbox_core::Instruction as OutboxInstruction; +use lee_core::{ + account::AccountWithMetadata, + program::{AccountPostState, ChainedCall, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, +}; +use wrapped_token_core::Instruction as WrappedInstruction; + +fn main() { + let ( + ProgramInput { + self_program_id, + caller_program_id, + pre_states, + instruction, + }, + instruction_words, + ) = read_lee_inputs::(); + + assert!( + caller_program_id.is_none(), + "bridge_lock is only invoked as a top-level user transaction" + ); + + let Instruction::Lock { + amount, + target_zone, + target_program_id, + target_accounts, + payload, + outbox_program_id, + ordinal, + } = instruction; + + // Value conservation: the forwarded payload must mint exactly what is locked. + let WrappedInstruction::Mint { + amount: mint_amount, + .. + } = decode_mint(&payload); + assert_eq!( + mint_amount, amount, + "locked amount must equal the wrapped mint amount" + ); + + // pre_states: [holder holding (authorized), escrow PDA, outbox PDA]. + let [holder, escrow, outbox] = <[AccountWithMetadata; 3]>::try_from(pre_states) + .expect("Lock requires holder, escrow, and outbox accounts"); + + assert!(holder.is_authorized, "holder must authorize the lock"); + assert_eq!( + holder.account.program_owner, self_program_id, + "holder account must be a bridge_lock holding" + ); + assert_eq!( + escrow.account_id, + escrow_account_id(self_program_id), + "second account must be the escrow PDA" + ); + + let holder_new = read_balance(&holder.account.data.clone().into_inner()) + .checked_sub(amount) + .expect("insufficient balance to lock"); + let escrow_new = read_balance(&escrow.account.data.clone().into_inner()) + .checked_add(amount) + .expect("escrow balance overflow"); + + let mut holder_account = holder.account.clone(); + holder_account.data = balance_bytes(holder_new) + .to_vec() + .try_into() + .expect("balance fits in account data"); + let holder_post = AccountPostState::new(holder_account); + + let mut escrow_account = escrow.account.clone(); + escrow_account.data = balance_bytes(escrow_new) + .to_vec() + .try_into() + .expect("balance fits in account data"); + let escrow_post = + AccountPostState::new_claimed_if_default(escrow_account, Claim::Pda(escrow_seed())); + + let call = ChainedCall::new( + outbox_program_id, + vec![outbox.clone()], + &OutboxInstruction::Emit { + target_zone, + target_program_id, + target_accounts, + payload, + ordinal, + }, + ); + + ProgramOutput::new( + self_program_id, + caller_program_id, + instruction_words, + vec![holder, escrow, outbox.clone()], + vec![holder_post, escrow_post, AccountPostState::new(outbox.account)], + ) + .with_chained_calls(vec![call]) + .write(); +} + +/// Decodes the cross-zone payload (risc0 words, little-endian bytes) into the +/// wrapped-token instruction it carries. +fn decode_mint(payload: &[u8]) -> WrappedInstruction { + assert!( + payload.len() % 4 == 0, + "payload must be u32-aligned instruction words" + ); + let words: Vec = payload + .chunks_exact(4) + .map(|chunk| u32::from_le_bytes([chunk[0], chunk[1], chunk[2], chunk[3]])) + .collect(); + risc0_zkvm::serde::from_slice(&words).expect("payload decodes to a wrapped-token instruction") +} diff --git a/program_methods/guest/src/bin/wrapped_token.rs b/program_methods/guest/src/bin/wrapped_token.rs new file mode 100644 index 00000000..2fb4c6af --- /dev/null +++ b/program_methods/guest/src/bin/wrapped_token.rs @@ -0,0 +1,68 @@ +use lee_core::{ + account::AccountWithMetadata, + program::{AccountPostState, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, +}; +use wrapped_token_core::{ + Instruction, balance_bytes, config_account_id, holding_account_id, holding_seed, read_balance, + read_minter, +}; + +fn main() { + let ( + ProgramInput { + self_program_id, + caller_program_id, + pre_states, + instruction, + }, + instruction_words, + ) = read_lee_inputs::(); + + let Instruction::Mint { recipient, amount } = instruction; + + // pre_states: [config PDA, recipient holding PDA]. + let [config, holding] = <[AccountWithMetadata; 2]>::try_from(pre_states) + .expect("Mint requires the config and recipient holding accounts"); + + // The config PDA is genesis-seeded with the authorized minter (the cross-zone + // inbox). Pin the caller to it, since the guest cannot import the inbox id. + assert_eq!( + config.account_id, + config_account_id(self_program_id), + "first account must be the wrapped-token config PDA" + ); + let minter = read_minter(&config.account.data.clone().into_inner()) + .expect("config account holds an authorized minter id"); + assert_eq!( + caller_program_id, + Some(minter), + "Mint is only callable by the authorized minter (the cross-zone inbox)" + ); + + assert_eq!( + holding.account_id, + holding_account_id(self_program_id, &recipient), + "second account must be the recipient holding PDA" + ); + + let new_balance = read_balance(&holding.account.data.clone().into_inner()) + .checked_add(amount) + .expect("wrapped-token balance overflow"); + let mut holding_account = holding.account.clone(); + holding_account.data = balance_bytes(new_balance) + .to_vec() + .try_into() + .expect("balance fits in account data"); + let holding_post = + AccountPostState::new_claimed_if_default(holding_account, Claim::Pda(holding_seed(&recipient))); + let config_post = AccountPostState::new(config.account.clone()); + + ProgramOutput::new( + self_program_id, + caller_program_id, + instruction_words, + vec![config, holding], + vec![config_post, holding_post], + ) + .write(); +} diff --git a/programs/bridge_lock/core/Cargo.toml b/programs/bridge_lock/core/Cargo.toml new file mode 100644 index 00000000..2c9e2f58 --- /dev/null +++ b/programs/bridge_lock/core/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "bridge_lock_core" +version = "0.1.0" +edition = "2024" +license = { workspace = true } + +[lints] +workspace = true + +[dependencies] +lee_core.workspace = true +serde = { workspace = true, features = ["alloc"] } +lee = { workspace = true, optional = true } + +[features] +# Host-only genesis helper; pulls `lee`, so the risc0 guest builds without it. +host = ["dep:lee"] diff --git a/programs/bridge_lock/core/src/lib.rs b/programs/bridge_lock/core/src/lib.rs new file mode 100644 index 00000000..eae1d681 --- /dev/null +++ b/programs/bridge_lock/core/src/lib.rs @@ -0,0 +1,92 @@ +//! Core types for the bridge-lock program, the source side of the cross-zone +//! token bridge. A holder locks part of their balance into an escrow and emits a +//! cross-zone message minting the wrapped token on the target zone. + +use lee_core::{ + account::AccountId, + program::{PdaSeed, ProgramId}, +}; +use serde::{Deserialize, Serialize}; + +const ESCROW_SEED_DOMAIN: [u8; 32] = *b"/LEZ/v0.3/BridgeLockEscrow/0000/"; + +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum Instruction { + /// Lock `amount` of the holder's balance and emit a cross-zone message + /// minting the wrapped token on `target_zone`. The emission fields mirror + /// `cross_zone_outbox::Instruction::Emit` so the watcher reads them directly. + /// + /// Required accounts (3): holder holding (authorized), escrow PDA, outbox PDA. + Lock { + amount: u128, + target_zone: [u8; 32], + target_program_id: ProgramId, + target_accounts: Vec<[u8; 32]>, + payload: Vec, + outbox_program_id: ProgramId, + ordinal: u32, + }, +} + +/// PDA accumulating all locked balance on this zone. +#[must_use] +pub fn escrow_account_id(bridge_lock_id: ProgramId) -> AccountId { + AccountId::for_public_pda(&bridge_lock_id, &escrow_seed()) +} + +#[must_use] +pub fn escrow_seed() -> PdaSeed { + PdaSeed::new(ESCROW_SEED_DOMAIN) +} + +/// Reads a bridgeable balance from account data; empty data is a zero balance. +#[must_use] +pub fn read_balance(data: &[u8]) -> u128 { + if data.len() < 16 { + return 0; + } + u128::from_le_bytes(data[..16].try_into().unwrap_or_else(|_| unreachable!())) +} + +#[must_use] +pub fn balance_bytes(amount: u128) -> [u8; 16] { + amount.to_le_bytes() +} + +/// Builds the genesis holding account funding a holder's bridgeable balance: +/// owned by bridge_lock, data is the LE balance, at the holder's account id. It +/// is not produced by any transaction, so the sequencer and the indexer both +/// seed it through this one builder to keep their genesis states identical. +#[cfg(feature = "host")] +#[must_use] +pub fn build_holding_account( + holder: AccountId, + amount: u128, +) -> (AccountId, lee_core::account::Account) { + let account = lee_core::account::Account { + program_owner: lee::program::Program::bridge_lock().id(), + data: balance_bytes(amount) + .to_vec() + .try_into() + .expect("balance fits in account data"), + ..Default::default() + }; + (holder, account) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn balance_round_trips() { + assert_eq!(read_balance(&balance_bytes(7)), 7); + assert_eq!(read_balance(&[]), 0); + } + + #[test] + fn escrow_is_stable() { + let id: ProgramId = [4; 8]; + assert_eq!(escrow_account_id(id), escrow_account_id(id)); + } +} diff --git a/programs/wrapped_token/core/Cargo.toml b/programs/wrapped_token/core/Cargo.toml new file mode 100644 index 00000000..ef0aabbc --- /dev/null +++ b/programs/wrapped_token/core/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "wrapped_token_core" +version = "0.1.0" +edition = "2024" +license = { workspace = true } + +[lints] +workspace = true + +[dependencies] +lee_core.workspace = true +serde = { workspace = true, features = ["alloc"] } +risc0-zkvm.workspace = true diff --git a/programs/wrapped_token/core/src/lib.rs b/programs/wrapped_token/core/src/lib.rs new file mode 100644 index 00000000..7c953af2 --- /dev/null +++ b/programs/wrapped_token/core/src/lib.rs @@ -0,0 +1,115 @@ +//! Core types for the wrapped-token program, the destination side of the +//! cross-zone bridge. Only the cross-zone inbox may mint; the guest enforces +//! this by reading the authorized minter from a genesis-seeded config account. + +use lee_core::{ + account::AccountId, + program::{PdaSeed, ProgramId}, +}; +use serde::{Deserialize, Serialize}; + +const CONFIG_SEED_DOMAIN: [u8; 32] = *b"/LEZ/v0.3/WrappedTokenConfig/00/"; +const HOLDING_SEED_DOMAIN: [u8; 32] = *b"/LEZ/v0.3/WrappedTokenHold/00000"; + +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] +pub enum Instruction { + /// Credit `amount` wrapped tokens to `recipient`'s holding. Delivered only by + /// the cross-zone inbox. + /// + /// Required accounts (2): the wrapped-token config PDA, then the recipient's + /// holding PDA. + Mint { recipient: [u8; 32], amount: u128 }, +} + +/// PDA holding the authorized minter program id (the cross-zone inbox), seeded at +/// genesis so the guest can pin its caller without importing the inbox image id. +#[must_use] +pub fn config_account_id(wrapped_token_id: ProgramId) -> AccountId { + AccountId::for_public_pda(&wrapped_token_id, &config_seed()) +} + +#[must_use] +pub fn config_seed() -> PdaSeed { + PdaSeed::new(CONFIG_SEED_DOMAIN) +} + +/// PDA holding one recipient's wrapped-token balance. +#[must_use] +pub fn holding_account_id(wrapped_token_id: ProgramId, recipient: &[u8; 32]) -> AccountId { + AccountId::for_public_pda(&wrapped_token_id, &holding_seed(recipient)) +} + +#[must_use] +pub fn holding_seed(recipient: &[u8; 32]) -> PdaSeed { + use risc0_zkvm::sha::{Impl, Sha256 as _}; + + let mut bytes = Vec::with_capacity(HOLDING_SEED_DOMAIN.len() + recipient.len()); + bytes.extend_from_slice(&HOLDING_SEED_DOMAIN); + bytes.extend_from_slice(recipient); + let seed: [u8; 32] = Impl::hash_bytes(&bytes) + .as_bytes() + .try_into() + .unwrap_or_else(|_| unreachable!()); + PdaSeed::new(seed) +} + +/// Encodes the authorized minter program id for the config account's data. +#[must_use] +pub fn minter_bytes(minter: ProgramId) -> [u8; 32] { + let mut bytes = [0_u8; 32]; + for (word, chunk) in minter.iter().zip(bytes.chunks_exact_mut(4)) { + chunk.copy_from_slice(&word.to_le_bytes()); + } + bytes +} + +/// Decodes the authorized minter program id from the config account's data. +#[must_use] +pub fn read_minter(data: &[u8]) -> Option { + if data.len() < 32 { + return None; + } + let mut minter = [0_u32; 8]; + for (word, chunk) in minter.iter_mut().zip(data[..32].chunks_exact(4)) { + *word = u32::from_le_bytes(chunk.try_into().unwrap_or_else(|_| unreachable!())); + } + Some(minter) +} + +/// Reads a wrapped-token balance from account data; empty data is a zero balance. +#[must_use] +pub fn read_balance(data: &[u8]) -> u128 { + if data.len() < 16 { + return 0; + } + u128::from_le_bytes(data[..16].try_into().unwrap_or_else(|_| unreachable!())) +} + +#[must_use] +pub fn balance_bytes(amount: u128) -> [u8; 16] { + amount.to_le_bytes() +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn minter_round_trips() { + let minter: ProgramId = [1, 2, 3, 4, 5, 6, 7, 8]; + assert_eq!(read_minter(&minter_bytes(minter)), Some(minter)); + } + + #[test] + fn balance_round_trips() { + assert_eq!(read_balance(&balance_bytes(42)), 42); + assert_eq!(read_balance(&[]), 0); + } + + #[test] + fn holding_is_unique_per_recipient() { + let id: ProgramId = [9; 8]; + assert_ne!(holding_account_id(id, &[1; 32]), holding_account_id(id, &[2; 32])); + assert_eq!(holding_account_id(id, &[1; 32]), holding_account_id(id, &[1; 32])); + } +} From 2c387899c49a0a54accd8460fda3dbae7ec206b5 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 10:55:06 +0200 Subject: [PATCH 11/19] feat(cross-zone): recognize multiple emitters via a shared extractor --- lez/indexer/core/src/cross_zone_verifier.rs | 50 ++++++++--------- lez/sequencer/core/Cargo.toml | 1 + lez/sequencer/core/src/config.rs | 5 ++ lez/sequencer/core/src/cross_zone_watcher.rs | 59 +++++++++----------- lez/sequencer/core/src/lib.rs | 16 +++++- programs/cross_zone_inbox/core/Cargo.toml | 7 ++- programs/cross_zone_inbox/core/src/lib.rs | 57 +++++++++++++++++++ 7 files changed, 133 insertions(+), 62 deletions(-) diff --git a/lez/indexer/core/src/cross_zone_verifier.rs b/lez/indexer/core/src/cross_zone_verifier.rs index 6514ed87..cf0cc4d4 100644 --- a/lez/indexer/core/src/cross_zone_verifier.rs +++ b/lez/indexer/core/src/cross_zone_verifier.rs @@ -8,7 +8,7 @@ use anyhow::{Context as _, Result, bail}; use common::{block::Block, transaction::LeeTransaction}; use cross_zone_inbox_core::{ CrossZoneMessage, Instruction as InboxInstruction, MessageKey, ZoneId, - build_dispatch_from_emission, message_key, + build_dispatch_from_emission, extract_emission, message_key, }; use futures::StreamExt as _; use lee::program::Program; @@ -18,7 +18,6 @@ use logos_blockchain_core::mantle::ops::channel::ChannelId; use logos_blockchain_zone_sdk::{ CommonHttpClient, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, }; -use ping_core::SenderInstruction; use tokio::sync::RwLock; use crate::config::IndexerConfig; @@ -61,7 +60,8 @@ impl PeerBlocks { pub struct CrossZoneVerifier { self_zone: ZoneId, inbox_id: ProgramId, - emitter_id: ProgramId, + ping_sender_id: ProgramId, + bridge_lock_id: ProgramId, peers: PeerBlocks, seen: Arc>>, } @@ -90,7 +90,8 @@ impl CrossZoneVerifier { Some(Self { self_zone, inbox_id: Program::cross_zone_inbox().id(), - emitter_id: Program::ping_sender().id(), + ping_sender_id: Program::ping_sender().id(), + bridge_lock_id: Program::bridge_lock().id(), peers, seen: Arc::new(RwLock::new(HashSet::new())), }) @@ -161,7 +162,7 @@ impl CrossZoneVerifier { ) })?; - let emission = peer_block + let emission_tx = peer_block .body .transactions .get(msg.src_tx_index as usize) @@ -169,23 +170,21 @@ impl CrossZoneVerifier { anyhow::anyhow!("src_tx_index {} out of range in peer block", msg.src_tx_index) })?; - let LeeTransaction::Public(emission) = emission else { + let LeeTransaction::Public(emission_tx) = emission_tx else { bail!("peer emission transaction is not public"); }; - if emission.message().program_id != self.emitter_id { - bail!("peer transaction at src_tx_index is not an emitter transaction"); - } + let message = emission_tx.message(); + let emission = extract_emission( + message.program_id, + &message.instruction_data, + self.ping_sender_id, + self.bridge_lock_id, + ) + .ok_or_else(|| { + anyhow::anyhow!("peer transaction at src_tx_index is not a recognized emitter") + })?; - let SenderInstruction::Send { - target_zone, - target_program_id, - target_accounts, - payload, - .. - } = risc0_zkvm::serde::from_slice(&emission.message().instruction_data) - .context("decode peer emission instruction")?; - - if target_zone != self.self_zone { + if emission.target_zone != self.self_zone { bail!("peer emission targets a different zone"); } @@ -194,10 +193,10 @@ impl CrossZoneVerifier { msg.src_zone, msg.src_block_id, msg.src_tx_index, - self.emitter_id, - target_program_id, - &target_accounts, - payload, + message.program_id, + emission.target_program_id, + &emission.target_accounts, + emission.payload, )) } @@ -269,7 +268,7 @@ mod tests { program::Program, public_transaction::{Message, WitnessSet}, }; - use ping_core::ping_record_pda; + use ping_core::{SenderInstruction, ping_record_pda}; use super::*; @@ -281,7 +280,8 @@ mod tests { CrossZoneVerifier { self_zone: SELF_ZONE, inbox_id: Program::cross_zone_inbox().id(), - emitter_id: Program::ping_sender().id(), + ping_sender_id: Program::ping_sender().id(), + bridge_lock_id: Program::bridge_lock().id(), peers: PeerBlocks::default(), seen: Arc::new(RwLock::new(HashSet::new())), } diff --git a/lez/sequencer/core/Cargo.toml b/lez/sequencer/core/Cargo.toml index 09fef127..568319d6 100644 --- a/lez/sequencer/core/Cargo.toml +++ b/lez/sequencer/core/Cargo.toml @@ -20,6 +20,7 @@ bridge_core.workspace = true vault_core.workspace = true cross_zone_inbox_core = { workspace = true, features = ["host"] } ping_core.workspace = true +bridge_lock_core = { workspace = true, features = ["host"] } logos-blockchain-key-management-system-service.workspace = true logos-blockchain-core.workspace = true diff --git a/lez/sequencer/core/src/config.rs b/lez/sequencer/core/src/config.rs index ce686676..e554db1f 100644 --- a/lez/sequencer/core/src/config.rs +++ b/lez/sequencer/core/src/config.rs @@ -25,6 +25,11 @@ pub enum GenesisAction { SupplyBridgeAccount { balance: u128, }, + /// Seeds a bridge-lock holder's initial bridgeable balance into genesis state. + SupplyBridgeLockHolding { + holder: AccountId, + amount: u128, + }, } pub use cross_zone_inbox_core::{CrossZoneConfig, CrossZonePeer}; diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs index 8a176f3b..2885ae48 100644 --- a/lez/sequencer/core/src/cross_zone_watcher.rs +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -1,7 +1,7 @@ use std::time::Duration; use common::{block::Block, transaction::LeeTransaction}; -use cross_zone_inbox_core::build_dispatch_from_emission; +use cross_zone_inbox_core::{build_dispatch_from_emission, extract_emission}; use futures::StreamExt as _; use lee::program::Program; use lee_core::program::ProgramId; @@ -11,7 +11,6 @@ use logos_blockchain_zone_sdk::{ CommonHttpClient, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, }; use mempool::MemPoolHandle; -use ping_core::SenderInstruction; use crate::{ TransactionOrigin, @@ -30,7 +29,8 @@ pub fn spawn_watchers( ) { let self_zone: [u8; 32] = *bedrock_config.channel_id.as_ref(); let inbox_id = Program::cross_zone_inbox().id(); - let emitter_id = Program::ping_sender().id(); + let ping_sender_id = Program::ping_sender().id(); + let bridge_lock_id = Program::bridge_lock().id(); for peer in cross_zone.peers.clone() { let node = NodeHttpClient::new( @@ -43,7 +43,8 @@ pub fn spawn_watchers( peer.allowed_targets, self_zone, inbox_id, - emitter_id, + ping_sender_id, + bridge_lock_id, poll_interval, mempool_handle.clone(), )); @@ -60,7 +61,8 @@ async fn watch_peer( allowed_targets: Vec, self_zone: [u8; 32], inbox_id: ProgramId, - emitter_id: ProgramId, + ping_sender_id: ProgramId, + bridge_lock_id: ProgramId, poll_interval: Duration, mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, ) { @@ -93,7 +95,8 @@ async fn watch_peer( peer_zone, self_zone, inbox_id, - emitter_id, + ping_sender_id, + bridge_lock_id, &allowed_targets, &mempool_handle, ) @@ -110,16 +113,17 @@ async fn watch_peer( } /// Scans one peer block for outbound messages and injects a dispatch per match. -/// -/// Option A (M3): the watcher recognizes the demo emitter and reads the outbound -/// message straight off its instruction. M4 replaces this with re-derivation -/// from the outbox PDA write, which removes the emitter-specific decoding. +#[expect( + clippy::too_many_arguments, + reason = "Each parameter is an independent piece of per-block delivery state" +)] async fn deliver_block( block: &Block, peer_zone: [u8; 32], self_zone: [u8; 32], inbox_id: ProgramId, - emitter_id: ProgramId, + ping_sender_id: ProgramId, + bridge_lock_id: ProgramId, allowed_targets: &[ProgramId], mempool_handle: &MemPoolHandle<(TransactionOrigin, LeeTransaction)>, ) { @@ -128,28 +132,19 @@ async fn deliver_block( continue; }; let message = public_tx.message(); - if message.program_id != emitter_id { + let Some(emission) = extract_emission( + message.program_id, + &message.instruction_data, + ping_sender_id, + bridge_lock_id, + ) else { continue; - } - - let SenderInstruction::Send { - target_zone, - target_program_id, - target_accounts, - payload, - .. - } = match risc0_zkvm::serde::from_slice(&message.instruction_data) { - Ok(send) => send, - Err(err) => { - warn!("Watcher could not decode emitter instruction: {err}"); - continue; - } }; - if target_zone != self_zone { + if emission.target_zone != self_zone { continue; } - if !allowed_targets.contains(&target_program_id) { + if !allowed_targets.contains(&emission.target_program_id) { warn!( "Watcher dropping message to disallowed target from peer {}", hex::encode(peer_zone) @@ -162,10 +157,10 @@ async fn deliver_block( peer_zone, block.header.block_id, u32::try_from(index).unwrap_or(u32::MAX), - emitter_id, - target_program_id, - &target_accounts, - payload, + message.program_id, + emission.target_program_id, + &emission.target_accounts, + emission.payload, ); match mempool_handle diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index 69c596e3..7fe2c113 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -603,14 +603,16 @@ fn build_genesis_state(config: &SequencerConfig) -> (lee::V03State, Vec build_supply_account_genesis_transaction(account_id, *balance), + } => Some(build_supply_account_genesis_transaction(account_id, *balance)), GenesisAction::SupplyBridgeAccount { balance } => { - build_supply_bridge_account_genesis_transaction(*balance) + Some(build_supply_bridge_account_genesis_transaction(*balance)) } + // Force-inserted below: bridge_lock has no mint transaction. + GenesisAction::SupplyBridgeLockHolding { .. } => None, }) .chain(std::iter::once(clock_invocation(0))) .inspect(|tx| { @@ -621,6 +623,14 @@ fn build_genesis_state(config: &SequencerConfig) -> (lee::V03State, Vec, + pub payload: Vec, +} + +/// Extracts the cross-zone emission from a source transaction, recognizing the +/// known emitter programs. Returns `None` for any other program. The watcher and +/// verifier both use this so they agree on what a given source tx emits. +/// +/// Option A: each emitter is decoded explicitly. The principled alternative is to +/// read the outbox PDA write, which would need re-execution of the source tx. +#[cfg(feature = "host")] +#[must_use] +pub fn extract_emission( + program_id: ProgramId, + instruction_data: &[u32], + ping_sender_id: ProgramId, + bridge_lock_id: ProgramId, +) -> Option { + if program_id == ping_sender_id { + let ping_core::SenderInstruction::Send { + target_zone, + target_program_id, + target_accounts, + payload, + .. + } = risc0_zkvm::serde::from_slice(instruction_data).ok()?; + Some(Emission { + target_zone, + target_program_id, + target_accounts, + payload, + }) + } else if program_id == bridge_lock_id { + let bridge_lock_core::Instruction::Lock { + target_zone, + target_program_id, + target_accounts, + payload, + .. + } = risc0_zkvm::serde::from_slice(instruction_data).ok()?; + Some(Emission { + target_zone, + target_program_id, + target_accounts, + payload, + }) + } else { + None + } +} + /// Builds the dispatch transaction for one peer emission. Both the sequencer's /// watcher and the indexer's verifier go through this so their transactions are /// byte-identical for the same emission (the basis of the Option B check). From 4fd465b5296bd1a9c2bb0d1f976fd9c54a92b162 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 11:13:06 +0200 Subject: [PATCH 12/19] test(cross-zone): add lock-on-A mint-on-B bridge round trip --- integration_tests/Cargo.toml | 2 + integration_tests/tests/cross_zone_bridge.rs | 184 ++++++++++++ lee/state_machine/Cargo.toml | 2 + .../src/cross_zone_bridge_tests.rs | 275 ++++++++++++++++++ lee/state_machine/src/lib.rs | 3 + 5 files changed, 466 insertions(+) create mode 100644 integration_tests/tests/cross_zone_bridge.rs create mode 100644 lee/state_machine/src/cross_zone_bridge_tests.rs diff --git a/integration_tests/Cargo.toml b/integration_tests/Cargo.toml index c460b881..ba4c4500 100644 --- a/integration_tests/Cargo.toml +++ b/integration_tests/Cargo.toml @@ -25,6 +25,8 @@ faucet_core.workspace = true bridge_core.workspace = true ping_core.workspace = true cross_zone_outbox_core.workspace = true +bridge_lock_core.workspace = true +wrapped_token_core.workspace = true risc0-zkvm.workspace = true indexer_service_rpc = { workspace = true, features = ["client"] } sequencer_service_rpc = { workspace = true, features = ["client"] } diff --git a/integration_tests/tests/cross_zone_bridge.rs b/integration_tests/tests/cross_zone_bridge.rs new file mode 100644 index 00000000..689558ad --- /dev/null +++ b/integration_tests/tests/cross_zone_bridge.rs @@ -0,0 +1,184 @@ +#![expect( + clippy::tests_outside_test_module, + clippy::arithmetic_side_effects, + reason = "We don't care about these in tests" +)] + +//! Demo 2: a wrapped-token bridge over the cross-zone spine. A holder locks part +//! of their bridgeable balance on zone A; the watcher carries the emitted mint to +//! zone B, where the indexer re-derives and verifies it (Option B) before the +//! wrapped token is minted to the recipient. Reuses the M3/M4 spine unchanged; +//! only the source caller (bridge_lock) and target (wrapped_token) are new. + +use std::{net::SocketAddr, time::Duration}; + +use anyhow::{Context as _, Result}; +use common::transaction::LeeTransaction; +use cross_zone_outbox_core::outbox_pda; +use integration_tests::{ + config::{self, SequencerPartialConfig}, + indexer_client::IndexerClient, + setup::{setup_bedrock_node, setup_indexer, setup_sequencer}, +}; +use lee::{ + AccountId, PrivateKey, PublicKey, PublicTransaction, + program::Program, + public_transaction::{Message, WitnessSet}, +}; +use sequencer_core::config::{CrossZoneConfig, CrossZonePeer, GenesisAction}; +use sequencer_service_rpc::{RpcClient as _, SequencerClient, SequencerClientBuilder}; +use tokio::test; + +const DELIVERY_TIMEOUT: Duration = Duration::from_secs(600); +const INITIAL_BALANCE: u128 = 100; +const LOCK_AMOUNT: u128 = 30; +const RECIPIENT: [u8; 32] = [9; 32]; + +#[test] +async fn lock_on_zone_a_mints_wrapped_token_on_zone_b() -> Result<()> { + // Declared first so it outlives both zones (drops run in reverse order). + let (_bedrock, bedrock_addr) = setup_bedrock_node() + .await + .context("Failed to set up shared Bedrock node")?; + + let partial = SequencerPartialConfig::default(); + let channel_a = config::bedrock_channel_id(); + let channel_b = config::bedrock_channel_id_b(); + let zone_b: [u8; 32] = *channel_b.as_ref(); + + let holder_key = PrivateKey::try_new([7; 32]).expect("valid key"); + let holder_id = AccountId::from(&PublicKey::new_from_private_key(&holder_key)); + + let wrapped_token_id = Program::wrapped_token().id(); + let cross_zone = CrossZoneConfig { + peers: vec![CrossZonePeer { + channel_id: *channel_a.as_ref(), + allowed_targets: vec![wrapped_token_id], + }], + }; + + // Zone A seeds the holder's bridgeable balance. Zone B runs the watcher on its + // sequencer and the verifier on its indexer. + let genesis_a = vec![GenesisAction::SupplyBridgeLockHolding { + holder: holder_id, + amount: INITIAL_BALANCE, + }]; + let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, genesis_a, channel_a, None) + .await + .context("Failed to set up zone A sequencer")?; + let (_seq_b, _seq_b_home) = + setup_sequencer(partial, bedrock_addr, vec![], channel_b, Some(cross_zone.clone())) + .await + .context("Failed to set up zone B sequencer")?; + let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b, Some(cross_zone)) + .await + .context("Failed to set up zone B indexer")?; + + // Lock LOCK_AMOUNT on zone A, addressed to the recipient on zone B. + let lock = build_lock_tx(&holder_key, holder_id, zone_b); + sequencer_client(seq_a.addr())? + .send_transaction(lock) + .await + .context("Failed to submit lock on zone A")?; + + // Wait until zone B's indexer reflects the verified mint. + let holding_id = wrapped_token_core::holding_account_id(wrapped_token_id, &RECIPIENT); + let indexer_url = config::addr_to_url(config::UrlProtocol::Ws, idx_b.addr()) + .context("Failed to build indexer URL")?; + let indexer = IndexerClient::new(&indexer_url) + .await + .context("Failed to build indexer client")?; + + let minted = wait_for_mint(&indexer, holding_id).await?; + assert_eq!( + minted, LOCK_AMOUNT, + "zone B must mint exactly the locked amount" + ); + + // Conservation: the mint on B must be backed by an equal lock on A. The lock + // has already landed (it preceded delivery), so zone A reflects the debit and + // escrow now. + let seq_a_client = sequencer_client(seq_a.addr())?; + let escrow_id = bridge_lock_core::escrow_account_id(Program::bridge_lock().id()); + let escrowed = + bridge_lock_core::read_balance(&seq_a_client.get_account(escrow_id).await?.data.into_inner()); + assert_eq!(escrowed, LOCK_AMOUNT, "zone A escrow must hold the locked amount"); + let remaining = + bridge_lock_core::read_balance(&seq_a_client.get_account(holder_id).await?.data.into_inner()); + assert_eq!( + remaining, + INITIAL_BALANCE - LOCK_AMOUNT, + "zone A holder must be debited by the locked amount" + ); + Ok(()) +} + +/// Builds a signed bridge_lock Lock that forwards a wrapped-token Mint of the +/// locked amount to the recipient on the target zone. +fn build_lock_tx(holder_key: &PrivateKey, holder_id: AccountId, target_zone: [u8; 32]) -> LeeTransaction { + let bridge_lock_id = Program::bridge_lock().id(); + let wrapped_token_id = Program::wrapped_token().id(); + let outbox_id = Program::cross_zone_outbox().id(); + let ordinal = 0; + + let mint = wrapped_token_core::Instruction::Mint { + recipient: RECIPIENT, + amount: LOCK_AMOUNT, + }; + let words = risc0_zkvm::serde::to_vec(&mint).expect("serialize mint"); + let payload: Vec = words.iter().flat_map(|word| word.to_le_bytes()).collect(); + + let target_accounts = vec![ + wrapped_token_core::config_account_id(wrapped_token_id).into_value(), + wrapped_token_core::holding_account_id(wrapped_token_id, &RECIPIENT).into_value(), + ]; + let lock = bridge_lock_core::Instruction::Lock { + amount: LOCK_AMOUNT, + target_zone, + target_program_id: wrapped_token_id, + target_accounts, + payload, + outbox_program_id: outbox_id, + ordinal, + }; + + let accounts = vec![ + holder_id, + bridge_lock_core::escrow_account_id(bridge_lock_id), + outbox_pda(outbox_id, &target_zone, ordinal), + ]; + // One nonce per signature: the holder signs, at its genesis nonce 0. + let message = Message::try_new(bridge_lock_id, accounts, vec![0_u128.into()], lock) + .expect("build lock message"); + let witness = WitnessSet::for_message(&message, &[holder_key]); + LeeTransaction::Public(PublicTransaction::new(message, witness)) +} + +fn sequencer_client(addr: SocketAddr) -> Result { + let url = config::addr_to_url(config::UrlProtocol::Http, addr) + .context("Failed to build sequencer URL")?; + SequencerClientBuilder::default() + .build(url) + .context("Failed to build sequencer client") +} + +/// Polls zone B's indexer until the recipient's wrapped holding is non-zero. +async fn wait_for_mint(indexer: &IndexerClient, holding_id: AccountId) -> Result { + let account_id = indexer_service_protocol::AccountId { + value: holding_id.into_value(), + }; + let wait = async { + loop { + let account = + indexer_service_rpc::RpcClient::get_account(&**indexer, account_id).await?; + let balance = wrapped_token_core::read_balance(&account.data.0); + if balance != 0 { + return Ok::(balance); + } + tokio::time::sleep(Duration::from_secs(3)).await; + } + }; + tokio::time::timeout(DELIVERY_TIMEOUT, wait) + .await + .context("Zone B's indexer did not mint the wrapped token in time")? +} diff --git a/lee/state_machine/Cargo.toml b/lee/state_machine/Cargo.toml index c4521f5e..5e7fe722 100644 --- a/lee/state_machine/Cargo.toml +++ b/lee/state_machine/Cargo.toml @@ -36,6 +36,8 @@ lee_core = { workspace = true, features = ["test_utils"] } token_core.workspace = true authenticated_transfer_core.workspace = true cross_zone_inbox_core.workspace = true +cross_zone_outbox_core.workspace = true +bridge_lock_core.workspace = true ping_core.workspace = true test_program_methods.workspace = true diff --git a/lee/state_machine/src/cross_zone_bridge_tests.rs b/lee/state_machine/src/cross_zone_bridge_tests.rs new file mode 100644 index 00000000..1c000475 --- /dev/null +++ b/lee/state_machine/src/cross_zone_bridge_tests.rs @@ -0,0 +1,275 @@ +#![expect( + clippy::tests_outside_test_module, + clippy::arithmetic_side_effects, + reason = "We don't care about these in tests" +)] + +//! Single-zone state-machine tests for the wrapped-token bridge (Demo 2). They +//! drive the two guest hops in isolation, no watcher or Bedrock: the source +//! `bridge_lock::Lock` (which escrows and chains `outbox::Emit`), then a +//! hand-built `cross_zone_inbox::Dispatch` carrying the wrapped-token mint to +//! `wrapped_token::Mint`. Fast, so they pin guest logic before the e2e exercises +//! the plumbing. + +use std::collections::BTreeMap; + +use cross_zone_inbox_core::{ + CrossZoneMessage, InboxConfig, Instruction as InboxInstruction, SeenShard, + inbox_config_account_id, inbox_seen_shard_account_id, message_key, +}; +use cross_zone_outbox_core::{OutboxRecord, outbox_pda}; +use lee_core::account::Account; + +use crate::{ + AccountId, PrivateKey, PublicKey, PublicTransaction, V03State, + program::Program, + public_transaction::{Message, WitnessSet}, + validated_state_diff::ValidatedStateDiff, +}; + +const INITIAL_BALANCE: u128 = 100; +const LOCK_AMOUNT: u128 = 30; +const RECIPIENT: [u8; 32] = [9; 32]; + +/// The wrapped-token `Mint` the bridge forwards, serialized as the cross-zone +/// payload (risc0 words, little-endian bytes). +fn mint_payload() -> Vec { + let mint = wrapped_token_core::Instruction::Mint { + recipient: RECIPIENT, + amount: LOCK_AMOUNT, + }; + let words = risc0_zkvm::serde::to_vec(&mint).expect("serialize mint"); + words.iter().flat_map(|word| word.to_le_bytes()).collect() +} + +/// Drives `bridge_lock::Lock` and asserts it debits the holder, credits the +/// escrow, and records the forwarded mint in the outbox PDA. +#[test] +fn lock_escrows_balance_and_emits_to_outbox() { + let mut state = V03State::new_with_genesis_accounts(&[], vec![], 0); + + let bridge_lock_id = Program::bridge_lock().id(); + let wrapped_token_id = Program::wrapped_token().id(); + let outbox_id = Program::cross_zone_outbox().id(); + let zone_b = [2_u8; 32]; + let ordinal = 0; + + let holder_key = PrivateKey::try_new([7; 32]).expect("valid key"); + let holder_id = AccountId::from(&PublicKey::new_from_private_key(&holder_key)); + state.force_insert_account( + holder_id, + Account { + program_owner: bridge_lock_id, + balance: 0, + data: bridge_lock_core::balance_bytes(INITIAL_BALANCE) + .to_vec() + .try_into() + .expect("balance fits in account data"), + nonce: 0_u128.into(), + }, + ); + + let payload = mint_payload(); + let target_accounts = vec![ + wrapped_token_core::config_account_id(wrapped_token_id).into_value(), + wrapped_token_core::holding_account_id(wrapped_token_id, &RECIPIENT).into_value(), + ]; + let lock = bridge_lock_core::Instruction::Lock { + amount: LOCK_AMOUNT, + target_zone: zone_b, + target_program_id: wrapped_token_id, + target_accounts, + payload: payload.clone(), + outbox_program_id: outbox_id, + ordinal, + }; + + let escrow_id = bridge_lock_core::escrow_account_id(bridge_lock_id); + let outbox_record_id = outbox_pda(outbox_id, &zone_b, ordinal); + let message = Message::try_new( + bridge_lock_id, + vec![holder_id, escrow_id, outbox_record_id], + vec![0_u128.into()], + lock, + ) + .expect("build lock message"); + let witness = WitnessSet::for_message(&message, &[&holder_key]); + let tx = PublicTransaction::new(message, witness); + + let diff = ValidatedStateDiff::from_public_transaction(&tx, &state, 1, 0) + .expect("lock must validate and execute"); + let public_diff = diff.public_diff(); + + let holder_after = + bridge_lock_core::read_balance(&public_diff[&holder_id].data.clone().into_inner()); + assert_eq!(holder_after, INITIAL_BALANCE - LOCK_AMOUNT, "holder debited"); + + let escrow_after = + bridge_lock_core::read_balance(&public_diff[&escrow_id].data.clone().into_inner()); + assert_eq!(escrow_after, LOCK_AMOUNT, "escrow credited"); + + let record = OutboxRecord::from_bytes(&public_diff[&outbox_record_id].data.clone().into_inner()) + .expect("outbox PDA holds an OutboxRecord"); + assert_eq!(record.target_zone, zone_b); + assert_eq!(record.target_program_id, wrapped_token_id); + assert_eq!(record.payload, payload, "emitted payload is the wrapped mint"); +} + +/// Drives a hand-built `cross_zone_inbox::Dispatch` (as the watcher would inject) +/// and asserts it chains into `wrapped_token::Mint`, crediting the recipient. +#[test] +fn inbox_dispatch_mints_wrapped_token() { + let mut state = V03State::new_with_genesis_accounts(&[], vec![], 0); + + let inbox_id = Program::cross_zone_inbox().id(); + let wrapped_token_id = Program::wrapped_token().id(); + + let self_zone = [1_u8; 32]; + let src_zone = [2_u8; 32]; + let src_block_id = 5; + + // Seed the inbox config allowing src_zone -> wrapped_token. + let mut allowed_targets = BTreeMap::new(); + allowed_targets.insert(src_zone, vec![wrapped_token_id]); + let config = InboxConfig { + self_zone, + allowed_peers: BTreeMap::new(), + allowed_targets, + }; + let config_id = inbox_config_account_id(inbox_id); + state.force_insert_account( + config_id, + Account { + program_owner: inbox_id, + balance: 0, + data: config + .to_bytes() + .try_into() + .expect("config fits in account data"), + nonce: 0_u128.into(), + }, + ); + + let msg = CrossZoneMessage { + src_zone, + src_block_id, + src_tx_index: 0, + src_program_id: [9_u32; 8], + target_program_id: wrapped_token_id, + payload: mint_payload(), + l1_inclusion_witness: None, + }; + + let seen_id = inbox_seen_shard_account_id(inbox_id, &src_zone, src_block_id); + let wrapped_config_id = wrapped_token_core::config_account_id(wrapped_token_id); + let holding_id = wrapped_token_core::holding_account_id(wrapped_token_id, &RECIPIENT); + + let message = Message::try_new( + inbox_id, + vec![config_id, seen_id, wrapped_config_id, holding_id], + vec![], + InboxInstruction::Dispatch(msg), + ) + .expect("build dispatch message"); + let tx = PublicTransaction::new(message, WitnessSet::from_raw_parts(vec![])); + + let diff = ValidatedStateDiff::from_public_transaction(&tx, &state, 1, 0) + .expect("dispatch must validate and execute"); + let public_diff = diff.public_diff(); + + let minted = + wrapped_token_core::read_balance(&public_diff[&holding_id].data.clone().into_inner()); + assert_eq!(minted, LOCK_AMOUNT, "recipient holding minted the locked amount"); +} + +/// A dispatch whose message key is already in the seen-shard is an idempotent +/// no-op: the inbox makes no chained call, so the wrapped token is not minted a +/// second time. This is the bridge's replay defense. +#[test] +fn mint_replay_rejected() { + let mut state = V03State::new_with_genesis_accounts(&[], vec![], 0); + + let inbox_id = Program::cross_zone_inbox().id(); + let wrapped_token_id = Program::wrapped_token().id(); + + let self_zone = [1_u8; 32]; + let src_zone = [2_u8; 32]; + let src_block_id = 5; + let src_tx_index = 0; + + let mut allowed_targets = BTreeMap::new(); + allowed_targets.insert(src_zone, vec![wrapped_token_id]); + let config = InboxConfig { + self_zone, + allowed_peers: BTreeMap::new(), + allowed_targets, + }; + let config_id = inbox_config_account_id(inbox_id); + state.force_insert_account( + config_id, + Account { + program_owner: inbox_id, + balance: 0, + data: config + .to_bytes() + .try_into() + .expect("config fits in account data"), + nonce: 0_u128.into(), + }, + ); + + // Seed the seen-shard as already containing this message's key, so the inbox + // takes the replay no-op branch. The shard is inbox-owned (claimed on a prior + // delivery), so the guest leaves it untouched. + let seen_id = inbox_seen_shard_account_id(inbox_id, &src_zone, src_block_id); + let mut shard = SeenShard::default(); + shard.insert(message_key(&src_zone, src_block_id, src_tx_index)); + state.force_insert_account( + seen_id, + Account { + program_owner: inbox_id, + balance: 0, + data: shard.to_bytes().try_into().expect("shard fits in account data"), + nonce: 0_u128.into(), + }, + ); + + let msg = CrossZoneMessage { + src_zone, + src_block_id, + src_tx_index, + src_program_id: [9_u32; 8], + target_program_id: wrapped_token_id, + payload: mint_payload(), + l1_inclusion_witness: None, + }; + + let wrapped_config_id = wrapped_token_core::config_account_id(wrapped_token_id); + let holding_id = wrapped_token_core::holding_account_id(wrapped_token_id, &RECIPIENT); + + let message = Message::try_new( + inbox_id, + vec![config_id, seen_id, wrapped_config_id, holding_id], + vec![], + InboxInstruction::Dispatch(msg), + ) + .expect("build dispatch message"); + let tx = PublicTransaction::new(message, WitnessSet::from_raw_parts(vec![])); + + let diff = ValidatedStateDiff::from_public_transaction(&tx, &state, 1, 0) + .expect("a replayed dispatch is a valid no-op, not an error"); + let public_diff = diff.public_diff(); + + // No mint: the holding is never credited on replay. + let minted = public_diff + .get(&holding_id) + .map_or(0, |account| wrapped_token_core::read_balance(&account.data.clone().into_inner())); + assert_eq!(minted, 0, "a replayed message must not mint again"); + + // The seen-shard is untouched by the no-op. + if let Some(seen) = public_diff.get(&seen_id) { + let shard_after = SeenShard::from_bytes(&seen.data.clone().into_inner()) + .expect("seen shard decodes"); + assert_eq!(shard_after, shard, "replay must not modify the seen-shard"); + } +} diff --git a/lee/state_machine/src/lib.rs b/lee/state_machine/src/lib.rs index 87dfd513..58584176 100644 --- a/lee/state_machine/src/lib.rs +++ b/lee/state_machine/src/lib.rs @@ -36,6 +36,9 @@ mod validated_state_diff; #[cfg(test)] mod cross_zone_dispatch_tests; +#[cfg(test)] +mod cross_zone_bridge_tests; + pub mod program_methods { include!(concat!(env!("OUT_DIR"), "/program_methods/mod.rs")); } From fef7ce2c38d3169a54927cb42de2eb2f01f519f7 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 14:52:10 +0200 Subject: [PATCH 13/19] feat(cross-zone): reject user-origin calls to the sequencer-only inbox --- integration_tests/Cargo.toml | 1 + .../tests/cross_zone_ingress_guard.rs | 81 +++++++++++++++++++ lez/sequencer/core/src/lib.rs | 25 ++++++ lez/sequencer/service/src/service.rs | 15 ++++ 4 files changed, 122 insertions(+) create mode 100644 integration_tests/tests/cross_zone_ingress_guard.rs diff --git a/integration_tests/Cargo.toml b/integration_tests/Cargo.toml index ba4c4500..11cff7bc 100644 --- a/integration_tests/Cargo.toml +++ b/integration_tests/Cargo.toml @@ -25,6 +25,7 @@ faucet_core.workspace = true bridge_core.workspace = true ping_core.workspace = true cross_zone_outbox_core.workspace = true +cross_zone_inbox_core.workspace = true bridge_lock_core.workspace = true wrapped_token_core.workspace = true risc0-zkvm.workspace = true diff --git a/integration_tests/tests/cross_zone_ingress_guard.rs b/integration_tests/tests/cross_zone_ingress_guard.rs new file mode 100644 index 00000000..89ca0d92 --- /dev/null +++ b/integration_tests/tests/cross_zone_ingress_guard.rs @@ -0,0 +1,81 @@ +#![expect( + clippy::tests_outside_test_module, + reason = "We don't care about these in tests" +)] + +//! M6 ingress guard: the cross-zone inbox is sequencer-only. Only the watcher +//! injects inbox dispatches; a user must not be able to invoke the inbox through +//! the public RPC, or anyone could forge an inbound cross-zone delivery. The +//! inbox guest's caller-is-none assertion passes for a top-level user tx, so the +//! sequencer ingress guard is the only thing that stops this. + +use std::net::SocketAddr; + +use anyhow::{Context as _, Result}; +use common::transaction::LeeTransaction; +use cross_zone_inbox_core::{ + CrossZoneMessage, Instruction, inbox_config_account_id, inbox_seen_shard_account_id, +}; +use integration_tests::{ + config::{self, SequencerPartialConfig}, + setup::{setup_bedrock_node, setup_sequencer}, +}; +use lee::{ + PublicTransaction, + program::Program, + public_transaction::{Message, WitnessSet}, +}; +use sequencer_service_rpc::{RpcClient as _, SequencerClient, SequencerClientBuilder}; +use tokio::test; + +#[test] +async fn user_origin_inbox_call_rejected() -> Result<()> { + let (_bedrock, bedrock_addr) = setup_bedrock_node() + .await + .context("Failed to set up Bedrock node")?; + let partial = SequencerPartialConfig::default(); + let channel = config::bedrock_channel_id(); + let (seq, _seq_home) = setup_sequencer(partial, bedrock_addr, vec![], channel, None) + .await + .context("Failed to set up sequencer")?; + + // A user hand-builds a top-level inbox Dispatch and submits it via RPC. + let inbox_id = Program::cross_zone_inbox().id(); + let msg = CrossZoneMessage { + src_zone: [2; 32], + src_block_id: 1, + src_tx_index: 0, + src_program_id: [9; 8], + target_program_id: Program::ping_receiver().id(), + payload: vec![], + l1_inclusion_witness: None, + }; + let seen_id = inbox_seen_shard_account_id(inbox_id, &msg.src_zone, msg.src_block_id); + let message = Message::try_new( + inbox_id, + vec![inbox_config_account_id(inbox_id), seen_id], + vec![], + Instruction::Dispatch(msg), + ) + .expect("build dispatch message"); + let tx = LeeTransaction::Public(PublicTransaction::new( + message, + WitnessSet::from_raw_parts(vec![]), + )); + + let result = sequencer_client(seq.addr())?.send_transaction(tx).await; + let err = result.expect_err("the sequencer must reject a user-origin inbox call"); + assert!( + err.to_string().contains("sequencer-only"), + "rejection should cite the sequencer-only guard, got: {err}" + ); + Ok(()) +} + +fn sequencer_client(addr: SocketAddr) -> Result { + let url = config::addr_to_url(config::UrlProtocol::Http, addr) + .context("Failed to build sequencer URL")?; + SequencerClientBuilder::default() + .build(url) + .context("Failed to build sequencer client") +} diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index 7fe2c113..566fcad1 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -44,6 +44,15 @@ pub enum TransactionOrigin { Sequencer, } +/// Whether a program may only be invoked by sequencer-origin transactions. The +/// cross-zone inbox is injected solely by the watcher; a user-submitted call +/// must be rejected at ingress, because `TransactionOrigin` is not carried in +/// the block and so cannot be re-checked later by the indexer. +#[must_use] +pub fn is_sequencer_only_program(program_id: lee::ProgramId) -> bool { + program_id == Program::cross_zone_inbox().id() +} + #[derive(Clone, Debug, BorshDeserialize)] struct DepositMetadata { recipient_id: lee::AccountId, @@ -1725,3 +1734,19 @@ mod tests { ); } } + +#[cfg(test)] +mod sequencer_only_program_tests { + use lee::program::Program; + + use super::is_sequencer_only_program; + + #[test] + fn only_the_cross_zone_inbox_is_sequencer_only() { + assert!(is_sequencer_only_program(Program::cross_zone_inbox().id())); + assert!(!is_sequencer_only_program(Program::cross_zone_outbox().id())); + assert!(!is_sequencer_only_program(Program::wrapped_token().id())); + assert!(!is_sequencer_only_program(Program::ping_sender().id())); + assert!(!is_sequencer_only_program(Program::clock().id())); + } +} diff --git a/lez/sequencer/service/src/service.rs b/lez/sequencer/service/src/service.rs index 1a781024..38c1e5c9 100644 --- a/lez/sequencer/service/src/service.rs +++ b/lez/sequencer/service/src/service.rs @@ -73,6 +73,21 @@ impl sequencer_service_rpc::RpcServer ) })?; + // Sequencer-only programs (the cross-zone inbox) are injected by the + // watcher; a user must not invoke them top-level, or anyone could forge + // an inbound cross-zone delivery. Chained user calls are already rejected + // by the inbox guest's caller-is-none assertion. + if let LeeTransaction::Public(public_tx) = &authenticated_tx { + if sequencer_core::is_sequencer_only_program(public_tx.message().program_id) { + return Err(ErrorObjectOwned::owned( + ErrorCode::InvalidParams.code(), + "Program is sequencer-only and cannot be invoked by a user transaction" + .to_string(), + None::<()>, + )); + } + } + self.mempool_handle .push((TransactionOrigin::User, authenticated_tx)) .await From ff7610804a832846f486a01aa19d505ba69e4411 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 11:23:12 +0200 Subject: [PATCH 14/19] feat(cross-zone): pin peer block-signing keys and distinguish verifier lag from forgery --- integration_tests/tests/cross_zone_bridge.rs | 1 + integration_tests/tests/cross_zone_ping.rs | 1 + .../tests/cross_zone_verified.rs | 1 + lez/common/src/block.rs | 25 +++- lez/indexer/core/src/cross_zone_verifier.rs | 136 +++++++++++++++--- lez/sequencer/core/src/cross_zone_watcher.rs | 43 ++++-- programs/cross_zone_inbox/core/src/lib.rs | 5 + 7 files changed, 177 insertions(+), 35 deletions(-) diff --git a/integration_tests/tests/cross_zone_bridge.rs b/integration_tests/tests/cross_zone_bridge.rs index 689558ad..84eb403b 100644 --- a/integration_tests/tests/cross_zone_bridge.rs +++ b/integration_tests/tests/cross_zone_bridge.rs @@ -54,6 +54,7 @@ async fn lock_on_zone_a_mints_wrapped_token_on_zone_b() -> Result<()> { peers: vec![CrossZonePeer { channel_id: *channel_a.as_ref(), allowed_targets: vec![wrapped_token_id], + expected_block_signing_pubkey: None, }], }; diff --git a/integration_tests/tests/cross_zone_ping.rs b/integration_tests/tests/cross_zone_ping.rs index 3afeeb39..6f4283ab 100644 --- a/integration_tests/tests/cross_zone_ping.rs +++ b/integration_tests/tests/cross_zone_ping.rs @@ -51,6 +51,7 @@ async fn ping_crosses_from_zone_a_to_zone_b() -> Result<()> { peers: vec![CrossZonePeer { channel_id: zone_a, allowed_targets: vec![receiver_id], + expected_block_signing_pubkey: None, }], }; diff --git a/integration_tests/tests/cross_zone_verified.rs b/integration_tests/tests/cross_zone_verified.rs index e25312eb..6787946e 100644 --- a/integration_tests/tests/cross_zone_verified.rs +++ b/integration_tests/tests/cross_zone_verified.rs @@ -48,6 +48,7 @@ async fn indexer_verifies_and_delivers_cross_zone_ping() -> Result<()> { peers: vec![CrossZonePeer { channel_id: zone_a, allowed_targets: vec![receiver_id], + expected_block_signing_pubkey: None, }], }; diff --git a/lez/common/src/block.rs b/lez/common/src/block.rs index 6e956f9f..b7c3e235 100644 --- a/lez/common/src/block.rs +++ b/lez/common/src/block.rs @@ -76,11 +76,13 @@ pub struct HashableBlockData { } impl HashableBlockData { + /// The hash a block's signature is computed over. Signing and verifying both + /// go through this, so a peer's block-signing key can be re-checked. #[must_use] - pub fn into_pending_block(self, signing_key: &lee::PrivateKey) -> Block { + pub fn signing_hash(&self) -> BlockHash { const PREFIX: &[u8; 32] = b"/LEE/v0.3/Message/Block/\x00\x00\x00\x00\x00\x00\x00\x00"; - let data_bytes = borsh::to_vec(&self).unwrap(); + let data_bytes = borsh::to_vec(self).unwrap(); let mut bytes = Vec::with_capacity( PREFIX .len() @@ -90,7 +92,12 @@ impl HashableBlockData { bytes.extend_from_slice(PREFIX); bytes.extend_from_slice(&data_bytes); - let hash = OwnHasher::hash(&bytes); + OwnHasher::hash(&bytes) + } + + #[must_use] + pub fn into_pending_block(self, signing_key: &lee::PrivateKey) -> Block { + let hash = self.signing_hash(); let signature = lee::Signature::new(signing_key, &hash.0); Block { header: BlockHeader { @@ -119,6 +126,18 @@ impl From for HashableBlockData { } } +impl Block { + /// Recomputes the signed hash from the block contents and checks the header + /// signature against `expected_pubkey`. Used to pin a peer zone's + /// block-signing key, so a block inscribed by anyone other than that zone's + /// sequencer is rejected even if it reached the channel. + #[must_use] + pub fn is_signed_by(&self, expected_pubkey: &lee::PublicKey) -> bool { + let hash = HashableBlockData::from(self.clone()).signing_hash(); + self.header.signature.is_valid_for(&hash.0, expected_pubkey) + } +} + #[cfg(test)] mod tests { use crate::{HashType, block::HashableBlockData, test_utils}; diff --git a/lez/indexer/core/src/cross_zone_verifier.rs b/lez/indexer/core/src/cross_zone_verifier.rs index cf0cc4d4..4dd5ce0d 100644 --- a/lez/indexer/core/src/cross_zone_verifier.rs +++ b/lez/indexer/core/src/cross_zone_verifier.rs @@ -4,14 +4,14 @@ use std::{ time::Duration, }; -use anyhow::{Context as _, Result, bail}; +use anyhow::{Result, bail}; use common::{block::Block, transaction::LeeTransaction}; use cross_zone_inbox_core::{ CrossZoneMessage, Instruction as InboxInstruction, MessageKey, ZoneId, build_dispatch_from_emission, extract_emission, message_key, }; use futures::StreamExt as _; -use lee::program::Program; +use lee::{PublicKey, program::Program}; use lee_core::program::ProgramId; use log::{error, info}; use logos_blockchain_core::mantle::ops::channel::ChannelId; @@ -22,9 +22,9 @@ use tokio::sync::RwLock; use crate::config::IndexerConfig; -/// How long the verifier waits for a referenced peer block to finalize before -/// rejecting the dispatch as referencing a nonexistent block. -const PEER_BLOCK_WAIT: Duration = Duration::from_secs(60); +/// How often the verifier logs that it is still waiting on a lagging peer reader, +/// so a stuck wait is observable without rejecting a legitimate message. +const LAG_LOG_INTERVAL: Duration = Duration::from_secs(30); /// Cache of finalized peer-zone blocks, filled by per-peer reader tasks and read /// by the verifier to re-derive cross-zone dispatch transactions. @@ -50,6 +50,17 @@ impl PeerBlocks { .get(&zone) .and_then(|chain| chain.get(&block_id).cloned()) } + + /// The highest block id this reader has finalized for `zone`, or `None` if it + /// has read nothing yet. Used to tell forgery (we have read past the + /// referenced block and it is absent) from lag (we simply have not caught up). + async fn highest_seen(&self, zone: ZoneId) -> Option { + self.chains + .read() + .await + .get(&zone) + .and_then(|chain| chain.keys().copied().max()) + } } /// The indexer-side Option B verifier. For every cross-zone dispatch in a block @@ -62,6 +73,8 @@ pub struct CrossZoneVerifier { inbox_id: ProgramId, ping_sender_id: ProgramId, bridge_lock_id: ProgramId, + /// Pinned block-signing key per peer zone, enforced during re-derivation. + peer_pubkeys: HashMap, peers: PeerBlocks, seen: Arc>>, } @@ -73,12 +86,18 @@ impl CrossZoneVerifier { let cross_zone = config.cross_zone.as_ref()?; let self_zone: ZoneId = *config.channel_id.as_ref(); let peers = PeerBlocks::default(); + let mut peer_pubkeys = HashMap::new(); for peer in &cross_zone.peers { let node = NodeHttpClient::new( CommonHttpClient::new(config.bedrock_config.auth.clone().map(Into::into)), config.bedrock_config.addr.clone(), ); + if let Some(bytes) = peer.expected_block_signing_pubkey { + let pubkey = PublicKey::try_new(bytes) + .expect("configured peer block-signing pubkey is a valid key"); + peer_pubkeys.insert(peer.channel_id, pubkey); + } tokio::spawn(read_peer( ZoneIndexer::new(ChannelId::from(peer.channel_id), node), peer.channel_id, @@ -92,6 +111,7 @@ impl CrossZoneVerifier { inbox_id: Program::cross_zone_inbox().id(), ping_sender_id: Program::ping_sender().id(), bridge_lock_id: Program::bridge_lock().id(), + peer_pubkeys, peers, seen: Arc::new(RwLock::new(HashSet::new())), }) @@ -153,14 +173,19 @@ impl CrossZoneVerifier { async fn rederive(&self, msg: &CrossZoneMessage) -> Result { let peer_block = self .wait_for_peer_block(msg.src_zone, msg.src_block_id) - .await - .with_context(|| { - format!( - "no peer block {} from zone {} to verify against", - msg.src_block_id, - hex::encode(msg.src_zone) - ) - })?; + .await?; + + // Equivocation defense: the source block must be signed by the peer's + // pinned block-signing key, not merely inscribed on the channel. + if let Some(expected) = self.peer_pubkeys.get(&msg.src_zone) { + if !peer_block.is_signed_by(expected) { + bail!( + "forged cross-zone dispatch: peer zone {} block {} is not signed by the pinned block-signing key", + hex::encode(msg.src_zone), + msg.src_block_id + ); + } + } let emission_tx = peer_block .body @@ -200,20 +225,35 @@ impl CrossZoneVerifier { )) } - /// Polls the peer cache until the referenced block finalizes. A forged - /// reference to a never-finalized block times out and is rejected. + /// Resolves the referenced peer block, distinguishing forgery from lag. + /// + /// If the block is cached, return it. If our peer reader has already + /// finalized past `block_id` and we still do not have it, the reference is to + /// a block that does not exist on the peer chain, a forgery, so reject now. + /// Otherwise the reader simply has not caught up yet: keep waiting, since a + /// legitimate dispatch is only injected after its peer block finalized and + /// our reader of the same finalized chain will see it too. Rejecting on a + /// timeout here would turn a lagging reader into a permanent halt of an + /// honest message. async fn wait_for_peer_block(&self, zone: ZoneId, block_id: u64) -> Result { let mut waited = Duration::ZERO; loop { if let Some(block) = self.peers.get(zone, block_id).await { return Ok(block); } - if waited >= PEER_BLOCK_WAIT { + if self.peers.highest_seen(zone).await.is_some_and(|h| h >= block_id) { bail!( - "peer block {} from zone {} did not finalize within {:?}", - block_id, + "forged cross-zone reference: peer zone {} finalized past block {} but it is absent", hex::encode(zone), - PEER_BLOCK_WAIT + block_id + ); + } + if !waited.is_zero() && waited.as_secs() % LAG_LOG_INTERVAL.as_secs() == 0 { + info!( + "Waiting for peer zone {} to finalize block {} ({}s); reader is behind", + hex::encode(zone), + block_id, + waited.as_secs() ); } tokio::time::sleep(Duration::from_secs(1)).await; @@ -264,7 +304,7 @@ async fn read_peer( mod tests { use common::test_utils::produce_dummy_block; use lee::{ - PublicTransaction, + PrivateKey, PublicKey, PublicTransaction, program::Program, public_transaction::{Message, WitnessSet}, }; @@ -277,11 +317,16 @@ mod tests { const PEER_BLOCK_ID: u64 = 5; fn verifier() -> CrossZoneVerifier { + verifier_with_pinned_keys(HashMap::new()) + } + + fn verifier_with_pinned_keys(peer_pubkeys: HashMap) -> CrossZoneVerifier { CrossZoneVerifier { self_zone: SELF_ZONE, inbox_id: Program::cross_zone_inbox().id(), ping_sender_id: Program::ping_sender().id(), bridge_lock_id: Program::bridge_lock().id(), + peer_pubkeys, peers: PeerBlocks::default(), seen: Arc::new(RwLock::new(HashSet::new())), } @@ -351,6 +396,57 @@ mod tests { assert!(err.to_string().contains("forged"), "unexpected error: {err}"); } + #[tokio::test] + async fn verifies_dispatch_signed_by_the_pinned_peer_key() { + // produce_dummy_block signs with PrivateKey([37; 32]); pin its pubkey. + let signer = PublicKey::new_from_private_key(&PrivateKey::try_new([37; 32]).unwrap()); + let mut keys = HashMap::new(); + keys.insert(PEER_ZONE, signer); + let verifier = verifier_with_pinned_keys(keys); + verifier + .peers + .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .await; + + let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); + verifier + .verify_block(&block) + .await + .expect("a dispatch from the pinned signer verifies"); + } + + #[tokio::test] + async fn rejects_dispatch_from_a_block_not_signed_by_the_pinned_key() { + // Pin a different key than the one that signed the peer block. + let mut keys = HashMap::new(); + keys.insert(PEER_ZONE, PublicKey::try_new([42; 32]).unwrap()); + let verifier = verifier_with_pinned_keys(keys); + verifier + .peers + .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .await; + + let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); + let err = verifier.verify_block(&block).await.unwrap_err(); + assert!(err.to_string().contains("pinned"), "unexpected error: {err}"); + } + + #[tokio::test] + async fn rejects_reference_to_a_block_the_peer_never_finalized() { + let verifier = verifier(); + // The reader has finalized past PEER_BLOCK_ID (it holds a later block) but + // never saw PEER_BLOCK_ID itself, so a dispatch referencing it is a forgery + // and must be rejected rather than waited on forever. + verifier + .peers + .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID + 1, None, vec![emission(b"hi")])) + .await; + + let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); + let err = verifier.verify_block(&block).await.unwrap_err(); + assert!(err.to_string().contains("forged"), "unexpected error: {err}"); + } + #[tokio::test] async fn rejects_replayed_dispatch() { let verifier = verifier(); diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs index 2885ae48..c76c7a55 100644 --- a/lez/sequencer/core/src/cross_zone_watcher.rs +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -3,7 +3,7 @@ use std::time::Duration; use common::{block::Block, transaction::LeeTransaction}; use cross_zone_inbox_core::{build_dispatch_from_emission, extract_emission}; use futures::StreamExt as _; -use lee::program::Program; +use lee::{PublicKey, program::Program}; use lee_core::program::ProgramId; use log::{error, info, warn}; use logos_blockchain_core::mantle::ops::channel::ChannelId; @@ -37,10 +37,14 @@ pub fn spawn_watchers( CommonHttpClient::new(bedrock_config.auth.clone().map(Into::into)), bedrock_config.node_url.clone(), ); + let expected_pubkey = peer.expected_block_signing_pubkey.map(|bytes| { + PublicKey::try_new(bytes).expect("configured peer block-signing pubkey is a valid key") + }); tokio::spawn(watch_peer( ZoneIndexer::new(ChannelId::from(peer.channel_id), node), peer.channel_id, peer.allowed_targets, + expected_pubkey, self_zone, inbox_id, ping_sender_id, @@ -59,6 +63,7 @@ async fn watch_peer( zone_indexer: ZoneIndexer, peer_zone: [u8; 32], allowed_targets: Vec, + expected_pubkey: Option, self_zone: [u8; 32], inbox_id: ProgramId, ping_sender_id: ProgramId, @@ -90,17 +95,31 @@ async fn watch_peer( }; match borsh::from_slice::(&zone_block.data) { Ok(block) => { - deliver_block( - &block, - peer_zone, - self_zone, - inbox_id, - ping_sender_id, - bridge_lock_id, - &allowed_targets, - &mempool_handle, - ) - .await; + // Reject blocks not signed by the pinned peer key (equivocation): + // the channel signer is authenticated by the zone-sdk, but that + // does not prove the peer's honest sequencer produced the block. + if expected_pubkey + .as_ref() + .is_some_and(|pk| !block.is_signed_by(pk)) + { + warn!( + "Watcher dropping peer {} block {}: block-signing key does not match the pinned key", + hex::encode(peer_zone), + block.header.block_id + ); + } else { + deliver_block( + &block, + peer_zone, + self_zone, + inbox_id, + ping_sender_id, + bridge_lock_id, + &allowed_targets, + &mempool_handle, + ) + .await; + } } Err(err) => error!("Watcher failed to deserialize peer block: {err}"), } diff --git a/programs/cross_zone_inbox/core/src/lib.rs b/programs/cross_zone_inbox/core/src/lib.rs index 3d9ea577..c6b3e674 100644 --- a/programs/cross_zone_inbox/core/src/lib.rs +++ b/programs/cross_zone_inbox/core/src/lib.rs @@ -30,6 +30,11 @@ pub struct CrossZonePeer { pub channel_id: ZoneId, /// Programs on the local zone a message from this peer is allowed to target. pub allowed_targets: Vec, + /// The peer's block-signing public key, pinned to reject blocks inscribed by + /// anyone other than that zone's sequencer. `None` skips the check (the + /// channel signer is still authenticated by the zone-sdk). + #[serde(default)] + pub expected_block_signing_pubkey: Option<[u8; 32]>, } /// Cross-zone configuration shared by a zone's sequencer (watcher) and indexer From c9c999e0de03895efb26313da4af91ca6f7605e9 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 11:24:28 +0200 Subject: [PATCH 15/19] feat(cross-zone): seed bridge-lock holdings into indexer genesis for consistency --- lez/indexer/core/Cargo.toml | 1 + lez/indexer/core/src/block_store.rs | 34 +++++++++++++++++++++++------ lez/indexer/core/src/config.rs | 14 ++++++++++++ lez/indexer/core/src/lib.rs | 23 ++++++++++++++----- test_fixtures/src/config.rs | 1 + 5 files changed, 60 insertions(+), 13 deletions(-) diff --git a/lez/indexer/core/Cargo.toml b/lez/indexer/core/Cargo.toml index 249e6e49..3b120f48 100644 --- a/lez/indexer/core/Cargo.toml +++ b/lez/indexer/core/Cargo.toml @@ -13,6 +13,7 @@ logos-blockchain-zone-sdk.workspace = true lee.workspace = true lee_core.workspace = true cross_zone_inbox_core = { workspace = true, features = ["host"] } +bridge_lock_core = { workspace = true, features = ["host"] } ping_core.workspace = true storage.workspace = true testnet_initial_state.workspace = true diff --git a/lez/indexer/core/src/block_store.rs b/lez/indexer/core/src/block_store.rs index 6b7c5c83..362d994f 100644 --- a/lez/indexer/core/src/block_store.rs +++ b/lez/indexer/core/src/block_store.rs @@ -22,11 +22,12 @@ pub struct IndexerStore { impl IndexerStore { /// Starting database at the start of new chain. /// Creates files if necessary. - pub fn open_db(location: &Path, genesis_seed: Option<(AccountId, Account)>) -> Result { + pub fn open_db(location: &Path, genesis_seed: Vec<(AccountId, Account)>) -> Result { let mut initial_state = testnet_initial_state::initial_state(); - // Seed any zone-specific genesis accounts (e.g. the cross-zone inbox - // config) so the indexer's replayed state matches the sequencer's. - if let Some((account_id, account)) = genesis_seed { + // Seed any zone-specific genesis accounts (the cross-zone inbox config and + // bridge-lock holdings) so the indexer's replayed state matches the + // sequencer's; none are produced by a transaction. + for (account_id, account) in genesis_seed { initial_state.insert_genesis_account(account_id, account); } let dbio = RocksDBIO::open_or_create(location, &initial_state)?; @@ -220,18 +221,37 @@ mod tests { fn correct_startup() { let home = tempdir().unwrap(); - let storage = IndexerStore::open_db(home.as_ref(), None).unwrap(); + let storage = IndexerStore::open_db(home.as_ref(), Vec::new()).unwrap(); let final_id = storage.get_last_block_id().unwrap(); assert_eq!(final_id, None); } + #[tokio::test] + async fn seeds_bridge_lock_holding_into_genesis_state() { + // The holding is force-inserted, not produced by a transaction, so the + // indexer must seed it to match the sequencer. Use the same builder both + // sides use, so this also guards against the two drifting. + let home = tempdir().unwrap(); + let holder = AccountId::new([5; 32]); + let (id, account) = bridge_lock_core::build_holding_account(holder, 42); + + let storage = IndexerStore::open_db(home.as_ref(), vec![(id, account)]).unwrap(); + + let seeded = storage.account_current_state(&holder).await.unwrap(); + assert_eq!( + bridge_lock_core::read_balance(&seeded.data.into_inner()), + 42, + "indexer genesis must hold the seeded bridge-lock balance" + ); + } + #[tokio::test] async fn state_transition() { let home = tempdir().unwrap(); - let storage = IndexerStore::open_db(home.as_ref(), None).unwrap(); + let storage = IndexerStore::open_db(home.as_ref(), Vec::new()).unwrap(); let initial_accounts = initial_pub_accounts_private_keys(); let from = initial_accounts[0].account_id; @@ -283,7 +303,7 @@ mod tests { async fn account_state_at_block() { let home = tempdir().unwrap(); - let storage = IndexerStore::open_db(home.as_ref(), None).unwrap(); + let storage = IndexerStore::open_db(home.as_ref(), Vec::new()).unwrap(); let mut prev_hash = None; diff --git a/lez/indexer/core/src/config.rs b/lez/indexer/core/src/config.rs index bcf4a31a..4d3c9502 100644 --- a/lez/indexer/core/src/config.rs +++ b/lez/indexer/core/src/config.rs @@ -9,6 +9,7 @@ use anyhow::{Context as _, Result}; use common::config::BasicAuth; use cross_zone_inbox_core::CrossZoneConfig; use humantime_serde; +use lee::AccountId; pub use logos_blockchain_core::mantle::ops::channel::ChannelId; use serde::{Deserialize, Serialize}; use url::Url; @@ -31,6 +32,19 @@ pub struct IndexerConfig { /// Cross-zone configuration. `None` disables the indexer's cross-zone handling. #[serde(default)] pub cross_zone: Option, + /// Bridge-lock holdings to seed into genesis, mirroring the sequencer's + /// `SupplyBridgeLockHolding` actions. They are not produced by any + /// transaction, so the indexer must seed them to match the sequencer's state. + #[serde(default)] + pub bridge_lock_holdings: Vec, +} + +/// A genesis-funded bridge-lock holder balance, configured identically on the +/// sequencer (via `SupplyBridgeLockHolding`) and the indexer. +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct BridgeLockHolding { + pub holder: AccountId, + pub amount: u128, } impl IndexerConfig { diff --git a/lez/indexer/core/src/lib.rs b/lez/indexer/core/src/lib.rs index 46d2cbb6..6395ca0d 100644 --- a/lez/indexer/core/src/lib.rs +++ b/lez/indexer/core/src/lib.rs @@ -37,12 +37,23 @@ impl IndexerCore { ); let zone_indexer = ZoneIndexer::new(config.channel_id, node); - // Seed the inbox config so the indexer can replay cross-zone dispatch - // transactions, matching the account the sequencer seeds at genesis. - let inbox_config_seed = config.cross_zone.as_ref().map(|cross_zone| { + // Genesis accounts the indexer must seed to match the sequencer's state, + // since none are produced by a transaction: the cross-zone inbox config + // and any bridge-lock holdings. Both go through the same builders the + // sequencer uses, so the states are byte-identical. + let mut genesis_seed = Vec::new(); + if let Some(cross_zone) = config.cross_zone.as_ref() { let self_zone: [u8; 32] = *config.channel_id.as_ref(); - cross_zone_inbox_core::build_inbox_config_account(self_zone, cross_zone) - }); + genesis_seed.push(cross_zone_inbox_core::build_inbox_config_account( + self_zone, cross_zone, + )); + } + for holding in &config.bridge_lock_holdings { + genesis_seed.push(bridge_lock_core::build_holding_account( + holding.holder, + holding.amount, + )); + } // Option B verifier: re-derives each cross-zone dispatch from the peer's // finalized blocks. `None` when cross-zone messaging is disabled. @@ -51,7 +62,7 @@ impl IndexerCore { Ok(Self { zone_indexer: Arc::new(zone_indexer), config, - store: IndexerStore::open_db(&home, inbox_config_seed)?, + store: IndexerStore::open_db(&home, genesis_seed)?, verifier, }) } diff --git a/test_fixtures/src/config.rs b/test_fixtures/src/config.rs index a58be4fe..08eb952f 100644 --- a/test_fixtures/src/config.rs +++ b/test_fixtures/src/config.rs @@ -182,6 +182,7 @@ pub fn indexer_config( }, channel_id, cross_zone, + bridge_lock_holdings: Vec::new(), }) } From 7eda252ae8b10165c4249cc5adbf08f6a12e8b1b Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Wed, 24 Jun 2026 11:25:14 +0200 Subject: [PATCH 16/19] chore(cross-zone): add ping and bridge demo just recipes --- Justfile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Justfile b/Justfile index 346dc84b..9553c71a 100644 --- a/Justfile +++ b/Justfile @@ -8,6 +8,11 @@ METHODS_PATH := "program_methods" TEST_METHODS_PATH := "test_program_methods" ARTIFACTS := "artifacts" +# On macOS the integration-test binary links pyo3 against the CommandLineTools +# Python framework with no embedded rpath, so it needs this to launch. Empty on +# Linux/CI, which is unaffected. +DEMO_ENV := if os() == "macos" { "DYLD_FALLBACK_FRAMEWORK_PATH=/Library/Developer/CommandLineTools/Library/Frameworks" } else { "" } + # Build risc0 program artifacts. build-artifacts: @echo "🔨 Building artifacts" @@ -88,6 +93,19 @@ wallet-import-test-accounts: just run-wallet account list +# Demo: cross-zone ping. Boots two zones on one Bedrock and sends a message from +# zone A to zone B, where the indexer re-derives and verifies it (Option B) +# before ping_receiver records it. Dev mode, no proving. +demo-cross-zone-ping: + @echo "📡 Cross-zone ping demo (message A → B, indexer-verified)" + {{DEMO_ENV}} RISC0_DEV_MODE=1 cargo test -p integration_tests --release --test cross_zone_verified -- --nocapture + +# Demo: cross-zone wrapped-token bridge. Locks a balance on zone A and mints the +# wrapped token to a recipient on zone B over the same verified spine. +demo-cross-zone-bridge: + @echo "🌉 Cross-zone bridge demo (lock on A, mint on B)" + {{DEMO_ENV}} RISC0_DEV_MODE=1 cargo test -p integration_tests --release --test cross_zone_bridge -- --nocapture + # Clean runtime data clean: @echo "🧹 Cleaning run artifacts" From 36ed949be0a918b29979b99640bebb912ccc149c Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Thu, 25 Jun 2026 08:59:14 +0200 Subject: [PATCH 17/19] chore: some cleanup --- Cargo.lock | 1 - integration_tests/tests/cross_zone_bridge.rs | 34 +++++--- integration_tests/tests/cross_zone_ping.rs | 9 ++- .../tests/cross_zone_verified.rs | 22 ++++-- integration_tests/tests/two_zone.rs | 4 +- .../src/cross_zone_bridge_tests.rs | 36 ++++++--- lee/state_machine/src/program.rs | 11 +-- lee/state_machine/src/state.rs | 5 +- lez/indexer/core/src/cross_zone_verifier.rs | 77 +++++++++++++++---- lez/sequencer/core/Cargo.toml | 1 - lez/sequencer/core/src/cross_zone_watcher.rs | 10 ++- lez/sequencer/core/src/lib.rs | 8 +- program_methods/guest/src/bin/bridge_lock.rs | 6 +- .../guest/src/bin/ping_receiver.rs | 3 +- .../guest/src/bin/wrapped_token.rs | 6 +- programs/cross_zone_inbox/core/src/lib.rs | 6 +- programs/wrapped_token/core/src/lib.rs | 10 ++- 17 files changed, 185 insertions(+), 64 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d68d52fa..6dd4dce9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8905,7 +8905,6 @@ dependencies = [ "logos-blockchain-zone-sdk", "mempool", "num-bigint 0.4.6", - "ping_core", "rand 0.8.6", "risc0-zkvm", "serde", diff --git a/integration_tests/tests/cross_zone_bridge.rs b/integration_tests/tests/cross_zone_bridge.rs index 84eb403b..c0daf9bb 100644 --- a/integration_tests/tests/cross_zone_bridge.rs +++ b/integration_tests/tests/cross_zone_bridge.rs @@ -67,10 +67,15 @@ async fn lock_on_zone_a_mints_wrapped_token_on_zone_b() -> Result<()> { let (seq_a, _seq_a_home) = setup_sequencer(partial, bedrock_addr, genesis_a, channel_a, None) .await .context("Failed to set up zone A sequencer")?; - let (_seq_b, _seq_b_home) = - setup_sequencer(partial, bedrock_addr, vec![], channel_b, Some(cross_zone.clone())) - .await - .context("Failed to set up zone B sequencer")?; + let (_seq_b, _seq_b_home) = setup_sequencer( + partial, + bedrock_addr, + vec![], + channel_b, + Some(cross_zone.clone()), + ) + .await + .context("Failed to set up zone B sequencer")?; let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b, Some(cross_zone)) .await .context("Failed to set up zone B indexer")?; @@ -101,11 +106,16 @@ async fn lock_on_zone_a_mints_wrapped_token_on_zone_b() -> Result<()> { // escrow now. let seq_a_client = sequencer_client(seq_a.addr())?; let escrow_id = bridge_lock_core::escrow_account_id(Program::bridge_lock().id()); - let escrowed = - bridge_lock_core::read_balance(&seq_a_client.get_account(escrow_id).await?.data.into_inner()); - assert_eq!(escrowed, LOCK_AMOUNT, "zone A escrow must hold the locked amount"); - let remaining = - bridge_lock_core::read_balance(&seq_a_client.get_account(holder_id).await?.data.into_inner()); + let escrowed = bridge_lock_core::read_balance( + &seq_a_client.get_account(escrow_id).await?.data.into_inner(), + ); + assert_eq!( + escrowed, LOCK_AMOUNT, + "zone A escrow must hold the locked amount" + ); + let remaining = bridge_lock_core::read_balance( + &seq_a_client.get_account(holder_id).await?.data.into_inner(), + ); assert_eq!( remaining, INITIAL_BALANCE - LOCK_AMOUNT, @@ -116,7 +126,11 @@ async fn lock_on_zone_a_mints_wrapped_token_on_zone_b() -> Result<()> { /// Builds a signed bridge_lock Lock that forwards a wrapped-token Mint of the /// locked amount to the recipient on the target zone. -fn build_lock_tx(holder_key: &PrivateKey, holder_id: AccountId, target_zone: [u8; 32]) -> LeeTransaction { +fn build_lock_tx( + holder_key: &PrivateKey, + holder_id: AccountId, + target_zone: [u8; 32], +) -> LeeTransaction { let bridge_lock_id = Program::bridge_lock().id(); let wrapped_token_id = Program::wrapped_token().id(); let outbox_id = Program::cross_zone_outbox().id(); diff --git a/integration_tests/tests/cross_zone_ping.rs b/integration_tests/tests/cross_zone_ping.rs index 6f4283ab..e551386d 100644 --- a/integration_tests/tests/cross_zone_ping.rs +++ b/integration_tests/tests/cross_zone_ping.rs @@ -105,8 +105,13 @@ fn build_ping_tx(target_zone: [u8; 32], receiver_id: ProgramId) -> LeeTransactio }; let outbox_account = outbox_pda(outbox_id, &target_zone, ordinal); - let message = Message::try_new(Program::ping_sender().id(), vec![outbox_account], vec![], send) - .expect("build ping message"); + let message = Message::try_new( + Program::ping_sender().id(), + vec![outbox_account], + vec![], + send, + ) + .expect("build ping message"); LeeTransaction::Public(PublicTransaction::new( message, lee::public_transaction::WitnessSet::from_raw_parts(vec![]), diff --git a/integration_tests/tests/cross_zone_verified.rs b/integration_tests/tests/cross_zone_verified.rs index 6787946e..a7e06064 100644 --- a/integration_tests/tests/cross_zone_verified.rs +++ b/integration_tests/tests/cross_zone_verified.rs @@ -60,10 +60,15 @@ async fn indexer_verifies_and_delivers_cross_zone_ping() -> Result<()> { let (_idx_a, _idx_a_home) = setup_indexer(bedrock_addr, channel_a, None) .await .context("Failed to set up zone A indexer")?; - let (_seq_b, _seq_b_home) = - setup_sequencer(partial, bedrock_addr, vec![], channel_b, Some(cross_zone.clone())) - .await - .context("Failed to set up zone B sequencer")?; + let (_seq_b, _seq_b_home) = setup_sequencer( + partial, + bedrock_addr, + vec![], + channel_b, + Some(cross_zone.clone()), + ) + .await + .context("Failed to set up zone B sequencer")?; let (idx_b, _idx_b_home) = setup_indexer(bedrock_addr, channel_b, Some(cross_zone)) .await .context("Failed to set up zone B indexer")?; @@ -112,8 +117,13 @@ fn build_ping_tx(target_zone: [u8; 32], receiver_id: ProgramId) -> LeeTransactio }; let outbox_account = outbox_pda(outbox_id, &target_zone, ordinal); - let message = Message::try_new(Program::ping_sender().id(), vec![outbox_account], vec![], send) - .expect("build ping message"); + let message = Message::try_new( + Program::ping_sender().id(), + vec![outbox_account], + vec![], + send, + ) + .expect("build ping message"); LeeTransaction::Public(PublicTransaction::new( message, lee::public_transaction::WitnessSet::from_raw_parts(vec![]), diff --git a/integration_tests/tests/two_zone.rs b/integration_tests/tests/two_zone.rs index 4770a9d7..73c176b7 100644 --- a/integration_tests/tests/two_zone.rs +++ b/integration_tests/tests/two_zone.rs @@ -96,7 +96,9 @@ async fn wait_until_zone_live( loop { let finalized = indexer.get_last_finalized_block_id().await?.unwrap_or(0); if finalized >= target { - log::info!("Zone {label} live: sequencer at {target}, indexer finalized {finalized}"); + log::info!( + "Zone {label} live: sequencer at {target}, indexer finalized {finalized}" + ); return Ok::(finalized); } tokio::time::sleep(Duration::from_secs(2)).await; diff --git a/lee/state_machine/src/cross_zone_bridge_tests.rs b/lee/state_machine/src/cross_zone_bridge_tests.rs index 1c000475..9312fe89 100644 --- a/lee/state_machine/src/cross_zone_bridge_tests.rs +++ b/lee/state_machine/src/cross_zone_bridge_tests.rs @@ -102,17 +102,25 @@ fn lock_escrows_balance_and_emits_to_outbox() { let holder_after = bridge_lock_core::read_balance(&public_diff[&holder_id].data.clone().into_inner()); - assert_eq!(holder_after, INITIAL_BALANCE - LOCK_AMOUNT, "holder debited"); + assert_eq!( + holder_after, + INITIAL_BALANCE - LOCK_AMOUNT, + "holder debited" + ); let escrow_after = bridge_lock_core::read_balance(&public_diff[&escrow_id].data.clone().into_inner()); assert_eq!(escrow_after, LOCK_AMOUNT, "escrow credited"); - let record = OutboxRecord::from_bytes(&public_diff[&outbox_record_id].data.clone().into_inner()) - .expect("outbox PDA holds an OutboxRecord"); + let record = + OutboxRecord::from_bytes(&public_diff[&outbox_record_id].data.clone().into_inner()) + .expect("outbox PDA holds an OutboxRecord"); assert_eq!(record.target_zone, zone_b); assert_eq!(record.target_program_id, wrapped_token_id); - assert_eq!(record.payload, payload, "emitted payload is the wrapped mint"); + assert_eq!( + record.payload, payload, + "emitted payload is the wrapped mint" + ); } /// Drives a hand-built `cross_zone_inbox::Dispatch` (as the watcher would inject) @@ -179,7 +187,10 @@ fn inbox_dispatch_mints_wrapped_token() { let minted = wrapped_token_core::read_balance(&public_diff[&holding_id].data.clone().into_inner()); - assert_eq!(minted, LOCK_AMOUNT, "recipient holding minted the locked amount"); + assert_eq!( + minted, LOCK_AMOUNT, + "recipient holding minted the locked amount" + ); } /// A dispatch whose message key is already in the seen-shard is an idempotent @@ -229,7 +240,10 @@ fn mint_replay_rejected() { Account { program_owner: inbox_id, balance: 0, - data: shard.to_bytes().try_into().expect("shard fits in account data"), + data: shard + .to_bytes() + .try_into() + .expect("shard fits in account data"), nonce: 0_u128.into(), }, ); @@ -261,15 +275,15 @@ fn mint_replay_rejected() { let public_diff = diff.public_diff(); // No mint: the holding is never credited on replay. - let minted = public_diff - .get(&holding_id) - .map_or(0, |account| wrapped_token_core::read_balance(&account.data.clone().into_inner())); + let minted = public_diff.get(&holding_id).map_or(0, |account| { + wrapped_token_core::read_balance(&account.data.clone().into_inner()) + }); assert_eq!(minted, 0, "a replayed message must not mint again"); // The seen-shard is untouched by the no-op. if let Some(seen) = public_diff.get(&seen_id) { - let shard_after = SeenShard::from_bytes(&seen.data.clone().into_inner()) - .expect("seen shard decodes"); + let shard_after = + SeenShard::from_bytes(&seen.data.clone().into_inner()).expect("seen shard decodes"); assert_eq!(shard_after, shard, "replay must not modify the seen-shard"); } } diff --git a/lee/state_machine/src/program.rs b/lee/state_machine/src/program.rs index 46629f0f..de10913c 100644 --- a/lee/state_machine/src/program.rs +++ b/lee/state_machine/src/program.rs @@ -10,11 +10,12 @@ use crate::{ error::LeeError, program_methods::{ AMM_ELF, AMM_ID, ASSOCIATED_TOKEN_ACCOUNT_ELF, ASSOCIATED_TOKEN_ACCOUNT_ID, - AUTHENTICATED_TRANSFER_ELF, AUTHENTICATED_TRANSFER_ID, BRIDGE_ELF, BRIDGE_ID, CLOCK_ELF, - CLOCK_ID, CROSS_ZONE_INBOX_ELF, CROSS_ZONE_INBOX_ID, CROSS_ZONE_OUTBOX_ELF, - CROSS_ZONE_OUTBOX_ID, FAUCET_ELF, FAUCET_ID, PINATA_ELF, PINATA_ID, PING_RECEIVER_ELF, - PING_RECEIVER_ID, PING_SENDER_ELF, PING_SENDER_ID, TOKEN_ELF, TOKEN_ID, VAULT_ELF, - VAULT_ID, BRIDGE_LOCK_ELF, BRIDGE_LOCK_ID, WRAPPED_TOKEN_ELF, WRAPPED_TOKEN_ID, + AUTHENTICATED_TRANSFER_ELF, AUTHENTICATED_TRANSFER_ID, BRIDGE_ELF, BRIDGE_ID, + BRIDGE_LOCK_ELF, BRIDGE_LOCK_ID, CLOCK_ELF, CLOCK_ID, CROSS_ZONE_INBOX_ELF, + CROSS_ZONE_INBOX_ID, CROSS_ZONE_OUTBOX_ELF, CROSS_ZONE_OUTBOX_ID, FAUCET_ELF, FAUCET_ID, + PINATA_ELF, PINATA_ID, PING_RECEIVER_ELF, PING_RECEIVER_ID, PING_SENDER_ELF, + PING_SENDER_ID, TOKEN_ELF, TOKEN_ID, VAULT_ELF, VAULT_ID, WRAPPED_TOKEN_ELF, + WRAPPED_TOKEN_ID, }, }; diff --git a/lee/state_machine/src/state.rs b/lee/state_machine/src/state.rs index 1f3484fd..0423dd02 100644 --- a/lee/state_machine/src/state.rs +++ b/lee/state_machine/src/state.rs @@ -752,7 +752,10 @@ pub mod tests { Program::cross_zone_outbox().id(), Program::cross_zone_outbox(), ); - this.insert(Program::cross_zone_inbox().id(), Program::cross_zone_inbox()); + this.insert( + Program::cross_zone_inbox().id(), + Program::cross_zone_inbox(), + ); this.insert(Program::ping_sender().id(), Program::ping_sender()); this.insert(Program::ping_receiver().id(), Program::ping_receiver()); this.insert(Program::bridge_lock().id(), Program::bridge_lock()); diff --git a/lez/indexer/core/src/cross_zone_verifier.rs b/lez/indexer/core/src/cross_zone_verifier.rs index 4dd5ce0d..1741282d 100644 --- a/lez/indexer/core/src/cross_zone_verifier.rs +++ b/lez/indexer/core/src/cross_zone_verifier.rs @@ -127,7 +127,10 @@ impl CrossZoneVerifier { let key = message_key(&msg.src_zone, msg.src_block_id, msg.src_tx_index); if self.seen.read().await.contains(&key) { - bail!("cross-zone replay: message {} re-delivered", hex::encode(key)); + bail!( + "cross-zone replay: message {} re-delivered", + hex::encode(key) + ); } let expected = self.rederive(&msg).await?; @@ -192,7 +195,10 @@ impl CrossZoneVerifier { .transactions .get(msg.src_tx_index as usize) .ok_or_else(|| { - anyhow::anyhow!("src_tx_index {} out of range in peer block", msg.src_tx_index) + anyhow::anyhow!( + "src_tx_index {} out of range in peer block", + msg.src_tx_index + ) })?; let LeeTransaction::Public(emission_tx) = emission_tx else { @@ -241,7 +247,12 @@ impl CrossZoneVerifier { if let Some(block) = self.peers.get(zone, block_id).await { return Ok(block); } - if self.peers.highest_seen(zone).await.is_some_and(|h| h >= block_id) { + if self + .peers + .highest_seen(zone) + .await + .is_some_and(|h| h >= block_id) + { bail!( "forged cross-zone reference: peer zone {} finalized past block {} but it is absent", hex::encode(zone), @@ -269,7 +280,10 @@ async fn read_peer( peers: PeerBlocks, poll_interval: Duration, ) { - info!("Cross-zone peer reader started for {}", hex::encode(peer_zone)); + info!( + "Cross-zone peer reader started for {}", + hex::encode(peer_zone) + ); let mut cursor = None; loop { @@ -371,7 +385,10 @@ mod tests { let verifier = verifier(); verifier .peers - .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .insert( + PEER_ZONE, + produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")]), + ) .await; let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); @@ -388,12 +405,18 @@ mod tests { // different payload, so re-derivation does not reproduce it. verifier .peers - .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"real")])) + .insert( + PEER_ZONE, + produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"real")]), + ) .await; let block = produce_dummy_block(9, None, vec![dispatch(b"forged")]); let err = verifier.verify_block(&block).await.unwrap_err(); - assert!(err.to_string().contains("forged"), "unexpected error: {err}"); + assert!( + err.to_string().contains("forged"), + "unexpected error: {err}" + ); } #[tokio::test] @@ -405,7 +428,10 @@ mod tests { let verifier = verifier_with_pinned_keys(keys); verifier .peers - .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .insert( + PEER_ZONE, + produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")]), + ) .await; let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); @@ -423,12 +449,18 @@ mod tests { let verifier = verifier_with_pinned_keys(keys); verifier .peers - .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .insert( + PEER_ZONE, + produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")]), + ) .await; let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); let err = verifier.verify_block(&block).await.unwrap_err(); - assert!(err.to_string().contains("pinned"), "unexpected error: {err}"); + assert!( + err.to_string().contains("pinned"), + "unexpected error: {err}" + ); } #[tokio::test] @@ -439,12 +471,18 @@ mod tests { // and must be rejected rather than waited on forever. verifier .peers - .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID + 1, None, vec![emission(b"hi")])) + .insert( + PEER_ZONE, + produce_dummy_block(PEER_BLOCK_ID + 1, None, vec![emission(b"hi")]), + ) .await; let block = produce_dummy_block(9, None, vec![dispatch(b"hi")]); let err = verifier.verify_block(&block).await.unwrap_err(); - assert!(err.to_string().contains("forged"), "unexpected error: {err}"); + assert!( + err.to_string().contains("forged"), + "unexpected error: {err}" + ); } #[tokio::test] @@ -452,14 +490,23 @@ mod tests { let verifier = verifier(); verifier .peers - .insert(PEER_ZONE, produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")])) + .insert( + PEER_ZONE, + produce_dummy_block(PEER_BLOCK_ID, None, vec![emission(b"hi")]), + ) .await; let first = produce_dummy_block(9, None, vec![dispatch(b"hi")]); - verifier.verify_block(&first).await.expect("first delivery verifies"); + verifier + .verify_block(&first) + .await + .expect("first delivery verifies"); let replay = produce_dummy_block(10, None, vec![dispatch(b"hi")]); let err = verifier.verify_block(&replay).await.unwrap_err(); - assert!(err.to_string().contains("replay"), "unexpected error: {err}"); + assert!( + err.to_string().contains("replay"), + "unexpected error: {err}" + ); } } diff --git a/lez/sequencer/core/Cargo.toml b/lez/sequencer/core/Cargo.toml index 568319d6..c69dc75d 100644 --- a/lez/sequencer/core/Cargo.toml +++ b/lez/sequencer/core/Cargo.toml @@ -19,7 +19,6 @@ faucet_core.workspace = true bridge_core.workspace = true vault_core.workspace = true cross_zone_inbox_core = { workspace = true, features = ["host"] } -ping_core.workspace = true bridge_lock_core = { workspace = true, features = ["host"] } logos-blockchain-key-management-system-service.workspace = true diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs index c76c7a55..e97a67ad 100644 --- a/lez/sequencer/core/src/cross_zone_watcher.rs +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -71,7 +71,10 @@ async fn watch_peer( poll_interval: Duration, mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, ) { - info!("Cross-zone watcher started for peer {}", hex::encode(peer_zone)); + info!( + "Cross-zone watcher started for peer {}", + hex::encode(peer_zone) + ); let mut cursor = None; loop { @@ -183,7 +186,10 @@ async fn deliver_block( ); match mempool_handle - .push((TransactionOrigin::Sequencer, LeeTransaction::Public(dispatch))) + .push(( + TransactionOrigin::Sequencer, + LeeTransaction::Public(dispatch), + )) .await { Ok(()) => info!( diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index 566fcad1..3a35c6ab 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -616,7 +616,9 @@ fn build_genesis_state(config: &SequencerConfig) -> (lee::V03State, Vec Some(build_supply_account_genesis_transaction(account_id, *balance)), + } => Some(build_supply_account_genesis_transaction( + account_id, *balance, + )), GenesisAction::SupplyBridgeAccount { balance } => { Some(build_supply_bridge_account_genesis_transaction(*balance)) } @@ -1744,7 +1746,9 @@ mod sequencer_only_program_tests { #[test] fn only_the_cross_zone_inbox_is_sequencer_only() { assert!(is_sequencer_only_program(Program::cross_zone_inbox().id())); - assert!(!is_sequencer_only_program(Program::cross_zone_outbox().id())); + assert!(!is_sequencer_only_program( + Program::cross_zone_outbox().id() + )); assert!(!is_sequencer_only_program(Program::wrapped_token().id())); assert!(!is_sequencer_only_program(Program::ping_sender().id())); assert!(!is_sequencer_only_program(Program::clock().id())); diff --git a/program_methods/guest/src/bin/bridge_lock.rs b/program_methods/guest/src/bin/bridge_lock.rs index 0d278d51..75e0e871 100644 --- a/program_methods/guest/src/bin/bridge_lock.rs +++ b/program_methods/guest/src/bin/bridge_lock.rs @@ -96,7 +96,11 @@ fn main() { caller_program_id, instruction_words, vec![holder, escrow, outbox.clone()], - vec![holder_post, escrow_post, AccountPostState::new(outbox.account)], + vec![ + holder_post, + escrow_post, + AccountPostState::new(outbox.account), + ], ) .with_chained_calls(vec![call]) .write(); diff --git a/program_methods/guest/src/bin/ping_receiver.rs b/program_methods/guest/src/bin/ping_receiver.rs index 567736da..4fd9679f 100644 --- a/program_methods/guest/src/bin/ping_receiver.rs +++ b/program_methods/guest/src/bin/ping_receiver.rs @@ -34,7 +34,8 @@ fn main() { let mut post_account = record.account.clone(); post_account.data = payload.try_into().expect("payload fits in account data"); - let post = AccountPostState::new_claimed_if_default(post_account, Claim::Pda(ping_record_seed())); + let post = + AccountPostState::new_claimed_if_default(post_account, Claim::Pda(ping_record_seed())); ProgramOutput::new( self_program_id, diff --git a/program_methods/guest/src/bin/wrapped_token.rs b/program_methods/guest/src/bin/wrapped_token.rs index 2fb4c6af..d0e7595f 100644 --- a/program_methods/guest/src/bin/wrapped_token.rs +++ b/program_methods/guest/src/bin/wrapped_token.rs @@ -53,8 +53,10 @@ fn main() { .to_vec() .try_into() .expect("balance fits in account data"); - let holding_post = - AccountPostState::new_claimed_if_default(holding_account, Claim::Pda(holding_seed(&recipient))); + let holding_post = AccountPostState::new_claimed_if_default( + holding_account, + Claim::Pda(holding_seed(&recipient)), + ); let config_post = AccountPostState::new(config.account.clone()); ProgramOutput::new( diff --git a/programs/cross_zone_inbox/core/src/lib.rs b/programs/cross_zone_inbox/core/src/lib.rs index c6b3e674..edb90424 100644 --- a/programs/cross_zone_inbox/core/src/lib.rs +++ b/programs/cross_zone_inbox/core/src/lib.rs @@ -286,7 +286,11 @@ pub fn build_dispatch_from_emission( payload, l1_inclusion_witness: None, }; - let target_ids = target_accounts.iter().copied().map(AccountId::new).collect(); + let target_ids = target_accounts + .iter() + .copied() + .map(AccountId::new) + .collect(); build_inbox_dispatch_tx(inbox_id, &msg, target_ids) } diff --git a/programs/wrapped_token/core/src/lib.rs b/programs/wrapped_token/core/src/lib.rs index 7c953af2..ea4ffd97 100644 --- a/programs/wrapped_token/core/src/lib.rs +++ b/programs/wrapped_token/core/src/lib.rs @@ -109,7 +109,13 @@ mod tests { #[test] fn holding_is_unique_per_recipient() { let id: ProgramId = [9; 8]; - assert_ne!(holding_account_id(id, &[1; 32]), holding_account_id(id, &[2; 32])); - assert_eq!(holding_account_id(id, &[1; 32]), holding_account_id(id, &[1; 32])); + assert_ne!( + holding_account_id(id, &[1; 32]), + holding_account_id(id, &[2; 32]) + ); + assert_eq!( + holding_account_id(id, &[1; 32]), + holding_account_id(id, &[1; 32]) + ); } } From 71c9351727e5cca9ec2de4aecb0eb6b2a86dfb7c Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Sat, 4 Jul 2026 00:47:20 +0200 Subject: [PATCH 18/19] feat(cross-zone): add interactive two-zone chat demo app --- Cargo.lock | 21 + Cargo.toml | 2 + Justfile | 7 + lez/sequencer/core/src/cross_zone_watcher.rs | 7 +- tools/cross_zone_chat/Cargo.toml | 25 + tools/cross_zone_chat/src/index.html | 234 ++++++++ tools/cross_zone_chat/src/main.rs | 533 +++++++++++++++++++ 7 files changed, 828 insertions(+), 1 deletion(-) create mode 100644 tools/cross_zone_chat/Cargo.toml create mode 100644 tools/cross_zone_chat/src/index.html create mode 100644 tools/cross_zone_chat/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 21aaaafd..e5b096e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1865,6 +1865,27 @@ dependencies = [ "risc0-zkvm", ] +[[package]] +name = "cross_zone_chat" +version = "0.1.0" +dependencies = [ + "anyhow", + "axum 0.8.9", + "common", + "cross_zone_inbox_core", + "cross_zone_outbox_core", + "env_logger", + "lee", + "log", + "ping_core", + "programs", + "risc0-zkvm", + "sequencer_service_rpc", + "serde", + "test_fixtures", + "tokio", +] + [[package]] name = "cross_zone_inbox_core" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 932325b4..99ad6879 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,6 +65,7 @@ members = [ "tools/cycle_bench", "tools/crypto_primitives_bench", "tools/integration_bench", + "tools/cross_zone_chat", ] [workspace.dependencies] @@ -194,6 +195,7 @@ elliptic-curve = { version = "0.13.8", features = ["arithmetic"] } actix-web = { version = "4.13.0", default-features = false, features = [ "macros", ] } +axum = "0.8.4" clap = { version = "4.5.42", features = ["derive", "env"] } reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"] } pyo3 = { version = "0.29", features = ["auto-initialize"] } diff --git a/Justfile b/Justfile index 86ba677c..8b5501aa 100644 --- a/Justfile +++ b/Justfile @@ -112,6 +112,13 @@ demo-cross-zone-bridge: @echo "🌉 Cross-zone bridge demo (lock on A, mint on B)" {{DEMO_ENV}} RISC0_DEV_MODE=1 cargo test -p integration_tests --release --test cross_zone_bridge -- --nocapture +# Demo: interactive cross-zone chat. Boots two zones on one Bedrock and serves a +# local two-column web UI; type in one zone and watch the message cross into the +# other. Two people can chat across the zones. Dev mode, no proving. +cross-zone-chat: + @echo "💬 Cross-zone chat demo — open the printed localhost URL" + {{DEMO_ENV}} RISC0_DEV_MODE=1 cargo run -p cross_zone_chat --release + # Clean runtime data clean: @echo "🧹 Cleaning run artifacts" diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs index 560b1eee..ffa238c4 100644 --- a/lez/sequencer/core/src/cross_zone_watcher.rs +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -5,7 +5,7 @@ use cross_zone::{build_dispatch_from_emission, extract_emission}; use futures::StreamExt as _; use lee::PublicKey; use lee_core::program::ProgramId; -use log::{error, info, warn}; +use log::{debug, error, info, warn}; use logos_blockchain_core::mantle::ops::channel::ChannelId; use logos_blockchain_zone_sdk::{ CommonHttpClient, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, @@ -90,6 +90,11 @@ async fn watch_peer( }; match borsh::from_slice::(&zone_block.data) { Ok(block) => { + debug!( + "Watcher observed finalized peer {} block {}", + hex::encode(peer_zone), + block.header.block_id + ); // Reject blocks not signed by the pinned peer key (equivocation): // the channel signer is authenticated by the zone-sdk, but that // does not prove the peer's honest sequencer produced the block. diff --git a/tools/cross_zone_chat/Cargo.toml b/tools/cross_zone_chat/Cargo.toml new file mode 100644 index 00000000..2c74e6df --- /dev/null +++ b/tools/cross_zone_chat/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "cross_zone_chat" +version = "0.1.0" +edition = "2024" +license = { workspace = true } + +[lints] +workspace = true + +[dependencies] +test_fixtures.workspace = true +sequencer_service_rpc = { workspace = true, features = ["client"] } +programs.workspace = true +ping_core.workspace = true +cross_zone_outbox_core.workspace = true +cross_zone_inbox_core.workspace = true +lee.workspace = true +common.workspace = true +risc0-zkvm.workspace = true +tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } +anyhow.workspace = true +serde = { workspace = true, features = ["derive"] } +axum.workspace = true +log.workspace = true +env_logger.workspace = true diff --git a/tools/cross_zone_chat/src/index.html b/tools/cross_zone_chat/src/index.html new file mode 100644 index 00000000..8dc5e82a --- /dev/null +++ b/tools/cross_zone_chat/src/index.html @@ -0,0 +1,234 @@ + + + + + +Cross-zone chat + + + +

+ Cross-zone chat — type in a column; each message shows its journey: sent into a source block, that block reaching Bedrock finality, then delivery into the other zone. The finality wait is the bulk of the latency. +
+
+
+

Zone A

+
+
+ + +
+
+
+

Zone B

+
+
+ + +
+
+
+ + + diff --git a/tools/cross_zone_chat/src/main.rs b/tools/cross_zone_chat/src/main.rs new file mode 100644 index 00000000..5a066e9e --- /dev/null +++ b/tools/cross_zone_chat/src/main.rs @@ -0,0 +1,533 @@ +//! Interactive cross-zone chat demo. +//! +//! Boots one Bedrock node hosting two zones (A and B), each running a sequencer +//! whose cross-zone watcher points at the other zone, then serves a local +//! two-column web UI. Type a message in one column and watch it cross Bedrock +//! and appear in the other; two people can chat across the zones. +//! +//! This is the `cross_zone_ping` integration-test topology made interactive: +//! a send builds a `ping_sender::Send` on the sender zone targeting the other +//! zone's `ping_receiver`, the other zone's watcher reads the finalized source +//! block and injects the inbox dispatch, and a per-zone block tailer decodes the +//! delivered `cross_zone_inbox::Dispatch` payloads back into chat text. +//! +//! To make the cross-zone machinery visible, each message is tracked through its +//! pipeline stages and surfaced to the page: submitted into a source block on the +//! sender zone, that block's Bedrock finality (pending -> finalized), and final +//! delivery into a block on the receiver zone. The Bedrock-finality wait is what +//! dominates the latency, so it is shown live. +//! +//! Prerequisite: a working local Docker daemon (Bedrock comes up via +//! `bedrock/docker-compose.yml`). Run with `RISC0_DEV_MODE=1` for fast, +//! proving-free latency; on macOS run under the `just cross-zone-chat` recipe so +//! the DYLD framework shim is set. + +#![allow( + clippy::arithmetic_side_effects, + clippy::print_stdout, + clippy::print_stderr, + clippy::unused_async, + clippy::needless_pass_by_value, + clippy::infinite_loop, + reason = "Demo binary: stdout banner is the deliverable; ordinal/elapsed arithmetic is \ + bounded at chat scale; the per-zone scanners and finality poller are daemon \ + loops that run for the process lifetime; axum handlers must be `async` and take \ + their extractors (State/Json/Query) by value to satisfy the framework's bounds." +)] + +use std::{ + collections::BTreeSet, + net::SocketAddr, + sync::{ + Arc, Mutex, + atomic::{AtomicU32, AtomicU64, Ordering}, + }, + time::{Duration, Instant}, +}; + +use anyhow::{Context as _, Result}; +use axum::{ + Json, Router, + extract::State, + http::StatusCode, + response::Html, + routing::{get, post}, +}; +use common::{block::BedrockStatus, transaction::LeeTransaction}; +use cross_zone_inbox_core::{CrossZoneConfig, CrossZonePeer, Instruction, ZoneId}; +use cross_zone_outbox_core::outbox_pda; +use lee::{ + ProgramId, PublicTransaction, + public_transaction::{Message, WitnessSet}, +}; +use log::{info, warn}; +use ping_core::{ReceiverInstruction, SenderInstruction, ping_record_pda}; +use sequencer_service_rpc::{RpcClient as _, SequencerClient, SequencerClientBuilder}; +use serde::{Deserialize, Serialize}; +use test_fixtures::{ + config::{self, SequencerPartialConfig, UrlProtocol, bedrock_channel_id, bedrock_channel_id_b}, + setup::{setup_bedrock_node, setup_sequencer}, +}; + +const HTTP_PORT: u16 = 8088; +const POLL_INTERVAL: Duration = Duration::from_secs(1); + +/// One chat message tracked through its cross-zone pipeline. Displayed in the +/// receiving zone's column; the stage fields drive the on-page timeline. +struct TrackedMessage { + id: u64, + /// Label ("A" / "B") of the sender zone. + source_label: &'static str, + /// Label of the receiver zone; the column this message shows in. + dest_label: &'static str, + text: String, + /// Outbox ordinal of this send, used to match the source-zone block. + ordinal: u32, + /// Block on the sender zone that included the `ping_sender` tx. + source_block: Option, + /// Whether `source_block` has reached Bedrock finality. + finalized: bool, + /// Block on the receiver zone that delivered the inbox dispatch. + delivered_block: Option, + created: Instant, + /// Wall-clock seconds from submit to delivery, set once delivered. + delivered_secs: Option, +} + +/// A single send to perform. +#[derive(Deserialize)] +struct SendRequest { + zone: String, + text: String, +} + +/// The id assigned to a freshly submitted message. +#[derive(Serialize)] +struct SendResponse { + id: u64, +} + +/// One message's current pipeline state, as served to the page. +#[derive(Serialize)] +struct TimelineEntry { + id: u64, + /// Receiver column the message belongs to. + zone: &'static str, + source_zone: &'static str, + text: String, + source_block: Option, + finalized: bool, + delivered_block: Option, + /// Seconds elapsed (live until delivered, then frozen at delivery time). + elapsed: u64, +} + +/// Everything one zone needs to send to its peer. +struct ZoneRuntime { + /// The peer zone's channel id; the target of sends from this zone. + other_zone: ZoneId, + client: SequencerClient, + /// Monotonic outbox ordinal per (this zone -> peer); each send must use a + /// fresh value because the outbox PDA is claimed only when default. + ordinal: AtomicU32, +} + +struct AppState { + zone_a: ZoneRuntime, + zone_b: ZoneRuntime, + /// Monotonic id assigned to every message. + next_id: AtomicU64, + messages: Mutex>, +} + +impl AppState { + fn zone(&self, label: &str) -> Option<&ZoneRuntime> { + match label { + "A" => Some(&self.zone_a), + "B" => Some(&self.zone_b), + _ => None, + } + } + + /// Records a freshly submitted outbound message and returns its id. + fn record_outbound( + &self, + source_label: &'static str, + dest_label: &'static str, + ordinal: u32, + text: String, + ) -> u64 { + let id = self.next_id.fetch_add(1, Ordering::SeqCst); + self.messages + .lock() + .expect("messages mutex poisoned") + .push(TrackedMessage { + id, + source_label, + dest_label, + text, + ordinal, + source_block: None, + finalized: false, + delivered_block: None, + created: Instant::now(), + delivered_secs: None, + }); + info!("[stage] msg {id} submitted {source_label}->{dest_label}"); + id + } + + /// Marks the source-zone block that included a send, matched by ordinal. + fn mark_source_block(&self, source_label: &'static str, ordinal: u32, block_id: u64) { + let mut messages = self.messages.lock().expect("messages mutex poisoned"); + if let Some(message) = messages.iter_mut().find(|m| { + m.source_label == source_label && m.ordinal == ordinal && m.source_block.is_none() + }) { + message.source_block = Some(block_id); + info!( + "[stage] msg {} in source block {source_label}#{block_id} (+{}s)", + message.id, + message.created.elapsed().as_secs() + ); + } + } + + /// Marks delivery on the receiver zone. Prefers the oldest undelivered + /// message whose text matches; falls back to the oldest undelivered for the + /// zone (delivery order is preserved end to end). + fn mark_delivered(&self, dest_label: &'static str, text: &str, block_id: u64) { + let mut messages = self.messages.lock().expect("messages mutex poisoned"); + let undelivered = + |m: &TrackedMessage| m.dest_label == dest_label && m.delivered_block.is_none(); + let index = messages + .iter() + .position(|m| undelivered(m) && m.text == text) + .or_else(|| messages.iter().position(undelivered)); + if let Some(index) = index { + let message = &mut messages[index]; + message.delivered_block = Some(block_id); + let secs = message.created.elapsed().as_secs(); + message.delivered_secs = Some(secs); + info!( + "[stage] msg {} delivered {dest_label}#{block_id} (+{secs}s total)", + message.id + ); + } + } + + /// Snapshot of (source zone, block) pairs whose finality is still unknown. + fn pending_finality(&self) -> BTreeSet<(&'static str, u64)> { + self.messages + .lock() + .expect("messages mutex poisoned") + .iter() + .filter(|m| !m.finalized) + .filter_map(|m| m.source_block.map(|block| (m.source_label, block))) + .collect() + } + + /// Marks every message whose source block has reached Bedrock finality. + fn mark_finalized(&self, source_label: &'static str, block_id: u64) { + for message in self + .messages + .lock() + .expect("messages mutex poisoned") + .iter_mut() + { + if message.source_label == source_label + && message.source_block == Some(block_id) + && !message.finalized + { + message.finalized = true; + info!( + "[stage] msg {} source block {source_label}#{block_id} finalized on Bedrock (+{}s)", + message.id, + message.created.elapsed().as_secs() + ); + } + } + } + + fn timeline(&self) -> Vec { + self.messages + .lock() + .expect("messages mutex poisoned") + .iter() + .map(|m| TimelineEntry { + id: m.id, + zone: m.dest_label, + source_zone: m.source_label, + text: m.text.clone(), + source_block: m.source_block, + finalized: m.finalized, + delivered_block: m.delivered_block, + elapsed: m + .delivered_secs + .unwrap_or_else(|| m.created.elapsed().as_secs()), + }) + .collect() + } +} + +#[tokio::main] +async fn main() -> Result<()> { + env_logger::init(); + + // Declared first so Bedrock outlives both zones (drops run in reverse order). + let (_bedrock, bedrock_addr) = setup_bedrock_node() + .await + .context("Failed to set up shared Bedrock node")?; + + let channel_a = bedrock_channel_id(); + let channel_b = bedrock_channel_id_b(); + let zone_a: ZoneId = *channel_a.as_ref(); + let zone_b: ZoneId = *channel_b.as_ref(); + let receiver_id = programs::ping_receiver().id(); + + // Each zone watches the other and may deliver only to ping_receiver. + let cross_zone_a = watch_peer(zone_b, receiver_id); + let cross_zone_b = watch_peer(zone_a, receiver_id); + + let partial = SequencerPartialConfig::default(); + let (seq_a, _home_a) = + setup_sequencer(partial, bedrock_addr, vec![], channel_a, Some(cross_zone_a)) + .await + .context("Failed to set up zone A sequencer")?; + let (seq_b, _home_b) = + setup_sequencer(partial, bedrock_addr, vec![], channel_b, Some(cross_zone_b)) + .await + .context("Failed to set up zone B sequencer")?; + + let state = Arc::new(AppState { + zone_a: ZoneRuntime { + other_zone: zone_b, + client: sequencer_client(seq_a.addr())?, + ordinal: AtomicU32::new(0), + }, + zone_b: ZoneRuntime { + other_zone: zone_a, + client: sequencer_client(seq_b.addr())?, + ordinal: AtomicU32::new(0), + }, + next_id: AtomicU64::new(1), + messages: Mutex::new(Vec::new()), + }); + + tokio::spawn(scan_zone(Arc::clone(&state), "A")); + tokio::spawn(scan_zone(Arc::clone(&state), "B")); + tokio::spawn(poll_finality(Arc::clone(&state))); + + let app = Router::new() + .route("/", get(index)) + .route("/send", post(send_handler)) + .route("/timeline", get(timeline_handler)) + .with_state(state); + + let addr = SocketAddr::from(([127, 0, 0, 1], HTTP_PORT)); + let listener = tokio::net::TcpListener::bind(addr) + .await + .with_context(|| format!("Failed to bind {addr}"))?; + + println!("\n 💬 Cross-zone chat ready — open http://127.0.0.1:{HTTP_PORT} in your browser\n"); + + axum::serve(listener, app) + .await + .context("HTTP server error")?; + Ok(()) +} + +/// A cross-zone config whose single peer is `peer`, allowed to deliver only to +/// `receiver_id`. +fn watch_peer(peer: ZoneId, receiver_id: ProgramId) -> CrossZoneConfig { + CrossZoneConfig { + peers: vec![CrossZonePeer { + channel_id: peer, + allowed_targets: vec![receiver_id], + expected_block_signing_pubkey: None, + }], + } +} + +fn sequencer_client(addr: SocketAddr) -> Result { + let url = + config::addr_to_url(UrlProtocol::Http, addr).context("Failed to build sequencer URL")?; + SequencerClientBuilder::default() + .build(url) + .context("Failed to build sequencer client") +} + +/// Scans one zone's new blocks. A `ping_sender` tx marks the message's source +/// block (its outbound leg); an inbox dispatch marks delivery on this zone. +/// Runs forever; transient RPC errors are logged and retried. +async fn scan_zone(state: Arc, label: &'static str) { + let inbox_id = programs::cross_zone_inbox().id(); + let sender_id = programs::ping_sender().id(); + let client = &state.zone(label).expect("zone runtime exists").client; + + // Start from the current tip so genesis/boot blocks are skipped. + let mut cursor = client.get_last_block_id().await.unwrap_or(0); + + loop { + tokio::time::sleep(POLL_INTERVAL).await; + + let last = match client.get_last_block_id().await { + Ok(last) => last, + Err(err) => { + warn!("[{label}] get_last_block_id failed: {err:#}"); + continue; + } + }; + + while cursor < last { + let next = cursor.saturating_add(1); + match client.get_block(next).await { + Ok(Some(block)) => { + for tx in &block.body.transactions { + let LeeTransaction::Public(public) = tx else { + continue; + }; + let program_id = public.message.program_id; + let data = &public.message.instruction_data; + // A tx targets at most one of these programs; check both + // independently rather than chaining (avoids an empty else). + if program_id == inbox_id + && let Some(text) = decode_inbox_text(data) + { + state.mark_delivered(label, &text, next); + } + if program_id == sender_id + && let Some(ordinal) = decode_send_ordinal(data) + { + state.mark_source_block(label, ordinal, next); + } + } + } + Ok(None) => {} + Err(err) => { + warn!("[{label}] get_block({next}) failed: {err:#}"); + break; + } + } + cursor = next; + } + } +} + +/// Polls each tracked source block's Bedrock finality until it is finalized. +async fn poll_finality(state: Arc) { + loop { + tokio::time::sleep(POLL_INTERVAL).await; + for (label, block_id) in state.pending_finality() { + let client = &state.zone(label).expect("zone runtime exists").client; + match client.get_block(block_id).await { + Ok(Some(block)) => { + if matches!(block.bedrock_status, BedrockStatus::Finalized) { + state.mark_finalized(label, block_id); + } + } + Ok(None) => {} + Err(err) => warn!("[{label}] finality get_block({block_id}) failed: {err:#}"), + } + } + } +} + +/// Recovers the chat text from an inbox dispatch tx's instruction data. +fn decode_inbox_text(instruction_data: &[u32]) -> Option { + let instruction: Instruction = + risc0_zkvm::serde::from_slice::(instruction_data).ok()?; + let Instruction::Dispatch(message) = instruction; + decode_payload(&message.payload) +} + +/// Recovers the outbox ordinal from a `ping_sender::Send` tx's instruction data. +fn decode_send_ordinal(instruction_data: &[u32]) -> Option { + let instruction: SenderInstruction = + risc0_zkvm::serde::from_slice::(instruction_data).ok()?; + let SenderInstruction::Send { ordinal, .. } = instruction; + Some(ordinal) +} + +/// Decodes a `ping_receiver::Record` payload (risc0 words in LE bytes) to text. +fn decode_payload(payload: &[u8]) -> Option { + let chunks = payload.chunks_exact(4); + if !chunks.remainder().is_empty() { + return None; + } + let words: Vec = chunks + .map(|chunk| u32::from_le_bytes(chunk.try_into().expect("chunks_exact(4) yields 4 bytes"))) + .collect(); + let instruction: ReceiverInstruction = + risc0_zkvm::serde::from_slice::(&words).ok()?; + let ReceiverInstruction::Record { payload: bytes } = instruction; + Some(String::from_utf8_lossy(&bytes).into_owned()) +} + +/// Builds the unsigned `ping_sender::Send` that carries `text` to `other_zone`, +/// mirroring `integration_tests/tests/cross_zone_ping.rs`. +fn build_send_tx(other_zone: ZoneId, ordinal: u32, text: &str) -> LeeTransaction { + let receiver_id = programs::ping_receiver().id(); + let outbox_id = programs::cross_zone_outbox().id(); + + let words = risc0_zkvm::serde::to_vec(&ReceiverInstruction::Record { + payload: text.as_bytes().to_vec(), + }) + .expect("serialize record instruction"); + let payload: Vec = words.iter().flat_map(|word| word.to_le_bytes()).collect(); + + let send = SenderInstruction::Send { + outbox_program_id: outbox_id, + target_zone: other_zone, + target_program_id: receiver_id, + target_accounts: vec![ping_record_pda(receiver_id).into_value()], + payload, + ordinal, + }; + + let outbox_account = outbox_pda(outbox_id, &other_zone, ordinal); + let message = Message::try_new( + programs::ping_sender().id(), + vec![outbox_account], + vec![], + send, + ) + .expect("build ping_sender message"); + + LeeTransaction::Public(PublicTransaction::new( + message, + WitnessSet::from_raw_parts(vec![]), + )) +} + +async fn index() -> Html<&'static str> { + Html(include_str!("index.html")) +} + +async fn send_handler( + State(state): State>, + Json(request): Json, +) -> Result, (StatusCode, String)> { + let text = request.text.trim(); + if text.is_empty() { + return Err((StatusCode::BAD_REQUEST, "empty message".to_owned())); + } + let (source_label, dest_label) = match request.zone.as_str() { + "A" => ("A", "B"), + "B" => ("B", "A"), + other => return Err((StatusCode::BAD_REQUEST, format!("unknown zone {other}"))), + }; + let zone = state.zone(source_label).expect("zone runtime exists"); + + let ordinal = zone.ordinal.fetch_add(1, Ordering::SeqCst); + let tx = build_send_tx(zone.other_zone, ordinal, text); + let id = state.record_outbound(source_label, dest_label, ordinal, text.to_owned()); + zone.client + .send_transaction(tx) + .await + .map_err(|err| (StatusCode::BAD_GATEWAY, format!("submit failed: {err:#}")))?; + Ok(Json(SendResponse { id })) +} + +async fn timeline_handler(State(state): State>) -> Json> { + Json(state.timeline()) +} From c9b6df2be90239219da946bb74493f4ffedce9a7 Mon Sep 17 00:00:00 2001 From: moudyellaz Date: Fri, 10 Jul 2026 19:02:23 +0200 Subject: [PATCH 19/19] chore(cross-zone): remove stale old-style program_methods guest bins --- program_methods/guest/src/bin/bridge_lock.rs | 121 ----------------- .../guest/src/bin/cross_zone_inbox.rs | 127 ------------------ .../guest/src/bin/cross_zone_outbox.rs | 72 ---------- .../guest/src/bin/ping_receiver.rs | 48 ------- program_methods/guest/src/bin/ping_sender.rs | 59 -------- .../guest/src/bin/wrapped_token.rs | 70 ---------- 6 files changed, 497 deletions(-) delete mode 100644 program_methods/guest/src/bin/bridge_lock.rs delete mode 100644 program_methods/guest/src/bin/cross_zone_inbox.rs delete mode 100644 program_methods/guest/src/bin/cross_zone_outbox.rs delete mode 100644 program_methods/guest/src/bin/ping_receiver.rs delete mode 100644 program_methods/guest/src/bin/ping_sender.rs delete mode 100644 program_methods/guest/src/bin/wrapped_token.rs diff --git a/program_methods/guest/src/bin/bridge_lock.rs b/program_methods/guest/src/bin/bridge_lock.rs deleted file mode 100644 index 75e0e871..00000000 --- a/program_methods/guest/src/bin/bridge_lock.rs +++ /dev/null @@ -1,121 +0,0 @@ -use bridge_lock_core::{Instruction, balance_bytes, escrow_account_id, escrow_seed, read_balance}; -use cross_zone_outbox_core::Instruction as OutboxInstruction; -use lee_core::{ - account::AccountWithMetadata, - program::{AccountPostState, ChainedCall, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, -}; -use wrapped_token_core::Instruction as WrappedInstruction; - -fn main() { - let ( - ProgramInput { - self_program_id, - caller_program_id, - pre_states, - instruction, - }, - instruction_words, - ) = read_lee_inputs::(); - - assert!( - caller_program_id.is_none(), - "bridge_lock is only invoked as a top-level user transaction" - ); - - let Instruction::Lock { - amount, - target_zone, - target_program_id, - target_accounts, - payload, - outbox_program_id, - ordinal, - } = instruction; - - // Value conservation: the forwarded payload must mint exactly what is locked. - let WrappedInstruction::Mint { - amount: mint_amount, - .. - } = decode_mint(&payload); - assert_eq!( - mint_amount, amount, - "locked amount must equal the wrapped mint amount" - ); - - // pre_states: [holder holding (authorized), escrow PDA, outbox PDA]. - let [holder, escrow, outbox] = <[AccountWithMetadata; 3]>::try_from(pre_states) - .expect("Lock requires holder, escrow, and outbox accounts"); - - assert!(holder.is_authorized, "holder must authorize the lock"); - assert_eq!( - holder.account.program_owner, self_program_id, - "holder account must be a bridge_lock holding" - ); - assert_eq!( - escrow.account_id, - escrow_account_id(self_program_id), - "second account must be the escrow PDA" - ); - - let holder_new = read_balance(&holder.account.data.clone().into_inner()) - .checked_sub(amount) - .expect("insufficient balance to lock"); - let escrow_new = read_balance(&escrow.account.data.clone().into_inner()) - .checked_add(amount) - .expect("escrow balance overflow"); - - let mut holder_account = holder.account.clone(); - holder_account.data = balance_bytes(holder_new) - .to_vec() - .try_into() - .expect("balance fits in account data"); - let holder_post = AccountPostState::new(holder_account); - - let mut escrow_account = escrow.account.clone(); - escrow_account.data = balance_bytes(escrow_new) - .to_vec() - .try_into() - .expect("balance fits in account data"); - let escrow_post = - AccountPostState::new_claimed_if_default(escrow_account, Claim::Pda(escrow_seed())); - - let call = ChainedCall::new( - outbox_program_id, - vec![outbox.clone()], - &OutboxInstruction::Emit { - target_zone, - target_program_id, - target_accounts, - payload, - ordinal, - }, - ); - - ProgramOutput::new( - self_program_id, - caller_program_id, - instruction_words, - vec![holder, escrow, outbox.clone()], - vec![ - holder_post, - escrow_post, - AccountPostState::new(outbox.account), - ], - ) - .with_chained_calls(vec![call]) - .write(); -} - -/// Decodes the cross-zone payload (risc0 words, little-endian bytes) into the -/// wrapped-token instruction it carries. -fn decode_mint(payload: &[u8]) -> WrappedInstruction { - assert!( - payload.len() % 4 == 0, - "payload must be u32-aligned instruction words" - ); - let words: Vec = payload - .chunks_exact(4) - .map(|chunk| u32::from_le_bytes([chunk[0], chunk[1], chunk[2], chunk[3]])) - .collect(); - risc0_zkvm::serde::from_slice(&words).expect("payload decodes to a wrapped-token instruction") -} diff --git a/program_methods/guest/src/bin/cross_zone_inbox.rs b/program_methods/guest/src/bin/cross_zone_inbox.rs deleted file mode 100644 index 41a1015b..00000000 --- a/program_methods/guest/src/bin/cross_zone_inbox.rs +++ /dev/null @@ -1,127 +0,0 @@ -use cross_zone_inbox_core::{ - InboxConfig, Instruction, SeenShard, inbox_config_account_id, inbox_seen_shard_account_id, - inbox_seen_shard_seed, message_key, -}; -use lee_core::{ - account::AccountWithMetadata, - program::{AccountPostState, ChainedCall, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, -}; - -fn unchanged(pre: &AccountWithMetadata) -> AccountPostState { - AccountPostState::new(pre.account.clone()) -} - -fn main() { - let ( - ProgramInput { - self_program_id, - caller_program_id, - pre_states, - instruction, - }, - instruction_words, - ) = read_lee_inputs::(); - - assert!( - caller_program_id.is_none(), - "Inbox is only invoked as a top-level sequencer-origin transaction" - ); - - let msg = match instruction { - Instruction::Dispatch(msg) => msg, - }; - - assert!( - msg.l1_inclusion_witness.is_none(), - "l1_inclusion_witness must be None in v1" - ); - - // pre_states layout: [config, seen_shard, then the target accounts]. - let mut accounts = pre_states.into_iter(); - let config = accounts.next().expect("config account required"); - let seen = accounts.next().expect("seen shard account required"); - let target_accounts: Vec = accounts.collect(); - - assert_eq!( - config.account_id, - inbox_config_account_id(self_program_id), - "First account must be the inbox config PDA" - ); - assert_eq!( - seen.account_id, - inbox_seen_shard_account_id(self_program_id, &msg.src_zone, msg.src_block_id), - "Second account must be the seen-shard PDA" - ); - - let cfg = InboxConfig::from_bytes(&config.account.data.clone().into_inner()) - .expect("inbox config decodes"); - - assert!( - msg.src_zone != cfg.self_zone, - "Source zone must not be this zone" - ); - let allowed_targets = cfg - .allowed_targets - .get(&msg.src_zone) - .expect("Source zone is not an allowed peer"); - assert!( - allowed_targets.contains(&msg.target_program_id), - "Target program is not allowed for this peer" - ); - - let key = message_key(&msg.src_zone, msg.src_block_id, msg.src_tx_index); - let mut shard = - SeenShard::from_bytes(&seen.account.data.clone().into_inner()).expect("seen shard decodes"); - let already_seen = shard.contains(&key); - - // On replay this is a no-op: the seen shard is untouched and no call is made. - let (seen_post, chained_calls) = if already_seen { - (unchanged(&seen), vec![]) - } else { - shard.insert(key); - let mut seen_account = seen.account.clone(); - seen_account.data = shard - .to_bytes() - .try_into() - .expect("seen shard fits in account data"); - let seen_post = AccountPostState::new_claimed_if_default( - seen_account, - Claim::Pda(inbox_seen_shard_seed(&msg.src_zone, msg.src_block_id)), - ); - - // The payload carries the target instruction as risc0 words, little-endian. - assert!( - msg.payload.len() % 4 == 0, - "payload must be u32-aligned instruction words" - ); - let instruction_data = msg - .payload - .chunks_exact(4) - .map(|c| u32::from_le_bytes([c[0], c[1], c[2], c[3]])) - .collect(); - - let call = ChainedCall { - program_id: msg.target_program_id, - pre_states: target_accounts.clone(), - instruction_data, - pda_seeds: vec![], - }; - (seen_post, vec![call]) - }; - - let mut post_states = vec![unchanged(&config), seen_post]; - post_states.extend(target_accounts.iter().map(unchanged)); - - let mut pre_states = vec![config, seen]; - pre_states.extend(target_accounts); - - ProgramOutput::new( - self_program_id, - caller_program_id, - instruction_words, - pre_states, - post_states, - ) - .with_chained_calls(chained_calls) - .write(); -} diff --git a/program_methods/guest/src/bin/cross_zone_outbox.rs b/program_methods/guest/src/bin/cross_zone_outbox.rs deleted file mode 100644 index 432e8d9c..00000000 --- a/program_methods/guest/src/bin/cross_zone_outbox.rs +++ /dev/null @@ -1,72 +0,0 @@ -use cross_zone_outbox_core::{Instruction, OutboxRecord, outbox_pda, outbox_pda_seed}; -use lee_core::{ - account::AccountWithMetadata, - program::{AccountPostState, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, -}; - -fn main() { - let ( - ProgramInput { - self_program_id, - caller_program_id, - pre_states, - instruction, - }, - instruction_words, - ) = read_lee_inputs::(); - - assert!( - caller_program_id.is_some(), - "Outbox is only callable through a chain call from a user program" - ); - - let (target_zone, target_program_id, target_accounts, payload, ordinal) = match instruction { - Instruction::Emit { - target_zone, - target_program_id, - target_accounts, - payload, - ordinal, - } => ( - target_zone, - target_program_id, - target_accounts, - payload, - ordinal, - ), - }; - - let [outbox] = - <[AccountWithMetadata; 1]>::try_from(pre_states).expect("Emit requires exactly 1 account"); - - assert_eq!( - outbox.account_id, - outbox_pda(self_program_id, &target_zone, ordinal), - "Account must be the outbox PDA for (target_zone, ordinal)" - ); - - let mut post_account = outbox.account.clone(); - post_account.data = OutboxRecord { - target_zone, - target_program_id, - target_accounts, - payload, - } - .to_bytes() - .try_into() - .expect("OutboxRecord fits in account data"); - - let post = AccountPostState::new_claimed_if_default( - post_account, - Claim::Pda(outbox_pda_seed(&target_zone, ordinal)), - ); - - ProgramOutput::new( - self_program_id, - caller_program_id, - instruction_words, - vec![outbox], - vec![post], - ) - .write(); -} diff --git a/program_methods/guest/src/bin/ping_receiver.rs b/program_methods/guest/src/bin/ping_receiver.rs deleted file mode 100644 index 4fd9679f..00000000 --- a/program_methods/guest/src/bin/ping_receiver.rs +++ /dev/null @@ -1,48 +0,0 @@ -use lee_core::{ - account::AccountWithMetadata, - program::{AccountPostState, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, -}; -use ping_core::{ReceiverInstruction, ping_record_pda, ping_record_seed}; - -fn main() { - let ( - ProgramInput { - self_program_id, - caller_program_id, - pre_states, - instruction, - }, - instruction_words, - ) = read_lee_inputs::(); - - assert!( - caller_program_id.is_some(), - "ping_receiver is only callable through a chained call" - ); - - let payload = match instruction { - ReceiverInstruction::Record { payload } => payload, - }; - - let [record] = <[AccountWithMetadata; 1]>::try_from(pre_states) - .expect("Record requires exactly 1 account"); - assert_eq!( - record.account_id, - ping_record_pda(self_program_id), - "Account must be the ping record PDA" - ); - - let mut post_account = record.account.clone(); - post_account.data = payload.try_into().expect("payload fits in account data"); - let post = - AccountPostState::new_claimed_if_default(post_account, Claim::Pda(ping_record_seed())); - - ProgramOutput::new( - self_program_id, - caller_program_id, - instruction_words, - vec![record], - vec![post], - ) - .write(); -} diff --git a/program_methods/guest/src/bin/ping_sender.rs b/program_methods/guest/src/bin/ping_sender.rs deleted file mode 100644 index d0ad04f5..00000000 --- a/program_methods/guest/src/bin/ping_sender.rs +++ /dev/null @@ -1,59 +0,0 @@ -use cross_zone_outbox_core::Instruction as OutboxInstruction; -use lee_core::{ - account::AccountWithMetadata, - program::{AccountPostState, ChainedCall, ProgramInput, ProgramOutput, read_lee_inputs}, -}; -use ping_core::SenderInstruction; - -fn main() { - let ( - ProgramInput { - self_program_id, - caller_program_id, - pre_states, - instruction, - }, - instruction_words, - ) = read_lee_inputs::(); - - assert!( - caller_program_id.is_none(), - "ping_sender is only invoked as a top-level user transaction" - ); - - let SenderInstruction::Send { - outbox_program_id, - target_zone, - target_program_id, - target_accounts, - payload, - ordinal, - } = instruction; - - // The single account is the outbox PDA the chained call writes into; the - // outbox claims it, so ping_sender forwards it unchanged. - let [outbox] = - <[AccountWithMetadata; 1]>::try_from(pre_states).expect("Send requires exactly 1 account"); - - let call = ChainedCall::new( - outbox_program_id, - vec![outbox.clone()], - &OutboxInstruction::Emit { - target_zone, - target_program_id, - target_accounts, - payload, - ordinal, - }, - ); - - ProgramOutput::new( - self_program_id, - caller_program_id, - instruction_words, - vec![outbox.clone()], - vec![AccountPostState::new(outbox.account)], - ) - .with_chained_calls(vec![call]) - .write(); -} diff --git a/program_methods/guest/src/bin/wrapped_token.rs b/program_methods/guest/src/bin/wrapped_token.rs deleted file mode 100644 index d0e7595f..00000000 --- a/program_methods/guest/src/bin/wrapped_token.rs +++ /dev/null @@ -1,70 +0,0 @@ -use lee_core::{ - account::AccountWithMetadata, - program::{AccountPostState, Claim, ProgramInput, ProgramOutput, read_lee_inputs}, -}; -use wrapped_token_core::{ - Instruction, balance_bytes, config_account_id, holding_account_id, holding_seed, read_balance, - read_minter, -}; - -fn main() { - let ( - ProgramInput { - self_program_id, - caller_program_id, - pre_states, - instruction, - }, - instruction_words, - ) = read_lee_inputs::(); - - let Instruction::Mint { recipient, amount } = instruction; - - // pre_states: [config PDA, recipient holding PDA]. - let [config, holding] = <[AccountWithMetadata; 2]>::try_from(pre_states) - .expect("Mint requires the config and recipient holding accounts"); - - // The config PDA is genesis-seeded with the authorized minter (the cross-zone - // inbox). Pin the caller to it, since the guest cannot import the inbox id. - assert_eq!( - config.account_id, - config_account_id(self_program_id), - "first account must be the wrapped-token config PDA" - ); - let minter = read_minter(&config.account.data.clone().into_inner()) - .expect("config account holds an authorized minter id"); - assert_eq!( - caller_program_id, - Some(minter), - "Mint is only callable by the authorized minter (the cross-zone inbox)" - ); - - assert_eq!( - holding.account_id, - holding_account_id(self_program_id, &recipient), - "second account must be the recipient holding PDA" - ); - - let new_balance = read_balance(&holding.account.data.clone().into_inner()) - .checked_add(amount) - .expect("wrapped-token balance overflow"); - let mut holding_account = holding.account.clone(); - holding_account.data = balance_bytes(new_balance) - .to_vec() - .try_into() - .expect("balance fits in account data"); - let holding_post = AccountPostState::new_claimed_if_default( - holding_account, - Claim::Pda(holding_seed(&recipient)), - ); - let config_post = AccountPostState::new(config.account.clone()); - - ProgramOutput::new( - self_program_id, - caller_program_id, - instruction_words, - vec![config, holding], - vec![config_post, holding_post], - ) - .write(); -}