x/wasm/keeper compiled
This commit is contained in:
@@ -9,7 +9,7 @@ var _ types.ContractOpsKeeper = PermissionedKeeper{}
|
|||||||
|
|
||||||
// decoratedKeeper contains a subset of the wasm keeper that are already or can be guarded by an authorization policy in the future
|
// decoratedKeeper contains a subset of the wasm keeper that are already or can be guarded by an authorization policy in the future
|
||||||
type decoratedKeeper interface {
|
type decoratedKeeper interface {
|
||||||
create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, source string, builder string, instantiateAccess *types.AccessConfig, authZ AuthorizationPolicy) (codeID uint64, err error)
|
create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, instantiateAccess *types.AccessConfig, authZ AuthorizationPolicy) (codeID uint64, err error)
|
||||||
instantiate(ctx sdk.Context, codeID uint64, creator, admin sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins, authZ AuthorizationPolicy) (sdk.AccAddress, []byte, error)
|
instantiate(ctx sdk.Context, codeID uint64, creator, admin sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins, authZ AuthorizationPolicy) (sdk.AccAddress, []byte, error)
|
||||||
migrate(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, newCodeID uint64, msg []byte, authZ AuthorizationPolicy) ([]byte, error)
|
migrate(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, newCodeID uint64, msg []byte, authZ AuthorizationPolicy) ([]byte, error)
|
||||||
setContractAdmin(ctx sdk.Context, contractAddress, caller, newAdmin sdk.AccAddress, authZ AuthorizationPolicy) error
|
setContractAdmin(ctx sdk.Context, contractAddress, caller, newAdmin sdk.AccAddress, authZ AuthorizationPolicy) error
|
||||||
@@ -36,8 +36,8 @@ func NewDefaultPermissionKeeper(nested decoratedKeeper) *PermissionedKeeper {
|
|||||||
return NewPermissionedKeeper(nested, DefaultAuthorizationPolicy{})
|
return NewPermissionedKeeper(nested, DefaultAuthorizationPolicy{})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p PermissionedKeeper) Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, source string, builder string, instantiateAccess *types.AccessConfig) (codeID uint64, err error) {
|
func (p PermissionedKeeper) Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, instantiateAccess *types.AccessConfig) (codeID uint64, err error) {
|
||||||
return p.nested.create(ctx, creator, wasmCode, source, builder, instantiateAccess, p.authZPolicy)
|
return p.nested.create(ctx, creator, wasmCode, instantiateAccess, p.authZPolicy)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p PermissionedKeeper) Instantiate(ctx sdk.Context, codeID uint64, creator, admin sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins) (sdk.AccAddress, []byte, error) {
|
func (p PermissionedKeeper) Instantiate(ctx sdk.Context, codeID uint64, creator, admin sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins) (sdk.AccAddress, []byte, error) {
|
||||||
|
|||||||
@@ -462,8 +462,6 @@ func TestImportContractWithCodeHistoryReset(t *testing.T) {
|
|||||||
"code_info": {
|
"code_info": {
|
||||||
"code_hash": %q,
|
"code_hash": %q,
|
||||||
"creator": "cosmos1qtu5n0cnhfkjj6l2rq97hmky9fd89gwca9yarx",
|
"creator": "cosmos1qtu5n0cnhfkjj6l2rq97hmky9fd89gwca9yarx",
|
||||||
"source": "https://example.com",
|
|
||||||
"builder": "foo/bar:tag",
|
|
||||||
"instantiate_config": {
|
"instantiate_config": {
|
||||||
"permission": "OnlyAddress",
|
"permission": "OnlyAddress",
|
||||||
"address": "cosmos1qtu5n0cnhfkjj6l2rq97hmky9fd89gwca9yarx"
|
"address": "cosmos1qtu5n0cnhfkjj6l2rq97hmky9fd89gwca9yarx"
|
||||||
@@ -523,8 +521,6 @@ func TestImportContractWithCodeHistoryReset(t *testing.T) {
|
|||||||
expCodeInfo := types.CodeInfo{
|
expCodeInfo := types.CodeInfo{
|
||||||
CodeHash: wasmCodeHash[:],
|
CodeHash: wasmCodeHash[:],
|
||||||
Creator: codeCreatorAddr,
|
Creator: codeCreatorAddr,
|
||||||
Source: "https://example.com",
|
|
||||||
Builder: "foo/bar:tag",
|
|
||||||
InstantiateConfig: wasmTypes.AccessConfig{
|
InstantiateConfig: wasmTypes.AccessConfig{
|
||||||
Permission: types.AccessTypeOnlyAddress,
|
Permission: types.AccessTypeOnlyAddress,
|
||||||
Address: codeCreatorAddr,
|
Address: codeCreatorAddr,
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ func (k Keeper) setParams(ctx sdk.Context, ps types.Params) {
|
|||||||
k.paramSpace.SetParamSet(ctx, &ps)
|
k.paramSpace.SetParamSet(ctx, &ps)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (k Keeper) create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, source string, builder string, instantiateAccess *types.AccessConfig, authZ AuthorizationPolicy) (codeID uint64, err error) {
|
func (k Keeper) create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, instantiateAccess *types.AccessConfig, authZ AuthorizationPolicy) (codeID uint64, err error) {
|
||||||
if !authZ.CanCreateCode(k.getUploadAccessConfig(ctx), creator) {
|
if !authZ.CanCreateCode(k.getUploadAccessConfig(ctx), creator) {
|
||||||
return 0, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "can not create code")
|
return 0, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "can not create code")
|
||||||
}
|
}
|
||||||
@@ -172,7 +172,7 @@ func (k Keeper) create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte,
|
|||||||
defaultAccessConfig := k.getInstantiateAccessConfig(ctx).With(creator)
|
defaultAccessConfig := k.getInstantiateAccessConfig(ctx).With(creator)
|
||||||
instantiateAccess = &defaultAccessConfig
|
instantiateAccess = &defaultAccessConfig
|
||||||
}
|
}
|
||||||
codeInfo := types.NewCodeInfo(codeHash, creator, source, builder, *instantiateAccess)
|
codeInfo := types.NewCodeInfo(codeHash, creator, *instantiateAccess)
|
||||||
k.storeCodeInfo(ctx, codeID, codeInfo)
|
k.storeCodeInfo(ctx, codeID, codeInfo)
|
||||||
return codeID, nil
|
return codeID, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ func TestCreate(t *testing.T) {
|
|||||||
wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm")
|
wasmCode, err := ioutil.ReadFile("./testdata/hackatom.wasm")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
contractID, err := keeper.Create(ctx, creator, wasmCode, "https://github.com/CosmWasm/wasmd/blob/master/x/wasm/testdata/escrow.wasm", "any/builder:tag", nil)
|
contractID, err := keeper.Create(ctx, creator, wasmCode, nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.Equal(t, uint64(1), contractID)
|
require.Equal(t, uint64(1), contractID)
|
||||||
// and verify content
|
// and verify content
|
||||||
|
|||||||
@@ -125,8 +125,6 @@ func queryCodeList(ctx sdk.Context, keeper types.ViewKeeper) ([]types.CodeInfoRe
|
|||||||
CodeID: i,
|
CodeID: i,
|
||||||
Creator: res.Creator,
|
Creator: res.Creator,
|
||||||
DataHash: res.CodeHash,
|
DataHash: res.CodeHash,
|
||||||
Source: res.Source,
|
|
||||||
Builder: res.Builder,
|
|
||||||
})
|
})
|
||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ func (m msgServer) StoreCode(goCtx context.Context, msg *types.MsgStoreCode) (*t
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, sdkerrors.Wrap(err, "sender")
|
return nil, sdkerrors.Wrap(err, "sender")
|
||||||
}
|
}
|
||||||
codeID, err := m.keeper.Create(ctx, senderAddr, msg.WASMByteCode, msg.Source, msg.Builder, msg.InstantiatePermission)
|
codeID, err := m.keeper.Create(ctx, senderAddr, msg.WASMByteCode, msg.InstantiatePermission)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ func handleStoreCodeProposal(ctx sdk.Context, k types.ContractOpsKeeper, p types
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return sdkerrors.Wrap(err, "run as address")
|
return sdkerrors.Wrap(err, "run as address")
|
||||||
}
|
}
|
||||||
codeID, err := k.Create(ctx, runAsAddr, p.WASMByteCode, p.Source, p.Builder, p.InstantiatePermission)
|
codeID, err := k.Create(ctx, runAsAddr, p.WASMByteCode, p.InstantiatePermission)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -236,8 +236,6 @@ func (q grpcQuerier) Codes(c context.Context, req *types.QueryCodesRequest) (*ty
|
|||||||
CodeID: binary.BigEndian.Uint64(key),
|
CodeID: binary.BigEndian.Uint64(key),
|
||||||
Creator: c.Creator,
|
Creator: c.Creator,
|
||||||
DataHash: c.CodeHash,
|
DataHash: c.CodeHash,
|
||||||
Source: c.Source,
|
|
||||||
Builder: c.Builder,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return true, nil
|
return true, nil
|
||||||
@@ -274,8 +272,6 @@ func queryCode(ctx sdk.Context, codeID uint64, keeper types.ViewKeeper) (*types.
|
|||||||
CodeID: codeID,
|
CodeID: codeID,
|
||||||
Creator: res.Creator,
|
Creator: res.Creator,
|
||||||
DataHash: res.CodeHash,
|
DataHash: res.CodeHash,
|
||||||
Source: res.Source,
|
|
||||||
Builder: res.Builder,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
code, err := keeper.GetByteCode(ctx, codeID)
|
code, err := keeper.GetByteCode(ctx, codeID)
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ func handleStoreCode(ctx sdk.Context, k types.ContractOpsKeeper, msg *types.MsgS
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, sdkerrors.Wrap(err, "sender")
|
return nil, sdkerrors.Wrap(err, "sender")
|
||||||
}
|
}
|
||||||
codeID, err := k.Create(ctx, senderAddr, msg.WASMByteCode, msg.Source, msg.Builder, msg.InstantiatePermission)
|
codeID, err := k.Create(ctx, senderAddr, msg.WASMByteCode, msg.InstantiatePermission)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -450,7 +450,7 @@ func StoreReflectContract(t TestingT, ctx sdk.Context, keepers TestKeepers) uint
|
|||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
_, _, creatorAddr := keyPubAddr()
|
_, _, creatorAddr := keyPubAddr()
|
||||||
codeID, err := keepers.ContractKeeper.Create(ctx, creatorAddr, wasmCode, "", "", nil)
|
codeID, err := keepers.ContractKeeper.Create(ctx, creatorAddr, wasmCode, nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return codeID
|
return codeID
|
||||||
}
|
}
|
||||||
@@ -463,7 +463,7 @@ func StoreExampleContract(t TestingT, ctx sdk.Context, keepers TestKeepers, wasm
|
|||||||
wasmCode, err := ioutil.ReadFile(wasmFile)
|
wasmCode, err := ioutil.ReadFile(wasmFile)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
codeID, err := keepers.ContractKeeper.Create(ctx, creatorAddr, wasmCode, "", "", nil)
|
codeID, err := keepers.ContractKeeper.Create(ctx, creatorAddr, wasmCode, nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
return ExampleContract{anyAmount, creator, creatorAddr, codeID}
|
return ExampleContract{anyAmount, creator, creatorAddr, codeID}
|
||||||
}
|
}
|
||||||
@@ -495,7 +495,7 @@ func StoreRandomContract(t TestingT, ctx sdk.Context, keepers TestKeepers, mock
|
|||||||
fundAccounts(t, ctx, keepers.AccountKeeper, keepers.BankKeeper, creatorAddr, anyAmount)
|
fundAccounts(t, ctx, keepers.AccountKeeper, keepers.BankKeeper, creatorAddr, anyAmount)
|
||||||
keepers.WasmKeeper.wasmVM = mock
|
keepers.WasmKeeper.wasmVM = mock
|
||||||
wasmCode := append(wasmIdent, rand.Bytes(10)...)
|
wasmCode := append(wasmIdent, rand.Bytes(10)...)
|
||||||
codeID, err := keepers.ContractKeeper.Create(ctx, creatorAddr, wasmCode, "", "", nil)
|
codeID, err := keepers.ContractKeeper.Create(ctx, creatorAddr, wasmCode, nil)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
exampleContract := ExampleContract{InitialAmount: anyAmount, Creator: creator, CreatorAddr: creatorAddr, CodeID: codeID}
|
exampleContract := ExampleContract{InitialAmount: anyAmount, Creator: creator, CreatorAddr: creatorAddr, CodeID: codeID}
|
||||||
return exampleContract
|
return exampleContract
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ type ViewKeeper interface {
|
|||||||
// ContractOpsKeeper contains mutable operations on a contract.
|
// ContractOpsKeeper contains mutable operations on a contract.
|
||||||
type ContractOpsKeeper interface {
|
type ContractOpsKeeper interface {
|
||||||
// Create uploads and compiles a WASM contract, returning a short identifier for the contract
|
// Create uploads and compiles a WASM contract, returning a short identifier for the contract
|
||||||
Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, source string, builder string, instantiateAccess *AccessConfig) (codeID uint64, err error)
|
Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, instantiateAccess *AccessConfig) (codeID uint64, err error)
|
||||||
|
|
||||||
// Instantiate creates an instance of a WASM contract
|
// Instantiate creates an instance of a WASM contract
|
||||||
Instantiate(ctx sdk.Context, codeID uint64, creator, admin sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins) (sdk.AccAddress, []byte, error)
|
Instantiate(ctx sdk.Context, codeID uint64, creator, admin sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins) (sdk.AccAddress, []byte, error)
|
||||||
|
|||||||
Reference in New Issue
Block a user