From 7249f2f881d2ed35c5c73d406e80badec7e63d3f Mon Sep 17 00:00:00 2001 From: Daniil Polyakov Date: Thu, 13 Aug 2026 00:19:28 +0300 Subject: [PATCH 1/4] refactor(sequencer): actor architecture, phase 2: Storage Actor --- Cargo.lock | 104 ++- Cargo.toml | 3 + lez/chain_state/src/chain.rs | 68 +- lez/sequencer/actors/executor/Cargo.toml | 9 +- lez/sequencer/actors/executor/src/actor.rs | 141 ++- lez/sequencer/actors/executor/src/error.rs | 23 +- lez/sequencer/actors/executor/src/protocol.rs | 3 +- lez/sequencer/actors/executor/src/tests.rs | 118 ++- lez/sequencer/actors/rpc_server/Cargo.toml | 2 +- lez/sequencer/actors/rpc_server/src/actor.rs | 4 +- .../actors/rpc_server/src/actor/service.rs | 8 +- lez/sequencer/actors/storage/Cargo.toml | 25 + lez/sequencer/actors/storage/src/actor.rs | 651 ++++++++++++++ lez/sequencer/actors/storage/src/error.rs | 5 + lez/sequencer/actors/storage/src/lib.rs | 13 + lez/sequencer/actors/storage/src/mock.rs | 709 +++++++++++++++ lez/sequencer/actors/storage/src/protocol.rs | 506 +++++++++++ lez/sequencer/actors/storage/src/trait.rs | 63 ++ lez/sequencer/core/Cargo.toml | 6 +- lez/sequencer/core/src/block_publisher.rs | 10 +- lez/sequencer/core/src/block_store.rs | 605 +++++++------ lez/sequencer/core/src/cross_zone_watcher.rs | 414 ++++++--- lez/sequencer/core/src/lib.rs | 468 +++++----- lez/sequencer/core/src/tests.rs | 818 +++++++++++------- .../core/src/tests/reconstruction.rs | 388 ++++++--- lez/sequencer/service/Cargo.toml | 1 + lez/sequencer/service/src/lib.rs | 34 +- lez/storage/src/sequencer/mod.rs | 162 ++-- lez/storage/src/sequencer/tests.rs | 61 +- test_fixtures/Cargo.toml | 2 + .../fixtures/prebuilt_sequencer_db.dump | Bin 764074 -> 764231 bytes .../src/bin/regenerate_test_fixture.rs | 54 +- test_fixtures/src/setup.rs | 20 +- 33 files changed, 4149 insertions(+), 1349 deletions(-) create mode 100644 lez/sequencer/actors/storage/Cargo.toml create mode 100644 lez/sequencer/actors/storage/src/actor.rs create mode 100644 lez/sequencer/actors/storage/src/error.rs create mode 100644 lez/sequencer/actors/storage/src/lib.rs create mode 100644 lez/sequencer/actors/storage/src/mock.rs create mode 100644 lez/sequencer/actors/storage/src/protocol.rs create mode 100644 lez/sequencer/actors/storage/src/trait.rs diff --git a/Cargo.lock b/Cargo.lock index 105fbc301..2d4d48ca0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1278,9 +1278,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" dependencies = [ "serde", ] @@ -2548,6 +2548,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "downcast" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" + [[package]] name = "downcast-rs" version = "1.2.1" @@ -3139,6 +3145,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fragile" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8878864ba14bb86e818a412bfd6f18f9eabd4ec0f008a28e8f7eb61db532fcf9" +dependencies = [ + "futures-core", +] + [[package]] name = "fs_extra" version = "1.3.0" @@ -6875,6 +6890,32 @@ dependencies = [ "sha3 0.11.0", ] +[[package]] +name = "mockall" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a6ceddfe3ce334925e96bf420fdb2dcee5bed6c632a168ece622676dadeaf8a" +dependencies = [ + "cfg-if", + "downcast", + "fragile", + "mockall_derive", + "predicates", + "predicates-tree", +] + +[[package]] +name = "mockall_derive" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cfe16fbe8a314aeec0b861ac24e60b1e123e97634bab045475b9d6a18416fd8" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "module-lattice" version = "0.2.3" @@ -7861,6 +7902,32 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "predicates" +version = "3.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ada8f2932f28a27ee7b70dd6c1c39ea0675c55a36879ab92f3a715eaa1e63cfe" +dependencies = [ + "anstyle", + "predicates-core", +] + +[[package]] +name = "predicates-core" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cad38746f3166b4031b1a0d39ad9f954dd291e7854fcc0eed52ee41a0b50d144" + +[[package]] +name = "predicates-tree" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0de1b847b39c8131db0467e9df1ff60e6d0562ab8e9a16e568ad0fdb372e2f2" +dependencies = [ + "predicates-core", + "termtree", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -9491,7 +9558,7 @@ dependencies = [ "futures", "hex", "humantime-serde", - "itertools 0.14.0", + "kameo", "key_protocol", "lee", "lee_core", @@ -9509,6 +9576,7 @@ dependencies = [ "risc0-zkvm", "sequencer_core_metrics", "sequencer_stake_core", + "sequencer_storage_actor", "serde", "serde_json", "storage", @@ -9541,15 +9609,19 @@ dependencies = [ "bytesize", "common", "env_logger", + "futures", "hex", "kameo", "lee", "lee_core", "log", "mempool", + "mockall", "num-bigint 0.4.6", "sequencer_core", - "storage", + "sequencer_stake_core", + "sequencer_storage_actor", + "system_accounts", "tempfile", "test_programs", "thiserror 2.0.18", @@ -9605,6 +9677,7 @@ dependencies = [ "sequencer_executor_actor", "sequencer_rpc_server_actor", "sequencer_stake_core", + "sequencer_storage_actor", "system_accounts", "tokio", "tokio-util", @@ -9649,6 +9722,21 @@ dependencies = [ "sequencer_stake_core", ] +[[package]] +name = "sequencer_storage_actor" +version = "0.1.0" +dependencies = [ + "common", + "kameo", + "lee", + "lee_core", + "mockall", + "storage", + "tempfile", + "thiserror 2.0.18", + "tokio", +] + [[package]] name = "serde" version = "1.0.228" @@ -10470,6 +10558,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "termtree" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f50febec83f5ee1df3015341d8bd429f2d1cc62bcba7ea2076759d315084683" + [[package]] name = "test-case" version = "3.3.1" @@ -10516,6 +10610,7 @@ dependencies = [ "hex", "indexer_service", "jsonrpsee", + "kameo", "key_protocol", "lee", "lee_core", @@ -10527,6 +10622,7 @@ dependencies = [ "sequencer_service", "sequencer_service_rpc", "sequencer_stake_core", + "sequencer_storage_actor", "serde", "serde_json", "tempfile", diff --git a/Cargo.toml b/Cargo.toml index 87c43e884..34b0f8f68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ members = [ "lez/sequencer/actors/executor", "lez/sequencer/actors/rpc_server", "lez/sequencer/actors/rpc_server/metrics", + "lez/sequencer/actors/storage", "lez/indexer/core", "lez/indexer/service", "lez/indexer/service/protocol", @@ -90,6 +91,7 @@ sequencer_service_rpc = { path = "lez/sequencer/service/rpc" } sequencer_executor_actor = { path = "lez/sequencer/actors/executor" } sequencer_rpc_server_actor = { path = "lez/sequencer/actors/rpc_server" } sequencer_rpc_server_actor_metrics = { path = "lez/sequencer/actors/rpc_server/metrics" } +sequencer_storage_actor = { path = "lez/sequencer/actors/storage" } sequencer_service = { path = "lez/sequencer/service" } indexer_core = { path = "lez/indexer/core" } indexer_service = { path = "lez/indexer/service" } @@ -200,6 +202,7 @@ tokio-retry = "0.3.0" schemars = "1.2" async-stream = "0.3.6" strum = { version = "0.28.0", features = ["derive"] } +mockall = "0.15.0" logos-blockchain-common-http-client = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "97d5e104fc20ce6e2fb404f8a9364afcb181a3e5" } logos-blockchain-key-management-system-service = { git = "https://github.com/logos-blockchain/logos-blockchain.git", rev = "97d5e104fc20ce6e2fb404f8a9364afcb181a3e5" } diff --git a/lez/chain_state/src/chain.rs b/lez/chain_state/src/chain.rs index 39e1efbaa..c96bacc26 100644 --- a/lez/chain_state/src/chain.rs +++ b/lez/chain_state/src/chain.rs @@ -1,6 +1,8 @@ //! Two-tier chain state: a reorg-able `head` the sequencer builds on, plus an //! irreversible `final` tier. +use std::sync::Arc; + use common::block::Block; use lee::V03State; use log::warn; @@ -26,11 +28,11 @@ pub struct HeadEntry { /// Only the final tier stalls: an invalid `adopted` block just freezes the /// head tip and self-heals via reorg or finalization. pub struct ChainState { - final_state: V03State, + final_state: Arc, final_tip: Option, final_stall: Option, - head_state: V03State, + head_state: Arc, head_blocks: Vec, } @@ -44,8 +46,9 @@ impl ChainState { /// State restored from a persisted final tier; head mirrors final. #[must_use] pub fn from_final(final_state: V03State, final_tip: Option) -> Self { + let final_state = Arc::new(final_state); Self { - head_state: final_state.clone(), + head_state: Arc::clone(&final_state), final_state, final_tip, head_blocks: Vec::new(), @@ -55,22 +58,36 @@ impl ChainState { /// State the sequencer builds its next block on. #[must_use] - pub const fn head_state(&self) -> &V03State { + pub fn head_state(&self) -> &V03State { &self.head_state } + /// A shared handle on the head state, for callers that need to own it. + #[must_use] + pub fn share_head_state(&self) -> Arc { + Arc::clone(&self.head_state) + } + /// Mutable access to the head state. Bypasses the `head_blocks` invariant, so /// it is meant for tests and low-level callers. + /// + /// Copies the state while a handle from [`Self::share_head_state`] is alive. #[must_use] - pub const fn head_state_mut(&mut self) -> &mut V03State { - &mut self.head_state + pub fn head_state_mut(&mut self) -> &mut V03State { + Arc::make_mut(&mut self.head_state) } #[must_use] - pub const fn final_state(&self) -> &V03State { + pub fn final_state(&self) -> &V03State { &self.final_state } + /// A shared handle on the final state, for callers that need to own it. + #[must_use] + pub fn share_final_state(&self) -> Arc { + Arc::clone(&self.final_state) + } + /// Parent the next produced block must chain on. #[must_use] pub fn head_tip(&self) -> Option { @@ -139,12 +156,12 @@ impl ChainState { .position(|entry| entry.block.header.block_id >= block.header.block_id); let (mut scratch, tip) = match reorg_at { // continue from the tip - None => (self.head_state.clone(), self.head_tip()), + None => (Arc::clone(&self.head_state), self.head_tip()), // reorg upto `idx` Some(idx) => self.replay_head_prefix(idx), }; - match apply_block(tip.as_ref(), block, &mut scratch) { + match apply_block(tip.as_ref(), block, Arc::make_mut(&mut scratch)) { Ok(()) => { // now that `apply_block` succeeded, actually reorg the head if let Some(idx) = reorg_at { @@ -213,7 +230,11 @@ impl ChainState { /// persisted — that would need a sidecar `block_id -> MsgId` cell); later /// orphan/finalize events correlate by block hash. pub fn restore_head_block(&mut self, block: Block) -> Result<(), BlockIngestError> { - apply_block(self.head_tip().as_ref(), &block, &mut self.head_state)?; + apply_block( + self.head_tip().as_ref(), + &block, + Arc::make_mut(&mut self.head_state), + )?; let this_msg = MsgId::from(block.header.hash.0); self.head_blocks.push(HeadEntry { this_msg, block }); Ok(()) @@ -250,8 +271,12 @@ impl ChainState { fn finalize_through(&mut self, idx: usize) { let finalized: Vec = self.head_blocks.drain(0..=idx).collect(); for entry in finalized { - apply_block(self.final_tip.as_ref(), &entry.block, &mut self.final_state) - .expect("validated head block must apply to the final tier"); + apply_block( + self.final_tip.as_ref(), + &entry.block, + Arc::make_mut(&mut self.final_state), + ) + .expect("validated head block must apply to the final tier"); self.final_tip = Some(Tip::from(&entry.block)); } self.final_stall = None; @@ -270,8 +295,8 @@ impl ChainState { return AcceptOutcome::AlreadyApplied; } - let mut scratch = self.final_state.clone(); - match apply_block(self.final_tip.as_ref(), block, &mut scratch) { + let mut scratch = Arc::clone(&self.final_state); + match apply_block(self.final_tip.as_ref(), block, Arc::make_mut(&mut scratch)) { Ok(()) => { self.final_state = scratch; self.final_tip = Some(Tip::from(block)); @@ -281,7 +306,7 @@ impl ChainState { // orders orphans before their finalized replacement), so its // txs are back in the caller's mempool. self.head_blocks.clear(); - self.head_state = self.final_state.clone(); + self.head_state = Arc::clone(&self.final_state); AcceptOutcome::Applied } Err(err) => { @@ -297,11 +322,11 @@ impl ChainState { } /// State and tip after replaying `head_blocks[..count]` on the final tier. - fn replay_head_prefix(&self, count: usize) -> (V03State, Option) { - let mut state = self.final_state.clone(); + fn replay_head_prefix(&self, count: usize) -> (Arc, Option) { + let mut state = Arc::clone(&self.final_state); let mut tip = self.final_tip.clone(); for entry in &self.head_blocks[..count] { - apply_block(tip.as_ref(), &entry.block, &mut state) + apply_block(tip.as_ref(), &entry.block, Arc::make_mut(&mut state)) .expect("validated head blocks must replay"); tip = Some(Tip::from(&entry.block)); } @@ -337,14 +362,15 @@ mod tests { /// `head_state` equals `final_state` replayed through `head_blocks`. fn assert_head_matches_replay(chain: &ChainState) { - let mut state = chain.final_state.clone(); + let mut state = Arc::clone(&chain.final_state); let mut tip = chain.final_tip.clone(); for entry in &chain.head_blocks { - apply_block(tip.as_ref(), &entry.block, &mut state).expect("head blocks must replay"); + apply_block(tip.as_ref(), &entry.block, Arc::make_mut(&mut state)) + .expect("head blocks must replay"); tip = Some(Tip::from(&entry.block)); } assert_eq!( - borsh::to_vec(&state).expect("state serializes"), + borsh::to_vec(state.as_ref()).expect("state serializes"), borsh::to_vec(chain.head_state()).expect("state serializes"), "head_state must equal final_state replayed through head_blocks" ); diff --git a/lez/sequencer/actors/executor/Cargo.toml b/lez/sequencer/actors/executor/Cargo.toml index 969cefb99..91f03920e 100644 --- a/lez/sequencer/actors/executor/Cargo.toml +++ b/lez/sequencer/actors/executor/Cargo.toml @@ -2,7 +2,7 @@ name = "sequencer_executor_actor" version = "0.1.0" edition = "2024" -license = { workspace = true } +license.workspace = true [lints] workspace = true @@ -12,11 +12,12 @@ sequencer_core.workspace = true common.workspace = true lee_core.workspace = true mempool.workspace = true -storage.workspace = true +sequencer_storage_actor.workspace = true kameo.workspace = true tokio.workspace = true tokio-util.workspace = true +futures.workspace = true log.workspace = true anyhow.workspace = true thiserror.workspace = true @@ -25,9 +26,13 @@ hex.workspace = true [dev-dependencies] lee.workspace = true sequencer_core = { workspace = true, features = ["mock"] } +sequencer_storage_actor = { workspace = true, features = ["mock"] } +system_accounts.workspace = true +sequencer_stake_core.workspace = true test_programs.workspace = true env_logger.workspace = true +mockall.workspace = true tempfile.workspace = true bytesize.workspace = true num-bigint.workspace = true diff --git a/lez/sequencer/actors/executor/src/actor.rs b/lez/sequencer/actors/executor/src/actor.rs index 96dc9f039..bc7d57c75 100644 --- a/lez/sequencer/actors/executor/src/actor.rs +++ b/lez/sequencer/actors/executor/src/actor.rs @@ -1,4 +1,5 @@ use common::{block::Block, transaction::LeeTransaction}; +use futures::{TryFutureExt as _, TryStreamExt as _, future::ready, stream::FuturesOrdered}; use kameo::{ Actor, actor::{ActorRef, WeakActorRef}, @@ -18,6 +19,7 @@ use sequencer_core::{ config::SequencerConfig, task_group::TaskGroup, }; +use sequencer_storage_actor::{StorageActor, StorageActorTrait}; use tokio::select; use tokio_util::sync::CancellationToken; @@ -32,9 +34,10 @@ use crate::{ }; // TODO: Remove `BP` once this part is moved to a separate actor -pub struct ExecutorActor { - sequencer: SequencerCore, +pub struct ExecutorActor { mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, + sequencer: SequencerCore, + storage_ref: ActorRef, // --- TODO: Remove these fields below --- /// Cancelled when the publisher's drive task terminates (e.g. a panicked @@ -46,16 +49,20 @@ pub struct ExecutorActor { background_tasks: Vec, } -impl ExecutorActor { - pub async fn new(config: SequencerConfig) -> Self { - let (sequencer, mempool_handle) = SequencerCore::::start_from_config(config).await; +impl ExecutorActor { + pub async fn new(config: SequencerConfig, storage_ref: ActorRef) -> Self { + // TODO: Leave storage_ref as a top-level field only in `ExecutorActor`, + // while moving `SequencerCore` code into this actor. + let (sequencer, mempool_handle) = + SequencerCore::::start_from_config(config, storage_ref.clone()).await; let driver_cancellation = sequencer.block_publisher().driver_cancellation(); let background_tasks = sequencer.background_tasks(); Self { - sequencer, mempool_handle, + sequencer, + storage_ref, driver_cancellation, background_tasks, } @@ -69,7 +76,9 @@ impl ExecutorActor { } } -impl Actor for ExecutorActor { +impl Actor + for ExecutorActor +{ type Args = Self; type Error = Error; @@ -116,7 +125,9 @@ impl Actor for ExecutorActor { } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = Result<()>; async fn handle( @@ -134,11 +145,11 @@ impl Message for Executo // channel would carry two chains from there and nothing resolves that. // The head rewinds under us when the sdk orphans our own unfinalized // blocks, and recovers once they finalize, so this is a wait. - if let Some(high_water) = self.sequencer.rewound_below_published() { + if let Some(high_water) = self.sequencer.rewound_below_published().await { warn!( "Skipping turn: head rewound to {} but block {high_water} is already inscribed; \ waiting for the channel to restore it", - self.sequencer.next_block_height().saturating_sub(1), + self.sequencer.next_block_height().await.saturating_sub(1), ); return Ok(()); } @@ -161,7 +172,9 @@ impl Message for Executo } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = Result<()>; async fn handle( @@ -175,7 +188,9 @@ impl Message for Executor } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = Result>; async fn handle( @@ -183,14 +198,16 @@ impl Message for ExecutorAct GetBlock { block_id }: GetBlock, _ctx: &mut Context, ) -> Self::Reply { - self.sequencer - .block_store() - .get_block_at_id(block_id) + self.storage_ref + .ask(sequencer_storage_actor::protocol::GetBlock { block_id }) + .await .map_err(Into::into) } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = Result>; async fn handle( @@ -199,18 +216,23 @@ impl Message for Execut _ctx: &mut Context, ) -> Self::Reply { range - .map_while(|block_id| { - self.sequencer - .block_store() - .get_block_at_id(block_id) + .map(|block_id| { + self.storage_ref + .ask(sequencer_storage_actor::protocol::GetBlock { block_id }) + .into_future() .map_err(Into::into) - .transpose() }) - .collect::>>() + .collect::>() + .try_take_while(|block_opt| ready(Ok(block_opt.is_some()))) + .try_filter_map(|block_opt| ready(Ok(block_opt))) + .try_collect() + .await } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = Result; async fn handle( @@ -218,11 +240,13 @@ impl Message for Execu GetLastBlockId: GetLastBlockId, _ctx: &mut Context, ) -> Self::Reply { - Ok(self.sequencer.chain_height()) + Ok(self.sequencer.chain_height().await) } } -impl Message for ExecutorActor { +impl + Message for ExecutorActor +{ type Reply = Balance; async fn handle( @@ -232,10 +256,13 @@ impl Message for Ex ) -> Self::Reply { self.sequencer .with_state(|state| state.get_account_by_id(account_id).balance) + .await } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = Option<(LeeTransaction, BlockId)>; async fn handle( @@ -246,10 +273,13 @@ impl Message for Execu self.sequencer .block_store() .get_transaction_by_hash(tx_hash) + .await } } -impl Message for ExecutorActor { +impl + Message for ExecutorActor +{ type Reply = Vec; async fn handle( @@ -257,16 +287,20 @@ impl Message for Exe GetAccountNonces { account_ids }: GetAccountNonces, _ctx: &mut Context, ) -> Self::Reply { - self.sequencer.with_state(|state| { - account_ids - .into_iter() - .map(|account_id| state.get_account_by_id(account_id).nonce) - .collect() - }) + self.sequencer + .with_state(|state| { + account_ids + .into_iter() + .map(|account_id| state.get_account_by_id(account_id).nonce) + .collect() + }) + .await } } -impl Message for ExecutorActor { +impl + Message for ExecutorActor +{ type Reply = ( Vec>, lee_core::CommitmentSetDigest, @@ -277,17 +311,21 @@ impl Message for Exe GetProofsAndRoot { commitments }: GetProofsAndRoot, _ctx: &mut Context, ) -> Self::Reply { - self.sequencer.with_state(|state| { - let proofs = commitments - .iter() - .map(|commitment| state.get_proof_for_commitment(commitment)) - .collect(); - (proofs, state.commitment_root()) - }) + self.sequencer + .with_state(|state| { + let proofs = commitments + .iter() + .map(|commitment| state.get_proof_for_commitment(commitment)) + .collect(); + (proofs, state.commitment_root()) + }) + .await } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = GetAccountReply; async fn handle( @@ -298,12 +336,15 @@ impl Message for ExecutorA GetAccountReply { account: self .sequencer - .with_state(|state| state.get_account_by_id(account_id)), + .with_state(|state| state.get_account_by_id(account_id)) + .await, } } } -impl Message for ExecutorActor { +impl Message + for ExecutorActor +{ type Reply = GetChannelIdReply; async fn handle( @@ -317,8 +358,8 @@ impl Message for Executo } } -impl Message - for ExecutorActor +impl + Message for ExecutorActor { type Reply = Result; @@ -327,10 +368,14 @@ impl Message GetCrossZoneDeadLetters: GetCrossZoneDeadLetters, _ctx: &mut Context, ) -> Self::Reply { - let (total_retired, retained) = self.sequencer.cross_zone_dead_letters()?; + let (total_retired, retained) = self + .sequencer + .cross_zone_dead_letters() + .await + .map_err(Error::CrossZoneDeadLettersUnavailable)?; Ok(GetCrossZoneDeadLettersReply { total_retired, - retained, + retained: retained.into_iter().collect(), }) } } diff --git a/lez/sequencer/actors/executor/src/error.rs b/lez/sequencer/actors/executor/src/error.rs index e35bda128..9e5c5f5d4 100644 --- a/lez/sequencer/actors/executor/src/error.rs +++ b/lez/sequencer/actors/executor/src/error.rs @@ -9,9 +9,24 @@ pub enum Error { #[error("The mempool is full")] MempoolIsFull, - #[error("Storage error")] - StorageError(#[from] storage::error::DbError), + #[error("Storage request failed")] + StorageRequestFailed( + #[source] kameo::error::SendError, + ), - #[error(transparent)] - BlockProductionFailed(anyhow::Error), + #[error("Block production failed")] + BlockProductionFailed(#[source] anyhow::Error), + + #[error("Failed to read the cross-zone dead letter")] + CrossZoneDeadLettersUnavailable(#[source] anyhow::Error), +} + +/// A dummy struct replacing message type in [`kameo::error::SendError`] +/// as we don't want to expose the message type in the public API. +pub struct NoMatter; + +impl From> for Error { + fn from(err: kameo::error::SendError) -> Self { + Self::StorageRequestFailed(err.map_msg(|_| NoMatter)) + } } diff --git a/lez/sequencer/actors/executor/src/protocol.rs b/lez/sequencer/actors/executor/src/protocol.rs index e4dc73ee5..6ce316cd9 100644 --- a/lez/sequencer/actors/executor/src/protocol.rs +++ b/lez/sequencer/actors/executor/src/protocol.rs @@ -6,7 +6,6 @@ use lee_core::{ BlockId, Commitment, account::{Account, AccountId}, }; -use sequencer_core::DeadLetterDispatchRecord; #[derive(Copy, Clone)] pub struct ProduceBlock; @@ -62,5 +61,5 @@ pub struct GetCrossZoneDeadLetters; #[derive(Reply)] pub struct GetCrossZoneDeadLettersReply { pub total_retired: u64, - pub retained: Vec, + pub retained: Vec, } diff --git a/lez/sequencer/actors/executor/src/tests.rs b/lez/sequencer/actors/executor/src/tests.rs index 6995f3053..6116bb00c 100644 --- a/lez/sequencer/actors/executor/src/tests.rs +++ b/lez/sequencer/actors/executor/src/tests.rs @@ -1,23 +1,31 @@ +use std::collections::BTreeMap; + use anyhow::Result; use bytesize::ByteSize; -use common::transaction::LeeTransaction; +use common::{ + HashType, + block::{BedrockStatus, Block, BlockBody, BlockHeader, BlockMeta}, + transaction::LeeTransaction, +}; use kameo::{actor::Spawn as _, error::SendError}; use lee::{ - AccountId, PrivateKey, PublicKey, PublicTransaction, + Account, AccountId, PrivateKey, PublicKey, PublicTransaction, Signature, V03State, public_transaction::{Message, WitnessSet}, }; +use mockall::predicate::{always, eq}; use num_bigint::BigUint; use sequencer_core::{ config::{BedrockConfig, SequencerConfig}, mock::MockBlockPublisher, }; +use sequencer_storage_actor::mock::MockStorageActor; +use tempfile::TempDir; use tokio::test; use crate::{ExecutorActor, protocol}; -fn sequencer_config() -> (SequencerConfig, tempfile::TempDir) { - let home = tempfile::tempdir().expect("Failed to create tmp home dir"); - +fn sequencer_config() -> (SequencerConfig, TempDir) { + let home = TempDir::new().expect("Failed to create temporary home directory"); let config = SequencerConfig { home: home.path().to_path_buf(), max_num_tx_in_block: 10, @@ -62,13 +70,111 @@ fn test_transaction() -> LeeTransaction { PublicTransaction::new(message, witness_set).into() } +fn prepare_mock_storage_with_empty_genesis() -> MockStorageActor { + let genesis_block_meta = BlockMeta { + id: 1, + hash: HashType::default(), + }; + let genesis_block = Block { + header: BlockHeader { + block_id: genesis_block_meta.id, + prev_block_hash: HashType::default(), + hash: genesis_block_meta.hash, + timestamp: 0, + signature: Signature { value: [0; 64] }, + }, + body: BlockBody { + transactions: vec![], + }, + bedrock_status: BedrockStatus::Pending, + }; + let state = V03State::new().with_public_accounts([( + system_accounts::sequencer_stake_config_account_id(), + Account { + data: sequencer_stake_core::SequencerStakeConfig { + minimum_sequencer_stake: 0, + entries: BTreeMap::new(), + } + .to_bytes() + .try_into() + .expect("Sequencer stake config must fit into Data"), + ..Account::default() + }, + )]); + + let mut mock_storage = MockStorageActor::new(); + + mock_storage + .expect_handle_get_first_block_id() + .returning(|_, _| Ok(Some(1))); + + mock_storage + .expect_handle_get_last_block_id() + .returning(|_, _| Ok(Some(1))); + + let genesis_block_clone = genesis_block.clone(); + mock_storage + .expect_handle_get_block() + .with( + eq(sequencer_storage_actor::protocol::GetBlock { block_id: 1 }), + always(), + ) + .returning(move |_, _| Ok(Some(genesis_block_clone.clone()))); + + let state_clone = state.clone(); + mock_storage + .expect_handle_get_lee_state() + .returning(move |_, _| Ok(Some(state_clone.clone()))); + + let genesis_block_meta_clone = genesis_block_meta.clone(); + mock_storage + .expect_handle_get_final_snapshot() + .returning(move |_, _| Ok(Some((state.clone(), genesis_block_meta_clone.clone())))); + + mock_storage + .expect_handle_get_all_blocks() + .returning(move |_, _| Ok(vec![genesis_block.clone()])); + + mock_storage + .expect_handle_get_zone_checkpoint_bytes() + .returning(|_, _| Ok(None)); + + mock_storage + .expect_handle_get_zone_anchor() + .returning(|_, _| Ok(None)); + + mock_storage + .expect_handle_get_latest_block_meta() + .returning(move |_, _| Ok(Some(genesis_block_meta.clone()))); + + mock_storage + .expect_handle_raise_published_high_water() + .returning(|_, _| Ok(())); + + mock_storage + .expect_handle_get_dead_letter_dispatches() + .returning(|_, _| Ok(vec![])); + + mock_storage +} + #[test] async fn handle_transaction_fails_on_full_mempool() -> Result<()> { let _res = env_logger::try_init(); let (config, _home) = sequencer_config(); let mempool_max_size = config.mempool_max_size; - let executor = ExecutorActor::spawn(ExecutorActor::::new(config).await); + + let mock_storage = prepare_mock_storage_with_empty_genesis(); + let storage_ref = MockStorageActor::spawn(mock_storage); + + let executor = ExecutorActor::spawn( + ExecutorActor::::new(config, storage_ref.clone()).await, + ); + + storage_ref + .tell(sequencer_storage_actor::mock::Checkpoint) + .await?; // Fill mempool for _ in 0..mempool_max_size { diff --git a/lez/sequencer/actors/rpc_server/Cargo.toml b/lez/sequencer/actors/rpc_server/Cargo.toml index 02bf9dfb3..6c6a84bad 100644 --- a/lez/sequencer/actors/rpc_server/Cargo.toml +++ b/lez/sequencer/actors/rpc_server/Cargo.toml @@ -2,7 +2,7 @@ name = "sequencer_rpc_server_actor" version = "0.1.0" edition = "2024" -license = { workspace = true } +license.workspace = true [lints] workspace = true diff --git a/lez/sequencer/actors/rpc_server/src/actor.rs b/lez/sequencer/actors/rpc_server/src/actor.rs index dfc8a551d..977dd0ffa 100644 --- a/lez/sequencer/actors/rpc_server/src/actor.rs +++ b/lez/sequencer/actors/rpc_server/src/actor.rs @@ -20,10 +20,10 @@ pub struct RpcServerActor { } impl RpcServerActor { - pub async fn new( - executor_ref: ActorRef>, + pub async fn new( listen_addr: SocketAddr, max_block_size: ByteSize, + executor_ref: ActorRef>, gossip_tx_publisher: Option, ) -> Result { let server = jsonrpsee::server::ServerBuilder::with_config( diff --git a/lez/sequencer/actors/rpc_server/src/actor/service.rs b/lez/sequencer/actors/rpc_server/src/actor/service.rs index f087c5523..ae3bbea8e 100644 --- a/lez/sequencer/actors/rpc_server/src/actor/service.rs +++ b/lez/sequencer/actors/rpc_server/src/actor/service.rs @@ -14,13 +14,13 @@ use sequencer_service_protocol::{ CrossZoneDeadLetter, CrossZoneDeadLetterReport, HashType, MembershipProof, Nonce, ProgramId, }; -pub struct Service { +pub struct Service { executor_ref: ActorRef>, max_block_size: ByteSize, gossip_tx_publisher: Option, } -impl Service { +impl Service { pub fn new( executor_ref: ActorRef>, max_block_size: ByteSize, @@ -37,7 +37,9 @@ impl Service { } #[async_trait] -impl sequencer_service_rpc::RpcServer for Service { +impl sequencer_service_rpc::RpcServer + for Service +{ async fn send_transaction(&self, tx: LeeTransaction) -> Result { sequencer_rpc_server_actor_metrics::increment_submitted_transactions_total(); diff --git a/lez/sequencer/actors/storage/Cargo.toml b/lez/sequencer/actors/storage/Cargo.toml new file mode 100644 index 000000000..ea9f2c7b8 --- /dev/null +++ b/lez/sequencer/actors/storage/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "sequencer_storage_actor" +version = "0.1.0" +edition = "2024" +license.workspace = true + +[lints] +workspace = true + +[features] +mock = ["dep:mockall"] + +[dependencies] +lee_core.workspace = true +lee.workspace = true +common.workspace = true +storage.workspace = true + +kameo.workspace = true +thiserror.workspace = true +mockall = { workspace = true, optional = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } +tempfile.workspace = true diff --git a/lez/sequencer/actors/storage/src/actor.rs b/lez/sequencer/actors/storage/src/actor.rs new file mode 100644 index 000000000..6324eb4d2 --- /dev/null +++ b/lez/sequencer/actors/storage/src/actor.rs @@ -0,0 +1,651 @@ +use std::path::Path; + +use common::block::{Block, BlockMeta, PeerChainTip}; +use kameo::{ + Actor, + actor::{ActorRef, WeakActorRef}, + error::ActorStopReason, + message::{Context, Message}, +}; +use lee::V03State; +use lee_core::BlockId; +use storage::sequencer::RocksDBIO; + +use crate::{ + Result, StorageActorTrait, + error::Error, + protocol::{ + AddPendingCrossZoneDispatches, AddPendingDepositEvent, ApplyStoreUpdate, + CleanPendingBlocksUpTo, ConsumeUnseenWithdrawCount, DbDump, DeadLetterDispatchRecord, + DeleteBlock, DeleteCrossZonePeerFloor, DeleteZoneCheckpoint, DispatchFailure, + DropSettledCrossZoneDispatches, DumpDb, GetAllBlocks, GetBlock, GetCrossZonePeerFloorBytes, + GetCrossZonePeerTip, GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, + GetFirstBlockId, GetLastBlockId, GetLatestBlockMeta, GetLeeState, + GetPendingCrossZoneDispatches, GetPendingDepositEvents, GetPublishedHighWater, + GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, + PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RaisePublishedHighWater, + RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, SetCrossZonePeerFloorBytes, + SetCrossZonePeerTip, SetZoneAnchor, SetZoneCheckpointBytes, StoreUpdateOutcome, + ZoneAnchorRecord, + }, +}; + +pub struct StorageActor { + /// `None` after [`Actor::on_stop`] closed the database. + dbio: Option, +} + +impl StorageActor { + /// Creates a new `StorageActor` with a database at `location`. + /// If the database does not exist, it will be created. + pub fn new(location: &Path) -> Result { + let dbio = RocksDBIO::open_or_create(location)?; + Ok(Self { dbio: Some(dbio) }) + } + + /// Creates a fresh database at `location` from `dump`. + pub fn restore_from_dump(location: &Path, dump: &DbDump) -> Result { + let dbio = RocksDBIO::restore_from_dump(location, dump.as_db_dump())?; + Ok(Self { dbio: Some(dbio) }) + } + + /// The open database. + /// + /// # Panics + /// + /// If called after the actor has stopped, which can't happen for message handlers as kameo + /// stops delivering messages before [`Actor::on_stop`]. + const fn dbio(&self) -> &RocksDBIO { + self.dbio + .as_ref() + .expect("Database is closed, the actor has already stopped") + } +} + +impl StorageActorTrait for StorageActor {} + +impl Actor for StorageActor { + type Args = Self; + type Error = Error; + + async fn on_start(args: Self::Args, _actor_ref: ActorRef) -> Result { + Ok(args) + } + + /// Closes the database, releasing the rocksdb lock on its directory. + async fn on_stop( + &mut self, + _actor_ref: WeakActorRef, + _reason: ActorStopReason, + ) -> Result<()> { + drop(self.dbio.take()); + Ok(()) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + RecordNewBlock { + block, + withdrawals, + state, + checkpoint_bytes, + }: RecordNewBlock, + _ctx: &mut Context, + ) -> Self::Reply { + let withdrawals = withdrawals.into_iter().map(Into::into).collect::>(); + self.dbio() + .atomic_update(&block, &withdrawals, &state, checkpoint_bytes.as_deref()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetBlock { block_id }: GetBlock, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().get_block(block_id).map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetAllBlocks: GetAllBlocks, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_all_blocks() + .collect::>>() + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + DeleteBlock { block_id }: DeleteBlock, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().delete_block(block_id).map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + MarkBlockAsFinalized { block_id }: MarkBlockAsFinalized, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .mark_block_as_finalized(block_id) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + ResetAllBlocksToPending: ResetAllBlocksToPending, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .reset_all_blocks_to_pending() + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetFirstBlockId: GetFirstBlockId, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().get_meta_first_block_in_db().map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetLastBlockId: GetLastBlockId, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().get_meta_last_block_in_db().map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetLatestBlockMeta: GetLatestBlockMeta, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().latest_block_meta().map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetLeeState: GetLeeState, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().get_lee_state().map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>>; + + async fn handle( + &mut self, + GetZoneCheckpointBytes: GetZoneCheckpointBytes, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_zone_sdk_checkpoint_bytes() + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + SetZoneCheckpointBytes { bytes }: SetZoneCheckpointBytes, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .put_zone_sdk_checkpoint_bytes(&bytes) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + DeleteZoneCheckpoint: DeleteZoneCheckpoint, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .delete_zone_sdk_checkpoint_bytes() + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetZoneAnchor: GetZoneAnchor, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_zone_anchor() + .map(|anchor| anchor.map(Into::into)) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + SetZoneAnchor { anchor }: SetZoneAnchor, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .put_zone_anchor(&anchor.into()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetPublishedHighWater: GetPublishedHighWater, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().published_high_water().map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + RaisePublishedHighWater { block_id }: RaisePublishedHighWater, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .raise_published_high_water(block_id) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetPendingDepositEvents: GetPendingDepositEvents, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_pending_deposit_events() + .map(|events| events.into_iter().map(Into::into).collect()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + DumpDb: DumpDb, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().dump_all().map(Into::into).map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: ApplyStoreUpdate, + _ctx: &mut Context, + ) -> Self::Reply { + let ApplyStoreUpdate { + checkpoint, + blocks, + head_tip, + head_state, + final_snapshot, + finalized_up_to, + new_deposit_events, + remove_deposit_records, + remove_dispatch_records, + consumed_withdrawals, + new_withdraw_intents, + zone_anchor, + } = msg; + + let blocks = blocks + .iter() + .map(|(block, finalized)| (block, *finalized)) + .collect::>(); + let zone_anchor = zone_anchor.map(Into::into); + let new_deposit_events = new_deposit_events + .into_iter() + .map(Into::into) + .collect::>(); + let consumed_withdrawals = consumed_withdrawals + .into_iter() + .map(Into::into) + .collect::>(); + let new_withdraw_intents = new_withdraw_intents + .into_iter() + .map(Into::into) + .collect::>(); + + let update = storage::sequencer::StoreUpdate { + checkpoint: checkpoint.as_deref(), + blocks: &blocks, + head_tip: head_tip.as_ref(), + head_state: &head_state, + final_snapshot: final_snapshot + .as_ref() + .map(|(state, meta)| (state.as_ref(), meta)), + finalized_up_to, + new_deposit_events: &new_deposit_events, + remove_deposit_records: &remove_deposit_records, + remove_dispatch_records: &remove_dispatch_records, + consumed_withdrawals: &consumed_withdrawals, + new_withdraw_intents: &new_withdraw_intents, + zone_anchor: zone_anchor.as_ref(), + }; + self.dbio() + .store_update(&update) + .map(Into::into) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + CleanPendingBlocksUpTo { last_finalized }: CleanPendingBlocksUpTo, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .clean_pending_blocks_up_to(last_finalized) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetFinalSnapshot: GetFinalSnapshot, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio().get_final_snapshot().map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + AddPendingDepositEvent { event }: AddPendingDepositEvent, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .add_pending_deposit_event(event.into()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + ConsumeUnseenWithdrawCount { withdrawal }: ConsumeUnseenWithdrawCount, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .consume_unseen_withdraw_count(withdrawal.into()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetPendingCrossZoneDispatches: GetPendingCrossZoneDispatches, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_pending_cross_zone_dispatches() + .map(|records| records.into_iter().map(Into::into).collect()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + AddPendingCrossZoneDispatches { dispatches }: AddPendingCrossZoneDispatches, + _ctx: &mut Context, + ) -> Self::Reply { + let dispatches = dispatches.into_iter().map(Into::into).collect(); + self.dbio() + .add_pending_cross_zone_dispatches(dispatches) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + DropSettledCrossZoneDispatches { message_keys }: DropSettledCrossZoneDispatches, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .drop_settled_cross_zone_dispatches(&message_keys) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + RecordDispatchFailure { + message_key, + retire_at, + origin, + }: RecordDispatchFailure, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .record_dispatch_failure(message_key, retire_at, origin.into()) + .map(Into::into) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetDeadLetterDispatches: GetDeadLetterDispatches, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_dead_letter_cross_zone_dispatches() + .map(|records| records.into_iter().map(Into::into).collect()) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result; + + async fn handle( + &mut self, + GetDeadLetterDispatchCount: GetDeadLetterDispatchCount, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_dead_letter_cross_zone_dispatch_count() + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>>; + + async fn handle( + &mut self, + GetCrossZonePeerFloorBytes { peer_zone }: GetCrossZonePeerFloorBytes, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_cross_zone_peer_floor_bytes(peer_zone) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + SetCrossZonePeerFloorBytes { peer_zone, bytes }: SetCrossZonePeerFloorBytes, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .put_cross_zone_peer_floor_bytes(peer_zone, &bytes) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + DeleteCrossZonePeerFloor { peer_zone }: DeleteCrossZonePeerFloor, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .delete_cross_zone_peer_floor(peer_zone) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetCrossZonePeerTip { peer_zone }: GetCrossZonePeerTip, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .get_cross_zone_peer_tip(peer_zone) + .map_err(Into::into) + } +} + +impl Message for StorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + SetCrossZonePeerTip { peer_zone, tip }: SetCrossZonePeerTip, + _ctx: &mut Context, + ) -> Self::Reply { + self.dbio() + .put_cross_zone_peer_tip(peer_zone, tip) + .map_err(Into::into) + } +} + +#[cfg(test)] +mod tests { + use kameo::actor::Spawn as _; + + use super::*; + + /// Holding the task's output keeps the stopped actor's state alive, which is exactly the + /// situation `on_stop` exists for: the lock has to be gone by the time the shutdown result + /// resolves, not by the time the state happens to be dropped. + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] + async fn stopped_actor_releases_the_database_lock() { + let dir = tempfile::tempdir().expect("Failed to create temp dir"); + let prepared = StorageActor::prepare(); + let actor_ref = prepared.actor_ref().clone(); + let join_handle = prepared.spawn(StorageActor::new(dir.path()).expect("Failed to open db")); + + actor_ref + .stop_gracefully() + .await + .expect("Failed to stop the actor"); + actor_ref.wait_for_shutdown_with_result(|_| ()).await; + + StorageActor::new(dir.path()).expect("Database lock must be released once the actor stops"); + + drop(join_handle); + } +} diff --git a/lez/sequencer/actors/storage/src/error.rs b/lez/sequencer/actors/storage/src/error.rs new file mode 100644 index 000000000..904806ff0 --- /dev/null +++ b/lez/sequencer/actors/storage/src/error.rs @@ -0,0 +1,5 @@ +#[derive(Debug, thiserror::Error)] +pub enum Error { + #[error("Database error")] + DatabaseError(#[from] storage::error::DbError), +} diff --git a/lez/sequencer/actors/storage/src/lib.rs b/lez/sequencer/actors/storage/src/lib.rs new file mode 100644 index 000000000..dbdde7433 --- /dev/null +++ b/lez/sequencer/actors/storage/src/lib.rs @@ -0,0 +1,13 @@ +//! Storage Actor is responsible for persisting data in local database. + +pub use actor::StorageActor; +pub use r#trait::StorageActorTrait; + +pub mod actor; +pub mod error; +#[cfg(feature = "mock")] +pub mod mock; +pub mod protocol; +pub mod r#trait; + +pub type Result = std::result::Result; diff --git a/lez/sequencer/actors/storage/src/mock.rs b/lez/sequencer/actors/storage/src/mock.rs new file mode 100644 index 000000000..bc74458bb --- /dev/null +++ b/lez/sequencer/actors/storage/src/mock.rs @@ -0,0 +1,709 @@ +#![expect( + clippy::struct_field_names, + reason = "`handle*` prefix is used for convenience with `Message` trait" +)] + +use common::block::{Block, BlockMeta, PeerChainTip}; +use kameo::{ + Actor, Reply, + actor::ActorRef, + message::{Context, Message}, +}; +use lee::V03State; +use lee_core::BlockId; + +use crate::{ + Result, StorageActorTrait, + error::Error, + protocol::{ + AddPendingCrossZoneDispatches, AddPendingDepositEvent, ApplyStoreUpdate, + CleanPendingBlocksUpTo, ConsumeUnseenWithdrawCount, DbDump, DeadLetterDispatchRecord, + DeleteBlock, DeleteCrossZonePeerFloor, DeleteZoneCheckpoint, DispatchFailure, + DropSettledCrossZoneDispatches, DumpDb, GetAllBlocks, GetBlock, GetCrossZonePeerFloorBytes, + GetCrossZonePeerTip, GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, + GetFirstBlockId, GetLastBlockId, GetLatestBlockMeta, GetLeeState, + GetPendingCrossZoneDispatches, GetPendingDepositEvents, GetPublishedHighWater, + GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, + PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RaisePublishedHighWater, + RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, SetCrossZonePeerFloorBytes, + SetCrossZonePeerTip, SetZoneAnchor, SetZoneCheckpointBytes, StoreUpdateOutcome, + ZoneAnchorRecord, + }, +}; + +mockall::mock! { + pub StorageActor { + pub fn handle_record_new_block( + &mut self, + msg: RecordNewBlock, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_block( + &mut self, + msg: GetBlock, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_get_all_blocks( + &mut self, + msg: GetAllBlocks, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_delete_block( + &mut self, + msg: DeleteBlock, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_mark_block_as_finalized( + &mut self, + msg: MarkBlockAsFinalized, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_reset_all_blocks_to_pending( + &mut self, + msg: ResetAllBlocksToPending, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_first_block_id( + &mut self, + msg: GetFirstBlockId, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_get_last_block_id( + &mut self, + msg: GetLastBlockId, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_get_latest_block_meta( + &mut self, + msg: GetLatestBlockMeta, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_get_lee_state( + &mut self, + msg: GetLeeState, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_get_zone_checkpoint_bytes( + &mut self, + msg: GetZoneCheckpointBytes, + ctx: &mut Context>>> + ) -> Result>>; + + pub fn handle_set_zone_checkpoint_bytes( + &mut self, + msg: SetZoneCheckpointBytes, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_delete_zone_checkpoint( + &mut self, + msg: DeleteZoneCheckpoint, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_zone_anchor( + &mut self, + msg: GetZoneAnchor, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_set_zone_anchor( + &mut self, + msg: SetZoneAnchor, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_published_high_water( + &mut self, + msg: GetPublishedHighWater, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_raise_published_high_water( + &mut self, + msg: RaisePublishedHighWater, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_pending_deposit_events( + &mut self, + msg: GetPendingDepositEvents, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_apply_store_update( + &mut self, + msg: ApplyStoreUpdate, + ctx: &mut Context> + ) -> Result; + + pub fn handle_clean_pending_blocks_up_to( + &mut self, + msg: CleanPendingBlocksUpTo, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_final_snapshot( + &mut self, + msg: GetFinalSnapshot, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_add_pending_deposit_event( + &mut self, + msg: AddPendingDepositEvent, + ctx: &mut Context> + ) -> Result; + + pub fn handle_consume_unseen_withdraw_count( + &mut self, + msg: ConsumeUnseenWithdrawCount, + ctx: &mut Context> + ) -> Result; + + pub fn handle_get_pending_cross_zone_dispatches( + &mut self, + msg: GetPendingCrossZoneDispatches, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_add_pending_cross_zone_dispatches( + &mut self, + msg: AddPendingCrossZoneDispatches, + ctx: &mut Context> + ) -> Result; + + pub fn handle_drop_settled_cross_zone_dispatches( + &mut self, + msg: DropSettledCrossZoneDispatches, + ctx: &mut Context> + ) -> Result; + + pub fn handle_record_dispatch_failure( + &mut self, + msg: RecordDispatchFailure, + ctx: &mut Context> + ) -> Result; + + pub fn handle_get_dead_letter_dispatches( + &mut self, + msg: GetDeadLetterDispatches, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_get_dead_letter_dispatch_count( + &mut self, + msg: GetDeadLetterDispatchCount, + ctx: &mut Context> + ) -> Result; + + pub fn handle_get_cross_zone_peer_floor_bytes( + &mut self, + msg: GetCrossZonePeerFloorBytes, + ctx: &mut Context>>> + ) -> Result>>; + + pub fn handle_set_cross_zone_peer_floor_bytes( + &mut self, + msg: SetCrossZonePeerFloorBytes, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_delete_cross_zone_peer_floor( + &mut self, + msg: DeleteCrossZonePeerFloor, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_get_cross_zone_peer_tip( + &mut self, + msg: GetCrossZonePeerTip, + ctx: &mut Context>> + ) -> Result>; + + pub fn handle_set_cross_zone_peer_tip( + &mut self, + msg: SetCrossZonePeerTip, + ctx: &mut Context> + ) -> Result<()>; + + pub fn handle_dump_db( + &mut self, + msg: DumpDb, + ctx: &mut Context> + ) -> Result; + } +} + +impl StorageActorTrait for MockStorageActor {} + +impl Actor for MockStorageActor { + type Args = Self; + type Error = Error; + + async fn on_start(args: Self::Args, _actor_ref: ActorRef) -> Result { + Ok(args) + } +} + +/// Special message to trigger [`MockStorageActor::checkpoint()`]. +pub struct Checkpoint; + +impl Message for MockStorageActor { + type Reply = (); + + async fn handle( + &mut self, + Checkpoint: Checkpoint, + _ctx: &mut Context, + ) -> Self::Reply { + self.checkpoint(); + } +} + +/// Special message to [`std::mem::replace()`] the inner state of [`MockStorageActor`] with a new +/// one, returning old state. +/// This is useful for testing, to swap in a new mock with different expectations. +pub struct Replace { + pub mock: MockStorageActor, +} + +#[derive(Reply)] +pub struct ReplaceReply { + pub old_mock: MockStorageActor, +} + +impl Message for MockStorageActor { + type Reply = ReplaceReply; + + async fn handle( + &mut self, + Replace { mock }: Replace, + _ctx: &mut Context, + ) -> Self::Reply { + let old_mock = std::mem::replace(self, mock); + ReplaceReply { old_mock } + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: RecordNewBlock, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_record_new_block(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle(&mut self, msg: GetBlock, ctx: &mut Context) -> Self::Reply { + self.handle_get_block(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetAllBlocks, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_all_blocks(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: DeleteBlock, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_delete_block(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: MarkBlockAsFinalized, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_mark_block_as_finalized(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: ResetAllBlocksToPending, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_reset_all_blocks_to_pending(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetFirstBlockId, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_first_block_id(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetLastBlockId, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_last_block_id(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetLatestBlockMeta, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_latest_block_meta(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetLeeState, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_lee_state(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>>; + + async fn handle( + &mut self, + msg: GetZoneCheckpointBytes, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_zone_checkpoint_bytes(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: SetZoneCheckpointBytes, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_set_zone_checkpoint_bytes(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: DeleteZoneCheckpoint, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_delete_zone_checkpoint(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetZoneAnchor, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_zone_anchor(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: SetZoneAnchor, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_set_zone_anchor(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetPublishedHighWater, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_published_high_water(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: RaisePublishedHighWater, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_raise_published_high_water(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetPendingDepositEvents, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_pending_deposit_events(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle(&mut self, msg: DumpDb, ctx: &mut Context) -> Self::Reply { + self.handle_dump_db(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: ApplyStoreUpdate, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_apply_store_update(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: CleanPendingBlocksUpTo, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_clean_pending_blocks_up_to(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetFinalSnapshot, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_final_snapshot(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: AddPendingDepositEvent, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_add_pending_deposit_event(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: ConsumeUnseenWithdrawCount, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_consume_unseen_withdraw_count(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetPendingCrossZoneDispatches, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_pending_cross_zone_dispatches(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: AddPendingCrossZoneDispatches, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_add_pending_cross_zone_dispatches(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: DropSettledCrossZoneDispatches, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_drop_settled_cross_zone_dispatches(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: RecordDispatchFailure, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_record_dispatch_failure(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetDeadLetterDispatches, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_dead_letter_dispatches(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result; + + async fn handle( + &mut self, + msg: GetDeadLetterDispatchCount, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_dead_letter_dispatch_count(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>>; + + async fn handle( + &mut self, + msg: GetCrossZonePeerFloorBytes, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_cross_zone_peer_floor_bytes(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: SetCrossZonePeerFloorBytes, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_set_cross_zone_peer_floor_bytes(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: DeleteCrossZonePeerFloor, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_delete_cross_zone_peer_floor(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetCrossZonePeerTip, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_cross_zone_peer_tip(msg, ctx) + } +} + +impl Message for MockStorageActor { + type Reply = Result<()>; + + async fn handle( + &mut self, + msg: SetCrossZonePeerTip, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_set_cross_zone_peer_tip(msg, ctx) + } +} diff --git a/lez/sequencer/actors/storage/src/protocol.rs b/lez/sequencer/actors/storage/src/protocol.rs new file mode 100644 index 000000000..830f6785f --- /dev/null +++ b/lez/sequencer/actors/storage/src/protocol.rs @@ -0,0 +1,506 @@ +// TODO: Instead of `From` conversions from `protocol` types to `cell` types consider moving +// `storage` crate as sub-module in `actor` while removing `cell` types and implementing +// encoding/decoding for `protocol` structures. + +use std::sync::Arc; + +use common::{ + HashType, + block::{Block, BlockMeta, PeerChainTip}, +}; +use lee::V03State; +use lee_core::BlockId; +use storage::sequencer::{self as db, sequencer_cells as db_cells}; + +use crate::Result; + +/// Persists `block` with the effects it covers. +pub struct RecordNewBlock { + pub block: Block, + pub withdrawals: Vec, + pub state: Arc, + pub checkpoint_bytes: Option>, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct GetBlock { + pub block_id: BlockId, +} + +pub struct GetAllBlocks; + +pub struct DeleteBlock { + pub block_id: BlockId, +} + +pub struct MarkBlockAsFinalized { + pub block_id: BlockId, +} + +pub struct ResetAllBlocksToPending; + +pub struct GetFirstBlockId; + +pub struct GetLastBlockId; + +pub struct GetLatestBlockMeta; + +pub struct GetLeeState; + +pub struct GetZoneCheckpointBytes; + +pub struct SetZoneCheckpointBytes { + pub bytes: Vec, +} + +pub struct DeleteZoneCheckpoint; + +pub struct GetZoneAnchor; + +pub struct SetZoneAnchor { + pub anchor: ZoneAnchorRecord, +} + +pub struct GetPublishedHighWater; + +/// Raises the published high water mark to `block_id`, never lowering it. +pub struct RaisePublishedHighWater { + pub block_id: BlockId, +} + +pub struct GetPendingDepositEvents; + +pub struct AddPendingDepositEvent { + pub event: PendingDepositEventRecord, +} + +pub struct GetFinalSnapshot; + +/// Marks every stored pending block at or below `last_finalized` as finalized. +pub struct CleanPendingBlocksUpTo { + pub last_finalized: BlockId, +} + +pub struct ConsumeUnseenWithdrawCount { + pub withdrawal: WithdrawalReconciliationKey, +} + +pub struct GetPendingCrossZoneDispatches; + +pub struct AddPendingCrossZoneDispatches { + pub dispatches: Vec, +} + +pub struct DropSettledCrossZoneDispatches { + pub message_keys: Vec<[u8; 32]>, +} + +pub struct RecordDispatchFailure { + pub message_key: [u8; 32], + pub retire_at: u32, + pub origin: DispatchOrigin, +} + +pub struct GetDeadLetterDispatches; + +pub struct GetDeadLetterDispatchCount; + +pub struct GetCrossZonePeerFloorBytes { + pub peer_zone: PeerZoneKey, +} + +pub struct SetCrossZonePeerFloorBytes { + pub peer_zone: PeerZoneKey, + pub bytes: Vec, +} + +pub struct DeleteCrossZonePeerFloor { + pub peer_zone: PeerZoneKey, +} + +pub struct GetCrossZonePeerTip { + pub peer_zone: PeerZoneKey, +} + +pub struct SetCrossZonePeerTip { + pub peer_zone: PeerZoneKey, + pub tip: PeerChainTip, +} + +pub struct DumpDb; + +/// Everything one sequencer event writes. +// TODO: Consider removing [`SetZoneCheckpointBytes`] in favor of this. +// TODO: How does this stack with [`RecordNewBlock`] ? +// TODO: Reconsider options here. +pub struct ApplyStoreUpdate { + /// Serialized zone-sdk checkpoint for this event. + pub checkpoint: Option>, + + /// `(block, finalized)` payloads to write. + pub blocks: Vec<(Block, bool)>, + + /// Head tip to pin the stored chain to; `None` only for an empty chain. + pub head_tip: Option, + /// State after the last applied block. + pub head_state: Arc, + + /// `(state, meta)` of the final tier, when it advanced. + pub final_snapshot: Option<(Arc, BlockMeta)>, + + /// Highest block id this event made irreversible: stored blocks at or below + /// it become finalized. + pub finalized_up_to: Option, + + /// Deposit events observed on L1, recorded unless already pending. + pub new_deposit_events: Vec, + + /// Deposit op ids whose mint finalized: their pending records are dropped. + pub remove_deposit_records: Vec, + /// Message keys whose delivery finalized: their pending records are dropped. + pub remove_dispatch_records: Vec<[u8; 32]>, + /// L1 withdraw events to reconcile against the local unseen counters. + pub consumed_withdrawals: Vec, + /// L2 withdraw intents this update raises, awaiting their L1 event. + pub new_withdraw_intents: Vec, + + /// Advance the channel-read anchor. + pub zone_anchor: Option, +} + +/// Zone id of a cross-zone peer. +pub type PeerZoneKey = [u8; 32]; + +/// Identity of one withdrawal: the id of the channel note it releases. +/// +/// Shared by the intent recorded when the sequencer publishes a withdrawal and +/// the Bedrock event that later reports it. +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub struct WithdrawalReconciliationKey { + pub released_note_id: [u8; 32], +} + +impl From for db_cells::WithdrawalReconciliationKey { + fn from(WithdrawalReconciliationKey { released_note_id }: WithdrawalReconciliationKey) -> Self { + Self { released_note_id } + } +} + +impl From for WithdrawalReconciliationKey { + fn from( + db_cells::WithdrawalReconciliationKey { released_note_id }: db_cells::WithdrawalReconciliationKey, + ) -> Self { + Self { released_note_id } + } +} + +/// The last channel block read back and verified from Bedrock: the anchor for +/// the startup consistency check and the resume point for reconstruction. +/// +/// `slot` is the raw L1 inscription slot; the caller converts to and from the +/// zone-sdk `Slot`, which does not derive borsh and so cannot be stored. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct ZoneAnchorRecord { + pub slot: u64, + pub block_id: u64, + pub hash: HashType, +} + +impl From for db_cells::ZoneAnchorRecord { + fn from( + ZoneAnchorRecord { + slot, + block_id, + hash, + }: ZoneAnchorRecord, + ) -> Self { + Self { + slot, + block_id, + hash, + } + } +} + +impl From for ZoneAnchorRecord { + fn from( + db_cells::ZoneAnchorRecord { + slot, + block_id, + hash, + }: db_cells::ZoneAnchorRecord, + ) -> Self { + Self { + slot, + block_id, + hash, + } + } +} + +/// An L1 deposit event observed but not yet seen finalized. +/// +/// Purely a liveness queue: whether to emit a mint is decided against chain +/// state, and the record is dropped once its mint finalizes. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct PendingDepositEventRecord { + pub deposit_op_id: HashType, + pub source_tx_hash: HashType, + pub amount: u64, + pub metadata: Vec, +} + +impl From for db_cells::PendingDepositEventRecord { + fn from( + PendingDepositEventRecord { + deposit_op_id, + source_tx_hash, + amount, + metadata, + }: PendingDepositEventRecord, + ) -> Self { + Self { + deposit_op_id, + source_tx_hash, + amount, + metadata, + } + } +} + +impl From for PendingDepositEventRecord { + fn from( + db_cells::PendingDepositEventRecord { + deposit_op_id, + source_tx_hash, + amount, + metadata, + }: db_cells::PendingDepositEventRecord, + ) -> Self { + Self { + deposit_op_id, + source_tx_hash, + amount, + metadata, + } + } +} + +/// A cross-zone delivery read off a peer block but not yet known to be +/// irreversibly delivered. +/// +/// The watcher's delivery floor is durable, so once it advances past a peer +/// block that block is never re-read; this record stands in its place. It +/// carries no "submitted" mark: it is dropped when the delivery finalizes, and +/// re-including one meanwhile is harmless because the inbox no-ops a replay on +/// chain. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct PendingCrossZoneDispatchRecord { + /// Content-addressed replay key of the delivered message, and this record's + /// identity. + pub message_key: [u8; 32], + /// The borsh-encoded dispatch transaction, so production can re-feed it + /// without re-reading the peer channel. + pub transaction: Vec, + /// Production attempts that ended in an execution failure. Past a threshold + /// the record leaves this list for a [`DeadLetterDispatchRecord`]. + pub failed_attempts: u32, +} + +impl PendingCrossZoneDispatchRecord { + /// A delivery the watcher has just read: never attempted. + #[must_use] + pub const fn recorded(message_key: [u8; 32], transaction: Vec) -> Self { + Self { + message_key, + transaction, + failed_attempts: 0, + } + } +} + +impl From for db_cells::PendingCrossZoneDispatchRecord { + fn from( + PendingCrossZoneDispatchRecord { + message_key, + transaction, + failed_attempts, + }: PendingCrossZoneDispatchRecord, + ) -> Self { + Self { + message_key, + transaction, + failed_attempts, + } + } +} + +impl From for PendingCrossZoneDispatchRecord { + fn from( + db_cells::PendingCrossZoneDispatchRecord { + message_key, + transaction, + failed_attempts, + }: db_cells::PendingCrossZoneDispatchRecord, + ) -> Self { + Self { + message_key, + transaction, + failed_attempts, + } + } +} + +/// Which peer message a delivery carried, kept so a lost one can be traced back +/// to the peer block it was in. +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct DispatchOrigin { + pub src_zone: PeerZoneKey, + pub src_block_id: u64, + pub src_tx_index: u32, +} + +impl From for db_cells::DispatchOrigin { + fn from( + DispatchOrigin { + src_zone, + src_block_id, + src_tx_index, + }: DispatchOrigin, + ) -> Self { + Self { + src_zone, + src_block_id, + src_tx_index, + } + } +} + +impl From for DispatchOrigin { + fn from( + db_cells::DispatchOrigin { + src_zone, + src_block_id, + src_tx_index, + }: db_cells::DispatchOrigin, + ) -> Self { + Self { + src_zone, + src_block_id, + src_tx_index, + } + } +} + +/// A cross-zone delivery this node has given up on. +/// +/// A dispatch that fails execution is left out of the block, so nothing on +/// chain records that it was attempted; this is the only durable trace. It +/// identifies the message rather than carrying it: the peer block and index are +/// enough to read it back off the channel. +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct DeadLetterDispatchRecord { + pub message_key: [u8; 32], + pub origin: DispatchOrigin, + /// Attempts made before giving up, so the record carries the policy that was + /// in force at the time. + pub failed_attempts: u32, + /// Size of the delivery transaction that would not execute, the diagnostic + /// for size-related failures. + pub transaction_bytes: u32, +} + +impl From for DeadLetterDispatchRecord { + fn from( + db_cells::DeadLetterDispatchRecord { + message_key, + origin, + failed_attempts, + transaction_bytes, + }: db_cells::DeadLetterDispatchRecord, + ) -> Self { + Self { + message_key, + origin: origin.into(), + failed_attempts, + transaction_bytes, + } + } +} + +/// What counting a failed production attempt did to a delivery's record, the +/// reply to [`RecordDispatchFailure`]. +/// +/// Three outcomes rather than a bool: only one means this node stopped trying, +/// and a settled delivery has no record, so it is [`Self::Absent`]. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum DispatchFailure { + /// Counted; the delivery is still pending and will be attempted again. + Retried { failed_attempts: u32 }, + /// Given up on: moved out of the pending list and into the dead letter. + Retired(Box), + /// No pending record, so nothing was counted and nothing was given up on. + Absent, +} + +impl From for DispatchFailure { + fn from(value: db::DispatchFailure) -> Self { + match value { + db::DispatchFailure::Retried { failed_attempts } => Self::Retried { failed_attempts }, + db::DispatchFailure::Retired(record) => Self::Retired(Box::new((*record).into())), + db::DispatchFailure::Absent => Self::Absent, + } + } +} + +/// What [`ApplyStoreUpdate`] observed while staging, for the caller to act on +/// *after* the write committed. +#[derive(Debug, Default)] +pub struct StoreUpdateOutcome { + /// How many deposit events were newly recorded; the rest were already + /// pending, and so already owed. + pub accepted_deposits: usize, + /// Withdraw events with no matching local unseen counter, one entry per + /// unmatched occurrence. + pub unmatched_withdrawals: Vec, +} + +impl From for StoreUpdateOutcome { + fn from( + db::StoreUpdateOutcome { + accepted_deposits, + unmatched_withdrawals, + }: db::StoreUpdateOutcome, + ) -> Self { + Self { + accepted_deposits, + unmatched_withdrawals: unmatched_withdrawals.into_iter().map(Into::into).collect(), + } + } +} + +/// Schema-agnostic snapshot of a whole store, opaque by design. +pub struct DbDump(db::DbDump); + +impl DbDump { + /// Serializes the dump to a compressed blob. + pub fn to_bytes(&self) -> Result> { + self.0.to_bytes().map_err(Into::into) + } + + /// Reads back a dump produced by [`Self::to_bytes`]. + pub fn from_bytes(bytes: &[u8]) -> Result { + db::DbDump::from_bytes(bytes).map(Self).map_err(Into::into) + } + + /// The wrapped dump, for the restore path. + pub(crate) const fn as_db_dump(&self) -> &db::DbDump { + &self.0 + } +} + +impl From for DbDump { + fn from(value: db::DbDump) -> Self { + Self(value) + } +} diff --git a/lez/sequencer/actors/storage/src/trait.rs b/lez/sequencer/actors/storage/src/trait.rs new file mode 100644 index 000000000..d58470a6c --- /dev/null +++ b/lez/sequencer/actors/storage/src/trait.rs @@ -0,0 +1,63 @@ +use common::block::{Block, BlockMeta, PeerChainTip}; +use kameo::{Actor, message::Message}; +use lee::V03State; +use lee_core::BlockId; + +use crate::{ + Result, + error::Error, + protocol::{ + AddPendingCrossZoneDispatches, AddPendingDepositEvent, ApplyStoreUpdate, + CleanPendingBlocksUpTo, ConsumeUnseenWithdrawCount, DbDump, DeadLetterDispatchRecord, + DeleteBlock, DeleteCrossZonePeerFloor, DeleteZoneCheckpoint, DispatchFailure, + DropSettledCrossZoneDispatches, DumpDb, GetAllBlocks, GetBlock, GetCrossZonePeerFloorBytes, + GetCrossZonePeerTip, GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, + GetFirstBlockId, GetLastBlockId, GetLatestBlockMeta, GetLeeState, + GetPendingCrossZoneDispatches, GetPendingDepositEvents, GetPublishedHighWater, + GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, + PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RaisePublishedHighWater, + RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, SetCrossZonePeerFloorBytes, + SetCrossZonePeerTip, SetZoneAnchor, SetZoneCheckpointBytes, StoreUpdateOutcome, + ZoneAnchorRecord, + }, +}; + +pub trait StorageActorTrait: + Actor + + Message> + + Message> + + Message>> + + Message>> + + Message> + + Message> + + Message> + + Message> + + Message>> + + Message>> + + Message>> + + Message>> + + Message>> + + Message>>> + + Message> + + Message> + + Message>> + + Message> + + Message>> + + Message> + + Message>> + + Message> + + Message> + + Message>> + + Message> + + Message> + + Message> + + Message>> + + Message> + + Message>>> + + Message> + + Message> + + Message>> + + Message> + + Message> +{ +} diff --git a/lez/sequencer/core/Cargo.toml b/lez/sequencer/core/Cargo.toml index 4854197d4..d3b3414fc 100644 --- a/lez/sequencer/core/Cargo.toml +++ b/lez/sequencer/core/Cargo.toml @@ -13,7 +13,7 @@ lee_core.workspace = true chain_state.workspace = true common.workspace = true sequencer_core_metrics = { workspace = true, features = ["record"] } -storage.workspace = true +sequencer_storage_actor.workspace = true mempool.workspace = true logos-blockchain-zone-sdk.workspace = true testnet_initial_state.workspace = true @@ -30,6 +30,7 @@ sequencer_stake_core.workspace = true logos-blockchain-key-management-system-service.workspace = true logos-blockchain-core.workspace = true logos-blockchain-http-api-common.workspace = true +kameo.workspace = true anyhow.workspace = true serde.workspace = true serde_json.workspace = true @@ -48,7 +49,6 @@ url.workspace = true num-bigint.workspace = true risc0-zkvm.workspace = true futures.workspace = true -itertools.workspace = true libp2p.workspace = true [features] @@ -61,6 +61,8 @@ mdns = [] [dev-dependencies] cross_zone = { workspace = true, features = ["test-utils"] } +sequencer_storage_actor = { workspace = true, features = ["mock"] } +storage.workspace = true futures.workspace = true test_programs.workspace = true lee = { workspace = true, features = ["test-utils"] } diff --git a/lez/sequencer/core/src/block_publisher.rs b/lez/sequencer/core/src/block_publisher.rs index 3462103b0..80e058716 100644 --- a/lez/sequencer/core/src/block_publisher.rs +++ b/lez/sequencer/core/src/block_publisher.rs @@ -2,7 +2,7 @@ use std::time::Duration; use anyhow::{Context as _, Result, anyhow, ensure}; use common::block::Block; -use futures::Stream; +use futures::{Stream, future::BoxFuture}; use log::{info, warn}; pub use logos_blockchain_core::mantle::{ ledger::NoteId, @@ -77,7 +77,7 @@ pub struct FollowUpdate { /// Sink for the follow path: apply the channel delta to chain state and /// persist the whole event in one write. -pub type OnFollowSink = Box; +pub type OnFollowSink = Box BoxFuture<'static, ()> + Send + Sync + 'static>; /// What one publish produced. pub struct PublishOutcome { @@ -417,10 +417,6 @@ impl BlockPublisherTrait for ZoneSdkPublisher { } } - // Nothing is awaited here: an await in this - // arm blocks the same task `publish_block` - // needs, and a non-turn sequencer never - // drains what it would be waiting on. on_follow(FollowUpdate { checkpoint, adopted, @@ -428,7 +424,7 @@ impl BlockPublisherTrait for ZoneSdkPublisher { finalized: finalized_blocks, deposits, withdrawals, - }); + }).await; } Event::Ready => {} Event::TurnNotification { notification } => { diff --git a/lez/sequencer/core/src/block_store.rs b/lez/sequencer/core/src/block_store.rs index 76e3fcfe0..1021ffea9 100644 --- a/lez/sequencer/core/src/block_store.rs +++ b/lez/sequencer/core/src/block_store.rs @@ -1,4 +1,4 @@ -use std::{collections::HashMap, path::Path, sync::Arc}; +use std::{collections::HashMap, sync::Arc}; use anyhow::{Context as _, Result}; use common::{ @@ -6,122 +6,134 @@ use common::{ block::{Block, BlockMeta}, transaction::LeeTransaction, }; +use kameo::actor::ActorRef; use lee::V03State; use lee_core::BlockId; -use logos_blockchain_zone_sdk::{Slot, sequencer::SequencerCheckpoint}; -use storage::sequencer::{ - RocksDBIO, - sequencer_cells::{ - PeerZoneKey, PendingDepositEventRecord, WithdrawalReconciliationKey, ZoneAnchorRecord, +use logos_blockchain_zone_sdk::sequencer::SequencerCheckpoint; +use sequencer_storage_actor::{ + StorageActorTrait, + protocol::{ + CleanPendingBlocksUpTo, DeadLetterDispatchRecord, DeleteBlock, DeleteZoneCheckpoint, + DispatchFailure, DispatchOrigin, DropSettledCrossZoneDispatches, GetAllBlocks, GetBlock, + GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, GetFirstBlockId, + GetLastBlockId, GetLatestBlockMeta, GetLeeState, GetPendingCrossZoneDispatches, + GetPendingDepositEvents, GetPublishedHighWater, GetZoneAnchor, GetZoneCheckpointBytes, + MarkBlockAsFinalized, PendingCrossZoneDispatchRecord, PendingDepositEventRecord, + RaisePublishedHighWater, RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, + SetZoneAnchor, SetZoneCheckpointBytes, WithdrawalReconciliationKey, ZoneAnchorRecord, }, }; -pub use storage::{DbResult, sequencer::DbDump}; -pub struct SequencerStore { - dbio: Arc, +// TODO: Refactor this to be `Cache` (or remove entirely) and move other fields to +// [`crate::SequencerCore`]. +pub struct SequencerStore { + storage_ref: ActorRef, // TODO: Consider adding the hashmap to the database for faster recovery. tx_hash_to_block_map: HashMap, genesis_id: u64, signing_key: lee::PrivateKey, } -impl SequencerStore { - /// Open existing database at the given location. Fails if no database is found. - pub fn open_db(location: &Path, signing_key: lee::PrivateKey) -> DbResult { - let dbio = Arc::new(RocksDBIO::open(location)?); - Self::from_dbio_and_signing_key(dbio, signing_key) - } +impl SequencerStore { + pub async fn new(storage_ref: ActorRef, signing_key: lee::PrivateKey) -> Result { + let genesis_id = storage_ref + .ask(GetFirstBlockId) + .await? + .context("Store holds no chain; it must be seeded with a genesis block first")?; - /// Create a fresh rocksdb at `location` from `dump`. - pub fn restore_db_from_dump( - location: &Path, - dump: &DbDump, - signing_key: lee::PrivateKey, - ) -> DbResult { - let dbio = Arc::new(RocksDBIO::restore_from_dump(location, dump)?); - Self::from_dbio_and_signing_key(dbio, signing_key) - } - - /// Starting database at the start of new chain. - /// Creates files if necessary. - /// - /// ATTENTION: Will overwrite genesis block. - pub fn create_db_with_genesis( - location: &Path, - genesis_block: &Block, - genesis_state: &V03State, - signing_key: lee::PrivateKey, - ) -> DbResult { - let dbio = Arc::new(RocksDBIO::create(location, genesis_block, genesis_state)?); - let genesis_id = dbio.get_meta_first_block_in_db()?; - let tx_hash_to_block_map = block_to_transactions_map(genesis_block); - - Ok(Self { - dbio, - tx_hash_to_block_map, - genesis_id, - signing_key, - }) - } - - fn from_dbio_and_signing_key( - dbio: Arc, - signing_key: lee::PrivateKey, - ) -> DbResult { - let genesis_id = dbio.get_meta_first_block_in_db()?; - let last_id = dbio.latest_block_meta()?.map(|meta| meta.id); + let last_id = storage_ref + .ask(GetLastBlockId) + .await? + .context("Store holds a first block but no last one")?; let mut tx_hash_to_block_map = HashMap::new(); - if let Some(last_id) = last_id { - log::info!("Preparing block cache"); - for i in genesis_id..=last_id { - let block = dbio - .get_block(i)? - .expect("Block should be present in the database"); + log::info!("Preparing block cache"); + for i in genesis_id..=last_id { + let block = storage_ref + .ask(GetBlock { block_id: i }) + .await? + .expect("Block should be present in the database"); - tx_hash_to_block_map.extend(block_to_transactions_map(&block)); - } - log::info!( - "Block cache prepared. Total blocks in cache: {}", - tx_hash_to_block_map.len() - ); + tx_hash_to_block_map.extend(block_to_transactions_map(&block)); } + log::info!( + "Block cache prepared. Total blocks in cache: {}", + tx_hash_to_block_map.len() + ); Ok(Self { - dbio, + storage_ref, tx_hash_to_block_map, genesis_id, signing_key, }) } - /// Shared handle to the underlying rocksdb. Used to persist the zone-sdk - /// checkpoint from the sequencer's drive task without needing &mut to the - /// store. - #[must_use] - pub fn dbio(&self) -> Arc { - Arc::clone(&self.dbio) + pub async fn block_at_id(&self, id: u64) -> Result> { + self.storage_ref + .ask(GetBlock { block_id: id }) + .await + .map_err(Into::into) } - pub fn get_block_at_id(&self, id: u64) -> DbResult> { - self.dbio.get_block(id) + pub async fn get_all_blocks(&self) -> Result> { + self.storage_ref.ask(GetAllBlocks).await.map_err(Into::into) } - pub fn delete_block_at_id(&mut self, block_id: u64) -> DbResult<()> { - self.dbio.delete_block(block_id) + pub async fn delete_block_at_id(&mut self, block_id: u64) -> Result<()> { + self.storage_ref + .ask(DeleteBlock { block_id }) + .await + .map_err(Into::into) } - pub fn mark_block_as_finalized(&mut self, block_id: u64) -> DbResult<()> { - self.dbio.mark_block_as_finalized(block_id) + pub async fn mark_block_as_finalized(&mut self, block_id: u64) -> Result<()> { + self.storage_ref + .ask(MarkBlockAsFinalized { block_id }) + .await + .map_err(Into::into) + } + + /// Reset every stored block to `Pending` so the next fresh start republishes the whole chain. + pub async fn reset_all_blocks_to_pending(&self) -> Result<()> { + self.storage_ref + .ask(ResetAllBlocksToPending) + .await + .map_err(Into::into) + } + + /// Persists `block` with the effects it covers and extends the transaction + /// cache with the block's transactions. + pub async fn record_new_block( + &mut self, + block: Block, + withdrawals: Vec, + state: Arc, + checkpoint_bytes: Option>, + ) -> Result<()> { + let new_transactions_map = block_to_transactions_map(&block); + self.storage_ref + .ask(RecordNewBlock { + block, + withdrawals, + state, + checkpoint_bytes, + }) + .await?; + self.tx_hash_to_block_map.extend(new_transactions_map); + Ok(()) } /// Returns the transaction corresponding to the given hash, if it exists in the blockchain. - #[must_use] - pub fn get_transaction_by_hash(&self, hash: HashType) -> Option<(LeeTransaction, BlockId)> { + pub async fn get_transaction_by_hash( + &self, + hash: HashType, + ) -> Option<(LeeTransaction, BlockId)> { let block_id = *self.tx_hash_to_block_map.get(&hash)?; let block = self - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .ok() .flatten() .expect("Block should be present since the hash is in the map"); @@ -135,8 +147,19 @@ impl SequencerStore { ); } - pub fn latest_block_meta(&self) -> DbResult> { - self.dbio.latest_block_meta() + /// The id of the chain's last block, or `None` on a store holding no chain. + pub async fn last_block_id(&self) -> Result> { + self.storage_ref + .ask(GetLastBlockId) + .await + .map_err(Into::into) + } + + pub async fn latest_block_meta(&self) -> Result> { + self.storage_ref + .ask(GetLatestBlockMeta) + .await + .map_err(Into::into) } #[must_use] @@ -149,45 +172,22 @@ impl SequencerStore { &self.signing_key } - pub fn get_all_blocks(&self) -> impl Iterator> { - self.dbio.get_all_blocks() - } - - pub(crate) fn update( - &mut self, - block: &Block, - withdrawals: &[WithdrawalReconciliationKey], - state: &V03State, - checkpoint: Option<&[u8]>, - ) -> DbResult<()> { - let new_transactions_map = block_to_transactions_map(block); - self.dbio - .atomic_update(block, withdrawals, state, checkpoint)?; - self.tx_hash_to_block_map.extend(new_transactions_map); - Ok(()) - } - - pub fn get_lee_state(&self) -> DbResult { - self.dbio.get_lee_state() + /// The state after the last applied block, or `None` on a store holding no + /// chain. + pub async fn get_lee_state(&self) -> Result> { + self.storage_ref.ask(GetLeeState).await.map_err(Into::into) } /// Remove the persisted zone-sdk checkpoint so the next startup is treated as a fresh start. - pub fn delete_zone_checkpoint(&self) -> DbResult<()> { - self.dbio.delete_zone_sdk_checkpoint_bytes() + pub async fn delete_zone_checkpoint(&self) -> Result<()> { + self.storage_ref + .ask(DeleteZoneCheckpoint) + .await + .map_err(Into::into) } - /// Reset every stored block to `Pending` so the next fresh start republishes the whole chain. - pub fn reset_all_blocks_to_pending(&self) -> DbResult<()> { - self.dbio.reset_all_blocks_to_pending() - } - - /// Single-blob [`DbDump`] of the whole store; restore with [`Self::restore_db_from_dump`]. - pub fn dump(&self) -> DbResult { - self.dbio.dump_all() - } - - pub fn get_zone_checkpoint(&self) -> Result> { - let Some(bytes) = self.dbio.get_zone_sdk_checkpoint_bytes()? else { + pub async fn get_zone_checkpoint(&self) -> Result> { + let Some(bytes) = self.storage_ref.ask(GetZoneCheckpointBytes).await? else { return Ok(None); }; let checkpoint: SequencerCheckpoint = serde_json::from_slice(&bytes) @@ -197,36 +197,131 @@ impl SequencerStore { /// Persists `checkpoint` on its own. Only valid when the effects it covers /// are already durable — otherwise it must ride in the same write as them, - /// via [`storage::sequencer::StoreUpdate`]. - pub fn set_zone_checkpoint(&self, checkpoint: &SequencerCheckpoint) -> Result<()> { - self.dbio - .put_zone_sdk_checkpoint_bytes(&checkpoint_bytes(checkpoint)?)?; + /// via [`Self::record_new_block`]. + pub async fn set_zone_checkpoint(&self, checkpoint: &SequencerCheckpoint) -> Result<()> { + self.storage_ref + .ask(SetZoneCheckpointBytes { + bytes: checkpoint_bytes(checkpoint)?, + }) + .await?; Ok(()) } /// The last channel block read back and verified from Bedrock (L1 slot + /// `id`/`hash`), or `None` before any block has been read from the channel. - pub fn get_zone_anchor(&self) -> DbResult> { - self.dbio.get_zone_anchor() + pub async fn get_zone_anchor(&self) -> Result> { + self.storage_ref + .ask(GetZoneAnchor) + .await + .map_err(Into::into) } - pub fn set_zone_anchor(&self, anchor: &ZoneAnchorRecord) -> DbResult<()> { - self.dbio.put_zone_anchor(anchor) + pub async fn set_zone_anchor(&self, anchor: ZoneAnchorRecord) -> Result<()> { + self.storage_ref + .ask(SetZoneAnchor { anchor }) + .await + .map_err(Into::into) } /// The highest block id ever inscribed on the channel by this sequencer, /// or `None` before it has published anything. - pub fn published_high_water(&self) -> DbResult> { - self.dbio.published_high_water() + pub async fn published_high_water(&self) -> Result> { + self.storage_ref + .ask(GetPublishedHighWater) + .await + .map_err(Into::into) } /// Raises the published high water mark to `block_id`, never lowering it. - pub fn raise_published_high_water(&self, block_id: u64) -> DbResult<()> { - self.dbio.raise_published_high_water(block_id) + pub async fn raise_published_high_water(&self, block_id: u64) -> Result<()> { + self.storage_ref + .ask(RaisePublishedHighWater { block_id }) + .await + .map_err(Into::into) } - pub fn get_pending_deposit_events(&self) -> DbResult> { - self.dbio.get_pending_deposit_events() + pub async fn get_pending_deposit_events(&self) -> Result> { + self.storage_ref + .ask(GetPendingDepositEvents) + .await + .map_err(Into::into) + } + + /// The persisted final-tier `(state, meta)`, or `None` before anything + /// finalized. + pub async fn get_final_snapshot(&self) -> Result> { + self.storage_ref + .ask(GetFinalSnapshot) + .await + .map_err(Into::into) + } + + /// Marks every stored pending block at or below `last_finalized` as + /// finalized. + pub async fn clean_pending_blocks_up_to(&self, last_finalized: BlockId) -> Result<()> { + self.storage_ref + .ask(CleanPendingBlocksUpTo { last_finalized }) + .await + .map_err(Into::into) + } + + pub async fn pending_cross_zone_dispatches( + &self, + ) -> Result> { + self.storage_ref + .ask(GetPendingCrossZoneDispatches) + .await + .map_err(Into::into) + } + + pub async fn drop_settled_cross_zone_dispatches( + &self, + message_keys: Vec<[u8; 32]>, + ) -> Result { + self.storage_ref + .ask(DropSettledCrossZoneDispatches { message_keys }) + .await + .map_err(Into::into) + } + + /// Counts one failed production attempt against `message_key`, giving up on + /// it once `retire_at` accumulate. + pub async fn record_dispatch_failure( + &self, + message_key: [u8; 32], + retire_at: u32, + origin: DispatchOrigin, + ) -> Result { + self.storage_ref + .ask(RecordDispatchFailure { + message_key, + retire_at, + origin, + }) + .await + .map_err(Into::into) + } + + pub async fn dead_letter_dispatches(&self) -> Result> { + self.storage_ref + .ask(GetDeadLetterDispatches) + .await + .map_err(Into::into) + } + + pub async fn dead_letter_dispatch_count(&self) -> Result { + self.storage_ref + .ask(GetDeadLetterDispatchCount) + .await + .map_err(Into::into) + } + + /// The handle to the actor behind this store, for the paths that hold no + /// store of their own: the publisher's follow sink and the cross-zone + /// watchers, each of which outlives any one caller. + #[must_use] + pub const fn storage_ref(&self) -> &ActorRef { + &self.storage_ref } } @@ -245,240 +340,180 @@ pub(crate) fn block_to_transactions_map(block: &Block) -> HashMap .collect() } -/// A cross-zone watcher's delivery floor on `peer_zone`'s channel. -/// -/// The highest slot every message of which was delivered, or `None` before it -/// has delivered anything from that peer. Stored as a little-endian `u64`. -/// -/// Free functions rather than only [`SequencerStore`] methods because each -/// watcher runs as its own spawned task and holds an `Arc`; -/// `SequencerStore` is not `Clone`. -pub fn get_cross_zone_peer_floor(dbio: &RocksDBIO, peer_zone: PeerZoneKey) -> Result> { - let Some(bytes) = dbio.get_cross_zone_peer_floor_bytes(peer_zone)? else { - return Ok(None); - }; - let bytes: [u8; 8] = bytes.as_slice().try_into().with_context(|| { - format!( - "Stored cross-zone peer floor is {} bytes, expected 8", - bytes.len() - ) - })?; - Ok(Some(Slot::new(u64::from_le_bytes(bytes)))) -} - -pub fn set_cross_zone_peer_floor( - dbio: &RocksDBIO, - peer_zone: PeerZoneKey, - floor: Slot, -) -> Result<()> { - dbio.put_cross_zone_peer_floor_bytes(peer_zone, &floor.to_le_bytes())?; - Ok(()) -} - -/// Drops the stored floor so the watcher reads `peer_zone`'s channel from the -/// peer's genesis again. -pub fn clear_cross_zone_peer_floor(dbio: &RocksDBIO, peer_zone: PeerZoneKey) -> Result<()> { - dbio.delete_cross_zone_peer_floor(peer_zone)?; - Ok(()) -} - #[cfg(test)] mod tests { + use std::path::Path; + use common::{block::HashableBlockData, test_utils::sequencer_sign_key_for_testing}; + use kameo::actor::Spawn as _; + use sequencer_storage_actor::StorageActor; use tempfile::tempdir; use super::*; - #[test] - fn get_transaction_by_hash() { - let temp_dir = tempdir().unwrap(); - let path = temp_dir.path(); - - let signing_key = sequencer_sign_key_for_testing(); - - let genesis_block_hashable_data = HashableBlockData { + fn genesis_block(signing_key: &lee::PrivateKey) -> Block { + HashableBlockData { block_id: 0, prev_block_hash: HashType([0; 32]), timestamp: 0, transactions: vec![], - }; + } + .into_pending_block(signing_key) + } - let genesis_block = genesis_block_hashable_data.into_pending_block(&signing_key); - // Start an empty node store - let mut node_store = SequencerStore::create_db_with_genesis( - path, - &genesis_block, - &testnet_initial_state::initial_state(), - signing_key, + /// Creates a fresh database at `path` seeded with `genesis` and opens a + /// store on the actor serving it. + async fn create_store( + path: &Path, + genesis: &Block, + signing_key: lee::PrivateKey, + ) -> SequencerStore { + let storage_ref = StorageActor::spawn(StorageActor::new(path).unwrap()); + storage_ref + .ask(RecordNewBlock { + block: genesis.clone(), + withdrawals: vec![], + state: Arc::new(testnet_initial_state::initial_state()), + checkpoint_bytes: None, + }) + .await + .unwrap(); + SequencerStore::new(storage_ref, signing_key).await.unwrap() + } + + async fn open_store(path: &Path, signing_key: lee::PrivateKey) -> SequencerStore { + let storage_ref = StorageActor::spawn(StorageActor::new(path).unwrap()); + SequencerStore::new(storage_ref, signing_key).await.unwrap() + } + + #[tokio::test] + async fn get_transaction_by_hash() { + let temp_dir = tempdir().unwrap(); + let signing_key = sequencer_sign_key_for_testing(); + let mut store = create_store( + temp_dir.path(), + &genesis_block(&signing_key), + signing_key.clone(), ) - .unwrap(); + .await; let tx = common::test_utils::produce_dummy_empty_transaction(); let block = common::test_utils::produce_dummy_block(1, None, vec![tx.clone()]); // Try retrieve a tx that's not in the chain yet. - let retrieved_tx = node_store.get_transaction_by_hash(tx.hash()); - assert_eq!(None, retrieved_tx); + assert_eq!(store.get_transaction_by_hash(tx.hash()).await, None); // Add the block with the transaction - let dummy_state = V03State::new(); - node_store.update(&block, &[], &dummy_state, None).unwrap(); + store + .record_new_block(block.clone(), vec![], Arc::new(V03State::new()), None) + .await + .unwrap(); // Try again - let output = node_store.get_transaction_by_hash(tx.hash()); + let output = store.get_transaction_by_hash(tx.hash()).await; assert_eq!(Some((tx, 1)), output); } - #[test] - fn latest_block_meta_returns_genesis_meta_initially() { + #[tokio::test] + async fn latest_block_meta_returns_genesis_meta_initially() { let temp_dir = tempdir().unwrap(); - let path = temp_dir.path(); - let signing_key = sequencer_sign_key_for_testing(); + let genesis = genesis_block(&signing_key); + let genesis_hash = genesis.header.hash; - let genesis_block_hashable_data = HashableBlockData { - block_id: 0, - prev_block_hash: HashType([0; 32]), - timestamp: 0, - transactions: vec![], - }; - - let genesis_block = genesis_block_hashable_data.into_pending_block(&signing_key); - let genesis_hash = genesis_block.header.hash; - - let node_store = SequencerStore::create_db_with_genesis( - path, - &genesis_block, - &testnet_initial_state::initial_state(), - signing_key, - ) - .unwrap(); + let store = create_store(temp_dir.path(), &genesis, signing_key).await; // Verify that initially the latest block hash equals genesis hash - let latest_meta = node_store.latest_block_meta().unwrap().unwrap(); + let latest_meta = store.latest_block_meta().await.unwrap().unwrap(); assert_eq!(latest_meta.hash, genesis_hash); } - #[test] - fn latest_block_meta_updates_after_new_block() { + #[tokio::test] + async fn latest_block_meta_updates_after_new_block() { let temp_dir = tempdir().unwrap(); - let path = temp_dir.path(); - let signing_key = sequencer_sign_key_for_testing(); - - let genesis_block_hashable_data = HashableBlockData { - block_id: 0, - prev_block_hash: HashType([0; 32]), - timestamp: 0, - transactions: vec![], - }; - - let genesis_block = genesis_block_hashable_data.into_pending_block(&signing_key); - let mut node_store = SequencerStore::create_db_with_genesis( - path, - &genesis_block, - &testnet_initial_state::initial_state(), - signing_key, + let mut store = create_store( + temp_dir.path(), + &genesis_block(&signing_key), + signing_key.clone(), ) - .unwrap(); + .await; // Add a new block let tx = common::test_utils::produce_dummy_empty_transaction(); let block = common::test_utils::produce_dummy_block(1, None, vec![tx]); let block_hash = block.header.hash; - let dummy_state = V03State::new(); - node_store.update(&block, &[], &dummy_state, None).unwrap(); + store + .record_new_block(block.clone(), vec![], Arc::new(V03State::new()), None) + .await + .unwrap(); // Verify that the latest block meta now equals the new block's hash - let latest_meta = node_store.latest_block_meta().unwrap().unwrap(); + let latest_meta = store.latest_block_meta().await.unwrap().unwrap(); assert_eq!(latest_meta.hash, block_hash); } - #[test] - fn mark_block_finalized() { + #[tokio::test] + async fn mark_block_finalized() { let temp_dir = tempdir().unwrap(); - let path = temp_dir.path(); - let signing_key = sequencer_sign_key_for_testing(); - - let genesis_block_hashable_data = HashableBlockData { - block_id: 0, - prev_block_hash: HashType([0; 32]), - timestamp: 0, - transactions: vec![], - }; - - let genesis_block = genesis_block_hashable_data.into_pending_block(&signing_key); - let mut node_store = SequencerStore::create_db_with_genesis( - path, - &genesis_block, - &testnet_initial_state::initial_state(), - signing_key, + let mut store = create_store( + temp_dir.path(), + &genesis_block(&signing_key), + signing_key.clone(), ) - .unwrap(); + .await; // Add a new block with Pending status let tx = common::test_utils::produce_dummy_empty_transaction(); let block = common::test_utils::produce_dummy_block(1, None, vec![tx]); let block_id = block.header.block_id; - let dummy_state = V03State::new(); - node_store.update(&block, &[], &dummy_state, None).unwrap(); + store + .record_new_block(block.clone(), vec![], Arc::new(V03State::new()), None) + .await + .unwrap(); // Verify initial status is Pending - let retrieved_block = node_store.get_block_at_id(block_id).unwrap().unwrap(); + let retrieved_block = store.block_at_id(block_id).await.unwrap().unwrap(); assert!(matches!( retrieved_block.bedrock_status, common::block::BedrockStatus::Pending )); // Mark block as finalized - node_store.mark_block_as_finalized(block_id).unwrap(); + store.mark_block_as_finalized(block_id).await.unwrap(); // Verify status is now Finalized - let finalized_block = node_store.get_block_at_id(block_id).unwrap().unwrap(); + let finalized_block = store.block_at_id(block_id).await.unwrap().unwrap(); assert!(matches!( finalized_block.bedrock_status, common::block::BedrockStatus::Finalized )); } - #[test] - fn open_existing_db_caches_transactions() { + #[tokio::test] + async fn open_existing_db_caches_transactions() { let temp_dir = tempdir().unwrap(); let path = temp_dir.path(); - let signing_key = sequencer_sign_key_for_testing(); - - let genesis_block_hashable_data = HashableBlockData { - block_id: 0, - prev_block_hash: HashType([0; 32]), - timestamp: 0, - transactions: vec![], - }; - - let genesis_block = genesis_block_hashable_data.into_pending_block(&signing_key); let tx = common::test_utils::produce_dummy_empty_transaction(); - { - // Create a scope to drop the first store after creating the db - let mut node_store = SequencerStore::create_db_with_genesis( - path, - &genesis_block, - &testnet_initial_state::initial_state(), - signing_key.clone(), - ) - .unwrap(); - // Add a new block + let storage_weak = { + let mut store = + create_store(path, &genesis_block(&signing_key), signing_key.clone()).await; let block = common::test_utils::produce_dummy_block(1, None, vec![tx.clone()]); - node_store - .update(&block, &[], &V03State::new(), None) + store + .record_new_block(block.clone(), vec![], Arc::new(V03State::new()), None) + .await .unwrap(); - } + store.storage_ref().downgrade() + }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; // Re-open the store and verify that the transaction is still retrievable (which means it // was cached correctly) - let node_store = SequencerStore::open_db(path, signing_key).unwrap(); - let output = node_store.get_transaction_by_hash(tx.hash()); + let store = open_store(path, signing_key).await; + let output = store.get_transaction_by_hash(tx.hash()).await; assert_eq!(Some((tx, 1)), output); } } diff --git a/lez/sequencer/core/src/cross_zone_watcher.rs b/lez/sequencer/core/src/cross_zone_watcher.rs index 07bbc1410..43437f848 100644 --- a/lez/sequencer/core/src/cross_zone_watcher.rs +++ b/lez/sequencer/core/src/cross_zone_watcher.rs @@ -1,27 +1,34 @@ -use std::{sync::Arc, time::Duration}; +use std::time::Duration; -use common::{HashType, block::Block, transaction::LeeTransaction}; +use anyhow::{Context as _, Result}; +use common::{ + HashType, + block::{Block, PeerChainTip}, + transaction::LeeTransaction, +}; use cross_zone::{ EmissionSource, Link, StallState, alerts_at, build_dispatch_from_emission, equivocation_report, extract_emission, is_sequencer_only_program, link_to_tip, screen_peer_block, }; use cross_zone_inbox_core::message_key; use futures::{Stream, StreamExt as _}; +use kameo::actor::ActorRef; use lee::PublicKey; use log::{debug, error, warn}; use logos_blockchain_core::mantle::ops::channel::ChannelId; use logos_blockchain_zone_sdk::{ CommonHttpClient, Slot, ZoneMessage, adapter::NodeHttpClient, indexer::ZoneIndexer, }; -use storage::sequencer::{ - RocksDBIO, - sequencer_cells::{PeerChainTip, PendingCrossZoneDispatchRecord}, +use sequencer_storage_actor::{ + StorageActorTrait, + protocol::{ + AddPendingCrossZoneDispatches, DeleteCrossZonePeerFloor, GetCrossZonePeerFloorBytes, + GetCrossZonePeerTip, PeerZoneKey, PendingCrossZoneDispatchRecord, + SetCrossZonePeerFloorBytes, SetCrossZonePeerTip, + }, }; use crate::{ - block_store::{ - clear_cross_zone_peer_floor, get_cross_zone_peer_floor, set_cross_zone_peer_floor, - }, config::{BedrockConfig, CrossZoneConfig}, task_group::TaskGroup, }; @@ -119,6 +126,56 @@ const fn resume_from(tip: Option, floor: Option) -> Resume { } } +/// This watcher's delivery floor on `peer_zone`'s channel. +/// +/// The highest slot every message of which was delivered, or `None` before it +/// has delivered anything from that peer. Stored as a little-endian `u64`, which +/// is why the encoding lives here rather than in the storage actor. +async fn get_cross_zone_peer_floor( + storage_ref: &ActorRef, + peer_zone: PeerZoneKey, +) -> Result> { + let Some(bytes) = storage_ref + .ask(GetCrossZonePeerFloorBytes { peer_zone }) + .await? + else { + return Ok(None); + }; + let bytes: [u8; 8] = bytes.as_slice().try_into().with_context(|| { + format!( + "Stored cross-zone peer floor is {} bytes, expected 8", + bytes.len() + ) + })?; + Ok(Some(Slot::new(u64::from_le_bytes(bytes)))) +} + +async fn set_cross_zone_peer_floor( + storage_ref: &ActorRef, + peer_zone: PeerZoneKey, + floor: Slot, +) -> Result<()> { + storage_ref + .ask(SetCrossZonePeerFloorBytes { + peer_zone, + bytes: floor.to_le_bytes().to_vec(), + }) + .await?; + Ok(()) +} + +/// Drops the stored floor so the watcher reads `peer_zone`'s channel from the +/// peer's genesis again. +async fn clear_cross_zone_peer_floor( + storage_ref: &ActorRef, + peer_zone: PeerZoneKey, +) -> Result<()> { + storage_ref + .ask(DeleteCrossZonePeerFloor { peer_zone }) + .await?; + Ok(()) +} + /// Spawns one watcher task per configured peer. /// /// Each task reads the peer's finalized blocks from Bedrock, recognizes outbound @@ -129,15 +186,13 @@ const fn resume_from(tip: Option, floor: Option) -> Resume { /// The returned group must be kept alive for as long as the watchers should /// run; dropping it stops them, and awaiting /// [`TaskGroup::shutdown`](crate::task_group::TaskGroup::shutdown) is what -/// proves they have stopped. Each watcher holds an `Arc`, so a -/// watcher still running keeps the `RocksDB` lock held and a restarting -/// sequencer cannot reopen its home directory. +/// proves they have stopped. #[must_use] -pub fn spawn_watchers( +pub fn spawn_watchers( bedrock_config: &BedrockConfig, cross_zone: &CrossZoneConfig, poll_interval: Duration, - dbio: &Arc, + storage_ref: &ActorRef, ) -> TaskGroup { let self_zone: [u8; 32] = *bedrock_config.channel_id.as_ref(); let mut tasks = Vec::new(); @@ -158,7 +213,7 @@ pub fn spawn_watchers( expected_pubkey, }, poll_interval, - Arc::clone(dbio), + storage_ref.clone(), ))); } @@ -169,11 +224,11 @@ pub fn spawn_watchers( clippy::infinite_loop, reason = "the peer watcher runs for the lifetime of the sequencer process" )] -async fn watch_peer( +async fn watch_peer( zone_indexer: ZoneIndexer, peer: PeerContext, poll_interval: Duration, - dbio: Arc, + storage_ref: ActorRef, ) { let peer_zone = peer.peer_zone; log::info!( @@ -186,7 +241,7 @@ async fn watch_peer( // key is content-addressed and the inbox no-ops a replay) but re-records // every already-delivered message, so without this a restart replayed the // peer's whole history into the store. - let floor = match get_cross_zone_peer_floor(&dbio, peer_zone) { + let floor = match get_cross_zone_peer_floor(&storage_ref, peer_zone).await { Ok(floor) => floor, Err(err) => { // Falling back to `None` would re-read the peer's whole history and @@ -202,7 +257,7 @@ async fn watch_peer( // The chain this watcher has already delivered from. Without it no block can // be told apart from one claiming an id it never reached, so a watcher that // cannot read it delivers nothing rather than guessing. - let mut tip = match dbio.get_cross_zone_peer_tip(peer_zone) { + let mut tip = match storage_ref.ask(GetCrossZonePeerTip { peer_zone }).await { Ok(tip) => tip, Err(err) => { error!( @@ -220,7 +275,7 @@ async fn watch_peer( ); // Durably, before reading anything, or a crash partway through the // rebuild resumes from the stale floor with nothing able to link. - if let Err(err) = clear_cross_zone_peer_floor(&dbio, peer_zone) { + if let Err(err) = clear_cross_zone_peer_floor(&storage_ref, peer_zone).await { error!( "Watcher could not clear the stale delivery floor for peer {}: {err:#}. Stopping this watcher rather than rebuilding its chain against a floor a restart would resume from.", hex::encode(peer_zone) @@ -251,7 +306,7 @@ async fn watch_peer( continue; } }; - let outcome = consume_peer_stream(stream, &peer, &dbio, &mut cursor, &mut tip).await; + let outcome = consume_peer_stream(stream, &peer, &storage_ref, &mut cursor, &mut tip).await; if let Some((slot, attempts)) = state.after_pass(outcome, cursor) && alerts_at(attempts) @@ -259,7 +314,10 @@ async fn watch_peer( error!( "Watcher for peer {} has been stuck at slot {slot:?} for {attempts} passes. Nothing from that peer is being delivered until it clears, and the delivery floor stays at {:?} so the slot keeps coming back.", hex::encode(peer_zone), - get_cross_zone_peer_floor(&dbio, peer_zone).ok().flatten() + get_cross_zone_peer_floor(&storage_ref, peer_zone) + .await + .ok() + .flatten() ); } // Reads on rather than stopping, since one such pass is ordinary, but a @@ -286,15 +344,15 @@ async fn watch_peer( /// /// Ending early holds the floor at the last slot consumed whole, so the next /// poll re-reads from there and a transient failure heals. -async fn consume_peer_stream( - stream: S, +async fn consume_peer_stream( + stream: Str, peer: &PeerContext, - dbio: &RocksDBIO, + storage_ref: &ActorRef, cursor: &mut Option, tip: &mut Option, ) -> PassOutcome where - S: Stream, + Str: Stream, { let mut stream = std::pin::pin!(stream); // The slot being consumed: every message of it seen so far is handled, but @@ -310,7 +368,7 @@ where if in_progress != Some(slot) { // A message from a later slot means the previous one completed. if let Some(done) = in_progress { - advance_cursor(dbio, peer.peer_zone, cursor, done); + advance_cursor(storage_ref, peer.peer_zone, cursor, done).await; } in_progress = Some(slot); } @@ -371,7 +429,7 @@ where ); } Link::Next(block_hash) => { - if !record_block_deliveries(&block, block_hash, peer, dbio) { + if !record_block_deliveries(&block, block_hash, peer, storage_ref).await { // Recording a delivery is what makes it survive the // mempool. Letting the pass finish here would move // the floor past this slot on a store that just @@ -392,7 +450,13 @@ where block_id: block.header.block_id, block_hash, }; - if let Err(err) = dbio.put_cross_zone_peer_tip(peer.peer_zone, next) { + if let Err(err) = storage_ref + .ask(SetCrossZonePeerTip { + peer_zone: peer.peer_zone, + tip: next, + }) + .await + { // Advancing only in memory would leave a restart // resuming from a floor above a tip, and every block // after it unlinkable. @@ -420,7 +484,7 @@ where // The stream drained cleanly, so the slot in progress completed too. if let Some(done) = in_progress { - advance_cursor(dbio, peer.peer_zone, cursor, done); + advance_cursor(storage_ref, peer.peer_zone, cursor, done).await; } if placed == 0 && skipped > 0 { return PassOutcome::Stranded; @@ -433,9 +497,14 @@ where /// /// A persist failure is only logged: the worst case is re-reading from the last /// stored slot after a restart, which delivery handles idempotently. -fn advance_cursor(dbio: &RocksDBIO, peer_zone: [u8; 32], cursor: &mut Option, slot: Slot) { +async fn advance_cursor( + storage_ref: &ActorRef, + peer_zone: [u8; 32], + cursor: &mut Option, + slot: Slot, +) { *cursor = Some(slot); - if let Err(err) = set_cross_zone_peer_floor(dbio, peer_zone, slot) { + if let Err(err) = set_cross_zone_peer_floor(storage_ref, peer_zone, slot).await { warn!( "Failed to persist watcher delivery floor for peer {}: {err:#}", hex::encode(peer_zone) @@ -451,11 +520,11 @@ fn advance_cursor(dbio: &RocksDBIO, peer_zone: [u8; 32], cursor: &mut Option( block: &Block, block_hash: HashType, peer: &PeerContext, - dbio: &RocksDBIO, + storage_ref: &ActorRef, ) -> bool { let peer_zone = peer.peer_zone; let self_zone = peer.self_zone; @@ -522,7 +591,12 @@ fn record_block_deliveries( } let offered = deliveries.len(); - match dbio.add_pending_cross_zone_dispatches(deliveries) { + match storage_ref + .ask(AddPendingCrossZoneDispatches { + dispatches: deliveries, + }) + .await + { // Fewer accepted than offered means the rest were recorded by an earlier // pass over the same slot, which the retry loop repeats for as long as // the slot stays stuck. @@ -558,12 +632,19 @@ fn record_block_deliveries( #[cfg(test)] mod tests { + use std::sync::{Arc, Mutex}; + use common::test_utils::produce_dummy_block; use cross_zone::test_utils::{linked_chain_to, ping_emission}; use futures::stream; + use kameo::actor::Spawn as _; use logos_blockchain_core::mantle::ops::channel::{MsgId, inscribe::Inscription}; use logos_blockchain_zone_sdk::ZoneBlock; - use storage::sequencer::{DB_META_PENDING_CROSS_ZONE_DISPATCH_COUNT_KEY, RocksDBIO}; + use sequencer_storage_actor::{ + StorageActor, + mock::MockStorageActor, + protocol::{GetPendingCrossZoneDispatches, RecordNewBlock}, + }; use tempfile::TempDir; use super::*; @@ -580,11 +661,25 @@ mod tests { } /// A store backed by a temp dir. The dir is returned so it outlives the db. - fn store() -> (TempDir, RocksDBIO) { + async fn store() -> (TempDir, ActorRef) { let dir = tempfile::tempdir().expect("temp dir"); - let genesis = produce_dummy_block(0, None, vec![]); - let dbio = RocksDBIO::create(dir.path(), &genesis, &lee::V03State::new()).expect("db"); - (dir, dbio) + let storage_ref = StorageActor::spawn(StorageActor::new(dir.path()).expect("open storage")); + seed_genesis(&storage_ref).await; + (dir, storage_ref) + } + + /// The watcher's messages need a database, not a chain, but the peer-tip + /// and dispatch cells share a store with one — so seed it like a real node. + async fn seed_genesis(storage_ref: &ActorRef) { + storage_ref + .ask(RecordNewBlock { + block: produce_dummy_block(0, None, vec![]), + withdrawals: vec![], + state: Arc::new(lee::V03State::new()), + checkpoint_bytes: None, + }) + .await + .expect("seed genesis"); } /// A `ping_sender` emission addressed to `SELF_ZONE`. @@ -668,30 +763,58 @@ mod tests { /// The message keys recorded so far, sorted: the store keys each record by /// its message key, so no insertion order survives. - fn recorded_keys(dbio: &RocksDBIO) -> Vec<[u8; 32]> { - let mut keys: Vec<[u8; 32]> = dbio - .get_pending_cross_zone_dispatches() + async fn recorded_keys(storage_ref: &ActorRef) -> Vec<[u8; 32]> { + let mut keys = storage_ref + .ask(GetPendingCrossZoneDispatches) + .await .expect("pending dispatches readable") .into_iter() .map(|record| record.message_key) - .collect(); + .collect::>(); + keys.sort_unstable(); keys } - /// Makes every later pending-dispatch write fail, standing in for any - /// store failure before a delivery is durable: recording reads the count - /// first, so a count that will not decode is enough. - fn break_the_dispatch_store(dbio: &RocksDBIO) { - let cf = dbio - .db - .cf_handle(storage::CF_META_NAME) - .expect("meta column family"); - let key = - borsh::to_vec(&DB_META_PENDING_CROSS_ZONE_DISPATCH_COUNT_KEY).expect("key encodes"); - dbio.db - .put_cf(&cf, key, b"not a pending dispatch count") - .expect("write"); + /// A store that refuses every delivery write, standing in for any store + /// failure between reading a peer block and the delivery being durable. + fn store_refusing_deliveries() -> ActorRef { + let floor: Arc>>> = Arc::default(); + let tip: Arc>> = Arc::default(); + let mut storage = MockStorageActor::new(); + + storage + .expect_handle_add_pending_cross_zone_dispatches() + .returning(|_, _| { + Err(storage::error::DbError::db_interaction_error( + "the store refused the write".to_owned(), + ) + .into()) + }); + + let written_floor = Arc::clone(&floor); + storage + .expect_handle_set_cross_zone_peer_floor_bytes() + .returning(move |msg, _| { + *written_floor.lock().expect("floor cell") = Some(msg.bytes); + Ok(()) + }); + storage + .expect_handle_get_cross_zone_peer_floor_bytes() + .returning(move |_, _| Ok(floor.lock().expect("floor cell").clone())); + + let written_tip = Arc::clone(&tip); + storage + .expect_handle_set_cross_zone_peer_tip() + .returning(move |msg, _| { + *written_tip.lock().expect("tip cell") = Some(msg.tip); + Ok(()) + }); + storage + .expect_handle_get_cross_zone_peer_tip() + .returning(move |_, _| Ok(*tip.lock().expect("tip cell"))); + + MockStorageActor::spawn(storage) } /// Drives the state machine over a sequence of pass outcomes, with the read @@ -775,14 +898,14 @@ mod tests { #[tokio::test] async fn watcher_persists_its_cursor_as_it_consumes() { - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let outcome = consume_peer_stream( stream::iter(vec![peer_block_msg(1, 0), peer_block_msg(2, 1)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -791,13 +914,15 @@ mod tests { assert_eq!(outcome, PassOutcome::Drained); assert_eq!(cursor, Some(Slot::from(1))); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), Some(Slot::from(1)), "the cursor must be durable, not just in memory" ); let mut expected = vec![message_key(&PEER_ZONE, 1, 0), message_key(&PEER_ZONE, 2, 0)]; expected.sort_unstable(); - assert_eq!(recorded_keys(&dbio), expected); + assert_eq!(recorded_keys(&storage_ref).await, expected); } #[tokio::test] @@ -807,7 +932,7 @@ mod tests { // certainly refuse: the inbox is injected by this node alone, so a peer // naming it as a target is junk that would cost a pending slot and three // execution attempts. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; @@ -818,7 +943,7 @@ mod tests { programs::cross_zone_inbox().id(), )]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -830,11 +955,13 @@ mod tests { "a message the watcher drops is not a failure" ); assert!( - recorded_keys(&dbio).is_empty(), + recorded_keys(&storage_ref).await.is_empty(), "a message aimed at a sequencer-only program must not be recorded" ); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), Some(Slot::from(0)), "the slot was fully read, so the floor still advances" ); @@ -844,7 +971,7 @@ mod tests { async fn a_delivery_to_an_unrelated_target_is_still_recorded() { // The watcher is not the authorization point any more. A target it knows // nothing about is recorded and delivered, and that target decides. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; @@ -855,7 +982,7 @@ mod tests { programs::wrapped_token().id(), )]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -863,7 +990,7 @@ mod tests { assert_eq!(outcome, PassOutcome::Drained); assert_eq!( - recorded_keys(&dbio).len(), + recorded_keys(&storage_ref).await.len(), 1, "the watcher records it and lets the target refuse it" ); @@ -871,14 +998,14 @@ mod tests { #[tokio::test] async fn watcher_records_every_delivery_it_reads() { - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; consume_peer_stream( stream::iter(vec![peer_block_msg(1, 0)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -888,7 +1015,10 @@ mod tests { // never re-read. The record is the whole of what survives that: block // production drains it, and it outlives a restart. It is dropped when // the delivery itself becomes irreversible, not when it is included. - let records = dbio.get_pending_cross_zone_dispatches().unwrap(); + let records = storage_ref + .ask(GetPendingCrossZoneDispatches) + .await + .unwrap(); assert_eq!(records.len(), 1, "the delivery must be recorded"); assert_eq!( records[0].message_key, @@ -907,20 +1037,23 @@ mod tests { #[tokio::test] async fn a_recorded_delivery_names_the_hash_the_watcher_validated() { - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; consume_peer_stream( stream::iter(vec![peer_block_msg(1, 0)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) .await; - let records = dbio.get_pending_cross_zone_dispatches().unwrap(); + let records = storage_ref + .ask(GetPendingCrossZoneDispatches) + .await + .unwrap(); assert_eq!(records.len(), 1, "the delivery must be recorded"); let tx = borsh::from_slice::(&records[0].transaction).unwrap(); let LeeTransaction::Public(public_tx) = tx else { @@ -943,15 +1076,14 @@ mod tests { #[tokio::test] async fn a_delivery_that_cannot_be_recorded_holds_the_floor() { - let (_dir, dbio) = store(); - break_the_dispatch_store(&dbio); + let storage_ref = store_refusing_deliveries(); let mut cursor = None; let mut tip = None; let outcome = consume_peer_stream( stream::iter(vec![peer_block_msg(1, 0)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -962,7 +1094,9 @@ mod tests { // rather than retried. assert_eq!(outcome, PassOutcome::Undelivered(Slot::from(0))); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), None, "the slot must stay re-readable" ); @@ -970,31 +1104,46 @@ mod tests { // crash in between makes the re-read see the block as already delivered // from, and its messages are never looked at again. assert_eq!(tip, None); - assert_eq!(dbio.get_cross_zone_peer_tip(PEER_ZONE).unwrap(), None); + assert_eq!( + storage_ref + .ask(GetCrossZonePeerTip { + peer_zone: PEER_ZONE + }) + .await + .unwrap(), + None + ); } #[tokio::test] async fn watcher_resumes_from_the_persisted_cursor_without_rereading() { - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; consume_peer_stream( stream::iter(vec![peer_block_msg(1, 0), peer_block_msg(2, 1)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) .await; - assert_eq!(recorded_keys(&dbio).len(), 2); + assert_eq!(recorded_keys(&storage_ref).await.len(), 2); // Restart: a fresh watcher seeds both its cursor and its chain tip from // the store. One that had to rebuild the tip in memory would accept // whatever block arrived first. - let resumed = get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(); + let resumed = get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(); assert_eq!(resumed, Some(Slot::from(1))); - let mut resumed_tip = dbio.get_cross_zone_peer_tip(PEER_ZONE).unwrap(); + let mut resumed_tip = storage_ref + .ask(GetCrossZonePeerTip { + peer_zone: PEER_ZONE, + }) + .await + .unwrap(); assert_eq!( resumed_tip, Some(tip_at(2)), @@ -1006,7 +1155,7 @@ mod tests { consume_peer_stream( stream::iter(vec![peer_block_msg(3, 2)]), &peer_context(), - &dbio, + &storage_ref, &mut resumed_cursor, &mut resumed_tip, ) @@ -1019,19 +1168,21 @@ mod tests { ]; expected.sort_unstable(); assert_eq!( - recorded_keys(&dbio), + recorded_keys(&storage_ref).await, expected, "only the unread block is recorded on the second pass" ); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), Some(Slot::from(2)) ); } #[tokio::test] async fn watcher_does_not_persist_past_an_undecodable_block() { - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; @@ -1042,7 +1193,7 @@ mod tests { peer_block_msg(3, 2), ]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1052,11 +1203,13 @@ mod tests { // would drop its messages permanently rather than until the next restart. assert_eq!(outcome, PassOutcome::Undecodable(Slot::from(1))); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), Some(Slot::from(0)) ); assert_eq!( - recorded_keys(&dbio), + recorded_keys(&storage_ref).await, vec![message_key(&PEER_ZONE, 1, 0)], "the block after the failure is unread" ); @@ -1067,14 +1220,14 @@ mod tests { // One slot can carry several messages. Persisting after each message // would store a cursor the retry resumes past, so the message that // failed is never re-read and its delivery is lost for good. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let outcome = consume_peer_stream( stream::iter(vec![peer_block_msg(1, 4), undecodable_msg(4)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1082,8 +1235,16 @@ mod tests { assert_eq!(outcome, PassOutcome::Undecodable(Slot::from(4))); assert_eq!(cursor, None, "slot 4 is re-read whole on the next pass"); - assert_eq!(get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), None); - assert_eq!(recorded_keys(&dbio), vec![message_key(&PEER_ZONE, 1, 0)]); + assert_eq!( + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), + None + ); + assert_eq!( + recorded_keys(&storage_ref).await, + vec![message_key(&PEER_ZONE, 1, 0)] + ); } #[tokio::test] @@ -1091,7 +1252,7 @@ mod tests { // This used to be read past after twenty attempts, which advanced the // floor over the hole and lost those messages rather than delaying // them: nothing after a hole can link. Stopping keeps the slot readable. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; @@ -1103,7 +1264,7 @@ mod tests { peer_block_msg(3, 2), ]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1112,12 +1273,14 @@ mod tests { } assert_eq!( - recorded_keys(&dbio), + recorded_keys(&storage_ref).await, vec![message_key(&PEER_ZONE, 1, 0)], "no pass reads past the slot it cannot decode" ); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), Some(Slot::from(0)), "the floor stays below it, so a fixed decoder recovers the messages" ); @@ -1134,7 +1297,7 @@ mod tests { // // The honest blocks behind it still deliver: stopping here would cost // the peer one inscription to end its own deliveries for good. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let pre_burn = produce_dummy_block(5, None, vec![emission()]); @@ -1147,7 +1310,7 @@ mod tests { peer_block_msg(3, 3), ]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1161,7 +1324,7 @@ mod tests { ]; expected.sort_unstable(); assert_eq!( - recorded_keys(&dbio), + recorded_keys(&storage_ref).await, expected, "the key the peer aimed to burn is never recorded, and nothing else is held up" ); @@ -1172,7 +1335,7 @@ mod tests { async fn a_second_block_at_a_delivered_id_is_not_delivered_from() { // Both claim id 2, so on chain both deliveries key on (PEER_ZONE, 2, 0) // and the second is a replay the inbox no-ops. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let equivocation = produce_dummy_block(2, Some(HashType([9; 32])), vec![emission()]); @@ -1184,7 +1347,7 @@ mod tests { block_msg(&equivocation, 2), ]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1198,7 +1361,7 @@ mod tests { let mut expected = vec![message_key(&PEER_ZONE, 1, 0), message_key(&PEER_ZONE, 2, 0)]; expected.sort_unstable(); assert_eq!( - recorded_keys(&dbio), + recorded_keys(&storage_ref).await, expected, "one delivery per id, whatever the peer publishes under it" ); @@ -1209,7 +1372,7 @@ mod tests { async fn a_block_that_does_not_link_to_the_tip_is_not_delivered_from() { // Not on the chain we verified, so nothing is delivered from it, and // the honest block at that id still is when it lands. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let forked = produce_dummy_block(2, Some(HashType([9; 32])), vec![emission()]); @@ -1221,7 +1384,7 @@ mod tests { peer_block_msg(2, 2), ]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1231,7 +1394,7 @@ mod tests { let mut expected = vec![message_key(&PEER_ZONE, 1, 0), message_key(&PEER_ZONE, 2, 0)]; expected.sort_unstable(); assert_eq!( - recorded_keys(&dbio), + recorded_keys(&storage_ref).await, expected, "the fork is passed over and the peer's own chain continues" ); @@ -1243,14 +1406,14 @@ mod tests { // A fresh watcher handed a mid-chain block has nothing to link it // against. Adopting it would let the peer choose where the chain starts // and burn every key below it with one block. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let outcome = consume_peer_stream( stream::iter(vec![peer_block_msg(2, 0)]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1261,7 +1424,7 @@ mod tests { PassOutcome::Stranded, "a pass that placed nothing while passing blocks over is how a peer goes quiet" ); - assert!(recorded_keys(&dbio).is_empty()); + assert!(recorded_keys(&storage_ref).await.is_empty()); assert_eq!(tip, None); } @@ -1269,7 +1432,7 @@ mod tests { async fn a_tampered_header_hash_is_not_delivered_from() { // As correctly signed as any other block, since the signature does not // cover `header.hash`. Block 2 arriving behind it still delivers. - let (_dir, dbio) = store(); + let (_dir, storage_ref) = store().await; let mut cursor = None; let mut tip = None; let mut tampered = chain_block(2); @@ -1282,7 +1445,7 @@ mod tests { peer_block_msg(2, 2), ]), &peer_context(), - &dbio, + &storage_ref, &mut cursor, &mut tip, ) @@ -1291,7 +1454,7 @@ mod tests { assert_eq!(outcome, PassOutcome::Drained); let mut expected = vec![message_key(&PEER_ZONE, 1, 0), message_key(&PEER_ZONE, 2, 0)]; expected.sort_unstable(); - assert_eq!(recorded_keys(&dbio), expected); + assert_eq!(recorded_keys(&storage_ref).await, expected); assert_eq!(tip, Some(tip_at(2))); } @@ -1300,18 +1463,31 @@ mod tests { // The tip is written per block and the floor per slot, so a crash // partway through the rebuild would otherwise leave a floor far above a // tip of 1, and nothing read after that restart could link. - let (_dir, dbio) = store(); - set_cross_zone_peer_floor(&dbio, PEER_ZONE, Slot::from(5000)).unwrap(); + let (_dir, storage_ref) = store().await; + set_cross_zone_peer_floor(&storage_ref, PEER_ZONE, Slot::from(5000)) + .await + .unwrap(); - let floor = get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(); - let tip = dbio.get_cross_zone_peer_tip(PEER_ZONE).unwrap(); + let floor = get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(); + let tip = storage_ref + .ask(GetCrossZonePeerTip { + peer_zone: PEER_ZONE, + }) + .await + .unwrap(); let resume = resume_from(tip, floor); assert_eq!(resume.cursor, None, "the rebuild reads from genesis"); assert!(resume.clear_floor); - clear_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(); + clear_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(); assert_eq!( - get_cross_zone_peer_floor(&dbio, PEER_ZONE).unwrap(), + get_cross_zone_peer_floor(&storage_ref, PEER_ZONE) + .await + .unwrap(), None, "and a crash mid-rebuild resumes from genesis too, not from slot 5000" ); diff --git a/lez/sequencer/core/src/lib.rs b/lez/sequencer/core/src/lib.rs index 1199aa705..099f8ae8c 100644 --- a/lez/sequencer/core/src/lib.rs +++ b/lez/sequencer/core/src/lib.rs @@ -1,7 +1,7 @@ use std::{ collections::VecDeque, path::Path, - sync::{Arc, Mutex}, + sync::Arc, time::{Duration, Instant}, }; @@ -18,7 +18,7 @@ use common::{ use config::{GenesisAction, SequencerConfig}; use cross_zone_inbox_core::CrossZoneMessage; use futures::StreamExt as _; -use itertools::Itertools as _; +use kameo::actor::ActorRef; use lee::{AccountId, PublicTransaction, public_transaction::Message}; use lee_core::GENESIS_BLOCK_ID; use log::{debug, error, info, warn}; @@ -32,17 +32,17 @@ use mempool::{MemPool, MemPoolHandle}; #[cfg(feature = "mock")] pub use mock::SequencerCoreWithMockClients; use num_bigint::BigUint; -pub use storage::error::DbError; -// Re-exported because `cross_zone_dead_letters` returns it and the service -// crate does not depend on `storage`, so it could not otherwise name the type. -pub use storage::sequencer::sequencer_cells::DeadLetterDispatchRecord; -use storage::sequencer::{ - DispatchFailure, RocksDBIO, StoreUpdate, - sequencer_cells::{ - DispatchOrigin, PendingCrossZoneDispatchRecord, PendingDepositEventRecord, - WithdrawalReconciliationKey, ZoneAnchorRecord, +use sequencer_storage_actor::{ + StorageActor, StorageActorTrait, + protocol::{ + ApplyStoreUpdate, DeadLetterDispatchRecord, DispatchFailure, DispatchOrigin, + DropSettledCrossZoneDispatches, GetBlock, GetDeadLetterDispatches, GetFirstBlockId, + GetLatestBlockMeta, GetPendingCrossZoneDispatches, PendingCrossZoneDispatchRecord, + PendingDepositEventRecord, RecordNewBlock, SetZoneAnchor, WithdrawalReconciliationKey, + ZoneAnchorRecord, }, }; +use tokio::sync::Mutex; use tokio_retry::{Retry, strategy::FixedInterval}; use crate::{ @@ -123,11 +123,14 @@ struct DepositMetadata { recipient_id: lee::AccountId, } -pub struct SequencerCore { +pub struct SequencerCore< + BP: BlockPublisherTrait = ZoneSdkPublisher, + S: StorageActorTrait = StorageActor, +> { /// Two-tier chain state: production builds on its head; the publisher's /// `on_follow` sink feeds adopted/orphaned/finalized peer blocks into it. chain: Arc>, - store: SequencerStore, + store: SequencerStore, mempool: MemPool<(TransactionOrigin, LeeTransaction)>, sequencer_config: SequencerConfig, block_publisher: BP, @@ -139,86 +142,24 @@ pub struct SequencerCore { last_committee_submission_slot: Option, } -impl SequencerCore { +impl SequencerCore { const CHANNEL_PROBE_RETRIES: usize = 29; const CHANNEL_PROBE_RETRY_DELAY: Duration = Duration::from_secs(2); /// Channel slots between committee-config submissions; a margin over /// observed Bedrock confirmation lag. const COMMITTEE_SUBMISSION_COOLDOWN: SlotCount = 10; - /// Starts the sequencer using the provided configuration. - /// If an existing database is found, the sequencer state is loaded from it and - /// assumed to represent the correct latest state consistent with Bedrock-finalized data. - /// If no database is found, the sequencer performs a fresh start from genesis, - /// initializing its state with the accounts defined in the configuration file. - fn open_or_create_store( - config: &SequencerConfig, - bootstrap_sequencer_key: Option, - ) -> (SequencerStore, lee::V03State) { - let signing_key = lee::PrivateKey::try_new(config.signing_key).unwrap(); - let db_path = config.db_path(); - - if db_path.exists() { - let store = SequencerStore::open_db(&db_path, signing_key).unwrap_or_else(|err| { - panic!( - "Failed to open database at {} with error: {err}", - db_path.display() - ) - }); - let state = store - .get_lee_state() - .expect("Failed to read state from store"); - (store, state) - } else { - let legacy = config.home.join("rocksdb"); - if legacy.exists() { - warn!( - "Ignoring pre-channel-suffix database at {}; rename it to {} to resume it", - legacy.display(), - db_path.display() - ); - } - warn!( - "Database not found at {}, starting from genesis", - db_path.display() - ); - - let (genesis_state, genesis_txs) = build_genesis_state(config, bootstrap_sequencer_key); - - let hashable_data = HashableBlockData { - block_id: GENESIS_BLOCK_ID, - transactions: genesis_txs, - prev_block_hash: HashType([0; 32]), - timestamp: 0, - }; - let genesis_block = hashable_data.into_pending_block(&signing_key); - - let store = SequencerStore::create_db_with_genesis( - &db_path, - &genesis_block, - &genesis_state, - signing_key, - ) - .expect("Failed to create database with genesis block"); - - // Incrementing count for genesis. - sequencer_core_metrics::increment_blocks_produced_total(); - - (store, genesis_state) - } - } - /// Rebuilds the two-tier [`ChainState`]: the final tier from the persisted /// final snapshot (pre-genesis state when absent), the head tier by replaying /// every stored block above it, so a post-restart orphan can still revert. - fn restore_chain_state( + async fn restore_chain_state( config: &SequencerConfig, - store: &SequencerStore, + store: &SequencerStore, stored_head_state: &lee::V03State, ) -> ChainState { let final_snapshot = store - .dbio() .get_final_snapshot() + .await .expect("Failed to read final snapshot from store"); let (final_state, final_tip) = match final_snapshot { Some((state, meta)) => (state, Some(Tip::from(meta))), @@ -229,9 +170,11 @@ impl SequencerCore { let mut head_blocks = store .get_all_blocks() - .filter_ok(|block| block.header.block_id > boundary) - .collect::, _>>() - .expect("Failed to read blocks from store while restoring chain state"); + .await + .expect("Failed to read blocks from store while restoring chain state") + .into_iter() + .filter(|block| block.header.block_id > boundary) + .collect::>(); head_blocks.sort_unstable_by_key(|block| block.header.block_id); let mut chain = ChainState::from_final(final_state, final_tip); @@ -252,8 +195,43 @@ impl SequencerCore { chain } + /// Seeds the storage actor's database with this zone's genesis when it + /// holds no chain yet. + async fn seed_genesis_if_absent( + storage_ref: &ActorRef, + signing_key: &lee::PrivateKey, + bootstrap_sequencer_key: Option, + config: &SequencerConfig, + ) { + let first_block_id = storage_ref + .ask(GetFirstBlockId) + .await + .expect("Failed to read the first block id"); + if first_block_id.is_some() { + return; + } + + let (block, state) = genesis_block_and_state(signing_key, bootstrap_sequencer_key, config); + storage_ref + .ask(RecordNewBlock { + block, + withdrawals: Vec::new(), + state: Arc::new(state), + checkpoint_bytes: None, + }) + .await + .expect("Failed to seed the database with the genesis block"); + + sequencer_core_metrics::increment_blocks_produced_total(); + } + + #[expect( + clippy::cognitive_complexity, + reason = "Slop has won the battle, but our war is not over" + )] pub async fn start_from_config( config: SequencerConfig, + storage_ref: ActorRef, ) -> (Self, MemPoolHandle<(TransactionOrigin, LeeTransaction)>) { sequencer_core_metrics::init(); @@ -287,8 +265,18 @@ impl SequencerCore { info!("Channel does not exist yet; starting it as channel creator"); } let bootstrap_sequencer_key = (!channel_already_exists).then_some(own_sequencer_key); + let signing_key = lee::PrivateKey::try_new(config.signing_key).unwrap(); + Self::seed_genesis_if_absent(&storage_ref, &signing_key, bootstrap_sequencer_key, &config) + .await; - let (store, state) = Self::open_or_create_store(&config, bootstrap_sequencer_key); + let store = SequencerStore::new(storage_ref, signing_key) + .await + .expect("Failed to open sequencer store"); + let state = store + .get_lee_state() + .await + .expect("Failed to read state from store") + .expect("Store holds a chain but no state"); assert!( committee_discovery::config_is_readable(&state), @@ -296,12 +284,13 @@ impl SequencerCore { one this sequencer can operate on" ); - let chain = Arc::new(Mutex::new(Self::restore_chain_state( - &config, &store, &state, - ))); + let chain = Arc::new(Mutex::new( + Self::restore_chain_state(&config, &store, &state).await, + )); let initial_checkpoint = store .get_zone_checkpoint() + .await .expect("Failed to load zone-sdk checkpoint"); let is_fresh_start = initial_checkpoint.is_none(); @@ -313,7 +302,11 @@ impl SequencerCore { bedrock_signing_key, config.retry_pending_blocks_timeout, initial_checkpoint, - Self::on_follow(store.dbio(), Arc::clone(&chain), mempool_handle.clone()), + Self::on_follow( + store.storage_ref().clone(), + Arc::clone(&chain), + mempool_handle.clone(), + ), ) .await .expect("Failed to initialize Block Publisher"); @@ -328,7 +321,7 @@ impl SequencerCore { &config.bedrock_config, cross_zone, config.block_create_timeout, - &store.dbio(), + store.storage_ref(), ) }); // Before producing, verify our local state still belongs to the chain @@ -347,10 +340,12 @@ impl SequencerCore { // store written before the mark existed starts in. if let Some(tip) = store .latest_block_meta() + .await .expect("Failed to read latest block meta") { store .raise_published_high_water(tip.id) + .await .expect("Failed to seed published high water mark"); } @@ -361,9 +356,11 @@ impl SequencerCore { if is_fresh_start && channel_absent { let mut pending_blocks = store .get_all_blocks() - .filter_ok(|block| matches!(block.bedrock_status, BedrockStatus::Pending)) - .collect::, _>>() - .expect("Failed to read blocks from store while republishing on fresh start"); + .await + .expect("Failed to read blocks from store while republishing on fresh start") + .into_iter() + .filter(|block| matches!(block.bedrock_status, BedrockStatus::Pending)) + .collect::>(); pending_blocks.sort_unstable_by_key(|block| block.header.block_id); assert!( @@ -397,6 +394,7 @@ impl SequencerCore { last_checkpoint = Some(outcome.checkpoint); store .raise_published_high_water(block.header.block_id) + .await .expect("Failed to persist published high water mark"); } @@ -406,6 +404,7 @@ impl SequencerCore { if let Some(checkpoint) = last_checkpoint { store .set_zone_checkpoint(&checkpoint) + .await .expect("Failed to persist checkpoint after republishing on fresh start"); } } @@ -420,8 +419,8 @@ impl SequencerCore { last_committee_submission_slot: None, }; - sequencer_core_metrics::record_chain_height(sequencer_core.chain_height()); - record_dead_letter_gauge(&sequencer_core.store.dbio()); + sequencer_core_metrics::record_chain_height(sequencer_core.chain_height().await); + record_dead_letter_gauge(sequencer_core.store.storage_ref()).await; (sequencer_core, mempool_handle) } @@ -436,12 +435,13 @@ impl SequencerCore { /// this sequencer is the one that must bootstrap-publish its own blocks. async fn verify_and_reconstruct( publisher: &BP, - store: &SequencerStore, + store: &SequencerStore, chain: &Mutex, is_fresh_start: bool, ) -> Result { let anchor_record = store .get_zone_anchor() + .await .context("Failed to read zone anchor")?; let after_slot = anchor_record @@ -468,6 +468,7 @@ impl SequencerCore { // channel activity in a prior run. let local_tip = store .latest_block_meta() + .await .context("Failed to read latest block meta")? .map(|meta| meta.id); let had_checkpoint_before_start = !is_fresh_start; @@ -535,8 +536,8 @@ impl SequencerCore { // Locked per message (not across the stream `await`): concurrent // follow events interleave safely — both paths apply idempotently // and persist under this same lock. - let mut chain = chain.lock().expect("chain state mutex poisoned"); - Self::apply_reconstructed_block(store, &mut chain, &block, slot)?; + let mut chain = chain.lock().await; + Self::apply_reconstructed_block(store.storage_ref(), &mut chain, &block, slot).await?; } // The channel exists once it has a tip; only when it has none is this @@ -551,14 +552,15 @@ impl SequencerCore { /// blocks we already hold, ignored when it conflicts at a height the final /// tier already settled, a validated continuation otherwise. Advances the /// persisted anchor to the block's slot. - fn apply_reconstructed_block( - store: &SequencerStore, + async fn apply_reconstructed_block( + storage_ref: &ActorRef, chain: &mut ChainState, block: &Block, slot: Slot, ) -> Result<()> { - let tip = store - .latest_block_meta() + let tip = storage_ref + .ask(GetLatestBlockMeta) + .await .context("Failed to read latest block meta")?; let block_id = block.header.block_id; let block_hash = block.header.hash; @@ -576,14 +578,16 @@ impl SequencerCore { // downstream would ever remove them. if let Some(tip) = &tip && block_id <= tip.id - && let Some(stored) = store - .get_block_at_id(block_id) + && let Some(stored) = storage_ref + .ask(GetBlock { block_id }) + .await .context("Failed to read stored block")? && stored.header.hash == block_hash { - settle_reconstructed_deliveries(store, &stored); - store - .set_zone_anchor(&record) + settle_reconstructed_deliveries(storage_ref, &stored).await; + storage_ref + .ask(SetZoneAnchor { anchor: record }) + .await .context("Failed to persist zone anchor")?; return Ok(()); } @@ -628,24 +632,29 @@ impl SequencerCore { .collect(); // The same for the deliveries it carries: the inbox has seen them, so // the drain would skip them anyway, and the records are owed nothing. - let finalized_dispatch_keys = settled_dispatch_keys(&store.dbio(), block); + let finalized_dispatch_keys = settled_dispatch_keys(storage_ref, block).await; // The tip meta stays pinned to the head tip even when the reconstructed // block lands below it, and the anchor only advances if the block // itself landed. let head_tip = chain.head_tip().map(|head| BlockMeta::from(&head)); let final_meta = chain.final_tip().map(|meta| BlockMeta::from(&meta)); - store - .dbio() - .store_update(&StoreUpdate { - blocks: &[(block, true)], - head_tip: head_tip.as_ref(), - final_snapshot: final_meta.as_ref().map(|meta| (chain.final_state(), meta)), - remove_deposit_records: &finalized_deposit_ids, - remove_dispatch_records: &finalized_dispatch_keys, - zone_anchor: Some(&record), - ..StoreUpdate::new(chain.head_state()) + storage_ref + .ask(ApplyStoreUpdate { + blocks: vec![(block.clone(), true)], + head_tip, + head_state: chain.share_head_state(), + final_snapshot: final_meta.map(|meta| (chain.share_final_state(), meta)), + remove_deposit_records: finalized_deposit_ids, + remove_dispatch_records: finalized_dispatch_keys, + zone_anchor: Some(record), + checkpoint: None, + finalized_up_to: None, + new_deposit_events: Vec::new(), + consumed_withdrawals: Vec::new(), + new_withdraw_intents: Vec::new(), }) + .await .context("Failed to persist reconstructed block")?; Ok(()) @@ -653,12 +662,17 @@ impl SequencerCore { /// Publisher sink adapter over [`apply_follow_update`]. fn on_follow( - dbio: Arc, + storage_ref: ActorRef, chain: Arc>, mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, ) -> block_publisher::OnFollowSink { Box::new(move |update: block_publisher::FollowUpdate| { - apply_follow_update(&dbio, &chain, &mempool_handle, update); + let storage_ref = storage_ref.clone(); + let chain = Arc::clone(&chain); + let mempool_handle = mempool_handle.clone(); + Box::pin(async move { + apply_follow_update(&storage_ref, &chain, &mempool_handle, update).await; + }) }) } @@ -674,6 +688,7 @@ impl SequencerCore { committee_update, } = self .build_block_from_mempool(live_accredited_keys.as_deref()) + .await .context("Failed to build block from mempool transactions")?; let block_publisher::PublishOutcome { @@ -690,6 +705,7 @@ impl SequencerCore { // block below, so this height must never be published again. self.store .raise_published_high_water(block.header.block_id) + .await .context("Failed to persist published high water mark")?; // Independent Mantle tx, not bundled with the block above — join/exit @@ -701,14 +717,11 @@ impl SequencerCore { .map(withdrawal_reconciliation_key) .collect(); - self.record_produced_block( - this_msg, - &block, - &withdrawal_reconciliation_keys, - &checkpoint, - )?; + let block_id = block.header.block_id; + self.record_produced_block(this_msg, block, withdrawal_reconciliation_keys, &checkpoint) + .await?; - Ok(block.header.block_id) + Ok(block_id) } /// Live committee snapshot for gating `FinalizeUnstake` inclusion and @@ -792,29 +805,30 @@ impl SequencerCore { /// `Parked` when the head reorged to a different parent), the canonical /// block is persisted by the follow path instead, and our invalidated /// inscription comes back via `orphaned`. - fn record_produced_block( + async fn record_produced_block( &mut self, this_msg: MsgId, - block: &Block, - withdrawal_reconciliation_keys: &[WithdrawalReconciliationKey], + block: Block, + withdrawal_reconciliation_keys: Vec, checkpoint: &block_publisher::SequencerCheckpoint, ) -> Result<()> { let checkpoint_bytes = block_store::checkpoint_bytes(checkpoint)?; - let mut chain = self.chain.lock().expect("chain state mutex poisoned"); - match chain.apply_produced(this_msg, block) { + let mut chain = self.chain.lock().await; + match chain.apply_produced(this_msg, &block) { AcceptOutcome::Applied => { - // Persisted under the lock so disk writes land in apply order - // with the follow path. - self.store.update( - block, - withdrawal_reconciliation_keys, - chain.head_state(), - Some(&checkpoint_bytes), - )?; + let block_id = block.header.block_id; + self.store + .record_new_block( + block, + withdrawal_reconciliation_keys, + chain.share_head_state(), + Some(checkpoint_bytes), + ) + .await?; sequencer_core_metrics::increment_blocks_produced_total(); - sequencer_core_metrics::record_chain_height(block.header.block_id); + sequencer_core_metrics::record_chain_height(block_id); } // Neither branch persists anything, checkpoint included: the // inscription it holds as pending belongs to a block that is not @@ -910,7 +924,11 @@ impl SequencerCore { true } - fn build_block_from_mempool( + #[expect( + clippy::cognitive_complexity, + reason = "Slop has won the battle, but our war is not over" + )] + async fn build_block_from_mempool( &mut self, live_accredited_keys: Option<&[sequencer_stake_core::SequencerKey]>, ) -> Result { @@ -923,8 +941,8 @@ impl SequencerCore { let mut settled = Vec::new(); let recorded_dispatches: Vec<_> = self .store - .dbio() - .get_pending_cross_zone_dispatches() + .pending_cross_zone_dispatches() + .await .context("Failed to load pending cross-zone dispatches")? .into_iter() .filter_map( @@ -958,7 +976,7 @@ impl SequencerCore { pending_dispatches, finalize_unstake_txs, ) = { - let chain = self.chain.lock().expect("chain state mutex poisoned"); + let chain = self.chain.lock().await; let tip = chain.head_tip(); let height = tip.as_ref().map_or(GENESIS_BLOCK_ID, |head| { head.block_id @@ -998,8 +1016,8 @@ impl SequencerCore { if !settled.is_empty() { if let Err(err) = self .store - .dbio() - .drop_settled_cross_zone_dispatches(&settled) + .drop_settled_cross_zone_dispatches(settled.clone()) + .await { // Only bookkeeping: the deliveries themselves are irreversible, // and the next turn tries again. @@ -1010,7 +1028,7 @@ impl SequencerCore { } // A settled delivery may be one this node had given up on, which // takes its dead letter with it. - record_dead_letter_gauge(&self.store.dbio()); + record_dead_letter_gauge(self.store.storage_ref()).await; } let mut valid_transactions = Vec::new(); @@ -1029,6 +1047,7 @@ impl SequencerCore { let pending_deposits: VecDeque = self .store .get_pending_deposit_events() + .await .context("Failed to load pending deposit events")? .into_iter() .filter(|record| !deposit_already_minted(&working_state, record.deposit_op_id)) @@ -1109,7 +1128,7 @@ impl SequencerCore { "Sequencer-drained transaction {tx_hash} cannot fit in any block under the \ {max_block_size} byte limit; giving up on it rather than stalling production", ); - self.count_dispatch_failure(&tx); + self.count_dispatch_failure(&tx).await; continue; } @@ -1164,7 +1183,7 @@ impl SequencerCore { // A failed transaction is simply left out of the block, except a // dispatch: that one is re-fed from the store every turn, so one // that can never execute would fail on every block for ever. - self.count_dispatch_failure(&tx); + self.count_dispatch_failure(&tx).await; } if valid_transactions.len() >= self.sequencer_config.max_num_tx_in_block { @@ -1209,23 +1228,18 @@ impl SequencerCore { /// Reads the current head state under the lock without cloning it, so callers /// reuse `V03State`'s own API (accounts, nonces, proofs) with no whole-state copy. - pub fn with_state(&self, f: impl FnOnce(&lee::V03State) -> R) -> R { - f(self - .chain - .lock() - .expect("chain state mutex poisoned") - .head_state()) + pub async fn with_state(&self, f: impl FnOnce(&lee::V03State) -> R) -> R { + f(self.chain.lock().await.head_state()) } - pub const fn block_store(&self) -> &SequencerStore { + pub const fn block_store(&self) -> &SequencerStore { &self.store } - #[must_use] - pub fn chain_height(&self) -> u64 { + pub async fn chain_height(&self) -> u64 { self.chain .lock() - .expect("chain state mutex poisoned") + .await .head_tip() .map_or(0, |tip| tip.block_id) } @@ -1240,20 +1254,20 @@ impl SequencerCore { /// [`StoreUpdate::finalized_up_to`]. Kept on the type for tests. // TODO: Delete blocks instead of marking them as finalized. Current // approach is used because we still have `GetBlockDataRequest`. - pub fn clean_finalized_blocks_from_db(&self, last_finalized_block_id: u64) -> Result<()> { + pub async fn clean_finalized_blocks_from_db(&self, last_finalized_block_id: u64) -> Result<()> { log::info!("Clearing pending blocks up to id: {last_finalized_block_id}"); self.store - .dbio() - .clean_pending_blocks_up_to(last_finalized_block_id)?; + .clean_pending_blocks_up_to(last_finalized_block_id) + .await?; Ok(()) } /// Returns the list of stored pending blocks. - pub fn get_pending_blocks(&self) -> Result> { + pub async fn get_pending_blocks(&self) -> Result> { Ok(self .store .get_all_blocks() - .collect::>>()? + .await? .into_iter() .filter(|block| matches!(block.bedrock_status, BedrockStatus::Pending)) .collect()) @@ -1300,7 +1314,7 @@ impl SequencerCore { /// can equally be a property of the moment, so give up only after several. /// Giving up moves the record to the dead letter: a peer cannot grow the /// pending list with deliveries that never execute, and it stays findable. - fn count_dispatch_failure(&self, tx: &LeeTransaction) { + async fn count_dispatch_failure(&self, tx: &LeeTransaction) { let Some(message) = extract_cross_zone_dispatch(tx) else { return; }; @@ -1316,12 +1330,12 @@ impl SequencerCore { }; match self .store - .dbio() .record_dispatch_failure(key, RETIRE_DISPATCH_AFTER_FAILURES, origin) + .await { Ok(DispatchFailure::Retired(record)) => { sequencer_core_metrics::increment_cross_zone_dispatches_retired_total(); - record_dead_letter_gauge(&self.store.dbio()); + record_dead_letter_gauge(self.store.storage_ref()).await; error!( "Giving up on cross-zone delivery {} from peer zone {} block {} transaction {} ({} bytes) after {} failed attempts. This node will not retry it; unless another sequencer carries it, the message is not delivered. Kept in the dead letter.", hex::encode(key), @@ -1354,10 +1368,9 @@ impl SequencerCore { /// Retained is read first so the pair can only skew towards a total that /// leads its list, an ordinary evicted or settled state. The other order /// would report entries against a total of zero. - pub fn cross_zone_dead_letters(&self) -> Result<(u64, Vec), DbError> { - let dbio = self.store.dbio(); - let retained = dbio.get_dead_letter_cross_zone_dispatches()?; - let total = dbio.get_dead_letter_cross_zone_dispatch_count()?; + pub async fn cross_zone_dead_letters(&self) -> Result<(u64, Vec)> { + let retained = self.store.dead_letter_dispatches().await?; + let total = self.store.dead_letter_dispatch_count().await?; Ok((total, retained)) } @@ -1382,11 +1395,10 @@ impl SequencerCore { } /// The height the next produced block would claim. - #[must_use] - pub fn next_block_height(&self) -> u64 { + pub async fn next_block_height(&self) -> u64 { self.chain .lock() - .expect("chain state mutex poisoned") + .await .head_tip() .map_or(GENESIS_BLOCK_ID, |tip| { tip.block_id @@ -1406,10 +1418,9 @@ impl SequencerCore { /// /// This is not a stall — the head recovers by itself once the inscriptions /// we are protecting finalize and the final tier rebases onto them. - #[must_use] - pub fn rewound_below_published(&self) -> Option { - let high_water = self.store.published_high_water().ok().flatten()?; - (self.next_block_height() <= high_water).then_some(high_water) + pub async fn rewound_below_published(&self) -> Option { + let high_water = self.store.published_high_water().await.ok().flatten()?; + (self.next_block_height().await <= high_water).then_some(high_water) } /// Shared handle to the two-tier follow state, for tests to drive the @@ -1464,8 +1475,8 @@ fn dispatch_already_delivered(state: &lee::V03State, message: &CrossZoneMessage) /// Read from the store because the list falls as well as rises (eviction, and /// reconciliation when a delivery settles elsewhere). Costs a read and a decode, /// so call it only where one of those can have happened. -fn record_dead_letter_gauge(dbio: &RocksDBIO) { - match dbio.get_dead_letter_cross_zone_dispatches() { +async fn record_dead_letter_gauge(storage_ref: &ActorRef) { + match storage_ref.ask(GetDeadLetterDispatches).await { Ok(records) => { sequencer_core_metrics::record_cross_zone_dead_letter_dispatches(records.len()); } @@ -1487,8 +1498,8 @@ fn record_dead_letter_gauge(dbio: &RocksDBIO) { /// relies on a valid successor or a restart. `ChainState` never emits /// `AcceptOutcome::RetryableFailure` yet; adding retry parity here is a /// follow-up. -fn apply_follow_update( - dbio: &RocksDBIO, +async fn apply_follow_update( + storage_ref: &ActorRef, chain: &Mutex, mempool_handle: &MemPoolHandle<(TransactionOrigin, LeeTransaction)>, update: block_publisher::FollowUpdate, @@ -1522,7 +1533,7 @@ fn apply_follow_update( // The lock is held across the persist below so disk writes land in apply // order — the produce path persists under this same lock. let (resubmit_txs, outcome, head_height) = { - let mut chain = chain.lock().expect("chain state mutex poisoned"); + let mut chain = chain.lock().await; // An orphan report rewinds the head to the earliest orphaned block and // prunes the store above it, which is how a run of our own inscriptions @@ -1619,6 +1630,7 @@ fn apply_follow_update( BlockMeta::from(&tip) }); let head_tip = chain.head_tip().map(|tip| BlockMeta::from(&tip)); + let head_tip_id = head_tip.as_ref().map_or(0, |tip| tip.id); // Every block at or below the highest finalized one is irreversible, so // stored blocks there can be marked finalized. @@ -1638,36 +1650,42 @@ fn apply_follow_update( // The same for cross-zone deliveries, keyed by message key: a record // goes once its own delivery is irreversible, never because another // block finalized at its height. - let finalized_dispatch_keys: Vec<[u8; 32]> = irreversible - .iter() - .flat_map(|block| settled_dispatch_keys(dbio, block)) - .collect(); + let mut finalized_dispatch_keys: Vec<[u8; 32]> = Vec::new(); + for block in &irreversible { + finalized_dispatch_keys.extend(settled_dispatch_keys(storage_ref, block).await); + } // A persist failure is fatal: the in-memory chain has already advanced, // and continuing would leave a permanent gap in the store. The `panic!` // ends the drive task, whose cancellation halts the node. - let outcome = dbio - .store_update(&StoreUpdate { - checkpoint: Some(&checkpoint_bytes), - blocks: &to_persist, - head_tip: head_tip.as_ref(), - final_snapshot: final_meta.as_ref().map(|meta| (chain.final_state(), meta)), + let outcome = storage_ref + .ask(ApplyStoreUpdate { + checkpoint: Some(checkpoint_bytes), + blocks: to_persist + .into_iter() + .map(|(block, fin)| (block.clone(), fin)) + .collect(), + head_tip, + head_state: chain.share_head_state(), + final_snapshot: final_meta.map(|meta| (chain.share_final_state(), meta)), finalized_up_to: last_finalized, - new_deposit_events: &deposit_records, - remove_deposit_records: &finalized_deposit_ids, - remove_dispatch_records: &finalized_dispatch_keys, - consumed_withdrawals: &consumed_withdrawals, - ..StoreUpdate::new(chain.head_state()) + new_deposit_events: deposit_records, + remove_deposit_records: finalized_deposit_ids, + remove_dispatch_records: finalized_dispatch_keys, + consumed_withdrawals, + new_withdraw_intents: Vec::new(), + zone_anchor: None, }) + .await .unwrap_or_else(|err| panic!("Failed to persist follow update: {err:#}")); - (resubmit_txs, outcome, head_tip.map_or(0, |tip| tip.id)) + (resubmit_txs, outcome, head_tip_id) }; sequencer_core_metrics::record_chain_height(head_height); // The runtime reconcile path: finalizing another sequencer's block drops the // dead letter of a delivery this node gave up on. - record_dead_letter_gauge(dbio); + record_dead_letter_gauge(storage_ref).await; if outcome.accepted_deposits > 0 { log::info!( @@ -1700,6 +1718,24 @@ fn apply_follow_update( } } +/// The genesis block and state `config` describes. +fn genesis_block_and_state( + signing_key: &lee::PrivateKey, + bootstrap_sequencer_key: Option, + config: &SequencerConfig, +) -> (Block, lee::V03State) { + let (genesis_state, genesis_txs) = build_genesis_state(config, bootstrap_sequencer_key); + let genesis_block = HashableBlockData { + block_id: GENESIS_BLOCK_ID, + transactions: genesis_txs, + prev_block_hash: HashType([0; 32]), + timestamp: 0, + } + .into_pending_block(signing_key); + + (genesis_block, genesis_state) +} + /// The pre-genesis state: `testnet_initial_state` plus the bridge-lock holdings, /// the only accounts seeded outside any transaction. Everything else, including /// the bootstrap sequencer's own stake, is applied as a genesis transaction in @@ -2002,7 +2038,7 @@ fn build_supply_account_genesis_transaction( let message = Message::try_new( faucet_program_id, vec![system_accounts::faucet_account_id(), recipient_vault_id], - vec![], + Vec::new(), faucet_core::Instruction::GenesisTransferVault { vault_program_id, recipient_id: *account_id, @@ -2010,7 +2046,7 @@ fn build_supply_account_genesis_transaction( }, ) .expect("Failed to serialize genesis transfer instruction"); - let witness_set = lee::public_transaction::WitnessSet::from_raw_parts(vec![]); + let witness_set = lee::public_transaction::WitnessSet::from_raw_parts(Vec::new()); PublicTransaction::new(message, witness_set) } @@ -2022,11 +2058,11 @@ fn build_supply_bridge_account_genesis_transaction(balance: u128) -> PublicTrans let message = Message::try_new( faucet_program_id, vec![system_accounts::faucet_account_id(), bridge_account_id], - vec![], + Vec::new(), faucet_core::Instruction::GenesisTransferDirect { amount: balance }, ) .expect("Failed to serialize bridge genesis transfer instruction"); - let witness_set = lee::public_transaction::WitnessSet::from_raw_parts(vec![]); + let witness_set = lee::public_transaction::WitnessSet::from_raw_parts(Vec::new()); PublicTransaction::new(message, witness_set) } @@ -2060,7 +2096,7 @@ fn build_bridge_deposit_tx_from_event(event: &PendingDepositEventRecord) -> Resu recipient_vault_id, receipt_id, ], - vec![], + Vec::new(), bridge_core::Instruction::Deposit { l1_deposit_op_id: event.deposit_op_id.0, vault_program_id, @@ -2070,7 +2106,7 @@ fn build_bridge_deposit_tx_from_event(event: &PendingDepositEventRecord) -> Resu ) .context("Failed to build bridge deposit message")?; - let witness_set = lee::public_transaction::WitnessSet::from_raw_parts(vec![]); + let witness_set = lee::public_transaction::WitnessSet::from_raw_parts(Vec::new()); Ok(LeeTransaction::Public(PublicTransaction::new( message, witness_set, @@ -2217,8 +2253,14 @@ fn extract_cross_zone_dispatch_key(tx: &LeeTransaction) -> Option<[u8; 32]> { /// indexer, which re-derives every delivery and halts, but the local record is /// the last copy of what we believed and it is about to be dropped either way. /// Saying so in the log is what makes the halt diagnosable. -fn settled_dispatch_keys(dbio: &RocksDBIO, block: &Block) -> Vec<[u8; 32]> { - let recorded = dbio.get_pending_cross_zone_dispatches().unwrap_or_default(); +async fn settled_dispatch_keys( + storage_ref: &ActorRef, + block: &Block, +) -> Vec<[u8; 32]> { + let recorded = storage_ref + .ask(GetPendingCrossZoneDispatches) + .await + .unwrap_or_default(); let (keys, forged) = classify_settled_deliveries(&recorded, block); for key in forged { error!( @@ -2263,12 +2305,18 @@ fn classify_settled_deliveries( /// /// A persist failure is only logged: the deliveries are already irreversible, so /// the worst case is a record the next drain drops instead. -fn settle_reconstructed_deliveries(store: &SequencerStore, block: &Block) { - let keys = settled_dispatch_keys(&store.dbio(), block); +async fn settle_reconstructed_deliveries( + storage_ref: &ActorRef, + block: &Block, +) { + let keys = settled_dispatch_keys(storage_ref, block).await; if keys.is_empty() { return; } - if let Err(err) = store.dbio().drop_settled_cross_zone_dispatches(&keys) { + if let Err(err) = storage_ref + .ask(DropSettledCrossZoneDispatches { message_keys: keys }) + .await + { warn!("Failed to settle reconstructed delivery records: {err:#}"); } } diff --git a/lez/sequencer/core/src/tests.rs b/lez/sequencer/core/src/tests.rs index 3be25824b..a5acdf0c5 100644 --- a/lez/sequencer/core/src/tests.rs +++ b/lez/sequencer/core/src/tests.rs @@ -1,6 +1,6 @@ #![expect(clippy::shadow_unrelated, reason = "We don't care about it in tests")] -use std::{pin::pin, time::Duration}; +use std::{pin::pin, sync::Arc, time::Duration}; use common::{ HashType, @@ -8,6 +8,7 @@ use common::{ test_utils::sequencer_sign_key_for_testing, transaction::{LeeTransaction, clock_invocation}, }; +use kameo::actor::Spawn as _; use lee::{ Account, AccountId, Data, PrivateKey, PublicKey, PublicTransaction, V03State, program::Program, }; @@ -24,8 +25,12 @@ use logos_blockchain_key_management_system_service::keys::{Ed25519Key, ZkPublicK use logos_blockchain_zone_sdk::{Slot, sequencer::DepositInfo}; use mempool::MemPoolHandle; use ping_core::{ReceiverInstruction, ping_record_pda, receiver_config_account_id}; -use storage::sequencer::sequencer_cells::{ - DispatchOrigin, PendingCrossZoneDispatchRecord, PendingDepositEventRecord, +use sequencer_storage_actor::{ + StorageActor, + protocol::{ + AddPendingCrossZoneDispatches, AddPendingDepositEvent, DispatchOrigin, + PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RecordNewBlock, + }, }; use tempfile::tempdir; use testnet_initial_state::{initial_pub_accounts_private_keys, initial_public_user_accounts}; @@ -34,7 +39,6 @@ use crate::{ MAX_DISPATCHES_PER_BLOCK, RETIRE_DISPATCH_AFTER_FAILURES, TransactionOrigin, apply_follow_update, block_publisher::FollowUpdate, - block_store::SequencerStore, build_bridge_deposit_tx_from_event, build_finalize_unstake_tx, build_genesis_state, classify_settled_deliveries, config::{ @@ -79,6 +83,17 @@ fn test_sequencer_key(seed: u8) -> sequencer_stake_core::SequencerKey { .expect("a Bedrock public key is a valid Ed25519 public key") } +async fn start_sequencer( + config: SequencerConfig, +) -> ( + SequencerCoreWithMockClients, + MemPoolHandle<(TransactionOrigin, LeeTransaction)>, +) { + let storage = StorageActor::new(&config.db_path()).expect("Failed to open database"); + let storage_ref = StorageActor::spawn(storage); + SequencerCoreWithMockClients::start_from_config(config, storage_ref).await +} + /// A follow update carrying nothing, to fill in the fields a test does not /// exercise via `..empty_follow_update()`. fn empty_follow_update() -> FollowUpdate { @@ -182,8 +197,7 @@ async fn common_setup_with_config( SequencerCoreWithMockClients, MemPoolHandle<(TransactionOrigin, LeeTransaction)>, ) { - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; let tx = common::test_utils::produce_dummy_empty_transaction(); mempool_handle @@ -306,30 +320,33 @@ fn dispatches_in(block: &Block) -> Vec<[u8; 32]> { } /// The pending dispatch records a sequencer still holds. -fn pending_dispatches( +async fn pending_dispatches( sequencer: &SequencerCoreWithMockClients, ) -> Vec { sequencer - .store - .dbio() - .get_pending_cross_zone_dispatches() + .block_store() + .pending_cross_zone_dispatches() + .await .expect("pending dispatches readable") } #[tokio::test] async fn start_from_config() { let config = setup_sequencer_config(); - let (sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let (sequencer, _mempool_handle) = start_sequencer(config.clone()).await; - assert_eq!(sequencer.chain_height(), 1); + assert_eq!(sequencer.chain_height().await, 1); assert_eq!(sequencer.sequencer_config.max_num_tx_in_block, 10); let acc1_account_id = initial_public_user_accounts()[0].account_id; let acc2_account_id = initial_public_user_accounts()[1].account_id; - let balance_acc_1 = sequencer.with_state(|s| s.get_account_by_id(acc1_account_id).balance); - let balance_acc_2 = sequencer.with_state(|s| s.get_account_by_id(acc2_account_id).balance); + let balance_acc_1 = sequencer + .with_state(|s| s.get_account_by_id(acc1_account_id).balance) + .await; + let balance_acc_2 = sequencer + .with_state(|s| s.get_account_by_id(acc2_account_id).balance) + .await; assert_eq!(10000, balance_acc_1); assert_eq!(20000, balance_acc_2); @@ -353,18 +370,23 @@ async fn start_from_config_opens_existing_db_if_it_exists() { }; let genesis_block = genesis_hashable_data.into_pending_block(&signing_key); - SequencerStore::create_db_with_genesis( - &config.db_path(), - &genesis_block, - &genesis_state, - signing_key, - ) - .unwrap(); + let storage = StorageActor::new(&config.db_path()).unwrap(); + let storage_ref = StorageActor::spawn(storage); + storage_ref + .ask(RecordNewBlock { + block: genesis_block, + withdrawals: vec![], + state: Arc::new(genesis_state), + checkpoint_bytes: None, + }) + .await + .unwrap(); + storage_ref.stop_gracefully().await.unwrap(); + storage_ref.wait_for_shutdown().await; - let (sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; - assert_eq!(sequencer.chain_height(), 1); - assert!(sequencer.store.latest_block_meta().is_ok()); + let (sequencer, _mempool_handle) = start_sequencer(config).await; + assert_eq!(sequencer.chain_height().await, 1); + assert!(sequencer.store.last_block_id().await.is_ok()); } #[should_panic(expected = "Failed to open database")] @@ -380,7 +402,7 @@ async fn start_from_config_panics_when_db_open_returns_non_not_found_error() { // Force RocksDB open to fail with an IO error by placing a file at DB path. std::fs::write(&db_path, b"not-a-directory").unwrap(); - let _ = SequencerCoreWithMockClients::start_from_config(config).await; + let _ = start_sequencer(config).await; } #[tokio::test] @@ -392,10 +414,11 @@ async fn unfulfilled_deposit_events_are_drained_from_the_store_on_production() { let expected_amount = 1_u64; let recipient_id = initial_public_user_accounts()[0].account_id; - { - let (_sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; - } + let storage_weak = { + let (sequencer, _mempool_handle) = start_sequencer(config.clone()).await; + sequencer.block_store().storage_ref().downgrade() + }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; let pending_event = PendingDepositEventRecord { deposit_op_id: HashType(deposit_op_id), @@ -405,21 +428,22 @@ async fn unfulfilled_deposit_events_are_drained_from_the_store_on_production() { }; { - let signing_key = lee::PrivateKey::try_new(config.signing_key).unwrap(); - let store = SequencerStore::open_db(&config.db_path(), signing_key).unwrap(); - - let inserted = store - .dbio() - .add_pending_deposit_event(pending_event) + let storage_ref = StorageActor::spawn(StorageActor::new(&config.db_path()).unwrap()); + let inserted = storage_ref + .ask(AddPendingDepositEvent { + event: pending_event, + }) + .await .unwrap(); assert!(inserted); + storage_ref.stop_gracefully().await.unwrap(); + storage_ref.wait_for_shutdown().await; } // The mint never goes through the mempool: the record is the queue, and // production drains it. That is what makes a restart — or a follow event // arriving while a full mempool would have dropped the push — lossless. - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; assert!( sequencer.mempool.pop().is_none(), "deposit mints are drained from the store, never queued in the mempool" @@ -428,7 +452,8 @@ async fn unfulfilled_deposit_events_are_drained_from_the_store_on_production() { let block_id = sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .unwrap() .expect("produced block is stored"); assert!( @@ -446,13 +471,16 @@ async fn unfulfilled_deposit_events_are_drained_from_the_store_on_production() { sequencer .store .get_pending_deposit_events() + .await .unwrap() .iter() .any(|event| event.deposit_op_id == HashType(deposit_op_id)), "the record remains until the deposit finalizes" ); assert!( - sequencer.with_state(|state| deposit_already_minted(state, HashType(deposit_op_id))), + sequencer + .with_state(|state| deposit_already_minted(state, HashType(deposit_op_id))) + .await, "the deposit's receipt PDA marks it minted in head state" ); } @@ -464,26 +492,29 @@ async fn a_drained_deposit_is_not_minted_twice_across_turns() { let deposit_op_id = [17_u8; 32]; let recipient_id = initial_public_user_accounts()[0].account_id; - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; sequencer - .store - .dbio() - .add_pending_deposit_event(PendingDepositEventRecord { - deposit_op_id: HashType(deposit_op_id), - source_tx_hash: HashType([7_u8; 32]), - amount: 1, - metadata: borsh::to_vec(&DepositMetadataForEncoding { recipient_id }).unwrap(), + .block_store() + .storage_ref() + .ask(AddPendingDepositEvent { + event: PendingDepositEventRecord { + deposit_op_id: HashType(deposit_op_id), + source_tx_hash: HashType([7_u8; 32]), + amount: 1, + metadata: borsh::to_vec(&DepositMetadataForEncoding { recipient_id }).unwrap(), + }, }) + .await .unwrap(); let first = sequencer.run_production_turn().await.unwrap(); let second = sequencer.run_production_turn().await.unwrap(); - let minted_in = |block_id: u64| { + let minted_in = async |block_id: u64| { sequencer .store - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .unwrap() .expect("produced block is stored") .body @@ -493,9 +524,9 @@ async fn a_drained_deposit_is_not_minted_twice_across_turns() { .count() }; - assert_eq!(minted_in(first), 1); + assert_eq!(minted_in(first).await, 1); assert_eq!( - minted_in(second), + minted_in(second).await, 0, "the receipt PDA from the first mint must keep the drain from re-minting" ); @@ -513,31 +544,35 @@ async fn an_orphaned_deposit_is_reminted_exactly_once_in_the_replacement() { let deposit_op_id = [0x2c_u8; 32]; let amount = 500_u64; - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; sequencer - .store - .dbio() - .add_pending_deposit_event(PendingDepositEventRecord { - deposit_op_id: HashType(deposit_op_id), - source_tx_hash: HashType([7_u8; 32]), - amount, - metadata: borsh::to_vec(&DepositMetadataForEncoding { recipient_id }).unwrap(), + .block_store() + .storage_ref() + .ask(AddPendingDepositEvent { + event: PendingDepositEventRecord { + deposit_op_id: HashType(deposit_op_id), + source_tx_hash: HashType([7_u8; 32]), + amount, + metadata: borsh::to_vec(&DepositMetadataForEncoding { recipient_id }).unwrap(), + }, }) + .await .unwrap(); // Produce the block that mints the deposit; its receipt marks it minted. sequencer.run_production_turn().await.unwrap(); - let minted_block = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let minted_block = sequencer.store.block_at_id(2).await.unwrap().unwrap(); assert!( - sequencer.with_state(|s| deposit_already_minted(s, HashType(deposit_op_id))), + sequencer + .with_state(|s| deposit_already_minted(s, HashType(deposit_op_id))) + .await, "the first mint claims the receipt in head state" ); // Orphan that block. The receipt reverts with it — nothing else tracks the // mint — so the deposit reads as unminted again. apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -545,10 +580,17 @@ async fn an_orphaned_deposit_is_reminted_exactly_once_in_the_replacement() { orphaned: vec![(MsgId::from(minted_block.header.hash.0), minted_block)], ..empty_follow_update() }, + ) + .await; + assert_eq!( + sequencer.chain_height().await, + 1, + "the minting block is orphaned" ); - assert_eq!(sequencer.chain_height(), 1, "the minting block is orphaned"); assert!( - !sequencer.with_state(|s| deposit_already_minted(s, HashType(deposit_op_id))), + !sequencer + .with_state(|s| deposit_already_minted(s, HashType(deposit_op_id))) + .await, "the receipt reverts with the orphaned block" ); @@ -557,7 +599,8 @@ async fn an_orphaned_deposit_is_reminted_exactly_once_in_the_replacement() { let replacement = sequencer.run_production_turn().await.unwrap(); let mints = sequencer .store - .get_block_at_id(replacement) + .block_at_id(replacement) + .await .unwrap() .expect("replacement block is stored") .body @@ -571,7 +614,9 @@ async fn an_orphaned_deposit_is_reminted_exactly_once_in_the_replacement() { ); let vault_id = vault_core::compute_vault_account_id(programs::vault().id(), recipient_id); assert_eq!( - sequencer.with_state(|s| s.get_account_by_id(vault_id).balance), + sequencer + .with_state(|s| s.get_account_by_id(vault_id).balance) + .await, u128::from(amount), "the vault is credited exactly once across the reorg" ); @@ -590,8 +635,7 @@ async fn a_replayed_deposit_mint_no_ops_in_the_guest() { let deposit_op_id = [0x5a_u8; 32]; let amount = 500_u64; - let (sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (sequencer, _mempool_handle) = start_sequencer(config).await; let deposit_tx = build_bridge_deposit_tx_from_event(&PendingDepositEventRecord { deposit_op_id: HashType(deposit_op_id), @@ -605,7 +649,7 @@ async fn a_replayed_deposit_mint_no_ops_in_the_guest() { }; let vault_id = vault_core::compute_vault_account_id(programs::vault().id(), recipient_id); - let mut state = sequencer.chain().lock().unwrap().head_state().clone(); + let mut state = sequencer.chain().lock().await.head_state().clone(); // First mint: claims the receipt and credits the recipient vault. state @@ -638,13 +682,15 @@ async fn recorded_dispatches_are_drained_from_the_store_on_production() { let record = dispatch_record(7, ping_payload(&payload)); let key = record.message_key; - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, _mempool_handle) = start_sequencer(cross_zone_test_config()).await; assert_eq!( sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(), 1 ); @@ -660,7 +706,8 @@ async fn recorded_dispatches_are_drained_from_the_store_on_production() { let block_id = sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .unwrap() .expect("produced block is stored"); assert_eq!( @@ -671,7 +718,9 @@ async fn recorded_dispatches_are_drained_from_the_store_on_production() { let record_id = ping_record_pda(programs::ping_receiver().id()); assert_eq!( - sequencer.with_state(|state| state.get_account_by_id(record_id).data.into_inner()), + sequencer + .with_state(|state| state.get_account_by_id(record_id).data.into_inner()) + .await, payload, "the dispatch must reach its target program, not just sit in the block" ); @@ -680,6 +729,7 @@ async fn recorded_dispatches_are_drained_from_the_store_on_production() { // the inbox seen-set now in head state, not by any marker on the record. assert_eq!( pending_dispatches(&sequencer) + .await .iter() .map(|record| record.message_key) .collect::>(), @@ -696,36 +746,41 @@ async fn a_delivered_dispatch_is_skipped_on_the_next_turn() { let record = dispatch_record(11, ping_payload(b"once")); let key = record.message_key; - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, _mempool_handle) = start_sequencer(cross_zone_test_config()).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); let first = sequencer.run_production_turn().await.unwrap(); let second = sequencer.run_production_turn().await.unwrap(); - let delivered_in = |block_id: u64| { + let delivered_in = async |block_id: u64| { dispatches_in( &sequencer .store - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .unwrap() .expect("produced block is stored"), ) }; - assert_eq!(delivered_in(first), vec![key]); + assert_eq!(delivered_in(first).await, vec![key]); assert!( - delivered_in(second).is_empty(), + delivered_in(second).await.is_empty(), "the inbox seen-set must keep the drain from re-delivering" ); let message = extract_cross_zone_dispatch(&dispatch_tx(11, ping_payload(b"once"))) .expect("the dispatch carries a cross-zone message"); assert!( - sequencer.with_state(|state| dispatch_already_delivered(state, &message)), + sequencer + .with_state(|state| dispatch_already_delivered(state, &message)) + .await, "the seen shard in head state is what the skip reads" ); } @@ -738,19 +793,22 @@ async fn a_dispatch_that_never_executes_is_given_up_on_after_repeated_failures() // so without a give-up policy it would fail on every block for ever. let record = dispatch_record(13, b"odd".to_vec()); - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, _mempool_handle) = start_sequencer(cross_zone_test_config()).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); for attempt in 1..RETIRE_DISPATCH_AFTER_FAILURES { let block_id = sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .unwrap() .expect("produced block is stored"); assert!( @@ -758,7 +816,7 @@ async fn a_dispatch_that_never_executes_is_given_up_on_after_repeated_failures() "a dispatch that fails to execute must not reach the block" ); - let records = pending_dispatches(&sequencer); + let records = pending_dispatches(&sequencer).await; assert_eq!(records.len(), 1); assert_eq!( records[0].failed_attempts, attempt, @@ -772,14 +830,13 @@ async fn a_dispatch_that_never_executes_is_given_up_on_after_repeated_failures() // list without bound. sequencer.run_production_turn().await.unwrap(); assert!( - pending_dispatches(&sequencer).is_empty(), + pending_dispatches(&sequencer).await.is_empty(), "giving up on a delivery must take its record out of the pending list" ); // The dead letter is the only record that this happened, and the origin is // what identifies which message stopped being attempted. - let dbio = sequencer.store.dbio(); - let dead_letters = dbio.get_dead_letter_cross_zone_dispatches().unwrap(); + let (dead_letter_count, dead_letters) = sequencer.cross_zone_dead_letters().await.unwrap(); assert_eq!(dead_letters.len(), 1); assert_eq!( dead_letters[0].origin, @@ -798,18 +855,23 @@ async fn a_dispatch_that_never_executes_is_given_up_on_after_repeated_failures() dead_letters[0].failed_attempts, RETIRE_DISPATCH_AFTER_FAILURES ); - assert_eq!(dbio.get_dead_letter_cross_zone_dispatch_count().unwrap(), 1); + assert_eq!(dead_letter_count, 1); // The same view the RPC serves, so an operator sees what the store holds. - let (total_retired, retained) = sequencer.cross_zone_dead_letters().unwrap(); + let (total_retired, retained) = sequencer.cross_zone_dead_letters().await.unwrap(); assert_eq!(total_retired, 1); assert_eq!(retained, dead_letters); // And nothing re-feeds it, so it stops costing a guest execution per block. let block_id = sequencer.run_production_turn().await.unwrap(); - let block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert!(dispatches_in(&block).is_empty()); - assert!(pending_dispatches(&sequencer).is_empty()); + assert!(pending_dispatches(&sequencer).await.is_empty()); } #[tokio::test] @@ -822,45 +884,61 @@ async fn a_redelivered_record_is_dropped_once_its_delivery_is_irreversible() { let record = dispatch_record(29, ping_payload(b"again")); let key = record.message_key; - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, mempool_handle) = start_sequencer(cross_zone_test_config()).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record.clone()]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record.clone()], + }) + .await .unwrap(); let block_id = sequencer.run_production_turn().await.unwrap(); - let delivery_block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let delivery_block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert_eq!(dispatches_in(&delivery_block), vec![key]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { finalized: vec![(MsgId::from(delivery_block.header.hash.0), delivery_block)], ..empty_follow_update() }, - ); - assert!(pending_dispatches(&sequencer).is_empty()); + ) + .await; + assert!(pending_dispatches(&sequencer).await.is_empty()); // The watcher re-reads the slot and records it again. sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); - assert_eq!(pending_dispatches(&sequencer).len(), 1); + assert_eq!(pending_dispatches(&sequencer).await.len(), 1); let block_id = sequencer.run_production_turn().await.unwrap(); - let block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert!( dispatches_in(&block).is_empty(), "the delivery is already on the chain, so it must not be delivered again" ); assert!( - pending_dispatches(&sequencer).is_empty(), + pending_dispatches(&sequencer).await.is_empty(), "a record whose delivery is already irreversible must be dropped, not kept for ever" ); } @@ -874,12 +952,14 @@ async fn a_delivery_still_reversible_keeps_its_record() { let record = dispatch_record(31, ping_payload(b"pending")); let key = record.message_key; - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, _mempool_handle) = start_sequencer(cross_zone_test_config()).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); sequencer.run_production_turn().await.unwrap(); @@ -887,6 +967,7 @@ async fn a_delivery_still_reversible_keeps_its_record() { assert_eq!( pending_dispatches(&sequencer) + .await .iter() .map(|record| record.message_key) .collect::>(), @@ -942,12 +1023,14 @@ async fn a_delivery_too_large_for_any_block_does_not_stall_production() { let mut config = cross_zone_test_config(); config.max_block_size = bytesize::ByteSize::kib(4); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); let user_tx = common::test_utils::create_transaction_native_token_transfer( @@ -964,7 +1047,12 @@ async fn a_delivery_too_large_for_any_block_does_not_stall_production() { // Production must get past it to the mempool in the very first block. let block_id = sequencer.run_production_turn().await.unwrap(); - let block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert!( block.body.transactions.contains(&user_tx), "an oversized drained delivery must not stop production reaching the mempool" @@ -976,7 +1064,7 @@ async fn a_delivery_too_large_for_any_block_does_not_stall_production() { sequencer.run_production_turn().await.unwrap(); } assert!( - pending_dispatches(&sequencer).is_empty(), + pending_dispatches(&sequencer).await.is_empty(), "a delivery that fits in no block must be given up on" ); } @@ -997,16 +1085,23 @@ async fn a_delivery_backlog_is_spread_across_blocks() { let mut config = cross_zone_test_config(); config.max_num_tx_in_block = backlog + 10; - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(records) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: records, + }) + .await .unwrap(); let block_id = sequencer.run_production_turn().await.unwrap(); - let block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert_eq!( dispatches_in(&block).len(), MAX_DISPATCHES_PER_BLOCK, @@ -1015,7 +1110,12 @@ async fn a_delivery_backlog_is_spread_across_blocks() { // Deferred, not dropped: the rest go in the next block. let block_id = sequencer.run_production_turn().await.unwrap(); - let block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert_eq!(dispatches_in(&block).len(), 3); } @@ -1059,15 +1159,7 @@ async fn transaction_pre_check_native_transfer_other_signature() { let tx = tx.transaction_stateless_check().unwrap(); // Signature is not from sender. Execution fails - let result = tx.execute_check_on_state( - sequencer - .chain() - .lock() - .expect("chain mutex poisoned") - .head_state_mut(), - 0, - 0, - ); + let result = tx.execute_check_on_state(sequencer.chain().lock().await.head_state_mut(), 0, 0); assert!(matches!( result, @@ -1094,11 +1186,7 @@ async fn transaction_pre_check_native_transfer_sent_too_much() { assert!(result.is_ok()); let result = result.unwrap().execute_check_on_state( - sequencer - .chain() - .lock() - .expect("chain mutex poisoned") - .head_state_mut(), + sequencer.chain().lock().await.head_state_mut(), 0, 0, ); @@ -1123,19 +1211,15 @@ async fn transaction_execute_native_transfer() { acc1, 0, acc2, 100, &sign_key1, ); - tx.execute_check_on_state( - sequencer - .chain() - .lock() - .expect("chain mutex poisoned") - .head_state_mut(), - 0, - 0, - ) - .unwrap(); + tx.execute_check_on_state(sequencer.chain().lock().await.head_state_mut(), 0, 0) + .unwrap(); - let bal_from = sequencer.with_state(|s| s.get_account_by_id(acc1).balance); - let bal_to = sequencer.with_state(|s| s.get_account_by_id(acc2).balance); + let bal_from = sequencer + .with_state(|s| s.get_account_by_id(acc1).balance) + .await; + let bal_to = sequencer + .with_state(|s| s.get_account_by_id(acc2).balance) + .await; assert_eq!(bal_from, 9900); assert_eq!(bal_to, 20100); @@ -1172,7 +1256,7 @@ async fn push_tx_into_mempool_blocks_until_mempool_is_full() { #[tokio::test] async fn build_block_from_mempool() { let (mut sequencer, mempool_handle) = common_setup().await; - let genesis_height = sequencer.chain_height(); + let genesis_height = sequencer.chain_height().await; let tx = common::test_utils::produce_dummy_empty_transaction(); mempool_handle @@ -1180,10 +1264,10 @@ async fn build_block_from_mempool() { .await .unwrap(); - let result = sequencer.build_block_from_mempool(Some(&[])); + let result = sequencer.build_block_from_mempool(Some(&[])).await; assert!(result.is_ok()); // Building itself does not advance the head; only apply-after-publish does. - assert_eq!(sequencer.chain_height(), genesis_height); + assert_eq!(sequencer.chain_height().await, genesis_height); } #[test] @@ -1249,7 +1333,8 @@ async fn replay_transactions_are_rejected_in_the_same_block() { sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); @@ -1284,7 +1369,8 @@ async fn replay_transactions_are_rejected_in_different_blocks() { sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); assert_eq!( @@ -1303,7 +1389,8 @@ async fn replay_transactions_are_rejected_in_different_blocks() { sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); // The replay is rejected, so only the clock tx is in the block. @@ -1325,9 +1412,8 @@ async fn restart_from_storage() { // In the following code block a transaction will be processed that moves `balance_to_move` // from `acc_1` to `acc_2`. The block created with that transaction will be kept stored in // the temporary directory for the block storage of this test. - { - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let storage_weak = { + let (mut sequencer, mempool_handle) = start_sequencer(config.clone()).await; let signing_key = create_signing_key_for_account1(); let tx = common::test_utils::create_transaction_native_token_transfer( @@ -1345,7 +1431,8 @@ async fn restart_from_storage() { sequencer.run_production_turn().await.unwrap(); let block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); assert_eq!( @@ -1355,14 +1442,19 @@ async fn restart_from_storage() { LeeTransaction::Public(clock_invocation(block.header.timestamp)) ] ); - } + sequencer.block_store().storage_ref().downgrade() + }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; // Instantiating a new sequencer from the same config. This should load the existing block // with the above transaction and update the state to reflect that. - let (sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; - let balance_acc_1 = sequencer.with_state(|s| s.get_account_by_id(acc1_account_id).balance); - let balance_acc_2 = sequencer.with_state(|s| s.get_account_by_id(acc2_account_id).balance); + let (sequencer, _mempool_handle) = start_sequencer(config.clone()).await; + let balance_acc_1 = sequencer + .with_state(|s| s.get_account_by_id(acc1_account_id).balance) + .await; + let balance_acc_2 = sequencer + .with_state(|s| s.get_account_by_id(acc2_account_id).balance) + .await; // Balances should be consistent with the stored block assert_eq!( @@ -1378,19 +1470,17 @@ async fn restart_from_storage() { #[tokio::test] async fn get_pending_blocks() { let config = setup_sequencer_config(); - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; sequencer.run_production_turn().await.unwrap(); sequencer.run_production_turn().await.unwrap(); sequencer.run_production_turn().await.unwrap(); - assert_eq!(sequencer.get_pending_blocks().unwrap().len(), 4); + assert_eq!(sequencer.get_pending_blocks().await.unwrap().len(), 4); } #[tokio::test] async fn delete_blocks() { let config = setup_sequencer_config(); - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; sequencer.run_production_turn().await.unwrap(); sequencer.run_production_turn().await.unwrap(); sequencer.run_production_turn().await.unwrap(); @@ -1398,9 +1488,10 @@ async fn delete_blocks() { let last_finalized_block = 3; sequencer .clean_finalized_blocks_from_db(last_finalized_block) + .await .unwrap(); - assert_eq!(sequencer.get_pending_blocks().unwrap().len(), 1); + assert_eq!(sequencer.get_pending_blocks().await.unwrap().len(), 1); } #[tokio::test] @@ -1410,9 +1501,8 @@ async fn produce_block_with_correct_prev_meta_after_restart() { let acc2_account_id = initial_public_user_accounts()[1].account_id; // Step 1: Create initial database with some block metadata - let expected_prev_meta = { - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let (storage_weak, expected_prev_meta) = { + let (mut sequencer, mempool_handle) = start_sequencer(config.clone()).await; let signing_key = create_signing_key_for_account1(); @@ -1432,12 +1522,13 @@ async fn produce_block_with_correct_prev_meta_after_restart() { sequencer.run_production_turn().await.unwrap(); // Get the metadata of the last block produced - sequencer.store.latest_block_meta().unwrap().unwrap() + let meta = sequencer.store.latest_block_meta().await.unwrap().unwrap(); + (sequencer.block_store().storage_ref().downgrade(), meta) }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; // Step 2: Restart sequencer from the same storage - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let (mut sequencer, mempool_handle) = start_sequencer(config.clone()).await; // Step 3: Submit a new transaction let signing_key = create_signing_key_for_account1(); @@ -1460,7 +1551,8 @@ async fn produce_block_with_correct_prev_meta_after_restart() { // Step 5: Verify the new block has correct previous block metadata let new_block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); @@ -1512,7 +1604,8 @@ async fn transactions_touching_clock_account_are_dropped_from_block() { let block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); @@ -1567,7 +1660,8 @@ async fn user_tx_that_chain_calls_clock_is_dropped() { let block = sequencer .store - .get_block_at_id(sequencer.chain_height()) + .block_at_id(sequencer.chain_height().await) + .await .unwrap() .unwrap(); @@ -1586,12 +1680,14 @@ async fn block_production_aborts_when_clock_account_data_is_corrupted() { // Corrupt the clock 01 account data so the clock program panics on deserialization. let clock_account_id = system_accounts::clock_account_ids()[0]; - let mut corrupted = sequencer.with_state(|s| s.get_account_by_id(clock_account_id)); + let mut corrupted = sequencer + .with_state(|s| s.get_account_by_id(clock_account_id)) + .await; corrupted.data = vec![0xff; 3].try_into().unwrap(); sequencer .chain() .lock() - .expect("chain mutex poisoned") + .await .head_state_mut() .force_insert_account(clock_account_id, corrupted); @@ -2117,31 +2213,38 @@ fn resubmittable_txs_of_blocks_without_user_txs_is_empty() { #[tokio::test] async fn follow_update_persists_the_checkpoint_with_its_effects() { let config = setup_sequencer_config(); - let (sequencer, mempool_handle) = SequencerCoreWithMockClients::start_from_config(config).await; + let (sequencer, mempool_handle) = start_sequencer(config).await; let genesis_meta = sequencer .store .latest_block_meta() + .await .unwrap() .expect("genesis meta is set"); let peer_block = common::test_utils::produce_dummy_block(2, Some(genesis_meta.hash), vec![]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { adopted: vec![(MsgId::from([1; 32]), peer_block)], ..empty_follow_update() }, - ); + ) + .await; // The checkpoint is the sdk resume cursor; landing it without the block // would let a restart stream past a block the store never got. assert!( - sequencer.store.get_zone_checkpoint().unwrap().is_some(), + sequencer + .store + .get_zone_checkpoint() + .await + .unwrap() + .is_some(), "the event's checkpoint must be persisted alongside the block it covers" ); - assert!(sequencer.store.get_block_at_id(2).unwrap().is_some()); + assert!(sequencer.store.block_at_id(2).await.unwrap().is_some()); } /// The channel orphaning our own still-unfinalized blocks rewinds the head and @@ -2151,29 +2254,28 @@ async fn follow_update_persists_the_checkpoint_with_its_effects() { #[tokio::test] async fn head_rewound_below_published_height_blocks_production() { let config = setup_sequencer_config(); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; let first = sequencer.run_production_turn().await.unwrap(); let published_tip = sequencer.run_production_turn().await.unwrap(); assert_eq!( - sequencer.store.published_high_water().unwrap(), + sequencer.store.published_high_water().await.unwrap(), Some(published_tip), "publishing records the high water mark" ); assert!( - sequencer.rewound_below_published().is_none(), + sequencer.rewound_below_published().await.is_none(), "an intact head is free to produce" ); - let produced: Vec = [first, published_tip] - .into_iter() - .map(|id| sequencer.store.get_block_at_id(id).unwrap().unwrap()) - .collect(); + let mut produced: Vec = Vec::new(); + for id in [first, published_tip] { + produced.push(sequencer.store.block_at_id(id).await.unwrap().unwrap()); + } // The sdk reports both of them as orphaned. apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2183,14 +2285,22 @@ async fn head_rewound_below_published_height_blocks_production() { .collect(), ..empty_follow_update() }, - ); + ) + .await; assert!( - sequencer.store.latest_block_meta().unwrap().unwrap().id < published_tip, + sequencer + .store + .latest_block_meta() + .await + .unwrap() + .unwrap() + .id + < published_tip, "the orphan report rewound the stored tip" ); assert_eq!( - sequencer.rewound_below_published(), + sequencer.rewound_below_published().await, Some(published_tip), "the mark outlives the pruning and blocks the turn" ); @@ -2198,7 +2308,7 @@ async fn head_rewound_below_published_height_blocks_production() { // Those inscriptions were on the channel all along: finalizing them rebases // the head onto them, and production is free again. The guard is a wait. apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2208,11 +2318,12 @@ async fn head_rewound_below_published_height_blocks_production() { .collect(), ..empty_follow_update() }, - ); + ) + .await; - assert_eq!(sequencer.next_block_height(), published_tip + 1); + assert_eq!(sequencer.next_block_height().await, published_tip + 1); assert!( - sequencer.rewound_below_published().is_none(), + sequencer.rewound_below_published().await.is_none(), "a recovered head resumes producing" ); } @@ -2220,7 +2331,7 @@ async fn head_rewound_below_published_height_blocks_production() { #[tokio::test] async fn follow_update_records_deposits_for_the_production_drain() { let config = setup_sequencer_config(); - let (sequencer, mempool_handle) = SequencerCoreWithMockClients::start_from_config(config).await; + let (sequencer, mempool_handle) = start_sequencer(config).await; let recipient_id = initial_public_user_accounts()[0].account_id; let metadata = borsh::to_vec(&DepositMetadataForEncoding { recipient_id }).unwrap(); @@ -2235,16 +2346,17 @@ async fn follow_update_records_deposits_for_the_production_drain() { }; apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { deposits: vec![deposit], ..empty_follow_update() }, - ); + ) + .await; - let pending = sequencer.store.get_pending_deposit_events().unwrap(); + let pending = sequencer.store.get_pending_deposit_events().await.unwrap(); assert_eq!(pending.len(), 1); assert_eq!(pending[0].deposit_op_id, HashType([21; 32])); } @@ -2252,10 +2364,11 @@ async fn follow_update_records_deposits_for_the_production_drain() { #[tokio::test] async fn follow_adopted_peer_block_applies_and_persists() { let config = setup_sequencer_config(); - let (sequencer, mempool_handle) = SequencerCoreWithMockClients::start_from_config(config).await; + let (sequencer, mempool_handle) = start_sequencer(config).await; let genesis_meta = sequencer .store .latest_block_meta() + .await .unwrap() .expect("genesis meta is set"); @@ -2271,24 +2384,28 @@ async fn follow_adopted_peer_block_applies_and_persists() { let peer_block = common::test_utils::produce_dummy_block(2, Some(genesis_meta.hash), vec![tx]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { adopted: vec![(MsgId::from([1; 32]), peer_block.clone())], ..empty_follow_update() }, - ); + ) + .await; - assert_eq!(sequencer.chain_height(), 2); + assert_eq!(sequencer.chain_height().await, 2); let stored = sequencer .store - .get_block_at_id(2) + .block_at_id(2) + .await .unwrap() .expect("adopted peer block should be persisted"); assert_eq!(stored.header.hash, peer_block.header.hash); assert_eq!( - sequencer.with_state(|s| s.get_account_by_id(acc2).balance), + sequencer + .with_state(|s| s.get_account_by_id(acc2).balance) + .await, 20010 ); } @@ -2296,8 +2413,7 @@ async fn follow_adopted_peer_block_applies_and_persists() { #[tokio::test] async fn follow_redelivery_of_own_block_is_deduped() { let config = setup_sequencer_config(); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; let acc1 = initial_public_user_accounts()[0].account_id; let acc2 = initial_public_user_accounts()[1].account_id; @@ -2313,23 +2429,26 @@ async fn follow_redelivery_of_own_block_is_deduped() { .await .unwrap(); sequencer.run_production_turn().await.unwrap(); - let block2 = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let block2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); // The channel redelivers our own block under the MsgId the mock publisher // assigned at publish time. apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { adopted: vec![(MsgId::from(block2.header.hash.0), block2)], ..empty_follow_update() }, - ); + ) + .await; - assert_eq!(sequencer.chain_height(), 2); + assert_eq!(sequencer.chain_height().await, 2); assert_eq!( - sequencer.with_state(|s| s.get_account_by_id(acc2).balance), + sequencer + .with_state(|s| s.get_account_by_id(acc2).balance) + .await, 20010, "the transfer must not be double-applied" ); @@ -2338,8 +2457,7 @@ async fn follow_redelivery_of_own_block_is_deduped() { #[tokio::test] async fn follow_orphan_reverts_head_and_requeues_user_txs() { let config = setup_sequencer_config(); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; let acc1 = initial_public_user_accounts()[0].account_id; let acc2 = initial_public_user_accounts()[1].account_id; @@ -2355,10 +2473,10 @@ async fn follow_orphan_reverts_head_and_requeues_user_txs() { .await .unwrap(); sequencer.run_production_turn().await.unwrap(); - let block2 = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let block2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2366,11 +2484,14 @@ async fn follow_orphan_reverts_head_and_requeues_user_txs() { orphaned: vec![(MsgId::from(block2.header.hash.0), block2)], ..empty_follow_update() }, - ); + ) + .await; - assert_eq!(sequencer.chain_height(), 1); + assert_eq!(sequencer.chain_height().await, 1); assert_eq!( - sequencer.with_state(|s| s.get_account_by_id(acc1).balance), + sequencer + .with_state(|s| s.get_account_by_id(acc1).balance) + .await, 10000, "the orphaned transfer must be reverted from the head" ); @@ -2394,8 +2515,7 @@ async fn follow_orphan_of_a_finalized_block_requeues_nothing() { // included, so requeueing them would put them back in every block we // produce from then on. let config = setup_sequencer_config(); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; let acc1 = initial_public_user_accounts()[0].account_id; let acc2 = initial_public_user_accounts()[1].account_id; @@ -2411,34 +2531,38 @@ async fn follow_orphan_of_a_finalized_block_requeues_nothing() { .await .unwrap(); sequencer.run_production_turn().await.unwrap(); - let block2 = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let block2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { finalized: vec![(MsgId::from(block2.header.hash.0), block2.clone())], ..empty_follow_update() }, - ); + ) + .await; apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { orphaned: vec![(MsgId::from(block2.header.hash.0), block2)], ..empty_follow_update() }, - ); + ) + .await; assert_eq!( - sequencer.chain_height(), + sequencer.chain_height().await, 2, "an irreversible block cannot be reverted" ); assert_eq!( - sequencer.with_state(|s| s.get_account_by_id(acc2).balance), + sequencer + .with_state(|s| s.get_account_by_id(acc2).balance) + .await, 20010, "the finalized transfer stands" ); @@ -2451,8 +2575,7 @@ async fn follow_orphan_of_a_finalized_block_requeues_nothing() { #[tokio::test] async fn follow_finalized_own_block_moves_final_tier_and_marks_store() { let config = setup_sequencer_config(); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; let tx = common::test_utils::produce_dummy_empty_transaction(); mempool_handle @@ -2460,10 +2583,10 @@ async fn follow_finalized_own_block_moves_final_tier_and_marks_store() { .await .unwrap(); sequencer.run_production_turn().await.unwrap(); - let block2 = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let block2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2472,17 +2595,18 @@ async fn follow_finalized_own_block_moves_final_tier_and_marks_store() { finalized: vec![(MsgId::from(block2.header.hash.0), block2)], ..empty_follow_update() }, - ); + ) + .await; let final_tip = sequencer .chain() .lock() - .expect("chain mutex poisoned") + .await .final_tip() .expect("final tip set"); assert_eq!(final_tip.block_id, 2); - assert_eq!(sequencer.chain_height(), 2, "head is unchanged"); - let stored = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + assert_eq!(sequencer.chain_height().await, 2, "head is unchanged"); + let stored = sequencer.store.block_at_id(2).await.unwrap().unwrap(); assert!(matches!(stored.bedrock_status, BedrockStatus::Finalized)); } @@ -2495,35 +2619,43 @@ async fn follow_finalized_delivery_drops_its_pending_record() { let record = dispatch_record(17, ping_payload(b"settled")); let key = record.message_key; - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, mempool_handle) = start_sequencer(cross_zone_test_config()).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); let block_id = sequencer.run_production_turn().await.unwrap(); - let delivery_block = sequencer.store.get_block_at_id(block_id).unwrap().unwrap(); + let delivery_block = sequencer + .store + .block_at_id(block_id) + .await + .unwrap() + .unwrap(); assert_eq!(dispatches_in(&delivery_block), vec![key]); assert_eq!( - pending_dispatches(&sequencer).len(), + pending_dispatches(&sequencer).await.len(), 1, "including the delivery is not enough to settle its record" ); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { finalized: vec![(MsgId::from(delivery_block.header.hash.0), delivery_block)], ..empty_follow_update() }, - ); + ) + .await; assert!( - pending_dispatches(&sequencer).is_empty(), + pending_dispatches(&sequencer).await.is_empty(), "a delivery in an irreversible block settles its record" ); } @@ -2538,12 +2670,14 @@ async fn a_parked_finalized_block_does_not_drop_a_dispatch_record() { let key = record.message_key; let delivery = dispatch_tx(19, ping_payload(b"parked")); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut sequencer, mempool_handle) = start_sequencer(cross_zone_test_config()).await; sequencer - .store - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .block_store() + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); let tx = common::test_utils::produce_dummy_empty_transaction(); @@ -2559,17 +2693,19 @@ async fn a_parked_finalized_block_does_not_drop_a_dispatch_record() { common::test_utils::produce_dummy_block(9, Some(HashType([44; 32])), vec![delivery]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { finalized: vec![(MsgId::from([9; 32]), parked)], ..empty_follow_update() }, - ); + ) + .await; assert_eq!( pending_dispatches(&sequencer) + .await .iter() .map(|record| record.message_key) .collect::>(), @@ -2581,10 +2717,11 @@ async fn a_parked_finalized_block_does_not_drop_a_dispatch_record() { #[tokio::test] async fn follow_finalized_backfill_block_is_applied_and_marked_finalized() { let config = setup_sequencer_config(); - let (sequencer, mempool_handle) = SequencerCoreWithMockClients::start_from_config(config).await; + let (sequencer, mempool_handle) = start_sequencer(config).await; let genesis_meta = sequencer .store .latest_block_meta() + .await .unwrap() .expect("genesis meta is set"); @@ -2593,7 +2730,7 @@ async fn follow_finalized_backfill_block_is_applied_and_marked_finalized() { let peer_block = common::test_utils::produce_dummy_block(2, Some(genesis_meta.hash), vec![]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2602,16 +2739,18 @@ async fn follow_finalized_backfill_block_is_applied_and_marked_finalized() { finalized: vec![(MsgId::from([2; 32]), peer_block.clone())], ..empty_follow_update() }, - ); + ) + .await; assert_eq!( - sequencer.chain_height(), + sequencer.chain_height().await, 2, "head mirrors final on backfill" ); let stored = sequencer .store - .get_block_at_id(2) + .block_at_id(2) + .await .unwrap() .expect("backfilled block should be persisted"); assert_eq!(stored.header.hash, peer_block.header.hash); @@ -2621,8 +2760,7 @@ async fn follow_finalized_backfill_block_is_applied_and_marked_finalized() { #[tokio::test] async fn parked_finalized_block_neither_sweeps_the_store_nor_drops_its_deposit_record() { let config = setup_sequencer_config(); - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, mempool_handle) = start_sequencer(config).await; // A produced block at head, still pending on the channel. let tx = common::test_utils::produce_dummy_empty_transaction(); @@ -2645,9 +2783,10 @@ async fn parked_finalized_block_neither_sweeps_the_store_nor_drops_its_deposit_r let deposit_tx = build_bridge_deposit_tx_from_event(&record).unwrap(); assert!( sequencer - .store - .dbio() - .add_pending_deposit_event(record) + .block_store() + .storage_ref() + .ask(AddPendingDepositEvent { event: record }) + .await .unwrap() ); @@ -2657,7 +2796,7 @@ async fn parked_finalized_block_neither_sweeps_the_store_nor_drops_its_deposit_r common::test_utils::produce_dummy_block(9, Some(HashType([44; 32])), vec![deposit_tx]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2666,11 +2805,12 @@ async fn parked_finalized_block_neither_sweeps_the_store_nor_drops_its_deposit_r finalized: vec![(MsgId::from([9; 32]), parked)], ..empty_follow_update() }, - ); + ) + .await; // Nothing became irreversible, so the store must not be swept through the // parked block's height. - let stored = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let stored = sequencer.store.block_at_id(2).await.unwrap().unwrap(); assert!( matches!(stored.bedrock_status, BedrockStatus::Pending), "a parked finalized block must not mark earlier blocks finalized" @@ -2681,6 +2821,7 @@ async fn parked_finalized_block_neither_sweeps_the_store_nor_drops_its_deposit_r sequencer .store .get_pending_deposit_events() + .await .unwrap() .iter() .any(|event| event.deposit_op_id == deposit_op_id), @@ -2695,9 +2836,8 @@ async fn restart_restores_head_tier_and_recovers_from_orphan() { let acc2 = initial_public_user_accounts()[1].account_id; // Produce block 2 (a user transfer), then "crash" before it finalizes. - let (tx, block2) = { - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let (storage_weak, tx, block2) = { + let (mut sequencer, mempool_handle) = start_sequencer(config.clone()).await; let tx = common::test_utils::create_transaction_native_token_transfer( acc1, 0, @@ -2710,22 +2850,27 @@ async fn restart_restores_head_tier_and_recovers_from_orphan() { .await .unwrap(); sequencer.run_production_turn().await.unwrap(); - (tx, sequencer.store.get_block_at_id(2).unwrap().unwrap()) + let block2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); + ( + sequencer.block_store().storage_ref().downgrade(), + tx, + block2, + ) }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; // Restart: nothing is finalized, so block 2 must come back as *head*, not // final — the L1 can still orphan it. - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; - assert_eq!(sequencer.chain_height(), 2); + let (mut sequencer, mempool_handle) = start_sequencer(config.clone()).await; + assert_eq!(sequencer.chain_height().await, 2); // The L1 orphans block 2 under its real MsgId (which we never persisted) // and adopts a competing empty block 2'. - let genesis = sequencer.store.get_block_at_id(1).unwrap().unwrap(); + let genesis = sequencer.store.block_at_id(1).await.unwrap().unwrap(); let block2_prime = common::test_utils::produce_dummy_block(2, Some(genesis.header.hash), vec![]); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2733,24 +2878,27 @@ async fn restart_restores_head_tier_and_recovers_from_orphan() { orphaned: vec![(MsgId::from([20; 32]), block2)], ..empty_follow_update() }, - ); + ) + .await; // The head reorged onto 2': transfer reverted, store overwritten, and the // orphaned user tx returned to the mempool. - assert_eq!(sequencer.chain_height(), 2); + assert_eq!(sequencer.chain_height().await, 2); let head_tip = sequencer .chain() .lock() - .expect("chain mutex poisoned") + .await .head_tip() .expect("head tip set"); assert_eq!(head_tip.hash, block2_prime.header.hash); assert_eq!( - sequencer.with_state(|s| s.get_account_by_id(acc1).balance), + sequencer + .with_state(|s| s.get_account_by_id(acc1).balance) + .await, 10000, "the orphaned transfer must be reverted" ); - let stored = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let stored = sequencer.store.block_at_id(2).await.unwrap().unwrap(); assert_eq!(stored.header.hash, block2_prime.header.hash); let (origin, requeued) = sequencer .mempool @@ -2766,18 +2914,17 @@ async fn restart_reanchors_on_the_persisted_final_snapshot() { // Produce block 2 and follow its finalization, which persists the final // snapshot; then "crash". - { - let (mut sequencer, mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let storage_weak = { + let (mut sequencer, mempool_handle) = start_sequencer(config.clone()).await; let tx = common::test_utils::produce_dummy_empty_transaction(); mempool_handle .push((TransactionOrigin::User, tx)) .await .unwrap(); sequencer.run_production_turn().await.unwrap(); - let block2 = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let block2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2786,15 +2933,17 @@ async fn restart_reanchors_on_the_persisted_final_snapshot() { finalized: vec![(MsgId::from(block2.header.hash.0), block2)], ..empty_follow_update() }, - ); - } + ) + .await; + sequencer.block_store().storage_ref().downgrade() + }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; // Restart: the final tier re-anchors on the snapshot instead of treating // the whole stored chain as final. - let (sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let (sequencer, _mempool_handle) = start_sequencer(config.clone()).await; let chain = sequencer.chain(); - let chain = chain.lock().expect("chain mutex poisoned"); + let chain = chain.lock().await; assert_eq!(chain.final_tip().expect("final tip set").block_id, 2); assert_eq!(chain.head_tip().expect("head tip set").block_id, 2); } @@ -2802,11 +2951,11 @@ async fn restart_reanchors_on_the_persisted_final_snapshot() { #[tokio::test] async fn record_produced_block_skips_persistence_on_lost_race() { let config = setup_sequencer_config(); - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; let genesis_meta = sequencer .store .latest_block_meta() + .await .unwrap() .expect("genesis meta is set"); @@ -2815,7 +2964,7 @@ async fn record_produced_block_skips_persistence_on_lost_race() { sequencer .chain() .lock() - .expect("chain mutex poisoned") + .await .apply_adopted(MsgId::from([9; 32]), &peer_block); // Our competing block at the same height: same parent, different content. @@ -2832,51 +2981,48 @@ async fn record_produced_block_skips_persistence_on_lost_race() { sequencer .record_produced_block( MsgId::from(our_block.header.hash.0), - &our_block, - &[], + our_block.clone(), + vec![], &mock_checkpoint(), ) + .await .unwrap(); // The lost-race block must not reach the store; the head keeps the peer block. - assert!(sequencer.store.get_block_at_id(2).unwrap().is_none()); - let head_tip = sequencer - .chain() - .lock() - .expect("chain mutex poisoned") - .head_tip() - .expect("head tip"); + assert!(sequencer.store.block_at_id(2).await.unwrap().is_none()); + let head_tip = sequencer.chain().lock().await.head_tip().expect("head tip"); assert_eq!(head_tip.hash, peer_block.header.hash); } #[tokio::test] async fn record_produced_block_skips_persistence_when_block_no_longer_chains() { let config = setup_sequencer_config(); - let (mut sequencer, _mempool_handle) = - SequencerCoreWithMockClients::start_from_config(config).await; + let (mut sequencer, _mempool_handle) = start_sequencer(config).await; // The head reorged under us: our block's parent is no longer the tip. let stale = common::test_utils::produce_dummy_block(2, Some(HashType([9; 32])), vec![]); sequencer .record_produced_block( MsgId::from(stale.header.hash.0), - &stale, - &[], + stale.clone(), + vec![], &mock_checkpoint(), ) + .await .unwrap(); - assert!(sequencer.store.get_block_at_id(2).unwrap().is_none()); - assert_eq!(sequencer.chain_height(), 1, "head is unchanged"); + assert!(sequencer.store.block_at_id(2).await.unwrap().is_none()); + assert_eq!(sequencer.chain_height().await, 1, "head is unchanged"); } #[tokio::test] async fn follow_update_persists_blocks_meta_and_state_atomically() { let config = setup_sequencer_config(); - let (sequencer, mempool_handle) = SequencerCoreWithMockClients::start_from_config(config).await; + let (sequencer, mempool_handle) = start_sequencer(config).await; let genesis_meta = sequencer .store .latest_block_meta() + .await .unwrap() .expect("genesis meta is set"); @@ -2894,7 +3040,7 @@ async fn follow_update_persists_blocks_meta_and_state_atomically() { // One update carrying several blocks: both adopted, block 2 also finalized. apply_follow_update( - &sequencer.store.dbio(), + sequencer.block_store().storage_ref(), &sequencer.chain(), &mempool_handle, FollowUpdate { @@ -2906,23 +3052,27 @@ async fn follow_update_persists_blocks_meta_and_state_atomically() { finalized: vec![(MsgId::from([2; 32]), block2)], ..empty_follow_update() }, - ); + ) + .await; // Blocks, tip meta and state all reflect the end of the batch: a late // finalized entry for an earlier block must not drag the tip meta back. let meta = sequencer .store .latest_block_meta() + .await .unwrap() .expect("meta is set"); assert_eq!(meta.id, 3); assert_eq!(meta.hash, block3.header.hash); - let stored2 = sequencer.store.get_block_at_id(2).unwrap().unwrap(); + let stored2 = sequencer.store.block_at_id(2).await.unwrap().unwrap(); assert!(matches!(stored2.bedrock_status, BedrockStatus::Finalized)); let stored_balance = sequencer .store .get_lee_state() + .await .unwrap() + .expect("the store holds a chain") .get_account_by_id(acc2) .balance; assert_eq!(stored_balance, 20010); diff --git a/lez/sequencer/core/src/tests/reconstruction.rs b/lez/sequencer/core/src/tests/reconstruction.rs index f2802ec0b..d61d12480 100644 --- a/lez/sequencer/core/src/tests/reconstruction.rs +++ b/lez/sequencer/core/src/tests/reconstruction.rs @@ -4,13 +4,15 @@ reason = "We don't care about it in tests" )] -use std::sync::Mutex; - use chain_state::ChainState; use common::block::Block; use logos_blockchain_core::mantle::ops::channel::{MsgId, inscribe::Inscription}; use logos_blockchain_zone_sdk::{Slot, ZoneBlock, ZoneMessage}; -use storage::sequencer::sequencer_cells::ZoneAnchorRecord; +use sequencer_storage_actor::{ + StorageActorTrait, + protocol::{AddPendingCrossZoneDispatches, AddPendingDepositEvent, ZoneAnchorRecord}, +}; +use tokio::sync::Mutex; use super::*; use crate::{ @@ -19,13 +21,35 @@ use crate::{ /// Fresh `(store, chain)` pair for a reconstruction target, as /// `start_from_config` would build them before the publisher starts. -fn fresh_store_and_chain(config: &SequencerConfig) -> (SequencerStore, Mutex) { +// TODO: Revisit this function, it relies to heavily on internal implementation details. +// Will be possible to address this once block publisher is moved to another actor(-s). +async fn fresh_store_and_chain( + config: &SequencerConfig, +) -> (SequencerStore, Mutex) { + let storage = StorageActor::new(&config.db_path()).expect("Failed to initialize storage actor"); + let storage_ref = StorageActor::spawn(storage); + // What `start_from_config` does before it opens a store, mirrored here + // because these cases drive `verify_and_reconstruct` directly. + let signing_key = lee::PrivateKey::try_new(config.signing_key).unwrap(); let bootstrap_sequencer_key = Some(test_bootstrap_sequencer_key(config)); - let (store, state) = - SequencerCore::::open_or_create_store(config, bootstrap_sequencer_key); - let chain = Mutex::new(SequencerCore::::restore_chain_state( - config, &store, &state, - )); + SequencerCore::::seed_genesis_if_absent( + &storage_ref, + &signing_key, + bootstrap_sequencer_key, + config, + ) + .await; + let store = SequencerStore::new(storage_ref, signing_key) + .await + .expect("open store"); + let state = store + .get_lee_state() + .await + .expect("read state") + .expect("seeded store holds a state"); + let chain = Mutex::new( + SequencerCore::::restore_chain_state(config, &store, &state).await, + ); (store, chain) } @@ -40,35 +64,49 @@ fn block_to_channel_message(block: &Block, slot: u64) -> (ZoneMessage, Slot) { /// Collects a sequencer's whole chain (genesis..=tip) into a canned channel, /// one block per slot at `slot_step` spacing. -fn channel_from_store(store: &SequencerStore, slot_step: u64) -> Vec<(ZoneMessage, Slot)> { +async fn channel_from_store( + store: &SequencerStore, + slot_step: u64, +) -> Vec<(ZoneMessage, Slot)> { let genesis_id = store.genesis_id(); - let tip_id = store.latest_block_meta().expect("tip").expect("present").id; - (genesis_id..=tip_id) - .enumerate() - .map(|(index, id)| { - let block = store.get_block_at_id(id).expect("read").expect("present"); - block_to_channel_message(&block, (index as u64 + 1) * slot_step) - }) - .collect() + let tip_id = store + .latest_block_meta() + .await + .expect("tip") + .expect("present") + .id; + let mut messages = Vec::new(); + for (index, id) in (genesis_id..=tip_id).enumerate() { + let block = store.block_at_id(id).await.expect("read").expect("present"); + messages.push(block_to_channel_message( + &block, + (index as u64 + 1) * slot_step, + )); + } + messages } #[tokio::test] async fn reconstructs_missing_channel_blocks_into_fresh_store() { // Sequencer A produces a few blocks; treat its chain as the channel. let config_a = setup_sequencer_config(); - let (mut seq_a, _handle_a) = - SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; + let (mut seq_a, _handle_a) = start_sequencer(config_a.clone()).await; seq_a.run_production_turn().await.unwrap(); seq_a.run_production_turn().await.unwrap(); - let tip_a = seq_a.block_store().latest_block_meta().unwrap().unwrap(); + let tip_a = seq_a + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); - let messages = channel_from_store(seq_a.block_store(), 10); + let messages = channel_from_store(seq_a.block_store(), 10).await; let tip_slot = messages.last().unwrap().1; let channel_id = config_a.bedrock_config.channel_id; // Sequencer B starts from a fresh store and reconstructs A's chain. let config_b = setup_sequencer_config(); - let (store_b, chain_b) = fresh_store_and_chain(&config_b); + let (store_b, chain_b) = fresh_store_and_chain(&config_b).await; let mock_b = MockBlockPublisher::with_canned_channel(channel_id, Some(tip_slot), messages); let channel_was_empty = SequencerCore::::verify_and_reconstruct( @@ -78,13 +116,13 @@ async fn reconstructs_missing_channel_blocks_into_fresh_store() { .expect("reconstruct"); assert!(!channel_was_empty); - let tip_b = store_b.latest_block_meta().unwrap().unwrap(); + let tip_b = store_b.latest_block_meta().await.unwrap().unwrap(); assert_eq!(tip_b.id, tip_a.id); assert_eq!(tip_b.hash, tip_a.hash); // State matches: initial account balances agree with sequencer A. - let state_b = chain_b.lock().unwrap().head_state().clone(); - let state_a = seq_a.chain().lock().unwrap().head_state().clone(); + let state_b = chain_b.lock().await.head_state().clone(); + let state_a = seq_a.chain().lock().await.head_state().clone(); for account in initial_public_user_accounts() { assert_eq!( state_b.get_account_by_id(account.account_id).balance, @@ -92,7 +130,11 @@ async fn reconstructs_missing_channel_blocks_into_fresh_store() { ); } - let anchor = store_b.get_zone_anchor().unwrap().expect("anchor recorded"); + let anchor = store_b + .get_zone_anchor() + .await + .unwrap() + .expect("anchor recorded"); assert_eq!(anchor.block_id, tip_a.id); assert_eq!(anchor.slot, tip_slot.into_inner()); @@ -103,24 +145,28 @@ async fn reconstructs_missing_channel_blocks_into_fresh_store() { .await .expect("reconstruct idempotent"); assert!(!channel_was_empty); - assert_eq!(store_b.latest_block_meta().unwrap().unwrap().id, tip_a.id); + assert_eq!( + store_b.latest_block_meta().await.unwrap().unwrap().id, + tip_a.id + ); } #[tokio::test] async fn fails_when_channel_serves_a_divergent_block() { let config = setup_sequencer_config(); - let (store, chain) = fresh_store_and_chain(&config); + let (store, chain) = fresh_store_and_chain(&config).await; // Anchor on the local genesis at some slot. let genesis_id = store.genesis_id(); - let genesis = store.get_block_at_id(genesis_id).unwrap().unwrap(); + let genesis = store.block_at_id(genesis_id).await.unwrap().unwrap(); let anchor_slot = 100_u64; store - .set_zone_anchor(&ZoneAnchorRecord { + .set_zone_anchor(ZoneAnchorRecord { slot: anchor_slot, block_id: genesis_id, hash: genesis.header.hash, }) + .await .unwrap(); // The channel serves a different block at the anchor id/slot. @@ -142,15 +188,16 @@ async fn fails_when_channel_serves_a_divergent_block() { #[tokio::test] async fn fails_when_channel_is_missing() { let config = setup_sequencer_config(); - let (store, chain) = fresh_store_and_chain(&config); + let (store, chain) = fresh_store_and_chain(&config).await; let genesis_id = store.genesis_id(); - let genesis = store.get_block_at_id(genesis_id).unwrap().unwrap(); + let genesis = store.block_at_id(genesis_id).await.unwrap().unwrap(); store - .set_zone_anchor(&ZoneAnchorRecord { + .set_zone_anchor(ZoneAnchorRecord { slot: 100, block_id: genesis_id, hash: genesis.header.hash, }) + .await .unwrap(); // Anchor present, but the channel does not exist on the connected chain. @@ -169,11 +216,15 @@ async fn fails_when_channel_is_missing() { #[tokio::test] async fn fails_when_channel_reinscribes_genesis_with_a_different_hash() { let config = setup_sequencer_config(); - let (store, chain) = fresh_store_and_chain(&config); + let (store, chain) = fresh_store_and_chain(&config).await; // Fresh store, no anchor. The channel serves a genesis at the same id but a // different hash — a foreign chain reinscribing genesis. - let mut reinscribed = store.get_block_at_id(store.genesis_id()).unwrap().unwrap(); + let mut reinscribed = store + .block_at_id(store.genesis_id()) + .await + .unwrap() + .unwrap(); reinscribed.header.hash = HashType([0xAB_u8; 32]); let messages = vec![block_to_channel_message(&reinscribed, 10)]; @@ -195,7 +246,7 @@ async fn fails_when_channel_reinscribes_genesis_with_a_different_hash() { async fn fails_when_a_below_tip_channel_block_does_not_validate() { // A sequencer that committed blocks past genesis but never recorded an anchor. let config = setup_sequencer_config(); - let (mut seq, _handle) = SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let (mut seq, _handle) = start_sequencer(config.clone()).await; seq.run_production_turn().await.unwrap(); seq.run_production_turn().await.unwrap(); @@ -206,7 +257,8 @@ async fn fails_when_a_below_tip_channel_block_does_not_validate() { let below_tip_id = seq.block_store().genesis_id() + 1; let mut block = seq .block_store() - .get_block_at_id(below_tip_id) + .block_at_id(below_tip_id) + .await .unwrap() .unwrap(); block.header.hash = HashType([0xCD_u8; 32]); @@ -230,12 +282,16 @@ async fn fails_when_a_below_tip_channel_block_does_not_validate() { #[tokio::test] async fn fails_when_a_channel_block_is_numbered_below_genesis() { let config = setup_sequencer_config(); - let (store, chain) = fresh_store_and_chain(&config); + let (store, chain) = fresh_store_and_chain(&config).await; // A block numbered below our genesis — a foreign chain with a lower // numbering. Nothing local sits at that id, so it goes straight to // validation and parks there. - let mut foreign = store.get_block_at_id(store.genesis_id()).unwrap().unwrap(); + let mut foreign = store + .block_at_id(store.genesis_id()) + .await + .unwrap() + .unwrap(); foreign.header.block_id = store.genesis_id() - 1; let messages = vec![block_to_channel_message(&foreign, 10)]; @@ -256,10 +312,14 @@ async fn fails_when_a_channel_block_is_numbered_below_genesis() { #[tokio::test] async fn fails_when_a_channel_block_does_not_extend_the_tip() { let config = setup_sequencer_config(); - let (store, chain) = fresh_store_and_chain(&config); + let (store, chain) = fresh_store_and_chain(&config).await; // A block claiming an id far past genesis does not chain onto the local tip. - let mut orphan = store.get_block_at_id(store.genesis_id()).unwrap().unwrap(); + let mut orphan = store + .block_at_id(store.genesis_id()) + .await + .unwrap() + .unwrap(); orphan.header.block_id = store.genesis_id() + 5; let messages = vec![block_to_channel_message(&orphan, 10)]; @@ -289,39 +349,42 @@ async fn fails_when_a_channel_block_does_not_extend_the_tip() { async fn reconstruction_ignores_a_duplicate_height_the_final_tier_settled() { // Sequencer A's chain is what the channel finalized. let config_a = setup_sequencer_config(); - let (mut seq_a, _mempool_a) = - SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; + let (mut seq_a, _mempool_a) = start_sequencer(config_a.clone()).await; seq_a.run_production_turn().await.unwrap(); - let tip_a = seq_a.block_store().latest_block_meta().unwrap().unwrap(); - let mut messages = channel_from_store(seq_a.block_store(), 10); + let tip_a = seq_a + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); + let mut messages = channel_from_store(seq_a.block_store(), 10).await; let settled_slot = messages.last().unwrap().1; // Sequencer B: the cold-start backfill finalizes A's chain into its store. - let (seq_b, mempool_b) = - SequencerCoreWithMockClients::start_from_config(setup_sequencer_config()).await; - let finalized: Vec<(MsgId, Block)> = (seq_b.block_store().genesis_id()..=tip_a.id) - .map(|id| { - let block = seq_a.block_store().get_block_at_id(id).unwrap().unwrap(); - ( - MsgId::from([u8::try_from(id).expect("should be u8"); 32]), - block, - ) - }) - .collect(); + let (seq_b, mempool_b) = start_sequencer(setup_sequencer_config()).await; + let mut finalized: Vec<(MsgId, Block)> = Vec::new(); + for id in seq_b.block_store().genesis_id()..=tip_a.id { + let block = seq_a.block_store().block_at_id(id).await.unwrap().unwrap(); + finalized.push(( + MsgId::from([u8::try_from(id).expect("should be u8"); 32]), + block, + )); + } apply_follow_update( - &seq_b.store.dbio(), + seq_b.block_store().storage_ref(), &seq_b.chain(), &mempool_b, FollowUpdate { finalized, ..empty_follow_update() }, - ); + ) + .await; assert_eq!( seq_b .chain() .lock() - .unwrap() + .await .final_tip() .expect("backfill finalized A's chain") .block_id, @@ -331,7 +394,8 @@ async fn reconstruction_ignores_a_duplicate_height_the_final_tier_settled() { // A competitor published its own block at that same height. let parent = seq_a .block_store() - .get_block_at_id(tip_a.id - 1) + .block_at_id(tip_a.id - 1) + .await .unwrap() .unwrap(); let competitor = @@ -353,13 +417,19 @@ async fn reconstruction_ignores_a_duplicate_height_the_final_tier_settled() { .await .expect("a duplicate height the final tier settled must not abort startup"); - let tip_b = seq_b.block_store().latest_block_meta().unwrap().unwrap(); + let tip_b = seq_b + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); assert_eq!(tip_b.hash, tip_a.hash, "the finalized block stands"); // The anchor tracks the block we hold, never the one we dropped. let anchor = seq_b .block_store() .get_zone_anchor() + .await .unwrap() .expect("anchor"); assert_eq!(anchor.slot, settled_slot.into_inner()); @@ -372,31 +442,46 @@ async fn reconstruction_ignores_a_duplicate_height_the_final_tier_settled() { async fn reconstruction_replaces_a_conflicting_head_block_with_finalized_history() { // Sequencer A's chain is what the channel finalized. let config_a = setup_sequencer_config(); - let (mut seq_a, _mempool_a) = - SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; + let (mut seq_a, _mempool_a) = start_sequencer(config_a.clone()).await; seq_a.run_production_turn().await.unwrap(); - let tip_a = seq_a.block_store().latest_block_meta().unwrap().unwrap(); - let messages = channel_from_store(seq_a.block_store(), 10); + let tip_a = seq_a + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); + let messages = channel_from_store(seq_a.block_store(), 10).await; let tip_slot = messages.last().unwrap().1; // Sequencer B adopted a competitor at that height and never saw it finalize. - let (seq_b, mempool_b) = - SequencerCoreWithMockClients::start_from_config(setup_sequencer_config()).await; - let genesis_b = seq_b.block_store().latest_block_meta().unwrap().unwrap(); + let (seq_b, mempool_b) = start_sequencer(setup_sequencer_config()).await; + let genesis_b = seq_b + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); let competitor = common::test_utils::produce_dummy_block(tip_a.id, Some(genesis_b.hash), vec![]); assert_ne!(competitor.header.hash, tip_a.hash); apply_follow_update( - &seq_b.store.dbio(), + seq_b.block_store().storage_ref(), &seq_b.chain(), &mempool_b, FollowUpdate { adopted: vec![(MsgId::from([7_u8; 32]), competitor)], ..empty_follow_update() }, - ); + ) + .await; assert_eq!( - seq_b.block_store().latest_block_meta().unwrap().unwrap().id, + seq_b + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap() + .id, tip_a.id, "the competitor is the head tip going in" ); @@ -415,7 +500,12 @@ async fn reconstruction_replaces_a_conflicting_head_block_with_finalized_history .await .expect("finalized history must replace a conflicting head block"); - let tip_b = seq_b.block_store().latest_block_meta().unwrap().unwrap(); + let tip_b = seq_b + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); assert_eq!(tip_b.id, tip_a.id); assert_eq!( tip_b.hash, tip_a.hash, @@ -499,7 +589,7 @@ fn deposit_event_record( // // Sequencer A produces a deposit block then a withdraw block. // let config_a = bridge_funded_config(); // let (mut seq_a, mempool_a) = -// SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; +// start_sequencer(config_a.clone()).await; // let deposit_record = deposit_event_record(deposit_op_id, deposit_amount, recipient); // let deposit_tx = @@ -523,14 +613,14 @@ fn deposit_event_record( // .unwrap(); // seq_a.run_production_turn().await.unwrap(); -// let tip_a = seq_a.block_store().latest_block_meta().unwrap().unwrap(); -// let messages = channel_from_store(seq_a.block_store(), 10); +// let tip_a = seq_a.block_store().latest_block_meta().await.unwrap().unwrap(); +// let messages = channel_from_store(seq_a.block_store(), 10).await; // let tip_slot = messages.last().unwrap().1; // let channel_id = config_a.bedrock_config.channel_id; // let config_b = bridge_funded_config(); // let (mut seq_b, _mempool_b) = -// SequencerCoreWithMockClients::start_from_config(config_b).await; +// start_sequencer(config_b).await; // // Backfill re-delivery: the deposit event is re-recorded as a pending record // // before reconstruction runs. The mint no longer flows through the mempool @@ -553,7 +643,7 @@ fn deposit_event_record( // .await // .expect("reconstruct"); -// let tip_b = seq_b.block_store().latest_block_meta().unwrap().unwrap(); +// let tip_b = seq_b.block_store().latest_block_meta().await.unwrap().unwrap(); // assert_eq!(tip_b.id, tip_a.id); // assert_eq!(tip_b.hash, tip_a.hash); @@ -575,8 +665,8 @@ fn deposit_event_record( // let vault_id = vault_core::compute_vault_account_id(programs::vault().id(), recipient); // let bridge_id = system_accounts::bridge_account_id(); -// let state_b = seq_b.chain().lock().unwrap().head_state().clone(); -// let state_a = seq_a.chain().lock().unwrap().head_state().clone(); +// let state_b = seq_b.chain().lock().await.head_state().clone(); +// let state_a = seq_a.chain().lock().await.head_state().clone(); // for account in [vault_id, bridge_id, recipient] { // assert_eq!( // state_b.get_account_by_id(account).balance, @@ -592,7 +682,7 @@ fn deposit_event_record( // let produced = seq_b // .block_store() -// .get_block_at_id(tip_b.id + 1) +// .block_at_id(tip_b.id + 1) // .unwrap() // .expect("produced block present"); // assert!( @@ -631,7 +721,7 @@ fn deposit_event_record( // // Sequencer A produces a single withdraw block; treat its chain as the channel. // let config_a = bridge_funded_config(); // let (mut seq_a, mempool_a) = -// SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; +// start_sequencer(config_a.clone()).await; // let withdraw_tx = build_public_withdraw_tx( // recipient, // 0, @@ -656,20 +746,20 @@ fn deposit_event_record( // "producing a withdraw must count it as unseen" // ); -// let messages = channel_from_store(seq_a.block_store(), 10); +// let messages = channel_from_store(seq_a.block_store(), 10).await; // let tip_slot = messages.last().unwrap().1; // let channel_id = config_a.bedrock_config.channel_id; // // Sequencer B reconstructs A's chain from a fresh store. // let config_b = bridge_funded_config(); -// let (store_b, chain_b) = fresh_store_and_chain(&config_b); +// let (store_b, chain_b) = fresh_store_and_chain(&config_b).await; // let mock_b = MockBlockPublisher::with_canned_channel(channel_id, Some(tip_slot), messages); // SequencerCore::::verify_and_reconstruct(&mock_b, &store_b, &chain_b, // true) .await // .expect("reconstruct"); // assert!( -// !store_b.dbio().consume_unseen_withdraw_count(key).unwrap(), +// !dbio_b.consume_unseen_withdraw_count(key).unwrap(), // "reconstruction must not leave a phantom unseen-withdraw count" // ); // } @@ -687,8 +777,7 @@ async fn reconstruction_reconciles_already_finished_deposit() { // Sequencer A: a single block that fully processes the bridge deposit. let config_a = bridge_funded_config(); - let (mut seq_a, mempool_a) = - SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; + let (mut seq_a, mempool_a) = start_sequencer(config_a.clone()).await; let deposit_record = deposit_event_record(deposit_op_id, deposit_amount, recipient); let deposit_tx = crate::build_bridge_deposit_tx_from_event(&deposit_record).expect("build deposit tx"); @@ -698,7 +787,7 @@ async fn reconstruction_reconciles_already_finished_deposit() { .unwrap(); seq_a.run_production_turn().await.unwrap(); - let messages = channel_from_store(seq_a.block_store(), 10); + let messages = channel_from_store(seq_a.block_store(), 10).await; let tip_slot = messages.last().unwrap().1; let channel_id = config_a.bedrock_config.channel_id; @@ -706,11 +795,14 @@ async fn reconstruction_reconciles_already_finished_deposit() { // pre-seeded, as the cold-start backfill would when it re-observes this // already-finalized deposit. let config_b = bridge_funded_config(); - let (store_b, chain_b) = fresh_store_and_chain(&config_b); + let (store_b, chain_b) = fresh_store_and_chain(&config_b).await; assert!( store_b - .dbio() - .add_pending_deposit_event(deposit_record.clone()) + .storage_ref() + .ask(AddPendingDepositEvent { + event: deposit_record.clone() + }) + .await .unwrap() ); @@ -724,7 +816,7 @@ async fn reconstruction_reconciles_already_finished_deposit() { assert_eq!( chain_b .lock() - .unwrap() + .await .head_state() .get_account_by_id(vault_id) .balance, @@ -736,14 +828,15 @@ async fn reconstruction_reconciles_already_finished_deposit() { // dropped the pending record backfill had re-delivered — so the production // drain sees the deposit as minted and never re-emits it. assert!( - crate::deposit_already_minted( - chain_b.lock().unwrap().head_state(), - HashType(deposit_op_id) - ), + crate::deposit_already_minted(chain_b.lock().await.head_state(), HashType(deposit_op_id)), "the reconstructed deposit's receipt marks it minted" ); assert!( - store_b.get_pending_deposit_events().unwrap().is_empty(), + store_b + .get_pending_deposit_events() + .await + .unwrap() + .is_empty(), "reconstruction drops the finalized deposit's pending record" ); } @@ -761,29 +854,38 @@ async fn reconstructed_delivery_settles_its_pending_record() { // Sequencer A produces the block that carries the delivery. let config_a = cross_zone_test_config(); - let (mut seq_a, _mempool_a) = - SequencerCoreWithMockClients::start_from_config(config_a.clone()).await; + let (mut seq_a, _mempool_a) = start_sequencer(config_a.clone()).await; seq_a .block_store() - .dbio() - .add_pending_cross_zone_dispatches(vec![record.clone()]) + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record.clone()], + }) + .await .unwrap(); seq_a.run_production_turn().await.unwrap(); - let tip_a = seq_a.block_store().latest_block_meta().unwrap().unwrap(); - let messages = channel_from_store(seq_a.block_store(), 10); + let tip_a = seq_a + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); + let messages = channel_from_store(seq_a.block_store(), 10).await; let tip_slot = messages.last().unwrap().1; let channel_id = config_a.bedrock_config.channel_id; // Sequencer B holds the same record, as its own watcher would after reading // the peer block, and reconstructs A's chain from a fresh store. - let (mut seq_b, _mempool_b) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut seq_b, _mempool_b) = start_sequencer(cross_zone_test_config()).await; assert_eq!( seq_b .block_store() - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(), 1 ); @@ -798,14 +900,19 @@ async fn reconstructed_delivery_settles_its_pending_record() { .await .expect("reconstruct"); - let tip_b = seq_b.block_store().latest_block_meta().unwrap().unwrap(); + let tip_b = seq_b + .block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap(); assert_eq!(tip_b.id, tip_a.id); assert_eq!(tip_b.hash, tip_a.hash); assert!( seq_b - .block_store() - .dbio() - .get_pending_cross_zone_dispatches() + .store + .pending_cross_zone_dispatches() + .await .unwrap() .is_empty(), "reconstruction must settle the record of a delivery it replayed" @@ -814,14 +921,17 @@ async fn reconstructed_delivery_settles_its_pending_record() { // The delivery landed exactly once, and the next turn does not re-emit it. let record_id = ping_record_pda(programs::ping_receiver().id()); assert_eq!( - seq_b.with_state(|state| state.get_account_by_id(record_id).data.into_inner()), + seq_b + .with_state(|state| state.get_account_by_id(record_id).data.into_inner()) + .await, payload, "the reconstructed delivery must reach its target program" ); seq_b.run_production_turn().await.unwrap(); let produced = seq_b .block_store() - .get_block_at_id(tip_b.id + 1) + .block_at_id(tip_b.id + 1) + .await .unwrap() .expect("produced block present"); assert!( @@ -840,24 +950,27 @@ async fn a_verified_own_block_settles_its_delivery_records() { let record = dispatch_record(37, ping_payload(b"verified")); let key = record.message_key; - let (mut seq, _mempool) = - SequencerCoreWithMockClients::start_from_config(cross_zone_test_config()).await; + let (mut seq, _mempool) = start_sequencer(cross_zone_test_config()).await; seq.block_store() - .dbio() - .add_pending_cross_zone_dispatches(vec![record]) + .storage_ref() + .ask(AddPendingCrossZoneDispatches { + dispatches: vec![record], + }) + .await .unwrap(); let block_id = seq.run_production_turn().await.unwrap(); let block = seq .block_store() - .get_block_at_id(block_id) + .block_at_id(block_id) + .await .unwrap() .unwrap(); assert_eq!(dispatches_in(&block), vec![key]); assert_eq!( - seq.block_store() - .dbio() - .get_pending_cross_zone_dispatches() + seq.store + .pending_cross_zone_dispatches() + .await .unwrap() .len(), 1, @@ -865,7 +978,7 @@ async fn a_verified_own_block_settles_its_delivery_records() { ); // The channel serves our own chain back, tip included. - let messages = channel_from_store(seq.block_store(), 10); + let messages = channel_from_store(seq.block_store(), 10).await; let tip_slot = messages.last().unwrap().1; let mock = MockBlockPublisher::with_canned_channel( seq.sequencer_config.bedrock_config.channel_id, @@ -879,9 +992,9 @@ async fn a_verified_own_block_settles_its_delivery_records() { .expect("reconstruct"); assert!( - seq.block_store() - .dbio() - .get_pending_cross_zone_dispatches() + seq.store + .pending_cross_zone_dispatches() + .await .unwrap() .is_empty(), "a delivery the channel confirms must not leave a record nothing can remove" @@ -895,19 +1008,28 @@ async fn committed_local_against_missing_channel_fails_without_anchor() { // anchor). Restarting it against a wiped/missing channel must still fail, // driven by the committed-blocks invariant rather than an anchor probe. let config = setup_sequencer_config(); - { - let (mut seq, _handle) = - SequencerCoreWithMockClients::start_from_config(config.clone()).await; + let storage_weak = { + let (mut seq, _handle) = start_sequencer(config.clone()).await; seq.run_production_turn().await.unwrap(); seq.run_production_turn().await.unwrap(); - assert!(seq.block_store().latest_block_meta().unwrap().unwrap().id > 1); - } // drop releases the store so we can reopen it + assert!( + seq.block_store() + .latest_block_meta() + .await + .unwrap() + .unwrap() + .id + > 1 + ); + seq.block_store().storage_ref().downgrade() + }; + storage_weak.wait_for_shutdown_with_result(|_| ()).await; // Reopen: blocks beyond genesis, no anchor. `is_fresh_start = false` stands in // for a checkpoint persisted by a prior sync (the mock never emits one). - let (store, chain) = fresh_store_and_chain(&config); - assert!(store.get_zone_anchor().unwrap().is_none()); - assert!(store.latest_block_meta().unwrap().unwrap().id > 1); + let (store, chain) = fresh_store_and_chain(&config).await; + assert!(store.get_zone_anchor().await.unwrap().is_none()); + assert!(store.latest_block_meta().await.unwrap().unwrap().id > 1); // The channel is gone: no tip, no messages. let mock = diff --git a/lez/sequencer/service/Cargo.toml b/lez/sequencer/service/Cargo.toml index c8edaec26..7fe6f4379 100644 --- a/lez/sequencer/service/Cargo.toml +++ b/lez/sequencer/service/Cargo.toml @@ -12,6 +12,7 @@ workspace = true sequencer_core = { workspace = true, features = ["testnet"] } sequencer_executor_actor.workspace = true sequencer_rpc_server_actor.workspace = true +sequencer_storage_actor.workspace = true lee = { workspace = true, optional = true } programs = { workspace = true, optional = true } system_accounts = { workspace = true, optional = true } diff --git a/lez/sequencer/service/src/lib.rs b/lez/sequencer/service/src/lib.rs index e6b819c09..537e2ff2d 100644 --- a/lez/sequencer/service/src/lib.rs +++ b/lez/sequencer/service/src/lib.rs @@ -9,6 +9,7 @@ pub use sequencer_core::config::*; use sequencer_core::load_or_create_signing_key; use sequencer_executor_actor::ExecutorActor; use sequencer_rpc_server_actor::RpcServerActor; +use sequencer_storage_actor::StorageActor; use tokio::select; use crate::actor_handle::ActorHandle; @@ -29,6 +30,7 @@ pub struct SequencerHandle { scheduler: ActorHandle, rpc_server: ActorHandle, executor: ActorHandle>, + storage: ActorHandle, addr: SocketAddr, /// Held for its lifetime: dropping it stops the gossip drive task. /// `None` when gossip is unconfigured. @@ -40,6 +42,7 @@ impl SequencerHandle { scheduler: ActorHandle, rpc_server: ActorHandle, executor: ActorHandle>, + storage: ActorHandle, addr: SocketAddr, gossip: Option, ) -> Self { @@ -47,6 +50,7 @@ impl SequencerHandle { scheduler, rpc_server, executor, + storage, addr, gossip, } @@ -59,6 +63,7 @@ impl SequencerHandle { scheduler, rpc_server, executor, + storage, addr: _, gossip: _, } = self; @@ -67,6 +72,7 @@ impl SequencerHandle { scheduler.shutdown().await; rpc_server.shutdown().await; executor.shutdown().await; + storage.shutdown().await; } /// Wait for any of the sequencer tasks to fail and return the error. @@ -79,6 +85,7 @@ impl SequencerHandle { executor, rpc_server, scheduler, + storage, addr: _, gossip: _, } = self; @@ -93,6 +100,9 @@ impl SequencerHandle { Err(err) = scheduler.failed() => { Err(err) } + Err(err) = storage.failed() => { + Err(err) + } } } @@ -106,11 +116,15 @@ impl SequencerHandle { executor, rpc_server, scheduler, + storage, addr: _, gossip: _, } = self; - executor.is_healthy() && rpc_server.is_healthy() && scheduler.is_healthy() + executor.is_healthy() + && rpc_server.is_healthy() + && scheduler.is_healthy() + && storage.is_healthy() } #[must_use] @@ -132,19 +146,21 @@ pub async fn run(config: SequencerConfig, listen_addr: SocketAddr) -> Result None, Some(gossip_config) => { @@ -171,12 +187,13 @@ pub async fn run(config: SequencerConfig, listen_addr: SocketAddr) -> Result Result DbResult { - let db_opts = Options::default(); - Self::open_inner(path, &db_opts) - } - - pub fn create(path: &Path, genesis_block: &Block, genesis_state: &V03State) -> DbResult { + /// Opens the database at `path`, creating an empty one when there is none. + /// + /// An empty one holds no chain: every read of the first or last block fails + /// until [`Self::write_genesis`] seeds it. + pub fn open_or_create(path: &Path) -> DbResult { let mut db_opts = Options::default(); db_opts.create_missing_column_families(true); db_opts.create_if_missing(true); - let dbio = Self::open_inner(path, &db_opts)?; - - let is_start_set = dbio.get_meta_is_first_block_set()?; - if !is_start_set { - let block_id = genesis_block.header.block_id; - // TODO: Shouldn't this be atomic (batched)? - dbio.put_meta_first_block_in_db(genesis_block)?; - dbio.put_meta_is_first_block_set()?; - dbio.put_meta_last_block_in_db(block_id)?; - dbio.put_meta_last_finalized_block_id(None)?; - dbio.put_meta_latest_block_meta(&BlockMeta { - id: genesis_block.header.block_id, - hash: genesis_block.header.hash, - })?; - dbio.put_lee_state_in_db(genesis_state)?; - } - - Ok(dbio) + Self::open_inner(path, &db_opts) } /// Dump every key/value pair across all column families into a [`DbDump`]. Column families are @@ -497,22 +478,22 @@ impl RocksDBIO { // Meta - pub fn get_meta_first_block_in_db(&self) -> DbResult { - self.get::(()).map(|cell| cell.0) + /// The id of the chain's first block, or `None` when this database holds no + /// chain yet — nothing has written a genesis into it. + pub fn get_meta_first_block_in_db(&self) -> DbResult> { + Ok(self.get_opt::(())?.map(|cell| cell.0)) } - pub fn get_meta_last_block_in_db(&self) -> DbResult { - self.get::(()).map(|cell| cell.0) + /// The id of the chain's last block, or `None` when this database holds no + /// chain yet. + pub fn get_meta_last_block_in_db(&self) -> DbResult> { + Ok(self.get_opt::(())?.map(|cell| cell.0)) } pub fn get_meta_is_first_block_set(&self) -> DbResult { Ok(self.get_opt::(())?.is_some()) } - pub fn put_lee_state_in_db(&self, state: &V03State) -> DbResult<()> { - self.put(&LEEStateCellRef(state), ()) - } - pub fn put_lee_state_in_db_batch( &self, state: &V03State, @@ -521,42 +502,6 @@ impl RocksDBIO { self.put_batch(&LEEStateCellRef(state), (), batch) } - pub fn put_meta_first_block_in_db(&self, block: &Block) -> DbResult<()> { - let cf_meta = self.meta_column(); - self.db - .put_cf( - &cf_meta, - borsh::to_vec(&DB_META_FIRST_BLOCK_IN_DB_KEY).map_err(|err| { - DbError::borsh_cast_message( - err, - Some("Failed to serialize DB_META_FIRST_BLOCK_IN_DB_KEY".to_owned()), - ) - })?, - borsh::to_vec(&block.header.block_id).map_err(|err| { - DbError::borsh_cast_message( - err, - Some("Failed to serialize first block id".to_owned()), - ) - })?, - ) - .map_err(|rerr| DbError::rocksdb_cast_message(rerr, None))?; - - let mut batch = WriteBatch::default(); - self.put_block(block, true, &mut batch)?; - self.db.write(batch).map_err(|rerr| { - DbError::rocksdb_cast_message( - rerr, - Some("Failed to write first block in db".to_owned()), - ) - })?; - - Ok(()) - } - - pub fn put_meta_last_block_in_db(&self, block_id: u64) -> DbResult<()> { - self.put(&LastBlockCell(block_id), ()) - } - fn put_meta_last_block_in_db_batch( &self, block_id: u64, @@ -565,16 +510,13 @@ impl RocksDBIO { self.put_batch(&LastBlockCell(block_id), (), batch) } - pub fn put_meta_last_finalized_block_id(&self, block_id: Option) -> DbResult<()> { - self.put(&LastFinalizedBlockIdCell(block_id), ()) - } - - pub fn put_meta_is_first_block_set(&self) -> DbResult<()> { - self.put(&FirstBlockSetCell(true), ()) - } - - fn put_meta_latest_block_meta(&self, block_meta: &BlockMeta) -> DbResult<()> { - self.put(&LatestBlockMetaCellRef(block_meta), ()) + fn put_meta_first_block_in_db_batch( + &self, + block_id: u64, + batch: &mut WriteBatch, + ) -> DbResult<()> { + self.put_batch(&FirstBlockCell(block_id), (), batch)?; + self.put_batch(&FirstBlockSetCell(true), (), batch) } fn put_meta_latest_block_meta_batch( @@ -1243,22 +1185,6 @@ impl RocksDBIO { Ok(unmatched.is_empty()) } - pub fn put_block(&self, block: &Block, first: bool, batch: &mut WriteBatch) -> DbResult<()> { - if !first { - // A produced block is the new head tip by construction: pin the - // tip meta and drop any stale higher blocks a preceding reorg left - // behind (mirrors `store_followed_blocks`). - let last_curr_block = self.get_meta_last_block_in_db()?; - for stale_id in block.header.block_id.saturating_add(1)..=last_curr_block { - self.delete_block_payload(stale_id, batch)?; - } - self.put_meta_last_block_in_db_batch(block.header.block_id, batch)?; - self.put_meta_latest_block_meta_batch(&BlockMeta::from(block), batch)?; - } - - self.put_block_payload(block, batch) - } - /// Stages deletion of a block payload into `batch`. fn delete_block_payload(&self, block_id: u64, batch: &mut WriteBatch) -> DbResult<()> { let cf_block = self.block_column(); @@ -1311,8 +1237,10 @@ impl RocksDBIO { self.put_batch(&FinalBlockMetaCellRef(meta), (), batch) } - pub fn get_lee_state(&self) -> DbResult { - self.get::(()).map(|val| val.0) + /// The state after the last applied block, or `None` when this database + /// holds no chain yet. + pub fn get_lee_state(&self) -> DbResult> { + Ok(self.get_opt::(())?.map(|val| val.0)) } pub fn delete_block(&self, block_id: u64) -> DbResult<()> { @@ -1350,6 +1278,15 @@ impl RocksDBIO { for block in to_write.values() { self.put_block_payload(block, &mut batch)?; } + + // The lowest block written to a store that holds no chain starts one. + // Nothing else records where a chain begins, and without it every read + // that walks from the first block has no lower bound. + if let Some((first_id, _)) = to_write.first_key_value() + && self.get_meta_first_block_in_db()?.is_none() + { + self.put_meta_first_block_in_db_batch(*first_id, &mut batch)?; + } self.db.write(batch).map_err(|rerr| { DbError::rocksdb_cast_message( rerr, @@ -1460,7 +1397,9 @@ impl RocksDBIO { zone_anchor, } = *update; - let last_block_in_db = self.get_meta_last_block_in_db()?; + // 0 stands in for "no chain yet": nothing to sweep above the new tip, + // and any tip this update pins is a change. + let last_block_in_db = self.get_meta_last_block_in_db()?.unwrap_or(0); let mut batch = WriteBatch::default(); if let Some(bytes) = checkpoint { @@ -1506,6 +1445,15 @@ impl RocksDBIO { self.put_block_payload(block, &mut batch)?; } + // The lowest block written to a store that holds no chain starts one. + // Nothing else records where a chain begins, and without it every read + // that walks from the first block has no lower bound. + if let Some((first_id, _)) = to_write.first_key_value() + && self.get_meta_first_block_in_db()?.is_none() + { + self.put_meta_first_block_in_db_batch(*first_id, &mut batch)?; + } + let accepted_deposits = self.stage_pending_deposit_events( new_deposit_events, remove_deposit_records, diff --git a/lez/storage/src/sequencer/tests.rs b/lez/storage/src/sequencer/tests.rs index 392ffff93..5a53dd24f 100644 --- a/lez/storage/src/sequencer/tests.rs +++ b/lez/storage/src/sequencer/tests.rs @@ -24,7 +24,11 @@ fn state_with_balance(balance: u128) -> V03State { fn dbio_with_genesis(path: &Path) -> (RocksDBIO, Block) { let genesis = produce_dummy_block(1, None, vec![]); - let dbio = RocksDBIO::create(path, &genesis, &state_with_balance(100)).unwrap(); + let dbio = RocksDBIO::open_or_create(path).unwrap(); + // The same write any block takes: the first one into an empty store starts + // its chain. + dbio.atomic_update(&genesis, &[], &state_with_balance(100), None) + .unwrap(); (dbio, genesis) } @@ -68,6 +72,7 @@ fn sorted_dispatches( fn stored_balance(dbio: &RocksDBIO) -> u128 { dbio.get_lee_state() .unwrap() + .expect("the store holds a chain") .get_account_by_id(marker_id()) .balance } @@ -487,7 +492,7 @@ fn peer_chain_tips_round_trip_and_are_kept_per_peer() { // On disk, not in memory: a watcher that re-anchored on restart would take // whatever block reached it first, which is the id the attack picks. drop(dbio); - let reopened = RocksDBIO::open(temp_dir.path()).unwrap(); + let reopened = RocksDBIO::open_or_create(temp_dir.path()).unwrap(); assert_eq!( reopened.get_cross_zone_peer_tip(peer_a).unwrap(), Some(advanced) @@ -586,7 +591,7 @@ fn dispatch_records_survive_a_reopen() { // On disk, not in memory: the records are what stand between the watcher's // durable read floor and a lost delivery across a restart. drop(dbio); - let reopened = RocksDBIO::open(temp_dir.path()).unwrap(); + let reopened = RocksDBIO::open_or_create(temp_dir.path()).unwrap(); assert_eq!( sorted_dispatches(reopened.get_pending_cross_zone_dispatches().unwrap()), sorted_dispatches(vec![first, second]) @@ -612,7 +617,7 @@ fn a_legacy_dispatch_blob_is_migrated_into_per_message_entries_on_open() { .unwrap(); drop(dbio); - let migrated = RocksDBIO::open(temp_dir.path()).unwrap(); + let migrated = RocksDBIO::open_or_create(temp_dir.path()).unwrap(); assert_eq!( sorted_dispatches(migrated.get_pending_cross_zone_dispatches().unwrap()), sorted_dispatches(records.clone()), @@ -650,7 +655,7 @@ fn a_legacy_dispatch_blob_is_migrated_into_per_message_entries_on_open() { .unwrap(); drop(migrated); - let cleaned = RocksDBIO::open(temp_dir.path()).unwrap(); + let cleaned = RocksDBIO::open_or_create(temp_dir.path()).unwrap(); assert!( cleaned .db @@ -687,7 +692,7 @@ fn a_legacy_blob_over_live_entries_folds_additively() { .unwrap(); drop(dbio); - let merged = RocksDBIO::open(temp_dir.path()).unwrap(); + let merged = RocksDBIO::open_or_create(temp_dir.path()).unwrap(); assert_eq!( sorted_dispatches(merged.get_pending_cross_zone_dispatches().unwrap()), sorted_dispatches(vec![ @@ -1158,3 +1163,47 @@ fn produced_block_below_disk_head_pins_meta_and_prunes() { assert_eq!(meta.hash, block2b.header.hash); assert_eq!(stored_balance(&dbio), 400); } + +/// A database nothing has written a genesis into answers "no chain yet" rather +/// than failing: every one of these was a hard `get` that errored on absence. +#[test] +fn an_unseeded_store_reports_no_chain() { + let dir = tempfile::tempdir().expect("temp dir"); + let dbio = RocksDBIO::open_or_create(dir.path()).expect("open"); + + assert_eq!(dbio.get_meta_first_block_in_db().unwrap(), None); + assert_eq!(dbio.get_meta_last_block_in_db().unwrap(), None); + assert!(dbio.get_lee_state().unwrap().is_none()); + assert!(dbio.latest_block_meta().unwrap().is_none()); + assert!(dbio.get_final_snapshot().unwrap().is_none()); + assert!(!dbio.get_meta_is_first_block_set().unwrap()); + assert!(dbio.get_block(1).unwrap().is_none()); +} + +/// The first block written to an empty store starts its chain — the property +/// that lets a genesis go in as an ordinary block write. +#[test] +fn the_first_block_written_starts_the_chain() { + let dir = tempfile::tempdir().expect("temp dir"); + let dbio = RocksDBIO::open_or_create(dir.path()).expect("open"); + assert_eq!(dbio.get_meta_first_block_in_db().unwrap(), None); + + let genesis = produce_dummy_block(1, None, vec![]); + dbio.atomic_update(&genesis, &[], &state_with_balance(100), None) + .expect("seed"); + + assert_eq!(dbio.get_meta_first_block_in_db().unwrap(), Some(1)); + assert_eq!(dbio.get_meta_last_block_in_db().unwrap(), Some(1)); + assert!(dbio.get_meta_is_first_block_set().unwrap()); + assert_eq!( + dbio.get_block(1).unwrap().unwrap().header.hash, + genesis.header.hash + ); + + // A later block extends the chain rather than restarting it. + let second = produce_dummy_block(2, Some(genesis.header.hash), vec![]); + dbio.atomic_update(&second, &[], &state_with_balance(100), None) + .expect("extend"); + assert_eq!(dbio.get_meta_first_block_in_db().unwrap(), Some(1)); + assert_eq!(dbio.get_meta_last_block_in_db().unwrap(), Some(2)); +} diff --git a/test_fixtures/Cargo.toml b/test_fixtures/Cargo.toml index 4d9982123..d90681683 100644 --- a/test_fixtures/Cargo.toml +++ b/test_fixtures/Cargo.toml @@ -18,6 +18,7 @@ sequencer_core = { workspace = true, features = ["default", "testnet"] } sequencer_service.workspace = true sequencer_stake_core.workspace = true sequencer_service_rpc = { workspace = true, features = ["client"] } +sequencer_storage_actor.workspace = true wallet.workspace = true programs.workspace = true @@ -28,6 +29,7 @@ env_logger.workspace = true futures.workspace = true hex.workspace = true jsonrpsee = { workspace = true, features = ["ws-client"] } +kameo.workspace = true log.workspace = true num-bigint.workspace = true serde.workspace = true diff --git a/test_fixtures/fixtures/prebuilt_sequencer_db.dump b/test_fixtures/fixtures/prebuilt_sequencer_db.dump index 2e58b2293321d728ad1d284e207d6ce2d1ceca35..65968def6a42bf281afee6e0eaacd3f9bcddc6cc 100644 GIT binary patch delta 665465 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%0A@~0d20xxEahMC;nE`(k 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�oRAsn=KJTNC}V> zUN!2*r1@e|0{MkUs;FYHqn3XZyiQ>H%Hp!SwjgUT4Hy_<6|XLiZCJKG9+V=k-jy;RM~xK?KnXh5(O$^4v+^l_&PMAYIJ{V81tdfUmhlZ z*Gq0t)MG!ya3~mpzi%d9C}@`_PMkP#f-MrINQn}qD1#kXF5R{*vPF4|ZQIs$T_TZK zEEc&2EU8dwYhzp21aV4L>k_G!6pOAGR#Xy-7#85V_2BSGZ1tQ(zV%hKTPz?A%CIhC z6>9sN8wmw$3htmvKD~b{>x`3fcc+65@XEw=C5$R?Wufr)z^-hP(3M4Un3So`n%&Y( zkK5&uxFuqU?eY!<9p$xn^N>7Cb><3LL53o+IR(`E>pG9`anAR)OxL)W8X5&^^}n~x z&N7VO{LRC!o%gf6%P$o;B7 z_8i|ofBU+hKfcQ|Z@+r|W%|o%Utjwh-}L?Vbpgzyn7?0nukAR8-#y=7-iF=Y zb`o$f&c>&}Tf~3$Zz|MyH3}?s%mM{Ere`^Z-ya6Qzlw%Ijm4lQ7FLD~#fR10NQGz`=V5+I;aDPSO@USKbbjfJUQcxV2dWgPEw9sa_hWbKNEamQ9lwN>t= zRWS21i~zwwacPZWk#d@vu7%=Y8Z%_BV7zR}VuebSJ|=%lkn9l=lINq{!Qwb$-q3M3 zSJx&3hCMgGfaMglc~uQq5x8&(jZ!2>ix5%y3ds>PSJ>tU#2!2Y)dw_#QU2UYHCZBCw27iqxv%az;p*z*fL6 zq?$M8Lrj0(k+V4D8`8VFc0-jd4Xwh|%)u|CW+A9*q8)niq=}&t1Or&8AOXTb+foTd zWmHP@Y{mJFC2JHIbju7Qxdi~nG<_Hn#0Q6}hYeD&3lM&nlrR7k?}|A!g+w!lM({eM zOs=Nqfs0g^7YIp+)}SE+h{BBoAInuh&YQt49cO>ahyko_X^U$kyv^n$bxG+H#Mcu_ zIm`hvfGJ5U0FMYX98jq8imys9>h9=_BQ_axWzU!`o{mFO1l=`|){*1JX^LmXw4;N; z!ez24@H!H=sLBcn`okxRXJyRBlni3a=_yuK1XoCkX}H&i4Np{oIfMua*X)_O3rvCm zV%mQKcm)b?%C%32mBSG*!yrf&NSMsl23lHLVbZ9U78D8v#6c;AY*OvSjHE4nf|1rt zp+>(Z)JRXiJaq7sO`f?aU9&8Lpf^`Sy&qy$l#r3Vi9kFG)`3miI2D3wwmn9ZOp;A^ zx*hV5>C}iWfB=_KAXS6}L0giLs(e}GG!=iXEwdDg|%N#AI)u~%Lss@i;1mLvT8K^-+q6_ z`TCac8~$)T$M9Rn?~iHveq;G7mU+2!&+@0`7l!ZGreA8_*D;Ulx6I%8 z9oza&<8Ke!^KQrVP51Wv#_(OwwLSN_49{P-b^iao=IwZX=U(3N8_s7wzTeos;XA(P zceY_#j(OVtul#=w!#GaQ{lDwK+ckd=Q|FqlX*uWd9nSv^?|m=x^iB6K|93e4g7q5z zJ8t7L&%?29%Q(N&xIEW${?dCs_xS((z0>;+-!yE?IS#k`%rt5mgXZy|NTj%Y!mtT3WzmD(pOr77kj{iN+a%|VI9ozqg|1E#V@rU{T z{q)Yqv%beT-^1~@^Ze&LU4I(BzfIS2Y|HSM;d!R>{jT>ohUfU5_4>tmImSOt-!;$2 zeGJ2K4b!yze>~4Hb?3i6<1l{fIW5EQ|2jR>_WtgFrt$svxn1x7&vq~GG&P=O+x|S? zzcNnqF;B(ech=$BhVT5&@fd&pcl`49&f~qk>o32%@iP3{cFGROu(oaVr$AR1@yMs7 z*tF%;1m&;ItuNs=MRE0G!TKfYW60JaQIjH3TZAG69V{l1Ya1q|Th-WO18dABlXc+q ziA%}`K0!7G>GGbiX{LCCSE%+5@`>>cn-_Q=>*&}(0!>;cZC?wejnaQgX{WSRTEEsx zdj;+9`E>qGw>X{7E$#Pmb#>LH-2%L7HovsWFwLe_n3la-Sy^2fkzq2KWBdp*m&-DQ zXO_#VGuJd#RaI&H2C1m1)+Axm#|NQO*%AhzgEKV+M-6U{oI1s^2v|S#L`5a-{3Xp$ z07@p4EuKH5SsFfQP)&c&pQ|A)5fqXQ5_SR+#5BxN8#_LK$5w(J{=~|1Dp^u`da48f zD=RC^%Z``@g+ifPT3T9h(~sslIkoO|+GI2q|B=J-M25@|@4NKoo!L*;TBz)^@CoT3stU z6=kihl(mhDwpKS8b*(N`)U^_kQKFUj6eU`VM{BXp$=cMErODdzHAP#!qV?I{N%e@) zHqN!SyBkG5TjqBFw$Gg91_7lq@{X9aBt?VQ+uV>Sz3!U1k z7FT1M1R?=r7?mhze9>f-23eEZvB+}edh)b%pRk3|6>N5KU8XJ+k3ufK1Og)59~2CG zmK-~`z-TnXwHl-CpBDLnWLIZYi&os`bQ${f>D=RB2h!d!^ zC^L?oGci-v!mAN>GtK#;$_kTlI<(BrVt{E&@kn-XG@ zQ0h)ns+_h-o8O*KH`O7D)iqi-y1nkS@Xxy81Ns+vd?ILYw1x-*etc1O06e+?T?-p; zavSINNbJXdrw;7ES6cq6x_Ff1q!RV&1pf_ug1HW8;O_1G7vPaklf8kjSl&a>lw;I* zwyoQGX0wL}tA|-Nt6lN^=6C-ftCed1`vSz`bS7`ulm^nr4SbZOH}ZJ$xoG`)XuN@s zx?$}bagQPF5?H!{uQ!ybQ<{WR+%FM&>J7OAUqRP@A<+8;pjIBO^k>uQu(f15a*U_b zd2i_emT|%&GQxN|qfYPT@M#rd|5F*yud-B7wL}INvAcdQ(2r3Wd7ZlWL6oJ9-0gsq zP4aAH6m032Y#(iZ$Fpw{qB;Jk_V(W~iF4oSndM15QSja;pgvCTPwawVpNNh@|HMGH zoX8D-N{rdzzM{ipCJ~6&d~YJSJ7-_1k2jtE?8!Ua^qdw@(nt8-+U?0y>I1E1dmnYa zH<&z)$qq;mX$SuSW?hK)@iu?@;D|qM-2T=P?O|c3ZyO<&9q0ag-(ENlD>mix2(f?C zSakEpgE^0jIZbdb4*LHw>RTC;k!S{Iu(E%DNa_f%&EG#kxrkYJ26M~p>)$6;+;GJi zrab26e8e1-tW5t*)aNc9_@|Ku5Jy>>&TN!#^!(^l-}j+8dY-Fst}5++!GzCM`7PDjS#o3E=Nz0CR(gvlc^R5t>X zPpqc!3&88fA_-Q)@C8P};vq|ajv9a9vql2Qpr(QZ*kv$g_Hux$P*y!V;7EE3%&ngEXAFEi1ak8zao%oEdpGajc3(e)Qfn@5a54H5Wou*d@d$jN z`&|(F@LBF=vKvnKXZ0Q|L`_03sCwIijBroQ@OA?cN9awWK&2=n)db8&_ z=DTH^5`QQ;eENG@wD#Q}=R#>2eF$6%d!<%_r0y38n^{y?KfteTW^Q_MjtbY|NWx1nwB0mN<22SsQt?P=IX3bwQkc^ zfj@_5^!vR+tlm73(ey#2?5v!BIC6=k0b=z|*)OV&3q#7kLZ;zxaZ zU~=bf4LCHOSeK9TZT`Q?oU@(^kr&XkS|-HC4d#{3<-4>vYph*pmxkN>`e0oFhTHiD zFESLD^~2ov!t(w831ZYHP~r8gNV}AJ6u(=b@%r~`nckt#&ie)N@CJ>4p;MUsgjXLv z>CK12<9qMkcuXHxwVlb9OvKT6<=!7Wb5|4}r)mE6O#2@ixinMEq9a2c=lU~y+sik1 zUG`a)tYdi4^+8rGqrmEz^1SF@AO0W-{}ail^;;S>f2#K27~V9y5FT! zY5J>DpLa)KS$NijsP*yRiR)dQpa;wTeSfE9b!@oTH;M4BdL?d!Q$1H*aaGe}9f~vV zU>A>;%i*=%jlz!bW4%u}i*`ejBK%l54^Hpd`t))J=|PlURxuoZxf6dstuWH0*u{bN zm2ivx1_gB<6vS`&r&PfU{{hV3H_ZB^EWL|$R@~*uPQA-QIi>vky7P)rn+cQCEGQ*JHb}S%2 zF+ZAyI9a=C1#IA;D<`5sB5NwZ@%CC9cJrh&BMMPQ@9utMaLZY2+m1Aol=eiB-SpxA zQwE{)hInFsc5Siv6t6Mx|JA1vIBG@oewcskQ&B>NZ{ zO^Se5alW~rc@L^1dyf%MKuF%}Pel(1cnCCf@u{cK2@=T79S83-aqiTLUL8*%Wu0ec zX-DNb@{Oc5LTDAylT;EtoXajS|0Ygjey1U!3ZRjH$@qp(xRs&|U2^I>c%h8W4L4zz zYfFhxkYh^RO?ncZvJ9Vpqm!a&Fp6EXUyB1c)seY{XZsn3z~^CQCQtQz(lI&+J8Q@k zQTfcGFW%4R*7}5C${#?$Hu?Q7%S(O}oE0#s3Hxm?nlPbMWs=Dwi|~lqjTJ37q6C>L zxq|h7t|AdBRfiH&I#B;)H@Bq?&Qxjhc6J2Eu5~D&@_A%c!mFCOsd5*_fSmfg=(8hW z3u>O0O4;2$YkqZCH(o^Wp)g6~%1pa(QmiS^LC4{`MEJzXbAo0nD*$m-Sv*IkeEh%I zZ%8f+(#)T6ysUuPQa`9?u_OJGY#Tloee(!^*z5Wc+)Mi^g!(ox&XSA$3$y{1(pAm( z@=eqCS1N3316ZOcsFRL~huc{nT#?Cq*3Wx-GBfU5GLS{zX4<34Pv;)EHE*isXCiwh zG=VlDJ^GY@84>=lBx?q7ryDY`tHiaUFzRbe7s_)=mWtP$>J((-sSU3|bUFzmwTESY zOq~>FngQHr?d-Dqe8 zvhy^~7hR4?$!ypN{&3$*W~xEHn&>@CU@Q*Y(A(IQsg?1=_enJHcr;&(ft^)C$}>0? znTA1-#u2@E`Rp(_Oh*zMvE4yg&muPaOr`|&9E{H)Ks6mC%>&j%gP4H9ALnp?ObwCv zkbjW$bal!*u-mUWpA<>vg4a$q1LatjpNZ%(m{w{Ah^0p~MYA&#@?loQj5!~2zvm%p zr;D91dB^CsV2mJ98GXz=4k-ud6nF~M@BlBgG0*aFu7b&tZ1g?lZ-qQcbB+a(8n@H_ zgA)(H;;FknTY1jnF|?CIv_+eLShBI_2d03IRi*s2u1_5jV>;A&qNFTroba& z5H224NZ}82Gx2r<@9P+o2a|dxg~RNyslyim@!+`OeR$yWM8^%$XX&SZ@n=p;FjDH4 zo>vi?{R7A(_VkUgolV!F!fbYoEf4yNjiNlScsv8T*KNoclW=zH?a(lC`=-%u7D^2d z!0$b~HqGH2so%fba#6exHBAD;I4-{ZV8@m9fQQc}%iV-dUDMMJCeRFCgRP*Iy!71K z8H_!=0*xm_;|T4nxqFs>VO4hAbGggxhw#s_1!YfAK9)n6XaJQd+KyO?Z@+uPe9iII z+w&6Gn+SvsAHOYXXnXRlq`r*-Zk6_5*V>=mZjJc?Xk_=BdUUis&Cg>~|Hh{Z1@`oL zSDPX}^e+Xe!1$vrm+5QK=5ZC<_kejpxH)0BIuY83IDTjcFkzc}q%)ni=k+NZXT7q9LZKfM z=D<*9%Zz@Hq5VHX8-_t8EWe73@7n2h#_!6`eR+oORRT6`Gp3wj@aoG;qxL9WoQF0XOMR-U^Q zZW~vwfyo5Nuo-)($M2Rzc!0&|d}S>%Kn>jyKN0J9_A}^hA!_Nm6UhydX`9C+5Apv| z+)bDz4f}$JG&C;SHWirAt$$%q4DPFQN&T~aedzgfK>OoYMME+F`&)1D8eQRER`_tC z^Fg_ckN-q};I?K}eM)hzq_ZGQI4GAeBTuP@4?j4VSbvQt;V+!r7V!tF5w;xJ^@G{sIW>e{TA9U7NV88;rcyTB;zK4v#<+anuI!ATXf>s zonh&~!|@pgI9CMFgfK#|yP6_Z?G2zE}Mhn#mz)LOPOo+gUGhd#DPH z&uIswa^0)iDzaT+m=kc3{7wCwi%gxg1dVM9+D`YQfpBAy7L|`!M zA#~g%vO|6g^L3q$MNWLIwr$IDEPt&JMb(9*@W4@mQh$TwHI&%$L#s|35rx8tor{ z%}9=;`$H~mw2fhmw$aFSBy6{jRoW)-2 z17{yTE-XOyFzh^*aBqXQP8K?F` z0OiTX<+^b4q6v(_CmB!Z8B5k^DETrm47?(^W6=TzeH%_+O;B z|1O!!cgS2RENOe^^>tp~l$E+1K9&Tr8*A19rd@H4y}BD-B-8()GGSM1w(GpD)kpT# zK#Hi9NVQ%paKXUN0gMNC5LiTih_@~7>g@hlkP-H7li)D1=(9<5D&}16`ya02RT}_3 zT{=UCRxA?YVrYsN!}ZD}7>w;g5XV4q8t`#PUj}yjT24hjLy-bboGxDq!x)k&b0*Ci zHg4V|!jVHq(VN>z^yYUAy?LHJg5JDOpEviD=gt2BlJn+*)V%p1Fhf>YTNnptG z$$LDebU4df5+l&nm&P9%OY{uQ_;WRMJmyD*@qG6!QHGSq$9tQNGIM24meUL>bWc?7 zkJ71l^C?f~&8uN=olhiQvEati-NDyU8#o9%t%V@dXlJ7OeRyQR4R*#ii(WJqlgf3 zadB~Sa&mHWb8~ZfHk-|giHV6FO0CuZ^IS{}3=GF{91IK$EG*2+>-O^U^6DXlf}&Do zGBPqUGBUBQH7XWm4(-AG`g|lBAp-cvB08(}MUP!IA69&_oDm{_fKj=@pVPiSpMrjU zQ8~{CA5~`hgirz^e4Nj<%sB~Ngt5uBQD=#XX=#b>NVTa#@~A+l0-&PT0MqDIfHZ1m z)@JEuKMy8#*Xa4u((|b^F+HEQmI_^i8NcuRtENDK0tIaIj&0i-HbH^}2{`D22e`6- zDwkOGSh={kxUyM)F0N!UnbdV%*Y)dFYdU>eQ0?br&g&{D!Wi?HEJfHPzfT>ms)K$+ojrx(56xgW@bbH01$zJ zeSIm>tWjlH7#Ntcs7U$s<>j@s;<%TWR*T~|TsGU)g-jNIeW$K2E-s{*)|6~kR#v7Z zmCOEhCnLPdWL@h{re&4MesmurjLKtTVjpS`3mY2~6QjZv7Z(>7H#avoHzy}2hqo54 zawW=xDfE5cd=Bv+GZ_5-G55If`@TJdZP4?4-}s&6L_$JB!fzZq-%SE>Y{X&t*ytF788;! zCOlOMo%U)~E4o+v#Bo*Ea8`r(R6sa2B_$;%Af%$IR%O~q8@)u#vZ28a#BYfr71mg( zN=ivdRaI8&Q%Pw$olcREoK7exD5xap3?`!Ijng52zk!}`aVQ<${K7>JrP7+`m#W81_*px0sr>zfn^teeE!Pd#GMG{O4e z1%5rdGeTkw&x7oLX^s?X5}G(@!2!*oeFRN5*-} z#>U3>Yg`G`!-Dm75CZ=o1nkLF4H8nUmIJj@EN_lyIY2V)7-n3e6*3HeWtE-F4&CSg%o6UAf zak-$Xk|5r4wC9sFT`Q{3u_;_5{q||hquE}=4ff75gliy?V%w<|w?dQG-}wR(@bm>O zxLMQbbSiz)R-;*1SXfvAnwkVuqcZdvR;UuNLA`|MUY~a7U-YIw!RfZU{H|Pn`gDtb(w+TS@Q)k>cXq}1Eqs3Y<=YcyL(UX)oS%82 z(G2X)kTj(6fu-;5B> zIh~v?74Q>ak5zPc{eN$5owpf%=YQ~4Wxnp)>qx&>=GXa^0m&hgd5j)CUP3p2xZgbG zW88*#A6#3veSkTR9B#Cz`?lmxv*jOE#v%^l4af7uuSV0`;cfpTaHEPA>ht~2ex|+2 z2%pVo{fdE`>A{9Gv&$1QWbVp+M}8Bu#s3}i_^Y5ZRu#HWssC(=Pa*o3D0s+OcG;uN zb{T9q33c0F?;pNxC-;X7#qcM8_qhI5ch>#h#QL%){<>d|M7ONpN;$EHc>E-Ae~uf) zy3gSG7-vz=`DtHa+g=A9`po6HrGL1>Rrzo z&K`|D4FuC@ogJjyz4~g*HnQ9WbhW#AXlBLPE8Cf|F6hm_7xr;^_Hu=P>_3#;?vMOk z7TH4CJd+)Z@hShFG8ySokLbUsNq@|dERHDo@p#8Ny4MAMmj0FS{?4y?Tx90ME{iVg zh55myML7KZK4MT_(XR!RA3mgzMp_I=>ItQJYf3kc8@skLWkxqQC5eotj%H~joTwPz za`O*k|9v({Hj_!%x8WUs2Q8_2gX{m)&gMoJ`h~tXcDw*?PrB&$2qdrEOrZN^-`X>( z9rG$mU2XL+wK2eR<$RKLpZ0|WnI?od6bm1raHeJ&G}vh+=LQ?NO3*_WCp_nS=B;OD zFv7+?n|#fi5g}2B@3=s!TR!#k9!^J3+lPs5!P33`S&c|dYmQMsjk!Y#{4mrpXUmNq;pHlZey?e znUa~gUy0catPa(GM!wX*<=LNk$?Lq-cIZwA(#z)dRM?_}7}mKD7-S^;iak634E-hn zw-#)}R^;3l&I*)2C?=esXDl4W z>Vi>nL$Yp_jp1#zw~bvgy;CA|<@j$$I&OM2F1r!1U&;-CbZ0l_{|B5Z zdc}J+N_LVuf8q|pKDaCPo_KS{%0GUz5}YY>KsU;dvm8GSUliCtcO+V~fN8v*B4O+< zjym@@#k8M)cW|oek^d)sdN1MwuKYIOb1!@{UqfbDfaedzNBW#W!2cAQK8E!4)%2$GeTWmPi#6G+ zt9zPIy%f%k4%-xx9`TZo6v zZhx2UU+Rt(TPWiagCXiYYM)HH}6p)Fkfb9PTo=AKlOmEKHfz5532ouT%< zsl1`&Kg(NDJu%Dm#(0}~?dR*S!!z~6Hsu94w%rx)>@igz$4{Js&wrHmC|>ltJMDNM z<6X4QEoSUd{2RC%tK4>I!9kwQ4^`)h$$8v$xx@_HiySu3lb(}3%NbYWJkMKy+kmV` z0CiXIsUIQQ*T3G}#uVqjQOxBNyLEN|>KV_g!j`W*5b1?vO*4#atR{PB?`aFh|I4`$ zo=D5Tgid?q%%6#g^s*E*wWywwnYs)pQkJBFK}-kR%#bHq%)nRC7N#PLd4qFL@359x zC`ohW+CrA(tE&BMkt8-9y$k+-ovl^@`PY``8l|fE{Y!{(X>3>hd|e-(*el-#s;!tp*cA$~D! ze9R|>hvnk`iN@OHQ~T6^)qO^cEcm+UA1@vm#iE27>EmTb*AHC&k!Itm$jT6Z+~)a! zW-km+$HAnDvWytHtFf{B@&n@_aJg%@Ve_bceP8n3%P8(8ha*51&5i$G#SXqnh_0~> zz43T*7dv@X$=V6f#PvJq+PG}`SQ@MU$WRES-e02E4xOOG{H5T3V;1VUyLRa0dKMY< z$~?1s8E*5M&Gya|jYS1%;fz2aHx`o>kGbp8>w)+XS<8o3Qm%CBk~$}X4`U`HB_ceP zV>tl$9%g?N)@mQy_^%yy0%t_2a&^o(w(iGEr~kCH^(%(Xe3;i2<*X>Kt6*$v3vr4eto?9Jn;bV3AiWfc^LM_ zu>uH_%>;T)eWw zF%}KOD2z^F=b46bOsv*JTJ2d$*QM^3KbX{vH!a*_UGx5J`}m!u*FNy+ZOnta*U|36 z?;8%~yQ(#|fZSsP#B~gmVg5XzzA-Z34IK}vk=vF-O9^h;|IN^p&tBfn@g`#Y2F@qY z&WS{S?DV{UFzx?4J;XnOIh)B@sHuBTY~xph)5TNR{zBuM^15_ryOZt=xbYnSnd@Q5 z(^eQBtbjfl(AbbJcgo|_qBuv%x8`w;sqG&wwtw~O->vGPA%`Uv#}Uu*#Ot_aI$7fP zdHz-gJj0nW6V&pHiw~uVBUc8DdI`Xd7b&mx$D{Ip{=tXa`X5hwj@qsLw93EM$u%e+ z2{!}3D+>%5JJCls+T1|;C1SlY;J5mP=-LxD+Fo_N!!!IoaG(=wm{x9j?)_&?yjL;er3cuqv;pHUf_mfuyVP zV6NATr;0a^6x%88fXnqgi@JyuJ8@j%p|2Nzd!LT(f5P~AKh(jfoDrHK^}Ov@@ORoh zk`56&%%Eia%TV2w7wnb`7fu1Qs!8`d(~6tdrW*XB`giM_zNFv8pUd}M#Qxa6Guz$7 z@N9y~^Sy-%Q~efjuE*ycb?v}u5Byabof9wJl5rv#>3*hX0f+Ug4t)96p8eaHp2)C& zY&Gc-K41P3-X8&5QS}50u-yzXCt_eLzMKbqo;H6|&qeJeq;?$eW!6t<@_!?5Usb_` zaUIsjcD|jFH%DHoyEGSxKDuTo_T0~k!R(<8Xm3AVzs=@IK&&K@*5W|qPvMLz(2?mZ zby`laK7Z2e7v{|)%5QDEa}rGrJop`d_p+?xpLR5GNA~f>>+4|KyL>cDwCVr(b7aS? z^ZM|$&_O2_FL$Q>=*6i`w=A$@F9Dz85(%x z{Zxftq~smk;#y+^?M`U>7%(qWklTKQVg78d z5ql}Ey@5$HB+#k2IyrEineARZ)~9eYlEED}M`_;tALgaFzqBvqVZ?Oy#QTiBlgk$n zoB$SIh&ztGdSM$_&nFf0X9Pc@Zp68Y9__mgS}^eoF5b+ew2&9is5HsN6w z{60#_pT~a^GthlZ&Khx_mQ(8NBh@I>V0##EznWhI<2P6&mOj zh)?h2{MNQnMwr^VpkHw(6hUPiow*bi6LOTZNK>+KFa)<550)o z9emCNMjtOE_>nz-_l6HlQ++|b{-QLxvAy-Tw>Q^`&~;R>l|@tV-Q3*VoZLs3a2g{< zj2JLrz<8d?Rin-+>?S-F&&8v&)shr}v|%gFgyO@JH#eekg0y zmcJim?fc1pcJ@y^w<{?pcTKj91pMp@cohhu=VCC+ODzyw;HBVxWC2QPkGIFWfTLw_pan*GALb$`1=K1^nEGr3)Ypge5WbmNonsX`hlqtQ;m{VRaIA(TPb9> z%dfPm>i-unUcB&HE|eZWO(5P6A37Z1;Nk4-3<`>Wd3MG@*@4MqK0PJQOS3nSZcy;U zR=~d}-w)LLN*P~YUtdnA(|KlQ79m1}2xewxU|?WiS$!Yo!uR1Uy$^@mca5!@m9O;X zqBN7foesOe+M>glQT1WKpi-&Swzf7Zo;M<}x#bJ>-fPgbHBmll@R9`|xx0nrdMkWW z11p?=%E;ktb5kpH3&Y`LbHSpp0oRw4Iu+fpz){fo(bphLiT1dLYvSs z_E5}lP0k6q4Es11!qLPe6YYta_4AHdZ#47nbIx-&?OAKvmh;|uWZR#9qO6Q8vaF1( zLtA8BUf6}PF%25Z%E&r&;J_g)?84ZXm{>G_3U&L?G=XN@*W3VFR649h-Bd}tIva*z zrBVsV@b2&q$dnlZGe3F@#OflI9AU(Gr-L(_1c^y>|9DEv@*bkTku8^bFvFgr0jC9* z=<#iNq+V$^y`hmQo>*O^lk>P8%}xL`DVxCPC}aQty&HNmS;k}NKGoEG+|z0pPZ}D3 znrDMuEHN!5_ui-pywlU<1JxtuB?+2#_+4lagflb$`I{`*OuPGFkEJ%Bt>7PQ!3A z8OJaj$8lT*h689}DY$B62dMkt60qc^T_Ys|OU`vr*UHqKER9_wzQvkXH-<-^srjEX zo->-MxuTgap-kPenrVEO(bQcB8sDjZhjm{&^qnkB-M5UXyLF83d5LweOY}VwvF?8m zeP_(pT`|iP*D`VS8BdbD4X<}GMukaChVqihh^*j8H3XtY-CvxHLjzFge(vyvuJmd` zm&Ta9p2~O-uPNzG?tR*BI`(J(yET=p0bTI@8F1*-?c@ z6d-~5MLM)#cQ3)Q4U3TVb=L$dDyJA26cG_hUF8F;PVKr1g{jdk8PfskjnUC93Po^AAG8S$#110l zuFu>Aj^=`J1M*FZ;|3U2bV(xrUSMnCY?InMMZr>y!%<@bJZwe@Il)jPu9+jy(qwd360Ytj9Fnyh+%r{wQ0o4cL* zYK!N;hql!gt^M6@bGJ5n)m!z?<>)NE&8z*jv+P->Dw7!i5KDwhpU>4%s&@F!-5-;x zeGV_lhI~S~c6T)8=XBG!+T%sI+UexLp96uu)!w?ft2M`SfA=CjB&+STwtcnxH+DRL z&ucYpwF4+|cOoE`oiM9^RHBnOVap>J?_T82vOmUisqzv%HzDO zTqiMC&P1BWFPEI#n4*ypbL|qC5K1B;JjAonNCgmqa(4hzOI`ziIkM#G=8t7OcT}wT zq9U2Pt9y|VQ+FrV#uN=o=!a)NIxZsmp3V9wp1iO4Al}rJriFb)JURK}vmUL)UKJ`E z)8kzIr9x136=k(V>ITQ#WLsr!i3sdnzD(N?O98y(llCs7&Z!I>g-*Az8&0kU(?TvT zFXww7hEZ{7E^8cr3>Phk|Mj3poeQg6skAas~L;d!bajn=zi=Za%Th9MjXF?OMNlF4JqS*W;GyaH(}MV zCRM*TB&w*TW;}d_h{e&l&MVwoUyzJx5>aGByojQV zOq3~7BIPnsNRFfy5;5Y75a*f`6H3aE9FD>c!%ud9-JySQL^Ii;^g&~q9q79r8E<>1 z^|GWUb;@`dI4hU-)V{i1enq_1dkUpiI_t?@j=JRW$UlsV{C7DuHLk(#j+9mEVqYVj z8I!xZ#7UD%a`EySC*%H9TGAsxNe?JB#ck4>6)R2MDpkq;gzg;5O`y1I_p9-IGNg+W zAeld^gQ&dV7!br5e5G#rX(_d z4?XDkY=qwV~BieI!EA&I2VZ?!Y@ z^Y+`quREL?p|3meJZTkH6|dE^oXuowhY3q;Z6>HCX|L{dk`i_;N|~oX`N(5c{!Ac9 z3ms})Cz1mWcFz+mO=Iau^em7Sbd)83=<3V;_D50CUHk0&IQmhT>z~a6ZPF>v+kN(u=^<4d=ikALzTp^Malko>ED9NygR;|6{`z zb^8G6s%xBq*k4uyK^|k%=>%uT7&=&4<8vWCYV8!jpIGdoj0f-d6;EZWM-0EZd6gTt zIo3A*0ejW^rNdumZIXO$hU3J4r=x^4x16z-o~PaKsiNUFmbYb=5pH%kLwsvCw967P zIQQny9x**X**8A{BR>gs7&O=x2dq4XF|WtAsRg}!*WSfQsMT1E+EW}hEJ--+6zg!6 z`@r!1dR)PAULL#@$mPE@HcWZF*x;#8|K&)&nS0E@pCCfNT-kEQf^(sN_>9Sq++E&J z0EC)&-+=^IjBhCHV8p6D0m_dU;th*3cRlhw%96 z&m>Dnix|pKhL~|wrK4e)t(Fgp(NOyL^LF^;7D*cf9T@(5qs!x&_JU~O?B#82nrplp z(K(c&?Hb2vhcv;S1fM#8&G!ek6BQLX^Md*0vfwhtbB3!W7vMsg12KyoDj)2%O{|nO zcf{9~!As5tUOZ%6L40h)-QWT5uKV63ZGG?Mf3_x*U-R+k>HiDv-m>4bWjd~r@aL(z zVizJ~gsKn1Yd_$DP0l|Jc$jtigFwy7$w3BpFXw zACG+qoKGKrp*y#dox71!JR-2KHy^%d82sm6M-z52p}5**MO}ff?se^DqAgA+?Xa4r zG3}RleL;Zd=}!C;7KdfxS82~X7wIMdy$D=B+@*Le-S4#g!A~#DDI15_hw3eBhVpq7 zLb@Hy)Ac@o{k_D}32OQ`4)pl{v&#FD)$0uB zYE`pcF0`uQ*^Ts1I52+QS^aCDew1`}!VP`9Ya<+i%YMSWZWp5SZ_<19d_xaHfwrDpqZ%Ps$my^dqfCd$Kwa1eH`uM zJ4)@L(Ja9!KfeBXHN$fnnfTx{y^Cven;L%vd>wY%7nY=*?y>}34qH0#&XTPgZ?SI> z?4A2@5f5|LEBj{22ZLKSYu~ZYF7vyW&vG9*gc``CB}VQ=RA#b zJ2tcOYvec<^DP6fNHz1c^$ zw{?M=&IJ!OyuUstaflA>cd-wzZ8|Q$w9CM1^aJ;S-J&vCn~s}Jk^$Xff(2PMt}AtNsXm2SYZ){OWwY zpH)^Jz1--t5A*5-Q@h)9AxsCF@d8Pn1~h`&8r#u4#@L?td6=hoW4o(8VH>t@0eOp@ z;;IDt5CV7lfEgD5M*oYR{(pUcT+#b>aY7f@HuT)4;Hlo+=NB^8fe$XvttMK3{DEgJdridSC*GdP5Sm$x*qpcJ&Msj5TF6LZ%qk^MNVnS>w1=3c&^-*VNx_U_Hum?Dxs1|PMYGr8I@WGj=l3kwIS%IQovBkhx?G1=eU zuFe5bGJAL7YH2*$xb878nGx;}($F({VtOq@X%4YTrnwt0g5I#+b=zG31h=0oZdCm? zhi#{}Eom5^IeR64u6c(wgro;O_8mHFN1@E$bj~hGDcPv~U|26u2Lbwc-K~js+)Z!R zuC_$``RYVJaeZH0h4gJcgyY$*WnZ<-(%;vse~((;)SP8Ggm=N_Me;qoo%QdPe4R+yXw%^A!>{8)&3YH1}%J-djGJw~9Cr*}sw$j(lz(tm%2C-mo&N*F$2W3pa zHPs2?u-{lB?VNy@^q;Htabn2pbBf`qL0#ALs)5~}%rWEoW{rieR$ch3wq+U`ftlM2 zD*P9T4rTr?ww_YT_>$1E@Os}39L4TlC!!yD!HmNO=O0GgOZ4ne#GW0O=L_=5TA~!^ z2Q>13I9hP2bv)zJ_}dcQwe96sW<=>Q?R%eU_pK&+OW2(|^=CZIWA11xp#VH$q{Ox|F4fLVF2!7iX-a-&_sy<`C8*k=! zHViudx$bxe=oBA?C#LK!{>s-5^q}8DB;c0M3-LMHH-~tW`wr>7N#8rXOt&MjU!-qI2;i6=wWr!we<(N0zunqPWG zz>{ZAkUJy~QG><5+8|P~abeDGKNzEVfvje@zIeBTWwkD(6D{x-Nu{6rbPV=Hct$#^ zp3@G-71pp&>i^|zz)b9@&iX7zd?xmPTb_UB++#DorLkn!yNmx+oKCJG``ma#`z%tI zX~yF0(z`${?vmh!Z7~=5oTXQ5?I_#L|HsT_`q1+K70QO1wOEYrf0nBGnhWRzgKqpb zHlQEX#OxdD|9^w!huoSx;md$$+!9`E-nGS#_P|fI{aYV>Yip~QNcO2!aA?_ouF?Eq zbGhxo)p8yT)*he*$kVeg#b7N}u?@U^0NP4u5*8h-d#u6!}c;v$e`tW)wu?JXj)+koKyr4C_G* zchew13#7&p6t<*=7SIA>V`z8KYcObQ!Si-{e&%NjaL#U=RMII2J(_uc4RC-1qqub4 zx?Yz(KnDlGuCtw*&h@biIpA0$Yb7YEnklKYs+E#>M3>01u(~J>$tVEVOe$>O)Z)1c zlgdzBNW?HXB*glpdr0V$01Pq`YQtu5jozNQ-VLJWE}WOeJJYr2x)oa)J2Pr8AP3qT zm+OVX7>=uK$=&TB@7-2^$=kPGLL)$NVjT%@eM=mdyjaY;#oWfCrOP9mNT3pz7Wei} zx6~I63l4mn;zV3Ah5O2{qAexL_KMh_a8RNogp;h{{R!T`-O2Y0x3$0DFY&2=zj?X) z^kujO<+7dUz32U_=ETVox3;z-Xi2mn-$X?1lWMOVvX++iNFpzPkTy^qHI&bb6z-to ztM{^MdHBv%<)4bgbuuGN4(2HI5}HfqHM4!dsu~ ztZ>E)@334owVQ!>(Lw1t3yJWkzFMWgT@d>9*M+K|T84`kNrW`@>Lrv@D7th?rCk78 zK&8J)yj89b(5x0-WMpB%e;QjRmKtc_Ju!&TEElv@wX^_s#x?>X1b`=A;A z=hl&RLs4ua+kk(s?DGfiu91*CYGUomNJzN5EtlxiDoj{&NJ@gp6fyQ9G}XT z_1?aWZ_DNEI9unFetvk~z$@j@G538k7f{UOin-cT+~uf?!E1f3^UWFey*;X!FH+#% zVS%{gJ&cD1?_%Om1wKkjmIKF^*VS4bdnVXBDDYo5rP2>&wT^)U2`mjbDt&Y4r-qK! zK!SmQe*k^+?=MdtJb3*4?%c8SPmnTTag_O+VAsI;~!3NUb4WX=7@&K9gBA(1wj~s!ECGDs8S->FTsP7*i<<5D+9uDxoW)i~&|bSxKwBaU}E4;?c`Kx|Uo`cN{F59-Vqtf^^f@1ZOl>@EdwX|hKrE=q{1>XHDY z*E>1ST=EmuneX;^z5qXzv#f>Lj=e(*>3{K%DWL*x`q{>pZSc#-_*X61c#h4@Fs$=4 z@lCHmUa+2otB73oZxr$@Bn;@4qaz6_$TXR@E9?6>Byjool4=CmEII9`q^Hm;SU8>d zRf`!7KFh-UTIL2CEPKQG2l0%w*y!wI#V&G0m#f2SyTs&k@9SVh1#e!1CI7HPOMk-t zSnJJr!%UPIjC^tDt5P~ws4HUiE#OtYfmSG7`Ls1Qvnw zG+l0%XuOzItj-c$KX(5eBWT|MNwo6lh&SD@FJ2Uy{GaT~ZJMgyx0x}rlbIa7LBi7p zbhY6myWe%NhITBk%fvx+KeC=aKY#P5v`oL-;h|9vqi4@h9BTEIA?TK*-fETxAB8-| zn0B@k}AaO~@mK#5)?FCrVKE07JG@f{_jl*B_vs|XE0P}{6H+`$!6>O6kDUXIj4;op_%sT!QCecv#-d+wlII^Oif|T70K?jof0|y)$oNeu50$> zlOw+=VEP9phjv=Y1>yW@o8V6%xqY?bSta|<(S^`J0leJ9OorHQQ0AkTW&CK|cl+F; zX8Y{;b4TtqTW0Q!{D09Vnf@Hp)n^gFp03ddqi2fd$=?(dT*~J;x%AxX*6_!FiWp;2 z4L6!L4YtlShuJ0dzLQO>v09BJ$*5OPeKvK!rj-9dV|uVl{1n8h5*_2Xl~IBd6=$=p z+V6)FE*G_DWn`Q3v0j7x?CmC?#9ZG@m0AO~oQL#u9HakeQ-9inLCO^K&6xL-in&r- zV&?%YHUiMi-bXgTQG#6IiDxWgp?FTiajM^;@E4F}B!G6;By**IYg=3dnYW|8btWCz z_CN^+dq4~`9dj2e&4&x=}rK{U4h z1Jvd0z+CTJ873eC>>%(&=`kTNZ)D&E%T8y^@$vEvQPwzg)a4vNQC^woA4>gHO50Dm zL(BWR(S%qf6~uN$QNTT?c^Yqi7@}GqKE6p&udOA>OMj6Txy+AGC$1P8PErB;@kkv` z<@oJAx-ttMC}jY@%li0}uOGcnNhD4d)K?gVQzLP>@9?nF4>Q8Ise*VX4_RJ9Es|t9 zixaZJw57xH*Au?6|6>HYL}>Im{V7NDdmjd*V`(g(Oe}`cr*nkgnDiN7dYu`Kb;umg zFpYao>3@Hc(`lgP!Rr+Zst3Y=#pqW~9mKLpbV_QvO%*nuxl8BL)&$w=c45RwQI7d} zUOOegYsLz8F@kcgH8aUBu`ss8pOCjT$}4p+Uf2_L@7CQUlie5QAiqHmKz}U7EO{(OoarrgKxzXAT?Z|d{S@Mu zzk9O0M; zJ`6~1S|nS&Og>n3)3f2*m3O&;3<@EwuD>EG8G zEntvxHBs?%PY>}rm`(P4%hP?C)DT;!On>!S6=?TS-!QxVWPXs1t6p~;6GzM7HU1aC zMxHDG|5kN92vf)-sY~I`Q?A_AF@NHb zp|$r+aS~xUJ;Ac02JbX66gkt({@JiuUT}f)eU~8HD}dH^E!~PiP8KNiexj$1PcMy3 z(bTf|%1Dw@(VBL_iC&P98gOM33^%ptDB5zXV79)K&B-06RkKg(mgdNFTf;i`HjWN9 zXB%8e8!_5&*FGcP%$t$*)oD}(X@Aw^p#<*!C^7w=!oiDm?$uIFAe0X_=K;uY{o1&| z-%T(3KG5;9THEG@KH16oA^F2V80B9%wFx~huP0wNxRq2N>DXoIwlSf~*#O57r3%G2 z1Y-tbp1SJUP4aA!DE;ctD@&&CYOQHyrVirfs$m%<%N`vDAbM4UsKxiz7X%!**)COAM*D4Y*J#*oqSDVp`2Z}x7$U%aB{j<`bmcC_hb z*YNC>U2l*M#AmIaXYmdVThL%%W0^9@gNDvXxC-*Ey-70JfK0Hx-j_w_x7f{@5l!g$ z98{e59N%O!)8_8pvbT3lRDa{;afJ4hc?^enrWaN6JUO+x0p=NEuS7~-;OAV$We$55 zK~w8#nWmlQfcXr#KQ|e|*~cWsi1qXr4!|J95=TlyUVzK@Qw>_#47#1E8_fKwVCTod z?h?l0@y821qwMP5X~;B=W$e@7Kq-9AhLx_Aodajz5OKg5%FYdPcf2; z|4mBG-@l$9c-WY|qe7@pu%vBAx!TeC$MK3}_?dM;e6AT|=#jlVaCY%()OG!c7_wWP zjn;h}wR&HQC9%-QJ34}03u&DMPBoguyF`q(TG*!Q$uInSh<}0Lz;TCz!1gs(0%)XG zj&rAPF%4D_4zZ}TZ*z6;7R@V%lC$@yfMFu&bNfE$r(uj4@$n!S?-~iHgUj2F5FnK} zLMrYtQ4V}a zk(H+8z&{1Og)3K{Y4jF~k3sI4#dk`mmE z&+Iz`favV8RwN=aBZWzF2EAZeb-zwnR{A~IWQESN{WW1napSW#a4?qQf@6`uEgei5x^Ngg zl)X|#?SCFb&~${0#uCkNSJM{tr)!mpy6HIB#jli-q@YViOhJ?3h8se?j=!y$e}VSE zBDu9!GJ;MUZ8s|@P|SZHfxMdBO2sr?nXD;9Jx16xcp6`UQr?f^w z^WVK*>6QN!S&p074PKLQU|6By{=6-cYn7#3PDLlpYuBNlzeaS%X*_wE<-6A+ur^#- zj1h47ckQT)ql46k!SDo2mkK+#&EWzk2Y=H%G|f`|&bhYErVb36p0TDGmR^)jlYH^E zF;><*QFHf&{$;`6s{>VTf>@!$859{w#i{AsK=n&z0;50vpaw6xGWIYO0^A0#U-m$_<9pTVzUW}ZKm zjz5*i8g+dmn_+K!F@v`G53~+voPVLGRPa#ckNJBQ)9m;kUZm|tx+F-hQVI zkjaAADZ>s zz^a%~*S+J7=EmK3APgLu-QZaI8Yk`0o#4^qjkt&RDUn<@pFF9N`y_g}DkjyB<0WJ? zI&fNU0h(RALaS%*9&yG|T7U8V*REMA51k=pKP{xw`ATONCe=T9O@~;ci3cyY@k;84 zp)X<3W7byU81vm<$OHyz>hk06rB6j<{L{f8$a{=42}kq9ZB@*|J|Vs(fTN1(HSCI6 z06wwY_}a9MNbOk5F@AmR(oA&7JVAXQl=UjUbhzrrn~!rlqGN4$@_!XE#oVEm@I5=p zC%UR^|CaHsrepEwTpx^p6_ z`0OU;7jv{uO{-q*9uG}RXi@?rC&(!@E%u(Bj_Fs6+IT=`U3M^rwo8 zT#(t+|_I+K32VA&WvIYbz=@hqkV@sh$tWq`tHVh(7pTqdRmt;J|&qKiM1+5ybb zuRGq97kmLaE34bf$AD4~HfUYf!VU1I+#0PiWizelL@TxrzY>5Wz1YhrD9f$~W#WlX z%qb?6xE(nDSbq$XA*D8BPXxYffm)*dlCn}sSACvS;Gs{qgrbudc;I{tVgyJ#XH}U7 z&MakUVG%u3ztK&&$FccVxU3e3)Txn(96&#G?l}nAC0^ReD16TwFyczFOl$NxG3Ll& zevl3v`m`v`V6>we=vop*s{ShO{IjCwl!I?r_x$CPEq{~3f17l;N=qJ39h}5SYPp2b z=ug-Sup6+FYv~MxZ#2nf@_{8h>{PBl8c)N>6d*ogY-WkHRV}}CspT5Z0lhJajM(2$ z|BU94H?^G5pw4%!n94SZT4A!dvZ?Kq?z0MZ+jlI-H?>Jny+-oNK&&@;k)mJFEh*W9 z8fSQ?|9_vBEViG+wma%<_MeLW^H;jRO&tHjcLdkWoAi5lKVrN}2lwPzOI!B3Zw`7G zz7jYafWM?VCz(LJ~sF?Hpy z|LC$xJ%@-}3d9(5dZQ7R4l118z_^~^rfFRGB!6VnYMG}s5N?EMx38G3lUTw%N9Bc< zy3h1NN9=DMAI&&f@%IOwW7S53_r5)ty^g^R+61RG=2xm-m09vW_`EL)v9P{4;Eo_r z$QcxL{I_n51)@`B|>ZcUsG z0JrGw0%QdQBq;#ow@~x~F9HGYmw)yGPJeQOVW=WmZ^tss0-}^MG*^-&2f{muLLx$O z!vP}z(mrQ-qq4z#9gW-Q`$LBH?nj4FJI9Wf@L_1A8uYZBJ7$Af_1|k-((F^~Nk`@fP1`a}O0Lzb@8_uZ> zc3~&L8cTlRZxTRU8RH@%3Ma%i2VaL{sqWvqacR6^jxdbfLHuWXs2{$D@9Ei<2`vWJ z+Y#(17BLx7?6ms|U?^DUcry;wqp$z9qgEg7_&4`!`T=lY2$}n)@*5cvv#-<)b!2!F<)4}g0u+k>0sa0zkd?})J>iTZe4;!uM5B{~YL zOnIe@cytk&*?@o(%t$zJ?(Q)i<&tCp;EXK$$+8_z6#$0scyIX89Y8*|aZ#Wa&-XG( z{o}KNU-ZBVCS_nZ$B@>g-6Y6ZUlJd6Ai2al(v>F6eH#G8puzi0kS|`(M(pke#%RoW zH-h>sc;qCKp_n-c@sB?tJmM@WmU$%8s9iJIW9f}s1eyROpSO4U0yqN#AjY?^`~tTI z3towVs5GQD?*-F2mv93E7JnEsim_grJULuiW$!BN90L^8xW!QGjwd*b5Azo0EIEp8 z!ii2=8D3@!i=W6s>w)qfQ+*-380yN?8Q8(kS09YV@!2B=5t|9xwe9Wy4rgJL8MY{< z8Ine28c!0;Ul|6BQDdj{1-$VhlO}uNLwBClNHQg71XEiz8c))get$3cp%XQB%dCy> zZgzO%Co>3|EYiBFn>V#OYtH;(vt~4*JuDxT`hO-t$-?2Zj2x@r7)r}e+g74@==0`0 z7pas;HNC;D$!R7%#d`L=FzctD$Ct!2bGHy4y4Ua};k4vo(EudOKo2~tV*Uv3OiX+o7$*~rDA2?@ zBj5VC8+djWQO$lAp>a&=9lWR;b%S_$V-$ISW)Vu3X@KkCTFQ>wOQjJtb{I?l`9wFI zGuzlWk6*-p_;}HCbdT+J5FiD!<{7h34y6Z~-XrJOjT)46Hh)BkGQ+c*Dt2)T=fh-# zC40Pyw?Ea))I}Q^HZBzOd?*7Goz@9Q2S+&;lir?Q@gy5^XPeuC1)pR`?9943^XTZn zh}{`$=f3|`7Fbr*+qwl_AZj?w8yBq;rfkUCJ+}xi`jC}cJLB9!aRnc8Nq5$oc_Xwa zBZ%5LZLo|^cYloH4~GagX>S~+rgB0NODsytmg5OoBlKp@S^T)dValY)w(2eInFaq5 z)m6Qv1xJxD>Zs}N0!Mb#?&O`^tQFjpDe`rS=r26=9kJRX4?X$>4^PZNkCuka9n(*8 z&pgCM>tT3f=ZvkwNZbRb9K}kGlHx=~-!%Rk&Cr9G|9@pLTwz1_C@L9=Kc18Mm7%ym z$Ilfrh==kw=FNmmf{fjf6&BVYR_*$QgTc;km@vn}R|Wg3{%H+X0OS3LeSh5Hbi;p9-Wn#_*8;zmEjphI>HY(o!Vq{uq-bc z@m9=*FFZr}6OkksudW-ri|Kpm8S0r4`}04WJaj{7)%k1}h34!PPMLEuNeoroFFgA> zdKfd5$&BpUwBA&$*j&JIah$mc`=HuC#H5H^DXIc7ywMgHuL$jnYcBOp4W$=AvdEa(i_JYV-h`e z2m%d)c?pffu#FTF%pqi$l(PHDCH^xf&%~J2Ihc1a@8gl+3?BNGhN{Z11u%o7w6w)* z27fSw-pp&KCE#Hf#T4#g94@v`iDC8#RzEG;Q!#fs(iEK|jQL4UGqVm+cx#xC=J{1@ z5*;I)CS16Jw=bYx!C11dYGS}}qsn|@ZkQl7%p^p#-w&S5OR#W>%NUsYg{O9htWmPE zgZ#?%1=x;RJP<8a6pv*kq=% zNk)lL#@lKp{=PxzPO+WFP33ehF<^(a8_T<-BuVVMjDSK+upvAp0joD5zcsz|3HLCF-P$P_z-Yut~onS37*2AcD`b0&rBJ?=Jt?vYJWFD zG*nF9s7-FkPujNc3Cv&xe5P6ZQYv9|ivx+pdPJ2%_q?LcTo{ZR5az@Bg{Q8W&NV>5 zBw|1q5TOXVHA_0?9J5-EPexApVx|CN79h_u;v(0fX39mI2A=@*n@ecvG^9QJO?oOG z9&ux$bc9MvDUEtFUW2_fr`I6$o1eruNDKi@={B&MbDqj?y5u}Q8}<_9VR;)canA4&6@_gWqTa?LOkY<}Ho4DKTZH)52`AZ5-( zhuCqWItMdhUL#u{Vkew)?tesOw^`t6;OQZZE&Vv+<#;Tx%^V+hNC4@kDE;emk(XxL zh)UF!BgkLYoTMI(>1TY=d=0018G_D2J+eDym%iDatKkl}i2rr@@tY z=qiUL@`fl6AYNzHxoiR#-t1H-(3?g%dnh}g6hjEc9ptbyN6F^08h_5?MmUu78>=wF zL@BmHZgi50P$_v5nWtFi=MXz@Hd0HTjql;8bDFvsmIIBiLPRDs46SaMHJvcKurZ}r=qM7J@MhNW zn`mOP{>~WLJs+M<&VSX1cPTH;Q^mKuEZd`F9vlZkM^h+IjIna*6kL3oB4$0|iakiwBn2(eC9mC!Y z$UhCOr|S*zaep@Cl=Z?eZZAE@{7>|P5tW(VE>#S;FgzodQ5F>k{5Y}H5mp8jGZq_9 zgk3gD00NNV#5&tJ5~d4LEU4>`^s`u!HJp9U^FTmnAXw+)KP!+xD=i4wq+8Bc&kk;Wz^JLkmV0Tqe1F4SlhET>bxB~ebzFlH7ly}( zURh9VPy(U3!pk=1Td9bLs|oF|UW+Vn(L^I4B+Ps(>|NkUpy(+&w6JOcEJgv^KmATP z5P0lj5Q7gCMcB)MR493I0LTWPcsCsCgest4I_p9H<6-+1!@}AF7s7|e-)mc-^XU_| z%1-GA+bug@=3(LNBM*u|?F=w?^jmRxb_*6{ zTZ+yvC{MpN0xj2-1q%BnrhEjf4vl0Sj=s&?gq4{JnulytSCi(9**uQP_rkyft_k06ujyKz}co5%kUSX-2am;!l#2Tl@5wl4xkh ztHBc`{um^&Bc-4mIA4KZJ)WfvxVAF?Q&B(AZO!PKqk1uI#}izI+iRi#8`8C`oP&Sk zrfklp@w`@qLus#j(9>r%x@Jzd39CP?Q0`d61d27cG~+VtZRQ&6qn%_X-mw|I5<`ZgRM{MRg|V(Cy`bWc z6se;|fDmRxj^e%T9Epa&fWj8r*3{lR1ik>!WdWq}Rl_U;N+|-Eiz9P%i5m@_zOf>V zm13D;I>y81#}9lQRg=F*gKQb7uU0@H5q}Jmx>jJj4g5Tu?0+_*MT-_sXD(W{Sh9ar zDg~%g@=y}x@;<$D5+qh4L%yhUX0tlYg&K{c1@}zD>sIt{=U-poS_xiJQJm1DMr(68?dMGSSdg6wuG14-X0~0RddfIbUzwoPTJtX*8i# zMC?w>45;tLt*m(ODybbEw>d)Zwj2xNVBlpVHRUIozgd+y4DX^o{^Q#E4%`&fSoC%2 zH_J>hfIr4Q|I%d(9MG+!jq!r2+k%DTRu(%23M)K>6-j6P%U=;D`b=XgT!xYO#ig3U zf}m=l8<@-t^b2w*s3)YRD1TFx3SeuF6dhe2gjt48O_+w5Uh&|r!ot)1b;bj-1^5d8))0gH9a4UVy!>1ubt{HCwJC~h2U=$ zwNRAS^|$Mqeq&-M=qju!%`cvczFoYB6MAd&FgrU+4I`~VWC_{F`tlu@?O z70^~|#!8`sIPuko(SOrL{9);N6!DX8lL354(j{jl%eB!bZ*eZ)?0wDO3%2yZeh;-Q z+7rFRA-3^V147vRU?~>kXbklt_)$yfO5k|PC>#tRYt*$SIDo?W$fj`%{fZskoY-Ov z#212JbT21eNmd{UyRp^*_VpLDF61p?I`_&{6%SK5_-Sy0fqzMM@248iC&44B8_{xy zrS3`)D{}MplpjypnyfKV^QGPGSnHTGbC;ngOM0AjGKnU}=H+$Ppl?6UqA&6W3RPse((ngew zA~8pG$9eO}h0SKuf$NgHkl(J+AI8IYkaS^NuX`QBmN+9gOf-&%?Y=j)GkXv~q*~yD zc;xYEeE9tyY;EMw|#4LbRoP^2hB-p4#0pNSqv?2t}tmpozX|2SB$l8q$*X2xOhF!*+ z+_?4aldPXXGX>r36u1 zHh-KLDDpn5o;1(L3D+MnEP}P8vx~*}1+sw9{$>=RG|&eiZ+tJ3(S*-z4YBz4-7AI~ z1{&DI4Mq5M)O(&fHkf)B>e*QfJ7J(}ub5>*~>8fQlPCS>Y1&0M3-qIB(#Zk8B1R73F5E zX&>ozseMjD>p1P&H)kEJ#hQz4#adEu!qzE)oxeRa`1XUZtGt)s{A}6rUswIN32pnI zC9!xM*z1y?1Ue-2QQ7FL2rKmy;(r5z|4^UM9vudlhI;%RQ3+lbGxNLb3fWj02H1!1 zQ1tHSnS;lT-NSDy3rC8yA>KU3?uGouUUM@$qLULvd#S&%{Dr4b*-ogJQ=j1in{$HG zjit7C;ozDa=E|GMo^DRv{;{@tr$DStIoNm*-G;xL90yYd+66&268JdtEq{Smw;_5w zwLDrOb=f%*2s43|A2{}(-K723(DV7+W|S%-{;0f938aQ*p!vPh8L%XQC%HWTLpfhK zf%@uW9*{>WcSr_HLyx)Ai(zw{#5NIx_OSWWM$#YOt0ehu6<&86;s{&2;r+~3C{o8> ziP)=2c4}&ax-L>UWY&v*MSqBT9>q~Mt% z=j)PG(gSM)BDbj!P#u8}8<(AKRokbhUME@iP(y3MLaYUTUu7#yaB^Ffeq8|5Jt!y+ z+}nbrY(&D{xK1jFT$W4)YcXJfhU||31azM*JOYx3WaQ}OedQj#h=0Sz_pz7Y{!wM8 zs35d|x<&!6o?2}q~$IW#yZT(AlgrC=^Llr3myRqdNvmEME?sK>eeSA0XVy{1c^#Aop!% z^-c>daDuK=U~>Q(aDNFG1XJf?9wH zO^JSZw&=VoenF_p(+tf~^$GQBP2FOOM*fDcR0!w`6XWxVCp4fiOtAx$&;^JrvcXR5Wx}^Trvh z9V`F6_`<5P5P!q7zTYW|uA9VGMHGY->Gbi*U@6VR2-|xtw?qGK0k%)*+sOce6Vylk zL%M%Rf+!t~qND>bG+GFxFvl`pspd)2D9Sk^7T>rjvsr%eqqDEHtDvWp{lreXOop_3 z`*>gyKO}J@?>nxZY(ZwNts{{l# z($Um*${>VaRJ^8JMf+C%8bWW#V68C0L-M-R0ZNk8UXdDT_w>_hJ}F|p$q;S@tw^Rf zk{r9?Bqz$lFoExR8P{q-6a*@hyy!6Usl}0QDmI>SYEl%}H<_~p3gHvG6CuQ;fwK%J z>g6J|w0~P*Ce|{4uNqjpRa?7&zNOdPw`@u)lF~m;lX*rdH<9Y3L9!^C^na0GF$lHSGxR>=Y&T&rrVd)v0xy_f zod^0#0A?X+yYr;%maxF1vK7>Vk|eEIRYbc_6S0i&d|eIi^Sdy#+ly)H>W+8@C& ziY(GgABEZg<$vtYFFk<epR>R~Z#a_3F!mgOl zjKhx@c;3}5y5V->?D&`+O`Lcb+C_OR<#KK%v-IEcHBP`vS_nnQ6(rAc6i}Cui4j-~ zg617)=Rx&o9OrY=10@XxBsl=tCeK*U0)J>_4rLi6{OP80?H~BIH8mn;yP5>2O8rss z6Ht9o1jTDN(6e|&cv3teJRl^IalUbLd}6-L=v0Iz5giX3$;=7kW9S0bYSWSu(-r%4 zZDMl5K2@z?r|S|Hn8{kbZfz|!F@?ihOyKaf$%<{-0#~hIr6sUZ_^HWi&C0@Jmw&dZ zO-|USYgG&E)TDL2E?JqD!dlm`HLHrXb*+ZMPFYV{PSpVZfxkf9*@Epy`&aX}2kjqgOHTX1tsa8NUJ>>F_Ir@=LHB5gS=H+${k zNF0F=mvwtnz~;Q0f#{vx#^`ZsbZL;a1t4SdVNPQaTd&t?G&1aYFxEBJYkyB>A8gKx zR`^#BahcjKoyLX*8rSzMPnX60h8A<_P#`47^K0RDY#d-^6FFkU{||$5|1Sy+tYY3S zs?$TW?oY!u@8yV>E%BnB$5a$_4fb(Gfa;YbzRQOzBrMsgYmFES2hKTXk(2d7|G`qe zi1>W7tSET?2_`m7AaVP!s()WTi5Fo&D5-fwkeSLpg*`Of-y8jYL`Wg`~f4!AScn;PJX-YJ4c6@uvV}!W#6G zlaCeR=EOE@0{mB@F>9iZ2MOdqCEtWOrNM)blzLKh#5Cul@46TWgMVq8RBmbpsUCMH z#os@4J?p)7KDVt{{x8U&j6xSOC#3bYo83}()LQ^5{ZAE82awc0Z}8u9{XC93e+IZX zKNH12B7lPa12EHUzm0qy<$NwZ#ZZUO`&<>#$F=uU3hR&km4me*|3U_m0QwEbIda>x zm;3+qhJ)W5WmF_otAD>^04W`8Q)pIWR+x_mGEUXulzfX^UkV>)nP#J=!6F|ja2q;M zN2_Ig66t%VJk6KX;DTwE{TzDO#9ic>c1LO3grsUzJr2hi-n%X=9hm|_Ny5A|dLv*> zE3`uhcpV#DIdJrkfL7*F+Ma$T*3@Y`{BWFL{s>@7aH*#F3V#a=3keAc2?+@a2?+@a z2?+@a2?+@a3Ges&{eHjS@Av!te!t)E_xpXP%n!k%a8NJ`nadC%Zn&`J_{#&h7;|ko zVPZA?43SLLB>7;2H*Or)RGH%E#0QV`Sqc>0sxc47I2bb>!vL~Po>2-Ed7l~@8pnwe zTq-d}Vv58_#eWE~X=2jGti@A?h+>_wP%gB$@wwcRw%c zgnlL3E;vr$OuY8IadDC^lB(8--d)|G8*T}m%@%K}_h|VX_OiS`vsgwp>`ttuBpH(e zsDy+yTmb|Dlc<-6AOj$O5|+A4S+Y|B?1f(0i@hLwndy7&HTic~Zv!-X?ZDj=3l!@G zNO@lRL?r*LS68o(Ue9*)E>H8MYqmBbDbd+d(S2=7Scy-|ugEOnm%2o>Nl6Z$*M6Ut zPu+RVY#r9ip2J*LO~xW4B8z`Q(kwHGUKd927Yuw}Y>}-VjDanG=^-)4HJQ)&d%fy* zy_v7`(u-qM3*6!37kd1dJY2|{<*^x|Wrl~w63v^}%#}wS?elJ_6Q^C>f{iLpowriu zG=WboBN+GJzP~UDC$)cG?VZwSWn^(|ajyZe-tai~U;d@}hv+4gpILCv{fRoF!$zy( z+24Yd^eav0(ED$H(Lj-6fbEg4{nvH=mgaR0wjg0GUf|e{bkxAIJ4egj)b)CA*hPL- zJ$U5=8Qt45*adEfUkX0{_%|TX09dw~N83hxM z^UOZug#Ku_j{dQFSq(3;j^E5%F??u-tMRiiEle5!fpWj-;LsyFTpG=`C69*hKc0O9 z=?70;b4+=EIgHM{JmHlCo*4RzHd@Z>S37T-)F@LD`Bdl4F>E;mDm61}p`9IeKbnjJ z{lQ5_oH)nEA-wbuPRGep#}ID$Vj@nP9C2e5rm^{8;2+Pc4kA4LW>@VxQSM}^d2%>l zR^srp2PPhxjf8!;X^s3zPsOl-ef{GZ^*q6cag_6avK=UyluhGnhT?GZ2jeviJq(qG z%b406!-m>`b*5vKVWKDhX*;CR2+cUOW40Bz~rhNx~jJ_9-@J z9ZWN~3qFDI$2r(gscei5NB%hMcJlflX=0^+>t~*QM>S2h)6S)6;4g-*%VF@E(jxji zN6ci|8e`aA%>2Y5iIATxck`m>)q}C&Jn^h?QKBd4DsnW^iAD1SGgpzBy7{PKr+UCA zU9FpjI1D)6-f(k~%~WLK!-zBFINPq9-&daac?@3pMe8xnn`S5*5t1kVpIIY>4164_*|#n1RTu*kSJt>79N#LI{*M2Inlc;uRNuM~LS1o$Zxj55e0XT-gt z!22f1U#VrBK^{CS&J_XfmH>A}4I>Tn=oxXZ2ynLqxGU-zYuLlbggYg``J%vGQ)9g0 z9{D@iv^V9S;T~ekabVB>u6&G}3$QT%#408OZX2CUfCONR4 zTvp4$$c@|QI4Ya+NzOWdvVMrZR(g&sVIaQVUaAO0?noa&n22#?)^z|D#q zN$m{M(pO*{ft#k!MJZdyi~+S1(WK=+Xf=rOG>xyE<`m45`ct;4v4{1|6PbpzPVVh! z0$T<%MIJP)*fx+5Ql8Wiu_0{udm1&n@aM_rqd3MonI~1A zcyW(-(mt|i=~J5exg9e{^uW~^wh-ttB1(!~-?Z4pSvnxXhwtilhicJKQlElZrsqYS z4lXB6(y&H{o5-^f(4e5sV$0Uskik9@avCStc`0NB0jG3^V^p*MJ1^g8%77F>nyg_Q zPC5RQ)XbH?ZDAOHh@j)AFza*n&HzSo;1!%mH#dlp95^B8fNcd(q64o&-;;3^lJdYe z&n}k~!J89gXX1?llVBv6-i6$qweYy{AjSiJMxjoxq}9%U9a8GwF*r7EVs$nMYi;f1 z+ZM=n3e2>LI3I-KSj;JGopUgbBM4^giC08M5l??sF~zY`0f8P)x~*daP#tS znVoWiz|mA#H&PJF954}t^fo9O*mkloFOB}Y3%#=wWP=qvLCzSLGx@pT^3A%Yg7vtL zygmbbf}cQtOS5aYrTnC(Z3;j8*vdCznyL>yWSK+z#NC8xumZXcu{dfQV5%I#8&S2% zM~hA~CV(>NQ2ylIU}Q%m7urwKMkzN<&XT6Zkv;>@xa=kS)%Eknj3!$C&YbTz1}1h= zTc>e?X=<8dkhInc7_*|8Rn}XWJ@Pmh!l0O>A=4>;;K}Jawqpgc9C;IQC3Oy!$9FJ7 z<5xhKA`T?}o;`AFFk)C|jUH58D&qMwO6|76K*wc5d=ZYe1L$ z&YU`iY=#`8&TeED>v%x4#fqjQJOVCdu;Dgk>wEQVb1p_>6T_@2z^e?C$0%~Jw9inS zVceX5M~@e%BGC3TcKwsRueRPZOMSn&fED zxzA-uzsHm+h0JpT=9>b8e=#*RM|E_R?F0UuWPOmrbaS! zVE?Hb0XRtJpJYmq-|PSgmYShh)NMjFg6lEBkkz=zm=hiQD=_QOoCWG8CS_Q4$V2bG|@yN3M_-cl+Gh`z6aeME9sLWrJrl%LNb2I&OB^V_QXfR zBc3{#SX<-#&(2cZ0+vTS+feU0zIO8&f0NDW9KPi>f5j2@5PVY=uFY71#$hjhsO9>I zCtQ^e$-$uW2hA981bgr?se~H}f zmX3xAp4QYKK^o}k+gTXPyKZjfd&Dzw9|}&V#tGbA%W?Fn<;-7i7$e9s=saBJIyVKm zQ32%uOo0a1QjO%kP4k}IOiphTBSIpEU6AB7vzQf+Gly7G0wHmFIK%b>S7CsEg2^aj zM~UrsV#GI|44G-?Nf9Phs6cjze78P&*p|bi^s*hZG8|Wu|MLeqsCd} zEG7^$BN1FPO0Y1XIvnu{SQUVVm$@&J&&!K->2}XZ6rq$ zFnUQ--PysF0;haq;_jHkFoE4Y;Azglz)h7WuxIj2ST>s@106Bj|CQv@r!uHb&vZexqlB6AS3JwP9#s&BJVm2uC1&>*GgN z{(}PQ);DikdPgni7FN9R$o+&ui$9 zh$G+RgZij82GgKhdx+tsdQ=n5FzHScMKt89?1H8)3aK7^!Ua2GJ!+)d=0GsUoslQ| zkys6cSstQH>KP-v1~vU21GD!S$V9NVYXtHU&xd^HXcXLxf0g0Mjpqw`{|SXI$yvkF zaFtKPQ_}dxna3`J{-{74O#l%dX7Sv7hWHgwW@n&odFamnX3eQAxa&FQGFgPD8aygKTYp&LrWFu4q`GLH!d{G+tI! z4o+Vx9w?ute`=OtHv8Cfnxs;>KLl9JBdeohfJRUp7N$%T>RDP)FNX#iR9 zz%j9Yfv__q$rnsYYKjD`AxS1+dhOr`L>w_mU@4YmyQU-5k9f}3%FcpelBWG{(3EpN zjOowve~iI~At0~Da0}H2%4x!LpR-oZvt`qm&2~E}Y=@~K?VHb)diru2LnA@+jHx8l z$`c^u-0PFU+D=P|9`W2uq}m+LV9SnBWSfTzpXAO5$fu~2VrEJ(7oaJFs0pc;Zc2TG z2a(xmI+&1W*Gg=T6|)HkTB+mIKH{l;rWt5Ee;O4rjFe;44s(v=SLJVEm*kCcw#wC?bdoTN08>>Y|@{{KaQ;Epg zf8jrwnqxgj6Y6CAeRI0xohug8Fr8*(Vl+^s9!rY}ZDiKNJP|)H@rdV58l@5$!ZK_N z!`%8I&R?#Zr8)Nn&MbD;?il{U4H&(0q!_aJm=$d5ASmF)e}i4;AB~#ykini4IvI(Ja#CMg!l6J7+$P$e zgS4PYf6*<(+W^GefibDq`0zf3`{xK)NZe$(9F}*&%-u3Ti$L zai%#T6Tua#e2jg(;b9p$Gh)-?$eUuGI&&F6iE&oA8#e~T$OmULC=mmaO}!{jf29I{ zf|WSfr>w^11p0u3%HAY66M6zXnIawaEi^1R4^GZuPaAVs_?T$Z+vz-S_$c%MiZ;xf z1(%7{lg&&cMw)W9Cc*clHRs5MJ&^CFoO93a+;h*yP6qgSFP19aOPn3|NiZlL6z-l) zKN3ecKZ87Q<8z0O2gf{Xz;Ty>f3&dS>WGEWPtKI46X8P9AU%NLxoo7fKouAV2{nz> zBoA%=4}&LlKxT3)>pX;E#y4U??y_DPQv$BzZd6>-6!n+k4&N-k$EMs8W+@ZPttokvF z8uA=xWCYupIAUfZ1}8@e^h!o#wRUj^O{@UlR+3s3=$7Jn-W$Y_G~)_r~O!B36n)CtKTJc;9&1w0l2hLM+lH3J(g zCIBP=Cjf~FPsifW)m&i2(B7dp@ zjl~0^AV~OtU#Tr8UG+_f+G)vo*!uJBSr^4s_8?QxcfYM^<#siT$w+hnux#(M$-9yi zd9BQKNWeh)a*kJOWEP&to;^;5fE)$|Gf_Mw>)06_>40)K=+AwUQe0!W8UWJFD473D(FT4P!sJwB_29>iU! zGjlI-t5tjeu%htj+9ne6vxnmoeWJE+kSKa+(~dZCBlE?HPjqrmw6CIUn>*3S85;2y zU;&+INn5!i(Sk3{C3?to?2n3W1e7QhB2k6mi9}x+iFPy-^EogOD2E;7O@A?if|9f2 z*LYS0hxFyHXh3}cyD4R`d(8js4b@O;+1HBzUg1#0NlLEZQ683#83g>rqcc?SF3a$} zNzg$txhq7yZZN$;9m_<`uG6%b;%*yK$UEjT-s#znN(O8om<$;0Tt4I`7pPoq)>Cwe z)#6|y{9t<@)maM&xaqb|MSrEELXV>FpJjjEPq)!m17cE#c5CyM0=2lkFO3pRF>&2n zNS+VRo6-H*J98L6+fT&HpY9Ms*EOj8vD0V^c!bn_4ia9_Mjp+E6(JKAqLv73Xll3{ z8^lft{AB4l3D`03qV76%t%hIu^82F*BMlo2xHH)^2Fvmws^8{mdVe6;m@XcsE`sp| zA>rT`mWQsZ$wtbLR16Gec6?HS+!q{A;_|jFC?1sg{WO^0mP84rn7H=tj>gA>*+Y6Z zI=Rc!IANh9dlMp59W$a@oJ>7Ym{(auGtm-qK5}#Y;|iQY07j%)BA}_z0YAQ98@D6uHj>8zEzS@k>O2?AY=Vj@67Hkthy(My8LlDP;Koq z3=LQ4TqzopS^cWrYNF4|Y`UXp7NUoyYfJhJF@L9K9Pvty7Jtu}baQidzZ6&biBWmn zFwfE8twl^7ARN@dV3#K7%9tr+2S>`EwWm!1i)2`CIV#1<&U0{#CU@0%z7httA0o*L z?@P0l4=u_1816VTj{0>@S&nD2RQ8Nnq9@;UgM(O~BYmN(Yv?|#8+NJ8E>If0!C-f| zunG_k00Ze@0Dl!c1P}mJOi&0c2pA+tL`)1kF|1p$uHu;&lHacFm1EQ*EaTK<8kOgT zlQ$JJj;Hqs@{-CcXb4K?Xk%EHm@%%>YTS2^y6XP7b>}t}o`P_wQgg3KYvL#bK^Tz3 zIE*Aw&=JBP!f}XU7z9BO0)!z*2oMAzKoF9E5JLon5Pzl+AquM@lO!EA4QN6(42(`! z!iN?{EJPYG`{gd4s-nvx8c%kM3(VW-wqKzr-4roi%gVdg|DYekRI)5AbrG%$hcqZc zRoZ$YJJqp&4^uvp_Fs=514UnEjLYn=07vo68)n8?l+o zvT3OY&41+%oysIX*Kl8a4w-vb!F|uc9#sJ7|ef;@<`4DEP8H_~z`JL9$y~-^ex#2H{Fq zmA58H4Sn`n8vX{WR&SyZ$ReKtA{8JIE*9Oiz<=0(ItdG}s3%a-vA@=WmfMmt;o*f? zEmJ3;V<$BKV2lxmN4c>MORf&R%HkTj7Q_R$X{+vO+!I&@BCHX00oBvubDLUd59-Ef zv}S50Z{&g=w{bL&w^6bRwnJ^?CQ2RT*GO~f(jHvwv!h#@A=y)bZZ zl7FxJLJ;w&EqhBIf6yRQTN8Gnjdbxeqnf$FPZ*~ zs)g7T@JxT&w<+Ec!;p%nT~t55T}l<}l7H2fqOAVgh*huJj&;Igq=QE2Q?Vl^LBNnK zWyB89mDP(hxbE#am-JeW2c{WbQ zlbqO-Zpj}toR@-0+OC9qUYhiq(Z){ynoNP zXBv2!G3ab_)@^g_SY3iQw)TNF_V`L z9(`9=mk|54Pya>iz1{)o{y)~CVP@t)8$&#~?X%>~+~OL?N{kQAGAn<)RzP{Fp<>^s zP>!J{s@RO{z^N-iVLmMcTfTz_9RS_G;k$Mi>b#E8B0`6IwPfJ3ryt1oKn zyx<#-cZv<>*}OZr^2joI-G8>nja`ZPMkOfqOVHlPo0bSMI@FzPHdPJs zFKY;_ZsaG0L`!~`C;7QHp!N?9otEUF`5v__-PTM?Pc3{V81`ObX@AHRCog4-n5L+a z-=7>l)m}d+6^?-Z}5QTwvb{RiavRg}-3zU1i%pgGCeI=T8+h;L$A1 z6O(F1mzyRsonL0EAGG|zvt9ujEv$~|1xIli9tq@}KjkDET}ey1P+!wi znP_gQ{woa-iJFriT|@w5r8%HpAVGXcanbC3ek~qYN1;V`Kqjo1$kwK|{WV zAxRK+|DK>L>zx)a{LjX|RH7#hBGHQ98%waTB7YLV7?^mtCpt6UxK>2n zARj#&QRWE^lUgv)bpZ=eS0mh-!oJx>y+c$$sCYr)f2YlcJl4&$Ni$032{qihP_#8a z2LuNIq?evR189GMCu2IG;e5Gi{|%us36qqRRR?zgu;sbbc-#@OAop#zqkhI>PP%dlr$=yVv|`SZTV%*c3jGeL%go=7>M+LU4m+gqFyx+qhu zWXZeeff-Wv4Cxvg_FaI+a`R=5xC?780Ef7%$X3y*xNM9Rztuv7fiX?3_fB z>1^NTstNAIQ|GrYi!iK>r>#TA01_nWB8{kBEDn$3rk=wK-WaIWd2)i2wne8-Y*Z(= z5H6le)JD|E(~RWhrR6$uv@mtL??t|x5&1(T2wE9`Aw1HIWQHIC$m85g+cOt#Gu|Ep zc{aKtNU}ejZJ)*noedN8C(#H4X!s8&T&hM@6Y$(2mbazO$J|Q-D+v@6GKvP>XkxT@ zVEx(QZkl`hGDVK~g*rEV(!@w+3LOnHPU7AKAP2SR)q! zo^{h9l2>T4!#Lty)(RS5dD3=v+`UMRBH>9Gs*%;)wOu+JbLue8&a~StlgVT@n@u!m zD5P^TSC<=lQ0AiSKr|*{DZUj9z6zH)J$X}qhoFx#9!q(A`P?h_him;S?>oR9E1)ZG zf7HeF_!N=+VzN02-ysqu_nhEwnUnXus^M=@&4mU)RVFy5X*l z*a_Zi!{M^FH%cWjE-ET2@}5Xc7O5!u-+LtTc${ZhJ|2%pS^mFRoM#EbBxG!aqbDJM zPUz>|>-9PWj7FnT4_$R#*DySQNF);bpmYGD00DSXmPwYSq@<*lo^({yJkNbldTNTu zSiMv5Re4vW9sNROmvAVk>2x}k0lnHvNp#x=^)@56%+oHHaqhV#1PIbQ z1PBh`AK;=G`3E?;mX_8C_y}u+-_pf@nzJON(WmKjDovtNsZ%N0y_7DmTCSIumlqfq z7#P^s*B9K2G%&jG!7|=5A!a;Kb43F`!&bwLSoTFzhf60Dmw~M$pWwxe*S5BVmP2zQ2S-Tm4Nxp8?7atF*L7Vdp*=-0Z-+Ami`?GZo15Dk3)%jYyJ$lnTQEqeclZARrLR z(LBzwNJxAKv$csJFiLSe#297_A;b`32qJ_KLPSJ@85`QP0pK>*spF{j2DZ!fZN9&N zB;=DTd-taM1y_5RlfPs&?r-wx`QRP-o_~A`?@-jd`}oDZEue2ZSAv%M@{+k0@emt- z((pr9#d(Uz~|CDn>qJC5ugJijLG;0Oy&%Zkgb%rN5 zayud{YOXcbMF3|o@0#GW=14n~z20Jf61ogP#aB8+y{5MRAshUD77ICyw8rR0rS~e^ zcmOADL0{b)PgB78HYfTY^{BGrocSGQ+ay+D-?jNzk^8%nKxPd8fy$R5}a(3T$j5t9v=iBht2Vw&x3_WUI zm$l!cI>Qj+;DK^IjZIIbw z=&qD$8k0`e^98z|U$~y@75`>`DW{{Xg%8Gc0qrM`v$~9XpE?fro9nYHzRz2B1a59+ zx}PUO@&51l2G3tE1Na_eKc8|4tsFM7Ybrbj9L-^9-u>e@>!r9h%6H57V+Nn+CimST z->;;6ZaR2v?!p@Lkm@w47sSs|RRJE$2d=%z6xBYdZ97zJgn4yYIh}HUmudWo4sPEd zSLKEOJJKQ~Mrim|p3R-jJL{7ltlA@ZW z0T37>6__tTBwh~(cbM>iW-1Jva9Lbg)Qr!rXc4d${ar3l!Cv_S>4|s;d{^F^st7F^@N7> z-;H){QRl8NNsn27sXbesxl-m=%;bC2fSc8uX<%=Y>hkeOSf8|V-bRs&UgTi|`ku~8 zP2P=~H=^Toij?`(W6G@;m+>o-t0BvO%WVAD!Tdlp77KmV^N$+J3wo;$#RO?{3zFc2Pc9q79&TdU!~I|JE^DC!`|TehY&515LINEZGO(p9889$63N|79x7lzQ5TXsz=%DvMxIX!Ecg(9kW7vrkdr* z1wAorJTtr{&KrH==XDtQ0h9PArRB%4MIM3tqj#MApZ9i7>#q@d(Cf^W>Rz8sA0Epd zG)Ojooj1^9nKPTV{-(0!ts%=@;LBX1tTVz0mxOFtnse%L7!i!QW;*%X#XEhU&t&M7 z<#Z#TPR@6CfIOiqD`*b}fz#qJ0B5vC^EZ*M=t%reJVP5u_XcA`l*=Tm9-rfuWAr=; zAD$(UAC1n=klEyLR9Uze?7IY<#5Dq(d~xo7mX;eMb0J{=WjWW~EuUoIbo#g~f4%}J z&abXdZ@XP6GA7283hlJvKIkKT7yGl1X}HumFVmd@-YTL7h$og`>cQUm$HtY}<+}xP ztXWN-QNvq83my*_E|;PO3<@F%26S@A1=Q@Lppo`=Nhkm0ON@FaHYGsaBrM z4t(`dJ=e$W8`DK2f!~BGU0n#77-7G-FW95(_L`c%u(`$Sl%lpYbD>UvLxmG;3Rbm& z{paxURrFgWbvW}(0;y0isexD_O+Y7eO z_?|HRTRnHDyx(QMFB}f1MIVg+n6$GGygBYKt9744{GR~y@4R`9`-3F*lAj@!_Vqje zk-$8bMeGq#2ZI*AX$j1QaE}GPpH7a1gE>vUv2=h-Q`MTYX2a|Cn?_K+K^RT@%++yv z*_IP9C2r&JaANS|2dDbfInND$SrW%{hy9Nw_rB&>9!GzVN%dpVj*KLZ7Xb`_Z)hUz zC}VpR7L?CVi1;V@v&@?c8!m7avpnNcG3(Dg)Dv$!*zD>E%Dnwh!~}Wk z=}sQh%QB`rH;I;_U{mwcRla}W3V@-tbZu-JLm@${wf-A;dhTV{6~>cWaH zXrEV4?Yrjiy34{pLjygC;hgoJ`w{=$pP^K{pY$qopSvjl48^zDdNIii!;z=OqziUk z%(q&!{di|4?(^y7W;2+>6LEccF6Lq5+>}s{ez!T!IV7x3Y)><8+|{-hLN_mVbZe#+ zF%Ty=D|32SKD}@hgPC)GTTF_DhCuO{`=#~yGZUu>X|BMx6z2>x#`h4@rDfp)aawxS zt<^1^(ClML?L6HwvU5NrM2Vz7{?B09#jsZ;Ap}8i;EO$N zE`-?&xZ2-|&-Yle@MpCX_T?F#{5*EoY4W|p%qp2`McUUgS@7a$k$M4eSYOg1BLP2isLUqVY&G&%48;4)p8&c#$)~e3l*wMN z6S6`=T&05R88UT@_qn<_*P?n z5a3Tx>4`yqS|T_(2+B1eF5j7af|VDo%?hJ1K+F9=SEg%WUTmWS4>WVr%QgC`FZal+ z{+vKj*R()VS!cJ)0#_Oy;wwJ;U8A zCaIGFsNKveL*AkkXO5TeW`jqc07G9L*iceSDCe|)laehVoRLih8$xJCiwZUb;T(xb zOhhE&iLl7j9+fDDErygIpjoAV_EBj1i}@wuOO@nOtGTFKO0wfAc0)Z!Ij={p0dpW8 z-OZEt39a3r_TZ`U|C}1ZvUNGDA523+^meYp|26JB0X<*wx7Y9`PPCxD8C0TwlGQ$r z=5i5C;36V}@`B6rEQ#Rd35rko6a5#kI>N6iK&)Cin*3L?w{~6oi#u^D*4Ab_`2VJd z+iREuQxg;KH-H}l6zOqtd4*u@QFs)R0NP>fmk?D0NPljH1j1^!^#li&e&>E7e72sh zlrDO?DU*MSNyr?2U%cU89T%x$MORf7@=6@dGK=M3z=9g8$L*JpZrLzTURJ@~0 z#>Au#Xns=UDI1l9QARCKPY8uT>6Xi7RMb-x)PIm+ z@Mtq`Pui~ykCxK*r1RMDWHK&C*$bSNso-ORJzE30EK0^bImku>eMIOl*e{4pCvVvX zGPl%L17iVy1T~@;>`DX}?@GIGE4L}lr+KfIX4PX$oBa$lD%=z8&zsdigA$?rQPH&C z#nim@)gf55-s-(IY{crlb*6pwOYBMyUAseS_l=@D_WUJC4C#J_=rRQ$M2(rdHNwe5 z^+fzzjB5)7nBSUueQ2WFR=IDTy_R+M-b0@6<=uIIJ}*7F0z;%vKOLuiF-IhSB|xgc^lE<9iC(5uoj6UhP{;8yz3MTO zT95HKomD4SNw+%}!L?XH-R^Wc8`NWIv*}jHX>QT&%)8xgZ#J7}Oy*HjTZcI_p-dz> zyS<8Zbi};d&t@(Y3h791c>sX{3loe+0s`37(7C;z&Bq|bL&G?Ug>c4i1l_b@vxbg; zq8v5iMe(6HP%Q55iRZ+Lg@klz&Y&3_EF-4-1s5M0g1>I&Gpx{*KEIvJmSjB+o6({p zYjKt&a!B~D>{hB!;YxvW)z#e8yl--#Hk7`BX{5Nt)VB8#aUNW)=mleadAZ<7fMI=o zyLs5}_P%<5ci(k87JJ`zSMRUhV+CtnB^)cb_r!wpu;9Hcb`8JcxR5%0DO-nRs}XB) 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

AV1Q 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

CCI5hQ}7K{!2_(QMB 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 C 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 z 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 z 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 delta 665336 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

Nnt8ZK- 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 V6N|0!CN+K3>mEbkexEIHTzShy~b$ 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%0AC<#>B# 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%0A(=>l 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 XJv~@p#9z-(WTTldp!UfT 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 z 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≦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 diff --git a/test_fixtures/src/bin/regenerate_test_fixture.rs b/test_fixtures/src/bin/regenerate_test_fixture.rs index 52e91bca6..99ba06643 100644 --- a/test_fixtures/src/bin/regenerate_test_fixture.rs +++ b/test_fixtures/src/bin/regenerate_test_fixture.rs @@ -3,11 +3,14 @@ #![expect(clippy::print_stdout, reason = "It's normal in this small cli")] -use std::{path::Path, time::Duration}; +use std::path::Path; use anyhow::{Context as _, Result}; -use lee::PrivateKey; -use sequencer_core::block_store::SequencerStore; +use kameo::actor::Spawn as _; +use sequencer_storage_actor::{ + StorageActor, + protocol::{DeleteZoneCheckpoint, DumpDb, ResetAllBlocksToPending}, +}; use test_fixtures::{ config, setup::{ @@ -75,22 +78,28 @@ async fn generate_prebuilt_fixture(dest: &Path) -> Result<()> { // Shut down gracefully to release the rocksdb lock before reopening the store. drop(wallet); - drop(sequencer_handle); + sequencer_handle.shutdown().await; let db_path = temp_sequencer_dir .path() .join(format!("rocksdb-{}", config::bedrock_channel_id())); - let store = open_store_with_retry(&db_path) + let storage = + StorageActor::new(&db_path).context("Failed to reopen sequencer storage after shutdown")?; + let storage_ref = StorageActor::spawn(storage); + storage_ref + .ask(DeleteZoneCheckpoint) .await - .context("Failed to reopen sequencer store after shutdown")?; - store - .delete_zone_checkpoint() .context("Failed to strip zone-sdk checkpoint from fixture database")?; - store - .reset_all_blocks_to_pending() + storage_ref + .ask(ResetAllBlocksToPending) + .await .context("Failed to reset fixture blocks to pending")?; - let dump = store.dump().context("Failed to dump fixture database")?; - drop(store); + let dump = storage_ref + .ask(DumpDb) + .await + .context("Failed to dump fixture database")?; + storage_ref.stop_gracefully().await?; + storage_ref.wait_for_shutdown_with_result(|_| ()).await; if let Some(parent) = dest.parent() { std::fs::create_dir_all(parent) @@ -104,24 +113,3 @@ async fn generate_prebuilt_fixture(dest: &Path) -> Result<()> { Ok(()) } - -/// Reopen the store, retrying while the shut-down sequencer's aborted tasks are still releasing -/// their db handles (the process holds the file lock until then). Must `await` between attempts. -async fn open_store_with_retry(db_path: &Path) -> Result { - let signing_key = PrivateKey::try_new(config::SEQUENCER_SIGNING_KEY) - .expect("Fixed sequencer signing key must be valid"); - - let mut last_err = None; - for _ in 0..100 { - // Let the runtime drop the aborted sequencer tasks before each attempt. - tokio::time::sleep(Duration::from_millis(100)).await; - match SequencerStore::open_db(db_path, signing_key.clone()) { - Ok(store) => return Ok(store), - Err(err) => last_err = Some(err), - } - } - Err(anyhow::anyhow!( - "Failed to open sequencer store at {} after retries: {last_err:?}", - db_path.display() - )) -} diff --git a/test_fixtures/src/setup.rs b/test_fixtures/src/setup.rs index 6844d4b6a..b08d34001 100644 --- a/test_fixtures/src/setup.rs +++ b/test_fixtures/src/setup.rs @@ -7,12 +7,10 @@ use anyhow::{Context as _, Result, bail}; use indexer_service::{ChannelId, IndexerHandle}; use lee::{AccountId, PrivateKey, PublicKey}; use log::{debug, warn}; -use sequencer_core::{ - block_publisher::ED25519_SECRET_KEY_SIZE, - block_store::{DbDump, SequencerStore}, -}; +use sequencer_core::block_publisher::ED25519_SECRET_KEY_SIZE; use sequencer_service::{GenesisAction, SequencerHandle}; use sequencer_service_rpc::{SequencerClient, SequencerClientBuilder}; +use sequencer_storage_actor::{StorageActor, protocol::DbDump}; use tempfile::TempDir; use testcontainers::compose::DockerCompose; use wallet::{ @@ -149,15 +147,13 @@ impl SequencerSetup { genesis } else { let dump = load_prebuilt_dump()?; - // `SequencerCore::open_or_create_store` looks for the channel-suffixed - // db under its home, so the restore has to land on the same name. + // The sequencer looks for the channel-suffixed db under its home, + // so the restore has to land on the same name. let dst = home.join(format!("rocksdb-{channel_id}")); - let _store = SequencerStore::restore_db_from_dump( - &dst, - &dump, - lee::PrivateKey::try_new(config::SEQUENCER_SIGNING_KEY)?, - ) - .context("Failed to restore prebuilt sequencer database from dump")?; + // Dropped right away: this only writes the database, which the + // sequencer opens for itself below. + let _storage = StorageActor::restore_from_dump(&dst, &dump) + .context("Failed to restore prebuilt sequencer database from dump")?; // TODO: Technically not correct, we should reconstruct the genesis transactions // from the dump, but this crutch doesn't affect anything for now Vec::new() From 8af13dd29d5269cd3e75d9277ca31a3f40ab8ad9 Mon Sep 17 00:00:00 2001 From: Daniil Polyakov Date: Tue, 18 Aug 2026 15:57:43 +0300 Subject: [PATCH 2/4] fix(ci): pass `GITHUB_ACTIONS` in ci image --- .github/actions/run-in-ci-image/action.yml | 4 ++++ Justfile | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/actions/run-in-ci-image/action.yml b/.github/actions/run-in-ci-image/action.yml index 3fafe38cc..5cef529d5 100644 --- a/.github/actions/run-in-ci-image/action.yml +++ b/.github/actions/run-in-ci-image/action.yml @@ -43,7 +43,11 @@ runs: # daemon resolves compose bind mounts against the host, and the test # binaries bake CARGO_MANIFEST_DIR in at compile time, so the path has # to mean the same thing inside and outside the container. + # + # Recipes branch on GITHUB_ACTIONS, which the runner sets but `docker + # run` does not inherit. Valueless `--env` forwards it from the host. docker run --rm \ + --env GITHUB_ACTIONS \ --network host \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume "$PWD:$PWD" \ diff --git a/Justfile b/Justfile index 607b92817..9cfc8f119 100644 --- a/Justfile +++ b/Justfile @@ -51,7 +51,7 @@ test: # Regenerate the prebuilt sequencer db dump for fast TestContext::new() (needs Docker; commit the dump). regenerate-test-fixture: @echo "🧪 Regenerating test fixture" - RISC0_DEV_MODE=1 cargo run -p test_fixtures --bin regenerate_test_fixture + RISC0_DEV_MODE=1 RUST_LOG=info cargo run -p test_fixtures --bin regenerate_test_fixture # Regenerate the committed Grafana dashboards from the Rust generator # (tools/dashboard_gen) and commit the result. CI checks these are up to date. From 6290f091274459a35a4be79f8d6755ab301ff90e Mon Sep 17 00:00:00 2001 From: Daniil Polyakov Date: Wed, 19 Aug 2026 00:48:26 +0300 Subject: [PATCH 3/4] fix(executor): make `GetBlockRange` bounded, non-over-allocating and non-blocking --- Cargo.lock | 1 + Cargo.toml | 1 + lez/sequencer/actors/executor/Cargo.toml | 1 + lez/sequencer/actors/executor/src/actor.rs | 38 +++++---- lez/sequencer/actors/executor/src/protocol.rs | 44 ++++++++++- lez/sequencer/actors/executor/src/tests.rs | 78 ++++++++++++++++++- .../actors/rpc_server/src/actor/service.rs | 12 ++- 7 files changed, 153 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2d4d48ca0..e31b664a2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9618,6 +9618,7 @@ dependencies = [ "mempool", "mockall", "num-bigint 0.4.6", + "num-traits", "sequencer_core", "sequencer_stake_core", "sequencer_storage_actor", diff --git a/Cargo.toml b/Cargo.toml index 34b0f8f68..77b434521 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -239,6 +239,7 @@ clap = { version = "4.5.42", features = ["derive", "env"] } reqwest = { version = "0.12", features = ["json", "rustls-tls", "stream"] } zeroize = "1" criterion = { version = "0.8", features = ["html_reports"] } +num-traits = "0.2.19" # Profile for leptos WASM release builds [profile.wasm-release] diff --git a/lez/sequencer/actors/executor/Cargo.toml b/lez/sequencer/actors/executor/Cargo.toml index 91f03920e..d963c1b76 100644 --- a/lez/sequencer/actors/executor/Cargo.toml +++ b/lez/sequencer/actors/executor/Cargo.toml @@ -22,6 +22,7 @@ log.workspace = true anyhow.workspace = true thiserror.workspace = true hex.workspace = true +num-traits.workspace = true [dev-dependencies] lee.workspace = true diff --git a/lez/sequencer/actors/executor/src/actor.rs b/lez/sequencer/actors/executor/src/actor.rs index bc7d57c75..484136347 100644 --- a/lez/sequencer/actors/executor/src/actor.rs +++ b/lez/sequencer/actors/executor/src/actor.rs @@ -1,11 +1,12 @@ use common::{block::Block, transaction::LeeTransaction}; -use futures::{TryFutureExt as _, TryStreamExt as _, future::ready, stream::FuturesOrdered}; +use futures::{StreamExt as _, TryFutureExt as _, TryStreamExt as _, future::ready, stream}; use kameo::{ Actor, actor::{ActorRef, WeakActorRef}, error::ActorStopReason, mailbox::{MailboxReceiver, Signal}, message::{Context, Message}, + reply::DelegatedReply, }; use lee_core::{ BlockId, @@ -33,6 +34,9 @@ use crate::{ }, }; +/// How many block lookups a single [`GetBlockRange`] keeps in flight. +const BLOCK_RANGE_CONCURRENCY: usize = 16; + // TODO: Remove `BP` once this part is moved to a separate actor pub struct ExecutorActor { mempool_handle: MemPoolHandle<(TransactionOrigin, LeeTransaction)>, @@ -208,25 +212,29 @@ impl Mess impl Message for ExecutorActor { - type Reply = Result>; + type Reply = DelegatedReply>>; async fn handle( &mut self, GetBlockRange { range }: GetBlockRange, - _ctx: &mut Context, + ctx: &mut Context, ) -> Self::Reply { - range - .map(|block_id| { - self.storage_ref - .ask(sequencer_storage_actor::protocol::GetBlock { block_id }) - .into_future() - .map_err(Into::into) - }) - .collect::>() - .try_take_while(|block_opt| ready(Ok(block_opt.is_some()))) - .try_filter_map(|block_opt| ready(Ok(block_opt))) - .try_collect() - .await + let storage_ref = self.storage_ref.clone(); + + ctx.spawn(async move { + stream::iter(range.into_inner()) + .map(|block_id| { + storage_ref + .ask(sequencer_storage_actor::protocol::GetBlock { block_id }) + .into_future() + .map_err(Into::into) + }) + .buffered(BLOCK_RANGE_CONCURRENCY) + .try_take_while(|block_opt| ready(Ok(block_opt.is_some()))) + .try_filter_map(|block_opt| ready(Ok(block_opt))) + .try_collect() + .await + }) } } diff --git a/lez/sequencer/actors/executor/src/protocol.rs b/lez/sequencer/actors/executor/src/protocol.rs index 6ce316cd9..f5fef80bf 100644 --- a/lez/sequencer/actors/executor/src/protocol.rs +++ b/lez/sequencer/actors/executor/src/protocol.rs @@ -7,6 +7,9 @@ use lee_core::{ account::{Account, AccountId}, }; +/// The widest range a [`GetBlockRange`] may span. +pub const MAX_BLOCK_RANGE_LEN: usize = 1024; + #[derive(Copy, Clone)] pub struct ProduceBlock; @@ -19,7 +22,46 @@ pub struct GetBlock { } pub struct GetBlockRange { - pub range: RangeInclusive, + pub range: BoundedRangeInclusive<{ MAX_BLOCK_RANGE_LEN }, BlockId>, +} + +pub struct BoundedRangeInclusive(RangeInclusive); + +#[derive(Debug, thiserror::Error)] +pub enum BoundedRangeInclusiveError { + #[error("Range goes backwards: start {start:?}, end {end:?}")] + RangeGoesBackwards { start: T, end: T }, + + #[error("Range is too large: max length is {N}")] + RangeTooLarge, +} + +impl BoundedRangeInclusive { + pub fn into_inner(self) -> RangeInclusive { + self.0 + } +} + +impl> TryFrom> + for BoundedRangeInclusive +{ + type Error = BoundedRangeInclusiveError; + + fn try_from(range: RangeInclusive) -> Result { + let (start, end) = range.into_inner(); + + let len = end + .checked_sub(&start) + .ok_or(BoundedRangeInclusiveError::RangeGoesBackwards { start, end })? + .try_into() + .map_err(|_err| BoundedRangeInclusiveError::RangeTooLarge)?; + + if len > N.saturating_sub(1) { + return Err(BoundedRangeInclusiveError::RangeTooLarge); + } + + Ok(Self(RangeInclusive::new(start, end))) + } } pub struct GetLastBlockId; diff --git a/lez/sequencer/actors/executor/src/tests.rs b/lez/sequencer/actors/executor/src/tests.rs index 6116bb00c..ec72c28aa 100644 --- a/lez/sequencer/actors/executor/src/tests.rs +++ b/lez/sequencer/actors/executor/src/tests.rs @@ -1,4 +1,4 @@ -use std::collections::BTreeMap; +use std::{collections::BTreeMap, time::Duration}; use anyhow::Result; use bytesize::ByteSize; @@ -12,7 +12,7 @@ use lee::{ Account, AccountId, PrivateKey, PublicKey, PublicTransaction, Signature, V03State, public_transaction::{Message, WitnessSet}, }; -use mockall::predicate::{always, eq}; +use mockall::predicate::{always, eq, function}; use num_bigint::BigUint; use sequencer_core::{ config::{BedrockConfig, SequencerConfig}, @@ -20,7 +20,7 @@ use sequencer_core::{ }; use sequencer_storage_actor::mock::MockStorageActor; use tempfile::TempDir; -use tokio::test; +use tokio::{sync::mpsc, test, time::timeout}; use crate::{ExecutorActor, protocol}; @@ -196,3 +196,75 @@ async fn handle_transaction_fails_on_full_mempool() -> Result<()> { Ok(()) } + +#[test] +async fn get_block_range_keeps_executor_responsive() -> Result<()> { + /// Blocks the mock storage accepts but never answers. + const STALLED_FIRST: u64 = 100; + const STALLED_LAST: u64 = 105; + + let _res = env_logger::try_init(); + + let (config, _home) = sequencer_config(); + + let (stalled_tx, mut stalled_rx) = mpsc::unbounded_channel(); + #[expect( + clippy::collection_is_never_read, + reason = "Keeping the senders alive is what makes the asker wait forever" + )] + let mut held_replies = Vec::new(); + let mut mock_storage = prepare_mock_storage_with_empty_genesis(); + mock_storage + .expect_handle_get_block() + .with( + function(|msg: &sequencer_storage_actor::protocol::GetBlock| { + (STALLED_FIRST..=STALLED_LAST).contains(&msg.block_id) + }), + always(), + ) + .returning(move |_, ctx| { + // Holding the sender without ever sending leaves the asker waiting + // forever, while storage itself keeps draining its mailbox. + let (_delegated, reply_sender) = ctx.reply_sender(); + held_replies.extend(reply_sender); + stalled_tx.send(()).expect("Test must still be listening"); + Ok(None) + }); + + let storage_ref = MockStorageActor::spawn(mock_storage); + let executor = ExecutorActor::spawn( + ExecutorActor::::new(config, storage_ref.clone()).await, + ); + + let range = (STALLED_FIRST..=STALLED_LAST) + .try_into() + .expect("Range must be within the allowed length"); + let stalled_request = tokio::spawn({ + let executor = executor.clone(); + async move { executor.ask(protocol::GetBlockRange { range }).await } + }); + + stalled_rx + .recv() + .await + .expect("Executor must reach storage for the stalled range"); + + timeout( + Duration::from_secs(5), + executor.ask(protocol::GetLastBlockId), + ) + .await + .expect("Executor must answer while the stalled range is still in flight")?; + + assert!( + !stalled_request.is_finished(), + "The stalled range must still be waiting, otherwise nothing was proven" + ); + stalled_request.abort(); + + storage_ref + .tell(sequencer_storage_actor::mock::Checkpoint) + .await?; + + Ok(()) +} diff --git a/lez/sequencer/actors/rpc_server/src/actor/service.rs b/lez/sequencer/actors/rpc_server/src/actor/service.rs index ae3bbea8e..d423d40ab 100644 --- a/lez/sequencer/actors/rpc_server/src/actor/service.rs +++ b/lez/sequencer/actors/rpc_server/src/actor/service.rs @@ -134,10 +134,16 @@ impl sequencer_service_rpc::Rpc start_block_id: BlockId, end_block_id: BlockId, ) -> Result, ErrorObjectOwned> { + let range = (start_block_id..=end_block_id).try_into().map_err(|err| { + ErrorObjectOwned::owned( + ErrorCode::InvalidParams.code(), + format!("Invalid block range: {err:#}"), + None::<()>, + ) + })?; + self.executor_ref - .ask(sequencer_executor_actor::protocol::GetBlockRange { - range: (start_block_id..=end_block_id), - }) + .ask(sequencer_executor_actor::protocol::GetBlockRange { range }) .await .map_err(internal_error) } From 578350beea860715509821c2b1bc756b129812b3 Mon Sep 17 00:00:00 2001 From: Daniil Polyakov Date: Wed, 19 Aug 2026 17:22:38 +0300 Subject: [PATCH 4/4] refactor(sequencer, storage): move transaction index into `StorageActor` --- Cargo.lock | 2 + lez/sequencer/actors/executor/src/actor.rs | 8 +- lez/sequencer/actors/storage/Cargo.toml | 2 + lez/sequencer/actors/storage/src/actor.rs | 114 ++++++++---- .../actors/storage/src/actor/tx_index.rs | 123 +++++++++++++ lez/sequencer/actors/storage/src/lib.rs | 2 + lez/sequencer/actors/storage/src/mock.rs | 25 ++- lez/sequencer/actors/storage/src/protocol.rs | 4 + lez/sequencer/actors/storage/src/tests.rs | 174 ++++++++++++++++++ lez/sequencer/actors/storage/src/trait.rs | 8 +- lez/sequencer/core/src/block_store.rs | 131 +------------ lez/storage/src/sequencer/mod.rs | 2 +- 12 files changed, 422 insertions(+), 173 deletions(-) create mode 100644 lez/sequencer/actors/storage/src/actor/tx_index.rs create mode 100644 lez/sequencer/actors/storage/src/tests.rs diff --git a/Cargo.lock b/Cargo.lock index e31b664a2..73a384a81 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9728,9 +9728,11 @@ name = "sequencer_storage_actor" version = "0.1.0" dependencies = [ "common", + "itertools 0.14.0", "kameo", "lee", "lee_core", + "log", "mockall", "storage", "tempfile", diff --git a/lez/sequencer/actors/executor/src/actor.rs b/lez/sequencer/actors/executor/src/actor.rs index 484136347..64ba7663d 100644 --- a/lez/sequencer/actors/executor/src/actor.rs +++ b/lez/sequencer/actors/executor/src/actor.rs @@ -271,17 +271,17 @@ impl impl Message for ExecutorActor { - type Reply = Option<(LeeTransaction, BlockId)>; + type Reply = Result>; async fn handle( &mut self, GetTransaction { tx_hash }: GetTransaction, _ctx: &mut Context, ) -> Self::Reply { - self.sequencer - .block_store() - .get_transaction_by_hash(tx_hash) + self.storage_ref + .ask(sequencer_storage_actor::protocol::GetTransactionByHash { hash: tx_hash }) .await + .map_err(Into::into) } } diff --git a/lez/sequencer/actors/storage/Cargo.toml b/lez/sequencer/actors/storage/Cargo.toml index ea9f2c7b8..4877a8e8e 100644 --- a/lez/sequencer/actors/storage/Cargo.toml +++ b/lez/sequencer/actors/storage/Cargo.toml @@ -18,7 +18,9 @@ storage.workspace = true kameo.workspace = true thiserror.workspace = true +log.workspace = true mockall = { workspace = true, optional = true } +itertools.workspace = true [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } diff --git a/lez/sequencer/actors/storage/src/actor.rs b/lez/sequencer/actors/storage/src/actor.rs index 6324eb4d2..2edc7b917 100644 --- a/lez/sequencer/actors/storage/src/actor.rs +++ b/lez/sequencer/actors/storage/src/actor.rs @@ -1,6 +1,10 @@ use std::path::Path; -use common::block::{Block, BlockMeta, PeerChainTip}; +use common::{ + block::{Block, BlockMeta, PeerChainTip}, + transaction::LeeTransaction, +}; +use itertools::Itertools as _; use kameo::{ Actor, actor::{ActorRef, WeakActorRef}, @@ -9,10 +13,12 @@ use kameo::{ }; use lee::V03State; use lee_core::BlockId; +use log::debug; use storage::sequencer::RocksDBIO; use crate::{ Result, StorageActorTrait, + actor::tx_index::TransactionIndex, error::Error, protocol::{ AddPendingCrossZoneDispatches, AddPendingDepositEvent, ApplyStoreUpdate, @@ -22,7 +28,7 @@ use crate::{ GetCrossZonePeerTip, GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, GetFirstBlockId, GetLastBlockId, GetLatestBlockMeta, GetLeeState, GetPendingCrossZoneDispatches, GetPendingDepositEvents, GetPublishedHighWater, - GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, + GetTransactionByHash, GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RaisePublishedHighWater, RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, SetCrossZonePeerFloorBytes, SetCrossZonePeerTip, SetZoneAnchor, SetZoneCheckpointBytes, StoreUpdateOutcome, @@ -30,9 +36,12 @@ use crate::{ }, }; +mod tx_index; + pub struct StorageActor { /// `None` after [`Actor::on_stop`] closed the database. dbio: Option, + tx_index: TransactionIndex, } impl StorageActor { @@ -40,13 +49,20 @@ impl StorageActor { /// If the database does not exist, it will be created. pub fn new(location: &Path) -> Result { let dbio = RocksDBIO::open_or_create(location)?; - Ok(Self { dbio: Some(dbio) }) + Self::new_inner(dbio) } /// Creates a fresh database at `location` from `dump`. pub fn restore_from_dump(location: &Path, dump: &DbDump) -> Result { let dbio = RocksDBIO::restore_from_dump(location, dump.as_db_dump())?; - Ok(Self { dbio: Some(dbio) }) + Self::new_inner(dbio) + } + + fn new_inner(dbio: RocksDBIO) -> Result { + Ok(Self { + tx_index: Self::build_tx_index(&dbio)?, + dbio: Some(dbio), + }) } /// The open database. @@ -60,6 +76,24 @@ impl StorageActor { .as_ref() .expect("Database is closed, the actor has already stopped") } + + fn build_tx_index(dbio: &RocksDBIO) -> Result { + debug!("Building the transaction index"); + + let index = + dbio.get_all_blocks() + .fold_ok(TransactionIndex::default(), |mut index, block| { + index.update_from_block(&block); + index + })?; + + debug!( + "Transaction index built, holding {} transactions", + index.transaction_count() + ); + + Ok(index) + } } impl StorageActorTrait for StorageActor {} @@ -98,8 +132,10 @@ impl Message for StorageActor { ) -> Self::Reply { let withdrawals = withdrawals.into_iter().map(Into::into).collect::>(); self.dbio() - .atomic_update(&block, &withdrawals, &state, checkpoint_bytes.as_deref()) - .map_err(Into::into) + .atomic_update(&block, &withdrawals, &state, checkpoint_bytes.as_deref())?; + + self.tx_index.update_from_block(&block); + Ok(()) } } @@ -130,6 +166,30 @@ impl Message for StorageActor { } } +impl Message for StorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + GetTransactionByHash { hash }: GetTransactionByHash, + _ctx: &mut Context, + ) -> Self::Reply { + let Some(block_id) = self.tx_index.block_for_tx(&hash) else { + return Ok(None); + }; + let Some(block) = self.dbio().get_block(block_id)? else { + return Ok(None); + }; + + Ok(block + .body + .transactions + .into_iter() + .find(|transaction| transaction.hash() == hash) + .map(|transaction| (transaction, block_id))) + } +} + impl Message for StorageActor { type Reply = Result<()>; @@ -138,7 +198,9 @@ impl Message for StorageActor { DeleteBlock { block_id }: DeleteBlock, _ctx: &mut Context, ) -> Self::Reply { - self.dbio().delete_block(block_id).map_err(Into::into) + self.dbio().delete_block(block_id)?; + self.tx_index.delete_block(block_id); + Ok(()) } } @@ -399,10 +461,12 @@ impl Message for StorageActor { new_withdraw_intents: &new_withdraw_intents, zone_anchor: zone_anchor.as_ref(), }; - self.dbio() - .store_update(&update) - .map(Into::into) - .map_err(Into::into) + let outcome = self.dbio().store_update(&update)?; + + for (block, _) in blocks { + self.tx_index.update_from_block(block); + } + Ok(outcome.into()) } } @@ -621,31 +685,3 @@ impl Message for StorageActor { .map_err(Into::into) } } - -#[cfg(test)] -mod tests { - use kameo::actor::Spawn as _; - - use super::*; - - /// Holding the task's output keeps the stopped actor's state alive, which is exactly the - /// situation `on_stop` exists for: the lock has to be gone by the time the shutdown result - /// resolves, not by the time the state happens to be dropped. - #[tokio::test(flavor = "multi_thread", worker_threads = 2)] - async fn stopped_actor_releases_the_database_lock() { - let dir = tempfile::tempdir().expect("Failed to create temp dir"); - let prepared = StorageActor::prepare(); - let actor_ref = prepared.actor_ref().clone(); - let join_handle = prepared.spawn(StorageActor::new(dir.path()).expect("Failed to open db")); - - actor_ref - .stop_gracefully() - .await - .expect("Failed to stop the actor"); - actor_ref.wait_for_shutdown_with_result(|_| ()).await; - - StorageActor::new(dir.path()).expect("Database lock must be released once the actor stops"); - - drop(join_handle); - } -} diff --git a/lez/sequencer/actors/storage/src/actor/tx_index.rs b/lez/sequencer/actors/storage/src/actor/tx_index.rs new file mode 100644 index 000000000..9a396b09a --- /dev/null +++ b/lez/sequencer/actors/storage/src/actor/tx_index.rs @@ -0,0 +1,123 @@ +use std::collections::HashMap; + +use common::{HashType, block::Block}; +use lee_core::BlockId; + +#[derive(Default)] +pub struct TransactionIndex { + tx_to_block: HashMap, + block_to_txs: HashMap>, +} + +impl TransactionIndex { + /// Extend index from block removing old data if it existed for `block`. + pub fn update_from_block(&mut self, block: &Block) { + self.delete_block(block.header.block_id); + + for tx in &block.body.transactions { + let tx_hash = tx.hash(); + self.tx_to_block.insert(tx_hash, block.header.block_id); + self.block_to_txs + .entry(block.header.block_id) + .or_default() + .push(tx_hash); + } + } + + /// Delete all transactions associated with `block_id` from the index. + pub fn delete_block(&mut self, block_id: BlockId) { + if let Some(txs) = self.block_to_txs.remove(&block_id) { + for tx_hash in txs { + self.tx_to_block.remove(&tx_hash); + } + } + } + + /// Get the block id for a transaction hash if it exists in the index. + pub fn block_for_tx(&self, tx_hash: &HashType) -> Option { + self.tx_to_block.get(tx_hash).copied() + } + + /// Get the number of transactions in the index. + pub fn transaction_count(&self) -> usize { + self.tx_to_block.len() + } +} + +#[cfg(test)] +mod tests { + use common::test_utils::{produce_dummy_block, produce_dummy_empty_transaction}; + + use super::*; + + #[test] + fn update_from_block() { + let mut index = TransactionIndex::default(); + let block = create_test_block(1, 3); + + index.update_from_block(&block); + + assert_eq!(index.transaction_count(), 3); + } + + #[test] + fn update_from_block_replaces_existing() { + let mut index = TransactionIndex::default(); + let block1 = create_test_block(1, 2); + let block2 = create_test_block(1, 2); + + index.update_from_block(&block1); + assert_eq!(index.transaction_count(), 2); + + index.update_from_block(&block2); + assert_eq!(index.transaction_count(), 2); + } + + #[test] + fn block_for_tx() { + let mut index = TransactionIndex::default(); + let block = create_test_block(1, 3); + + index.update_from_block(&block); + + assert_eq!( + index.block_for_tx(&block.body.transactions[0].hash()), + Some(1) + ); + assert_eq!(index.block_for_tx(&HashType::default()), None); + } + + #[test] + fn delete_block() { + let mut index = TransactionIndex::default(); + let block = create_test_block(1, 3); + + index.update_from_block(&block); + assert_eq!(index.transaction_count(), 3); + + index.delete_block(1); + assert_eq!(index.transaction_count(), 0); + } + + #[test] + fn transaction_count() { + let mut index = TransactionIndex::default(); + assert_eq!(index.transaction_count(), 0); + + let block1 = create_test_block(1, 2); + index.update_from_block(&block1); + assert_eq!(index.transaction_count(), 2); + + let block2 = create_test_block(2, 3); + index.update_from_block(&block2); + assert_eq!(index.transaction_count(), 5); + } + + fn create_test_block(block_id: u64, tx_count: usize) -> Block { + // -1 for auto-inserted clock transaction + let transactions = std::iter::repeat_with(produce_dummy_empty_transaction) + .take(tx_count.saturating_sub(1)) + .collect(); + produce_dummy_block(block_id, None, transactions) + } +} diff --git a/lez/sequencer/actors/storage/src/lib.rs b/lez/sequencer/actors/storage/src/lib.rs index dbdde7433..6d86c9e02 100644 --- a/lez/sequencer/actors/storage/src/lib.rs +++ b/lez/sequencer/actors/storage/src/lib.rs @@ -8,6 +8,8 @@ pub mod error; #[cfg(feature = "mock")] pub mod mock; pub mod protocol; +#[cfg(test)] +mod tests; pub mod r#trait; pub type Result = std::result::Result; diff --git a/lez/sequencer/actors/storage/src/mock.rs b/lez/sequencer/actors/storage/src/mock.rs index bc74458bb..18159c38d 100644 --- a/lez/sequencer/actors/storage/src/mock.rs +++ b/lez/sequencer/actors/storage/src/mock.rs @@ -3,7 +3,10 @@ reason = "`handle*` prefix is used for convenience with `Message` trait" )] -use common::block::{Block, BlockMeta, PeerChainTip}; +use common::{ + block::{Block, BlockMeta, PeerChainTip}, + transaction::LeeTransaction, +}; use kameo::{ Actor, Reply, actor::ActorRef, @@ -23,7 +26,7 @@ use crate::{ GetCrossZonePeerTip, GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, GetFirstBlockId, GetLastBlockId, GetLatestBlockMeta, GetLeeState, GetPendingCrossZoneDispatches, GetPendingDepositEvents, GetPublishedHighWater, - GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, + GetTransactionByHash, GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RaisePublishedHighWater, RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, SetCrossZonePeerFloorBytes, SetCrossZonePeerTip, SetZoneAnchor, SetZoneCheckpointBytes, StoreUpdateOutcome, @@ -51,6 +54,12 @@ mockall::mock! { ctx: &mut Context>> ) -> Result>; + pub fn handle_get_transaction_by_hash( + &mut self, + msg: GetTransactionByHash, + ctx: &mut Context>> + ) -> Result>; + pub fn handle_delete_block( &mut self, msg: DeleteBlock, @@ -328,6 +337,18 @@ impl Message for MockStorageActor { } } +impl Message for MockStorageActor { + type Reply = Result>; + + async fn handle( + &mut self, + msg: GetTransactionByHash, + ctx: &mut Context, + ) -> Self::Reply { + self.handle_get_transaction_by_hash(msg, ctx) + } +} + impl Message for MockStorageActor { type Reply = Result<()>; diff --git a/lez/sequencer/actors/storage/src/protocol.rs b/lez/sequencer/actors/storage/src/protocol.rs index 830f6785f..e74819de4 100644 --- a/lez/sequencer/actors/storage/src/protocol.rs +++ b/lez/sequencer/actors/storage/src/protocol.rs @@ -29,6 +29,10 @@ pub struct GetBlock { pub struct GetAllBlocks; +pub struct GetTransactionByHash { + pub hash: HashType, +} + pub struct DeleteBlock { pub block_id: BlockId, } diff --git a/lez/sequencer/actors/storage/src/tests.rs b/lez/sequencer/actors/storage/src/tests.rs new file mode 100644 index 000000000..e4da790eb --- /dev/null +++ b/lez/sequencer/actors/storage/src/tests.rs @@ -0,0 +1,174 @@ +use std::{path::Path, sync::Arc}; + +use common::{ + HashType, + block::{Block, BlockMeta}, + test_utils::{produce_dummy_block, produce_dummy_empty_transaction}, +}; +use kameo::actor::{ActorRef, Spawn as _}; +use lee::V03State; + +use crate::{ + StorageActor, + protocol::{ApplyStoreUpdate, GetTransactionByHash, RecordNewBlock}, +}; + +/// Spawns an actor on a database at `path` seeded with `blocks`. +async fn spawn_with_blocks(path: &Path, blocks: Vec) -> ActorRef { + let storage_ref = StorageActor::spawn(StorageActor::new(path).expect("Failed to open db")); + for block in blocks { + storage_ref + .ask(RecordNewBlock { + block, + withdrawals: vec![], + state: Arc::new(V03State::new()), + checkpoint_bytes: None, + }) + .await + .expect("Failed to record a block"); + } + storage_ref +} + +/// Holding the task's output keeps the stopped actor's state alive, which is exactly the +/// situation `on_stop` exists for: the lock has to be gone by the time the shutdown result +/// resolves, not by the time the state happens to be dropped. +#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +async fn stopped_actor_releases_the_database_lock() { + let dir = tempfile::tempdir().expect("Failed to create temp dir"); + let prepared = StorageActor::prepare(); + let actor_ref = prepared.actor_ref().clone(); + let join_handle = prepared.spawn(StorageActor::new(dir.path()).expect("Failed to open db")); + + actor_ref + .stop_gracefully() + .await + .expect("Failed to stop the actor"); + actor_ref.wait_for_shutdown_with_result(|_| ()).await; + + StorageActor::new(dir.path()).expect("Database lock must be released once the actor stops"); + + drop(join_handle); +} + +#[tokio::test] +async fn recorded_transaction_is_looked_up_by_hash() { + let dir = tempfile::tempdir().expect("Failed to create temp dir"); + let transaction = produce_dummy_empty_transaction(); + let block = produce_dummy_block(1, None, vec![transaction.clone()]); + let storage_ref = + spawn_with_blocks(dir.path(), vec![produce_dummy_block(0, None, vec![])]).await; + + assert_eq!( + storage_ref + .ask(GetTransactionByHash { + hash: transaction.hash() + }) + .await + .expect("Failed to look the transaction up"), + None, + "A transaction outside the chain has nowhere to be found" + ); + + storage_ref + .ask(RecordNewBlock { + block, + withdrawals: vec![], + state: Arc::new(V03State::new()), + checkpoint_bytes: None, + }) + .await + .expect("Failed to record the block"); + + assert_eq!( + storage_ref + .ask(GetTransactionByHash { + hash: transaction.hash() + }) + .await + .expect("Failed to look the transaction up"), + Some((transaction, 1)) + ); +} + +/// The index lives only in memory, so a fresh actor has to build it off the +/// stored blocks rather than off the writes it has seen. +#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +async fn transaction_is_looked_up_on_a_reopened_database() { + let dir = tempfile::tempdir().expect("Failed to create temp dir"); + let transaction = produce_dummy_empty_transaction(); + + let storage_weak = spawn_with_blocks( + dir.path(), + vec![ + produce_dummy_block(0, None, vec![]), + produce_dummy_block(1, None, vec![transaction.clone()]), + ], + ) + .await + .downgrade(); + storage_weak.wait_for_shutdown_with_result(|_| ()).await; + + let storage_ref = spawn_with_blocks(dir.path(), vec![]).await; + assert_eq!( + storage_ref + .ask(GetTransactionByHash { + hash: transaction.hash() + }) + .await + .expect("Failed to look the transaction up"), + Some((transaction, 1)) + ); +} + +/// An update that replaces a stored block must not leave the transactions it +/// dropped reachable. +#[tokio::test] +async fn replaced_block_leaves_no_stale_index_entries() { + let dir = tempfile::tempdir().expect("Failed to create temp dir"); + let orphaned_transaction = produce_dummy_empty_transaction(); + let orphaned = produce_dummy_block(1, None, vec![orphaned_transaction.clone()]); + let adopted = produce_dummy_block(1, Some(HashType([1; 32])), vec![]); + + let storage_ref = spawn_with_blocks( + dir.path(), + vec![produce_dummy_block(0, None, vec![]), orphaned], + ) + .await; + // The index starts out holding the chain the adopted block replaces. + storage_ref + .ask(GetTransactionByHash { + hash: orphaned_transaction.hash(), + }) + .await + .expect("Failed to look the transaction up") + .expect("The orphaned block is the stored one so far"); + + storage_ref + .ask(ApplyStoreUpdate { + checkpoint: None, + blocks: vec![(adopted.clone(), false)], + head_tip: Some(BlockMeta::from(&adopted)), + head_state: Arc::new(V03State::new()), + final_snapshot: None, + finalized_up_to: None, + new_deposit_events: vec![], + remove_deposit_records: vec![], + remove_dispatch_records: vec![], + consumed_withdrawals: vec![], + new_withdraw_intents: vec![], + zone_anchor: None, + }) + .await + .expect("Failed to apply the update"); + + assert_eq!( + storage_ref + .ask(GetTransactionByHash { + hash: orphaned_transaction.hash() + }) + .await + .expect("Failed to look the transaction up"), + None + ); +} diff --git a/lez/sequencer/actors/storage/src/trait.rs b/lez/sequencer/actors/storage/src/trait.rs index d58470a6c..bae809f76 100644 --- a/lez/sequencer/actors/storage/src/trait.rs +++ b/lez/sequencer/actors/storage/src/trait.rs @@ -1,4 +1,7 @@ -use common::block::{Block, BlockMeta, PeerChainTip}; +use common::{ + block::{Block, BlockMeta, PeerChainTip}, + transaction::LeeTransaction, +}; use kameo::{Actor, message::Message}; use lee::V03State; use lee_core::BlockId; @@ -14,7 +17,7 @@ use crate::{ GetCrossZonePeerTip, GetDeadLetterDispatchCount, GetDeadLetterDispatches, GetFinalSnapshot, GetFirstBlockId, GetLastBlockId, GetLatestBlockMeta, GetLeeState, GetPendingCrossZoneDispatches, GetPendingDepositEvents, GetPublishedHighWater, - GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, + GetTransactionByHash, GetZoneAnchor, GetZoneCheckpointBytes, MarkBlockAsFinalized, PendingCrossZoneDispatchRecord, PendingDepositEventRecord, RaisePublishedHighWater, RecordDispatchFailure, RecordNewBlock, ResetAllBlocksToPending, SetCrossZonePeerFloorBytes, SetCrossZonePeerTip, SetZoneAnchor, SetZoneCheckpointBytes, StoreUpdateOutcome, @@ -28,6 +31,7 @@ pub trait StorageActorTrait: + Message> + Message>> + Message>> + + Message>> + Message> + Message> + Message> diff --git a/lez/sequencer/core/src/block_store.rs b/lez/sequencer/core/src/block_store.rs index 1021ffea9..85e16d524 100644 --- a/lez/sequencer/core/src/block_store.rs +++ b/lez/sequencer/core/src/block_store.rs @@ -1,11 +1,7 @@ -use std::{collections::HashMap, sync::Arc}; +use std::sync::Arc; use anyhow::{Context as _, Result}; -use common::{ - HashType, - block::{Block, BlockMeta}, - transaction::LeeTransaction, -}; +use common::block::{Block, BlockMeta}; use kameo::actor::ActorRef; use lee::V03State; use lee_core::BlockId; @@ -24,12 +20,10 @@ use sequencer_storage_actor::{ }, }; -// TODO: Refactor this to be `Cache` (or remove entirely) and move other fields to -// [`crate::SequencerCore`]. +// TODO: Remove entirely, asking the storage actor directly and moving the +// remaining fields to [`crate::SequencerCore`]. pub struct SequencerStore { storage_ref: ActorRef, - // TODO: Consider adding the hashmap to the database for faster recovery. - tx_hash_to_block_map: HashMap, genesis_id: u64, signing_key: lee::PrivateKey, } @@ -41,30 +35,8 @@ impl SequencerStore { .await? .context("Store holds no chain; it must be seeded with a genesis block first")?; - let last_id = storage_ref - .ask(GetLastBlockId) - .await? - .context("Store holds a first block but no last one")?; - - let mut tx_hash_to_block_map = HashMap::new(); - - log::info!("Preparing block cache"); - for i in genesis_id..=last_id { - let block = storage_ref - .ask(GetBlock { block_id: i }) - .await? - .expect("Block should be present in the database"); - - tx_hash_to_block_map.extend(block_to_transactions_map(&block)); - } - log::info!( - "Block cache prepared. Total blocks in cache: {}", - tx_hash_to_block_map.len() - ); - Ok(Self { storage_ref, - tx_hash_to_block_map, genesis_id, signing_key, }) @@ -103,8 +75,7 @@ impl SequencerStore { .map_err(Into::into) } - /// Persists `block` with the effects it covers and extends the transaction - /// cache with the block's transactions. + /// Persists `block` with the effects it covers. pub async fn record_new_block( &mut self, block: Block, @@ -112,7 +83,6 @@ impl SequencerStore { state: Arc, checkpoint_bytes: Option>, ) -> Result<()> { - let new_transactions_map = block_to_transactions_map(&block); self.storage_ref .ask(RecordNewBlock { block, @@ -121,32 +91,9 @@ impl SequencerStore { checkpoint_bytes, }) .await?; - self.tx_hash_to_block_map.extend(new_transactions_map); Ok(()) } - /// Returns the transaction corresponding to the given hash, if it exists in the blockchain. - pub async fn get_transaction_by_hash( - &self, - hash: HashType, - ) -> Option<(LeeTransaction, BlockId)> { - let block_id = *self.tx_hash_to_block_map.get(&hash)?; - let block = self - .block_at_id(block_id) - .await - .ok() - .flatten() - .expect("Block should be present since the hash is in the map"); - for transaction in block.body.transactions { - if transaction.hash() == hash { - return Some((transaction, block_id)); - } - } - panic!( - "Transaction hash was in the map but transaction was not found in the block. This should never happen." - ); - } - /// The id of the chain's last block, or `None` on a store holding no chain. pub async fn last_block_id(&self) -> Result> { self.storage_ref @@ -331,20 +278,11 @@ pub(crate) fn checkpoint_bytes(checkpoint: &SequencerCheckpoint) -> Result HashMap { - block - .body - .transactions - .iter() - .map(|transaction| (transaction.hash(), block.header.block_id)) - .collect() -} - #[cfg(test)] mod tests { use std::path::Path; - use common::{block::HashableBlockData, test_utils::sequencer_sign_key_for_testing}; + use common::{HashType, block::HashableBlockData, test_utils::sequencer_sign_key_for_testing}; use kameo::actor::Spawn as _; use sequencer_storage_actor::StorageActor; use tempfile::tempdir; @@ -381,37 +319,6 @@ mod tests { SequencerStore::new(storage_ref, signing_key).await.unwrap() } - async fn open_store(path: &Path, signing_key: lee::PrivateKey) -> SequencerStore { - let storage_ref = StorageActor::spawn(StorageActor::new(path).unwrap()); - SequencerStore::new(storage_ref, signing_key).await.unwrap() - } - - #[tokio::test] - async fn get_transaction_by_hash() { - let temp_dir = tempdir().unwrap(); - let signing_key = sequencer_sign_key_for_testing(); - let mut store = create_store( - temp_dir.path(), - &genesis_block(&signing_key), - signing_key.clone(), - ) - .await; - - let tx = common::test_utils::produce_dummy_empty_transaction(); - let block = common::test_utils::produce_dummy_block(1, None, vec![tx.clone()]); - - // Try retrieve a tx that's not in the chain yet. - assert_eq!(store.get_transaction_by_hash(tx.hash()).await, None); - // Add the block with the transaction - store - .record_new_block(block.clone(), vec![], Arc::new(V03State::new()), None) - .await - .unwrap(); - // Try again - let output = store.get_transaction_by_hash(tx.hash()).await; - assert_eq!(Some((tx, 1)), output); - } - #[tokio::test] async fn latest_block_meta_returns_genesis_meta_initially() { let temp_dir = tempdir().unwrap(); @@ -490,30 +397,4 @@ mod tests { common::block::BedrockStatus::Finalized )); } - - #[tokio::test] - async fn open_existing_db_caches_transactions() { - let temp_dir = tempdir().unwrap(); - let path = temp_dir.path(); - let signing_key = sequencer_sign_key_for_testing(); - let tx = common::test_utils::produce_dummy_empty_transaction(); - - let storage_weak = { - let mut store = - create_store(path, &genesis_block(&signing_key), signing_key.clone()).await; - let block = common::test_utils::produce_dummy_block(1, None, vec![tx.clone()]); - store - .record_new_block(block.clone(), vec![], Arc::new(V03State::new()), None) - .await - .unwrap(); - store.storage_ref().downgrade() - }; - storage_weak.wait_for_shutdown_with_result(|_| ()).await; - - // Re-open the store and verify that the transaction is still retrievable (which means it - // was cached correctly) - let store = open_store(path, signing_key).await; - let output = store.get_transaction_by_hash(tx.hash()).await; - assert_eq!(Some((tx, 1)), output); - } } diff --git a/lez/storage/src/sequencer/mod.rs b/lez/storage/src/sequencer/mod.rs index 7746fd938..58c338c42 100644 --- a/lez/storage/src/sequencer/mod.rs +++ b/lez/storage/src/sequencer/mod.rs @@ -1499,7 +1499,7 @@ impl RocksDBIO { Ok(outcome) } - pub fn get_all_blocks(&self) -> impl Iterator> { + pub fn get_all_blocks(&self) -> impl Iterator> + '_ { let cf_block = self.block_column(); self.db .iterator_cf(&cf_block, rocksdb::IteratorMode::Start)

gpYv_n51;p>p{{9ssSnhm3J@W8K*CazZu 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