pub struct SwapInfo {
Show 24 fields pub bitcoin_address: String, pub created_at: i64, pub lock_height: i64, pub payment_hash: Vec<u8>, pub preimage: Vec<u8>, pub private_key: Vec<u8>, pub public_key: Vec<u8>, pub swapper_public_key: Vec<u8>, pub script: Vec<u8>, pub bolt11: Option<String>, pub paid_msat: u64, pub total_incoming_txs: u64, pub confirmed_sats: u64, pub unconfirmed_sats: u64, pub status: SwapStatus, pub refund_tx_ids: Vec<String>, pub unconfirmed_tx_ids: Vec<String>, pub confirmed_tx_ids: Vec<String>, pub min_allowed_deposit: i64, pub max_allowed_deposit: i64, pub max_swapper_payable: i64, pub last_redeem_error: Option<String>, pub channel_opening_fees: Option<OpeningFeeParams>, pub confirmed_at: Option<u32>,
}
Expand description

Represents the details of an on-going swap.

Once this SwapInfo is created it will be monitored on-chain and its state is saved to the persistent storage.

The SwapInfo has a status which changes accordingly, documented in SwapStatus.

Fields§

§bitcoin_address: String

Bitcoin address for this swap. Sats sent to this address will be swapped.

§created_at: i64

Relative time lock start, received from SwapperAPI::create_swap.

§lock_height: i64

Relative time lock for the timeout for the script to be redeemed before swap fails.

§payment_hash: Vec<u8>

sha256 hash of preimage to used in the claim sript.

§preimage: Vec<u8>

Secret to claim the swap.

§private_key: Vec<u8>

Secret claim key for the bitcoin address.

§public_key: Vec<u8>

Public key in binary format of the private claim private key.

§swapper_public_key: Vec<u8>

The public key in binary format from the swapping service. Received from SwapperAPI::create_swap.

§script: Vec<u8>

The locking script for the generated bitcoin address. Received from SwapperAPI::create_swap.

§bolt11: Option<String>

bolt11 invoice to claim the sent funds.

§paid_msat: u64

Amount of millisatoshis claimed from sent funds and paid for via bolt11 invoice.

§total_incoming_txs: u64

Total amount of transactions sent to the swap address.

§confirmed_sats: u64

Confirmed onchain sats to be claim with an bolt11 invoice or refunded if swap fails.

§unconfirmed_sats: u64

Unconfirmed sats waiting to be confirmed onchain.

§status: SwapStatus

Shows the current status of the swap, either Initial or Expired.

§refund_tx_ids: Vec<String>

Transaction IDs for failed swap attempts.

§unconfirmed_tx_ids: Vec<String>

Refund transaction IDs for ongoing swap awaiting confirmation.

§confirmed_tx_ids: Vec<String>

Transaction IDs that have been confirmed on-chain.

§min_allowed_deposit: i64

The minimum amount of sats one can send in order for the swap to succeed. Received from SwapperAPI::create_swap.

§max_allowed_deposit: i64

The maximum amount of sats one can send in order for the swap to succeed. This is determined based on max_swapper_payable and the node’s local balance.

§max_swapper_payable: i64

The absolute maximum value payable by the swapper. Received from SwapperAPI::create_swap.

§last_redeem_error: Option<String>

Error reason for when swap fails.

§channel_opening_fees: Option<OpeningFeeParams>

The dynamic fees which is set if a channel opening is needed.

This is an optional field for backward compatibility with swaps created before dynamic fees.

Swaps created after dynamic fees were introduced always have this field set.

§confirmed_at: Option<u32>

The block height when the swap was confirmed.

Trait Implementations§

source§

impl Clone for SwapInfo

source§

fn clone(&self) -> SwapInfo

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for SwapInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for SwapInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl IntoDart for SwapInfo

source§

fn into_dart(self) -> DartAbi

Consumes Self and Performs the conversion.
source§

impl IntoIntoDart<SwapInfo> for SwapInfo

source§

fn into_into_dart(self) -> Self

source§

impl PartialEq for SwapInfo

source§

fn eq(&self, other: &SwapInfo) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for SwapInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for SwapInfo

source§

impl IntoDartExceptPrimitive for SwapInfo

source§

impl StructuralPartialEq for SwapInfo

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<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

§

impl<T> AsAny for T
where T: Any,

§

fn as_any(&self) -> &(dyn Any + 'static)

§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

§

fn type_name(&self) -> &'static str

Gets the type name of self
§

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
§

impl<T> BoxIntoDart for T
where T: IntoDart,

§

fn box_into_dart(self: Box<T>) -> DartCObject

§

impl<T> Downcast for T
where T: AsAny + ?Sized,

§

fn is<T>(&self) -> bool
where T: AsAny,

Returns true if the boxed type is the same as T. Read more
§

fn downcast_ref<T>(&self) -> Option<&T>
where T: AsAny,

Forward to the method defined on the type Any.
§

fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: AsAny,

Forward to the method defined on the type Any.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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>,

§

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

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,