Skip to content

Commit 643d254

Browse files
feat: add enable_rbf_with_sequence method on txbuilder
1 parent c79a399 commit 643d254

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

bdk-ffi/src/bdk.udl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ interface TxBuilder {
144144

145145
TxBuilder enable_rbf();
146146

147+
TxBuilder enable_rbf_with_sequence(u32 nsequence);
148+
147149
[Throws=BdkError]
148150
PartiallySignedTransaction finish([ByRef] Wallet wallet);
149151
};

bdk-ffi/src/wallet.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
use crate::bitcoin::{OutPoint, PartiallySignedTransaction, Transaction};
22
use crate::descriptor::Descriptor;
3-
use crate::types::{Balance, RbfValue};
43
use crate::types::ScriptAmount;
4+
use crate::types::{Balance, RbfValue};
55
use crate::Script;
66
use crate::{AddressIndex, AddressInfo, Network};
77

88
use bdk::bitcoin::blockdata::script::ScriptBuf as BdkScriptBuf;
99
use bdk::bitcoin::{OutPoint as BdkOutPoint, Sequence};
10+
use bdk::wallet::tx_builder::ChangeSpendPolicy;
1011
use bdk::wallet::Update as BdkUpdate;
1112
use bdk::{Error as BdkError, FeeRate};
1213
use bdk::{SignOptions, Wallet as BdkWallet};
13-
use bdk::wallet::tx_builder::ChangeSpendPolicy;
1414

1515
use std::collections::HashSet;
1616
use std::sync::{Arc, Mutex, MutexGuard};
@@ -461,15 +461,15 @@ impl TxBuilder {
461461
})
462462
}
463463

464-
// /// Enable signaling RBF with a specific nSequence value. This can cause conflicts if the wallet's descriptors contain an
465-
// /// "older" (OP_CSV) operator and the given `nsequence` is lower than the CSV value. If the `nsequence` is higher than `0xFFFFFFFD`
466-
// /// an error will be thrown, since it would not be a valid nSequence to signal RBF.
467-
// pub(crate) fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
468-
// Arc::new(TxBuilder {
469-
// rbf: Some(RbfValue::Value(nsequence)),
470-
// ..self.clone()
471-
// })
472-
// }
464+
/// Enable signaling RBF with a specific nSequence value. This can cause conflicts if the wallet's descriptors contain an
465+
/// "older" (OP_CSV) operator and the given `nsequence` is lower than the CSV value. If the `nsequence` is higher than `0xFFFFFFFD`
466+
/// an error will be thrown, since it would not be a valid nSequence to signal RBF.
467+
pub(crate) fn enable_rbf_with_sequence(&self, nsequence: u32) -> Arc<Self> {
468+
Arc::new(TxBuilder {
469+
rbf: Some(RbfValue::Value(nsequence)),
470+
..self.clone()
471+
})
472+
}
473473

474474
/// Add data as an output using OP_RETURN.
475475
// pub(crate) fn add_data(&self, data: Vec<u8>) -> Arc<Self> {

0 commit comments

Comments
 (0)