Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

v0.4.1

Choose a tag to compare

@vladjdk vladjdk released this 14 Aug 18:45
· 187 commits to main since this release
f0609d9

v0.4.1

Cosmos EVM v0.4.1 is a minor version update with major feature additions and several quality of life improvements. For complete documentation on the latest version, refer to the docs.

Major feature upgrades:

  • Upgrades Go-Ethereum v1.16.2
  • EVM Callbacks, allowing OnReceive messages to be executed on IBC receipts
  • (Experimental) EVM-Compatible Appside Mempool (Integration and Architecture Docs)
    • Adds the txpool namespace
  • Preinstall message handler for adding preinstalled smart contracts at specified addresses

Major quality of life improvements

  • Improved StateDB balance handling
  • JSON-RPC alignment with Go-Ethereum
  • Fully decoupled /evmd from /evm
  • Cleaned up EvmAppOptions
  • Fixed keyring options
  • Multi-node testing infrastructure

For migrating from v0.3.x, please refer to the migration guide.

What's Changed

  • Consolidate EVM Chain ID by @vladjdk in #192
  • Fix keyring options in add command by @Eric-Warehime in #196
  • chore: update to golangci-lint v2 by @aljo242 in #202
  • EVM Callbacks by @AdityaSripal in #150
  • refactor(precompiles): apply journal-based revert approach by @cloudgray in #205
  • tests: refactoring by @zsystm in #198
  • tests: exclude generated and irrelevant files from coverage report by @zsystm in #213
  • fix unmarshalling of uint64 for "0x..." strings by @vladjdk in #216
  • chore: Return default feemarket params when unset by @Eric-Warehime in #207
  • chore: add address equivalence test by @aljo242 in #203
  • chore: clean up deps by @aljo242 in #230
  • fix(ics20): correct balance accounting issue with test coverage by @zsystm in #219
  • Fixes typo in gov precompile IGov.sol by @Cordtus in #237
  • refactor: fully decouple evm from evmd by @zsystm in #229
  • chore: remove gosec workflow by @aljo242 in #238
  • feat: preinstalls by @gjermundgaraba in #226
  • feat: Add Preinstall Message Handler by @Eric-Warehime in #251
  • feat(x/vm): apply stack-based StateDB snapshot mechamism for precompile call by @cloudgray in #244
  • fix(precompiles): return data for revert by @cloudgray in #224
  • Revert "(chore): move feemarket update BaseFee to EndBlock (#190)" by @mmsqe in #255
  • feat(precompiles): add BalanceHandler to handle native balance change by @cloudgray in #201
  • chore: reset consensus version to 1 by @cloudgray in #278
  • fix: align eth_feeHistory with geth by @mmsqe in #246
  • fix: align filter block tag with geth by @mmsqe in #247
  • fix: pad ECDSA signature fields to 32 bytes in signMsg to prevent intermittent P256 precompile test failures by @zsystm in #274
  • fix(precompiles/slashing): decode bech32 consensus address before converting to bytes by @zsystm in #267
  • fix: non-eip-155 tx panic when get signer by @yihuang in #282
  • feat: set no-op router to EvidenceKeeper for evmd by @zsystm in #271
  • test: cleanup EvmAppOptions related config by @mmsqe in #263
  • fix: align BytesToAddress in parseHexAddress by @mmsqe in #276
  • chore: minor update transientStorage by @songgaoye in #257
  • chore: rm unused file by @songgaoye in #264
  • Problem: no dependency conflicts between cosmos-db and go-ethereum by @mmsqe in #279
  • fix: test case use large gas price by @yihuang in #292
  • feat: support build tag with rocksdb by @mmsqe in #200
  • fix: align revert reason with go ethereum that expects hex-encoded result by @mmsqe in #289
  • fix: use address codecs in precompiles by @technicallyty in #291
  • chore: remove dead file by @aljo242 in #302
  • EVM-131: Add enforcement of a single EVM tx per Cosmos tx by @almk-dev in #294
  • chore: more cleanup by @aljo242 in #303
  • Update CODEOWNERS by @aljo242 in #310
  • chore: remove super linter by @technicallyty in #309
  • Update README.md by @aljo242 in #295
  • feat!: remove evidence precompile by @zsystm in #305
  • chore: minor deps bump by @aljo242 in #299
  • ci: add merge_group to ci jobs by @technicallyty in #311
  • feat: 4 node localnet infra by @technicallyty in #301
  • chore: evm access_list prealloc by @songgaoye in #307
  • feat: add systemtest capabilities by @technicallyty in #304
  • fix(grpc): add sanity check to trace_tx by @thomas-nguy in #296
  • Fix compile issue in start.go by @NotJeremyLiu in #179
  • fix: use owner address instead of precompile in EmitApprovalEvent by @zsystm in #317
  • fix: include missing EvmUnitAnteTestSuite by @zsystm in #327
  • fix: make p256 test deterministic by @technicallyty in #332
  • fix: p256 flaky test by @songgaoye in #350
  • fix: properly bubble up errors in BlockHash rpcs and fix flaky tests by @almk-dev in #330
  • fix: use PriorityMempool with signer extractor to prevent missing signers error in tx execution by @mmsqe in #245
  • chore: update .mergify.yml by @aljo242 in #361
  • fix: add break label in ws loop to properly escape outer loop by @almk-dev in #347
  • feature: Add txpool namespace stubs ahead of app-side mempool implementation by @almk-dev in #344
  • fix: estimate gas missing fields for new tx type by @yihuang in #316
  • feat(github actions): add workflow triggering docs update on release by @Cordtus in #357
  • chore: add audit final report by @aljo242 in #365
  • docs: audit by @aljo242 in #366
  • tests: add precompile solidity e2e tests by @zsystm in #253
  • use bigger depo runners for tests by @beengud in #370
  • audit: revert to fork commit by @almk-dev in #369
  • audit: apply final patch from evm-internal by @almk-dev in #373
  • Re-apply 388b5c0 (fix merge groups) by @almk-dev in #377
  • fix: update new precompile stucture in local node script by @almk-dev in #376
  • post-audit: batch 1 by @almk-dev in #382
  • post-audit: batch 2 by @almk-dev in #388
  • post-audit: batch 3 by @almk-dev in #389
  • post-audit: batch 4 by @almk-dev in #398
  • post-audit: batch 5 (final) by @almk-dev in #392
  • fix: debug_traceTrasaction fail with block height mismatch by @yihuang in #384
  • test: avoid invalid gas cap & fee rounding error in BenchmarkAnteHandler by @mmsqe in #345
  • fix: align filter rule for debug trace block by @mmsqe in #335
  • chore(deps): bump tiny-secp256k1 from 1.1.6 to 1.1.7 in /tests/solidity by @dependabot[bot] in #367
  • docs: Create contributing guide by @aljo242 in #323
  • fix: typo in comment by @yihuang in #386
  • fix: wait for graceful shutdown before restart by @mmsqe in #313
  • feat: update go-ethereum to 1.16 by @yihuang in #315
  • [EVM-186] Enforce EIP-2681 - nonce upper bound in ante handler by @Cordtus in #408
  • fix: correct RPC address parameter in StartJSONRPC call by @mmsqe in #409
  • fix: avoid unnecessary block result in header related api call by @mmsqe in #340
  • feat: add limit for batch request and response size by @mmsqe in #249
  • Adds readme docs for all precompiles by @Cordtus in #414
  • test: add nonce gap tx test by @technicallyty in #331
  • test: add eth fee priority systemtest by @technicallyty in #333
  • fix: align unit when CalculateBaseFee by @mmsqe in #300
  • Problem: get receipt should not return error on tx not found by @yihuang in #379
  • fix: unrecognized/unsupported public key type: *secp256k1.PubKey for multisign by @mmsqe in #288
  • fix: avoid pending tx comes after get mined by @mmsqe in #252
  • fix: align tracer config with go-ethereum by @mmsqe in #343
  • chore: add check for changelog by @aljo242 in #423
  • fix: apply missing changes from audit by @zsystm in #426
  • fix: incorrect bank metadata generation by @zsystm in #431
  • feat: refactor MsgEthereumTx with eth transaction by @yihuang in #243
  • re-do #420 to main by @Cordtus in #432
  • ignore MD024 duplicate headers rule by @Cordtus in #433
  • markdown ci cont. by @Cordtus in #434
  • chore: prepare v0.4.0 with minor dep updates by @aljo242 in #435
  • chore: align function and package names by @aljo242 in #422
  • fix: align precompiles map with available static check by @mmsqe in #441
  • feat: enforce app creator returning application implement AppWithPendingTxStream in build time by @mmsqe in #440
  • chore: move evmd ante options to evm lib by @aljo242 in #443
  • (feat):Appside Mempool by @vladjdk in #387
  • feat: remove deprecated apis by @zsystm in #456
  • fix: apply multi decode functions instead of string contains check in HexAddressFromBech32String by @mmsqe in #454
  • fix: cleanup unused cancel function in filter by @mmsqe in #452
  • chore: add migration guide by @aljo242 in #448
  • fix: avoid nil pointer by checking error in gov precompile FromResponse by @mmsqe in #442
  • fix solidity examples in precompile readmes by @Cordtus in #458
  • chore: update log package to support go v1.25 by @aljo242 in #459
  • Mempool Readme by @vladjdk in #462

New Contributors

Full Changelog: v0.3.1...v0.4.1