diff --git a/lib/src/bitcoin/script/op_code/constant.dart b/lib/src/bitcoin/script/op_code/constant.dart index 6ef314b..7af997d 100644 --- a/lib/src/bitcoin/script/op_code/constant.dart +++ b/lib/src/bitcoin/script/op_code/constant.dart @@ -253,7 +253,7 @@ class BitcoinOpCodeConst { static const List emptyTxSequence = [0x00, 0x00, 0x00, 0x00]; static const List absoluteTimelockSequence = [0xfe, 0xff, 0xff, 0xff]; - static const List replaceByFeeSequence = [0x01, 0x00, 0x00, 0x00]; + static const List replaceByFeeSequence = [0xfd, 0xff, 0xff, 0xff]; /// Script version and Bitcoin-related identifiers static const int leafVersionTapscript = 0xc0; diff --git a/lib/src/transaction_builder/forked_transaction_builder.dart b/lib/src/transaction_builder/forked_transaction_builder.dart index c85a74e..05f5848 100644 --- a/lib/src/transaction_builder/forked_transaction_builder.dart +++ b/lib/src/transaction_builder/forked_transaction_builder.dart @@ -264,10 +264,12 @@ that demonstrate the right to spend the bitcoins associated with the correspondi }); } final inputs = sortedUtxos.map((e) => e.utxo.toInput()).toList(); - if (enableRBF && inputs.isNotEmpty) { - inputs[0] = inputs[0].copyWith( - sequence: BitcoinOpCodeConst.replaceByFeeSequence, - ); + if (enableRBF) { + for (int i = 0; i < inputs.length; i++) { + inputs[i] = inputs[i].copyWith( + sequence: BitcoinOpCodeConst.replaceByFeeSequence, + ); + } } return ( List.unmodifiable(inputs), diff --git a/lib/src/transaction_builder/transaction_builder.dart b/lib/src/transaction_builder/transaction_builder.dart index 79e9832..f3dc2c2 100644 --- a/lib/src/transaction_builder/transaction_builder.dart +++ b/lib/src/transaction_builder/transaction_builder.dart @@ -414,10 +414,12 @@ that demonstrate the right to spend the bitcoins associated with the correspondi }); } final inputs = sortedUtxos.map((e) => e.utxo.toInput()).toList(); - if (enableRBF && inputs.isNotEmpty) { - inputs[0] = inputs[0].copyWith( - sequence: BitcoinOpCodeConst.replaceByFeeSequence, - ); + if (enableRBF) { + for (int i = 0; i < inputs.length; i++) { + inputs[i] = inputs[i].copyWith( + sequence: BitcoinOpCodeConst.replaceByFeeSequence, + ); + } } return ( List.unmodifiable(inputs),