use miden_node_db::DatabaseError;
use miden_node_db::sqlite::{DbValue, DbValueRef, FromSqlValue, ToSqlValue};
pub(crate) const VALID_FOREVER: i64 = i64::MAX;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[repr(i64)]
pub(crate) enum NetworkAccountType {
None = 0,
Network = 1,
}
impl ToSqlValue for NetworkAccountType {
fn to_sql_value(&self) -> DbValue {
DbValue::integer(*self as i64)
}
}
impl FromSqlValue for NetworkAccountType {
fn from_sql_value(value: DbValueRef<'_>) -> Result<Self, DatabaseError> {
match value.as_i64()? {
0 => Ok(Self::None),
1 => Ok(Self::Network),
other => Err(DatabaseError::deserialization(
"NetworkAccountType",
InvalidNetworkAccountType(other),
)),
}
}
}
#[derive(Debug, thiserror::Error)]
#[error("invalid network account type value {0}")]
struct InvalidNetworkAccountType(i64);
mod insert_block_header;
pub(crate) use insert_block_header::insert_block_header;
mod insert_protocol_config;
pub(crate) use insert_protocol_config::insert_protocol_config;
mod insert_note_scripts;
pub(crate) use insert_note_scripts::insert_note_scripts;
mod insert_notes;
pub(crate) use insert_notes::insert_notes;
mod insert_nullifiers_for_block;
pub(crate) use insert_nullifiers_for_block::insert_nullifiers_for_block;
mod insert_transactions;
pub(crate) use insert_transactions::insert_transactions;
mod insert_storage_map_value;
pub(crate) use insert_storage_map_value::insert_storage_map_value;
mod insert_vault_asset;
pub(crate) use insert_vault_asset::insert_vault_asset;
mod prune_history;
pub use prune_history::HISTORICAL_BLOCK_RETENTION;
pub(crate) use prune_history::prune_history;
mod upsert_accounts;
pub(crate) use upsert_accounts::{AccountRow, upsert_accounts};
pub use upsert_accounts::{PrecomputedPublicAccountState, PrecomputedPublicAccountStates};
mod filter_network_accounts;
pub(crate) use filter_network_accounts::filter_network_accounts;
mod select_account_header_with_storage_header_at_block;
pub(crate) use select_account_header_with_storage_header_at_block::select_account_header_with_storage_header_at_block;
mod select_vault_at_block;
pub(crate) use select_vault_at_block::select_vault_at_block;
#[cfg(test)]
mod select_full_account;
#[cfg(test)]
pub(crate) use select_full_account::select_full_account;
#[cfg(test)]
mod select_latest_storage;
#[cfg(test)]
pub(crate) use select_latest_storage::select_latest_storage;
mod apply_block;
pub(crate) use apply_block::apply_block;