Skip to content

Commit

Permalink
fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
mmsqe committed Aug 13, 2024
1 parent 0c5f901 commit c9a76cb
Showing 1 changed file with 95 additions and 25 deletions.
120 changes: 95 additions & 25 deletions app/ante/eth_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ import (
"math/big"

sdk "github.com/cosmos/cosmos-sdk/types"
"google.golang.org/protobuf/proto"
errortypes "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/gogoproto/proto"
protov2 "google.golang.org/protobuf/proto"

errorsmod "cosmossdk.io/errors"
storetypes "cosmossdk.io/store/types"
ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/evmos/ethermint/app/ante"
Expand All @@ -19,6 +22,13 @@ import (
evmtypes "github.com/evmos/ethermint/x/evm/types"
)

func castEthTx(msg proto.Message) (*evmtypes.MsgEthereumTx, error) {
if msgEthTx, ok := msg.(*evmtypes.MsgEthereumTx); ok {
return msgEthTx, nil
}
return nil, errorsmod.Wrapf(errortypes.ErrUnknownRequest, "invalid message type %T, expected %T", msg, (*evmtypes.MsgEthereumTx)(nil))
}

func (suite *AnteTestSuite) TestNewEthAccountVerificationDecorator() {
addr := tests.GenerateAddress()

Expand Down Expand Up @@ -91,9 +101,19 @@ func (suite *AnteTestSuite) TestNewEthAccountVerificationDecorator() {
vmdb = suite.StateDB()
tc.malleate()
suite.Require().NoError(vmdb.Commit())

err := ante.VerifyEthAccount(suite.ctx.WithIsCheckTx(tc.checkTx), tc.tx, suite.app.EvmKeeper, suite.app.AccountKeeper, evmtypes.DefaultEVMDenom)

var err error
if tc.tx != nil {
for _, msg := range tc.tx.GetMsgs() {
var msgEthTx *evmtypes.MsgEthereumTx
if msgEthTx, err = castEthTx(msg); err != nil {
break
}
tx := msgEthTx.AsTransaction()
if err = ante.VerifyEthAccount(suite.ctx.WithIsCheckTx(tc.checkTx), msgEthTx, tx, suite.app.EvmKeeper, suite.app.AccountKeeper, evmtypes.DefaultEVMDenom); err != nil {
break
}
}
}
if tc.expPass {
suite.Require().NoError(err)
} else {
Expand Down Expand Up @@ -147,8 +167,17 @@ func (suite *AnteTestSuite) TestEthNonceVerificationDecorator() {
for _, tc := range testCases {
suite.Run(tc.name, func() {
tc.malleate()
err := ante.CheckAndSetEthSenderNonce(suite.ctx.WithIsReCheckTx(tc.reCheckTx), tc.tx, suite.app.AccountKeeper, false)

var err error
for _, msg := range tc.tx.GetMsgs() {
var msgEthTx *evmtypes.MsgEthereumTx
if msgEthTx, err = castEthTx(msg); err != nil {
break
}
tx := msgEthTx.AsTransaction()
if err = ante.CheckAndSetEthSenderNonce(suite.ctx.WithIsReCheckTx(tc.reCheckTx), msgEthTx, tx, suite.app.AccountKeeper, false); err != nil {
break
}
}
if tc.expPass {
suite.Require().NoError(err)
} else {
Expand All @@ -166,7 +195,7 @@ func (msg *multiTx) GetMsgs() []sdk.Msg {
return msg.Msgs
}

func (msg *multiTx) GetMsgsV2() ([]proto.Message, error) {
func (msg *multiTx) GetMsgsV2() ([]protov2.Message, error) {
return nil, errors.New("not implemented")
}

Expand Down Expand Up @@ -340,18 +369,36 @@ func (suite *AnteTestSuite) TestEthGasConsumeDecorator() {

if tc.expPanic {
suite.Require().Panics(func() {
_, _ = ante.CheckEthGasConsume(
suite.ctx.WithIsCheckTx(true).WithGasMeter(storetypes.NewGasMeter(1)), tc.tx,
rules, suite.app.EvmKeeper, baseFee, config.DefaultMaxTxGasWanted, evmtypes.DefaultEVMDenom,
)
p := ante.NewCheckEthGasConsumeProcessor(config.DefaultMaxTxGasWanted)
for _, msg := range tc.tx.GetMsgs() {
msgEthTx, _ := msg.(*evmtypes.MsgEthereumTx)
_ = ante.CheckEthGasConsume(
suite.ctx.WithIsCheckTx(true).WithGasMeter(storetypes.NewGasMeter(1)), msgEthTx,
rules, suite.app.EvmKeeper, baseFee, evmtypes.DefaultEVMDenom, p,
)
}
})
return
}

ctx, err := ante.CheckEthGasConsume(
suite.ctx.WithIsCheckTx(true).WithGasMeter(storetypes.NewInfiniteGasMeter()), tc.tx,
rules, suite.app.EvmKeeper, baseFee, config.DefaultMaxTxGasWanted, evmtypes.DefaultEVMDenom,
)
p := ante.NewCheckEthGasConsumeProcessor(config.DefaultMaxTxGasWanted)
var err error
for _, msg := range tc.tx.GetMsgs() {
var msgEthTx *evmtypes.MsgEthereumTx
if msgEthTx, err = castEthTx(msg); err != nil {
break
}
if err = ante.CheckEthGasConsume(
suite.ctx.WithIsCheckTx(true).WithGasMeter(storetypes.NewInfiniteGasMeter()), msgEthTx,
rules, suite.app.EvmKeeper, baseFee, evmtypes.DefaultEVMDenom, p,
); err != nil {
break
}
}
ctx := suite.ctx
if err == nil {
ctx, err = p.Finalize(ctx)
}
if tc.expPass {
suite.Require().NoError(err)
suite.Require().Equal(tc.expPriority, ctx.Priority())
Expand Down Expand Up @@ -457,12 +504,20 @@ func (suite *AnteTestSuite) TestCanTransferDecorator() {
vmdb = suite.StateDB()
tc.malleate()
suite.Require().NoError(vmdb.Commit())

err := ante.CheckEthCanTransfer(
suite.ctx.WithIsCheckTx(true), tc.tx,
baseFee, rules, suite.app.EvmKeeper, &evmParams,
)

var err error
for _, msg := range tc.tx.GetMsgs() {
var msgEthTx *evmtypes.MsgEthereumTx
if msgEthTx, err = castEthTx(msg); err != nil {
break
}
tx := msgEthTx.AsTransaction()
if err = ante.CheckEthCanTransfer(
suite.ctx.WithIsCheckTx(true), msgEthTx, tx,
baseFee, rules, suite.app.EvmKeeper, &evmParams,
); err != nil {
break
}
}
if tc.expPass {
suite.Require().NoError(err)
} else {
Expand Down Expand Up @@ -539,13 +594,28 @@ func (suite *AnteTestSuite) TestEthIncrementSenderSequenceDecorator() {

if tc.expPanic {
suite.Require().Panics(func() {
_ = ante.CheckAndSetEthSenderNonce(suite.ctx, tc.tx, suite.app.AccountKeeper, false)
for _, msg := range tc.tx.GetMsgs() {
var msgEthTx *evmtypes.MsgEthereumTx
if msgEthTx, err = castEthTx(msg); err != nil {
break
}
tx := msgEthTx.AsTransaction()
_ = ante.CheckAndSetEthSenderNonce(suite.ctx, msgEthTx, tx, suite.app.AccountKeeper, false)
}
})
return
}

err := ante.CheckAndSetEthSenderNonce(suite.ctx, tc.tx, suite.app.AccountKeeper, false)

var err error
for _, msg := range tc.tx.GetMsgs() {
var msgEthTx *evmtypes.MsgEthereumTx
if msgEthTx, err = castEthTx(msg); err != nil {
break
}
tx := msgEthTx.AsTransaction()
if err = ante.CheckAndSetEthSenderNonce(suite.ctx, msgEthTx, tx, suite.app.AccountKeeper, false); err != nil {
break
}
}
if tc.expPass {
suite.Require().NoError(err)
msg := tc.tx.(*evmtypes.MsgEthereumTx)
Expand Down

0 comments on commit c9a76cb

Please sign in to comment.