1extern crate miden_node_tracing as tracing;
3
4mod account_state_forest;
5mod accounts;
6pub mod allowlist;
7mod blocks;
8mod data_directory;
9mod db;
10mod errors;
11pub mod genesis;
12mod proven_tip;
13pub mod state;
14
15#[cfg(feature = "rocksdb")]
16pub use accounts::PersistentAccountTree;
17pub use accounts::{AccountTreeWithHistory, HistoricalError, InMemoryAccountTree};
18pub use blocks::BlockStore;
19pub use data_directory::DataDirectory;
20pub use db::queries::StorageMapValuesPage;
21pub use db::{
22 AccountVaultValue,
23 DatabaseOptions,
24 Db,
25 NoteRecord,
26 NoteSyncRecord,
27 NoteSyncUpdate,
28 NullifierInfo,
29 TransactionRecord,
30};
31pub use errors::{
32 AccountStateForestUpdateError,
33 ApplyBlockError,
34 ApplyBlockWithProvingInputsError,
35 DatabaseError,
36 GetAccountError,
37 GetBlockHeaderError,
38 GetBlockInclusionProofsError,
39 GetNoteInclusionProofsError,
40 NoteSyncError,
41 RangeBeyondTip,
42 StateSyncError,
43};
44pub use genesis::GenesisState;
45pub use state::{
46 BlockWriter,
47 LoadedState,
48 ProofWriter,
49 ScopedBlockNum,
50 ScopedBlockRange,
51 State,
52 StateView,
53 StateWitnesses,
54 WriterTask,
55};
56
57pub fn version() -> &'static str {
59 env!("CARGO_PKG_VERSION")
60}
61
62pub fn default_sqlite_connection_pool_size() -> std::num::NonZeroUsize {
64 DatabaseOptions::default().connection_pool_size
65}
66
67#[doc(hidden)]
74pub mod test_support {
75 use std::path::Path;
76
77 use miden_protocol::Word;
78 use miden_protocol::account::AccountId;
79 use miden_protocol::block::BlockNumber;
80
81 use crate::db::queries::{AccountRow, NetworkAccountType};
82 use crate::errors::DatabaseError;
83
84 pub async fn seed_network_account(db_path: &Path, account_id: AccountId) {
92 let (writer, _reader) =
93 miden_node_db::sqlite::open(db_path).expect("connect to store sqlite");
94
95 writer
96 .write::<_, DatabaseError, _>("seed network account", move |tx| {
97 AccountRow::new_private(
98 account_id,
99 NetworkAccountType::Network,
100 Word::default(),
101 BlockNumber::from(0),
102 BlockNumber::from(0),
103 )
104 .upsert(tx)
105 })
106 .await
107 .expect("insert network account row");
108 }
109}
110
111const COMPONENT: &str = "miden-store";
114const LOG_TARGET: &str = "user::miden-store";