Skip to content

Commit 7aeb9d1

Browse files
authored
Properly handle gas in pointer precompile (#1836)
1 parent 18c3e2d commit 7aeb9d1

12 files changed

+81
-60
lines changed

precompiles/common/expected_keepers.go

+8-6
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,16 @@ type EVMKeeper interface {
4848
GetERC721CW721Pointer(ctx sdk.Context, cw721Address string) (addr common.Address, version uint16, exists bool)
4949
SetCode(ctx sdk.Context, addr common.Address, code []byte)
5050
UpsertERCNativePointer(
51-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, token string, metadata utils.ERCMetadata,
52-
) (contractAddr common.Address, remainingGas uint64, err error)
51+
ctx sdk.Context, evm *vm.EVM, token string, metadata utils.ERCMetadata,
52+
) (contractAddr common.Address, err error)
5353
UpsertERCCW20Pointer(
54-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, cw20Addr string, metadata utils.ERCMetadata,
55-
) (contractAddr common.Address, remainingGas uint64, err error)
54+
ctx sdk.Context, evm *vm.EVM, cw20Addr string, metadata utils.ERCMetadata,
55+
) (contractAddr common.Address, err error)
5656
UpsertERCCW721Pointer(
57-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, cw721Addr string, metadata utils.ERCMetadata,
58-
) (contractAddr common.Address, remainingGas uint64, err error)
57+
ctx sdk.Context, evm *vm.EVM, cw721Addr string, metadata utils.ERCMetadata,
58+
) (contractAddr common.Address, err error)
59+
GetEVMGasLimitFromCtx(ctx sdk.Context) uint64
60+
GetCosmosGasLimitFromEVMGas(ctx sdk.Context, evmGas uint64) uint64
5961
}
6062

6163
type AccountKeeper interface {

precompiles/common/precompiles.go

+2-10
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
"github.com/ethereum/go-ethereum/common"
1414
"github.com/ethereum/go-ethereum/core/tracing"
1515
"github.com/ethereum/go-ethereum/core/vm"
16-
"github.com/sei-protocol/sei-chain/utils"
1716
"github.com/sei-protocol/sei-chain/utils/metrics"
1817
"github.com/sei-protocol/sei-chain/x/evm/state"
1918
"github.com/sei-protocol/sei-chain/x/evm/types"
@@ -160,12 +159,7 @@ func (d DynamicGasPrecompile) RunAndCalculateGas(evm *vm.EVM, caller common.Addr
160159
if err != nil {
161160
return nil, 0, err
162161
}
163-
gasMultipler := d.executor.EVMKeeper().GetPriorityNormalizer(ctx)
164-
gasLimitBigInt := sdk.NewDecFromInt(sdk.NewIntFromUint64(suppliedGas)).Mul(gasMultipler).TruncateInt().BigInt()
165-
if gasLimitBigInt.Cmp(utils.BigMaxU64) > 0 {
166-
gasLimitBigInt = utils.BigMaxU64
167-
}
168-
ctx = ctx.WithGasMeter(sdk.NewGasMeterWithMultiplier(ctx, gasLimitBigInt.Uint64()))
162+
ctx = ctx.WithGasMeter(sdk.NewGasMeterWithMultiplier(ctx, d.executor.EVMKeeper().GetCosmosGasLimitFromEVMGas(ctx, suppliedGas)))
169163

170164
operation = method.Name
171165
em := ctx.EventManager()
@@ -231,9 +225,7 @@ sei gas = evm gas * multiplier
231225
sei gas price = fee / sei gas = fee / (evm gas * multiplier) = evm gas / multiplier
232226
*/
233227
func GetRemainingGas(ctx sdk.Context, evmKeeper EVMKeeper) uint64 {
234-
gasMultipler := evmKeeper.GetPriorityNormalizer(ctx)
235-
seiGasRemaining := ctx.GasMeter().Limit() - ctx.GasMeter().GasConsumedToLimit()
236-
return sdk.NewDecFromInt(sdk.NewIntFromUint64(seiGasRemaining)).Quo(gasMultipler).TruncateInt().Uint64()
228+
return evmKeeper.GetEVMGasLimitFromCtx(ctx)
237229
}
238230

239231
func ExtractMethodID(input []byte) ([]byte, error) {

precompiles/distribution/distribution_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func TestWithdraw(t *testing.T) {
148148
res, err = msgServer.EVMTransaction(sdk.WrapSDKContext(ctx), req)
149149
require.Nil(t, err)
150150
require.Empty(t, res.VmError)
151-
require.Equal(t, uint64(69808), res.GasUsed)
151+
require.Equal(t, uint64(64124), res.GasUsed)
152152

153153
// reinitialized
154154
d, found = testApp.StakingKeeper.GetDelegation(ctx, seiAddr, val)
@@ -301,7 +301,7 @@ func setWithdrawAddressAndWithdraw(
301301
res, err = msgServer.EVMTransaction(sdk.WrapSDKContext(ctx), r)
302302
require.Nil(t, err)
303303
require.Empty(t, res.VmError)
304-
require.Equal(t, uint64(153974), res.GasUsed)
304+
require.Equal(t, uint64(148290), res.GasUsed)
305305

306306
// reinitialized
307307
for _, val := range vals {
@@ -1051,7 +1051,7 @@ func TestPrecompile_RunAndCalculateGas_Rewards(t *testing.T) {
10511051
suppliedGas: uint64(1000000),
10521052
},
10531053
wantRet: emptyCasePackedOutput,
1054-
wantRemainingGas: 993193,
1054+
wantRemainingGas: 998877,
10551055
wantErr: false,
10561056
},
10571057
{
@@ -1067,7 +1067,7 @@ func TestPrecompile_RunAndCalculateGas_Rewards(t *testing.T) {
10671067
suppliedGas: uint64(1000000),
10681068
},
10691069
wantRet: happyPathPackedOutput,
1070-
wantRemainingGas: 993193,
1070+
wantRemainingGas: 998877,
10711071
wantErr: false,
10721072
},
10731073
}

precompiles/ibc/ibc_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func TestPrecompile_Run(t *testing.T) {
106106
fields: fields{transferKeeper: &MockTransferKeeper{}},
107107
args: commonArgs,
108108
wantBz: packedTrue,
109-
wantRemainingGas: 993193,
109+
wantRemainingGas: 998877,
110110
wantErr: false,
111111
},
112112
{
@@ -235,7 +235,7 @@ func TestPrecompile_Run(t *testing.T) {
235235
value: nil,
236236
},
237237
wantBz: packedTrue,
238-
wantRemainingGas: 993193,
238+
wantRemainingGas: 998877,
239239
wantErr: false,
240240
},
241241
{
@@ -255,7 +255,7 @@ func TestPrecompile_Run(t *testing.T) {
255255
value: nil,
256256
},
257257
wantBz: packedTrue,
258-
wantRemainingGas: 993193,
258+
wantRemainingGas: 998877,
259259
wantErr: false,
260260
},
261261
}

precompiles/pointer/pointer.go

+12-9
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ func (p PrecompileExecutor) Execute(ctx sdk.Context, method *ethabi.Method, call
7373

7474
switch method.Name {
7575
case AddNativePointer:
76-
return p.AddNative(ctx, method, caller, args, value, evm, suppliedGas)
76+
return p.AddNative(ctx, method, caller, args, value, evm)
7777
case AddCW20Pointer:
78-
return p.AddCW20(ctx, method, caller, args, value, evm, suppliedGas)
78+
return p.AddCW20(ctx, method, caller, args, value, evm)
7979
case AddCW721Pointer:
80-
return p.AddCW721(ctx, method, caller, args, value, evm, suppliedGas)
80+
return p.AddCW721(ctx, method, caller, args, value, evm)
8181
default:
8282
err = fmt.Errorf("unknown method %s", method.Name)
8383
}
@@ -88,7 +88,7 @@ func (p PrecompileExecutor) EVMKeeper() pcommon.EVMKeeper {
8888
return p.evmKeeper
8989
}
9090

91-
func (p PrecompileExecutor) AddNative(ctx sdk.Context, method *ethabi.Method, caller common.Address, args []interface{}, value *big.Int, evm *vm.EVM, suppliedGas uint64) (ret []byte, remainingGas uint64, err error) {
91+
func (p PrecompileExecutor) AddNative(ctx sdk.Context, method *ethabi.Method, caller common.Address, args []interface{}, value *big.Int, evm *vm.EVM) (ret []byte, remainingGas uint64, err error) {
9292
if err := pcommon.ValidateNonPayable(value); err != nil {
9393
return nil, 0, err
9494
}
@@ -113,15 +113,16 @@ func (p PrecompileExecutor) AddNative(ctx sdk.Context, method *ethabi.Method, ca
113113
}
114114
}
115115
}
116-
contractAddr, remainingGas, err := p.evmKeeper.UpsertERCNativePointer(ctx, evm, suppliedGas, token, utils.ERCMetadata{Name: name, Symbol: symbol, Decimals: decimals})
116+
contractAddr, err := p.evmKeeper.UpsertERCNativePointer(ctx, evm, token, utils.ERCMetadata{Name: name, Symbol: symbol, Decimals: decimals})
117117
if err != nil {
118118
return nil, 0, err
119119
}
120120
ret, err = method.Outputs.Pack(contractAddr)
121+
remainingGas = pcommon.GetRemainingGas(ctx, p.evmKeeper)
121122
return
122123
}
123124

124-
func (p PrecompileExecutor) AddCW20(ctx sdk.Context, method *ethabi.Method, caller common.Address, args []interface{}, value *big.Int, evm *vm.EVM, suppliedGas uint64) (ret []byte, remainingGas uint64, err error) {
125+
func (p PrecompileExecutor) AddCW20(ctx sdk.Context, method *ethabi.Method, caller common.Address, args []interface{}, value *big.Int, evm *vm.EVM) (ret []byte, remainingGas uint64, err error) {
125126
if err := pcommon.ValidateNonPayable(value); err != nil {
126127
return nil, 0, err
127128
}
@@ -143,15 +144,16 @@ func (p PrecompileExecutor) AddCW20(ctx sdk.Context, method *ethabi.Method, call
143144
}
144145
name := formattedRes["name"].(string)
145146
symbol := formattedRes["symbol"].(string)
146-
contractAddr, remainingGas, err := p.evmKeeper.UpsertERCCW20Pointer(ctx, evm, suppliedGas, cwAddr, utils.ERCMetadata{Name: name, Symbol: symbol})
147+
contractAddr, err := p.evmKeeper.UpsertERCCW20Pointer(ctx, evm, cwAddr, utils.ERCMetadata{Name: name, Symbol: symbol})
147148
if err != nil {
148149
return nil, 0, err
149150
}
150151
ret, err = method.Outputs.Pack(contractAddr)
152+
remainingGas = pcommon.GetRemainingGas(ctx, p.evmKeeper)
151153
return
152154
}
153155

154-
func (p PrecompileExecutor) AddCW721(ctx sdk.Context, method *ethabi.Method, caller common.Address, args []interface{}, value *big.Int, evm *vm.EVM, suppliedGas uint64) (ret []byte, remainingGas uint64, err error) {
156+
func (p PrecompileExecutor) AddCW721(ctx sdk.Context, method *ethabi.Method, caller common.Address, args []interface{}, value *big.Int, evm *vm.EVM) (ret []byte, remainingGas uint64, err error) {
155157
if err := pcommon.ValidateNonPayable(value); err != nil {
156158
return nil, 0, err
157159
}
@@ -173,10 +175,11 @@ func (p PrecompileExecutor) AddCW721(ctx sdk.Context, method *ethabi.Method, cal
173175
}
174176
name := formattedRes["name"].(string)
175177
symbol := formattedRes["symbol"].(string)
176-
contractAddr, remainingGas, err := p.evmKeeper.UpsertERCCW721Pointer(ctx, evm, suppliedGas, cwAddr, utils.ERCMetadata{Name: name, Symbol: symbol})
178+
contractAddr, err := p.evmKeeper.UpsertERCCW721Pointer(ctx, evm, cwAddr, utils.ERCMetadata{Name: name, Symbol: symbol})
177179
if err != nil {
178180
return nil, 0, err
179181
}
180182
ret, err = method.Outputs.Pack(contractAddr)
183+
remainingGas = pcommon.GetRemainingGas(ctx, p.evmKeeper)
181184
return
182185
}

precompiles/pointer/pointer_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"testing"
55
"time"
66

7+
sdk "github.com/cosmos/cosmos-sdk/types"
78
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
89
"github.com/ethereum/go-ethereum/common"
910
"github.com/ethereum/go-ethereum/core"
@@ -21,6 +22,7 @@ func TestAddNative(t *testing.T) {
2122
p, err := pointer.NewPrecompile(&testApp.EvmKeeper, testApp.BankKeeper, testApp.WasmKeeper)
2223
require.Nil(t, err)
2324
ctx := testApp.GetContextForDeliverTx([]byte{}).WithBlockTime(time.Now())
25+
ctx = ctx.WithGasMeter(sdk.NewInfiniteGasMeterWithMultiplier(ctx))
2426
_, caller := testkeeper.MockAddressPair()
2527
suppliedGas := uint64(10000000)
2628
cfg := types.DefaultChainConfig().EthereumConfig(testApp.EvmKeeper.ChainID(ctx))
@@ -55,7 +57,7 @@ func TestAddNative(t *testing.T) {
5557
evm = vm.NewEVM(*blockCtx, vm.TxContext{}, statedb, cfg, vm.Config{})
5658
ret, g, err := p.RunAndCalculateGas(evm, caller, caller, append(p.GetExecutor().(*pointer.PrecompileExecutor).AddNativePointerID, args...), suppliedGas, nil, nil, false)
5759
require.Nil(t, err)
58-
require.Equal(t, uint64(8907806), g)
60+
require.Equal(t, uint64(8888494), g)
5961
outputs, err := m.Outputs.Unpack(ret)
6062
require.Nil(t, err)
6163
addr := outputs[0].(common.Address)

x/evm/gov.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func HandleAddERCNativePointerProposalV2(ctx sdk.Context, k *keeper.Keeper, p *t
2020
}
2121
return k.RunWithOneOffEVMInstance(
2222
ctx, func(e *vm.EVM) error {
23-
_, _, err := k.UpsertERCNativePointer(ctx, e, math.MaxUint64, p.Token, utils.ERCMetadata{Name: p.Name, Symbol: p.Symbol, Decimals: decimals})
23+
_, err := k.UpsertERCNativePointer(ctx, e, p.Token, utils.ERCMetadata{Name: p.Name, Symbol: p.Symbol, Decimals: decimals})
2424
return err
2525
}, func(s1, s2 string) {
2626
logNativeV2Error(ctx, p, s1, s2)

x/evm/keeper/params.go

+18
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,21 @@ func (k *Keeper) ChainID(ctx sdk.Context) *big.Int {
5050
return config.GetEVMChainID(ctx.ChainID())
5151

5252
}
53+
54+
/*
55+
*
56+
sei gas = evm gas * multiplier
57+
sei gas price = fee / sei gas = fee / (evm gas * multiplier) = evm gas / multiplier
58+
*/
59+
func (k *Keeper) GetEVMGasLimitFromCtx(ctx sdk.Context) uint64 {
60+
return k.getEvmGasLimitFromCtx(ctx)
61+
}
62+
63+
func (k *Keeper) GetCosmosGasLimitFromEVMGas(ctx sdk.Context, evmGas uint64) uint64 {
64+
gasMultipler := k.GetPriorityNormalizer(ctx)
65+
gasLimitBigInt := sdk.NewDecFromInt(sdk.NewIntFromUint64(evmGas)).Mul(gasMultipler).TruncateInt().BigInt()
66+
if gasLimitBigInt.Cmp(utils.BigMaxU64) > 0 {
67+
gasLimitBigInt = utils.BigMaxU64
68+
}
69+
return gasLimitBigInt.Uint64()
70+
}

x/evm/keeper/pointer_upgrade.go

+14-11
Original file line numberDiff line numberDiff line change
@@ -44,38 +44,38 @@ func (k *Keeper) RunWithOneOffEVMInstance(
4444
}
4545

4646
func (k *Keeper) UpsertERCNativePointer(
47-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, token string, metadata utils.ERCMetadata,
48-
) (contractAddr common.Address, remainingGas uint64, err error) {
47+
ctx sdk.Context, evm *vm.EVM, token string, metadata utils.ERCMetadata,
48+
) (contractAddr common.Address, err error) {
4949
return k.UpsertERCPointer(
50-
ctx, evm, suppliedGas, "native", []interface{}{
50+
ctx, evm, "native", []interface{}{
5151
token, metadata.Name, metadata.Symbol, metadata.Decimals,
5252
}, k.GetERC20NativePointer, k.SetERC20NativePointer,
5353
)
5454
}
5555

5656
func (k *Keeper) UpsertERCCW20Pointer(
57-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, cw20Addr string, metadata utils.ERCMetadata,
58-
) (contractAddr common.Address, remainingGas uint64, err error) {
57+
ctx sdk.Context, evm *vm.EVM, cw20Addr string, metadata utils.ERCMetadata,
58+
) (contractAddr common.Address, err error) {
5959
return k.UpsertERCPointer(
60-
ctx, evm, suppliedGas, "cw20", []interface{}{
60+
ctx, evm, "cw20", []interface{}{
6161
cw20Addr, metadata.Name, metadata.Symbol,
6262
}, k.GetERC20CW20Pointer, k.SetERC20CW20Pointer,
6363
)
6464
}
6565

6666
func (k *Keeper) UpsertERCCW721Pointer(
67-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, cw721Addr string, metadata utils.ERCMetadata,
68-
) (contractAddr common.Address, remainingGas uint64, err error) {
67+
ctx sdk.Context, evm *vm.EVM, cw721Addr string, metadata utils.ERCMetadata,
68+
) (contractAddr common.Address, err error) {
6969
return k.UpsertERCPointer(
70-
ctx, evm, suppliedGas, "cw721", []interface{}{
70+
ctx, evm, "cw721", []interface{}{
7171
cw721Addr, metadata.Name, metadata.Symbol,
7272
}, k.GetERC721CW721Pointer, k.SetERC721CW721Pointer,
7373
)
7474
}
7575

7676
func (k *Keeper) UpsertERCPointer(
77-
ctx sdk.Context, evm *vm.EVM, suppliedGas uint64, typ string, args []interface{}, getter PointerGetter, setter PointerSetter,
78-
) (contractAddr common.Address, remainingGas uint64, err error) {
77+
ctx sdk.Context, evm *vm.EVM, typ string, args []interface{}, getter PointerGetter, setter PointerSetter,
78+
) (contractAddr common.Address, err error) {
7979
pointee := args[0].(string)
8080
evmModuleAddress := k.GetEVMAddressOrDefault(ctx, k.AccountKeeper().GetModuleAddress(types.ModuleName))
8181

@@ -86,6 +86,8 @@ func (k *Keeper) UpsertERCPointer(
8686
}
8787
bin = append(artifacts.GetBin(typ), bin...)
8888
existingAddr, _, exists := getter(ctx, pointee)
89+
suppliedGas := k.getEvmGasLimitFromCtx(ctx)
90+
var remainingGas uint64
8991
if exists {
9092
var ret []byte
9193
contractAddr = existingAddr
@@ -97,6 +99,7 @@ func (k *Keeper) UpsertERCPointer(
9799
if err != nil {
98100
return
99101
}
102+
ctx.GasMeter().ConsumeGas(k.GetCosmosGasLimitFromEVMGas(ctx, suppliedGas-remainingGas), "ERC pointer deployment")
100103
if err = setter(ctx, pointee, contractAddr); err != nil {
101104
return
102105
}

x/evm/keeper/pointer_upgrade_test.go

+10-7
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package keeper_test
22

33
import (
44
"errors"
5-
"math"
65
"testing"
76
"time"
87

8+
sdk "github.com/cosmos/cosmos-sdk/types"
99
"github.com/ethereum/go-ethereum/common"
1010
"github.com/ethereum/go-ethereum/core/vm"
1111
testkeeper "github.com/sei-protocol/sei-chain/testutil/keeper"
@@ -31,9 +31,10 @@ func TestRunWithOneOffEVMInstance(t *testing.T) {
3131
func TestUpsertERCNativePointer(t *testing.T) {
3232
k := &testkeeper.EVMTestApp.EvmKeeper
3333
ctx := testkeeper.EVMTestApp.GetContextForDeliverTx([]byte{}).WithBlockTime(time.Now())
34+
ctx = ctx.WithGasMeter(sdk.NewInfiniteGasMeterWithMultiplier(ctx))
3435
var addr common.Address
3536
err := k.RunWithOneOffEVMInstance(ctx, func(e *vm.EVM) error {
36-
a, _, err := k.UpsertERCNativePointer(ctx, e, math.MaxUint64, "test", utils.ERCMetadata{
37+
a, err := k.UpsertERCNativePointer(ctx, e, "test", utils.ERCMetadata{
3738
Name: "test",
3839
Symbol: "test",
3940
Decimals: 6,
@@ -44,7 +45,7 @@ func TestUpsertERCNativePointer(t *testing.T) {
4445
require.Nil(t, err)
4546
var newAddr common.Address
4647
err = k.RunWithOneOffEVMInstance(ctx, func(e *vm.EVM) error {
47-
a, _, err := k.UpsertERCNativePointer(ctx, e, math.MaxUint64, "test", utils.ERCMetadata{
48+
a, err := k.UpsertERCNativePointer(ctx, e, "test", utils.ERCMetadata{
4849
Name: "test2",
4950
Symbol: "test2",
5051
Decimals: 12,
@@ -70,9 +71,10 @@ func TestUpsertERCNativePointer(t *testing.T) {
7071
func TestUpsertERC20Pointer(t *testing.T) {
7172
k := &testkeeper.EVMTestApp.EvmKeeper
7273
ctx := testkeeper.EVMTestApp.GetContextForDeliverTx([]byte{}).WithBlockTime(time.Now())
74+
ctx = ctx.WithGasMeter(sdk.NewInfiniteGasMeterWithMultiplier(ctx))
7375
var addr common.Address
7476
err := k.RunWithOneOffEVMInstance(ctx, func(e *vm.EVM) error {
75-
a, _, err := k.UpsertERCCW20Pointer(ctx, e, math.MaxUint64, "test", utils.ERCMetadata{
77+
a, err := k.UpsertERCCW20Pointer(ctx, e, "test", utils.ERCMetadata{
7678
Name: "test",
7779
Symbol: "test",
7880
})
@@ -82,7 +84,7 @@ func TestUpsertERC20Pointer(t *testing.T) {
8284
require.Nil(t, err)
8385
var newAddr common.Address
8486
err = k.RunWithOneOffEVMInstance(ctx, func(e *vm.EVM) error {
85-
a, _, err := k.UpsertERCCW20Pointer(ctx, e, math.MaxUint64, "test", utils.ERCMetadata{
87+
a, err := k.UpsertERCCW20Pointer(ctx, e, "test", utils.ERCMetadata{
8688
Name: "test2",
8789
Symbol: "test2",
8890
})
@@ -96,9 +98,10 @@ func TestUpsertERC20Pointer(t *testing.T) {
9698
func TestUpsertERC721Pointer(t *testing.T) {
9799
k := &testkeeper.EVMTestApp.EvmKeeper
98100
ctx := testkeeper.EVMTestApp.GetContextForDeliverTx([]byte{}).WithBlockTime(time.Now())
101+
ctx = ctx.WithGasMeter(sdk.NewInfiniteGasMeterWithMultiplier(ctx))
99102
var addr common.Address
100103
err := k.RunWithOneOffEVMInstance(ctx, func(e *vm.EVM) error {
101-
a, _, err := k.UpsertERCCW721Pointer(ctx, e, math.MaxUint64, "test", utils.ERCMetadata{
104+
a, err := k.UpsertERCCW721Pointer(ctx, e, "test", utils.ERCMetadata{
102105
Name: "test",
103106
Symbol: "test",
104107
})
@@ -108,7 +111,7 @@ func TestUpsertERC721Pointer(t *testing.T) {
108111
require.Nil(t, err)
109112
var newAddr common.Address
110113
err = k.RunWithOneOffEVMInstance(ctx, func(e *vm.EVM) error {
111-
a, _, err := k.UpsertERCCW721Pointer(ctx, e, math.MaxUint64, "test", utils.ERCMetadata{
114+
a, err := k.UpsertERCCW721Pointer(ctx, e, "test", utils.ERCMetadata{
112115
Name: "test2",
113116
Symbol: "test2",
114117
})

0 commit comments

Comments
 (0)