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
Transaction is successfully sent
Transaction failed. Replacement transaction underpriced error is shown after sending a transaction and clicking Got it button

geth.log
TF.log
TF session: https://app.testfairy.com/projects/4803622-status/builds/8559654/sessions/4398752145?source=latest-sessions
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
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.