Evermint is a fork of open source Evmos, maintains bug fixes, customization and enable developers to fork and transform to their chain, fully customized naming, in just 2 steps. For research and development purpose.
GNU Lesser General Public License v3.0
3
stars
3
forks
source link
Problem: EVM-Tx, which immediately ignored pre-execution when block out of gas, still included in `eth_get...` #97
When Tx 1 & Tx 2 consumed all block gas, the rest txs (Tx 3) will be immediately marked as failure without executing, nonce not changed so open an ability to resend later, thus tx exists in multiple block.
Side effect: eth_getBlockBy*** returns txs list contains the Tx of a higher block, which it executed, that totally wrong.
Solution 1:
Prevent the tx to be executed again (eg by increase sender nonce without charges gas fee)
Cosmos behavior: let say 3 txs:
When Tx 1 & Tx 2 consumed all block gas, the rest txs (Tx 3) will be immediately marked as failure without executing, nonce not changed so open an ability to resend later, thus tx exists in multiple block.
Side effect:
eth_getBlockBy***
returns txs list contains the Tx of a higher block, which it executed, that totally wrong.Solution 1: Prevent the tx to be executed again (eg by increase sender nonce without charges gas fee)
Solution 2: Exclude the tx from
eth_getBlockBy***