pub struct SQLTransaction<RM>where
RM: DatabasePool + 'static,{ /* private fields */ }Expand description
SQL Transaction Writer
Trait Implementations§
Source§impl<RM> CompletedOperationsTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> CompletedOperationsTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn add_completed_operation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
operation: &'life1 Operation,
fee_by_keyset: &'life2 HashMap<Id, Amount>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_completed_operation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
operation: &'life1 Operation,
fee_by_keyset: &'life2 HashMap<Id, Amount>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl<RM> DbTransactionFinalizer for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> DbTransactionFinalizer for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§impl<RM> KVStoreTransaction<Error> for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> KVStoreTransaction<Error> for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn kv_read<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
key: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + 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 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
key: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn kv_write<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
key: &'life3 str,
value: &'life4 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 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 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
key: &'life3 str,
value: &'life4 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Source§fn kv_remove<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
key: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 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 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
key: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn kv_list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, Error>> + 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 mut self,
primary_namespace: &'life1 str,
secondary_namespace: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§impl<RM> MintAuthTransaction<Error> for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> MintAuthTransaction<Error> for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn set_active_keyset<'life0, 'async_trait>(
&'life0 mut self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn set_active_keyset<'life0, 'async_trait>(
&'life0 mut self,
id: Id,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn add_keyset_info<'life0, 'async_trait>(
&'life0 mut self,
keyset: MintKeySetInfo,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_keyset_info<'life0, 'async_trait>(
&'life0 mut self,
keyset: MintKeySetInfo,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
MintKeySetInfoSource§fn add_proof<'life0, 'async_trait>(
&'life0 mut self,
proof: AuthProof,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_proof<'life0, 'async_trait>(
&'life0 mut self,
proof: AuthProof,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
AuthProofSource§fn update_proof_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
y: &'life1 PublicKey,
proofs_state: State,
) -> Pin<Box<dyn Future<Output = Result<Option<State>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_proof_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
y: &'life1 PublicKey,
proofs_state: State,
) -> Pin<Box<dyn Future<Output = Result<Option<State>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
AuthProofs stateSource§fn add_blind_signatures<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
blinded_messages: &'life1 [PublicKey],
blind_signatures: &'life2 [BlindSignature],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_blind_signatures<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
blinded_messages: &'life1 [PublicKey],
blind_signatures: &'life2 [BlindSignature],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
BlindSignatureSource§fn add_protected_endpoints<'life0, 'async_trait>(
&'life0 mut self,
protected_endpoints: HashMap<ProtectedEndpoint, AuthRequired>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_protected_endpoints<'life0, 'async_trait>(
&'life0 mut self,
protected_endpoints: HashMap<ProtectedEndpoint, AuthRequired>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<RM> KeysDatabaseTransaction<'_, Error> for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> KeysDatabaseTransaction<'_, Error> for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn add_keyset_info<'life0, 'async_trait>(
&'life0 mut self,
keyset: MintKeySetInfo,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_keyset_info<'life0, 'async_trait>(
&'life0 mut self,
keyset: MintKeySetInfo,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
MintKeySetInfoSource§impl<RM> ProofsTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> ProofsTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn add_proofs<'life0, 'life1, 'async_trait>(
&'life0 mut self,
proofs: Proofs,
quote_id: Option<QuoteId>,
operation: &'life1 Operation,
) -> Pin<Box<dyn Future<Output = Result<Acquired<ProofsWithState>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_proofs<'life0, 'life1, 'async_trait>(
&'life0 mut self,
proofs: Proofs,
quote_id: Option<QuoteId>,
operation: &'life1 Operation,
) -> Pin<Box<dyn Future<Output = Result<Acquired<ProofsWithState>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Adds proofs to the database with initial state Unspent.
This method first checks if any of the proofs already exist in the database.
If a proof exists and is spent, returns Error::AttemptUpdateSpentProof.
If a proof exists in any other state, returns Error::Duplicate.
On success, returns the proofs wrapped in Acquired<ProofsWithState> with
state set to Unspent, indicating the rows are locked for the duration of
the transaction.
Source§fn update_proofs_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
proofs: &'life1 mut Acquired<ProofsWithState>,
new_state: State,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_proofs_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
proofs: &'life1 mut Acquired<ProofsWithState>,
new_state: State,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Updates all proofs to the given state in the database.
Also updates the state field on the ProofsWithState wrapper to reflect
the new state after the database update succeeds.
When the new state is Spent, this method also updates the keyset_amounts
table to track the total redeemed amount per keyset for analytics purposes.
§Prerequisites
The proofs must have been previously acquired via add_proofs
or get_proofs to ensure they are locked within the current transaction.
Source§fn remove_proofs<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ys: &'life1 [PublicKey],
_quote_id: Option<QuoteId>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn remove_proofs<'life0, 'life1, 'async_trait>(
&'life0 mut self,
ys: &'life1 [PublicKey],
_quote_id: Option<QuoteId>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
ProofsSource§fn get_proof_ys_by_quote_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Vec<PublicKey>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_proof_ys_by_quote_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Vec<PublicKey>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_proof_ys_by_operation_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
operation_id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<PublicKey>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_proof_ys_by_operation_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
operation_id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<PublicKey>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§impl<RM> QuotesTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> QuotesTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn add_melt_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
inputs_amount: Amount<CurrencyUnit>,
inputs_fee: Amount<CurrencyUnit>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_melt_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
inputs_amount: Amount<CurrencyUnit>,
inputs_fee: Amount<CurrencyUnit>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn add_blinded_messages<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
quote_id: Option<&'life1 QuoteId>,
blinded_messages: &'life2 [BlindedMessage],
operation: &'life3 Operation,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_blinded_messages<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
quote_id: Option<&'life1 QuoteId>,
blinded_messages: &'life2 [BlindedMessage],
operation: &'life3 Operation,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn delete_blinded_messages<'life0, 'life1, 'async_trait>(
&'life0 mut self,
blinded_secrets: &'life1 [PublicKey],
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_blinded_messages<'life0, 'life1, 'async_trait>(
&'life0 mut self,
blinded_secrets: &'life1 [PublicKey],
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_melt_request_and_blinded_messages<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Option<MeltRequestInfo>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_melt_request_and_blinded_messages<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Option<MeltRequestInfo>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn delete_melt_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_melt_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn update_mint_quote<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote: &'life1 mut Acquired<MintQuote>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_mint_quote<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote: &'life1 mut Acquired<MintQuote>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn add_mint_quote<'life0, 'async_trait>(
&'life0 mut self,
quote: MintQuote,
) -> Pin<Box<dyn Future<Output = Result<Acquired<MintQuote>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_mint_quote<'life0, 'async_trait>(
&'life0 mut self,
quote: MintQuote,
) -> Pin<Box<dyn Future<Output = Result<Acquired<MintQuote>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
MintMintQuoteSource§fn add_melt_quote<'life0, 'async_trait>(
&'life0 mut self,
quote: MeltQuote,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_melt_quote<'life0, 'async_trait>(
&'life0 mut self,
quote: MeltQuote,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
mint::MeltQuoteSource§fn update_melt_quote_request_lookup_id<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
quote: &'life1 mut Acquired<MeltQuote>,
new_request_lookup_id: &'life2 PaymentIdentifier,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn update_melt_quote_request_lookup_id<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
quote: &'life1 mut Acquired<MeltQuote>,
new_request_lookup_id: &'life2 PaymentIdentifier,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn update_melt_quote_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote: &'life1 mut Acquired<MeltQuote>,
state: MeltQuoteState,
payment_proof: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<MeltQuoteState, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_melt_quote_state<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote: &'life1 mut Acquired<MeltQuote>,
state: MeltQuoteState,
payment_proof: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<MeltQuoteState, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
mint::MeltQuote state. Read moreSource§fn get_mint_quote<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MintQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_mint_quote<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MintQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
MintMintQuote and lock it for update in this transactionSource§fn get_melt_quote<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MeltQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_melt_quote<'life0, 'life1, 'async_trait>(
&'life0 mut self,
quote_id: &'life1 QuoteId,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MeltQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
mint::MeltQuote and lock it for update in this transactionSource§fn get_melt_quotes_by_request_lookup_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request_lookup_id: &'life1 PaymentIdentifier,
) -> Pin<Box<dyn Future<Output = Result<Vec<Acquired<MeltQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_melt_quotes_by_request_lookup_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request_lookup_id: &'life1 PaymentIdentifier,
) -> Pin<Box<dyn Future<Output = Result<Vec<Acquired<MeltQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn get_mint_quote_by_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MintQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_mint_quote_by_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MintQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
MintMintQuotes and lock it for update in this transactionSource§fn get_mint_quote_by_request_lookup_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request_lookup_id: &'life1 PaymentIdentifier,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MintQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_mint_quote_by_request_lookup_id<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request_lookup_id: &'life1 PaymentIdentifier,
) -> Pin<Box<dyn Future<Output = Result<Option<Acquired<MintQuote>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
MintMintQuotesSource§impl<RM> SignaturesTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
impl<RM> SignaturesTransaction for SQLTransaction<RM>where
RM: DatabasePool + 'static,
Source§fn add_blind_signatures<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
blinded_messages: &'life1 [PublicKey],
blind_signatures: &'life2 [BlindSignature],
quote_id: Option<QuoteId>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn add_blind_signatures<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
blinded_messages: &'life1 [PublicKey],
blind_signatures: &'life2 [BlindSignature],
quote_id: Option<QuoteId>,
) -> Pin<Box<dyn Future<Output = Result<(), Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
BlindSignatureSource§fn get_blind_signatures<'life0, 'life1, 'async_trait>(
&'life0 mut self,
blinded_messages: &'life1 [PublicKey],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<BlindSignature>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_blind_signatures<'life0, 'life1, 'async_trait>(
&'life0 mut self,
blinded_messages: &'life1 [PublicKey],
) -> Pin<Box<dyn Future<Output = Result<Vec<Option<BlindSignature>>, Self::Err>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
BlindSignatures