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

Underpriced speed-up can cause confusing error state #9435

Closed
danfinlay opened this issue Sep 17, 2020 · 2 comments · Fixed by #9687
Closed

Underpriced speed-up can cause confusing error state #9435

danfinlay opened this issue Sep 17, 2020 · 2 comments · Fixed by #9687
Labels
area-gas area-transactions Sev1-high High severity; partial loss of service with severe impact upon users, with no workaround. type-bug

Comments

@danfinlay
Copy link
Contributor

Steps to reproduce:

  1. Submit a tx at a low gas price
  2. Click "speed up" on the tx
  3. Select the "slow" gas price of the available options.

Result:

  • The RPC returned an error with the message "replacement transaction underpriced"
  • This transitions the replacement tx to a "failed" state.
  • The transaction history now shows "failed", implying to the user this tx has failed (this failure is indistinguishable from an on-chain failure), even though there is still a valid "submitted" transaction before that failed one.
  • Upon retrying, the new transaction has the NEXT nonce (probably because of the valid "submitted" one with the lower nonce).

Expected result:

  • Ideally, the user is not shown gas options that will result in "tx underpriced" errors.
  • If a speed up attempt does fail with an RPC error, the user should stay on the confirmation screen, be shown this as an error, and have a chance to select a new gas price.
@danfinlay danfinlay added type-bug area-transactions area-gas Sev2-normal Normal severity; minor loss of service or inconvenience. labels Sep 17, 2020
@tmashuang
Copy link
Contributor

Related to #9053

@tmashuang
Copy link
Contributor

tmashuang commented Sep 21, 2020

For testing purposes, on a Test Network we can take advantage of the exceeds block gas limit error from the RPC to simulate the tx failure.

  1. Submit a tx on a testnet (Rinkeby) with a gas price < 1
  2. Click Speed Up
  3. Under Advanced Tab for gas limit set to 10000000000 . Gas price to 1 , this shouldn't matter though.
  4. Click the Save button

This will/should update the tx list item to a failed state. Thus not showing any visible indication of the tx with gas price < 1 that has been submitted, and still pending on the network. I think this is fundamental issue on how we present transactions in the transaction list which #9041 is suppose to patch, not entirely fix.

@danfinlay danfinlay added Sev1-high High severity; partial loss of service with severe impact upon users, with no workaround. and removed Sev2-normal Normal severity; minor loss of service or inconvenience. labels Oct 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-gas area-transactions Sev1-high High severity; partial loss of service with severe impact upon users, with no workaround. type-bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants