airgap-wallet icon indicating copy to clipboard operation
airgap-wallet copied to clipboard

Control for changing transaction fee is disabled (ETH)

Open devourer66 opened this issue 3 years ago • 4 comments

Hi, it seems controls to change transaction fee are not working. It sets the lowest possible comission for ETh and there is no way to change it. Transaction stucks, it even does not show up on etherscan.

Possibly the issue is somehow related to the commented code here https://github.com/airgap-it/airgap-wallet/blob/master/src/app/pages/transaction-prepare/transaction-prepare.spec.ts

So prominent issue and no reports so far :)

devourer66 avatar May 04 '21 19:05 devourer66

The controls are disabled until the fee estimation is done. For fee estimation to work, you need to enter a recipient address, as well as an amount. Then there will be a loader close to the fee and is fetching the current fee. Only after this is done, the transaction can be created.

If this is not the behavior you have, could you please post a screenshot of that state?

AndreasGassmann avatar May 05 '21 11:05 AndreasGassmann

Temporarily ran out of Ether on that address, so I'm not able to reproduce a screenshot.

Though at this point I could add the following details:

  1. Transaction was created and signed with airgap vault.
  2. Aforementioned transaction was created with a fee of 0.00001 ETH as I was not able to change that value due to the disabled control.
  3. Transaction was in a pending state for at least 8h
  4. Transaction could not be found in blockexplorer (etherscan.io)
  5. I had to override that transaction using another wallet restored from the same seed I used for Airgap. After that Airgap wallet displayed both of them, but the one made from the airgap wallet was in a pending state.
  6. Failed transaction definitely reached somewhere (some limbo before mempool?), as I installed Airgap wallet on another device, imported account from Airgap vault, and it fetched both aforementioned transactions.

From the context you gave me, It looks like your automatic fee calculator failed, but still, I was able to sign and send it.

Will try reproducing in a few days later on.

devourer66 avatar May 05 '21 17:05 devourer66

  1. That fee is very low, but I just checked our code base and we don't have this value hardcoded anywhere. We use the Ethereum node to call eth_estimateGas to get the gas value. I'm not entirely sure how the internal calculation of that call is done, but maybe it returned a very low value for some reason.
  2. This is expected and ok if the fee is low
  3. I have not seen this happen recently, but a while ago when we had to send a bunch of "low fee" transactions, it was possible for them to be dropped from the mempool. So that's probably what happened.
  4. AirGap does not prevent you from submitting multiple transactions if the network allows it. It does not work for BTC for example, because the node returns an error if you use an input twice. But with ETH, you can simply create another transaction with a higher fee and submit it, which will overwrite the old transaction. The pending state of the transaction inside airgap is cleared once the block hash was included in a block, or after 24 hours (cleanup)

The one thing I cannot explain or reproduce is why the slider was not active. Did you activate advanced mode? Because that allows you to enter a value regardless of the state of the page (eg. if fee estimation fails).

AndreasGassmann avatar May 06 '21 08:05 AndreasGassmann

@AndreasGassmann OK, I've managed to reproduce. https://user-images.githubusercontent.com/57077168/118036109-d3726580-b374-11eb-96e3-c203347cd006.mp4

devourer66 avatar May 12 '21 19:05 devourer66

This issue has been fixed a while ago

debeldami avatar Dec 20 '23 14:12 debeldami