Metamask-extension: I should be able to speed up multiple pending transactions

Created on 27 Feb 2020  路  5Comments  路  Source: MetaMask/metamask-extension

Reproduce:

  1. Submit two transactions with a very low gas price
  2. Try to speed up the first pending transaction -> this works
  3. Try to speed up the second pending transaction: the speed up button is not being shown

There is no technical reason why I shouldn't be able to speed up several pending transactions but the metamask ui doesn't let me do this.

L18-transactions T01-enhancement

Most helpful comment

This was indeed intended; we prevented speeding up queued transactions to prevent user confusion. Users had mistakenly tried to speed them up thinking that that would lead to them being confirmed faster, when really they were being held up by a prior transaction. Restricting the speed up button to just the most recent transaction ensures there can be no such confusion.

We would like to allow speeding up multiple transactions, as long as we make it crystal clear to users what they're doing so they don't mistakenly speed up the wrong transaction, or so they don't have false expectations. e.g. maybe a warning to the user that explains this would suffice. I think we have an existing design that would work well here - I'll check with the design team to confirm.

All 5 comments

This is a problem because if you can't get a previous transaction mined (or just MM just thinks it's not mined, which happened before), you'll never be able to speed up the next (latest) one.

@Gudahtt , @jennypollack -- is this desirable behavior? Looks like there is a specific test to only show this on the first, or earliest nonce, in a list of transactions?

https://github.com/MetaMask/metamask-extension/blob/b7b827b01c83ceb6d80db989390fab1d43b43bc0/ui/app/components/app/transaction-list/transaction-list.component.js#L129-L134

If it is indeed wanted to be able to speed up multiple transactions, I'd love to tackle this one.

This was indeed intended; we prevented speeding up queued transactions to prevent user confusion. Users had mistakenly tried to speed them up thinking that that would lead to them being confirmed faster, when really they were being held up by a prior transaction. Restricting the speed up button to just the most recent transaction ensures there can be no such confusion.

We would like to allow speeding up multiple transactions, as long as we make it crystal clear to users what they're doing so they don't mistakenly speed up the wrong transaction, or so they don't have false expectations. e.g. maybe a warning to the user that explains this would suffice. I think we have an existing design that would work well here - I'll check with the design team to confirm.

If you have multiple transactions queued and you want to make sure they all get mined as quickly as possible being able to speed up all of them has to be an option. Otherwise you will end up sitting there waiting for the first transaction to be mined to then speed up the next transaction that you already know will get blocked because the gas price is not accurate anymore.

Another issue is that the option speedup is only shown once. If gas prices are highly variable, you could end up in a situation where you submit a tx at a too low gas price because the gas pricing used by metamask is lagging behind. However when clicking speed up the gas price suggestion is still not accurate. Retrying the transaction with the proposed gas price at this point still leads to a transaction that will not get mined for a long time.

Quoting @Gudahtt:

We would like to allow speeding up multiple transactions, as long as we make it crystal clear to users what they're doing so they don't mistakenly speed up the wrong transaction, or so they don't have false expectations. e.g. maybe a warning to the user that explains this would suffice. I think we have an existing design that would work well here - I'll check with the design team to confirm.

I think that's fair. The warning could say: that cancelling/speeding up any transaction with a higher nonce will still require previous pending transactions to be mined.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

1blockologist picture 1blockologist  路  3Comments

rossbulat picture rossbulat  路  3Comments

dpazdan picture dpazdan  路  3Comments

whyrusleeping picture whyrusleeping  路  3Comments

kumavis picture kumavis  路  3Comments