From 3324bcf39116f348e8a0ffe71207fef6551ca0b2 Mon Sep 17 00:00:00 2001 From: Sergio Chouhy Date: Wed, 25 Mar 2026 20:01:53 -0300 Subject: [PATCH] add sequencer checks --- artifacts/program_methods/clock.bin | Bin 0 -> 386404 bytes common/src/transaction.rs | 17 ++++ indexer/core/src/block_store.rs | 27 +++++- nssa/src/lib.rs | 2 +- .../transaction.rs | 11 +++ nssa/src/state.rs | 7 +- sequencer/core/src/lib.rs | 85 ++++++++++++++++-- 7 files changed, 137 insertions(+), 12 deletions(-) create mode 100644 artifacts/program_methods/clock.bin diff --git a/artifacts/program_methods/clock.bin b/artifacts/program_methods/clock.bin new file mode 100644 index 0000000000000000000000000000000000000000..c3f8af153ced9bf58a82703249f8307806abe271 GIT binary patch literal 386404 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 Self { + let message = nssa::public_transaction::Message::try_new( + nssa::program::Program::clock().id(), + vec![nssa::CLOCK_PROGRAM_ACCOUNT_ID], + vec![], + (), + ) + .expect("Clock invocation message should always be constructable"); + Self::Public(nssa::PublicTransaction::new( + message, + nssa::public_transaction::WitnessSet::from_raw_parts(vec![]), + )) + } + // TODO: Introduce type-safe wrapper around checked transaction, e.g. AuthenticatedTransaction pub fn transaction_stateless_check(self) -> Result { // Stateless checks here diff --git a/indexer/core/src/block_store.rs b/indexer/core/src/block_store.rs index f3722b17..16591a0e 100644 --- a/indexer/core/src/block_store.rs +++ b/indexer/core/src/block_store.rs @@ -119,6 +119,30 @@ impl IndexerStore { pub async fn put_block(&self, mut block: Block, l1_header: HeaderId) -> Result<()> { { + let canonical_clock_tx = NSSATransaction::clock_invocation(); + + // Validate block structure: the last transaction must be the sole clock invocation. + let last_tx = block + .body + .transactions + .last() + .ok_or_else(|| anyhow::anyhow!("Block must contain at least one transaction"))?; + anyhow::ensure!( + last_tx == &canonical_clock_tx, + "Last transaction in block must be the canonical clock invocation" + ); + + let clock_count = block + .body + .transactions + .iter() + .filter(|tx| *tx == &canonical_clock_tx) + .count(); + anyhow::ensure!( + clock_count == 1, + "Block must contain exactly one Block Context Program invocation" + ); + let mut state_guard = self.current_state.write().await; for transaction in &block.body.transactions { @@ -208,11 +232,12 @@ mod tests { 10, &sign_key, ); + let clock_tx = NSSATransaction::clock_invocation(); let next_block = common::test_utils::produce_dummy_block( u64::try_from(i).unwrap(), Some(prev_hash), - vec![tx], + vec![tx, clock_tx], ); prev_hash = next_block.header.hash; diff --git a/nssa/src/lib.rs b/nssa/src/lib.rs index ce958354..b6df2fdd 100644 --- a/nssa/src/lib.rs +++ b/nssa/src/lib.rs @@ -16,7 +16,7 @@ pub use program_deployment_transaction::ProgramDeploymentTransaction; pub use program_methods::PRIVACY_PRESERVING_CIRCUIT_ID; pub use public_transaction::PublicTransaction; pub use signature::{PrivateKey, PublicKey, Signature}; -pub use state::V03State; +pub use state::{CLOCK_PROGRAM_ACCOUNT_ID, V03State}; pub mod encoding; pub mod error; diff --git a/nssa/src/privacy_preserving_transaction/transaction.rs b/nssa/src/privacy_preserving_transaction/transaction.rs index aafbe0cb..dc8670d2 100644 --- a/nssa/src/privacy_preserving_transaction/transaction.rs +++ b/nssa/src/privacy_preserving_transaction/transaction.rs @@ -154,6 +154,17 @@ impl PrivacyPreservingTransaction { .collect() } + /// Returns the post-state the transaction declares for `account_id`, or `None` if the account + /// is not part of this transaction's public execution. + #[must_use] + pub fn public_post_state_for(&self, account_id: &AccountId) -> Option<&Account> { + self.message + .public_account_ids + .iter() + .position(|id| id == account_id) + .map(|i| &self.message.public_post_states[i]) + } + #[must_use] pub fn affected_public_account_ids(&self) -> Vec { let mut acc_set = self diff --git a/nssa/src/state.rs b/nssa/src/state.rs index 70906f68..3c70d1ad 100644 --- a/nssa/src/state.rs +++ b/nssa/src/state.rs @@ -16,6 +16,9 @@ use crate::{ pub const MAX_NUMBER_CHAINED_CALLS: usize = 10; +pub const CLOCK_PROGRAM_ACCOUNT_ID: AccountId = + AccountId::new(*b"/LEZ/ClockProgramAccount/0000001"); + #[derive(Clone, BorshSerialize, BorshDeserialize)] #[cfg_attr(test, derive(Debug, PartialEq, Eq))] pub struct CommitmentSet { @@ -148,8 +151,8 @@ impl V03State { this.insert_program(Program::amm()); this.insert_program(Program::clock()); - this.force_insert_account( - AccountId::new(b"/LEZ/ClockProgramAccount/0000001".to_owned()), + this.public_state.insert( + CLOCK_PROGRAM_ACCOUNT_ID, Account { program_owner: Program::clock().id(), data: 0_u64 diff --git a/sequencer/core/src/lib.rs b/sequencer/core/src/lib.rs index 21e63740..0afad05a 100644 --- a/sequencer/core/src/lib.rs +++ b/sequencer/core/src/lib.rs @@ -202,9 +202,27 @@ impl SequencerCore p.message().program_id == clock_program_id, + NSSATransaction::PrivacyPreserving(pp) => pp + .public_post_state_for(&nssa::CLOCK_PROGRAM_ACCOUNT_ID) + .is_some_and(|post| post != &clock_account_pre), + NSSATransaction::ProgramDeployment(_) => false, + }; + if touches_system { + warn!("Dropping transaction from mempool: user transactions may not modify the system clock account"); + continue; + } + // Check if block size exceeds limit let temp_valid_transactions = [valid_transactions.as_slice(), std::slice::from_ref(&tx)].concat(); @@ -249,6 +267,16 @@ impl SequencerCore { + valid_transactions.push(clock_nssa_tx); + } + Err(err) => { + error!("Clock transaction failed execution check: {err:#?}"); + } + } + let hashable_data = HashableBlockData { block_id: new_block_height, transactions: valid_transactions, @@ -368,7 +396,8 @@ mod tests { use base58::ToBase58 as _; use bedrock_client::BackoffConfig; use common::{ - block::AccountInitialData, test_utils::sequencer_sign_key_for_testing, + block::AccountInitialData, + test_utils::sequencer_sign_key_for_testing, transaction::NSSATransaction, }; use logos_blockchain_core::mantle::ops::channel::ChannelId; @@ -694,8 +723,8 @@ mod tests { .unwrap() .unwrap(); - // Only one should be included in the block - assert_eq!(block.body.transactions, vec![tx.clone()]); + // Only one user tx should be included; the clock tx is always appended last. + assert_eq!(block.body.transactions, vec![tx.clone(), NSSATransaction::clock_invocation()]); } #[tokio::test] @@ -721,7 +750,7 @@ mod tests { .get_block_at_id(sequencer.chain_height) .unwrap() .unwrap(); - assert_eq!(block.body.transactions, vec![tx.clone()]); + assert_eq!(block.body.transactions, vec![tx.clone(), NSSATransaction::clock_invocation()]); // Add same transaction should fail mempool_handle.push(tx.clone()).await.unwrap(); @@ -733,7 +762,8 @@ mod tests { .get_block_at_id(sequencer.chain_height) .unwrap() .unwrap(); - assert!(block.body.transactions.is_empty()); + // The replay is rejected, so only the clock tx is in the block. + assert_eq!(block.body.transactions, vec![NSSATransaction::clock_invocation()]); } #[tokio::test] @@ -768,7 +798,7 @@ mod tests { .get_block_at_id(sequencer.chain_height) .unwrap() .unwrap(); - assert_eq!(block.body.transactions, vec![tx.clone()]); + assert_eq!(block.body.transactions, vec![tx.clone(), NSSATransaction::clock_invocation()]); } // Instantiating a new sequencer from the same config. This should load the existing block @@ -898,11 +928,50 @@ mod tests { ); assert_eq!( new_block.body.transactions, - vec![tx], - "New block should contain the submitted transaction" + vec![tx, NSSATransaction::clock_invocation()], + "New block should contain the submitted transaction and the clock invocation" ); } + #[tokio::test] + async fn transactions_touching_clock_account_are_dropped_from_block() { + let (mut sequencer, mempool_handle) = common_setup().await; + + // Canonical clock invocation and a crafted variant with different parameters targeting + // the clock program — both must be dropped since the program_id is the clock program. + let crafted_clock_tx = { + let acc1 = sequencer.sequencer_config.initial_accounts[0].account_id; + let message = nssa::public_transaction::Message::try_new( + nssa::program::Program::clock().id(), + vec![acc1], + vec![], + 42_u64, + ) + .unwrap(); + NSSATransaction::Public(nssa::PublicTransaction::new( + message, + nssa::public_transaction::WitnessSet::from_raw_parts(vec![]), + )) + }; + mempool_handle + .push(NSSATransaction::clock_invocation()) + .await + .unwrap(); + mempool_handle.push(crafted_clock_tx).await.unwrap(); + sequencer + .produce_new_block_with_mempool_transactions() + .unwrap(); + + let block = sequencer + .store + .get_block_at_id(sequencer.chain_height) + .unwrap() + .unwrap(); + + // Both transactions were dropped. Only the system-appended clock tx remains. + assert_eq!(block.body.transactions, vec![NSSATransaction::clock_invocation()]); + } + #[tokio::test] async fn start_from_config_uses_db_height_not_config_genesis() { let mut config = setup_sequencer_config();