Enum Balance
pub enum Balance {
ClaimableOnChannelClose {
amount_satoshis: u64,
transaction_fee_satoshis: u64,
outbound_payment_htlc_rounded_msat: u64,
outbound_forwarded_htlc_rounded_msat: u64,
inbound_claiming_htlc_rounded_msat: u64,
inbound_htlc_rounded_msat: u64,
},
ClaimableAwaitingConfirmations {
amount_satoshis: u64,
confirmation_height: u32,
source: BalanceSource,
},
ContentiousClaimable {
amount_satoshis: u64,
timeout_height: u32,
payment_hash: PaymentHash,
payment_preimage: PaymentPreimage,
},
MaybeTimeoutClaimableHTLC {
amount_satoshis: u64,
claimable_height: u32,
payment_hash: PaymentHash,
outbound_payment: bool,
},
MaybePreimageClaimableHTLC {
amount_satoshis: u64,
expiry_height: u32,
payment_hash: PaymentHash,
},
CounterpartyRevokedOutputClaimable {
amount_satoshis: u64,
},
}
Expand description
Details about the balance(s) available for spending once the channel appears on chain.
See ChannelMonitor::get_claimable_balances
for more details on when these will or will not
be provided.
Variants§
ClaimableOnChannelClose
The channel is not yet closed (or the commitment or closing transaction has not yet appeared in a block). The given balance is claimable (less on-chain fees) if the channel is force-closed now.
Fields
amount_satoshis: u64
The amount available to claim, in satoshis, excluding the on-chain fees which will be required to do so.
transaction_fee_satoshis: u64
The transaction fee we pay for the closing commitment transaction. This amount is not
included in the Balance::ClaimableOnChannelClose::amount_satoshis
value.
Note that if this channel is inbound (and thus our counterparty pays the commitment
transaction fee) this value will be zero. For ChannelMonitor
s created prior to LDK
0.0.124, the channel is always treated as outbound (and thus this value is never zero).
outbound_payment_htlc_rounded_msat: u64
The amount of millisatoshis which has been burned to fees from HTLCs which are outbound
from us and are related to a payment which was sent by us. This is the sum of the
millisatoshis part of all HTLCs which are otherwise represented by
Balance::MaybeTimeoutClaimableHTLC
with their
Balance::MaybeTimeoutClaimableHTLC::outbound_payment
flag set, as well as any dust
HTLCs which would otherwise be represented the same.
This amount (rounded up to a whole satoshi value) will not be included in amount_satoshis
.
outbound_forwarded_htlc_rounded_msat: u64
The amount of millisatoshis which has been burned to fees from HTLCs which are outbound
from us and are related to a forwarded HTLC. This is the sum of the millisatoshis part
of all HTLCs which are otherwise represented by Balance::MaybeTimeoutClaimableHTLC
with their Balance::MaybeTimeoutClaimableHTLC::outbound_payment
flag not set, as
well as any dust HTLCs which would otherwise be represented the same.
This amount (rounded up to a whole satoshi value) will not be included in amount_satoshis
.
inbound_claiming_htlc_rounded_msat: u64
The amount of millisatoshis which has been burned to fees from HTLCs which are inbound
to us and for which we know the preimage. This is the sum of the millisatoshis part of
all HTLCs which would be represented by Balance::ContentiousClaimable
on channel
close, but whose current value is included in
Balance::ClaimableOnChannelClose::amount_satoshis
, as well as any dust HTLCs which
would otherwise be represented the same.
This amount (rounded up to a whole satoshi value) will not be included in the counterparty’s
amount_satoshis
.
inbound_htlc_rounded_msat: u64
The amount of millisatoshis which has been burned to fees from HTLCs which are inbound
to us and for which we do not know the preimage. This is the sum of the millisatoshis
part of all HTLCs which would be represented by Balance::MaybePreimageClaimableHTLC
on channel close, as well as any dust HTLCs which would otherwise be represented the
same.
This amount (rounded up to a whole satoshi value) will not be included in the counterparty’s
amount_satoshis
.
ClaimableAwaitingConfirmations
The channel has been closed, and the given balance is ours but awaiting confirmations until we consider it spendable.
Fields
amount_satoshis: u64
The amount available to claim, in satoshis, possibly excluding the on-chain fees which were spent in broadcasting the transaction.
confirmation_height: u32
The height at which an Event::SpendableOutputs
event will be generated for this
amount.
source: BalanceSource
Whether this balance is a result of cooperative close, a force-close, or an HTLC.
ContentiousClaimable
The channel has been closed, and the given balance should be ours but awaiting spending transaction confirmation. If the spending transaction does not confirm in time, it is possible our counterparty can take the funds by broadcasting an HTLC timeout on-chain.
Once the spending transaction confirms, before it has reached enough confirmations to be
considered safe from chain reorganizations, the balance will instead be provided via
Balance::ClaimableAwaitingConfirmations
.
Fields
amount_satoshis: u64
The amount available to claim, in satoshis, excluding the on-chain fees which will be required to do so.
timeout_height: u32
The height at which the counterparty may be able to claim the balance if we have not done so.
payment_hash: PaymentHash
The payment hash that locks this HTLC.
payment_preimage: PaymentPreimage
The preimage that can be used to claim this HTLC.
MaybeTimeoutClaimableHTLC
HTLCs which we sent to our counterparty which are claimable after a timeout (less on-chain fees) if the counterparty does not know the preimage for the HTLCs. These are somewhat likely to be claimed by our counterparty before we do.
Fields
amount_satoshis: u64
The amount potentially available to claim, in satoshis, excluding the on-chain fees which will be required to do so.
claimable_height: u32
The height at which we will be able to claim the balance if our counterparty has not done so.
payment_hash: PaymentHash
The payment hash whose preimage our counterparty needs to claim this HTLC.
MaybePreimageClaimableHTLC
HTLCs which we received from our counterparty which are claimable with a preimage which we do not currently have. This will only be claimable if we receive the preimage from the node to which we forwarded this HTLC before the timeout.
Fields
amount_satoshis: u64
The amount potentially available to claim, in satoshis, excluding the on-chain fees which will be required to do so.
expiry_height: u32
The height at which our counterparty will be able to claim the balance if we have not yet received the preimage and claimed it ourselves.
payment_hash: PaymentHash
The payment hash whose preimage we need to claim this HTLC.
CounterpartyRevokedOutputClaimable
The channel has been closed, and our counterparty broadcasted a revoked commitment transaction.
Thus, we’re able to claim all outputs in the commitment transaction, one of which has the following amount.
Implementations§
§impl Balance
impl Balance
pub fn claimable_amount_satoshis(&self) -> u64
pub fn claimable_amount_satoshis(&self) -> u64
The amount claimable, in satoshis.
For outbound payments, this excludes the balance from the possible HTLC timeout.
For forwarded payments, this includes the balance from the possible HTLC timeout as (to be conservative) that balance does not include routing fees we’d earn if we’d claim the balance from a preimage in a successful forward.
For more information on these balances see Balance::MaybeTimeoutClaimableHTLC
and
Balance::MaybePreimageClaimableHTLC
.
On-chain fees required to claim the balance are not included in this amount.
Trait Implementations§
impl Eq for Balance
impl StructuralPartialEq for Balance
Auto Trait Implementations§
impl Freeze for Balance
impl RefUnwindSafe for Balance
impl Send for Balance
impl Sync for Balance
impl Unpin for Balance
impl UnwindSafe for Balance
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
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