Struct breez_sdk_core::SwapInfo
source · 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 count 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<'de> Deserialize<'de> for SwapInfo
impl<'de> Deserialize<'de> for SwapInfo
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SwapInfo
impl IntoDartExceptPrimitive for SwapInfo
impl StructuralPartialEq for SwapInfo
Auto Trait Implementations§
impl Freeze for SwapInfo
impl RefUnwindSafe for SwapInfo
impl Send for SwapInfo
impl Sync for SwapInfo
impl Unpin for SwapInfo
impl UnwindSafe for SwapInfo
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
§impl<T> BoxIntoDart for Twhere
T: IntoDart,
impl<T> BoxIntoDart for Twhere
T: IntoDart,
fn box_into_dart(self: Box<T>) -> DartCObject
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any
.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§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>
T
in a tonic::Request