Documentation ¶
Index ¶
- Constants
- Variables
- func BankQuerier(bankKeeper bankkeeper.ViewKeeper) func(ctx sdk.Context, request *wasmTypes.BankQuery) ([]byte, error)
- func CreateFakeFundedAccount(ctx sdk.Context, am authkeeper.AccountKeeper, bk bankkeeper.Keeper, ...) (sdk.AccAddress, crypto.PrivKey)
- func DistQuerier(keeper distrkeeper.Keeper) func(ctx sdk.Context, request *wasmTypes.DistQuery) ([]byte, error)
- func EncodeBankMsg(sender sdk.AccAddress, msg *wasmTypes.BankMsg) ([]sdk.Msg, error)
- func EncodeGovMsg(sender sdk.AccAddress, msg *wasmTypes.GovMsg) ([]sdk.Msg, error)
- func EncodeStakingMsg(sender sdk.AccAddress, msg *wasmTypes.StakingMsg) ([]sdk.Msg, error)
- func EncodeWasmMsg(sender sdk.AccAddress, msg *wasmTypes.WasmMsg) ([]sdk.Msg, error)
- func ExportGenesis(ctx sdk.Context, keeper Keeper) *types.GenesisState
- func FuzzAbsoluteTxPosition(m *types.AbsoluteTxPosition, c fuzz.Continue)
- func FuzzAddr(m *sdk.AccAddress, c fuzz.Continue)
- func FuzzContractInfo(m *types.ContractInfo, c fuzz.Continue)
- func FuzzStateModel(m *types.Model, c fuzz.Continue)
- func GovQuerier(keeper govkeeper.Keeper) func(ctx sdk.Context, request *wasmTypes.GovQuery) ([]byte, error)
- func InitGenesis(ctx sdk.Context, keeper Keeper, data types.GenesisState) error
- func MakeEncodingConfig() simappparams.EncodingConfig
- func MakeTestCodec() codec.Codec
- func MintQuerier(keeper mintkeeper.Keeper) func(ctx sdk.Context, request *wasmTypes.MintQuery) ([]byte, error)
- func NewLegacyQuerier(keeper Keeper) sdk.Querier
- func NewTestTx(msg sdk.Msg, creatorAcc authtypes.AccountI, privKey crypto.PrivKey) *sdktx.Tx
- func NewTestTxMultiple(msgs []sdk.Msg, creatorAccs []authtypes.AccountI, privKeys []crypto.PrivKey) *sdktx.Tx
- func NoCustomMsg(sender sdk.AccAddress, msg json.RawMessage) ([]sdk.Msg, error)
- func NoCustomQuerier(sdk.Context, json.RawMessage) ([]byte, error)
- func PrepareExecSignedTx(t *testing.T, keeper Keeper, ctx sdk.Context, sender sdk.AccAddress, ...) sdk.Context
- func PrepareInitSignedTx(t *testing.T, keeper Keeper, ctx sdk.Context, creator sdk.AccAddress, ...) sdk.Context
- func StakingQuerier(keeper stakingkeeper.Keeper, distKeeper distrkeeper.Keeper) func(ctx sdk.Context, request *wasmTypes.StakingQuery) ([]byte, error)
- func TestHandler(k Keeper) sdk.Handler
- func WasmQuerier(wasm *Keeper) func(ctx sdk.Context, request *wasmTypes.WasmQuery) ([]byte, error)
- type BankEncoder
- type CustomEncoder
- type CustomQuerier
- type GovEncoder
- type GrpcQuerier
- func (q GrpcQuerier) AddressByLabel(c context.Context, req *types.QueryContractAddressByLabelRequest) (*types.QueryContractAddressByLabelResponse, error)
- func (q GrpcQuerier) Code(c context.Context, req *types.QueryCodeRequest) (*types.QueryCodeResponse, error)
- func (q GrpcQuerier) Codes(c context.Context, _ *empty.Empty) (*types.QueryCodesResponse, error)
- func (q GrpcQuerier) ContractHash(c context.Context, req *types.QueryContractHashRequest) (*types.QueryContractHashResponse, error)
- func (q GrpcQuerier) ContractInfo(c context.Context, req *types.QueryContractInfoRequest) (*types.QueryContractInfoResponse, error)
- func (q GrpcQuerier) ContractKey(c context.Context, req *types.QueryContractKeyRequest) (*types.QueryContractKeyResponse, error)
- func (q GrpcQuerier) ContractsByCode(c context.Context, req *types.QueryContractsByCodeRequest) (*types.QueryContractsByCodeResponse, error)
- func (q GrpcQuerier) SmartContractState(c context.Context, req *types.QuerySmartContractStateRequest) (*types.QuerySmartContractStateResponse, error)
- type Keeper
- func (k Keeper) Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, source string, ...) (codeID uint64, err error)
- func (k Keeper) Dispatch(ctx sdk.Context, contractAddr sdk.AccAddress, msg wasmTypes.CosmosMsg) (events sdk.Events, data []byte, err error)
- func (k Keeper) Execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, ...) (*sdk.Result, error)
- func (k Keeper) GetByteCode(ctx sdk.Context, codeID uint64) ([]byte, error)
- func (k Keeper) GetCodeInfo(ctx sdk.Context, codeID uint64) *types.CodeInfo
- func (k Keeper) GetContractAddress(ctx sdk.Context, label string) sdk.AccAddress
- func (k Keeper) GetContractHash(ctx sdk.Context, contractAddress sdk.AccAddress) []byte
- func (k Keeper) GetContractInfo(ctx sdk.Context, contractAddress sdk.AccAddress) *types.ContractInfo
- func (k Keeper) GetContractKey(ctx sdk.Context, contractAddress sdk.AccAddress) []byte
- func (k Keeper) GetContractState(ctx sdk.Context, contractAddress sdk.AccAddress) sdk.Iterator
- func (k Keeper) GetNextCodeID(ctx sdk.Context) uint64
- func (k Keeper) GetSignerInfo(ctx sdk.Context, signer sdk.AccAddress) ([]byte, sdktxsigning.SignMode, []byte, []byte, []byte, error)
- func (k Keeper) Instantiate(ctx sdk.Context, codeID uint64, creator sdk.AccAddress, initMsg []byte, ...) (sdk.AccAddress, error)
- func (k Keeper) IterateCodeInfos(ctx sdk.Context, cb func(uint64, types.CodeInfo) bool)
- func (k Keeper) IterateContractInfo(ctx sdk.Context, ...)
- func (k Keeper) QueryRaw(ctx sdk.Context, contractAddress sdk.AccAddress, key []byte) []types.Model
- func (k Keeper) QuerySmart(ctx sdk.Context, contractAddr sdk.AccAddress, req []byte, ...) ([]byte, error)
- type MessageEncoders
- type MessageHandler
- type MsgServiceRouter
- type MultipiedGasMeter
- type QueryHandler
- type QueryPlugins
- type StakingEncoder
- type TestConfigType
- type TestKeepers
- type WasmEncoder
- type WasmSnapshotter
- func (ws *WasmSnapshotter) Restore(height uint64, format uint32, protoReader protoio.Reader) (snapshottypes.SnapshotItem, error)
- func (ws *WasmSnapshotter) Snapshot(height uint64, protoWriter protoio.Writer) error
- func (ws *WasmSnapshotter) SnapshotFormat() uint32
- func (ws *WasmSnapshotter) SnapshotName() string
- func (ws *WasmSnapshotter) SupportedFormats() []uint32
Constants ¶
const ( QueryListContractByCode = "list-contracts-by-code" QueryGetContract = "contract-info" QueryGetContractState = "contract-state" QueryGetCode = "code" QueryListCode = "list-code" QueryContractAddress = "label" QueryContractKey = "contract-key" QueryContractHash = "contract-hash" )
const QueryMethodContractStateSmart = "smart"
Variables ¶
var ( CostHumanize = 5 * types.GasMultiplier CostCanonical = 4 * types.GasMultiplier )
var ModelFuzzers = []interface{}{FuzzAddr, FuzzAbsoluteTxPosition, FuzzContractInfo, FuzzStateModel}
var ModuleBasics = module.NewBasicManager( auth.AppModuleBasic{}, bank.AppModuleBasic{}, capability.AppModuleBasic{}, staking.AppModuleBasic{}, mint.AppModuleBasic{}, distribution.AppModuleBasic{}, gov.NewAppModuleBasic( paramsclient.ProposalHandler, distrclient.ProposalHandler, upgradeclient.ProposalHandler, ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, registration.AppModuleBasic{}, )
var TestConfig = TestConfigType{
ChainID: "test-secret-X",
}
var TestingStakeParams = stakingtypes.Params{ UnbondingTime: 100, MaxValidators: 10, MaxEntries: 10, HistoricalEntries: 10, BondDenom: sdk.DefaultBondDenom, }
var VoteOptionMap = map[string]string{
"Yes": "VOTE_OPTION_YES",
"Abstain": "VOTE_OPTION_ABSTAIN",
"No": "VOTE_OPTION_NO",
"NoWithVeto": "VOTE_OPTION_NO_WITH_VETO",
}
Functions ¶
func BankQuerier ¶
func BankQuerier(bankKeeper bankkeeper.ViewKeeper) func(ctx sdk.Context, request *wasmTypes.BankQuery) ([]byte, error)
func CreateFakeFundedAccount ¶
func CreateFakeFundedAccount(ctx sdk.Context, am authkeeper.AccountKeeper, bk bankkeeper.Keeper, coins sdk.Coins) (sdk.AccAddress, crypto.PrivKey)
func DistQuerier ¶
func EncodeBankMsg ¶
func EncodeGovMsg ¶
func EncodeStakingMsg ¶
func EncodeStakingMsg(sender sdk.AccAddress, msg *wasmTypes.StakingMsg) ([]sdk.Msg, error)
func EncodeWasmMsg ¶
func ExportGenesis ¶
func ExportGenesis(ctx sdk.Context, keeper Keeper) *types.GenesisState
ExportGenesis returns a GenesisState for a given context and keeper.
func FuzzAbsoluteTxPosition ¶
func FuzzAbsoluteTxPosition(m *types.AbsoluteTxPosition, c fuzz.Continue)
func FuzzContractInfo ¶
func FuzzContractInfo(m *types.ContractInfo, c fuzz.Continue)
func GovQuerier ¶
func InitGenesis ¶
InitGenesis sets supply information for genesis.
CONTRACT: all types of accounts must have been already initialized/created
func MakeEncodingConfig ¶
func MakeEncodingConfig() simappparams.EncodingConfig
func MakeTestCodec ¶
func MintQuerier ¶
func NewLegacyQuerier ¶
NewLegacyQuerier creates a new querier
func NewTestTxMultiple ¶
func NoCustomMsg ¶
func NoCustomMsg(sender sdk.AccAddress, msg json.RawMessage) ([]sdk.Msg, error)
func NoCustomQuerier ¶
func PrepareExecSignedTx ¶
func PrepareInitSignedTx ¶
func StakingQuerier ¶
func StakingQuerier(keeper stakingkeeper.Keeper, distKeeper distrkeeper.Keeper) func(ctx sdk.Context, request *wasmTypes.StakingQuery) ([]byte, error)
func TestHandler ¶
TestHandler returns a wasm handler for tests (to avoid circular imports)
Types ¶
type BankEncoder ¶
type CustomEncoder ¶
type CustomEncoder func(sender sdk.AccAddress, msg json.RawMessage) ([]sdk.Msg, error)
type CustomQuerier ¶
type GovEncoder ¶
type GrpcQuerier ¶
type GrpcQuerier struct {
// contains filtered or unexported fields
}
func (GrpcQuerier) AddressByLabel ¶
func (q GrpcQuerier) AddressByLabel(c context.Context, req *types.QueryContractAddressByLabelRequest) (*types.QueryContractAddressByLabelResponse, error)
func (GrpcQuerier) Code ¶
func (q GrpcQuerier) Code(c context.Context, req *types.QueryCodeRequest) (*types.QueryCodeResponse, error)
func (GrpcQuerier) Codes ¶
func (q GrpcQuerier) Codes(c context.Context, _ *empty.Empty) (*types.QueryCodesResponse, error)
func (GrpcQuerier) ContractHash ¶
func (q GrpcQuerier) ContractHash(c context.Context, req *types.QueryContractHashRequest) (*types.QueryContractHashResponse, error)
func (GrpcQuerier) ContractInfo ¶
func (q GrpcQuerier) ContractInfo(c context.Context, req *types.QueryContractInfoRequest) (*types.QueryContractInfoResponse, error)
func (GrpcQuerier) ContractKey ¶
func (q GrpcQuerier) ContractKey(c context.Context, req *types.QueryContractKeyRequest) (*types.QueryContractKeyResponse, error)
func (GrpcQuerier) ContractsByCode ¶
func (q GrpcQuerier) ContractsByCode(c context.Context, req *types.QueryContractsByCodeRequest) (*types.QueryContractsByCodeResponse, error)
func (GrpcQuerier) SmartContractState ¶
func (q GrpcQuerier) SmartContractState(c context.Context, req *types.QuerySmartContractStateRequest) (*types.QuerySmartContractStateResponse, error)
type Keeper ¶
type Keeper struct {
// contains filtered or unexported fields
}
Keeper will have a reference to Wasmer with it's own data directory.
func NewKeeper ¶
func NewKeeper( cdc codec.Codec, legacyAmino codec.LegacyAmino, storeKey sdk.StoreKey, accountKeeper authkeeper.AccountKeeper, bankKeeper bankkeeper.Keeper, govKeeper govkeeper.Keeper, distKeeper distrkeeper.Keeper, mintKeeper mintkeeper.Keeper, stakingKeeper stakingkeeper.Keeper, router sdk.Router, homeDir string, wasmConfig *types.WasmConfig, supportedFeatures string, customEncoders *MessageEncoders, customPlugins *QueryPlugins, ) Keeper
NewKeeper creates a new contract Keeper instance If customEncoders is non-nil, we can use this to override some of the message handler, especially custom
func (Keeper) Create ¶
func (k Keeper) Create(ctx sdk.Context, creator sdk.AccAddress, wasmCode []byte, source string, builder string) (codeID uint64, err error)
Create uploads and compiles a WASM contract, returning a short identifier for the contract
func (Keeper) Execute ¶
func (k Keeper) Execute(ctx sdk.Context, contractAddress sdk.AccAddress, caller sdk.AccAddress, msg []byte, coins sdk.Coins, callbackSig []byte) (*sdk.Result, error)
Execute executes the contract instance
func (Keeper) GetByteCode ¶
func (Keeper) GetCodeInfo ¶
func (Keeper) GetContractAddress ¶
func (Keeper) GetContractHash ¶
func (Keeper) GetContractInfo ¶
func (k Keeper) GetContractInfo(ctx sdk.Context, contractAddress sdk.AccAddress) *types.ContractInfo
func (Keeper) GetContractKey ¶
func (Keeper) GetContractState ¶
func (Keeper) GetSignerInfo ¶
func (Keeper) Instantiate ¶
func (k Keeper) Instantiate(ctx sdk.Context, codeID uint64, creator sdk.AccAddress, initMsg []byte, label string, deposit sdk.Coins, callbackSig []byte) (sdk.AccAddress, error)
Instantiate creates an instance of a WASM contract
func (Keeper) IterateCodeInfos ¶
func (Keeper) IterateContractInfo ¶
func (k Keeper) IterateContractInfo(ctx sdk.Context, cb func(sdk.AccAddress, types.ContractInfo, types.ContractCustomInfo) bool)
type MessageEncoders ¶
type MessageEncoders struct { Bank BankEncoder Custom CustomEncoder Staking StakingEncoder Wasm WasmEncoder Gov GovEncoder }
func DefaultEncoders ¶
func DefaultEncoders() MessageEncoders
func (MessageEncoders) Encode ¶
func (e MessageEncoders) Encode(contractAddr sdk.AccAddress, msg wasmTypes.CosmosMsg) ([]sdk.Msg, error)
func (MessageEncoders) Merge ¶
func (e MessageEncoders) Merge(o *MessageEncoders) MessageEncoders
type MessageHandler ¶
type MessageHandler struct {
// contains filtered or unexported fields
}
func NewMessageHandler ¶
func NewMessageHandler(router sdk.Router, customEncoders *MessageEncoders) MessageHandler
type MsgServiceRouter ¶
type MsgServiceRouter interface {
Handler(msg sdk.Msg) baseapp.MsgServiceHandler
}
MsgServiceRouter expected MsgServiceRouter interface
type MultipiedGasMeter ¶
type MultipiedGasMeter struct {
// contains filtered or unexported fields
}
MultipliedGasMeter wraps the GasMeter from context and multiplies all reads by out defined multiplier
func (MultipiedGasMeter) GasConsumed ¶
func (m MultipiedGasMeter) GasConsumed() sdk.Gas
type QueryHandler ¶
type QueryHandler struct { Ctx sdk.Context Plugins QueryPlugins }
func (QueryHandler) GasConsumed ¶
func (q QueryHandler) GasConsumed() uint64
func (QueryHandler) Query ¶
func (q QueryHandler) Query(request wasmTypes.QueryRequest, gasLimit uint64) ([]byte, error)
type QueryPlugins ¶
type QueryPlugins struct { Bank func(ctx sdk.Context, request *wasmTypes.BankQuery) ([]byte, error) Custom CustomQuerier Staking func(ctx sdk.Context, request *wasmTypes.StakingQuery) ([]byte, error) Wasm func(ctx sdk.Context, request *wasmTypes.WasmQuery) ([]byte, error) Dist func(ctx sdk.Context, request *wasmTypes.DistQuery) ([]byte, error) Mint func(ctx sdk.Context, request *wasmTypes.MintQuery) ([]byte, error) Gov func(ctx sdk.Context, request *wasmTypes.GovQuery) ([]byte, error) }
func DefaultQueryPlugins ¶
func DefaultQueryPlugins(gov govkeeper.Keeper, dist distrkeeper.Keeper, mint mintkeeper.Keeper, bank bankkeeper.Keeper, staking stakingkeeper.Keeper, wasm *Keeper) QueryPlugins
func (QueryPlugins) Merge ¶
func (e QueryPlugins) Merge(o *QueryPlugins) QueryPlugins
type StakingEncoder ¶
type StakingEncoder func(sender sdk.AccAddress, msg *wasmTypes.StakingMsg) ([]sdk.Msg, error)
type TestConfigType ¶
type TestConfigType struct {
ChainID string
}
type TestKeepers ¶
type TestKeepers struct { AccountKeeper authkeeper.AccountKeeper StakingKeeper stakingkeeper.Keeper WasmKeeper Keeper DistKeeper distrkeeper.Keeper GovKeeper govkeeper.Keeper BankKeeper bankkeeper.Keeper MintKeeper mintkeeper.Keeper }
func CreateTestInput ¶
func CreateTestInput(t *testing.T, isCheckTx bool, supportedFeatures string, encoders *MessageEncoders, queriers *QueryPlugins) (sdk.Context, TestKeepers)
encoders can be nil to accept the defaults, or set it to override some of the message handlers (like default)
type WasmEncoder ¶
type WasmSnapshotter ¶
type WasmSnapshotter struct {
// contains filtered or unexported fields
}
func NewWasmSnapshotter ¶
func NewWasmSnapshotter(cms storetypes.MultiStore, keeper *Keeper) *WasmSnapshotter
func (*WasmSnapshotter) Restore ¶
func (ws *WasmSnapshotter) Restore( height uint64, format uint32, protoReader protoio.Reader, ) (snapshottypes.SnapshotItem, error)
func (*WasmSnapshotter) Snapshot ¶
func (ws *WasmSnapshotter) Snapshot(height uint64, protoWriter protoio.Writer) error
func (*WasmSnapshotter) SnapshotFormat ¶
func (ws *WasmSnapshotter) SnapshotFormat() uint32
func (*WasmSnapshotter) SnapshotName ¶
func (ws *WasmSnapshotter) SnapshotName() string
func (*WasmSnapshotter) SupportedFormats ¶
func (ws *WasmSnapshotter) SupportedFormats() []uint32