Merge bitcoindevkit/bdk-ffi#153: Simplify using struct update syntax and clone
e5cd7cb3a200ba6e907b4f0ec9fdfd2f621ffd6f Simplify using struct update syntax and clone (Sudarsan Balaji) Pull request description: ACKs for top commit: notmandatory: ACK e5cd7cb3a200ba6e907b4f0ec9fdfd2f621ffd6f Tree-SHA512: 643013f6b0e131a56d9819598c99e7ac4ed008e121bd22d0e3d7dcff61bcb0826c8f1295bf2317580865e2b014f12b56bf4b538f0461a120ad3222b35b7cb933
This commit is contained in:
commit
ff260edb3c
44
src/lib.rs
44
src/lib.rs
@ -325,6 +325,7 @@ enum RbfValue {
|
||||
Value(u32),
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
struct TxBuilder {
|
||||
recipients: Vec<(String, u64)>,
|
||||
fee_rate: Option<f32>,
|
||||
@ -349,60 +350,42 @@ impl TxBuilder {
|
||||
recipients.append(&mut vec![(recipient, amount)]);
|
||||
Arc::new(TxBuilder {
|
||||
recipients,
|
||||
fee_rate: self.fee_rate,
|
||||
drain_wallet: self.drain_wallet,
|
||||
drain_to: self.drain_to.clone(),
|
||||
rbf: self.rbf.clone(),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn fee_rate(&self, sat_per_vb: f32) -> Arc<Self> {
|
||||
Arc::new(TxBuilder {
|
||||
recipients: self.recipients.to_vec(),
|
||||
fee_rate: Some(sat_per_vb),
|
||||
drain_wallet: self.drain_wallet,
|
||||
drain_to: self.drain_to.clone(),
|
||||
rbf: self.rbf.clone(),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn drain_wallet(&self) -> Arc<Self> {
|
||||
Arc::new(TxBuilder {
|
||||
recipients: self.recipients.to_vec(),
|
||||
fee_rate: self.fee_rate,
|
||||
drain_wallet: true,
|
||||
drain_to: self.drain_to.clone(),
|
||||
rbf: self.rbf.clone(),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn drain_to(&self, address: String) -> Arc<Self> {
|
||||
Arc::new(TxBuilder {
|
||||
recipients: self.recipients.to_vec(),
|
||||
fee_rate: self.fee_rate,
|
||||
drain_wallet: self.drain_wallet,
|
||||
drain_to: Some(address),
|
||||
rbf: self.rbf.clone(),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn enable_rbf(&self) -> Arc<Self> {
|
||||
Arc::new(TxBuilder {
|
||||
recipients: self.recipients.to_vec(),
|
||||
fee_rate: self.fee_rate,
|
||||
drain_wallet: self.drain_wallet,
|
||||
drain_to: self.drain_to.clone(),
|
||||
rbf: Some(RbfValue::Default),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
|
||||
Arc::new(TxBuilder {
|
||||
recipients: self.recipients.to_vec(),
|
||||
fee_rate: self.fee_rate,
|
||||
drain_wallet: self.drain_wallet,
|
||||
drain_to: self.drain_to.clone(),
|
||||
rbf: Some(RbfValue::Value(nsequence)),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
@ -440,6 +423,7 @@ impl TxBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
struct BumpFeeTxBuilder {
|
||||
txid: String,
|
||||
fee_rate: f32,
|
||||
@ -459,28 +443,22 @@ impl BumpFeeTxBuilder {
|
||||
|
||||
fn allow_shrinking(&self, address: String) -> Arc<Self> {
|
||||
Arc::new(Self {
|
||||
txid: self.txid.clone(),
|
||||
fee_rate: self.fee_rate,
|
||||
allow_shrinking: Some(address),
|
||||
rbf: self.rbf.clone(),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn enable_rbf(&self) -> Arc<Self> {
|
||||
Arc::new(Self {
|
||||
txid: self.txid.clone(),
|
||||
fee_rate: self.fee_rate,
|
||||
allow_shrinking: self.allow_shrinking.clone(),
|
||||
rbf: Some(RbfValue::Default),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
|
||||
Arc::new(Self {
|
||||
txid: self.txid.clone(),
|
||||
fee_rate: self.fee_rate,
|
||||
allow_shrinking: self.allow_shrinking.clone(),
|
||||
rbf: Some(RbfValue::Value(nsequence)),
|
||||
..self.clone()
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user