pub struct SolProvider { /* private fields */ }Implementations§
Source§impl SolProvider
impl SolProvider
pub fn new(data_dir: &str, store: Arc<StorageBackend>) -> Self
Trait Implementations§
Source§impl PayProvider for SolProvider
impl PayProvider for SolProvider
fn network(&self) -> Network
Source§fn writes_locally(&self) -> bool
fn writes_locally(&self) -> bool
Whether this provider writes to local disk (needs data-dir lock).
fn create_wallet<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 WalletCreateRequest,
) -> Pin<Box<dyn Future<Output = Result<WalletInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn close_wallet<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_wallets<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<WalletSummary>, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn balance<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<BalanceInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn balance_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<WalletBalanceItem>, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn receive_info<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet_id: &'life1 str,
_amount: Option<Amount>,
) -> Pin<Box<dyn Future<Output = Result<ReceiveInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn receive_claim<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
_quote_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<u64, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn cashu_send<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
_amount: Amount,
_onchain_memo: Option<&'life2 str>,
_mints: Option<&'life3 [String]>,
) -> Pin<Box<dyn Future<Output = Result<CashuSendResult, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn cashu_receive<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
_token: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<CashuReceiveResult, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
wallet: &'life1 str,
to: &'life2 str,
onchain_memo: Option<&'life3 str>,
_mints: Option<&'life4 [String]>,
) -> Pin<Box<dyn Future<Output = Result<SendResult, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn send_quote<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
wallet: &'life1 str,
to: &'life2 str,
_mints: Option<&'life3 [String]>,
) -> Pin<Box<dyn Future<Output = Result<SendQuoteInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn history_list<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet_id: &'life1 str,
limit: usize,
offset: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<HistoryRecord>, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn history_status<'life0, 'life1, 'async_trait>(
&'life0 self,
transaction_id: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<HistoryStatusInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn history_sync<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet_id: &'life1 str,
limit: usize,
) -> Pin<Box<dyn Future<Output = Result<HistorySyncStats, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn ping<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ping<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Connectivity check. Remote providers ping the RPC endpoint; local providers no-op.
fn create_ln_wallet<'life0, 'async_trait>(
&'life0 self,
_request: LnWalletCreateRequest,
) -> Pin<Box<dyn Future<Output = Result<WalletInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn check_balance<'life0, 'life1, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<BalanceInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn restore<'life0, 'life1, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<RestoreResult, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn cashu_send_quote<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
_amount: &'life2 Amount,
) -> Pin<Box<dyn Future<Output = Result<CashuSendQuoteInfo, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn history_onchain_memo<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
_transaction_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn history_onchain_memo<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_wallet: &'life1 str,
_transaction_id: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<Option<String>, PayError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Optional provider-specific on-chain memo decoding for a transaction.
Returns
Ok(None) when memo cannot be decoded or is absent.Auto Trait Implementations§
impl Freeze for SolProvider
impl !RefUnwindSafe for SolProvider
impl Send for SolProvider
impl Sync for SolProvider
impl Unpin for SolProvider
impl UnsafeUnpin for SolProvider
impl !UnwindSafe for SolProvider
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request