pub struct PrepareRecoverFundsResponse {Show 13 fields
pub leaves: Vec<RecoverFundsLeaf>,
pub skipped: Vec<SkippedLeaf>,
pub recoverable_value_sats: u64,
pub total_fee_sats: u64,
pub cooperative_fee_sats: u64,
pub cpfp_fee_sats: u64,
pub fanout_fee_sats: u64,
pub refund_fee_sats: u64,
pub sweep_fee_sats: u64,
pub funding: Option<RecoveryFunding>,
pub fee_rate_sat_per_vbyte: u64,
pub destination: String,
pub exit_chain_state: ExitChainState,
}Expand description
Response from prepare_recover_funds: which leaves would be recovered and
how, the exact fee at the requested rate, and how much to fund.
Fields§
§leaves: Vec<RecoverFundsLeaf>§skipped: Vec<SkippedLeaf>The leaves the selection covers that are not in leaves, each with the
reason. A leaf whose recovery already finished is not listed.
recoverable_value_sats: u64Total value of the selected leaves, in satoshis.
total_fee_sats: u64cooperative_fee_sats + cpfp_fee_sats + fanout_fee_sats + refund_fee_sats + sweep_fee_sats.
cooperative_fee_sats: u64Paid from the cooperative leaves’ own value. Each leaf has two fees: the one of the transaction the operators broadcast to move it on-chain, which is already paid, and the one of its recovery transaction.
cpfp_fee_sats: u64Paid by the CPFP children, from your funding UTXOs.
fanout_fee_sats: u64Paid by the fan-out, from your funding UTXO. Funding one UTXO per
funding.per_branch entry avoids it.
refund_fee_sats: u64Paid from the unilateral leaves’ own value before the sweep: each leaf’s value less what its refund passes to the sweep. The output of a direct transaction, the Spark operators’ version of a leaf’s transaction, is its input less its fee, and a refund received with a watchtower fee ladder pays its own fee. For a refund that is not on-chain yet, the SDK counts the refund it expects: the operators can broadcast one with another fee.
sweep_fee_sats: u64Paid by the final sweep, off the value it moves.
funding: Option<RecoveryFunding>What to fund the unilateral exit with. Unset when nothing needs funding: no transaction of the recovery has a CPFP child.
fee_rate_sat_per_vbyte: u64§destination: String§exit_chain_state: ExitChainStateWhat the chain has already done to the unilateral leaves, read while preparing.
Trait Implementations§
Source§impl Clone for PrepareRecoverFundsResponse
impl Clone for PrepareRecoverFundsResponse
Source§fn clone(&self) -> PrepareRecoverFundsResponse
fn clone(&self) -> PrepareRecoverFundsResponse
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrepareRecoverFundsResponse
impl Debug for PrepareRecoverFundsResponse
Source§impl<'de> Deserialize<'de> for PrepareRecoverFundsResponse
impl<'de> Deserialize<'de> for PrepareRecoverFundsResponse
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>,
Auto Trait Implementations§
impl Freeze for PrepareRecoverFundsResponse
impl RefUnwindSafe for PrepareRecoverFundsResponse
impl Send for PrepareRecoverFundsResponse
impl Sync for PrepareRecoverFundsResponse
impl Unpin for PrepareRecoverFundsResponse
impl UnsafeUnpin for PrepareRecoverFundsResponse
impl UnwindSafe for PrepareRecoverFundsResponse
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§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