pub struct ExitFeeEstimate {
pub exit_broadcast_fee: Amount,
pub claim_fee: Amount,
pub fee_rate: FeeRate,
pub txs_to_broadcast: usize,
pub fundable: bool,
}Expand description
A breakdown of the estimated onchain cost of unilaterally exiting a set of VTXOs.
exit_broadcast_fee is paid now from confirmed onchain funds; claim_fee is paid later
out of the recovered value. Use ExitFeeEstimate::total for the sum. See fee_rate for how
each leg is priced.
Fields§
§exit_broadcast_fee: AmountThe total fees required to broadcast every not-yet-confirmed exit transaction.
This is the minimum offchain-balance required to pay for an emergency exit.
claim_fee: AmountFee for transaction that drains the exit outputs. It is substracted from the exited VTXO amount.
fee_rate: FeeRateThe fee rate used to price the exit-broadcast (CPFP) leg. Unless an explicit fee rate was
supplied, the claim leg is priced separately at the chain’s regular rate, so this is not
necessarily the rate behind claim_fee.
txs_to_broadcast: usizeThe number of exit transactions that still need to be broadcast and CPFP-bumped.
fundable: boolWhether the wallet’s current confirmed onchain balance covers the full exit-broadcast walk.
A unilateral exit is funded serially across confirmed UTXOs (a CPFP child can only spend
confirmed coins, so each bump’s change must confirm before it can fund the next one). An
exit can therefore stall midway if confirmed funds run short even when a single per-step fee
looks affordable. The walk is simulated bump by bump against a replica of the wallet;
false means confirmed funds ran out partway through it.
Implementations§
Trait Implementations§
Source§impl Clone for ExitFeeEstimate
impl Clone for ExitFeeEstimate
Source§fn clone(&self) -> ExitFeeEstimate
fn clone(&self) -> ExitFeeEstimate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExitFeeEstimate
impl Debug for ExitFeeEstimate
impl Eq for ExitFeeEstimate
Source§impl PartialEq for ExitFeeEstimate
impl PartialEq for ExitFeeEstimate
impl StructuralPartialEq for ExitFeeEstimate
Auto Trait Implementations§
impl Freeze for ExitFeeEstimate
impl RefUnwindSafe for ExitFeeEstimate
impl Send for ExitFeeEstimate
impl Sync for ExitFeeEstimate
impl Unpin for ExitFeeEstimate
impl UnsafeUnpin for ExitFeeEstimate
impl UnwindSafe for ExitFeeEstimate
Blanket Implementations§
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.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
self with key and returns true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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