Skip to content

Commit

Permalink
Don't extend geth core types
Browse files Browse the repository at this point in the history
  • Loading branch information
evgeniy-scherbina committed Feb 26, 2024
1 parent 8afb4f7 commit 638be0d
Showing 1 changed file with 3 additions and 39 deletions.
42 changes: 3 additions & 39 deletions x/evm/statedb/statedb.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,12 @@ import (
"fmt"
"math/big"

"github.com/cosmos/cosmos-sdk/types"
sdk "github.com/cosmos/cosmos-sdk/types"
ibctransfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types"
ibcclienttypes "github.com/cosmos/ibc-go/v6/modules/core/02-client/types"
"github.com/ethereum/go-ethereum/common"
ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/core/vm"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/precompile/contract"
)

var _ vm.StateDB = &StateDB{}
Expand Down Expand Up @@ -476,44 +473,11 @@ func (s *StateDB) SetError(err error) {
s.sdkError = err
}

func (s *StateDB) IBCTransfer(goCtx context.Context, msg *contract.MsgTransfer) (*contract.MsgTransferResponse, error) {
resp, err := s.keeper.IBCTransferKeeper().Transfer(goCtx, newMsgTransfer(msg))
func (s *StateDB) IBCTransfer(goCtx context.Context, msg *ibctransfertypes.MsgTransfer) (*ibctransfertypes.MsgTransferResponse, error) {
resp, err := s.keeper.IBCTransferKeeper().Transfer(goCtx, msg)
if err != nil {
return nil, err
}

return newMsgTransferResponse(resp), nil
}

func newMsgTransfer(m *contract.MsgTransfer) *ibctransfertypes.MsgTransfer {
return &ibctransfertypes.MsgTransfer{
SourcePort: m.SourcePort,
SourceChannel: m.SourceChannel,
Token: newCoin(m.Token),
Sender: m.Sender,
Receiver: m.Receiver,
TimeoutHeight: newHeight(m.TimeoutHeight),
TimeoutTimestamp: m.TimeoutTimestamp,
Memo: m.Memo,
}
}

func newCoin(c contract.Coin) types.Coin {
return types.Coin{
Denom: c.Denom,
Amount: c.Amount,
}
}

func newHeight(h contract.Height) ibcclienttypes.Height {
return ibcclienttypes.Height{
RevisionNumber: h.RevisionNumber,
RevisionHeight: h.RevisionHeight,
}
}

func newMsgTransferResponse(r *ibctransfertypes.MsgTransferResponse) *contract.MsgTransferResponse {
return &contract.MsgTransferResponse{
Sequence: r.Sequence,
}
return resp, nil
}

0 comments on commit 638be0d

Please sign in to comment.