Skip to content

Commit

Permalink
fix to use hexutils
Browse files Browse the repository at this point in the history
  • Loading branch information
beer-1 committed Mar 29, 2024
1 parent 054648e commit cb25119
Show file tree
Hide file tree
Showing 17 changed files with 113 additions and 128 deletions.
5 changes: 2 additions & 3 deletions app/ibc-hooks/ack.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package evm_hooks

import (
"encoding/hex"

sdk "github.com/cosmos/cosmos-sdk/types"
transfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types"
channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types"
"github.com/ethereum/go-ethereum/common/hexutil"

ibchooks "github.com/initia-labs/initia/x/ibc-hooks"
evmtypes "github.com/initia-labs/minievm/x/evm/types"
Expand Down Expand Up @@ -46,7 +45,7 @@ func (h EVMHooks) onAckIcs20Packet(
_, err = h.execMsg(ctx, &evmtypes.MsgCall{
Sender: data.Sender,
ContractAddr: callback.ContractAddress,
Input: hex.EncodeToString(inputBz),
Input: hexutil.Encode(inputBz),
})
if err != nil {
return err
Expand Down
5 changes: 2 additions & 3 deletions app/ibc-hooks/ack_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
package evm_hooks_test

import (
"encoding/hex"
"encoding/json"
"errors"
"fmt"
"strings"
"testing"

transfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types"
channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/holiman/uint256"
"github.com/initia-labs/minievm/x/evm/contracts/counter"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -46,7 +45,7 @@ func Test_onAckIcs20Packet_memo(t *testing.T) {
_, _, addr := keyPubAddr()
evmAddr := common.BytesToAddress(addr.Bytes())

codeBz, err := hex.DecodeString(strings.TrimPrefix(counter.CounterBin, "0x"))
codeBz, err := hexutil.Decode(counter.CounterBin)
require.NoError(t, err)

_, contractAddr, err := input.EVMKeeper.EVMCreate(ctx, evmAddr, codeBz)
Expand Down
7 changes: 3 additions & 4 deletions app/ibc-hooks/receive_test.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package evm_hooks_test

import (
"encoding/hex"
"encoding/json"
"fmt"
"strings"
"testing"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/holiman/uint256"
"github.com/stretchr/testify/require"

Expand Down Expand Up @@ -45,7 +44,7 @@ func Test_onReceiveIcs20Packet_memo(t *testing.T) {
_, _, addr := keyPubAddr()
evmAddr := common.BytesToAddress(addr.Bytes())

codeBz, err := hex.DecodeString(strings.TrimPrefix(counter.CounterBin, "0x"))
codeBz, err := hexutil.Decode(counter.CounterBin)
require.NoError(t, err)

_, contractAddr, err := input.EVMKeeper.EVMCreate(ctx, evmAddr, codeBz)
Expand All @@ -69,7 +68,7 @@ func Test_onReceiveIcs20Packet_memo(t *testing.T) {
"input": "%s"
}
}
}`, contractAddr.Hex(), hex.EncodeToString(inputBz)),
}`, contractAddr.Hex(), hexutil.Encode(inputBz)),
}

dataBz, err := json.Marshal(&data)
Expand Down
7 changes: 3 additions & 4 deletions app/ibc-hooks/timeout.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package evm_hooks

import (
"encoding/hex"

sdk "github.com/cosmos/cosmos-sdk/types"
transfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types"
channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types"
"github.com/ethereum/go-ethereum/common/hexutil"

ibchooks "github.com/initia-labs/initia/x/ibc-hooks"

Expand Down Expand Up @@ -46,7 +45,7 @@ func (h EVMHooks) onTimeoutIcs20Packet(
_, err = h.execMsg(ctx, &evmtypes.MsgCall{
Sender: data.Sender,
ContractAddr: callback.ContractAddress,
Input: hex.EncodeToString(inputBz),
Input: hexutil.Encode(inputBz),
})
if err != nil {
return err
Expand Down Expand Up @@ -88,7 +87,7 @@ func (h EVMHooks) onTimeoutIcs20Packet(
// _, err = h.execMsg(ctx, &evmtypes.MsgCall{
// Sender: data.Sender,
// ContractAddr: callback.ContractAddress,
// Input: hex.EncodeToString(inputBz),
// Input: hexutil.Encode(inputBz),
// })
// if err != nil {
// return err
Expand Down
5 changes: 2 additions & 3 deletions app/ibc-hooks/timeout_test.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package evm_hooks_test

import (
"encoding/hex"
"encoding/json"
"fmt"
"strings"
"testing"

transfertypes "github.com/cosmos/ibc-go/v8/modules/apps/transfer/types"
channeltypes "github.com/cosmos/ibc-go/v8/modules/core/04-channel/types"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/holiman/uint256"
"github.com/initia-labs/minievm/x/evm/contracts/counter"
"github.com/stretchr/testify/require"
Expand Down Expand Up @@ -42,7 +41,7 @@ func Test_onTimeoutIcs20Packet_memo(t *testing.T) {
_, _, addr := keyPubAddr()
evmAddr := common.BytesToAddress(addr.Bytes())

codeBz, err := hex.DecodeString(strings.TrimPrefix(counter.CounterBin, "0x"))
codeBz, err := hexutil.Decode(counter.CounterBin)
require.NoError(t, err)

_, contractAddr, err := input.EVMKeeper.EVMCreate(ctx, evmAddr, codeBz)
Expand Down
6 changes: 3 additions & 3 deletions proto/minievm/evm/v1/query.proto
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,13 @@ message QueryCodeRequest {
// method
message QueryCodeResponse {
option (gogoproto.equal) = true;
bytes code = 1;
string code = 1;
}

// QueryStateRequest is the request type for the Query/State RPC
// method
message QueryStateRequest {
// It can be cosmos address or hex encoded address (0x prefixed).
// It can be cosmos address or hex encoded address.
string contract_addr = 1;
// hex encoded hash string
string key = 2;
Expand All @@ -80,7 +80,7 @@ message QueryStateResponse {
message QueryCallRequest {
// sender address
string sender = 1;
// It can be cosmos address or hex encoded address (0x prefixed).
// It can be cosmos address or hex encoded address.
string contract_addr = 2;
// hex encoded call input
string input = 3;
Expand Down
5 changes: 3 additions & 2 deletions x/evm/keeper/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"github.com/holiman/uint256"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/core/state"
"github.com/ethereum/go-ethereum/core/tracing"
coretypes "github.com/ethereum/go-ethereum/core/types"
Expand Down Expand Up @@ -222,7 +223,7 @@ func (k Keeper) EVMCallWithTracer(ctx context.Context, caller common.Address, co
return nil, nil, err
}

retHex := common.Bytes2Hex(retBz)
retHex := hexutil.Encode(retBz)
logs := types.NewLogs(stateDB.Logs())

// emit action events
Expand Down Expand Up @@ -304,7 +305,7 @@ func (k Keeper) EVMCreateWithTracer(ctx context.Context, caller common.Address,
return nil, common.Address{}, err
}

retHex := common.Bytes2Hex(retBz)
retHex := hexutil.Encode(retBz)
logs := types.NewLogs(stateDB.Logs())

// emit action events
Expand Down
7 changes: 3 additions & 4 deletions x/evm/keeper/context_test.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package keeper_test

import (
"encoding/hex"
"fmt"
"strings"
"testing"

"cosmossdk.io/math"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/core/vm"
"github.com/holiman/uint256"

Expand All @@ -25,7 +24,7 @@ func Test_Create(t *testing.T) {
ctx, input := createDefaultTestInput(t)
_, _, addr := keyPubAddr()

counterBz, err := hex.DecodeString(strings.TrimPrefix(counter.CounterBin, "0x"))
counterBz, err := hexutil.Decode(counter.CounterBin)
require.NoError(t, err)

caller := common.BytesToAddress(addr.Bytes())
Expand All @@ -39,7 +38,7 @@ func Test_Call(t *testing.T) {
ctx, input := createDefaultTestInput(t)
_, _, addr := keyPubAddr()

counterBz, err := hex.DecodeString(strings.TrimPrefix(counter.CounterBin, "0x"))
counterBz, err := hexutil.Decode(counter.CounterBin)
require.NoError(t, err)

caller := common.BytesToAddress(addr.Bytes())
Expand Down
6 changes: 3 additions & 3 deletions x/evm/keeper/erc20.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package keeper

import (
"context"
"encoding/hex"
"math/big"
"strings"

Expand All @@ -15,6 +14,7 @@ import (
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"

"github.com/initia-labs/minievm/x/evm/contracts/erc20"
"github.com/initia-labs/minievm/x/evm/types"
Expand All @@ -32,7 +32,7 @@ func NewERC20Keeper(k *Keeper) (types.IERC20Keeper, error) {
return ERC20Keeper{}, err
}

erc20Bin, err := hex.DecodeString(strings.TrimPrefix(erc20.Erc20Bin, "0x"))
erc20Bin, err := hexutil.Decode(erc20.Erc20Bin)
if err != nil {
return ERC20Keeper{}, err
}
Expand Down Expand Up @@ -310,7 +310,7 @@ func (k ERC20Keeper) MintCoins(ctx context.Context, addr sdk.AccAddress, amount
sdk.NewEvent(
types.EventTypeERC20Created,
sdk.NewAttribute(types.AttributeKeyDenom, denom),
sdk.NewAttribute(types.AttributeKeyContract, common.Bytes2Hex(ret)),
sdk.NewAttribute(types.AttributeKeyContract, hexutil.Encode(ret)),
),
)
}
Expand Down
5 changes: 2 additions & 3 deletions x/evm/keeper/erc20_test.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package keeper_test

import (
"encoding/hex"
"strings"
"testing"

"cosmossdk.io/math"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/stretchr/testify/require"

sdk "github.com/cosmos/cosmos-sdk/types"
Expand All @@ -24,7 +23,7 @@ func deployERC20(t *testing.T, ctx sdk.Context, input TestKeepers, caller common
inputBz, err := abi.Pack("", denom, denom, uint8(6))
require.NoError(t, err)

erc20Bin, err := hex.DecodeString(strings.TrimPrefix(erc20.Erc20Bin, "0x"))
erc20Bin, err := hexutil.Decode(erc20.Erc20Bin)
require.NoError(t, err)

_, contractAddr, err := input.EVMKeeper.EVMCreate(ctx, caller, append(erc20Bin, inputBz...))
Expand Down
14 changes: 5 additions & 9 deletions x/evm/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ package keeper

import (
"context"
"encoding/hex"
"strings"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"

sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
Expand Down Expand Up @@ -36,7 +34,7 @@ func (ms *msgServerImpl) Create(ctx context.Context, msg *types.MsgCreate) (*typ
if len(msg.Code) == 0 {
return nil, sdkerrors.ErrInvalidRequest.Wrap("empty code bytes")
}
codeBz, err := hex.DecodeString(strings.TrimPrefix(msg.Code, "0x"))
codeBz, err := hexutil.Decode(msg.Code)
if err != nil {
return nil, types.ErrInvalidHexString.Wrap(err.Error())
}
Expand Down Expand Up @@ -69,9 +67,8 @@ func (ms *msgServerImpl) Create(ctx context.Context, msg *types.MsgCreate) (*typ
return nil, types.ErrEVMCallFailed.Wrap(err.Error())
}

retHex := common.Bytes2Hex(retBz)
return &types.MsgCreateResponse{
Result: retHex,
Result: hexutil.Encode(retBz),
ContractAddr: contractAddr.Hex(),
}, nil
}
Expand All @@ -93,7 +90,7 @@ func (ms *msgServerImpl) Call(ctx context.Context, msg *types.MsgCall) (*types.M
if err != nil {
return nil, err
}
inputBz, err := hex.DecodeString(strings.TrimPrefix(msg.Input, "0x"))
inputBz, err := hexutil.Decode(msg.Input)
if err != nil {
return nil, types.ErrInvalidHexString.Wrap(err.Error())
}
Expand All @@ -103,8 +100,7 @@ func (ms *msgServerImpl) Call(ctx context.Context, msg *types.MsgCall) (*types.M
return nil, types.ErrEVMCreateFailed.Wrap(err.Error())
}

retHex := common.Bytes2Hex(retBz)
return &types.MsgCallResponse{Result: retHex, Logs: logs}, nil
return &types.MsgCallResponse{Result: hexutil.Encode(retBz), Logs: logs}, nil
}

// UpdateParams implements types.MsgServer.
Expand Down
17 changes: 7 additions & 10 deletions x/evm/keeper/msg_server_test.go
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package keeper_test

import (
"encoding/hex"
"strings"
"testing"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/holiman/uint256"
"github.com/initia-labs/minievm/x/evm/contracts/counter"
"github.com/initia-labs/minievm/x/evm/keeper"
Expand All @@ -17,12 +16,10 @@ func Test_MsgServer_Create(t *testing.T) {
ctx, input := createDefaultTestInput(t)
_, _, addr := keyPubAddr()

counterBin := strings.TrimPrefix(counter.CounterBin, "0x")

msgServer := keeper.NewMsgServerImpl(&input.EVMKeeper)
res, err := msgServer.Create(ctx, &types.MsgCreate{
Sender: addr.String(),
Code: counterBin,
Code: counter.CounterBin,
})
require.NoError(t, err)
require.NotEmpty(t, res.Result)
Expand All @@ -37,7 +34,7 @@ func Test_MsgServer_Create(t *testing.T) {
// allowed
res, err = msgServer.Create(ctx, &types.MsgCreate{
Sender: addr.String(),
Code: counterBin,
Code: counter.CounterBin,
})
require.NoError(t, err)
require.NotEmpty(t, res.Result)
Expand All @@ -47,7 +44,7 @@ func Test_MsgServer_Create(t *testing.T) {
_, _, addr = keyPubAddr()
_, err = msgServer.Create(ctx, &types.MsgCreate{
Sender: addr.String(),
Code: counterBin,
Code: counter.CounterBin,
})
require.Error(t, err)
}
Expand All @@ -57,7 +54,7 @@ func Test_MsgServer_Call(t *testing.T) {
_, _, addr := keyPubAddr()
caller := common.BytesToAddress(addr.Bytes())

counterBz, err := hex.DecodeString(strings.TrimPrefix(counter.CounterBin, "0x"))
counterBz, err := hexutil.Decode(counter.CounterBin)
require.NoError(t, err)

retBz, contractAddr, err := input.EVMKeeper.EVMCreate(ctx, caller, counterBz)
Expand All @@ -83,10 +80,10 @@ func Test_MsgServer_Call(t *testing.T) {
res, err := msgServer.Call(ctx, &types.MsgCall{
Sender: addr.String(),
ContractAddr: contractAddr.Hex(),
Input: common.Bytes2Hex(inputBz),
Input: hexutil.Encode(inputBz),
})
require.NoError(t, err)
require.Empty(t, res.Result)
require.Equal(t, "0x", res.Result)
require.NotEmpty(t, res.Logs)

queryRes, logs, err = input.EVMKeeper.EVMCall(ctx, caller, contractAddr, queryInputBz)
Expand Down
Loading

0 comments on commit cb25119

Please sign in to comment.