pub trait Database<Err>: Debug{
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ยง
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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).
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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<'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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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<'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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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_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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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_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
Sourcefn 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 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
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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).
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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_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
Sourcefn 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,
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