This page tracks releases and changes for version 0.5.x from the cosmos/evm repository.
For all releases, see the next version.
BUG FIXES
- #471 Notify new block for mempool in time
- #492 Duplicate case switch to avoid empty execution block
- #509 Allow value with slashes when query token_pairs
- #495 Allow immediate SIGINT interrupt when mempool is not empty
- #416 Fix regression in CometBlockResultByNumber when height is 0 to use the latest block. This fixes eth_getFilterLogs RPC.
- #545 Check if mempool is not nil before accepting nonce gap error tx.
- #585 Use zero constructor to avoid nil pointer panic when BaseFee is 0d
- #591 CheckTxHandler should handle “invalid nonce” tx
- #642 “tx not found in mempool” error on chain startup
- #643 Support for mnemonic source (file, stdin,etc) flag in key add command.
- #645 Align precise bank keeper for correct decimal conversion in evmd.
- #656 Fix race condition in concurrent usage of mempool StateAt and NotifyNewBlock methods.
- #658 Fix race condition between legacypool’s RemoveTx and runReorg.
- #687 Avoid blocking node shutdown when evm indexer is enabled, log startup failures instead of using errgroup.
- #689 Align debug addr for hex address.
- #668 Fix panic in legacy mempool when Reset() was called with a skipped header between old and new block.
- #723 Fix TransactionIndex in receipt generation to use actual EthTxIndex instead of loop index.
- #729 Remove non-deterministic state mutation from EVM pre-blocker.
- #725 Fix inconsistent block hash in json-rpc.
- #727 Avoid nil pointer for
tx evm rawdue to uninitialized EVM coin info. - #730 Fix panic if evm mempool not used.
- #733 Avoid rejecting tx with unsupported extension option for ExtensionOptionDynamicFeeTx.
- #736 Add InitEvmCoinInfo upgrade to avoid panic when denom is not registered.
- #732 Fix gas meter race condition in integration tests
IMPROVEMENTS
- #708 Add configurable testnet validator powers
- #698 Expose mempool configuration flags and move mempool configuration in app.go to helper
- #538 Optimize
eth_estimateGasgRPC path: short-circuit plain transfers, add optimistic gas bound based onMaxUsedGas. - #513 Replace
TestEncodingConfigwith productionEncodingConfigin encoding package to remove test dependencies from production code. - #467 Replace GlobalEVMMempool by passing to JSONRPC on initiate.
- #352 Remove the creation of a Geth EVM instance, stateDB during the AnteHandler balance check.
- #496 Simplify mempool instantiation by using configs instead of objects.
- #512 Add integration test for appside mempool.
- #568 Avoid unnecessary block notifications when the event bus is already set up.
- #511 Minor code cleanup for
AddPrecompileFn. - #576 Parse logs from the txResult.Data and avoid emitting EVM events to cosmos-sdk events.
- #584 Fill block hash and timestamp for json rpc.
- #582 Add block max-gas (from genesis.json) and new min-tip (from app.toml/flags) ingestion into mempool config
- #580 add appside mempool e2e test
- #598 Reduce number of times CreateQueryContext in mempool.
- #606 Regenerate mock file for bank keeper related test.
- #609 Make
erc20Keeperoptional in the EVM keeper - #624 Cleanup unnecessary
fix-revert-gas-refund-height. - #635 Move DefaultStaticPrecompiles to /evm and allow projects to set it by default alongside the keeper.
- #639 Remove
/typesand move types into respective folders. - #630 Reduce feemarket parameter loading to minimize memory allocations.
- #577 Cleanup precompiles boilerplate code.
- #648 Move all
antelogic such asNewAnteHandlerfrom theevmdpackage toevm/anteso it can be used as library functions. - #659 Move configs out of EVMD and deduplicate configs
- #664 Add EIP-7702 integration test
- #684 Add unit test cases for EIP-7702
- #685 Add EIP-7702 e2e test
- #680 Introduce a
StaticPrecompilesbuilder - #701 Add address codec support to ERC20 IBC callbacks to handle hex addresses in addition to bech32 addresses.
- #704 Fix EIP-7702 test cases
- #709 Fix mempool e2e test
- #710 Fix EoA-CA Identification logic
- #711 Add debug_traceCall api
- #720 Refactor systemtests
- #734 Disable evm mempool if max-txs set to -1.
- #743 Apply state overrides to eth_estimateGas api
FEATURES
- #665 Add EvmCodec address codec implementation
- #346 Add eth_createAccessList method and implementation
- #337 Support state overrides in eth_call.
- #502 Add block time in derived logs.
- #633 go-ethereum metrics are now emitted on a separate server. default address: 127.0.0.1:8100.
- #650 Make staking precompile queries return the full validators’ description structure.
API-BREAKING
- #477 Refactor precompile constructors to accept keeper interfaces instead of concrete implementations, breaking the existing
NewPrecompilefunction signatures. - #594 Remove all usage of x/params
- #577 Changed the way to create a stateful precompile based on the cmn.Precompile, change
NewPrecompileto not return error. - #661 Removes evmAppOptions from the repository and moves initialization to genesis. Chains must now have a display and denom metadata set for the defined EVM denom in the bank module’s metadata.