Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Cancel TX, and other replacement transactions (RBF) #236

Closed
kloaec opened this issue Dec 15, 2022 · 4 comments
Closed

Feature: Cancel TX, and other replacement transactions (RBF) #236

kloaec opened this issue Dec 15, 2022 · 4 comments
Assignees
Labels
Feature New feature or functionality. GUI gui related

Comments

@kloaec
Copy link
Collaborator

kloaec commented Dec 15, 2022

A cancel TX of an already broadcast (not mined) transaction would be a nice feature.
Automatically craft a transaction spending the inputs, select a higher fee(-rate), ask to sign and broadcast. Tracking of success/failure would also be very nice.

A generalization of this tx flow would also be very nice, allowing to EDIT an existing TX. It would allow changing amounts, potentially replacing inputs and outputs, and make a good fee estimation to actually follow RBF rules.
This is an advanced feature but would be pretty cool.

@darosior
Copy link
Contributor

I don't think it should be that much configurable. A simple "cancel" button à-la Electrum seems better.

I don't think going as far as an EDIT button is a good idea. It would be a very brittle feature with a very poor UX: it would sometimes fail for no reason apparent to an unsuspecting user.

A cancel button is a good middle ground.

@darosior darosior added Good first issue Good for newcomers GUI gui related Feature New feature or functionality. labels Dec 16, 2022
@darosior
Copy link
Contributor

See also already opened #43 about this.

@darosior
Copy link
Contributor

This is being tackled, but is on hold. See #43 and the coin selection / RBF pull requests.

@darosior
Copy link
Contributor

Closing in favour of #43, where most of the discussion has been happening.

darosior added a commit that referenced this issue Dec 6, 2023
0ab00cd gui: keep conflicting PSBTs as Pending until confirmation (jp1ac4)
5391bfe commands: add `rbfpsbt` command (jp1ac4)
d5f3167 commands: add `create_spend_internal` function (jp1ac4)
714fd5e bitcoin: add `mempool_spenders` to Bitcoin interface (jp1ac4)
68b2503 func tests: move function to utils (jp1ac4)
fdab722 func tests: run black (jp1ac4)

Pull request description:

  This PR relates to #43 and #236.

  It adds a `rbfpsbt` command that generates a PSBT to replace an existing transaction using RBF. This replacement can either preserve non-change outputs and simply bump fees or remove non-change outputs and effectively cancel the transaction. The inputs and change output may need to be updated in accordance with the higher fee.

  I've also added a `getmempoolentry` call to the bitcoin interface that is used for checking information about descendant transactions.

  To facilitate development, I've made some temporary changes in the GUI so that replacement PSBTs can be signed and broadcast, but these changes might not be part of this PR in the end.

ACKs for top commit:
  darosior:
    ACK 0ab00cd

Tree-SHA512: a172ad895fac13be294451f2ffeccb91af521d58a3bc6d08e09688996f9a3e07a3e230091982ef5e92472d44db77b34f93b81d1111d2c570d9c5dd85b7c21f0f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature or functionality. GUI gui related
Projects
None yet
Development

No branches or pull requests

3 participants