From 8cb2858732f1f9c58024f16ce6ef5e984120b4b8 Mon Sep 17 00:00:00 2001 From: Austin Chandra Date: Wed, 30 Nov 2022 13:27:42 -0800 Subject: [PATCH 1/8] fix: rename EIP-712 sig. verification to indicate Legacy status --- app/ante/ante.go | 4 ++-- app/ante/eip712.go | 16 +++++++++------- app/ante/handler_options.go | 4 ++-- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/app/ante/ante.go b/app/ante/ante.go index 88bb9d0ed8..767d1d6d55 100644 --- a/app/ante/ante.go +++ b/app/ante/ante.go @@ -46,8 +46,8 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { // handle as *evmtypes.MsgEthereumTx anteHandler = newEthAnteHandler(options) case "/ethermint.types.v1.ExtensionOptionsWeb3Tx": - // handle as normal Cosmos SDK tx, except signature is checked for EIP712 representation - anteHandler = newCosmosAnteHandlerEip712(options) + // handle as normal Cosmos SDK tx, except signature is checked for Legacy EIP712 representation + anteHandler = newLegacyCosmosAnteHandlerEip712(options) case "/ethermint.types.v1.ExtensionOptionDynamicFeeTx": // cosmos-sdk tx with dynamic fee extension anteHandler = newCosmosAnteHandler(options) diff --git a/app/ante/eip712.go b/app/ante/eip712.go index 96f6e373a2..116eecbbdb 100644 --- a/app/ante/eip712.go +++ b/app/ante/eip712.go @@ -32,19 +32,21 @@ func init() { ethermintCodec = codec.NewProtoCodec(registry) } -// Eip712SigVerificationDecorator Verify all signatures for a tx and return an error if any are invalid. Note, -// the Eip712SigVerificationDecorator decorator will not get executed on ReCheck. +// LegacyEip712SigVerificationDecorator Verify all signatures for a tx and return an error if any are invalid. Note, +// the LegacyEip712SigVerificationDecorator decorator will not get executed on ReCheck. +// As of v0.20.0, this is now a Legacy implementation, and EIP-712 signature verification is handled by the ethsecp256k1 key +// (see ethsecp256k1.go) // // CONTRACT: Pubkeys are set in context for all signers before this decorator runs // CONTRACT: Tx must implement SigVerifiableTx interface -type Eip712SigVerificationDecorator struct { +type LegacyEip712SigVerificationDecorator struct { ak evmtypes.AccountKeeper signModeHandler authsigning.SignModeHandler } -// NewEip712SigVerificationDecorator creates a new Eip712SigVerificationDecorator -func NewEip712SigVerificationDecorator(ak evmtypes.AccountKeeper, signModeHandler authsigning.SignModeHandler) Eip712SigVerificationDecorator { - return Eip712SigVerificationDecorator{ +// NewLegacyEip712SigVerificationDecorator creates a new LegacyEip712SigVerificationDecorator +func NewLegacyEip712SigVerificationDecorator(ak evmtypes.AccountKeeper, signModeHandler authsigning.SignModeHandler) LegacyEip712SigVerificationDecorator { + return LegacyEip712SigVerificationDecorator{ ak: ak, signModeHandler: signModeHandler, } @@ -52,7 +54,7 @@ func NewEip712SigVerificationDecorator(ak evmtypes.AccountKeeper, signModeHandle // AnteHandle handles validation of EIP712 signed cosmos txs. // it is not run on RecheckTx -func (svd Eip712SigVerificationDecorator) AnteHandle(ctx sdk.Context, +func (svd LegacyEip712SigVerificationDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler, diff --git a/app/ante/handler_options.go b/app/ante/handler_options.go index 96387aa674..78a6c5ef37 100644 --- a/app/ante/handler_options.go +++ b/app/ante/handler_options.go @@ -88,7 +88,7 @@ func newCosmosAnteHandler(options HandlerOptions) sdk.AnteHandler { ) } -func newCosmosAnteHandlerEip712(options HandlerOptions) sdk.AnteHandler { +func newLegacyCosmosAnteHandlerEip712(options HandlerOptions) sdk.AnteHandler { return sdk.ChainAnteDecorators( RejectMessagesDecorator{}, // reject MsgEthereumTxs ante.NewSetUpContextDecorator(), @@ -105,7 +105,7 @@ func newCosmosAnteHandlerEip712(options HandlerOptions) sdk.AnteHandler { ante.NewValidateSigCountDecorator(options.AccountKeeper), ante.NewSigGasConsumeDecorator(options.AccountKeeper, options.SigGasConsumer), // Note: signature verification uses EIP instead of the cosmos signature validator - NewEip712SigVerificationDecorator(options.AccountKeeper, options.SignModeHandler), + NewLegacyEip712SigVerificationDecorator(options.AccountKeeper, options.SignModeHandler), ante.NewIncrementSequenceDecorator(options.AccountKeeper), ibcante.NewRedundantRelayDecorator(options.IBCKeeper), NewGasWantedDecorator(options.EvmKeeper, options.FeeMarketKeeper), From 610f3a50743059466746f0c5ff4e192cae760481 Mon Sep 17 00:00:00 2001 From: Austin Chandra Date: Thu, 1 Dec 2022 09:17:09 -0800 Subject: [PATCH 2/8] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd4ff9d9e0..448a121d35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (ante) [1460](https://github.com/evmos/ethermint/pull/1460) Add KV Gas config on ethereum Txs. * (eth) [#1459](https://github.com/evmos/ethermint/pull/1459) Added support for messages with optional types omitted on eip712. * (geth) [#1413](https://github.com/evmos/ethermint/pull/1413) Update go-ethereum version to [`v1.10.26`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.26). +* (evm) [#1413](https://github.com/evmos/ethermint/pull/1521) Deprecate support for legacy EIP-712 signature verification. ### API Breaking From c2d0e06da7e96d697eb87eaf0d157f6710c2c648 Mon Sep 17 00:00:00 2001 From: Austin Chandra Date: Thu, 1 Dec 2022 09:27:47 -0800 Subject: [PATCH 3/8] Update changelog, refactor implementation, update comments --- CHANGELOG.md | 4 +++- app/ante/ante.go | 4 ++-- app/ante/eip712.go | 35 +++++++++++++++++++++++++++++++---- app/ante/handler_options.go | 24 ------------------------ 4 files changed, 36 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 448a121d35..7bbb77e0a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,7 +50,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (ante) [1460](https://github.com/evmos/ethermint/pull/1460) Add KV Gas config on ethereum Txs. * (eth) [#1459](https://github.com/evmos/ethermint/pull/1459) Added support for messages with optional types omitted on eip712. * (geth) [#1413](https://github.com/evmos/ethermint/pull/1413) Update go-ethereum version to [`v1.10.26`](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.26). -* (evm) [#1413](https://github.com/evmos/ethermint/pull/1521) Deprecate support for legacy EIP-712 signature verification. ### API Breaking @@ -105,6 +104,9 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (rpc) [#1484](https://github.com/evmos/ethermint/pull/1484) Align empty account result for old blocks as ethereum instead of return account not found error. * (rpc) [#1503](https://github.com/evmos/ethermint/pull/1503) Fix block hashes returned on JSON-RPC filter `eth_newBlockFilter`. +### Deprecated +* (evm) [#1413](https://github.com/evmos/ethermint/pull/1521) Deprecating support for legacy EIP-712 signature verification implementation. + ## [v0.19.3] - 2022-10-14 diff --git a/app/ante/ante.go b/app/ante/ante.go index 767d1d6d55..11f627b411 100644 --- a/app/ante/ante.go +++ b/app/ante/ante.go @@ -46,8 +46,8 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { // handle as *evmtypes.MsgEthereumTx anteHandler = newEthAnteHandler(options) case "/ethermint.types.v1.ExtensionOptionsWeb3Tx": - // handle as normal Cosmos SDK tx, except signature is checked for Legacy EIP712 representation - anteHandler = newLegacyCosmosAnteHandlerEip712(options) + // DEPRECATED: Handle as normal Cosmos SDK tx, except signature is checked for Legacy EIP712 representation + anteHandler = NewLegacyCosmosAnteHandlerEip712(options) case "/ethermint.types.v1.ExtensionOptionDynamicFeeTx": // cosmos-sdk tx with dynamic fee extension anteHandler = newCosmosAnteHandler(options) diff --git a/app/ante/eip712.go b/app/ante/eip712.go index 116eecbbdb..67a5048a20 100644 --- a/app/ante/eip712.go +++ b/app/ante/eip712.go @@ -10,9 +10,11 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" errortypes "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" + "github.com/cosmos/cosmos-sdk/x/auth/ante" authante "github.com/cosmos/cosmos-sdk/x/auth/ante" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" + ibcante "github.com/cosmos/ibc-go/v5/modules/core/ante" ethcrypto "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto/secp256k1" @@ -32,10 +34,35 @@ func init() { ethermintCodec = codec.NewProtoCodec(registry) } -// LegacyEip712SigVerificationDecorator Verify all signatures for a tx and return an error if any are invalid. Note, +// DEPRECATED: NewLegacyCosmosAnteHandlerEip712 creates an AnteHandler to process legacy EIP-712 +// transactions, as defined by the presence of an ExtensionOptionsWeb3Tx extension. +func NewLegacyCosmosAnteHandlerEip712(options HandlerOptions) sdk.AnteHandler { + return sdk.ChainAnteDecorators( + RejectMessagesDecorator{}, // reject MsgEthereumTxs + ante.NewSetUpContextDecorator(), + // NOTE: extensions option decorator removed + // ante.NewRejectExtensionOptionsDecorator(), + ante.NewValidateBasicDecorator(), + ante.NewTxTimeoutHeightDecorator(), + NewMinGasPriceDecorator(options.FeeMarketKeeper, options.EvmKeeper), + ante.NewValidateMemoDecorator(options.AccountKeeper), + ante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper), + ante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker), + // SetPubKeyDecorator must be called before all signature verification decorators + ante.NewSetPubKeyDecorator(options.AccountKeeper), + ante.NewValidateSigCountDecorator(options.AccountKeeper), + ante.NewSigGasConsumeDecorator(options.AccountKeeper, options.SigGasConsumer), + // Note: signature verification uses EIP instead of the cosmos signature validator + NewLegacyEip712SigVerificationDecorator(options.AccountKeeper, options.SignModeHandler), + ante.NewIncrementSequenceDecorator(options.AccountKeeper), + ibcante.NewRedundantRelayDecorator(options.IBCKeeper), + NewGasWantedDecorator(options.EvmKeeper, options.FeeMarketKeeper), + ) +} + +// DEPRECATED: LegacyEip712SigVerificationDecorator Verify all signatures for a tx and return an error if any are invalid. Note, // the LegacyEip712SigVerificationDecorator decorator will not get executed on ReCheck. -// As of v0.20.0, this is now a Legacy implementation, and EIP-712 signature verification is handled by the ethsecp256k1 key -// (see ethsecp256k1.go) +// NOTE: As of v0.20.0, EIP-712 signature verification is handled by the ethsecp256k1 public key (see ethsecp256k1.go) // // CONTRACT: Pubkeys are set in context for all signers before this decorator runs // CONTRACT: Tx must implement SigVerifiableTx interface @@ -44,7 +71,7 @@ type LegacyEip712SigVerificationDecorator struct { signModeHandler authsigning.SignModeHandler } -// NewLegacyEip712SigVerificationDecorator creates a new LegacyEip712SigVerificationDecorator +// DEPRECATED: NewLegacyEip712SigVerificationDecorator creates a new LegacyEip712SigVerificationDecorator func NewLegacyEip712SigVerificationDecorator(ak evmtypes.AccountKeeper, signModeHandler authsigning.SignModeHandler) LegacyEip712SigVerificationDecorator { return LegacyEip712SigVerificationDecorator{ ak: ak, diff --git a/app/ante/handler_options.go b/app/ante/handler_options.go index 78a6c5ef37..cacf289608 100644 --- a/app/ante/handler_options.go +++ b/app/ante/handler_options.go @@ -87,27 +87,3 @@ func newCosmosAnteHandler(options HandlerOptions) sdk.AnteHandler { NewGasWantedDecorator(options.EvmKeeper, options.FeeMarketKeeper), ) } - -func newLegacyCosmosAnteHandlerEip712(options HandlerOptions) sdk.AnteHandler { - return sdk.ChainAnteDecorators( - RejectMessagesDecorator{}, // reject MsgEthereumTxs - ante.NewSetUpContextDecorator(), - // NOTE: extensions option decorator removed - // ante.NewRejectExtensionOptionsDecorator(), - ante.NewValidateBasicDecorator(), - ante.NewTxTimeoutHeightDecorator(), - NewMinGasPriceDecorator(options.FeeMarketKeeper, options.EvmKeeper), - ante.NewValidateMemoDecorator(options.AccountKeeper), - ante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper), - ante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker), - // SetPubKeyDecorator must be called before all signature verification decorators - ante.NewSetPubKeyDecorator(options.AccountKeeper), - ante.NewValidateSigCountDecorator(options.AccountKeeper), - ante.NewSigGasConsumeDecorator(options.AccountKeeper, options.SigGasConsumer), - // Note: signature verification uses EIP instead of the cosmos signature validator - NewLegacyEip712SigVerificationDecorator(options.AccountKeeper, options.SignModeHandler), - ante.NewIncrementSequenceDecorator(options.AccountKeeper), - ibcante.NewRedundantRelayDecorator(options.IBCKeeper), - NewGasWantedDecorator(options.EvmKeeper, options.FeeMarketKeeper), - ) -} From 0c7ef100c2dfbc70e1ab5aefbe70b75badba66b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Fri, 2 Dec 2022 12:07:36 +0100 Subject: [PATCH 4/8] Apply suggestions from code review --- app/ante/eip712.go | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/app/ante/eip712.go b/app/ante/eip712.go index 67a5048a20..e4b74e376a 100644 --- a/app/ante/eip712.go +++ b/app/ante/eip712.go @@ -34,33 +34,31 @@ func init() { ethermintCodec = codec.NewProtoCodec(registry) } -// DEPRECATED: NewLegacyCosmosAnteHandlerEip712 creates an AnteHandler to process legacy EIP-712 +// Deprecated: NewLegacyCosmosAnteHandlerEip712 creates an AnteHandler to process legacy EIP-712 // transactions, as defined by the presence of an ExtensionOptionsWeb3Tx extension. func NewLegacyCosmosAnteHandlerEip712(options HandlerOptions) sdk.AnteHandler { return sdk.ChainAnteDecorators( RejectMessagesDecorator{}, // reject MsgEthereumTxs - ante.NewSetUpContextDecorator(), - // NOTE: extensions option decorator removed - // ante.NewRejectExtensionOptionsDecorator(), - ante.NewValidateBasicDecorator(), - ante.NewTxTimeoutHeightDecorator(), + authante.NewSetUpContextDecorator(), + authante.NewValidateBasicDecorator(), + authante.NewTxTimeoutHeightDecorator(), NewMinGasPriceDecorator(options.FeeMarketKeeper, options.EvmKeeper), - ante.NewValidateMemoDecorator(options.AccountKeeper), - ante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper), - ante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker), + authante.NewValidateMemoDecorator(options.AccountKeeper), + authante.NewConsumeGasForTxSizeDecorator(options.AccountKeeper), + authante.NewDeductFeeDecorator(options.AccountKeeper, options.BankKeeper, options.FeegrantKeeper, options.TxFeeChecker), // SetPubKeyDecorator must be called before all signature verification decorators - ante.NewSetPubKeyDecorator(options.AccountKeeper), - ante.NewValidateSigCountDecorator(options.AccountKeeper), - ante.NewSigGasConsumeDecorator(options.AccountKeeper, options.SigGasConsumer), + authante.NewSetPubKeyDecorator(options.AccountKeeper), + authante.NewValidateSigCountDecorator(options.AccountKeeper), + authante.NewSigGasConsumeDecorator(options.AccountKeeper, options.SigGasConsumer), // Note: signature verification uses EIP instead of the cosmos signature validator NewLegacyEip712SigVerificationDecorator(options.AccountKeeper, options.SignModeHandler), - ante.NewIncrementSequenceDecorator(options.AccountKeeper), + authante.NewIncrementSequenceDecorator(options.AccountKeeper), ibcante.NewRedundantRelayDecorator(options.IBCKeeper), NewGasWantedDecorator(options.EvmKeeper, options.FeeMarketKeeper), ) } -// DEPRECATED: LegacyEip712SigVerificationDecorator Verify all signatures for a tx and return an error if any are invalid. Note, +// Deprecated: LegacyEip712SigVerificationDecorator Verify all signatures for a tx and return an error if any are invalid. Note, // the LegacyEip712SigVerificationDecorator decorator will not get executed on ReCheck. // NOTE: As of v0.20.0, EIP-712 signature verification is handled by the ethsecp256k1 public key (see ethsecp256k1.go) // From fb6112d143650577db66d69bf2a25fa1653ee595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Fri, 2 Dec 2022 12:09:50 +0100 Subject: [PATCH 5/8] address comments --- app/ante/ante.go | 3 --- app/ante/eip712.go | 8 +++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/ante/ante.go b/app/ante/ante.go index 11f627b411..dac0eb61f4 100644 --- a/app/ante/ante.go +++ b/app/ante/ante.go @@ -45,9 +45,6 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { case "/ethermint.evm.v1.ExtensionOptionsEthereumTx": // handle as *evmtypes.MsgEthereumTx anteHandler = newEthAnteHandler(options) - case "/ethermint.types.v1.ExtensionOptionsWeb3Tx": - // DEPRECATED: Handle as normal Cosmos SDK tx, except signature is checked for Legacy EIP712 representation - anteHandler = NewLegacyCosmosAnteHandlerEip712(options) case "/ethermint.types.v1.ExtensionOptionDynamicFeeTx": // cosmos-sdk tx with dynamic fee extension anteHandler = newCosmosAnteHandler(options) diff --git a/app/ante/eip712.go b/app/ante/eip712.go index e4b74e376a..c773ba40ea 100644 --- a/app/ante/eip712.go +++ b/app/ante/eip712.go @@ -10,7 +10,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" errortypes "github.com/cosmos/cosmos-sdk/types/errors" "github.com/cosmos/cosmos-sdk/types/tx/signing" - "github.com/cosmos/cosmos-sdk/x/auth/ante" authante "github.com/cosmos/cosmos-sdk/x/auth/ante" "github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx" authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" @@ -69,8 +68,11 @@ type LegacyEip712SigVerificationDecorator struct { signModeHandler authsigning.SignModeHandler } -// DEPRECATED: NewLegacyEip712SigVerificationDecorator creates a new LegacyEip712SigVerificationDecorator -func NewLegacyEip712SigVerificationDecorator(ak evmtypes.AccountKeeper, signModeHandler authsigning.SignModeHandler) LegacyEip712SigVerificationDecorator { +// Deprecated: NewLegacyEip712SigVerificationDecorator creates a new LegacyEip712SigVerificationDecorator +func NewLegacyEip712SigVerificationDecorator( + ak evmtypes.AccountKeeper, + signModeHandler authsigning.SignModeHandler, +) LegacyEip712SigVerificationDecorator { return LegacyEip712SigVerificationDecorator{ ak: ak, signModeHandler: signModeHandler, From 8bd292cb503244bdce9e87162c45598f53baf01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Fri, 2 Dec 2022 12:11:10 +0100 Subject: [PATCH 6/8] changelog --- CHANGELOG.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bbb77e0a9..6cea5da02f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,6 +53,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking +* (ante) [#1413](https://github.com/evmos/ethermint/pull/1521) Deprecate support for legacy EIP-712 signature verification implementation via AnteHandler decorator. * (ante) [#1214](https://github.com/evmos/ethermint/pull/1214) Set mempool priority to EVM transactions. * (evm) [#1405](https://github.com/evmos/ethermint/pull/1405) Add parameter `chainID` to evm keeper's `EVMConfig` method, so caller can choose to not use the cached `eip155ChainID`. @@ -104,9 +105,6 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (rpc) [#1484](https://github.com/evmos/ethermint/pull/1484) Align empty account result for old blocks as ethereum instead of return account not found error. * (rpc) [#1503](https://github.com/evmos/ethermint/pull/1503) Fix block hashes returned on JSON-RPC filter `eth_newBlockFilter`. -### Deprecated -* (evm) [#1413](https://github.com/evmos/ethermint/pull/1521) Deprecating support for legacy EIP-712 signature verification implementation. - ## [v0.19.3] - 2022-10-14 From cbb38c3c25e2675ff65954ab3bc95016f3068ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Fri, 2 Dec 2022 13:13:29 +0100 Subject: [PATCH 7/8] Update CHANGELOG.md Co-authored-by: Vladislav Varadinov --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cea5da02f..3b9f1840fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,7 +53,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### API Breaking -* (ante) [#1413](https://github.com/evmos/ethermint/pull/1521) Deprecate support for legacy EIP-712 signature verification implementation via AnteHandler decorator. +* (ante) [#1521](https://github.com/evmos/ethermint/pull/1521) Deprecate support for legacy EIP-712 signature verification implementation via AnteHandler decorator. * (ante) [#1214](https://github.com/evmos/ethermint/pull/1214) Set mempool priority to EVM transactions. * (evm) [#1405](https://github.com/evmos/ethermint/pull/1405) Add parameter `chainID` to evm keeper's `EVMConfig` method, so caller can choose to not use the cached `eip155ChainID`. From eae993ac506822e1d9ca6dd127c56469cbf7a529 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Federico=20Kunze=20K=C3=BCllmer?= <31522760+fedekunze@users.noreply.github.com> Date: Fri, 2 Dec 2022 13:15:12 +0100 Subject: [PATCH 8/8] fix test --- app/ante/ante.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/ante/ante.go b/app/ante/ante.go index dac0eb61f4..c3a4b1bf8c 100644 --- a/app/ante/ante.go +++ b/app/ante/ante.go @@ -45,6 +45,9 @@ func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error) { case "/ethermint.evm.v1.ExtensionOptionsEthereumTx": // handle as *evmtypes.MsgEthereumTx anteHandler = newEthAnteHandler(options) + case "/ethermint.types.v1.ExtensionOptionsWeb3Tx": + // Deprecated: Handle as normal Cosmos SDK tx, except signature is checked for Legacy EIP712 representation + anteHandler = NewLegacyCosmosAnteHandlerEip712(options) case "/ethermint.types.v1.ExtensionOptionDynamicFeeTx": // cosmos-sdk tx with dynamic fee extension anteHandler = newCosmosAnteHandler(options)