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

Allow resubmitting pending transactions with higher gas prices #2278

Closed
danfinlay opened this issue Oct 4, 2017 · 11 comments
Closed

Allow resubmitting pending transactions with higher gas prices #2278

danfinlay opened this issue Oct 4, 2017 · 11 comments
Labels

Comments

@danfinlay
Copy link
Contributor

I thought this was already documented, close if a duplicate.

We should raise the priority on this, we witnessed a spike in congestion recently, and lots of users got confused why their transaction queue got clogged up (behind a low-gas-price tx).

@danfinlay
Copy link
Contributor Author

The initial design for this was that pending transactions had an "Edit" button that basically went back to the "Edit transaction" view, allowed revising params, and resubmitting.

Sending to Christian for any other design thoughts.

@variousred
Copy link

I need this!

@vicnaum
Copy link
Contributor

vicnaum commented Dec 6, 2017

That should be a NUMBER ONE priority now, I guess

@aribo
Copy link

aribo commented Dec 6, 2017

Related to this, a clear indication of the status of the transaction would also help. If the tx is not confirmed after a determined period of time, Metamask presents the button to 'Resubmit' or 'Cancel' transaction.

'Resubmit' = same type of transaction to: and amount: being the same, with higher gas price and possibility of changing gas limit.

'Cancel' = transaction with same nonce but to: the same address as from: at higher gas price (at least 10% higher)

The function is not exactly resubmitting or cancelling the old transaction, because it doesn't remove it from the pool, instead it overcomes the previous one with more gas. But for the user it effectively cancels it because the transaction being finally processed is the new one (Resubmit) or the old one is never processed (Cancel).

More info about these two options: https://medium.com/@jgm.orinoco/releasing-stuck-ethereum-transactions-1390149f297d

@rappo
Copy link

rappo commented Dec 6, 2017

btw, I put a $50 bounty on this to whoever submits a PR that gets merged as the solution: https://www.bountysource.com/issues/52252733-allow-resubmitting-pending-transactions-with-higher-gas-prices

@vicnaum
Copy link
Contributor

vicnaum commented Dec 6, 2017

I've submitted a pull request for #2679 - which is a good start and doesn't involve any design changes.
See: https://www.reddit.com/r/ethereum/comments/7i1nb4/eth_replacer_metamask_nonce_fix_replace_pending/

@Arachnid
Copy link

Arachnid commented Dec 7, 2017

A really simple UI for this would be to show it only for the first pending transaction - otherwise users will get confused as to why bumping their later transactions isn't helping. Ideally just two options - 'cancel', which replaces it with a null-transfer, and 'accelerate' (or similar) which lets you set a new, higher gas price.

Also, ideally metamask should warn users when they're about to submit a transaction with higher gas price than a pending transaction that this won't help until the older transaction clears.

@danfinlay
Copy link
Contributor Author

I like only showing "retry with higher gas" on the earliest pending tx.

Showing "cancel" on it can be dangerous: That tx may be replaced, but unless all the other ones are replaced, they can still be processed. Maybe that's fine, but we've seen users queue up invalid transactions, forget about them, and then have them go through when they didn't want them to, so I have some prior trauma making me resistant to that.

It's probably still fine.

I've opened some issues for those other suggested aspects. We have a retry button in master, and a fix to make it work correctly with Geth as an open PR.

@danfinlay
Copy link
Contributor Author

Fixed by #2684.

@ghost ghost removed the labeled label Dec 15, 2017
@rappo
Copy link

rappo commented Dec 22, 2017

@danfinlay the $50 bounty I posted is up for grabs if you want to claim it: https://www.bountysource.com/issues/52252733-allow-resubmitting-pending-transactions-with-higher-gas-prices

@moodysalem
Copy link

I created an issue to discuss adding an optional attribute to a transaction that points to the hash of the previous transaction, so that transactions with this optional hash will only be considered valid if the previous transaction hash has already been included:
ethereum/EIPs#932

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants