Skip to content

Commit

Permalink
feat: add enable_rbf_with_sequence method on txbuilder
Browse files Browse the repository at this point in the history
  • Loading branch information
thunderbiscuit committed Dec 7, 2023
1 parent c79a399 commit 643d254
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
2 changes: 2 additions & 0 deletions bdk-ffi/src/bdk.udl
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,8 @@ interface TxBuilder {

TxBuilder enable_rbf();

TxBuilder enable_rbf_with_sequence(u32 nsequence);

[Throws=BdkError]
PartiallySignedTransaction finish([ByRef] Wallet wallet);
};
Expand Down
22 changes: 11 additions & 11 deletions bdk-ffi/src/wallet.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
use crate::bitcoin::{OutPoint, PartiallySignedTransaction, Transaction};
use crate::descriptor::Descriptor;
use crate::types::{Balance, RbfValue};
use crate::types::ScriptAmount;
use crate::types::{Balance, RbfValue};
use crate::Script;
use crate::{AddressIndex, AddressInfo, Network};

use bdk::bitcoin::blockdata::script::ScriptBuf as BdkScriptBuf;
use bdk::bitcoin::{OutPoint as BdkOutPoint, Sequence};
use bdk::wallet::tx_builder::ChangeSpendPolicy;
use bdk::wallet::Update as BdkUpdate;
use bdk::{Error as BdkError, FeeRate};
use bdk::{SignOptions, Wallet as BdkWallet};
use bdk::wallet::tx_builder::ChangeSpendPolicy;

use std::collections::HashSet;
use std::sync::{Arc, Mutex, MutexGuard};
Expand Down Expand Up @@ -461,15 +461,15 @@ impl TxBuilder {
})
}

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

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

0 comments on commit 643d254

Please sign in to comment.