pub struct SqliteStore { /* private fields */ }Expand description
SQLite-backed Store implementation.
Current table definitions are the result of applying every migration under migrations/ in
order.
Implementations§
Source§impl SqliteStore
impl SqliteStore
pub fn get_foreign_account_code( conn: &mut Connection, account_ids: Vec<AccountId>, ) -> Result<BTreeMap<AccountId, AccountCode>, StoreError>
Sourcepub fn get_account_vault(
conn: &Connection,
account_id: AccountId,
) -> Result<AssetVault, StoreError>
pub fn get_account_vault( conn: &Connection, account_id: AccountId, ) -> Result<AssetVault, StoreError>
Retrieves the full asset vault for a specific account.
Sourcepub fn get_account_storage(
conn: &Connection,
account_id: AccountId,
filter: &AccountStorageFilter,
) -> Result<AccountStorage, StoreError>
pub fn get_account_storage( conn: &Connection, account_id: AccountId, filter: &AccountStorageFilter, ) -> Result<AccountStorage, StoreError>
Retrieves the full storage for a specific account.
pub fn upsert_foreign_account_code( conn: &mut Connection, account_id: AccountId, code: &AccountCode, ) -> Result<(), StoreError>
Sourcepub fn prune_account_history(
conn: &mut Connection,
account_id: AccountId,
up_to_nonce: Felt,
) -> Result<usize, StoreError>
pub fn prune_account_history( conn: &mut Connection, account_id: AccountId, up_to_nonce: Felt, ) -> Result<usize, StoreError>
Prunes historical account states for a single account up to the given nonce.
Deletes all historical entries with replaced_at_nonce <= up_to_nonce
(see DESIGN.md for why this threshold is safe), then removes any account
code that was only referenced by the deleted headers.
Source§impl SqliteStore
impl SqliteStore
Sourcepub fn prune_irrelevant_blocks(
conn: &mut Connection,
blocks_to_untrack: &[BlockNumber],
node_indices_to_remove: &[InOrderIndex],
) -> Result<(), StoreError>
pub fn prune_irrelevant_blocks( conn: &mut Connection, blocks_to_untrack: &[BlockNumber], node_indices_to_remove: &[InOrderIndex], ) -> Result<(), StoreError>
Prunes irrelevant block data from the store.
This performs three operations in a single transaction:
- Deletes MMR authentication nodes at the given
node_indices. - Sets
has_client_notes = falseforblocks_to_untrack. - Deletes block headers with
has_client_notes = falsethat are not the genesis or sync-height block.
Source§impl SqliteStore
impl SqliteStore
Sourcepub fn get_transactions(
conn: &mut Connection,
filter: &TransactionFilter,
) -> Result<Vec<TransactionRecord>, StoreError>
pub fn get_transactions( conn: &mut Connection, filter: &TransactionFilter, ) -> Result<Vec<TransactionRecord>, StoreError>
Retrieves tracked transactions, filtered by TransactionFilter.
Sourcepub fn apply_transaction(
conn: &mut Connection,
tx_update: &TransactionStoreUpdate,
) -> Result<(), StoreError>
pub fn apply_transaction( conn: &mut Connection, tx_update: &TransactionStoreUpdate, ) -> Result<(), StoreError>
Inserts a transaction and updates the current state based on the tx_result changes.
SQL writes and forest mutations go through the same rusqlite transaction, so they commit or roll back atomically.
Sourcepub fn apply_transaction_batch(
conn: &mut Connection,
tx_updates: &[TransactionStoreUpdate],
) -> Result<(), StoreError>
pub fn apply_transaction_batch( conn: &mut Connection, tx_updates: &[TransactionStoreUpdate], ) -> Result<(), StoreError>
Applies a batch of TransactionStoreUpdates atomically. Either every update in the
slice is persisted or none are. Executes in order inside a single
rusqlite::Transaction.
Source§impl SqliteStore
impl SqliteStore
Sourcepub async fn new(database_filepath: PathBuf) -> Result<Self, StoreError>
pub async fn new(database_filepath: PathBuf) -> Result<Self, StoreError>
Returns a new instance of Store instantiated with the specified configuration options.
Sourcepub fn database_filepath(&self) -> &Path
pub fn database_filepath(&self) -> &Path
Returns the path of the database file backing this store.
Trait Implementations§
Source§impl Store for SqliteStore
impl Store for SqliteStore
Source§fn identifier(&self) -> &str
fn identifier(&self) -> &str
Source§fn get_current_timestamp(&self) -> Option<u64>
fn get_current_timestamp(&self) -> Option<u64>
None. Read moreSource§fn add_note_tag<'life0, 'async_trait>(
&'life0 self,
tag: NoteTagRecord,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_note_tag<'life0, 'async_trait>(
&'life0 self,
tag: NoteTagRecord,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn remove_note_tag<'life0, 'async_trait>(
&'life0 self,
tag: NoteTagRecord,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_note_tag<'life0, 'async_trait>(
&'life0 self,
tag: NoteTagRecord,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_sync_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BlockNumber, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_sync_height<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BlockNumber, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn apply_state_sync<'life0, 'async_trait>(
&'life0 self,
state_sync_update: StateSyncUpdate,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_state_sync<'life0, 'async_trait>(
&'life0 self,
state_sync_update: StateSyncUpdate,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_transactions<'life0, 'async_trait>(
&'life0 self,
transaction_filter: TransactionFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_transactions<'life0, 'async_trait>(
&'life0 self,
transaction_filter: TransactionFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<TransactionRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
TransactionFilter.Source§fn apply_transaction<'life0, 'async_trait>(
&'life0 self,
tx_update: TransactionStoreUpdate,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_transaction<'life0, 'async_trait>(
&'life0 self,
tx_update: TransactionStoreUpdate,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
TransactionStoreUpdate. Read moreSource§fn apply_transaction_batch<'life0, 'async_trait>(
&'life0 self,
tx_updates: Vec<TransactionStoreUpdate>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_transaction_batch<'life0, 'async_trait>(
&'life0 self,
tx_updates: Vec<TransactionStoreUpdate>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
TransactionStoreUpdates atomically. Semantically equivalent to
calling Store::apply_transaction for each update in order, but with an all-or-nothing
guarantee — on any error no update is visible. Read moreSource§fn get_input_notes<'life0, 'async_trait>(
&'life0 self,
filter: NoteFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<InputNoteRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_input_notes<'life0, 'async_trait>(
&'life0 self,
filter: NoteFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<InputNoteRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_output_notes<'life0, 'async_trait>(
&'life0 self,
note_filter: NoteFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<OutputNoteRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_output_notes<'life0, 'async_trait>(
&'life0 self,
note_filter: NoteFilter,
) -> Pin<Box<dyn Future<Output = Result<Vec<OutputNoteRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_input_note_after<'life0, 'async_trait>(
&'life0 self,
filter: NoteFilter,
consumer: AccountId,
block_start: Option<BlockNumber>,
block_end: Option<BlockNumber>,
cursor: Option<InputNoteCursor>,
) -> Pin<Box<dyn Future<Output = Result<Option<InputNoteRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_input_note_after<'life0, 'async_trait>(
&'life0 self,
filter: NoteFilter,
consumer: AccountId,
block_start: Option<BlockNumber>,
block_end: Option<BlockNumber>,
cursor: Option<InputNoteCursor>,
) -> Pin<Box<dyn Future<Output = Result<Option<InputNoteRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
cursor in the filtered set for the given consumer
account, or the first matching note when cursor is None. Optionally restricts to a
block range via block_start and block_end. Returns None when no matching note
follows the cursor. Read moreSource§fn upsert_input_notes<'life0, 'life1, 'async_trait>(
&'life0 self,
notes: &'life1 [InputNoteRecord],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn upsert_input_notes<'life0, 'life1, 'async_trait>(
&'life0 self,
notes: &'life1 [InputNoteRecord],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_note_script<'life0, 'async_trait>(
&'life0 self,
script_root: Word,
) -> Pin<Box<dyn Future<Output = Result<NoteScript, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_note_script<'life0, 'async_trait>(
&'life0 self,
script_root: Word,
) -> Pin<Box<dyn Future<Output = Result<NoteScript, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn upsert_note_scripts<'life0, 'life1, 'async_trait>(
&'life0 self,
note_scripts: &'life1 [NoteScript],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn upsert_note_scripts<'life0, 'life1, 'async_trait>(
&'life0 self,
note_scripts: &'life1 [NoteScript],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn insert_block_header<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
block_header: &'life1 BlockHeader,
nodes: &'life2 [(InOrderIndex, Word)],
has_client_notes: bool,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn insert_block_header<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
block_header: &'life1 BlockHeader,
nodes: &'life2 [(InOrderIndex, Word)],
has_client_notes: bool,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
PartialMmr are committed
together. Read moreSource§fn untrack_and_prune_irrelevant_blocks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
blocks_to_untrack: &'life1 [BlockNumber],
node_indices_to_remove: &'life2 [InOrderIndex],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn untrack_and_prune_irrelevant_blocks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
blocks_to_untrack: &'life1 [BlockNumber],
node_indices_to_remove: &'life2 [InOrderIndex],
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn prune_account_history<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
up_to_nonce: Felt,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn prune_account_history<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
up_to_nonce: Felt,
) -> Pin<Box<dyn Future<Output = Result<usize, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_block_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
block_numbers: &'life1 BTreeSet<BlockNumber>,
) -> Pin<Box<dyn Future<Output = Result<Vec<(BlockHeader, BlockRelevance)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_block_headers<'life0, 'life1, 'async_trait>(
&'life0 self,
block_numbers: &'life1 BTreeSet<BlockNumber>,
) -> Pin<Box<dyn Future<Output = Result<Vec<(BlockHeader, BlockRelevance)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
BlockHeaders filtered by the provided block numbers. Read moreSource§fn get_tracked_block_headers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockHeader>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_tracked_block_headers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockHeader>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
BlockHeader that include relevant notes to the client.Source§fn get_tracked_block_header_numbers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BTreeSet<usize>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_tracked_block_header_numbers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BTreeSet<usize>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_partial_blockchain_nodes<'life0, 'async_trait>(
&'life0 self,
filter: PartialBlockchainFilter,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<InOrderIndex, Word>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_partial_blockchain_nodes<'life0, 'async_trait>(
&'life0 self,
filter: PartialBlockchainFilter,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<InOrderIndex, Word>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
PartialBlockchainFilter.Source§fn get_current_blockchain_peaks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<MmrPeaks, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_current_blockchain_peaks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<MmrPeaks, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
forest = block_num,
i.e. excluding block_num itself as a leaf). Read moreSource§fn insert_account<'life0, 'life1, 'async_trait>(
&'life0 self,
account: &'life1 Account,
initial_address: Address,
client_account_type: ClientAccountType,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn insert_account<'life0, 'life1, 'async_trait>(
&'life0 self,
account: &'life1 Account,
initial_address: Address,
client_account_type: ClientAccountType,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn update_account<'life0, 'life1, 'async_trait>(
&'life0 self,
account: &'life1 Account,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_account<'life0, 'life1, 'async_trait>(
&'life0 self,
account: &'life1 Account,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_account_ids<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<AccountId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_ids<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<AccountId>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_account_headers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<(AccountHeader, AccountStatus)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_headers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<(AccountHeader, AccountStatus)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AccountHeader of all accounts stored in the database along with their
statuses. Read moreSource§fn get_account_header<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<(AccountHeader, AccountStatus)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_header<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<(AccountHeader, AccountStatus)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AccountHeader object for the specified AccountId along with its status.
Returns None if the account is not found. Read moreSource§fn get_account_header_by_commitment<'life0, 'async_trait>(
&'life0 self,
account_commitment: Word,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountHeader>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_header_by_commitment<'life0, 'async_trait>(
&'life0 self,
account_commitment: Word,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountHeader>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AccountHeader corresponding to the stored account state that matches the
given commitment. If no account state matches the provided commitment, None is returned.Source§fn get_account<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AccountRecord object, this contains the account’s latest state along
with its status. Returns None if the account is not found.Source§fn get_account_code<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountCode>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_code<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountCode>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AccountCode for the specified account.
Returns None if the account is not found.Source§fn upsert_foreign_account_code<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
code: AccountCode,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn upsert_foreign_account_code<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
code: AccountCode,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
GetForeignAccountCode request.Source§fn get_foreign_account_code<'life0, 'async_trait>(
&'life0 self,
account_ids: Vec<AccountId>,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<AccountId, AccountCode>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_foreign_account_code<'life0, 'async_trait>(
&'life0 self,
account_ids: Vec<AccountId>,
) -> Pin<Box<dyn Future<Output = Result<BTreeMap<AccountId, AccountCode>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn set_setting<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
key: String,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_setting<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
key: String,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
scope in the settings table.Source§fn get_setting<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_setting<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
scope in the settings table.Source§fn remove_setting<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
key: String,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_setting<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
key: String,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
scope in the settings table. Returns true if the key was present.Source§fn list_setting_keys<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_setting_keys<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
scope in the settings table.Source§fn apply_settings_mutations<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
mutations: Vec<SettingMutation>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_settings_mutations<'life0, 'async_trait>(
&'life0 self,
scope: SettingScope,
mutations: Vec<SettingMutation>,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
SettingMutations against scope. Use this when several settings
entries must stay mutually consistent (e.g. a record and its secondary index).Source§fn get_unspent_input_note_nullifiers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Nullifier>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_unspent_input_note_nullifiers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Nullifier>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_account_vault<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<AssetVault, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_vault<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<AssetVault, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_account_assets<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Asset>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_assets<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Asset>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_vault_asset_witnesses<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
vault_root: Word,
asset_ids: BTreeSet<AssetId>,
) -> Pin<Box<dyn Future<Output = Result<Vec<AssetWitness>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_vault_asset_witnesses<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
vault_root: Word,
asset_ids: BTreeSet<AssetId>,
) -> Pin<Box<dyn Future<Output = Result<Vec<AssetWitness>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
asset_ids against the account’s vault with root
vault_root. An asset absent from the vault yields an emptiness proof rather than an
error, which the executor needs when an asset is being added to the vault. Read moreSource§fn get_account_asset<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
asset_id: AssetId,
) -> Pin<Box<dyn Future<Output = Result<Option<(Asset, AssetWitness)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_asset<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
asset_id: AssetId,
) -> Pin<Box<dyn Future<Output = Result<Option<(Asset, AssetWitness)>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_account_map_item<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
slot_name: StorageSlotName,
key: StorageMapKey,
) -> Pin<Box<dyn Future<Output = Result<(Word, StorageMapWitness), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_map_item<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
slot_name: StorageSlotName,
key: StorageMapKey,
) -> Pin<Box<dyn Future<Output = Result<(Word, StorageMapWitness), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_account_storage<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
filter: AccountStorageFilter,
) -> Pin<Box<dyn Future<Output = Result<AccountStorage, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_account_storage<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
filter: AccountStorageFilter,
) -> Pin<Box<dyn Future<Output = Result<AccountStorage, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_addresses_by_account_id<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Address>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_addresses_by_account_id<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Vec<Address>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Address objects that correspond to the provided account ID.Source§fn insert_address<'life0, 'async_trait>(
&'life0 self,
address: Address,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn insert_address<'life0, 'async_trait>(
&'life0 self,
address: Address,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn remove_address<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_address<'life0, 'async_trait>(
&'life0 self,
address: Address,
) -> Pin<Box<dyn Future<Output = Result<bool, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn get_minimal_partial_account<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_minimal_partial_account<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
) -> Pin<Box<dyn Future<Output = Result<Option<AccountRecord>, StoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AccountRecord object, this contains the account’s latest partial
state along with its status. Returns None if the partial account is not found.Source§fn get_block_header_by_num<'life0, 'async_trait>(
&'life0 self,
block_number: BlockNumber,
) -> Pin<Box<dyn Future<Output = Result<Option<(BlockHeader, BlockRelevance)>, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_block_header_by_num<'life0, 'async_trait>(
&'life0 self,
block_number: BlockNumber,
) -> Pin<Box<dyn Future<Output = Result<Option<(BlockHeader, BlockRelevance)>, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
BlockHeader corresponding to the provided block number and a boolean value
that represents whether the block contains notes relevant to the client. Returns None if
the block is not found. Read moreSource§fn get_note_transport_cursor<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<NoteTransportCursor, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_note_transport_cursor<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<NoteTransportCursor, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Source§fn update_note_transport_cursor<'life0, 'async_trait>(
&'life0 self,
cursor: NoteTransportCursor,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn update_note_transport_cursor<'life0, 'async_trait>(
&'life0 self,
cursor: NoteTransportCursor,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Source§fn get_rpc_limits<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<RpcLimits>, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_rpc_limits<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<RpcLimits>, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
None if not stored.Source§fn set_rpc_limits<'life0, 'async_trait>(
&'life0 self,
limits: RpcLimits,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn set_rpc_limits<'life0, 'async_trait>(
&'life0 self,
limits: RpcLimits,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Source§fn get_transaction_encryption_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<TransactionEncryptionKey>, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_transaction_encryption_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<TransactionEncryptionKey>, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
None if not stored. Read moreSource§fn set_transaction_encryption_key<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 TransactionEncryptionKey,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn set_transaction_encryption_key<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 TransactionEncryptionKey,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Source§fn remove_transaction_encryption_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn remove_transaction_encryption_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Source§fn get_current_partial_mmr<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PartialMmr, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_current_partial_mmr<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<PartialMmr, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
PartialMmr. Because we want to add all new
authentication nodes that could come from applying the MMR updates, we need to track all
known leaves thus far. Read moreSource§fn get_account_storage_item<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
slot_name: StorageSlotName,
) -> Pin<Box<dyn Future<Output = Result<Word, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_account_storage_item<'life0, 'async_trait>(
&'life0 self,
account_id: AccountId,
slot_name: StorageSlotName,
) -> Pin<Box<dyn Future<Output = Result<Word, StoreError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Auto Trait Implementations§
impl !RefUnwindSafe for SqliteStore
impl !UnwindSafe for SqliteStore
impl Freeze for SqliteStore
impl Send for SqliteStore
impl Sync for SqliteStore
impl Unpin for SqliteStore
impl UnsafeUnpin for SqliteStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more