Skip to main content

Database

Trait Database 

Source
pub trait Database<Err>: Debug
where Err: Into<Error> + From<Error>,
{
Show 46 methods // Required methods fn get_mint<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<Option<MintInfo>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_mints<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<HashMap<MintUrl, Option<MintInfo>>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_mint_keysets<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<KeySetInfo>>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_keyset_by_id<'life0, 'life1, 'async_trait>( &'life0 self, keyset_id: &'life1 Id, ) -> Pin<Box<dyn Future<Output = Result<Option<KeySetInfo>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_mint_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<WalletMintQuote>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_mint_quotes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<WalletMintQuote>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_unissued_mint_quotes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<WalletMintQuote>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_melt_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<MeltQuote>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_melt_quotes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<MeltQuote>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_keys<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Id, ) -> Pin<Box<dyn Future<Output = Result<Option<Keys>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_proofs<'life0, 'async_trait>( &'life0 self, mint_url: Option<MintUrl>, unit: Option<CurrencyUnit>, state: Option<Vec<State>>, spending_conditions: Option<Vec<SpendingConditions>>, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_proofs_by_ys<'life0, 'async_trait>( &'life0 self, ys: Vec<PublicKey>, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_balance<'life0, 'async_trait>( &'life0 self, mint_url: Option<MintUrl>, unit: Option<CurrencyUnit>, state: Option<Vec<State>>, ) -> Pin<Box<dyn Future<Output = Result<u64, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_transaction<'life0, 'async_trait>( &'life0 self, transaction_id: TransactionId, ) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn list_transactions<'life0, 'async_trait>( &'life0 self, mint_url: Option<MintUrl>, direction: Option<TransactionDirection>, unit: Option<CurrencyUnit>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Transaction>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_proofs<'life0, 'async_trait>( &'life0 self, added: Vec<ProofInfo>, removed_ys: Vec<PublicKey>, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_proofs_state<'life0, 'async_trait>( &'life0 self, ys: Vec<PublicKey>, state: State, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn add_transaction<'life0, 'async_trait>( &'life0 self, transaction: Transaction, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_mint_url<'life0, 'async_trait>( &'life0 self, old_mint_url: MintUrl, new_mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn increment_keyset_counter<'life0, 'life1, 'async_trait>( &'life0 self, keyset_id: &'life1 Id, count: u32, ) -> Pin<Box<dyn Future<Output = Result<u32, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn add_mint<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, mint_info: Option<MintInfo>, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn remove_mint<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn add_mint_keysets<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, keysets: Vec<KeySetInfo>, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn add_mint_quote<'life0, 'async_trait>( &'life0 self, quote: WalletMintQuote, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn remove_mint_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn add_melt_quote<'life0, 'async_trait>( &'life0 self, quote: MeltQuote, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn remove_melt_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn add_keys<'life0, 'async_trait>( &'life0 self, keyset: KeySet, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn remove_keys<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Id, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn remove_transaction<'life0, 'async_trait>( &'life0 self, transaction_id: TransactionId, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn add_saga<'life0, 'async_trait>( &'life0 self, saga: WalletSaga, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_saga<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<Option<WalletSaga>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_saga<'life0, 'async_trait>( &'life0 self, saga: WalletSaga, ) -> Pin<Box<dyn Future<Output = Result<bool, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete_saga<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_incomplete_sagas<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<WalletSaga>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn reserve_proofs<'life0, 'life1, 'async_trait>( &'life0 self, ys: Vec<PublicKey>, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn release_proofs<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_reserved_proofs<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn reserve_melt_quote<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, quote_id: &'life1 str, operation_id: &'life2 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn release_melt_quote<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn reserve_mint_quote<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, quote_id: &'life1 str, operation_id: &'life2 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn release_mint_quote<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn kv_read<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, key: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait; fn kv_list<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn kv_write<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, key: &'life3 str, value: &'life4 [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait; fn kv_remove<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, key: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait;
}
Expand description

Wallet Database trait

Required Methodsยง

Source

fn get_mint<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<Option<MintInfo>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get mint from storage

Source

fn get_mints<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<HashMap<MintUrl, Option<MintInfo>>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get all mints from storage

Source

fn get_mint_keysets<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<KeySetInfo>>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get mint keysets for mint url

Source

fn get_keyset_by_id<'life0, 'life1, 'async_trait>( &'life0 self, keyset_id: &'life1 Id, ) -> Pin<Box<dyn Future<Output = Result<Option<KeySetInfo>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get mint keyset by id

Source

fn get_mint_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<WalletMintQuote>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get mint quote from storage

Source

fn get_mint_quotes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<WalletMintQuote>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get mint quotes from storage

Source

fn get_unissued_mint_quotes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<WalletMintQuote>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get unissued mint quotes from storage Returns bolt11 quotes where nothing has been issued yet (amount_issued = 0) and all bolt12 quotes. Includes unpaid bolt11 quotes to allow checking with the mint if theyโ€™ve been paid (wallet state may be outdated).

Source

fn get_melt_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<MeltQuote>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get melt quote from storage

Source

fn get_melt_quotes<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<MeltQuote>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get melt quotes from storage

Source

fn get_keys<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Id, ) -> Pin<Box<dyn Future<Output = Result<Option<Keys>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get Keys from storage

Source

fn get_proofs<'life0, 'async_trait>( &'life0 self, mint_url: Option<MintUrl>, unit: Option<CurrencyUnit>, state: Option<Vec<State>>, spending_conditions: Option<Vec<SpendingConditions>>, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get proofs from storage

Source

fn get_proofs_by_ys<'life0, 'async_trait>( &'life0 self, ys: Vec<PublicKey>, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get proofs by Y values

Source

fn get_balance<'life0, 'async_trait>( &'life0 self, mint_url: Option<MintUrl>, unit: Option<CurrencyUnit>, state: Option<Vec<State>>, ) -> Pin<Box<dyn Future<Output = Result<u64, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get balance

Source

fn get_transaction<'life0, 'async_trait>( &'life0 self, transaction_id: TransactionId, ) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get transaction from storage

Source

fn list_transactions<'life0, 'async_trait>( &'life0 self, mint_url: Option<MintUrl>, direction: Option<TransactionDirection>, unit: Option<CurrencyUnit>, ) -> Pin<Box<dyn Future<Output = Result<Vec<Transaction>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

List transactions from storage

Source

fn update_proofs<'life0, 'async_trait>( &'life0 self, added: Vec<ProofInfo>, removed_ys: Vec<PublicKey>, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Update the proofs in storage by adding new proofs or removing proofs by their Y value

Source

fn update_proofs_state<'life0, 'async_trait>( &'life0 self, ys: Vec<PublicKey>, state: State, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Update proofs state in storage

Source

fn add_transaction<'life0, 'async_trait>( &'life0 self, transaction: Transaction, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add transaction to storage

Source

fn update_mint_url<'life0, 'async_trait>( &'life0 self, old_mint_url: MintUrl, new_mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Update mint url

Source

fn increment_keyset_counter<'life0, 'life1, 'async_trait>( &'life0 self, keyset_id: &'life1 Id, count: u32, ) -> Pin<Box<dyn Future<Output = Result<u32, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Atomically increment Keyset counter and return new value

Source

fn add_mint<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, mint_info: Option<MintInfo>, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add Mint to storage

Source

fn remove_mint<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Remove Mint from storage

Source

fn add_mint_keysets<'life0, 'async_trait>( &'life0 self, mint_url: MintUrl, keysets: Vec<KeySetInfo>, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add mint keyset to storage

Source

fn add_mint_quote<'life0, 'async_trait>( &'life0 self, quote: WalletMintQuote, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add mint quote to storage

Source

fn remove_mint_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Remove mint quote from storage

Source

fn add_melt_quote<'life0, 'async_trait>( &'life0 self, quote: MeltQuote, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add melt quote to storage

Source

fn remove_melt_quote<'life0, 'life1, 'async_trait>( &'life0 self, quote_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Remove melt quote from storage

Source

fn add_keys<'life0, 'async_trait>( &'life0 self, keyset: KeySet, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add Keys to storage

Source

fn remove_keys<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Id, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Remove Keys from storage

Source

fn remove_transaction<'life0, 'async_trait>( &'life0 self, transaction_id: TransactionId, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Remove transaction from storage

Source

fn add_saga<'life0, 'async_trait>( &'life0 self, saga: WalletSaga, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Add a wallet saga to storage.

The saga should be created with WalletSaga::new() which initializes version = 0. This is the starting point for optimistic locking.

Source

fn get_saga<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<Option<WalletSaga>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get a wallet saga by ID.

Source

fn update_saga<'life0, 'async_trait>( &'life0 self, saga: WalletSaga, ) -> Pin<Box<dyn Future<Output = Result<bool, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Update a wallet saga with optimistic locking.

Returns Ok(true) if the update succeeded (version match), or Ok(false) if another instance modified the saga first (version mismatch).

Source

fn delete_saga<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Delete a wallet saga.

Source

fn get_incomplete_sagas<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Vec<WalletSaga>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get all incomplete sagas.

Source

fn reserve_proofs<'life0, 'life1, 'async_trait>( &'life0 self, ys: Vec<PublicKey>, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Reserve proofs for an operation

Source

fn release_proofs<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Release proofs reserved by an operation

Source

fn get_reserved_proofs<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get proofs reserved by an operation

Source

fn reserve_melt_quote<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, quote_id: &'life1 str, operation_id: &'life2 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Reserve a melt quote for an operation.

Source

fn release_melt_quote<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Release a melt quote reserved by an operation.

Source

fn reserve_mint_quote<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, quote_id: &'life1 str, operation_id: &'life2 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Reserve a mint quote for an operation.

Source

fn release_mint_quote<'life0, 'life1, 'async_trait>( &'life0 self, operation_id: &'life1 Uuid, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Release a mint quote reserved by an operation.

Source

fn kv_read<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, key: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Read a value from the key-value store

Source

fn kv_list<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Vec<String>, Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

List keys in a namespace

Source

fn kv_write<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, key: &'life3 str, value: &'life4 [u8], ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait, 'life4: 'async_trait,

Write a value to the key-value store

Source

fn kv_remove<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, primary_namespace: &'life1 str, secondary_namespace: &'life2 str, key: &'life3 str, ) -> Pin<Box<dyn Future<Output = Result<(), Err>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Remove a value from the key-value store

Implementorsยง