BoltzSession

Struct BoltzSession 

Source
pub struct BoltzSession { /* private fields */ }
Available on crate feature lightning only.
Expand description

A session to pay and receive lightning payments.

Lightning payments are done via LBTC swaps using Boltz.

See BoltzSessionBuilder for various options to configure the session.

Implementations§

Source§

impl BoltzSession

Source

pub fn new(network: &Network, client: &AnyClient) -> Result<Self, LwkError>

Create the lightning session with default settings

This uses default timeout and generates a random mnemonic. For custom configuration, use BoltzSession::from_builder() instead.

Source

pub fn from_builder(builder: BoltzSessionBuilder) -> Result<Self, LwkError>

Create the lightning session from a builder

Source

pub fn prepare_pay( &self, lightning_payment: &LightningPayment, refund_address: &Address, webhook: Option<Arc<WebHook>>, ) -> Result<PreparePayResponse, LwkError>

Prepare to pay a bolt11 invoice

Source

pub fn restore_prepare_pay( &self, data: &str, ) -> Result<PreparePayResponse, LwkError>

Restore a payment from its serialized data see PreparePayResponse::serialize

Source

pub fn invoice( &self, amount: u64, description: Option<String>, claim_address: &Address, webhook: Option<Arc<WebHook>>, ) -> Result<InvoiceResponse, LwkError>

Create a new invoice for a given amount and a claim address to receive the payment

Source

pub fn restore_invoice(&self, data: &str) -> Result<InvoiceResponse, LwkError>

Restore an invoice flow from its serialized data see InvoiceResponse::serialize

Source

pub fn btc_to_lbtc( &self, amount: u64, refund_address: &BitcoinAddress, claim_address: &Address, webhook: Option<Arc<WebHook>>, ) -> Result<LockupResponse, LwkError>

Create an onchain swap to convert BTC to LBTC

Source

pub fn lbtc_to_btc( &self, amount: u64, refund_address: &Address, claim_address: &BitcoinAddress, webhook: Option<Arc<WebHook>>, ) -> Result<LockupResponse, LwkError>

Create an onchain swap to convert LBTC to BTC

Source

pub fn restore_lockup(&self, data: &str) -> Result<LockupResponse, LwkError>

Restore an onchain swap from its serialized data see LockupResponse::serialize

Source

pub fn rescue_file(&self) -> Result<String, LwkError>

Generate a rescue file with lightning session mnemonic.

The rescue file is a JSON file that contains the swaps mnemonic. It can be used on the Boltz web app to bring non terminated swaps to completition.

Source

pub fn swap_restore(&self) -> Result<SwapList, LwkError>

Returns a the list of all the swaps ever done with the session mnemonic.

The object returned can be converted to a json String with toString()

Source

pub fn restorable_reverse_swaps( &self, swap_list: &SwapList, claim_address: &Address, ) -> Result<Vec<String>, LwkError>

Filter the swap list to only include restorable reverse swaps

Source

pub fn restorable_submarine_swaps( &self, swap_list: &SwapList, refund_address: &Address, ) -> Result<Vec<String>, LwkError>

Filter the swap list to only include restorable submarine swaps

Source

pub fn restorable_btc_to_lbtc_swaps( &self, swap_list: &SwapList, claim_address: &Address, refund_address: &BitcoinAddress, ) -> Result<Vec<String>, LwkError>

Filter the swap list to only include restorable BTC to LBTC swaps

Source

pub fn restorable_lbtc_to_btc_swaps( &self, swap_list: &SwapList, claim_address: &BitcoinAddress, refund_address: &Address, ) -> Result<Vec<String>, LwkError>

Filter the swap list to only include restorable LBTC to BTC swaps

Source

pub fn fetch_swaps_info(&self) -> Result<String, LwkError>

Fetch informations, such as min and max amounts, about the reverse and submarine pairs from the boltz api.

Source

pub fn next_index_to_use(&self) -> u32

Get the next index to use for deriving keypairs

Source

pub fn set_next_index_to_use(&self, next_index_to_use: u32)

Set the next index to use for deriving keypairs

This may be necessary to handle multiple sessions with the same mnemonic.

Trait Implementations§

Source§

impl<UT> LiftRef<UT> for BoltzSession

Source§

impl<UT> LowerError<UT> for BoltzSession

Source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
Source§

impl<UT> LowerReturn<UT> for BoltzSession

Source§

type ReturnType = <Arc<BoltzSession> 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>

Lower the return value from an scaffolding call Read more
Source§

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 BoltzSession

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
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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

Source§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
Source§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
Source§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
Source§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
Source§

impl<T> Instrument for T

Source§

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

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

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

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
Source§

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, 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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

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