Status-react: Transaction failed - replacement transaction underpriced when sending a transaction from recovered account

Created on 2 Aug 2018  路  5Comments  路  Source: status-im/status-react

Description

Type: Bug

Summary: Transaction failed. Replacement transaction underpriced error happens when a recovered user with funds sends a transaction. For now it already happened when sending a transaction from wallet to an address, to a contact in 1-1 chat and when deploying a contract from Status Test DApp and for both ETH and tokens

Expected behavior

Transaction is successfully sent

Actual behavior

Transaction failed. Replacement transaction underpriced error is shown after sending a transaction and clicking Got it button
image

Reproduction

  • Open Status
  • Recover an account of user with funds
  • Send a transaction

Additional Information

  • Status version: 0.9.24 (6289) node 7ebe0c3
  • Operating System: Android 7.1

Logs

geth.log
TF.log
TF session: https://app.testfairy.com/projects/4803622-status/builds/8559654/sessions/4398752145?source=latest-sessions

bug e2e test blocker help to reproduce wallet

Most helpful comment

@Serhy it's different.
this one most probably happens if there are two test sessions that happen at the same time and use the same account.
I'm not sure how to deal with it exactly. Maybe we can have a pool of accounts that we can use and make sure that they are different for all the test sessions.
We can also delay the test session if there is no account like that.

All 5 comments

This is because of, apparently, transaction been sent with GasPrice = 0 (visible in TF logs). Probably request for the current gas price could fail at some stage and it leads to it's 0/null value. It could be reproduced in next way:

1) Open status, create new account. Change network to Ropsten.
2) Request /faucet.
3) Add any contact in contacts
4) Enable airplane mode on your device.
5) Navigate to Wallet -> Send transaction screen.
6) Select Recipient and enter valid amount of ETH (e.g. 0.0001)
7) Note, if you reveal Advanced options the Gwei value is empty there (expected as we are offline)
8) Disable airplane mode
9) Sign this transaction with the valid password

The only difference is that in this case (Android 7 and 6.0.1) the error appears transaction underpriced (not the replacement transaction underpriced like on a screenshot in description).

@Serhy it's different.
this one most probably happens if there are two test sessions that happen at the same time and use the same account.
I'm not sure how to deal with it exactly. Maybe we can have a pool of accounts that we can use and make sure that they are different for all the test sessions.
We can also delay the test session if there is no account like that.

@mandrigin I will fix it on e2e side today, thanks for finding the root cause

@antdanchenko Can we close this issue off now?

sure, it was already fixed on our side in https://github.com/status-im/status-react/pull/5871
closing this one

Was this page helpful?
0 / 5 - 0 ratings