diff --git a/x/wasm/handler.go b/x/wasm/handler.go index 989317a0..f9cedd2a 100644 --- a/x/wasm/handler.go +++ b/x/wasm/handler.go @@ -67,7 +67,7 @@ func handleStoreCode(ctx sdk.Context, k Keeper, msg *MsgStoreCode) sdk.Result { } func handleInstantiate(ctx sdk.Context, k Keeper, msg *MsgInstantiateContract) sdk.Result { - contractAddr, err := k.Instantiate(ctx, msg.Sender, msg.Code, msg.InitMsg, msg.InitFunds) + contractAddr, err := k.Instantiate(ctx, msg.Code, msg.Sender, msg.InitMsg, msg.InitFunds) if err != nil { return sdk.ResultFromError(err) } @@ -90,7 +90,7 @@ func handleInstantiate(ctx sdk.Context, k Keeper, msg *MsgInstantiateContract) s } func handleExecute(ctx sdk.Context, k Keeper, msg *MsgExecuteContract) sdk.Result { - res, err := k.Execute(ctx, msg.Contract, msg.Sender, msg.SentFunds, msg.Msg) + res, err := k.Execute(ctx, msg.Contract, msg.Sender, msg.Msg, msg.SentFunds) if err != nil { return sdk.ResultFromError(err) } diff --git a/x/wasm/internal/keeper/keeper.go b/x/wasm/internal/keeper/keeper.go index e8e954bf..e2e498b4 100644 --- a/x/wasm/internal/keeper/keeper.go +++ b/x/wasm/internal/keeper/keeper.go @@ -83,7 +83,7 @@ func (k Keeper) Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, } // Instantiate creates an instance of a WASM contract -func (k Keeper) Instantiate(ctx sdk.Context, creator sdk.AccAddress, codeID uint64, initMsg []byte, deposit sdk.Coins) (sdk.AccAddress, error) { +func (k Keeper) Instantiate(ctx sdk.Context, codeID uint64, creator sdk.AccAddress, initMsg []byte, deposit sdk.Coins) (sdk.AccAddress, error) { // create contract address contractAddress := k.generateContractAddress(ctx, codeID) existingAcct := k.accountKeeper.GetAccount(ctx, contractAddress) @@ -138,7 +138,7 @@ func (k Keeper) Instantiate(ctx sdk.Context, creator sdk.AccAddress, codeID uint } // Execute executes the contract instance -func (k Keeper) Execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, coins sdk.Coins, msg []byte) (sdk.Result, error) { +func (k Keeper) Execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, msg []byte, coins sdk.Coins) (sdk.Result, error) { codeInfo, prefixStore, err := k.contractInstance(ctx, contractAddress) if err != nil { return sdk.Result{}, err @@ -309,7 +309,7 @@ func (k Keeper) dispatchMessage(ctx sdk.Context, contract exported.Account, msg return sdk.ErrInvalidAddress(msg.Contract.ContractAddr) } // TODO: use non nil payment once we update go-cosmwasm (ContractMsg contains optional payment) - _, err := k.Execute(ctx, targetAddr, contract.GetAddress(), nil, []byte(msg.Contract.Msg)) + _, err := k.Execute(ctx, targetAddr, contract.GetAddress(), []byte(msg.Contract.Msg), nil) if err != nil { return err } diff --git a/x/wasm/internal/keeper/keeper_test.go b/x/wasm/internal/keeper/keeper_test.go index 323d79b2..94270b27 100644 --- a/x/wasm/internal/keeper/keeper_test.go +++ b/x/wasm/internal/keeper/keeper_test.go @@ -98,7 +98,7 @@ func TestInstantiate(t *testing.T) { gasBefore := ctx.GasMeter().GasConsumed() // create with no balance is also legal - addr, err := keeper.Instantiate(ctx, creator, contractID, initMsgBz, nil) + addr, err := keeper.Instantiate(ctx, contractID, creator, initMsgBz, nil) require.NoError(t, err) require.Equal(t, "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5", addr.String()) @@ -122,7 +122,7 @@ func TestInstantiateWithNonExistingCodeID(t *testing.T) { require.NoError(t, err) const nonExistingCodeID = 9999 - addr, err := keeper.Instantiate(ctx, creator, nonExistingCodeID, initMsgBz, nil) + addr, err := keeper.Instantiate(ctx, nonExistingCodeID, creator, initMsgBz, nil) require.True(t, types.ErrNotFound.Is(err), err) require.Nil(t, addr) } @@ -152,7 +152,7 @@ func TestExecute(t *testing.T) { initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.Instantiate(ctx, creator, contractID, initMsgBz, deposit) + addr, err := keeper.Instantiate(ctx, contractID, creator, initMsgBz, deposit) require.NoError(t, err) require.Equal(t, "cosmos18vd8fpwxzck93qlwghaj6arh4p7c5n89uzcee5", addr.String()) @@ -173,7 +173,7 @@ func TestExecute(t *testing.T) { // unauthorized - trialCtx so we don't change state trialCtx := ctx.WithMultiStore(ctx.MultiStore().CacheWrap().(sdk.MultiStore)) - res, err := keeper.Execute(trialCtx, addr, creator, nil, []byte(`{}`)) + res, err := keeper.Execute(trialCtx, addr, creator, []byte(`{}`), nil) require.Error(t, err) require.Contains(t, err.Error(), "Unauthorized") @@ -181,7 +181,7 @@ func TestExecute(t *testing.T) { start := time.Now() gasBefore := ctx.GasMeter().GasConsumed() - res, err = keeper.Execute(ctx, addr, fred, topUp, []byte(`{}`)) + res, err = keeper.Execute(ctx, addr, fred, []byte(`{}`), topUp) diff := time.Now().Sub(start) require.NoError(t, err) require.NotNil(t, res) @@ -216,7 +216,7 @@ func TestExecuteWithNonExistingAddress(t *testing.T) { // unauthorized - trialCtx so we don't change state nonExistingAddress := addrFromUint64(9999) - _, err = keeper.Execute(ctx, nonExistingAddress, creator, nil, []byte(`{}`)) + _, err = keeper.Execute(ctx, nonExistingAddress, creator, []byte(`{}`), nil) require.True(t, types.ErrNotFound.Is(err), err) } diff --git a/x/wasm/internal/keeper/mask_test.go b/x/wasm/internal/keeper/mask_test.go index 55fbaf5a..e1be03c9 100644 --- a/x/wasm/internal/keeper/mask_test.go +++ b/x/wasm/internal/keeper/mask_test.go @@ -49,7 +49,7 @@ func TestMaskSend(t *testing.T) { // creator instantiates a contract and gives it tokens contractStart := sdk.NewCoins(sdk.NewInt64Coin("denom", 40000)) - contractAddr, err := keeper.Instantiate(ctx, creator, codeID, []byte("{}"), contractStart) + contractAddr, err := keeper.Instantiate(ctx, codeID, creator, []byte("{}"), contractStart) require.NoError(t, err) require.NotEmpty(t, contractAddr) @@ -62,7 +62,7 @@ func TestMaskSend(t *testing.T) { transferBz, err := json.Marshal(transfer) require.NoError(t, err) // TODO: switch order of args Instantiate vs Execute (caller/code vs contract/caller), (msg/coins vs coins/msg) - _, err = keeper.Execute(ctx, contractAddr, creator, nil, transferBz) + _, err = keeper.Execute(ctx, contractAddr, creator, transferBz, nil) require.NoError(t, err) // check some account values @@ -90,7 +90,7 @@ func TestMaskSend(t *testing.T) { reflectSendBz, err := json.Marshal(reflectSend) require.NoError(t, err) // TODO: switch order of args Instantiate vs Execute (caller/code vs contract/caller), (msg/coins vs coins/msg) - _, err = keeper.Execute(ctx, contractAddr, bob, nil, reflectSendBz) + _, err = keeper.Execute(ctx, contractAddr, bob, reflectSendBz, nil) require.NoError(t, err) // fred got coins @@ -118,7 +118,7 @@ func TestMaskSend(t *testing.T) { require.NoError(t, err) // TODO: switch order of args Instantiate vs Execute (caller/code vs contract/caller), (msg/coins vs coins/msg) - _, err = keeper.Execute(ctx, contractAddr, bob, nil, reflectOpaqueBz) + _, err = keeper.Execute(ctx, contractAddr, bob, reflectOpaqueBz, nil) require.NoError(t, err) // fred got more coins diff --git a/x/wasm/internal/keeper/querier_test.go b/x/wasm/internal/keeper/querier_test.go index ded438ad..2613ef55 100644 --- a/x/wasm/internal/keeper/querier_test.go +++ b/x/wasm/internal/keeper/querier_test.go @@ -44,7 +44,7 @@ func TestQueryContractState(t *testing.T) { initMsgBz, err := json.Marshal(initMsg) require.NoError(t, err) - addr, err := keeper.Instantiate(ctx, creator, contractID, initMsgBz, deposit) + addr, err := keeper.Instantiate(ctx, contractID, creator, initMsgBz, deposit) require.NoError(t, err) contractModel := []types.Model{