Skip to content
This repository was archived by the owner on Apr 4, 2024. It is now read-only.

Commit c17646c

Browse files
fedekunzeyihuangdependabot[bot]crypto-facsprajjwol
authored
release: v0.10.0 final (#959)
* deps: IBC v3 alpha2 (#892) * Problem: newPendingTransactions filter don't return ethereum tx hash (#900) * impr: support batch eth txs (#901) * support batch eth tx Closes: 896 Allow multiple MsgEthereumTx in single tx * fix transaction receipt api * fix tx receipt api and accumulate tx gas used * fix lint * fix test * fix rpc test * cleanup * fix cumulativeGasUsed and gasUsed * fix lint * Update app/ante/eth.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update app/ante/eth.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update rpc/ethereum/backend/utils.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * pr suggestions * typo * fix lint Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump follow-redirects in /tests/solidity (#909) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.4 to 1.14.7. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.14.4...v1.14.7) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * rpc: make trace transaction api work with batch tx (#907) * make trace transaction api work with batch tx Closes: #906 fix linter * review suggestion Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix insufficient fee error message (#911) * server: add `api.enable` flag for Cosmos SDK API server (#908) * add api.enable flag for Cosmos SDK Rest server * update changelog Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * deps: bump Cosmos SDK version to `v0.45.0` (#912) * deps: bump SDK version to v0.45.0 * changelog * deprecation fix * deprecation fix 2 * Integration tests (#913) * ci: semgrep config (#917) * ci: enable semgrep config * fix config * ignore grpc web * fix: default base fee state in genesis (#919) * fix defualt base fee state in genesis Closes: #918 Solution: - initialise the default base fee value in genesis * changelog * fix: minimal-gas-prices and baseFeePerGas conflicts (#916) * Problem: minimal-gas-prices and baseFeePerGas conflicts Closes: #915 Solution: - Don't check min-gas-price for evm tx if london hardfork and feemarket enabled. comments and cleanup changelog * fix zero fee coins Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump github.com/cosmos/ibc-go/v3 (#925) * build(deps): bump simple-get from 2.8.1 to 2.8.2 in /tests/solidity (#927) * build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.0 to 0.45.1 (#926) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.0 to 0.45.1. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md) - [Commits](cosmos/cosmos-sdk@v0.45.0...v0.45.1) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: separate out rpc and integration tests (#931) Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix: wrong comment in EthGasConsumeDecorator (#929) * fix newPendingTransactions subscription deadlock issue (#933) * remove unused parameters from evm spec (#934) * build(deps): bump follow-redirects in /tests/solidity (#939) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.14.7...v1.14.8) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps: upgrade geth to v1.10.15 (#935) * upgrade geth to v1.10.15 * fix lint * fix imports * revert makefile change * update changelog * Update CHANGELOG.md Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> * update chain config * add getblockvalue for chain config fork Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix: base fee check logic in state transition (#932) * fix base fee check logic in state transition - should check london hardfork first, otherwise it panic if feemarket not registered. * fix lint Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * danburck/release changelog (#942) * release: v0.10.0-alpha changelog (#891) * release: v0.10.0-alpha changelog * deps: IBC v3 alpha2 (#892) * release: v0.10.0-alpha2 (#923) * deps: IBC v3 alpha2 (#892) * Problem: newPendingTransactions filter don't return ethereum tx hash (#900) * impr: support batch eth txs (#901) * support batch eth tx Closes: 896 Allow multiple MsgEthereumTx in single tx * fix transaction receipt api * fix tx receipt api and accumulate tx gas used * fix lint * fix test * fix rpc test * cleanup * fix cumulativeGasUsed and gasUsed * fix lint * Update app/ante/eth.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update app/ante/eth.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update rpc/ethereum/backend/utils.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * pr suggestions * typo * fix lint Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump follow-redirects in /tests/solidity (#909) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.4 to 1.14.7. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.14.4...v1.14.7) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * rpc: make trace transaction api work with batch tx (#907) * make trace transaction api work with batch tx Closes: #906 fix linter * review suggestion Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix insufficient fee error message (#911) * server: add `api.enable` flag for Cosmos SDK API server (#908) * add api.enable flag for Cosmos SDK Rest server * update changelog Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * deps: bump Cosmos SDK version to `v0.45.0` (#912) * deps: bump SDK version to v0.45.0 * changelog * deprecation fix * deprecation fix 2 * Integration tests (#913) * ci: semgrep config (#917) * ci: enable semgrep config * fix config * ignore grpc web * fix: default base fee state in genesis (#919) * fix defualt base fee state in genesis Closes: #918 Solution: - initialise the default base fee value in genesis * changelog * fix: minimal-gas-prices and baseFeePerGas conflicts (#916) * Problem: minimal-gas-prices and baseFeePerGas conflicts Closes: #915 Solution: - Don't check min-gas-price for evm tx if london hardfork and feemarket enabled. comments and cleanup changelog * fix zero fee coins Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com> * release: v0.10.0-beta1 changelog (#941) * deps: IBC v3 alpha2 (#892) * Problem: newPendingTransactions filter don't return ethereum tx hash (#900) * impr: support batch eth txs (#901) * support batch eth tx Closes: 896 Allow multiple MsgEthereumTx in single tx * fix transaction receipt api * fix tx receipt api and accumulate tx gas used * fix lint * fix test * fix rpc test * cleanup * fix cumulativeGasUsed and gasUsed * fix lint * Update app/ante/eth.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update app/ante/eth.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * Update rpc/ethereum/backend/utils.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * pr suggestions * typo * fix lint Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump follow-redirects in /tests/solidity (#909) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.4 to 1.14.7. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.14.4...v1.14.7) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * rpc: make trace transaction api work with batch tx (#907) * make trace transaction api work with batch tx Closes: #906 fix linter * review suggestion Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix insufficient fee error message (#911) * server: add `api.enable` flag for Cosmos SDK API server (#908) * add api.enable flag for Cosmos SDK Rest server * update changelog Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * deps: bump Cosmos SDK version to `v0.45.0` (#912) * deps: bump SDK version to v0.45.0 * changelog * deprecation fix * deprecation fix 2 * Integration tests (#913) * ci: semgrep config (#917) * ci: enable semgrep config * fix config * ignore grpc web * fix: default base fee state in genesis (#919) * fix defualt base fee state in genesis Closes: #918 Solution: - initialise the default base fee value in genesis * changelog * fix: minimal-gas-prices and baseFeePerGas conflicts (#916) * Problem: minimal-gas-prices and baseFeePerGas conflicts Closes: #915 Solution: - Don't check min-gas-price for evm tx if london hardfork and feemarket enabled. comments and cleanup changelog * fix zero fee coins Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump github.com/cosmos/ibc-go/v3 (#925) * build(deps): bump simple-get from 2.8.1 to 2.8.2 in /tests/solidity (#927) * build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.0 to 0.45.1 (#926) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.0 to 0.45.1. - [Release notes](https://github.com/cosmos/cosmos-sdk/releases) - [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md) - [Commits](cosmos/cosmos-sdk@v0.45.0...v0.45.1) --- updated-dependencies: - dependency-name: github.com/cosmos/cosmos-sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: separate out rpc and integration tests (#931) Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix: wrong comment in EthGasConsumeDecorator (#929) * fix newPendingTransactions subscription deadlock issue (#933) * remove unused parameters from evm spec (#934) * build(deps): bump follow-redirects in /tests/solidity (#939) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](follow-redirects/follow-redirects@v1.14.7...v1.14.8) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps: upgrade geth to v1.10.15 (#935) * upgrade geth to v1.10.15 * fix lint * fix imports * revert makefile change * update changelog * Update CHANGELOG.md Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> * update chain config * add getblockvalue for chain config fork Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix: base fee check logic in state transition (#932) * fix base fee check logic in state transition - should check london hardfork first, otherwise it panic if feemarket not registered. * fix lint Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * add release v0.10.0-beta1 CHANGELOG Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com> Co-authored-by: Prajjwol Gautam <not@acyb.org> Co-authored-by: HaeSung <hea9549.github@gmail.com> Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com> Co-authored-by: Prajjwol Gautam <not@acyb.org> Co-authored-by: HaeSung <hea9549.github@gmail.com> Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> * build(deps): bump github.com/gorilla/websocket from 1.4.2 to 1.5.0 (#944) Bumps [github.com/gorilla/websocket](https://github.com/gorilla/websocket) from 1.4.2 to 1.5.0. - [Release notes](https://github.com/gorilla/websocket/releases) - [Commits](gorilla/websocket@v1.4.2...v1.5.0) --- updated-dependencies: - dependency-name: github.com/gorilla/websocket dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * deps: bump IBC v3-rc0 (#947) * deps: bump IBC v3-rc0 * rm strict * imp: redirect go-ethereum's logs to cosmos logger (#948) * redirect go-ethereum's logs to cosmos logger Closes: #862 Map go-ethereum's log levels to cosmos ones: trace -> debug debug -> debug info -> info warn -> info error -> error crit -> error * changelog * Apply suggestions from code review * Apply suggestions from code review * build(deps): bump github.com/ethereum/go-ethereum from 1.10.15 to 1.10.16 (#945) * build(deps): bump github.com/ethereum/go-ethereum Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.10.15 to 1.10.16. - [Release notes](https://github.com/ethereum/go-ethereum/releases) - [Commits](ethereum/go-ethereum@v1.10.15...v1.10.16) --- 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> * add extra param to config rules * update changelog * update comments Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com> * feemarket: change basefee to be a module param (#943) * change basefee to a module params * add changelog and fix linter * change params type of basefee and remove default base fee * restaure event * clean code * fix proto * fix protos * fix logic * update rpc tests * fix comment Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump github.com/tendermint/tm-db from 0.6.4 to 0.6.7 (#949) Bumps [github.com/tendermint/tm-db](https://github.com/tendermint/tm-db) from 0.6.4 to 0.6.7. - [Release notes](https://github.com/tendermint/tm-db/releases) - [Changelog](https://github.com/tendermint/tm-db/blob/master/CHANGELOG.md) - [Commits](tendermint/tm-db@v0.6.4...v0.6.7) --- updated-dependencies: - dependency-name: github.com/tendermint/tm-db dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * docs: add spec for feemarket module (#889) * add spec for feemarket * update spec from comments * update spec * update abstract * update with grpc query * add more content for tip section * update specs with latest behavior * cleanup unused store prefix * Update x/feemarket/spec/01_concepts.md * Apply suggestions from code review Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * rpc: add support for `eth_signedTypedData` (#953) * add signTypedData api * fix typo * fix lint issues * add crypto recovery offset * Apply suggestions from code review * add changelog Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * build(deps): bump actions/setup-node from 2.5.1 to 3 (#957) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.5.1 to 3. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v2.5.1...v3) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: websocket client duplicated messages (#955) * Problem: websocket client get duplicated messages Closes: #954 Solution: - localize the subscription management within current connection * changelog * fix linter * fix test building Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * ante: EIP712 support (#950) * code migrated * signed_data ported to avoid conficting dependency * correct payload * eip712 working with evmos.me * use geth TypedData types * fix linter * minor refactor * test first try * fix test * fix tests * enforce fee delegated eip712 * verify signature refactor * SignedTypedData api refactor * add AnteHandler test for EIP712 * remove comment * code clean up * return more detailed error messages * fix linter * remove unnecesary global vars * Update app/ante/eip712.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * fix pr comments * remove hardcoded value * add more tests * add changelog * use sdk errors * add MsgDelegate test Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com> Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com> Co-authored-by: yihuang <huang@crypto.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com> Co-authored-by: Prajjwol Gautam <not@acyb.org> Co-authored-by: HaeSung <hea9549.github@gmail.com> Co-authored-by: Guillermo Paoletti <guillermo.paoletti@gmail.com> Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com> Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com> Co-authored-by: Thomas Nguy <81727899+thomas-nguy@users.noreply.github.com>
1 parent 1b8290e commit c17646c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1684
-649
lines changed

.github/workflows/deploy-contract.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
steps:
1919
- uses: actions/checkout@v2.4.0
2020
- name: Use Node.js
21-
uses: actions/setup-node@v2.5.1
21+
uses: actions/setup-node@v3
2222
with:
2323
node-version: '12.x'
2424
- name: Install dependencies

.mergify.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ pull_request_rules:
1414
name: default
1515
merge:
1616
method: squash
17-
strict: true
1817
commit_message: title+body
1918
- name: backport patches to v0.9.x branch
2019
conditions:

CHANGELOG.md

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
<!--
23
Guiding Principles:
34
@@ -35,52 +36,60 @@ Ref: https://keepachangelog.com/en/1.0.0/
3536

3637
# Changelog
3738

38-
## [v0.10.0-beta1] - 2022-02-15
39+
## [v0.10.0] - 2022-02-26
3940

4041
### API Breaking
4142

42-
* (ante) [\#866](https://github.com/tharsis/ethermint/pull/866) `NewAnteHandler` constructor now receives a `HandlerOptions` field.
43-
* (evm) [\#849](https://github.com/tharsis/ethermint/pull/849) `PostTxProcessing` hook now takes an Ethereum tx `Receipt` and a `from` `Address` as arguments.
44-
* (ante) [#916](https://github.com/tharsis/ethermint/pull/916) don't check min-gas-price for eth tx if london hardfork enabled and feemarket enabled.
43+
* (ante) [tharsis#866](https://github.com/tharsis/ethermint/pull/866) `NewAnteHandler` constructor now receives a `HandlerOptions` field.
44+
* (evm) [tharsis#849](https://github.com/tharsis/ethermint/pull/849) `PostTxProcessing` hook now takes an Ethereum tx `Receipt` and a `from` `Address` as arguments.
45+
* (ante) [tharsis#916](https://github.com/tharsis/ethermint/pull/916) Don't check min-gas-price for eth tx if london hardfork enabled and feemarket enabled.
4546

4647
### State Machine Breaking
4748

48-
* (deps) [tharis#912](https://github.com/tharsis/ethermint/pull/912) Bump Cosmos SDK version to [`v0.45.0`](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.0)
49-
* (evm) [tharsis#840](https://github.com/tharsis/ethermint/pull/840) Store empty topics as empty array rather than nil.
50-
* (feemarket) [tharsis#822](https://github.com/tharsis/ethermint/pull/822) Update EIP1559 base fee in `BeginBlock`.
51-
* (evm) [tharsis#817](https://github.com/tharsis/ethermint/pull/817) Use `effectiveGasPrice` in ante handler, add `effectiveGasPrice` to tx receipt.
49+
* (deps) [tharsis#912](https://github.com/tharsis/ethermint/pull/912) Bump Cosmos SDK version to [`v0.45.1`](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.1)
50+
* (evm) [tharsis#840](https://github.com/tharsis/ethermint/pull/840) Store empty topics as empty array rather than nil.
51+
* (feemarket) [tharsis#822](https://github.com/tharsis/ethermint/pull/822) Update EIP1559 base fee in `BeginBlock`.
52+
* (evm) [tharsis#817](https://github.com/tharsis/ethermint/pull/817) Use `effectiveGasPrice` in ante handler, add `effectiveGasPrice` to tx receipt.
5253
* (evm) [tharsis#808](https://github.com/tharsis/ethermint/issues/808) increase nonce in ante handler for contract creation transaction.
5354
* (evm) [tharsis#851](https://github.com/tharsis/ethermint/pull/851) fix contract address used in EVM, this issue is caused by [tharsis#808](https://github.com/tharsis/ethermint/issues/808).
5455
* (evm) Reject invalid `MsgEthereumTx` wrapping tx
5556
* (evm) Fix `SelfDestruct` opcode by deleting account code and state.
56-
* (feemarket) [tharsis#855](https://github.com/tharsis/ethermint/pull/855) consistent `BaseFee` check logic.
57-
* (evm) [tharsis#729](https://github.com/tharsis/ethermint/pull/729) Refactor EVM StateDB implementation.
58-
* (evm) [tharsis#935](https://github.com/tharsis/ethermint/pull/935) Bumb Go-ethereum version to [`v1.10.15`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.15)
57+
* (feemarket) [tharsis#855](https://github.com/tharsis/ethermint/pull/855) Consistent `BaseFee` check logic.
58+
* (evm) [tharsis#729](https://github.com/tharsis/ethermint/pull/729) Refactor EVM `StateDB` implementation.
59+
* (evm) [tharsis#945](https://github.com/tharsis/ethermint/pull/945) Bumb Go-ethereum version to [`v1.10.16`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.16)
60+
61+
### Features
62+
63+
* (ante) [#950](https://github.com/tharsis/ethermint/pull/950) Add support for EIP712 signed Cosmos transactions
5964

6065
### Improvements
6166

6267
* (types) [tharsis#884](https://github.com/tharsis/ethermint/pull/884) Introduce a new `EthAccountI` interface for EVM-compatible account types.
6368
* (types) [tharsis#849](https://github.com/tharsis/ethermint/pull/849) Add `Type` function to distinguish EOAs from Contract accounts.
6469
* (evm) [tharsis#826](https://github.com/tharsis/ethermint/issues/826) Improve allocation of bytes of `tx.To` address.
6570
* (evm) [tharsis#827](https://github.com/tharsis/ethermint/issues/827) Speed up creation of event logs by using the slice insertion idiom with indices.
66-
* (ante) [tharsis#819](https://github.com/tharsis/ethermint/pull/819) remove redundant ante handlers
71+
* (ante) [tharsis#819](https://github.com/tharsis/ethermint/pull/819) Remove redundant ante handlers
6772
* (app) [tharsis#873](https://github.com/tharsis/ethermint/pull/873) Validate code hash in GenesisAccount
68-
* (evm) [tharsis#901](https://github.com/tharsis/ethermint/pull/901) Support multiple MsgEthereumTx in single tx.
69-
* (config) [tharsis#908](https://github.com/tharsis/ethermint/pull/908) Add api.enable flag for Cosmos SDK Rest server
70-
* (feemarket) [tharsis#919](https://github.com/tharsis/ethermint/pull/919) Initialize baseFee in default genesis state.
73+
* (evm) [tharsis#901](https://github.com/tharsis/ethermint/pull/901) Support multiple `MsgEthereumTx` in single tx.
74+
* (config) [tharsis#908](https://github.com/tharsis/ethermint/pull/908) Add `api.enable` flag for Cosmos SDK Rest server
75+
* (feemarket) [tharsis#919](https://github.com/tharsis/ethermint/pull/919) Initialize baseFee in default genesis state.
76+
* (feemarket) [tharsis#943](https://github.com/tharsis/ethermint/pull/943) Store the base fee as a module param instead of using state storage.
7177

7278
### Bug Fixes
7379

80+
* (rpc) [tharsis#955](https://github.com/tharsis/ethermint/pull/955) Fix websocket server push duplicated messages to subscriber.
81+
* (rpc) [tharsis#953](https://github.com/tharsis/ethermint/pull/953) Add `eth_signTypedData` api support.
82+
* (log) [tharsis#948](https://github.com/tharsis/ethermint/pull/948) Redirect go-ethereum's logs to cosmos-sdk logger.
7483
* (evm) [tharsis#884](https://github.com/tharsis/ethermint/pull/884) Support multiple account types on the EVM `StateDB`.
7584
* (rpc) [tharsis#831](https://github.com/tharsis/ethermint/pull/831) Fix BaseFee value when height is specified.
7685
* (evm) [tharsis#838](https://github.com/tharsis/ethermint/pull/838) Fix splitting of trace.Memory into 32 chunks.
7786
* (rpc) [tharsis#860](https://github.com/tharsis/ethermint/pull/860) Fix `eth_getLogs` when specify blockHash without address/topics, and limit the response size.
7887
* (rpc) [tharsis#865](https://github.com/tharsis/ethermint/pull/865) Fix RPC Filter parameters being ignored
79-
* (evm) [tharsis#871](https://github.com/tharsis/ethermint/pull/871) Set correct nonce in `EthCall` and `EstimateGas` grpc query.
80-
* (rpc) [tharsis#878](https://github.com/tharsis/ethermint/pull/878) Workaround to make GetBlock RPC api report correct block gas used.
81-
* (rpc) [tharsis#900](https://github.com/tharsis/ethermint/pull/900) newPendingTransactions filter return ethereum tx hash.
82-
* (rpc) [tharsis#933](https://github.com/tharsis/ethermint/pull/933) Fix newPendingTransactions subscription deadlock when a Websocket client exits without unsubscribing and the node errors.
83-
* (evm) [tharsis#932](https://github.com/tharsis/ethermint/pull/932) Fix base fee check logic in state transition.
88+
* (evm) [tharsis#871](https://github.com/tharsis/ethermint/pull/871) Set correct nonce in `EthCall` and `EstimateGas` grpc query.
89+
* (rpc) [tharsis#878](https://github.com/tharsis/ethermint/pull/878) Workaround to make GetBlock RPC api report correct block gas used.
90+
* (rpc) [tharsis#900](https://github.com/tharsis/ethermint/pull/900) `newPendingTransactions` filter return ethereum tx hash.
91+
* (rpc) [tharsis#933](https://github.com/tharsis/ethermint/pull/933) Fix `newPendingTransactions` subscription deadlock when a Websocket client exits without unsubscribing and the node errors.
92+
* (evm) [tharsis#932](https://github.com/tharsis/ethermint/pull/932) Fix base fee check logic in state transition.
8493

8594
## [v0.9.0] - 2021-12-01
8695

app/ante/ante.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ func NewAnteHandler(options HandlerOptions) sdk.AnteHandler {
3939
case "/ethermint.evm.v1.ExtensionOptionsEthereumTx":
4040
// handle as *evmtypes.MsgEthereumTx
4141
anteHandler = newEthAnteHandler(options)
42+
case "/ethermint.types.v1.ExtensionOptionsWeb3Tx":
43+
// handle as normal Cosmos SDK tx, except signature is checked for EIP712 representation
44+
anteHandler = newCosmosAnteHandlerEip712(options)
4245
default:
4346
return ctx, sdkerrors.Wrapf(
4447
sdkerrors.ErrUnknownExtensionOptions,

app/ante/ante_test.go

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ante_test
22

33
import (
4+
"github.com/cosmos/cosmos-sdk/types/tx/signing"
45
"math/big"
56
"strings"
67

@@ -292,6 +293,101 @@ func (suite AnteTestSuite) TestAnteHandler() {
292293
return txBuilder.GetTx()
293294
}, false, false, false,
294295
},
296+
{
297+
"success - DeliverTx EIP712 signed Cosmos Tx with MsgSend",
298+
func() sdk.Tx {
299+
from := acc.GetAddress()
300+
amount := sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20)))
301+
gas := uint64(200000)
302+
txBuilder := suite.CreateTestEIP712TxBuilderMsgSend(from, privKey, "ethermint_9000-1", gas, amount)
303+
return txBuilder.GetTx()
304+
}, false, false, true,
305+
},
306+
{
307+
"success - DeliverTx EIP712 signed Cosmos Tx with DelegateMsg",
308+
func() sdk.Tx {
309+
from := acc.GetAddress()
310+
coinAmount := sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20))
311+
amount := sdk.NewCoins(coinAmount)
312+
gas := uint64(200000)
313+
txBuilder := suite.CreateTestEIP712TxBuilderMsgDelegate(from, privKey, "ethermint_9000-1", gas, amount)
314+
return txBuilder.GetTx()
315+
}, false, false, true,
316+
},
317+
{
318+
"fails - DeliverTx EIP712 signed Cosmos Tx with wrong Chain ID",
319+
func() sdk.Tx {
320+
from := acc.GetAddress()
321+
amount := sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20)))
322+
gas := uint64(200000)
323+
txBuilder := suite.CreateTestEIP712TxBuilderMsgSend(from, privKey, "ethermint_9002-1", gas, amount)
324+
return txBuilder.GetTx()
325+
}, false, false, false,
326+
},
327+
{
328+
"fails - DeliverTx EIP712 signed Cosmos Tx with different gas fees",
329+
func() sdk.Tx {
330+
from := acc.GetAddress()
331+
amount := sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20)))
332+
gas := uint64(200000)
333+
txBuilder := suite.CreateTestEIP712TxBuilderMsgSend(from, privKey, "ethermint_9001-1", gas, amount)
334+
txBuilder.SetGasLimit(uint64(300000))
335+
txBuilder.SetFeeAmount(sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(30))))
336+
return txBuilder.GetTx()
337+
}, false, false, false,
338+
},
339+
{
340+
"fails - DeliverTx EIP712 signed Cosmos Tx with empty signature",
341+
func() sdk.Tx {
342+
from := acc.GetAddress()
343+
amount := sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20)))
344+
gas := uint64(200000)
345+
txBuilder := suite.CreateTestEIP712TxBuilderMsgSend(from, privKey, "ethermint_9001-1", gas, amount)
346+
sigsV2 := signing.SignatureV2{}
347+
txBuilder.SetSignatures(sigsV2)
348+
return txBuilder.GetTx()
349+
}, false, false, false,
350+
},
351+
{
352+
"fails - DeliverTx EIP712 signed Cosmos Tx with invalid sequence",
353+
func() sdk.Tx {
354+
from := acc.GetAddress()
355+
amount := sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20)))
356+
gas := uint64(200000)
357+
txBuilder := suite.CreateTestEIP712TxBuilderMsgSend(from, privKey, "ethermint_9001-1", gas, amount)
358+
nonce, err := suite.app.AccountKeeper.GetSequence(suite.ctx, acc.GetAddress())
359+
suite.Require().NoError(err)
360+
sigsV2 := signing.SignatureV2{
361+
PubKey: privKey.PubKey(),
362+
Data: &signing.SingleSignatureData{
363+
SignMode: signing.SignMode_SIGN_MODE_LEGACY_AMINO_JSON,
364+
},
365+
Sequence: nonce - 1,
366+
}
367+
txBuilder.SetSignatures(sigsV2)
368+
return txBuilder.GetTx()
369+
}, false, false, false,
370+
},
371+
{
372+
"fails - DeliverTx EIP712 signed Cosmos Tx with invalid signMode",
373+
func() sdk.Tx {
374+
from := acc.GetAddress()
375+
amount := sdk.NewCoins(sdk.NewCoin(evmtypes.DefaultEVMDenom, sdk.NewInt(20)))
376+
gas := uint64(200000)
377+
txBuilder := suite.CreateTestEIP712TxBuilderMsgSend(from, privKey, "ethermint_9001-1", gas, amount)
378+
nonce, err := suite.app.AccountKeeper.GetSequence(suite.ctx, acc.GetAddress())
379+
suite.Require().NoError(err)
380+
sigsV2 := signing.SignatureV2{
381+
PubKey: privKey.PubKey(),
382+
Data: &signing.SingleSignatureData{
383+
SignMode: signing.SignMode_SIGN_MODE_UNSPECIFIED,
384+
},
385+
Sequence: nonce,
386+
}
387+
txBuilder.SetSignatures(sigsV2)
388+
return txBuilder.GetTx()
389+
}, false, false, false,
390+
},
295391
}
296392

297393
for _, tc := range testCases {

0 commit comments

Comments
 (0)