diff --git a/sequencer/core/src/lib.rs b/sequencer/core/src/lib.rs index 252a059e..50154c82 100644 --- a/sequencer/core/src/lib.rs +++ b/sequencer/core/src/lib.rs @@ -16,6 +16,7 @@ use mempool::{MemPool, MemPoolHandle}; #[cfg(feature = "mock")] pub use mock::SequencerCoreWithMockClients; use nssa::V03State; +use nssa_core::program::Timestamp; pub use storage::error::DbError; use testnet_initial_state::initial_state; @@ -162,24 +163,20 @@ impl SequencerCore nssa_core::program::Timestamp { - u64::try_from(chrono::Utc::now().timestamp_millis()).expect("Timestamp must be positive") - } - fn execute_check_transaction_on_state( &mut self, tx: NSSATransaction, + block_id: u64, + curr_time: Timestamp, ) -> Result { - let block_id = self.next_block_id(); - let timestamp_ms = Self::next_block_timestamp_ms(); match &tx { NSSATransaction::Public(tx) => { self.state - .transition_from_public_transaction(tx, block_id, timestamp_ms) + .transition_from_public_transaction(tx, block_id, curr_time) } NSSATransaction::PrivacyPreserving(tx) => self .state - .transition_from_privacy_preserving_transaction(tx, block_id, timestamp_ms), + .transition_from_privacy_preserving_transaction(tx, block_id, curr_time), NSSATransaction::ProgramDeployment(tx) => self .state .transition_from_program_deployment_transaction(tx), @@ -256,7 +253,7 @@ impl SequencerCore { valid_transactions.push(valid_tx);