diff --git a/app/ante/handler_options.go b/app/ante/handler_options.go index 14d97e5e7d..80b9313da4 100644 --- a/app/ante/handler_options.go +++ b/app/ante/handler_options.go @@ -74,6 +74,7 @@ func newEthAnteHandler(options HandlerOptions) sdk.AnteHandler { NewEthValidateBasicDecorator(options.EvmKeeper), NewEthSigVerificationDecorator(options.EvmKeeper), NewEthAccountVerificationDecorator(options.AccountKeeper, options.EvmKeeper), + extra, NewCanTransferDecorator(options.EvmKeeper), NewEthGasConsumeDecorator(options.EvmKeeper, options.MaxTxGasWanted), NewEthIncrementSenderSequenceDecorator(options.AccountKeeper), // innermost AnteDecorator. @@ -100,6 +101,7 @@ func newCosmosAnteHandler(options HandlerOptions) sdk.AnteHandler { ante.NewValidateSigCountDecorator(options.AccountKeeper), ante.NewSigGasConsumeDecorator(options.AccountKeeper, options.SigGasConsumer), ante.NewSigVerificationDecorator(options.AccountKeeper, options.SignModeHandler), + extra, ante.NewIncrementSequenceDecorator(options.AccountKeeper), ibcante.NewRedundantRelayDecorator(options.IBCKeeper), NewGasWantedDecorator(options.EvmKeeper, options.FeeMarketKeeper), diff --git a/x/evm/types/msg.go b/x/evm/types/msg.go index 71164c593e..3d29b595d2 100644 --- a/x/evm/types/msg.go +++ b/x/evm/types/msg.go @@ -225,6 +225,10 @@ func (msg *MsgEthereumTx) GetMsgs() []sdk.Msg { // // NOTE: This method panics if 'Sign' hasn't been called first. func (msg *MsgEthereumTx) GetSigners() []sdk.AccAddress { + if len(msg.From) > 0 { + return []sdk.AccAddress{common.HexToAddress(msg.From).Bytes()} + } + data, err := UnpackTxData(msg.Data) if err != nil { panic(err)