pub struct WalletSqliteDatabase { /* private fields */ }Expand description
FFI-compatible WalletSqliteDatabase implementation that implements the WalletDatabase trait
Implementations§
Trait Implementations§
Source§impl<UT> LiftRef<UT> for WalletSqliteDatabase
impl<UT> LiftRef<UT> for WalletSqliteDatabase
type LiftType = Arc<WalletSqliteDatabase>
Source§impl<UT> LowerError<UT> for WalletSqliteDatabase
impl<UT> LowerError<UT> for WalletSqliteDatabase
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Lower this value for scaffolding function return Read more
Source§impl<UT> LowerReturn<UT> for WalletSqliteDatabase
impl<UT> LowerReturn<UT> for WalletSqliteDatabase
Source§type ReturnType = <Arc<WalletSqliteDatabase> as LowerReturn<UniFfiTag>>::ReturnType
type ReturnType = <Arc<WalletSqliteDatabase> as LowerReturn<UniFfiTag>>::ReturnType
The type that should be returned by scaffolding functions for this type. Read more
Source§fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>
Lower the return value from an scaffolding call Read more
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Lower the return value for failed argument lifts Read more
Source§impl<UT> TypeId<UT> for WalletSqliteDatabase
impl<UT> TypeId<UT> for WalletSqliteDatabase
Source§impl WalletDatabase for WalletSqliteDatabase
impl WalletDatabase for WalletSqliteDatabase
Source§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 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
Source§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 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
Source§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_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
Source§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_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
Source§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 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
Source§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_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
Source§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_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
Source§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_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
Source§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 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
Source§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_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
Source§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_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
Source§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 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
Source§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 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
Source§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_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
Source§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_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
Source§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 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
Source§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 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
Source§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_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
Source§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 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
Source§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<'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
Source§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<'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
Source§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_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
Source§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 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
Source§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 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,
Increment Keyset counter
Source§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 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
Source§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 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
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>, 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
Auto Trait Implementations§
impl Freeze for WalletSqliteDatabase
impl RefUnwindSafe for WalletSqliteDatabase
impl Send for WalletSqliteDatabase
impl Sync for WalletSqliteDatabase
impl Unpin for WalletSqliteDatabase
impl UnwindSafe for WalletSqliteDatabase
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
Mutably borrows from an owned value. Read more
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
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>
Converts
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>
Converts
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 more