Expected Behavior
eth_sendRawTransaction with gas price of 5000000000 wei goes through or returns a different error message.
Actual Behavior
eth_sendRawTransaction returns
{"jsonrpc":"2.0","error":{"code":-32010,"message":"Transaction gas price is too low. It does not satisfy your node's minimal gas price (minimal: 0, got: 5000000000). Try increasing the gas price."}
Checking the node's minimal gas price definitely returns 0x250e87c or 38856828 wei, which is definitely still less than 5000000000 wei.
curl --data '{"jsonrpc": "2.0", "id": 0, "method": "parity_minGasPrice"}' -H "Content-Type: application/json" -X POST localhost:8545
{"jsonrpc":"2.0","result":"0x250e87c","id":0}
I've never programmed in Rust, but looking at the source code of the error and the default option, it looks like maybe the option is never getting set, or maybe there's some printing floating point error?
Please let me know if any other details would be useful here! It looks like we may only be seeing this on nodes with --pruning=archive, although I can't say that for certain.
@joshua-mir any update on this - we're having customers run into this issue!
Hi - Surprised this hasn't been addressed by anyone yet, it's quite a constant issue. Any help appreciated 👍
I think this issue is more likely to be caused by duplicate transactions being submitted to the tx queue with the same gas price and the error message doesn't communicate that.
Still seeing this in 2.5.5-stable and on nodes without pruning=archive this time, and @seunlanlege's explanation makes sense here— it's getting rejected because it's a dupe of a tx without meeting the 12.5% higher gasPrice requirement for replacing the tx.
Most helpful comment
I think this issue is more likely to be caused by duplicate transactions being submitted to the tx queue with the same gas price and the error message doesn't communicate that.