From 3c6f2e28d1e33acd4230caa07216e3dbce55ec10 Mon Sep 17 00:00:00 2001 From: kokeshiM0chi Date: Mon, 10 Apr 2023 14:11:46 +0900 Subject: [PATCH] refactor: Changed function name that wraps vm.CallCallablePoint() In keeper.go both Execute and Query call vm.CallCallablePoint(). For this reason, it is now possible to distinguish whether vm.CallCallablePoint() is called with isReadOnly=false or true with the name of the upper function that wraps the vm function. --- x/wasm/keeper/contract_keeper.go | 6 +++--- x/wasm/keeper/keeper.go | 4 ++-- x/wasm/keeper/keeper_test.go | 2 +- x/wasm/types/exported_keepers.go | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/x/wasm/keeper/contract_keeper.go b/x/wasm/keeper/contract_keeper.go index 5ed11003e7..c27fc04167 100644 --- a/x/wasm/keeper/contract_keeper.go +++ b/x/wasm/keeper/contract_keeper.go @@ -16,7 +16,7 @@ type decoratedKeeper interface { pinCode(ctx sdk.Context, codeID uint64) error unpinCode(ctx sdk.Context, codeID uint64) error execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, msg []byte, coins sdk.Coins) ([]byte, error) - callCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, funcNameWithCallablePoint string) ([]byte, error) + executeCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, callablePointName string) ([]byte, error) Sudo(ctx sdk.Context, contractAddress sdk.AccAddress, msg []byte) ([]byte, error) setContractInfoExtension(ctx sdk.Context, contract sdk.AccAddress, extra types.ContractInfoExtension) error setAccessConfig(ctx sdk.Context, codeID uint64, config types.AccessConfig) error @@ -54,8 +54,8 @@ func (p PermissionedKeeper) Execute(ctx sdk.Context, contractAddress sdk.AccAddr return p.nested.execute(ctx, contractAddress, caller, msg, coins) } -func (p PermissionedKeeper) CallCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, funcNameWithCallablePoint string) ([]byte, error) { - return p.nested.callCallablePoint(ctx, contractAddress, argsEv, funcNameWithCallablePoint) +func (p PermissionedKeeper) ExecuteCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, callablePointName string) ([]byte, error) { + return p.nested.executeCallablePoint(ctx, contractAddress, argsEv, callablePointName) } func (p PermissionedKeeper) Migrate(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, newCodeID uint64, msg []byte) ([]byte, error) { diff --git a/x/wasm/keeper/keeper.go b/x/wasm/keeper/keeper.go index 7cab8d0953..18969bc35f 100644 --- a/x/wasm/keeper/keeper.go +++ b/x/wasm/keeper/keeper.go @@ -451,7 +451,7 @@ func (k Keeper) execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller return data, nil } -func (k Keeper) callCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, funcNameWithCallablePoint string) ([]byte, error) { +func (k Keeper) executeCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, callablePointName string) ([]byte, error) { defer func(begin time.Time) { k.metrics.ExecuteElapsedTimes.Observe(time.Since(begin).Seconds()) }(time.Now()) contractInfo, codeInfo, prefixStore, err := k.contractInstance(ctx, contractAddress) if err != nil { @@ -471,7 +471,7 @@ func (k Keeper) callCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddres gas := k.runtimeGasForContract(ctx) wasmStore := types.NewWasmStore(prefixStore) - funcNameWithCallablePointBin, err := json.Marshal(funcNameWithCallablePoint) + funcNameWithCallablePointBin, err := json.Marshal(callablePointName) if err != nil { panic(fmt.Sprintf("failed to marshal JSON: %s", err)) } diff --git a/x/wasm/keeper/keeper_test.go b/x/wasm/keeper/keeper_test.go index de826da359..a53e6c504c 100644 --- a/x/wasm/keeper/keeper_test.go +++ b/x/wasm/keeper/keeper_test.go @@ -723,7 +723,7 @@ func TestCallCallablePoint(t *testing.T) { argsEvBin, err := json.Marshal(argsEv) require.NoError(t, err) - res, err := keepers.ContractKeeper.CallCallablePoint(ctx.WithEventManager(em), addr, argsEvBin, callableFuncName) + res, err := keepers.ContractKeeper.ExecuteCallablePoint(ctx.WithEventManager(em), addr, argsEvBin, callableFuncName) diff := time.Now().Sub(start) require.NoError(t, err) require.NotNil(t, res) diff --git a/x/wasm/types/exported_keepers.go b/x/wasm/types/exported_keepers.go index 4474be98ea..2c7d70ad27 100644 --- a/x/wasm/types/exported_keepers.go +++ b/x/wasm/types/exported_keepers.go @@ -36,7 +36,7 @@ type ContractOpsKeeper interface { // Execute executes the contract instance Execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, msg []byte, coins sdk.Coins) ([]byte, error) - CallCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, funcNameWithCallablePoint string) ([]byte, error) + ExecuteCallablePoint(ctx sdk.Context, contractAddress sdk.AccAddress, argsEv []byte, funcNameWithCallablePoint string) ([]byte, error) // Migrate allows to upgrade a contract to a new code with data migration. Migrate(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, newCodeID uint64, msg []byte) ([]byte, error)