BreezSdk

Struct BreezSdk 

Source
pub struct BreezSdk { /* private fields */ }
Expand description

BreezSDK is a wrapper around SparkSDK that provides a more structured API with request/response objects and comprehensive error handling.

Implementations§

Source§

impl BreezSdk

Source

pub async fn add_event_listener( &self, listener: Box<dyn EventListener>, ) -> String

Registers a listener to receive SDK events

§Arguments
  • listener - An implementation of the EventListener trait
§Returns

A unique identifier for the listener, which can be used to remove it later

Source

pub async fn remove_event_listener(&self, id: &str) -> bool

Removes a previously registered event listener

§Arguments
  • id - The listener ID returned from add_event_listener
§Returns

true if the listener was found and removed, false otherwise

Source

pub async fn disconnect(&self) -> Result<(), SdkError>

Stops the SDK’s background tasks

This method stops the background tasks started by the start() method. It should be called before your application terminates to ensure proper cleanup.

§Returns

Result containing either success or an SdkError if the background task couldn’t be stopped

Source

pub async fn parse(&self, input: &str) -> Result<InputType, SdkError>

Source

pub async fn get_info( &self, request: GetInfoRequest, ) -> Result<GetInfoResponse, SdkError>

Returns the balance of the wallet in satoshis

Source

pub async fn receive_payment( &self, request: ReceivePaymentRequest, ) -> Result<ReceivePaymentResponse, SdkError>

Source

pub async fn prepare_lnurl_pay( &self, request: PrepareLnurlPayRequest, ) -> Result<PrepareLnurlPayResponse, SdkError>

Source

pub async fn lnurl_pay( &self, request: LnurlPayRequest, ) -> Result<LnurlPayResponse, SdkError>

Source

pub async fn lnurl_withdraw( &self, request: LnurlWithdrawRequest, ) -> Result<LnurlWithdrawResponse, SdkError>

Performs an LNURL withdraw operation for the amount of satoshis to withdraw and the LNURL withdraw request details. The LNURL withdraw request details can be obtained from calling BreezSdk::parse.

The method generates a Lightning invoice for the withdraw amount, stores the LNURL withdraw metadata, and performs the LNURL withdraw using the generated invoice.

If the completion_timeout_secs parameter is provided and greater than 0, the method will wait for the payment to be completed within that period. If the withdraw is completed within the timeout, the payment field in the response will be set with the payment details. If the completion_timeout_secs parameter is not provided or set to 0, the method will not wait for the payment to be completed. If the withdraw is not completed within the timeout, the payment field will be empty.

§Arguments
  • request - The LNURL withdraw request
§Returns

Result containing either:

  • LnurlWithdrawResponse - The payment details if the withdraw request was successful
  • SdkError - If there was an error during the withdraw process
Source

pub async fn prepare_send_payment( &self, request: PrepareSendPaymentRequest, ) -> Result<PrepareSendPaymentResponse, SdkError>

Source

pub async fn send_payment( &self, request: SendPaymentRequest, ) -> Result<SendPaymentResponse, SdkError>

Source

pub async fn sync_wallet( &self, request: SyncWalletRequest, ) -> Result<SyncWalletResponse, SdkError>

Synchronizes the wallet with the Spark network

Source

pub async fn list_payments( &self, request: ListPaymentsRequest, ) -> Result<ListPaymentsResponse, SdkError>

Lists payments from the storage with pagination

This method provides direct access to the payment history stored in the database. It returns payments in reverse chronological order (newest first).

§Arguments
  • request - Contains pagination parameters (offset and limit)
§Returns
  • Ok(ListPaymentsResponse) - Contains the list of payments if successful
  • Err(SdkError) - If there was an error accessing the storage
Source

pub async fn get_payment( &self, request: GetPaymentRequest, ) -> Result<GetPaymentResponse, SdkError>

Source

pub async fn claim_deposit( &self, request: ClaimDepositRequest, ) -> Result<ClaimDepositResponse, SdkError>

Source

pub async fn refund_deposit( &self, request: RefundDepositRequest, ) -> Result<RefundDepositResponse, SdkError>

Source

pub async fn list_unclaimed_deposits( &self, request: ListUnclaimedDepositsRequest, ) -> Result<ListUnclaimedDepositsResponse, SdkError>

Source

pub async fn check_lightning_address_available( &self, req: CheckLightningAddressRequest, ) -> Result<bool, SdkError>

Source

pub async fn get_lightning_address( &self, ) -> Result<Option<LightningAddressInfo>, SdkError>

Source

pub async fn register_lightning_address( &self, request: RegisterLightningAddressRequest, ) -> Result<LightningAddressInfo, SdkError>

Source

pub async fn delete_lightning_address(&self) -> Result<(), SdkError>

Source

pub async fn list_fiat_currencies( &self, ) -> Result<ListFiatCurrenciesResponse, SdkError>

List fiat currencies for which there is a known exchange rate, sorted by the canonical name of the currency.

Source

pub async fn list_fiat_rates(&self) -> Result<ListFiatRatesResponse, SdkError>

List the latest rates of fiat currencies, sorted by name.

Source

pub async fn wait_for_payment( &self, request: WaitForPaymentRequest, ) -> Result<WaitForPaymentResponse, SdkError>

Source

pub async fn get_tokens_metadata( &self, request: GetTokensMetadataRequest, ) -> Result<GetTokensMetadataResponse, SdkError>

Returns the metadata for the given token identifiers.

Results are not guaranteed to be in the same order as the input token identifiers.

If the metadata is not found locally in cache, it will be queried from the Spark network and then cached.

Source

pub async fn sign_message( &self, request: SignMessageRequest, ) -> Result<SignMessageResponse, SdkError>

Signs a message with the wallet’s identity key. The message is SHA256 hashed before signing. The returned signature will be hex encoded in DER format by default, or compact format if specified.

Source

pub async fn check_message( &self, request: CheckMessageRequest, ) -> Result<CheckMessageResponse, SdkError>

Verifies a message signature against the provided public key. The message is SHA256 hashed before verification. The signature can be hex encoded in either DER or compact format.

Source

pub async fn get_user_settings(&self) -> Result<UserSettings, SdkError>

Returns the user settings for the wallet.

Some settings are fetched from the Spark network so network requests are performed.

Source

pub async fn update_user_settings( &self, request: UpdateUserSettingsRequest, ) -> Result<(), SdkError>

Updates the user settings for the wallet.

Some settings are updated on the Spark network so network requests may be performed.

Source

pub fn get_token_issuer(&self) -> TokenIssuer

Returns an instance of the TokenIssuer for managing token issuance.

Trait Implementations§

Source§

impl Clone for BreezSdk

Source§

fn clone(&self) -> BreezSdk

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,