You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I don't think this is worth doing in the short term because Gelato is more important, but creating this to make sure it doesn't get lost in the weeds. Context from Discord:
We have a timeout of 5 minutes for each transaction that's submitted. If 5 minutes hits, it's considered an error, and the submitter will move onto the next tick. The same nonce is used for future txs so we don't run into any nonce issues. What we may however run into is a situation like:
tx 0 is submitted with gas price 10 and nonce N, but there's a gas spike so it's not mined
5 mins passes without a receipt, so a timeout occurs
new tick, so tx 1 is now submitted with nonce N and the latest gas price, which happens to be something < 11 (in other words, less than 1.1 * the original gas price, which is the required gas price to displace tx 0). An error occurs because of this
new tick, tx 2 is attempted, etc...
I think this is pretty unlikely to actually result in issues because it's really unlikely for the gas price of the chain to stay in the range (10, 11), preventing tx 0 from being mined and preventing tx 1 from displacing tx 0 in the mempool.
However if we always set the gas price to 1.1x what's returned from eth_getGasPrice, I think we can get around this issue. E.g. assuming eth_getGasPrice responds with the minimum price to get your tx included in a block and the response is 10.001, which is just above tx 0's gas price meaning that tx 0 can't get mined, and also a price too low to have tx 1 displace tx 0, we'd multiply that by 1.1 to get ~11.0011, which is > 10% of tx 0's gas price, resulting in displacing
The text was updated successfully, but these errors were encountered:
I don't think this is worth doing in the short term because Gelato is more important, but creating this to make sure it doesn't get lost in the weeds. Context from Discord:
We have a timeout of 5 minutes for each transaction that's submitted. If 5 minutes hits, it's considered an error, and the submitter will move onto the next tick. The same nonce is used for future txs so we don't run into any nonce issues. What we may however run into is a situation like:
I think this is pretty unlikely to actually result in issues because it's really unlikely for the gas price of the chain to stay in the range (10, 11), preventing tx 0 from being mined and preventing tx 1 from displacing tx 0 in the mempool.
However if we always set the gas price to 1.1x what's returned from eth_getGasPrice, I think we can get around this issue. E.g. assuming eth_getGasPrice responds with the minimum price to get your tx included in a block and the response is 10.001, which is just above tx 0's gas price meaning that tx 0 can't get mined, and also a price too low to have tx 1 displace tx 0, we'd multiply that by 1.1 to get ~11.0011, which is > 10% of tx 0's gas price, resulting in displacing
The text was updated successfully, but these errors were encountered: