Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
### BUG FIXES

- [\#471](https://github.com/cosmos/evm/pull/471) Notify new block for mempool in time.
- [\#492](https://github.com/cosmos/evm/pull/492) Duplicate case switch to avoid empty execution block

### IMPROVEMENTS

Expand Down
13 changes: 11 additions & 2 deletions precompiles/erc20/msgsrv.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,28 @@ func NewMsgServerImpl(keeper cmn.BankKeeper) *MsgServer {
func (m MsgServer) Send(goCtx context.Context, msg *banktypes.MsgSend) error {
switch keeper := m.BankKeeper.(type) {
// have cases for both pointer and non-pointer to cover how different apps could be storing the keeper
case *bankkeeper.BaseKeeper:
case bankkeeper.BaseKeeper:
msgSrv := bankkeeper.NewMsgServerImpl(keeper)
if _, err := msgSrv.Send(goCtx, msg); err != nil {
// This should return an error to avoid the contract from being executed and an event being emitted
return ConvertErrToERC20Error(err)
}
case *precisebankkeeper.Keeper:
case *bankkeeper.BaseKeeper:
msgSrv := bankkeeper.NewMsgServerImpl(keeper)
if _, err := msgSrv.Send(goCtx, msg); err != nil {
// This should return an error to avoid the contract from being executed and an event being emitted
return ConvertErrToERC20Error(err)
}
case precisebankkeeper.Keeper:
if _, err := keeper.Send(goCtx, msg); err != nil {
// This should return an error to avoid the contract from being executed and an event being emitted
return ConvertErrToERC20Error(err)
}
case *precisebankkeeper.Keeper:
if _, err := keeper.Send(goCtx, msg); err != nil {
// This should return an error to avoid the contract from being executed and an event being emitted
return ConvertErrToERC20Error(err)
}
default:
return sdkerrors.ErrInvalidRequest.Wrapf("invalid keeper type: %T", m.BankKeeper)
}
Expand Down
Loading