Description
Describe the enhancement
In bdk 0.x could construct PSBTs using spent utxos, which was essential to construct flexible RBF transaction.
In bdk 1.x only non-spent UTXOs are allow to be added as inputs. This creates the need for another method to allow creating RBF transaction. BumpFeeTxBuilder
however is extremely limited as it doesn't allow adding/removing inputs or outputs. Both is required in doing anything except pure fee-bumping.
Use case
Use cases for more advanced RBF:
- sending the outputs back to yourself (if for some reason the original transaction is undesireable)
- dynamic transaction batching
- using different utxos (with at least 1 input conflict) to have enough funds for a higher fee, while most outputs remain constant
- there are probably a lot more for 2. layer protocols
Additional context
The necessity for more flexibility was discussed in bitcoindevkit/bdk#1374 and lead to bitcoindevkit/bdk#1799 , which was not merged. https://github.com/bitcoindevkit/bdk-tx might also be a way to address this except TxBuilder
.
Remarks (from my personal point of view):
- Constructing (complex) RBF transactions is in my point of view very important and wallets like Sparrow can do these RBF constructions.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status