55b292f179
* deps(sdk): bump to v0.46.4 (#1423) * deps(sdk): bump to v0.46.4 * deps(sdk): add IAVLDisableFastNode flag with false default * imp: reduce integration test block time to 2s (#1428) * build(deps): bump github.com/onsi/gomega from 1.23.0 to 1.24.0 (#1429) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.23.0...v1.24.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(rpc): different result from `eth_getProof` comparing with Ethereum (#1431) * align with eth_getProof for more info, see https://eips.ethereum.org/EIPS/eip-1186 * add GetHexProofs * add change doc * keep default res * fix lint * add e2e test * Apply suggestions from code review * fix lint * nix run -f ./nix gomod2nix * Refactor EIP-712 signature verification (#1397) * [WIP] EIP-712 Signature Refactor * Debug and add ante tests * Add tests for failure cases * Add changelog entry * Code cleanup * Add tests for MsgDelegate and MsgWithdrawDelegationReward * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Code cleanup * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Minor codefix * Update ethereum/eip712/encoding.go * Minor code revision updates * Refactor EIP712 unit tests to use test suite * Address import cycle and implement minor refactors * Fix lint issues * Add EIP712 unit suite test function * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update ethereum/eip712/encoding.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Add minor refactors; increase test coverage * Correct ante_test for change in payload * Add single-signer util and tests * Update ethereum/eip712/encoding.go * Update ethereum/eip712/encoding.go * fix build Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * fix: build test on mac by updating to python3.10 (#1437) * build(deps): bump loader-utils from 1.4.0 to 1.4.1 in /tests/solidity (#1445) Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * imp(evm): improve performance of EstimateGas (#1444) * imp(evm): improve performance of EstimateGas * changelog * fix(rpc): decode `finalized` block number (#1442) * fix(rpc): decode 'finalized' block number * changelog Co-authored-by: Freddy Caceres <facs95@gmail.com> * build(deps): bump github.com/onsi/gomega from 1.24.0 to 1.24.1 (#1449) Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.24.0 to 1.24.1. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.24.0...v1.24.1) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/spf13/viper from 1.13.0 to 1.14.0 (#1439) Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.13.0 to 1.14.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.13.0...v1.14.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: 4rgon4ut <59182467+4rgon4ut@users.noreply.github.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix: unstable tx_priority test (#1440) * fix unstable tx_priority test * Update tests/integration_tests/test_priority.py Co-authored-by: yihuang <huang@crypto.com> * Update tests/integration_tests/test_priority.py Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump github.com/cosmos/ibc-go/v5 from 5.0.1 to 5.1.0 (#1450) Bumps [github.com/cosmos/ibc-go/v5](https://github.com/cosmos/ibc-go) from 5.0.1 to 5.1.0. - [Release notes](https://github.com/cosmos/ibc-go/releases) - [Changelog](https://github.com/cosmos/ibc-go/blob/v5.1.0/CHANGELOG.md) - [Commits](https://github.com/cosmos/ibc-go/compare/v5.0.1...v5.1.0) --- updated-dependencies: - dependency-name: github.com/cosmos/ibc-go/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#1454) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.0 to 3.3.1. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v3.3.0...v3.3.1) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * refactor(all): refactor errors import to use cosmossdk.io (#1456) * refactor (errors) refactor errors import to use cosmossdk.io instead of cosmos-sdk/types/errors * refactor (errors) refactor errors import in ethsecp256k1 file * refactor (errors) add changes to changelog * build(deps): bump alpine from 3.16.2 to 3.16.3 (#1453) Bumps alpine from 3.16.2 to 3.16.3. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Empty KV gas config (#1460) * update sdk version * setup empty gas config * fix lint * fix integration tests * add Ante unit test * update changelog * test: remove unused integration tests (#1462) * fix: remove e2e github action (#1463) * remove unused tests * imp: remove e2e github action * build(deps): bump loader-utils from 1.4.1 to 1.4.2 in /tests/solidity (#1464) Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore (deps): Update geth version to v1.10.25 (#1413) * build(deps): bump github.com/ethereum/go-ethereum Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.10.19 to 1.10.25. - [Release notes](https://github.com/ethereum/go-ethereum/releases) - [Commits](https://github.com/ethereum/go-ethereum/compare/v1.10.19...v1.10.25) --- updated-dependencies: - dependency-name: github.com/ethereum/go-ethereum dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * wip geth update * fix geth init flag order * add chainId to getTransaction. fix types comparison. update expected values on tests * wip add tracer config * tracers test * update tests * update to v1.10.25 * fix linter python * ignore error * fix lint * additional changes from diff * fix issues * solve lint issues * fix tests * fix flake * wrap types comparison in integration tests * fix integration tests * fix flake * update changelog Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * Add EIP-712 encoding support type for any array (#1430) * Add EIP-712 encoding support type for any array * Refactor implementation + add tests * Refactor unpacking implementation; refactor test case * Fix lint issue * Add MsgExec test case * Update comment for clarity * Add changelog entry * Refactor `sdkerrors` to `errorsmod` Co-authored-by: Freddy Caceres <facs95@gmail.com> * fix: extend geth config on integration tests (#1467) * changing git config and adding tests * removing print statements * remove unneccessary imports * fix flake * remove geth setup test Co-authored-by: Freddy Caceres <facs95@gmail.com> * tests: Add unit tests for rpc client endpoints (#1409) * test: add preliminary unit tests and additional mocks for chain_info, account_info and filters * tests: added additional mocked client calls * tests: bumped coverage of call_tx to 56% and chain_info to 77% * tests: bumped call_tx coverage to 70.2% and added additional mock client calls * tests: tx_info preliminary tests added for debugging. * tests: added test coverage for sign_tx and additional mocks * tests: tx_info test coverage bumped to 60.3% * test: coverage for tracing_tests now at 72% * tests: added fee makert query client mocks and bumped chain_info to 87.6% coverage. * tests: failing Cosmos auth module account query. * tests: added FeeMarket Params mock to call_tx_test * cleanup some unused code * tests: added helper function to test suite for signing a Tx and bumped coverage of tx_info to 71.2% * test: commented GetAccount error case and bumped chain_info to 90.3% coverage * test: cleanup of tests in node_info, sign_tx and account_info * Clean up print Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Apply suggestions from code review * fix import issues Co-authored-by: Vladislav Varadinov <vlad@evmos.org> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * Refactor to omit empty optionals from EIP-712 type generation (#1459) * Refactor to omit empty values from type creation; add test for v1.vote * Add test for createValidator with optional fields left blank * Add changelog entry * Update changelog entry Co-authored-by: Freddy Caceres <facs95@gmail.com> * fix: protogen scripts were not correctly implemented (#1466) * Delete local copy of third party proto files * Update protocgen script and buf yaml files to mirror cosmos-sdk * Update makefile commands for proto-gen and proto-swagger-gen to correctly use docker * Commit changed .pb.go files after updating the protogen scripts * Adjust grep in proto-tools-installer script to look for correct gogoproto replacement * address reviews - remove unnecessary ignore in buf.yaml and cosmos-sdk download in the protocgen script * remove proto-update-deps from makefile as we don't store local copies of third party protofiles anymore * Add changelog entry * Update protoc-swagger-gen.sh * Remove third party queries from swagger-ui config (for now) * fix integrations tests * fix dead changelog links (markdown-link-check) Co-authored-by: Freddy Caceres <facs95@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * added gas consumption test (#1474) * build(deps): bump github.com/cosmos/cosmos-proto (#1475) Bumps [github.com/cosmos/cosmos-proto](https://github.com/cosmos/cosmos-proto) from 1.0.0-alpha7 to 1.0.0-alpha8. - [Release notes](https://github.com/cosmos/cosmos-proto/releases) - [Commits](https://github.com/cosmos/cosmos-proto/compare/v1.0.0-alpha7...v1.0.0-alpha8) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-proto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: chain-id in grpc query is not initialized without abci event (#1405) * fix: chain-id in grpc query is not initialized without abci event Closes: #1404 Solution: - pass the chain-id from caller. * Update CHANGELOG.md * only override if input is not empty * add comment to chain id * pass chain-id to state transition * Update x/evm/keeper/grpc_query.go * Apply suggestions from code review * fix golang lint * update gomod2nix.toml * fix unit tests * update gomod2nix * api breaking changelog * add unit tests, and fix TraceBlock by the way * Update CHANGELOG.md * test --grpc-only mode in integration tests * remove tmp var * Update tests/integration_tests/test_grpc_only.py * Update x/evm/keeper/grpc_query_test.go Co-authored-by: mmsqe <tqd0800210105@gmail.com> * fix linters * fix nil pointer in tests * fix conflicts * fix conflicts * fixes * fix lint * fix unit test Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: mmsqe <tqd0800210105@gmail.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * fix(evm): Simplify Gas Math (#1452) * fix math * changelog * imp(ante): refactor `AnteHandler` (#1455) * fix(ante): block gas check * refactor * rename * use gas wanted * remove consume gas logic on ante handler * comment * c++ * move min gas price * comment * Update app/ante/eth.go Co-authored-by: Vladislav Varadinov <vladislav.varadinov@gmail.com> * fix build * fix integration test script Co-authored-by: Vladislav Varadinov <vladislav.varadinov@gmail.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * tests: add additional gas consumption tests (#1477) * split existing gas test * added contract call test * fix flake issues, update gomod2nix * isort imports * add stateful contract calls * chore: update proto make commands (#1471) * Update proto make commands to use cosmos docker image and add notes for possible problems * Apply make proto-all with new docker container * Remove stale DOCKER_BUF variable * Revert to using the tendermintdev/sdk-proto-gen docker image * remove '@' in proto-lint and proto-check-breaking for consistency with other commands * Remove unnecessary go get from protocgen.sh (only works after adding --network host to docker run) * Add --network host to docker run for compatibility on linux * use cosmos/proto-builder docker image for proto-format because clang-format is not installed on tendermintdev/sdk-proto-gen * update swagger docs after recent additions to evm.proto in #1413 Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com> * Remove unbound labels from added custom tendermint metrics (#1434) * Remove unbound labels from added custom tendermint metrics * Add entry to changelog * deps: bump SDK to v0.46.6 (#1486) * deps: bump SDK to v0.46.6 * changelog * Update CHANGELOG.md Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com> Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com> * fear(eip712): Add EIP-712 encoding for multiple messages of the same type (#1483) * Add EIP-712 encoding for multiple messages of the same type * Fix Protobuf encoding bug * Add ante tests * Refactor naming and minor implementation details * Test empty transaction coverage * Address revisions for code clarity * Move aminoMessage type definition * fix: enable `fixIssue172` flag for non-deterministic keyring test (#1447) * enable fixIssue172 flag for test for more info, https://github.com/btcsuite/btcutil/pull/182/files * fix import * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * fix(tests): Delete inconsistent test (#1481) * Delete inconsistent test * delete test * build(deps): bump alpine from 3.16.3 to 3.17.0 (#1492) Bumps alpine from 3.16.3 to 3.17.0. --- updated-dependencies: - dependency-name: alpine dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0 (#1490) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.50.1 to 1.51.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.50.1...v1.51.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1 (#1489) Bumps [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) from 2.5.0 to 2.5.1. - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/ginkgo/compare/v2.5.0...v2.5.1) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: refactor imports naming for clarity (#1491) * chore: refactor imports naming for clarity * Merge main and fix conflicts * fix: align empty account result for old blocks as ethereum (#1484) * align result account as ethereum * add test_get_transaction_count * add change doc * sync gomod2nix * Apply suggestions from code review * crosscheck with ws & geth * sync gomod2nix * Update rpc/backend/utils.go * use session provider Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * imp(ante): refactor AnteHandler (#1479) * imp(ante): refactor AnteHandler * fix test * test * Adjust deprecated sdkerrors import (#1493) * refactor test files * Apply suggestions from code review Co-authored-by: 4rgon4ut <59182467+4rgon4ut@users.noreply.github.com> * lint * prioritization comment * fix test Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com> Co-authored-by: 4rgon4ut <59182467+4rgon4ut@users.noreply.github.com> * chore: Update linter and protogen configuration (#1478) * add protolint yaml * Update .protolint.yml with Evmos settings * Add super-linter.yml for GH action * Copy .markdownlint.yml settings from Evmos * Sort proto imports * address protolint error in all Protobuf files * update Makefile to mirror Proto commands for Evmos * remove unnecessary go get command in protocgen.sh when using cosmos docker image * copy .clang-format from Evmos repo * apply make proto-format * Execute make proto-all after changes to config are complete * address last linter comment * fix(server): telemetry setup (#1497) * fix(server): telemetry setup * more fixes * fix * changelog * update standalone process * chore(evm) - Delete deprecated store migrations (#1498) * (fix): Delete deprecated migrations * Update x/evm/module.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix(evm): Added Cancun and Shanghai blocks to ChainConfig (#1499) * (refactor): Added Cancun and Shanghai blocks to ChainConfig * (tests): Added test for invalid Shanghai and Cancun block * (fix): ran proto linter * Applied changes from code review * Added CHANGELOG entry Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * chore(app): add store listener to Ethermint app (#1501) * add store listener to Ethermint app * add changelog entry * build(deps): bump cosmossdk.io/math from 1.0.0-beta.3 to 1.0.0-beta.4 (#1502) Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.0-beta.3 to 1.0.0-beta.4. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.0.0-beta.3...math/v1.0.0-beta.4) --- updated-dependencies: - dependency-name: cosmossdk.io/math dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(app): register node service (#1505) * fix(app): register node service * changelog * fix(cmd): add missing GetAuxToFeeCommand (#1504) Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com> * chore(feemarket): Delete deprecated migration logic (#1508) * (refactor): Remove old migration code * (fix): Lint and add CHANGELOG entry * Remove simulation checks (#1507) * Add cli rollback command it's useful in app-hash mismatch situation. * Update CHANGELOG.md * (refactor): removed old sim tests logic * (fix): removed tests from CI * (fix): fix test.yml * (fix): format and lint * (fix): fix linter issue * (fix): fix linter issues v2 * (fix): linter * (fix): removed sim-test references * Applied changes from code review Co-authored-by: HuangYi <huang@crypto.com> * chore: verify fees refactor (#1496) * chore: verify fees refactor * adjust call structure in rest of repo after splitting up DeductTxCostsFromUserBalance * adjust test logic after splitting DeductTxCostsFromUserBalance up * remove outdated TODO * address PR comments - remove import name for evm keeper * remove misleading comment * address review comments - only handover boolean instead of context * remove TODO Co-authored-by: MalteHerrmann <malteherrmann.mail@web.de> Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com> * json-rpc(filters) fix block hash on newBlock filter (#1503) * tests(filters) add block hash check on newBlock filter * tests(filters) fix linting errors * fix(filters): fix newBlock filter response * fix(filters): add changes on CHANGELOG file * fix(ci): add gitleaks config (#1513) * fix(ci): add gitleaks config to ignore init.sh * make ci lint init.sh Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * tests(filters): add/improve integration tests for JSON-RPC methods (#1480) * tests(filters) add block hash check on newBlock filter * tests(filters) add getLogs test cases * tests(filters) add eth_newFilter multiple filters test cases * tests(filters) add eth_newFilter and eth_eth_uninstallFilter test case * tests(filters) fix linting errors * tests(filters) fix linting error on imports * tests(filters) add test case: register filter before contract deploy * tests(filters) refactor logs topics assertion * tests(filters) add topics filter test cases * tests(filters) fix linting errors * tests(filters) remove unnecessary package.json file * tests(filters) update based on PR comments * tests(filters) separate getNewBlocks failing test to a separate PR * tests(filters) add retry on send_tx to avoid Timeout error * tests(filters) add logs by topic and block range test case * update gomod2nix * tests(filters) remove test elapsed time log Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> * add dragonberry update changelog entry again Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com> Co-authored-by: Freddy Caceres <facs95@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mmsqe <mavis@crypto.com> Co-authored-by: Austin Chandra <austinchandra@berkeley.edu> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: 4rgon4ut <59182467+4rgon4ut@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: Adi Saravanan <59209660+adisaran64@users.noreply.github.com> Co-authored-by: Tomas Guerra <54514587+GAtom22@users.noreply.github.com> Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com> Co-authored-by: Vladislav Varadinov <vladislav.varadinov@gmail.com> Co-authored-by: Vladislav Varadinov <vlad@evmos.org> Co-authored-by: mmsqe <tqd0800210105@gmail.com> Co-authored-by: Devon Bear <itsdevbear@berachain.com> Co-authored-by: v-homsi <110708931+v-homsi@users.noreply.github.com>
54 KiB
54 KiB
Changelog
[v0.20.0-rc3] - 2022-11-30
State Machine Breaking
- (deps) #1419 Add ics23 patch for dragonberry and bump iavl to v0.19.4
- (deps) #1361 Bump ibc-go to
v5.1.0
- (evm) #1272 Implement modular interface for the EVM.
- (deps) #1168 Upgrade Cosmos SDK to
v0.46.6
. - (feemarket) #1194 Apply feemarket to native cosmos tx.
- (eth) #1346 Added support for
sdk.Dec
anded25519
type on eip712. - (evm) #1452 Simplify Gas Math in
ApplyTransaction
. - (eth) #1430 Added support for array of type
Any
on eip712. - (ante) 1460 Add KV Gas config on ethereum Txs.
- (eth) #1459 Added support for messages with optional types omitted on eip712.
- (geth) #1413 Update go-ethereum version to
v1.10.26
.
API Breaking
- (ante) #1214 Set mempool priority to EVM transactions.
- (evm) #1405 Add parameter
chainID
to evm keeper'sEVMConfig
method, so caller can choose to not use the cachedeip155ChainID
.
Features
Improvements
- (tests) #1507 Remove legacy sim tests
- (feemarket) #1508 Remove old x/params migration logic
- (evm) #1499 Add Shanghai and Cancun block
- (ante) #1455 Refactor
AnteHandler
logic - (evm) #1444 Improve performance of
eth_estimateGas
- (ante) #1388 Optimize AnteHandler gas consumption
- (lint) #1298 150 character line length limit,
gofumpt
, and linting - (feemarket) #1165 Add hint in specs about different gas terminology in Cosmos and Ethereum.
- (cli) #1226 Add custom app db backend flag.
- (ante) #1289 Change the fallback tx priority mechanism to be based on gas price.
- (test) #1311 Add integration test for the
rollback
cmd - (ledger) #1277 Add Ledger preprocessing transaction hook for EIP-712-signed Cosmos payloads.
- (rpc) #1296 Add RPC Backend unit tests.
- (rpc) #1352 Make the grpc queries run concurrently, don't block the consensus state machine.
- (cli) #1360 Introduce a new
grpc-only
flag, such that when enabled, will start the node in a query-only mode. Note, gRPC MUST be enabled with this flag. - (rpc) #1378 Add support for EVM RPC metrics
- (ante) #1390 Added multisig tx support.
- (test) #1396 Increase test coverage for the EVM module
keeper
- (ante) #1397 Refactor EIP-712 signature verification to support EIP-712 multi-signing.
- (deps) #1416 Bump Go version to
1.19
- (cmd) #1417 Apply Google CLI Syntax for required and optional args.
- (deps) #1456 Migrate errors-related functionality from "github.com/cosmos/cosmos-sdk/types/errors" (deprecated) to "cosmossdk.io/errors"
Bug Fixes
- (app) #1505 Setup gRPC node service with the application.
- (server) #1497 Fix telemetry server setup for observability
- (rpc) #1442 Fix decoding of
finalized
block number. - (rpc) #1179 Fix gas used in traceTransaction response.
- (rpc) #1284 Fix internal trace response upon incomplete
eth_sendTransaction
call. - (rpc) #1340 Fix error response when
eth_estimateGas
height provided is not found. - (rpc) #1354 Fix grpc query failure(
BaseFee
andEthCall
) on legacy block states. - (cli) #1362 Fix
index-eth-tx
error when the indexer db is empty. - (state) #1320 Fix codehash check mismatch when the code has been deleted in the evm state.
- (rpc) #1392 Allow fill the proposer address in json-rpc through tendermint api, and pass explicitly to grpc query handler.
- (rpc) #1431 Align hex-strings proof fields in
eth_getProof
as Ethereum. - (proto) #1466 Fix proto scripts and upgrade them to mirror current cosmos-sdk scripts
- (rpc) #1405 Fix uninitialized chain ID field in gRPC requests.
- (analytics) #1434 Remove unbound labels from custom tendermint metrics.
- (rpc) #1484 Align empty account result for old blocks as ethereum instead of return account not found error.
- (rpc) #1503 Fix block hashes returned on JSON-RPC filter
eth_newBlockFilter
.
[v0.19.3] - 2022-10-14
- (deps) 1381 Bump sdk to
v0.45.9
[v0.19.2] - 2022-08-29
Improvements
- (deps) 1301 Bump Cosmos SDK to
v0.45.8
, Tendermint tov0.34.21
, IAVL tov0.19.1
& store options
[v0.19.1] - 2022-08-26
State Machine Breaking
- (eth) #1305 Added support for optional params, basic types arrays and
time
type on eip712.
[v0.19.0] - 2022-08-15
State Machine Breaking
- (deps) #1159 Bump Geth version to
v1.10.19
. - (ante) #1176 Fix invalid tx hashes; Remove
Size_
field and validateHash
/From
fields in ante handler, recompute eth tx hashes in JSON-RPC APIs to fix old blocks. - (ante) #1173 Make
NewAnteHandler
return error if input is invalid
API Breaking
- (rpc) #1121 Implement Ethereum tx indexer
Bug Fixes
- (rpc) #1179 Fix gas used in
debug_traceTransaction
response.
Improvements
- (test) #1196 Integration tests setup
- (test) #1199 Add backend test suite with mock gRPC query client
- (test) #1189 JSON-RPC unit tests
- (test) #1212 Prune node integration tests
- (test) #1207 JSON-RPC types integration tests
- (test) #1218 Restructure JSON-RPC API
- (rpc) #1229 Add support for configuring RPC
MaxOpenConnections
- (cli) #1230 Remove redundant positional height parameter from feemarket's query cli.
- (test)#1233 Add filters integration tests
[v0.18.0] - 2022-08-04
State Machine Breaking
- (evm) #1234 Fix CVE-2022-35936 security vulnerability.
- (evm) #1174 Don't allow eth txs with 0 in mempool.
Improvements
- (ante) #1208 Change default
MaxGasWanted
value.
[v0.17.2] - 2022-07-26
Bug Fixes
- (rpc) #1190 Fix
UnmarshalJSON
panic of breaking EVM and fee marketParams
. - (evm) #1187 Fix
TxIndex
value (expected 0, actual 1) when trace the first tx of a block viadebug_traceTransaction
API.
[v0.17.1] - 2022-07-13
Improvements
- (rpc) #1169 Remove unnecessary queries from
getBlockNumber
function
[v0.17.0] - 2022-06-27
State Machine Breaking
- (evm) #1128 Clear tx logs if tx failed in post processing hooks
- (evm) #1124 Reject non-replay-protected tx in
AnteHandler
to prevent replay attack
API Breaking
- (rpc) #1126 Make some JSON-RPC APIS work for pruned nodes.
- (rpc) #1143 Restrict unprotected txs on the node JSON-RPC configuration.
- (all) #1137 Rename go module to
evmos/ethermint
API Breaking
- (json-rpc) tharsis#1121 Store eth tx index separately
Improvements
- (deps) #1147 Bump Go version to
1.18
. - (feemarket) #1135 Set lower bound of base fee to min gas price param
- (evm) #1142 Rename
RejectUnprotectedTx
toAllowUnprotectedTxs
for consistency with go-ethereum.
Bug Fixes
- (rpc) #1138 Fix GasPrice calculation with relation to
MinGasPrice
[v0.16.1] - 2022-06-09
Improvements
- (feemarket) #1120 Make
min-gas-multiplier
parameter accept zero value
Bug Fixes
- (evm) #1118 Fix
Type()
Account
methodEmptyCodeHash
comparison
[v0.16.0] - 2022-06-06
State Machine Breaking
- (feemarket) tharsis#1105 Update
BaseFee
calculation based onGasWanted
instead ofGasUsed
.
API Breaking
- (feemarket) tharsis#1104 Enforce a minimum gas price for Cosmos and EVM transactions through the
MinGasPrice
parameter. - (rpc) tharsis#1081 Deduplicate some json-rpc logic codes, cleanup several dead functions.
- (ante) tharsis#1062 Emit event of eth tx hash in ante handler to support query failed transactions.
- (analytics) tharsis#1106 Update telemetry to Ethermint modules.
- (rpc) tharsis#1108 Update GetGasPrice RPC endpoint with global
MinGasPrice
Improvements
- (cli) tharsis#1086 Add rollback command.
- (specs) tharsis#1095 Add more evm specs concepts.
- (evm) tharsis#1101 Add tx_type, gas and counter telemetry for ethereum txs.
Bug Fixes
- (rpc) tharsis#1082 fix gas price returned in getTransaction api.
- (evm) tharsis#1088 Fix ability to append log in tx post processing.
- (rpc) tharsis#1081 fix
debug_getBlockRlp
/debug_printBlock
don't filter failed transactions. - (ante) tharsis#1111 Move CanTransfer decorator before GasConsume decorator
- (types) tharsis#1112 Add
GetBaseAccount
to avoid invalid account error when create vesting account.
[v0.15.0] - 2022-05-09
State Machine Breaking
- (ante) tharsis#1060 Check
EnableCreate
/EnableCall
inAnteHandler
to short-circuit EVM transactions. - (evm) tharsis#1087 Minimum GasUsed proportional to GasLimit and
MinGasDenominator
EVM module param.
API Breaking
- (rpc) tharsis#1070 Refactor
rpc/
package:Backend
interface is nowBackendI
, which implementsEVMBackend
(for Ethereum namespaces) andCosmosBackend
(for Cosmos namespaces)- Previous
EVMBackend
type is nowBackend
, which is the concrete implementation ofBackendI
- Move
rpc/ethereum/types
->rpc/types
- Move
rpc/ethereum/backend
->rpc/backend
- Move
rpc/ethereum/namespaces
->rpc/namespaces/ethereum
- (rpc) tharsis#1068 Fix London hard-fork check logic in JSON-RPC APIs.
Improvements
- (ci, evm) tharsis#1063 Run simulations on CI.
Bug Fixes
- (rpc) tharsis#1059 Remove unnecessary event filtering logic on the
eth_baseFee
JSON-RPC endpoint.
[v0.14.0] - 2022-04-19
API Breaking
- (evm) tharsis#1051 Context block height fix on TraceTx. Removes
tx_index
onQueryTraceTxRequest
proto type. - (evm) tharsis#1091 Add query params command on EVM Module
Improvements
- (deps) tharsis#1046 Bump Cosmos SDK version to
v0.45.3
- (rpc) tharsis#1056 Make json-rpc namespaces extensible
Bug Fixes
- (rpc) tharsis#1050
eth_getBlockByNumber
fix on batch transactions - (app) tharsis#658 Support simulations for the EVM.
[v0.13.0] - 2022-04-05
API Breaking
- (evm) tharsis#1027 Change the
PostTxProcessing
hook interface to include the full message data. - (feemarket) tharsis#1026 Fix REST endpoints to use
/ethermint/feemarket/*
instead of/feemarket/evm/*
.
Improvements
- (deps) tharsis#1029 Bump Cosmos SDK version to
v0.45.2
- (evm) tharsis#1025 Allow to append logs after a post processing hook.
[v0.12.2] - 2022-03-30
Bug Fixes
- (feemarket) tharsis#1021 Fix fee market migration.
[v0.12.1] - 2022-03-29
Bug Fixes
- (evm) tharsis#1016 Update validate basic check for storage state.
[v0.12.0] - 2022-03-24
Bug Fixes
- (rpc) tharsis#1012 fix the tx hash in filter entries created by
eth_newPendingTransactionFilter
. - (rpc) tharsis#1006 Use
string
as the parameters type to correct ambiguous results. - (ante) tharsis#1004 Make
MaxTxGasWanted
configurable. - (ante) tharsis#991 Set an upper bound to gasWanted to prevent DoS attack.
- (rpc) tharsis#990 Calculate reward values from all
MsgEthereumTx
from a block ineth_feeHistory
.
[v0.11.0] - 2022-03-06
State Machine Breaking
- (ante) tharsis#964 add NewInfiniteGasMeterWithLimit for storing the user provided gas limit. Fixes block's consumed gas calculation in the block creation phase.
Bug Fixes
- (rpc) tharsis#975 Fix unexpected
nil
values forreward
, returned byEffectiveGasTipValue(blockBaseFee)
in theeth_feeHistory
RPC method.
Improvements
- (rpc) tharsis#979 Add configurable timeouts to http server
- (rpc) tharsis#988 json-rpc server always use local rpc client
[v0.10.1] - 2022-03-04
Bug Fixes
- (rpc) tharsis#970 Fix unexpected nil reward values on
eth_feeHistory
response - (evm) tharsis#529 Add support return value on trace tx response.
Improvements
- (rpc) tharsis#968 Add some buffer to returned gas price to provide better default UX for client.
[v0.10.0] - 2022-02-26
API Breaking
- (ante) tharsis#866
NewAnteHandler
constructor now receives aHandlerOptions
field. - (evm) tharsis#849
PostTxProcessing
hook now takes an Ethereum txReceipt
and afrom
Address
as arguments. - (ante) tharsis#916 Don't check min-gas-price for eth tx if london hardfork enabled and feemarket enabled.
State Machine Breaking
- (deps) tharsis#912 Bump Cosmos SDK version to
v0.45.1
- (evm) tharsis#840 Store empty topics as empty array rather than nil.
- (feemarket) tharsis#822 Update EIP1559 base fee in
BeginBlock
. - (evm) tharsis#817 Use
effectiveGasPrice
in ante handler, addeffectiveGasPrice
to tx receipt. - (evm) tharsis#808 increase nonce in ante handler for contract creation transaction.
- (evm) tharsis#851 fix contract address used in EVM, this issue is caused by tharsis#808.
- (evm) Reject invalid
MsgEthereumTx
wrapping tx - (evm) Fix
SelfDestruct
opcode by deleting account code and state. - (feemarket) tharsis#855 Consistent
BaseFee
check logic. - (evm) tharsis#729 Refactor EVM
StateDB
implementation. - (evm) tharsis#945 Bumb Go-ethereum version to
v1.10.16
Features
- (ante) tharsis#950 Add support for EIP712 signed Cosmos transactions
Improvements
- (types) tharsis#884 Introduce a new
EthAccountI
interface for EVM-compatible account types. - (types) tharsis#849 Add
Type
function to distinguish EOAs from Contract accounts. - (evm) tharsis#826 Improve allocation of bytes of
tx.To
address. - (evm) tharsis#827 Speed up creation of event logs by using the slice insertion idiom with indices.
- (ante) tharsis#819 Remove redundant ante handlers
- (app) tharsis#873 Validate code hash in GenesisAccount
- (evm) tharsis#901 Support multiple
MsgEthereumTx
in single tx. - (config) tharsis#908 Add
api.enable
flag for Cosmos SDK Rest server - (feemarket) tharsis#919 Initialize baseFee in default genesis state.
- (feemarket) tharsis#943 Store the base fee as a module param instead of using state storage.
Bug Fixes
- (rpc) tharsis#955 Fix websocket server push duplicated messages to subscriber.
- (rpc) tharsis#953 Add
eth_signTypedData
api support. - (log) tharsis#948 Redirect go-ethereum's logs to cosmos-sdk logger.
- (evm) tharsis#884 Support multiple account types on the EVM
StateDB
. - (rpc) tharsis#831 Fix BaseFee value when height is specified.
- (evm) tharsis#838 Fix splitting of trace.Memory into 32 chunks.
- (rpc) tharsis#860 Fix
eth_getLogs
when specify blockHash without address/topics, and limit the response size. - (rpc) tharsis#865 Fix RPC Filter parameters being ignored
- (evm) tharsis#871 Set correct nonce in
EthCall
andEstimateGas
grpc query. - (rpc) tharsis#878 Workaround to make GetBlock RPC api report correct block gas used.
- (rpc) tharsis#900
newPendingTransactions
filter return ethereum tx hash. - (rpc) tharsis#933 Fix
newPendingTransactions
subscription deadlock when a Websocket client exits without unsubscribing and the node errors. - (evm) tharsis#932 Fix base fee check logic in state transition.
[v0.9.0] - 2021-12-01
State Machine Breaking
- (evm) tharsis#802 Clear access list for each transaction
Improvements
- (app) tharsis#794 Setup in-place store migrators.
- (ci) tharsis#784 Enable automatic backport of PRs.
- (rpc) tharsis#786 Improve error message of
SendTransaction
/SendRawTransaction
JSON-RPC APIs. - (rpc) tharsis#810 Optimize tx index lookup in web3 rpc
Bug Fixes
- (license) tharsis#800 Re-license project to LGPLv3 to comply with go-ethereum.
- (evm) tharsis#794 Register EVM gRPC
Msg
server. - (rpc) tharsis#781 Fix get block invalid transactions filter.
- (rpc) tharsis#782 Fix wrong block gas limit returned by JSON-RPC.
- (evm) tharsis#798 Fix the semantic of
ForEachStorage
callback's return value
[v0.8.1] - 2021-11-23
Bug Fixes
- (feemarket) tharsis#770 Enable fee market (EIP1559) by default.
- (rpc) tharsis#769 Fix default Ethereum signer for JSON-RPC.
[v0.8.0] - 2021-11-17
State Machine Breaking
- (evm, ante) tharsis#620 Add fee market field to EVM
Keeper
andAnteHandler
. - (all) tharsis#231 Bump go-ethereum version to
v1.10.9
- (ante) tharsis#703 Fix some fields in transaction are not authenticated by signature.
- (evm) tharsis#751 don't revert gas refund logic when transaction reverted
Features
- (rpc, evm) tharsis#673 Use tendermint events to store fee market basefee.
- (rpc) tharsis#624 Implement new JSON-RPC endpoints from latest geth version
- (evm) tharsis#662 Disable basefee for non london blocks
- (cmd) tharsis#712 add tx cli to build evm transaction
- (rpc) tharsis#733 add JSON_RPC endpoint
personal_unpair
- (rpc) tharsis#734 add JSON_RPC endpoint
eth_feeHistory
- (rpc) tharsis#740 add JSON_RPC endpoint
personal_initializeWallet
- (rpc) tharsis#743 add JSON_RPC endpoint
debug_traceBlockByHash
- (rpc) tharsis#748 add JSON_RPC endpoint
personal_listWallets
- (rpc) tharsis#754 add JSON_RPC endpoint
debug_intermediateRoots
Bug Fixes
- (evm) tharsis#746 Set EVM debugging based on tracer configuration.
- (app,cli) tharsis#725 Fix cli-config for
keys
command. - (rpc) tharsis#727 Decode raw transaction using RLP.
- (rpc) tharsis#661 Fix OOM bug when creating too many filters using JSON-RPC.
- (evm) tharsis#660 Fix
nil
pointer panic inApplyNativeMessage
. - (evm, test) tharsis#649 Test DynamicFeeTx.
- (evm) tharsis#702 Fix panic in web3 RPC handlers
- (rpc) tharsis#720 Fix
debug_traceTransaction
failure - (rpc) tharsis#741 Fix
eth_getBlockByNumberAndHash
return with non eth txs - (rpc) tharsis#743 Fix debug JSON RPC handler crash on non-existing block
Improvements
- (tests) tharsis#704 Introduce E2E testing framework for clients
- (deps) tharsis#737 Bump ibc-go to
v2.0.0
- (rpc) tharsis#671 Don't pass base fee externally for
EthCall
/EthEstimateGas
apis. - (evm) tharsis#674 Refactor
ApplyMessage
, removeApplyNativeMessage
. - (rpc) tharsis#714 remove
MsgEthereumTx
support inTxConfig
[v0.7.2] - 2021-10-24
Improvements
- (deps) tharsis#692 Bump Cosmos SDK version to
v0.44.3
. - (rpc) tharsis#679 Fix file close handle.
- (deps) tharsis#668 Bump Tendermint version to
v0.34.14
.
Bug Fixes
- (rpc) tharsis#667 Fix
ExpandHome
restrictions bypass
[v0.7.1] - 2021-10-08
Bug Fixes
- (evm) tharsis#650 Fix panic when flattening the cache context in case transaction is reverted.
- (rpc, test) tharsis#608 Fix rpc test.
[v0.7.0] - 2021-10-07
API Breaking
- (rpc) tharsis#400 Restructure JSON-RPC directory and rename server config
Improvements
- (deps) tharsis#621 Bump IBC-go to
v1.2.1
- (evm) tharsis#613 Refactor
traceTx
- (deps) tharsis#610 Bump Cosmos SDK to v0.44.1.
Bug Fixes
- (rpc) tharsis#642 Fix
eth_getLogs
when string is specified in filter's from or to fields - (evm) tharsis#616 Fix halt on deeply nested stack of cache context. Stack is now flattened before iterating over the tx logs.
- (rpc, evm) tharsis#614 Use JSON for (un)marshaling tx
Log
s from events. - (rpc) tharsis#611 Fix panic on JSON-RPC when querying for an invalid block height.
- (cmd) tharsis#483 Use config values on genesis accounts.
[v0.6.0] - 2021-09-29
State Machine Breaking
- (app) tharsis#476 Update Bech32 HRP to
ethm
. - (evm) tharsis#556 Remove tx logs and block bloom from chain state
- (evm) tharsis#590 Contract storage key is not hashed anymore
API Breaking
- (evm) tharsis#469 Deprecate
YoloV3Block
andEWASMBlock
fromChainConfig
Features
- (evm) tharsis#469 Support EIP-1559
- (evm) tharsis#417 Add
EvmHooks
for tx post-processing - (rpc) tharsis#506 Support for
debug_traceTransaction
RPC endpoint - (rpc) tharsis#555 Support for
debug_traceBlockByNumber
RPC endpoint
Bug Fixes
- (rpc, server) tharsis#600 Add TLS configuration for websocket API
- (rpc) tharsis#598 Check truncation when creating a
BlockNumber
frombig.Int
- (evm) tharsis#597 Check for
uint64
->int64
block height overflow onGetHashFn
- (evm) tharsis#579 Update
DeriveChainID
function to handlev
signature values< 35
. - (encoding) tharsis#478 Register
Evidence
to amino codec. - (rpc) tharsis#478 Getting the node configuration when calling the
miner
rpc methods. - (cli) tharsis#561
Export
andStart
commands now use the same home directory.
Improvements
- (evm) tharsis#461 Increase performance of
StateDB
transaction log storage (r/w). - (evm) tharsis#566 Introduce
stateErr
store inStateDB
to avoid meaningless operations if any error happened before - (rpc, evm) tharsis#587 Apply bloom filter when query ethlogs with range of blocks
- (evm) tharsis#586 Benchmark evm keeper
[v0.5.0] - 2021-08-20
State Machine Breaking
- (app, rpc) tharsis#447 Chain ID format has been changed from
<identifier>-<epoch>
to<identifier>_<EIP155_number>-<epoch>
in order to clearly distinguish permanent vs impermanent components. - (app, evm) tharsis#434 EVM
Keeper
struct andNewEVM
function now have a newtrace
field to define the Tracer type used to collect execution traces from the EVM transaction execution. - (evm) tharsis#175 The msg
TxData
field is now represented as a*proto.Any
. - (evm) tharsis#84 Remove
journal
,CommitStateDB
andstateObjects
. - (rpc, evm) tharsis#81 Remove tx
Receipt
from store and replace it with fields obtained from the Tendermint RPC client. - (evm) tharsis#72 Update
AccessList
to useTransientStore
instead of map. - (evm) tharsis#68 Replace block hash storage map to use staking
HistoricalInfo
. - (evm) tharsis#276 Vm errors don't result in cosmos tx failure, just different tx state and events.
- (evm) tharsis#342 Don't clear balance when resetting the account.
- (evm) tharsis#334 Log index changed to the index in block rather than tx.
- (evm) tharsis#399 Exception in sub-message call reverts the call if it's not propagated.
API Breaking
- (proto) tharsis#448 Bump version for all Ethermint messages to
v1
- (server) tharsis#434
evm-rpc
flags and app config have been renamed tojson-rpc
. - (proto, evm) tharsis#207 Replace
big.Int
in favor ofsdk.Int
forTxData
fields - (proto, evm) tharsis#81 gRPC Query and Tx service changes:
- The
TxReceipt
,TxReceiptsByBlockHeight
endpoints have been removed from the Query service. - The
ContractAddress
,Bloom
have been removed from theMsgEthereumTxResponse
and the response now contains the ethereum-formattedHash
in hex format.
- The
- (eth) tharsis#845 The
eth
namespace must be included in the list of API's as default to run the rpc server without error. - (evm) tharsis#202 Web3 api
SendTransaction
/SendRawTransaction
returns ethereum compatible transaction hash, and query apiGetTransaction*
also accept that. - (rpc) tharsis#258 Return empty
BloomFilter
instead of throwing an error when it cannot be found (nil
or empty). - (rpc) tharsis#277 Fix
BloomFilter
response.
Improvements
- (client) tharsis#450 Add EIP55 hex address support on
debug addr
command. - (server) tharsis#343 Define a wrap tendermint logger
Handler
go-ethereum'sroot
logger. - (rpc) tharsis#457 Configure RPC gas cap through app config.
- (evm) tharsis#434 Support different
Tracer
types for the EVM. - (deps) tharsis#427 Bump ibc-go to
v1.0.0
- (gRPC) tharsis#239 Query
ChainConfig
via gRPC. - (rpc) tharsis#181 Use evm denomination for params on tx fee.
- (deps) tharsis#423 Bump Cosmos SDK and Tendermint versions to v0.43.0 and v0.34.11, respectively.
- (evm) tharsis#66 Support legacy transaction types for signing.
- (evm) tharsis#24 Implement metrics for
MsgEthereumTx
, state transitions,BeginBlock
andEndBlock
. - (rpc) tharsis#124 Implement
txpool_content
,txpool_inspect
andtxpool_status
RPC methods - (rpc) tharsis#112 Fix
eth_coinbase
to return the ethereum address of the validator - (rpc) tharsis#176 Support fetching pending nonce
- (rpc) tharsis#272 do binary search to estimate gas accurately
- (rpc) tharsis#313 Implement internal debug namespace (Not including logger functions nor traces).
- (rpc) tharsis#349 Implement configurable JSON-RPC APIs to manage enabled namespaces.
- (rpc) tharsis#377 Implement
miner_
namespace.miner_setEtherbase
andminer_setGasPrice
are working as intended. All the other calls are not applicable and returnunsupported
. - (eth) tharsis#460 Add support for EIP-1898.
Bug Fixes
- (keys) tharsis#346 Fix
keys add
command with--ledger
flag for thesecp256k1
signing algorithm. - (evm) tharsis#291 Use block proposer address (validator operator) for
COINBASE
opcode. - (rpc) tharsis#81 Fix transaction hashing and decoding on
eth_sendTransaction
. - (rpc) tharsis#45 Use
EmptyUncleHash
andEmptyRootHash
for empty ethereumHeader
fields.
[v0.4.1] - 2021-03-01
API Breaking
- (faucet) tharsis#678 Faucet module has been removed in favor of client libraries such as
@cosmjs/faucet
. - (evm) tharsis#670 Migrate types to the ones defined by the protobuf messages, which are required for the stargate release.
Bug Fixes
- (evm) tharsis#799 Fix wrong precision in calculation of gas fee.
- (evm) tharsis#760 Fix Failed to call function EstimateGas.
- (evm) tharsis#767 Fix error of timeout when using Truffle to deploy contract.
- (evm) tharsis#751 Fix misused method to calculate block hash in evm related function.
- (evm) tharsis#721 Fix mismatch block hash in rpc response when use eht.getBlock.
- (evm) tharsis#730 Fix 'EIP2028' not open when Istanbul version has been enabled.
- (evm) tharsis#749 Fix panic in
AnteHandler
when gas price larger than 100000 - (evm) tharsis#747 Fix format errors in String() of QueryETHLogs
- (evm) tharsis#742 Add parameter check for evm query func.
- (evm) tharsis#687 Fix nonce check to explicitly check for the correct nonce, rather than a simple 'greater than' comparison.
- (api) tharsis#687 Returns error for a transaction with an incorrect nonce.
- (evm) tharsis#674 Reset all cache after account data has been committed in
EndBlock
to make sure every node state consistent. - (evm) tharsis#672 Fix panic of
wrong Block.Header.AppHash
when restart a node with snapshot. - (evm) tharsis#775 MisUse of headHash as blockHash when create EVM context.
Features
- (api) tharsis#821 Individually enable the api modules. Will be implemented in the latest version of ethermint with the upcoming stargate upgrade.
Features
- (api) tharsis#825 Individually enable the api modules. Will be implemented in the latest version of ethermint with the upcoming stargate upgrade.
[v0.4.0] - 2020-12-15
API Breaking
- (evm) tharsis#661
Balance
field has been removed from the evm module'sGenesisState
.
Features
- (rpc) tharsis#571 Add pending queries to JSON-RPC calls. This allows for the querying of pending transactions and other relevant information that pertains to the pending state:
eth_getBalance
eth_getTransactionCount
eth_getBlockTransactionCountByNumber
eth_getBlockByNumber
eth_getTransactionByHash
eth_getTransactionByBlockNumberAndIndex
eth_sendTransaction
- the nonce will automatically update to its pending nonce (when none is explicitly provided)
Improvements
- (evm) tharsis#661 Add invariant check for account balance and account nonce.
- (deps) tharsis#654 Bump go-ethereum version to v1.9.25
- (evm) tharsis#627 Add extra EIPs parameter to apply custom EVM jump tables.
Bug Fixes
- (evm) tharsis#661 Set nonce to the EVM account on genesis initialization.
- (rpc) tharsis#648 Fix block cumulative gas used value.
- (evm) tharsis#621 EVM
GenesisAccount
fields now share the same format as the auth moduleAccount
. - (evm) tharsis#618 Add missing EVM
Context
GetHash
field that retrieves a the header hash from a given block height. - (app) tharsis#617 Fix genesis export functionality.
- (rpc) tharsis#574 Fix outdated version from
eth_protocolVersion
.
[v0.3.1] - 2020-11-24
Improvements
- (deps) tharsis#615 Bump Cosmos SDK version to v0.39.2
- (deps) tharsis#610 Update Go dependency to 1.15+.
- (evm) tharsis#603 Add state transition params that enable or disable the EVM
Call
andCreate
operations. - (deps) tharsis#602 Bump tendermint version to v0.33.9
Bug Fixes
- (rpc) tharsis#613 Fix potential deadlock caused if the keyring
List
returned an error.
[v0.3.0] - 2020-11-16
API Breaking
- (crypto) tharsis#559 Refactored crypto package in preparation for the SDK's Stargate release:
crypto.PubKeySecp256k1
andcrypto.PrivKeySecp256k1
are nowethsecp256k1.PubKey
andethsecp256k1.PrivKey
, respectively- Moved SDK
SigningAlgo
implementation for Ethermint's Secp256k1 key tocrypto/hd
package.
- (rpc) tharsis#588 The
rpc
package has been refactored to account for the separation of each corresponding Ethereum API namespace:rpc/namespaces/eth
:eth
namespace. Exposes thePublicEthereumAPI
and thePublicFilterAPI
.rpc/namespaces/personal
:personal
namespace. Exposes thePrivateAccountAPI
.rpc/namespaces/net
:net
namespace. Exposes thePublicNetAPI
.rpc/namespaces/web3
:web3
namespace. Exposes thePublicWeb3API
.
- (evm) tharsis#588 The EVM transaction CLI has been removed in favor of the JSON-RPC.
Improvements
- (deps) tharsis#594 Bump go-ethereum version to v1.9.24
Bug Fixes
- (ante) tharsis#597 Fix incorrect fee check on
AnteHandler
. - (evm) tharsis#583 Fixes incorrect resetting of tx count and block bloom during
BeginBlock
, as well as gas consumption. - (crypto) tharsis#577 Fix
BIP44HDPath
that did not prependm/
to the path. This now uses theDefaultBaseDerivationPath
variable from go-ethereum to ensure addresses are consistent.
[v0.2.1] - 2020-09-30
Features
- (rpc) tharsis#552 Implement Eth Personal namespace
personal_importRawKey
.
Bug fixes
- (keys) tharsis#554 Fix private key derivation.
- (app/ante) tharsis#550 Update ante handler nonce verification to accept any nonce greater than or equal to the expected nonce to allow to successive transactions.
[v0.2.0] - 2020-09-24
State Machine Breaking
- (app) tharsis#540 Chain identifier's format has been changed to match the Cosmos
chainID
standard, which is required for IBC. The epoch number of the ID is used as the EVMchainID
.
API Breaking
- (types) tharsis#503 The
types.DenomDefault
constant for"aphoton"
has been renamed totypes.AttoPhoton
.
Improvements
- (types) tharsis#504 Unmarshal a JSON
EthAccount
using an Ethereum hex address in addition to Bech32. - (types) tharsis#503 Add
--coin-denom
flag to testnet command that sets the given coin denomination to SDK and Ethermint parameters. - (types) tharsis#502
EthAccount
now also exposes the Ethereum hex address instring
format to clients. - (types) tharsis#494 Update
EthAccount
public key JSON type tostring
. - (app) tharsis#471 Add
x/upgrade
module for managing software updates. - (evm) tharsis#458 Define parameter for token denomination used for the EVM module.
- (evm) tharsis#443 Support custom Ethereum
ChainConfig
params. - (types) tharsis#434 Update default denomination to Atto Photon (
aphoton
). - (types) tharsis#515 Update minimum gas price to be 1.
Bug Fixes
- (ante) tharsis#525 Add message validation decorator to
AnteHandler
forMsgEthereumTx
. - (types) tharsis#507 Fix hardcoded
aphoton
onEthAccount
balance getter and setter. - (types) tharsis#501 Fix bech32 encoding error by using the compressed ethereum secp256k1 public key.
- (evm) tharsis#496 Fix bugs on
journal.revert
andCommitStateDB.Copy
. - (types) tharsis#480 Update BIP44 coin type to
60
to satisfy EIP84. - (types) tharsis#513 Fix simulated transaction bug that was causing a consensus error by unintentionally affecting the state.
[v0.1.0] - 2020-08-23
Improvements
- (sdk) tharsis#386 Bump Cosmos SDK version to v0.39.1
- (evm) tharsis#181 Updated EVM module to the recommended module structure.
- (app) tharsis#188 Misc cleanup:
- (evm) Rename
EthereumTxMsg
-->MsgEthereumTx
andEmintMsg
-->MsgEthermint
for consistency with SDK standards - Updated integration and unit tests to use
EthermintApp
as testing suite - Use expected
Keeper
interface forAccountKeeper
- Replaced
count
type in keeper withint
- Add SDK events for transactions
- (evm) Rename
- tharsis#236 Changes from upgrade:
- (
app/ante
) MovedAnteHandler
implementation toapp/ante
- (keys) Marked
ExportEthKeyCommand
as UNSAFE - (evm) Moved
BeginBlock
andEndBlock
tox/evm/abci.go
- (
- (evm) tharsis#255 Add missing
GenesisState
fields and supportExportGenesis
functionality. - tharsis#272 Add
Logger
for evm module. - tharsis#317
GenesisAccount
validation. - (evm) tharsis#319 Various evm improvements:
- Add transaction
[]*ethtypes.Logs
to evm'sGenesisState
to persist logs after an upgrade. - Remove evm
CodeKey
andBlockKey
in favor of a prefixStore
. - Set
BlockBloom
duringEndBlock
instead ofBeginBlock
. Commit
state object andFinalize
storage afterInitGenesis
setup.
- Add transaction
- (rpc) tharsis#325
eth_coinbase
JSON-RPC query now returns the node's validator address.
Features
- (build) tharsis#378 Create multi-node, local, automated testnet setup with
make localnet-start
. - (rpc) tharsis#330 Implement
PublicFilterAPI
'sEventSystem
which subscribes to Tendermint events uponFilter
creation. - (rpc) tharsis#231 Implement
NewBlockFilter
in rpc/filters.go which instantiates a polling block filter- Polls for new blocks via
BlockNumber
rpc call; if block number changes, it requests the new block viaGetBlockByNumber
rpc call and adds it to its internal list of blocks - Update
uninstallFilter
andgetFilterChanges
accordingly uninstallFilter
stops the polling goroutinegetFilterChanges
returns the filter's internal list of block hashes and resets it
- Polls for new blocks via
- (rpc) tharsis#54, tharsis#55
Implement
eth_getFilterLogs
andeth_getLogs
:- For a given filter, look through each block for transactions. If there are transactions in the block, get the logs from it, and filter using the filterLogs method
eth_getLogs
andeth_getFilterChanges
for log filters use the same underlying method aseth_getFilterLogs
- update
HandleMsgEthereumTx
to store logs using the ethereum hash
- (app) tharsis#187 Add support for simulations.
Bug Fixes
- (evm) tharsis#767 Fix error of timeout when using Truffle to deploy contract.
- (evm) tharsis#751 Fix misused method to calculate block hash in evm related function.
- (evm) tharsis#721 Fix mismatch block hash in rpc response when use eth.getBlock.
- (evm) tharsis#730 Fix 'EIP2028' not open when Istanbul version has been enabled.
- (app) tharsis#749 Fix panic in
AnteHandler
when gas price larger than 100000 - (rpc) tharsis#305 Update
eth_getTransactionCount
to check for account existence before getting sequence and return 0 as the nonce if it doesn't exist. - (evm) tharsis#319 Fix
SetBlockHash
that was setting the incorrect height duringBeginBlock
. - (evm) tharsis#176 Updated Web3 transaction hash from using RLP hash. Now all transaction hashes exposed are amino hashes:
- Removes
Hash()
(RLP) function fromMsgEthereumTx
to avoid confusion or misuse in future.
- Removes