pub trait WalletDatabase: Send + Sync {
Show 46 methods
// Required methods
fn get_mint<'life0, 'async_trait>(
&'life0 self,
mint_url: MintUrl,
) -> Pin<Box<dyn Future<Output = Result<Option<MintInfo>, FfiError>> + 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>>, FfiError>> + 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>>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_keyset_by_id<'life0, 'async_trait>(
&'life0 self,
keyset_id: Id,
) -> Pin<Box<dyn Future<Output = Result<Option<KeySetInfo>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<MintQuote>, FfiError>> + 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<MintQuote>, FfiError>> + 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<MintQuote>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<MeltQuote>, FfiError>> + 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>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_keys<'life0, 'async_trait>(
&'life0 self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Keys>, FfiError>> + 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<ProofState>>,
spending_conditions: Option<Vec<SpendingConditions>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, FfiError>> + 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>, FfiError>> + 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<ProofState>>,
) -> Pin<Box<dyn Future<Output = Result<u64, FfiError>> + 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>, FfiError>> + 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>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn kv_read<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn kv_list<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn kv_write<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn kv_remove<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_proofs_state<'life0, 'async_trait>(
&'life0 self,
ys: Vec<PublicKey>,
state: ProofState,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn increment_keyset_counter<'life0, 'async_trait>(
&'life0 self,
keyset_id: Id,
count: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn add_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote: MintQuote,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn remove_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn remove_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn remove_keys<'life0, 'async_trait>(
&'life0 self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn add_saga<'life0, 'async_trait>(
&'life0 self,
saga_json: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_saga<'life0, 'async_trait>(
&'life0 self,
id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn update_saga<'life0, 'async_trait>(
&'life0 self,
saga_json: String,
) -> Pin<Box<dyn Future<Output = Result<bool, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_saga<'life0, 'async_trait>(
&'life0 self,
id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<String>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn reserve_proofs<'life0, 'async_trait>(
&'life0 self,
ys: Vec<PublicKey>,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn release_proofs<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_reserved_proofs<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn reserve_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn release_melt_quote<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn reserve_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn release_mint_quote<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
FFI-compatible wallet database trait with all read and write operations This trait mirrors the CDK WalletDatabase trait structure
Required Methods§
Sourcefn get_mint<'life0, 'async_trait>(
&'life0 self,
mint_url: MintUrl,
) -> Pin<Box<dyn Future<Output = Result<Option<MintInfo>, FfiError>> + 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>, FfiError>> + 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>>, FfiError>> + 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>>, FfiError>> + 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>>, FfiError>> + 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>>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get mint keysets for mint url
Sourcefn get_keyset_by_id<'life0, 'async_trait>(
&'life0 self,
keyset_id: Id,
) -> Pin<Box<dyn Future<Output = Result<Option<KeySetInfo>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_keyset_by_id<'life0, 'async_trait>(
&'life0 self,
keyset_id: Id,
) -> Pin<Box<dyn Future<Output = Result<Option<KeySetInfo>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get mint keyset by id
Sourcefn get_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<MintQuote>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<MintQuote>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get mint quote from storage
Sourcefn get_mint_quotes<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<MintQuote>, FfiError>> + 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<MintQuote>, FfiError>> + 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<MintQuote>, FfiError>> + 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<MintQuote>, FfiError>> + 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.
Sourcefn get_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<MeltQuote>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<MeltQuote>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get melt quote from storage
Sourcefn get_melt_quotes<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<MeltQuote>, FfiError>> + 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>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get melt quotes from storage
Sourcefn get_keys<'life0, 'async_trait>(
&'life0 self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Keys>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_keys<'life0, 'async_trait>(
&'life0 self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Keys>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get Keys from storage
Sourcefn get_proofs<'life0, 'async_trait>(
&'life0 self,
mint_url: Option<MintUrl>,
unit: Option<CurrencyUnit>,
state: Option<Vec<ProofState>>,
spending_conditions: Option<Vec<SpendingConditions>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, FfiError>> + 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<ProofState>>,
spending_conditions: Option<Vec<SpendingConditions>>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, FfiError>> + 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>, FfiError>> + 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>, FfiError>> + 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<ProofState>>,
) -> Pin<Box<dyn Future<Output = Result<u64, FfiError>> + 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<ProofState>>,
) -> Pin<Box<dyn Future<Output = Result<u64, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get balance efficiently using SQL aggregation
Sourcefn get_transaction<'life0, 'async_trait>(
&'life0 self,
transaction_id: TransactionId,
) -> Pin<Box<dyn Future<Output = Result<Option<Transaction>, FfiError>> + 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>, FfiError>> + 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>, FfiError>> + 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>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List transactions from storage
Sourcefn kv_read<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn kv_read<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Read a value from the KV store
Sourcefn kv_list<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn kv_list<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List keys in a namespace
Sourcefn kv_write<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn kv_write<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
value: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Write a value to the KV store
Sourcefn kv_remove<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn kv_remove<'life0, 'async_trait>(
&'life0 self,
primary_namespace: String,
secondary_namespace: String,
key: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Remove a value from the KV store
Sourcefn update_proofs<'life0, 'async_trait>(
&'life0 self,
added: Vec<ProofInfo>,
removed_ys: Vec<PublicKey>,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + 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: ProofState,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_proofs_state<'life0, 'async_trait>(
&'life0 self,
ys: Vec<PublicKey>,
state: ProofState,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add transaction to storage
Sourcefn remove_transaction<'life0, 'async_trait>(
&'life0 self,
transaction_id: TransactionId,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Remove transaction from storage
Sourcefn update_mint_url<'life0, 'async_trait>(
&'life0 self,
old_mint_url: MintUrl,
new_mint_url: MintUrl,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Update mint url
Sourcefn increment_keyset_counter<'life0, 'async_trait>(
&'life0 self,
keyset_id: Id,
count: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn increment_keyset_counter<'life0, 'async_trait>(
&'life0 self,
keyset_id: Id,
count: u32,
) -> Pin<Box<dyn Future<Output = Result<u32, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: '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<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + 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<(), FfiError>> + 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: MintQuote,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote: MintQuote,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add mint quote to storage
Sourcefn remove_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_mint_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Remove mint quote from storage
Sourcefn add_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote: MeltQuote,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add melt quote to storage
Sourcefn remove_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Remove melt quote from storage
Sourcefn add_keys<'life0, 'async_trait>(
&'life0 self,
keyset: KeySet,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + 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<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add Keys to storage
Sourcefn remove_keys<'life0, 'async_trait>(
&'life0 self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn remove_keys<'life0, 'async_trait>(
&'life0 self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Remove Keys from storage
Sourcefn add_saga<'life0, 'async_trait>(
&'life0 self,
saga_json: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_saga<'life0, 'async_trait>(
&'life0 self,
saga_json: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add a wallet saga to storage (JSON serialized)
Sourcefn get_saga<'life0, 'async_trait>(
&'life0 self,
id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_saga<'life0, 'async_trait>(
&'life0 self,
id: String,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a wallet saga by ID (returns JSON serialized)
Sourcefn update_saga<'life0, 'async_trait>(
&'life0 self,
saga_json: String,
) -> Pin<Box<dyn Future<Output = Result<bool, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update_saga<'life0, 'async_trait>(
&'life0 self,
saga_json: String,
) -> Pin<Box<dyn Future<Output = Result<bool, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Update a wallet saga (JSON serialized) with optimistic locking.
Returns true if the update succeeded (version matched),
false if another instance modified the saga first.
Sourcefn delete_saga<'life0, 'async_trait>(
&'life0 self,
id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_saga<'life0, 'async_trait>(
&'life0 self,
id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete a wallet saga
Sourcefn get_incomplete_sagas<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, FfiError>> + 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<String>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get all incomplete sagas (returns JSON serialized sagas)
Sourcefn reserve_proofs<'life0, 'async_trait>(
&'life0 self,
ys: Vec<PublicKey>,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reserve_proofs<'life0, 'async_trait>(
&'life0 self,
ys: Vec<PublicKey>,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reserve proofs for an operation
Sourcefn release_proofs<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn release_proofs<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Release proofs reserved by an operation
Sourcefn get_reserved_proofs<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_reserved_proofs<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<Vec<ProofInfo>, FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get proofs reserved by an operation
Sourcefn reserve_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn reserve_melt_quote<'life0, 'async_trait>(
&'life0 self,
quote_id: String,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Reserve a melt quote for an operation
Sourcefn release_melt_quote<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn release_melt_quote<'life0, 'async_trait>(
&'life0 self,
operation_id: String,
) -> Pin<Box<dyn Future<Output = Result<(), FfiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Release a melt quote reserved by an operation