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),
|
Value(u32),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
struct TxBuilder {
|
struct TxBuilder {
|
||||||
recipients: Vec<(String, u64)>,
|
recipients: Vec<(String, u64)>,
|
||||||
fee_rate: Option<f32>,
|
fee_rate: Option<f32>,
|
||||||
@ -349,60 +350,42 @@ impl TxBuilder {
|
|||||||
recipients.append(&mut vec![(recipient, amount)]);
|
recipients.append(&mut vec![(recipient, amount)]);
|
||||||
Arc::new(TxBuilder {
|
Arc::new(TxBuilder {
|
||||||
recipients,
|
recipients,
|
||||||
fee_rate: self.fee_rate,
|
..self.clone()
|
||||||
drain_wallet: self.drain_wallet,
|
|
||||||
drain_to: self.drain_to.clone(),
|
|
||||||
rbf: self.rbf.clone(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn fee_rate(&self, sat_per_vb: f32) -> Arc<Self> {
|
fn fee_rate(&self, sat_per_vb: f32) -> Arc<Self> {
|
||||||
Arc::new(TxBuilder {
|
Arc::new(TxBuilder {
|
||||||
recipients: self.recipients.to_vec(),
|
|
||||||
fee_rate: Some(sat_per_vb),
|
fee_rate: Some(sat_per_vb),
|
||||||
drain_wallet: self.drain_wallet,
|
..self.clone()
|
||||||
drain_to: self.drain_to.clone(),
|
|
||||||
rbf: self.rbf.clone(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn drain_wallet(&self) -> Arc<Self> {
|
fn drain_wallet(&self) -> Arc<Self> {
|
||||||
Arc::new(TxBuilder {
|
Arc::new(TxBuilder {
|
||||||
recipients: self.recipients.to_vec(),
|
|
||||||
fee_rate: self.fee_rate,
|
|
||||||
drain_wallet: true,
|
drain_wallet: true,
|
||||||
drain_to: self.drain_to.clone(),
|
..self.clone()
|
||||||
rbf: self.rbf.clone(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn drain_to(&self, address: String) -> Arc<Self> {
|
fn drain_to(&self, address: String) -> Arc<Self> {
|
||||||
Arc::new(TxBuilder {
|
Arc::new(TxBuilder {
|
||||||
recipients: self.recipients.to_vec(),
|
|
||||||
fee_rate: self.fee_rate,
|
|
||||||
drain_wallet: self.drain_wallet,
|
|
||||||
drain_to: Some(address),
|
drain_to: Some(address),
|
||||||
rbf: self.rbf.clone(),
|
..self.clone()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enable_rbf(&self) -> Arc<Self> {
|
fn enable_rbf(&self) -> Arc<Self> {
|
||||||
Arc::new(TxBuilder {
|
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),
|
rbf: Some(RbfValue::Default),
|
||||||
|
..self.clone()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
|
fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
|
||||||
Arc::new(TxBuilder {
|
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)),
|
rbf: Some(RbfValue::Value(nsequence)),
|
||||||
|
..self.clone()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -440,6 +423,7 @@ impl TxBuilder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
struct BumpFeeTxBuilder {
|
struct BumpFeeTxBuilder {
|
||||||
txid: String,
|
txid: String,
|
||||||
fee_rate: f32,
|
fee_rate: f32,
|
||||||
@ -459,28 +443,22 @@ impl BumpFeeTxBuilder {
|
|||||||
|
|
||||||
fn allow_shrinking(&self, address: String) -> Arc<Self> {
|
fn allow_shrinking(&self, address: String) -> Arc<Self> {
|
||||||
Arc::new(Self {
|
Arc::new(Self {
|
||||||
txid: self.txid.clone(),
|
|
||||||
fee_rate: self.fee_rate,
|
|
||||||
allow_shrinking: Some(address),
|
allow_shrinking: Some(address),
|
||||||
rbf: self.rbf.clone(),
|
..self.clone()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enable_rbf(&self) -> Arc<Self> {
|
fn enable_rbf(&self) -> Arc<Self> {
|
||||||
Arc::new(Self {
|
Arc::new(Self {
|
||||||
txid: self.txid.clone(),
|
|
||||||
fee_rate: self.fee_rate,
|
|
||||||
allow_shrinking: self.allow_shrinking.clone(),
|
|
||||||
rbf: Some(RbfValue::Default),
|
rbf: Some(RbfValue::Default),
|
||||||
|
..self.clone()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
|
fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
|
||||||
Arc::new(Self {
|
Arc::new(Self {
|
||||||
txid: self.txid.clone(),
|
|
||||||
fee_rate: self.fee_rate,
|
|
||||||
allow_shrinking: self.allow_shrinking.clone(),
|
|
||||||
rbf: Some(RbfValue::Value(nsequence)),
|
rbf: Some(RbfValue::Value(nsequence)),
|
||||||
|
..self.clone()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user