types

package
v7.0.1-wasm-client Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2023 License: MIT Imports: 49 Imported by: 0

Documentation

Overview

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	// DefaultGasMultiplier is how many CosmWasm gas points = 1 Cosmos SDK gas point.
	//
	// CosmWasm gas strategy is documented in https://github.com/CosmWasm/cosmwasm/blob/v1.0.0-beta/docs/GAS.md.
	// Cosmos SDK reference costs can be found here: https://github.com/cosmos/cosmos-sdk/blob/v0.42.10/store/types/gas.go#L198-L209.
	//
	// The original multiplier of 100 up to CosmWasm 0.16 was based on
	//     "A write at ~3000 gas and ~200us = 10 gas per us (microsecond) cpu/io
	//     Rough timing have 88k gas at 90us, which is equal to 1k sdk gas... (one read)"
	// as well as manual Wasmer benchmarks from 2019. This was then multiplied by 150_000
	// in the 0.16 -> 1.0 upgrade (https://github.com/CosmWasm/cosmwasm/pull/1120).
	//
	// The multiplier deserves more reproducible benchmarking and a strategy that allows easy adjustments.
	// This is tracked in https://github.com/CosmWasm/wasmd/issues/566 and https://github.com/CosmWasm/wasmd/issues/631.
	// Gas adjustments are consensus breaking but may happen in any release marked as consensus breaking.
	// Do not make assumptions on how much gas an operation will consume in places that are hard to adjust,
	// such as hardcoding them in contracts.
	//
	// Please note that all gas prices returned to wasmvm should have this multiplied.
	// Benchmarks and numbers were discussed in: https://github.com/CosmWasm/wasmd/pull/634#issuecomment-938055852
	DefaultGasMultiplier uint64 = 140_000_000
	// DefaultInstanceCost is how much SDK gas we charge each time we load a WASM instance.
	// Creating a new instance is costly, and this helps put a recursion limit to contracts calling contracts.
	// Benchmarks and numbers were discussed in: https://github.com/CosmWasm/wasmd/pull/634#issuecomment-938056803
	DefaultInstanceCost uint64 = 60_000
	// DefaultCompileCost is how much SDK gas is charged *per byte* for compiling WASM code.
	// Benchmarks and numbers were discussed in: https://github.com/CosmWasm/wasmd/pull/634#issuecomment-938056803
	DefaultCompileCost uint64 = 3
	// DefaultContractMessageDataCost is how much SDK gas is charged *per byte* of the message that goes to the contract
	// This is used with len(msg). Note that the message is deserialized in the receiving contract and this is charged
	// with wasm gas already. The derserialization of results is also charged in wasmvm. I am unsure if we need to add
	// additional costs here.
	// Note: also used for error fields on reply, and data on reply. Maybe these should be pulled out to a different (non-zero) field
	DefaultContractMessageDataCost uint64 = 0
	// DefaultDeserializationCostPerByte The formula should be `len(data) * deserializationCostPerByte`
	DefaultDeserializationCostPerByte = 1
)

Copied subset of gas features from wasmd https://github.com/CosmWasm/wasmd/blob/v0.31.0/x/wasm/keeper/gas_register.go

View Source
const (

	// ModuleName for the wasm client
	ModuleName = "08-wasm"

	// StoreKey is the store key string for 08-wasm
	StoreKey = ModuleName

	LastInstanceIDKey = "lastInstanceId"
)
View Source
const MaxWasmSize = 3 * 1024 * 1024

Variables

View Source
var (
	ErrInvalidData              = sdkerrors.Register(ModuleName, 1, "invalid data")
	ErrInvalidCodeId            = sdkerrors.Register(ModuleName, 2, "invalid code ID")
	ErrInvalidHeader            = sdkerrors.Register(ModuleName, 3, "invalid header")
	ErrUnableToUnmarshalPayload = sdkerrors.Register(ModuleName, 4, "unable to unmarshal wasm contract return value")
	ErrUnableToInit             = sdkerrors.Register(ModuleName, 5, "unable to initialize wasm contract")
	ErrUnableToCall             = sdkerrors.Register(ModuleName, 6, "unable to call wasm contract")
	ErrUnableToQuery            = sdkerrors.Register(ModuleName, 7, "unable to query wasm contract")
	ErrUnableToMarshalPayload   = sdkerrors.Register(ModuleName, 8, "unable to marshal wasm contract payload")
	// Wasm specific
	ErrWasmEmptyCode      = sdkerrors.Register(ModuleName, 9, "empty wasm code")
	ErrWasmEmptyCodeHash  = sdkerrors.Register(ModuleName, 10, "empty wasm code hash")
	ErrWasmCodeTooLarge   = sdkerrors.Register(ModuleName, 11, "wasm code too large")
	ErrWasmCodeExists     = sdkerrors.Register(ModuleName, 12, "wasm code already exists")
	ErrWasmCodeValidation = sdkerrors.Register(ModuleName, 13, "unable to validate wasm code")
	ErrWasmInvalidCode    = sdkerrors.Register(ModuleName, 14, "invalid wasm code")
	ErrWasmInvalidCodeID  = sdkerrors.Register(ModuleName, 15, "invalid wasm code id")
	ErrWasmCodeIDNotFound = sdkerrors.Register(ModuleName, 16, "wasm code id not found")
	ErrInvalid            = sdkerrors.Register(ModuleName, 17, "invalid")
	ErrCreateFailed       = sdkerrors.Register(ModuleName, 18, "create wasm contract failed")
)
View Source
var (
	ErrInvalidLengthGenesis        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowGenesis          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthQuery        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowQuery          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	WasmVM        *cosmwasm.VM
	VMGasRegister = NewDefaultWasmGasRegister()
)
View Source
var (
	ErrInvalidLengthWasm        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowWasm          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupWasm = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ModuleCdc = codec.NewAminoCodec(amino)
)
View Source
var PrefixCodeIDKey = []byte("code_id/")
View Source
var TypeMsgPushNewWasmCode = "push_wasm_code"

Functions

func CodeID

func CodeID(codeID []byte) []byte

func DefaultPerByteUncompressCost

func DefaultPerByteUncompressCost() wasmvmtypes.UFraction

DefaultPerByteUncompressCost is how much SDK gas we charge per source byte to unpack

func GzipIt

func GzipIt(input []byte) ([]byte, error)

GzipIt compresses the input ([]byte)

func IsGzip

func IsGzip(input []byte) bool

IsGzip returns checks if the file contents are gzip compressed

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces registers the tendermint concrete client-related implementations and interfaces.

func RegisterLegacyAminoCodec

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the account interfaces and concrete types on the provided LegacyAmino codec. These types are used for Amino JSON serialization

func RegisterMsgServer

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

func RegisterQueryHandler

func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterQueryHandler registers the http handlers for service Query to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterQueryHandlerClient

func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error

RegisterQueryHandlerClient registers the http handlers for service Query to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "QueryClient" to call the correct interceptors.

func RegisterQueryHandlerFromEndpoint

func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterQueryHandlerServer

func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error

RegisterQueryHandlerServer registers the http handlers for service Query to "mux". UnaryRPC :call QueryServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead.

func RegisterQueryServer

func RegisterQueryServer(s grpc1.Server, srv QueryServer)

func Uncompress

func Uncompress(gzipSrc []byte, limit uint64) ([]byte, error)

Uncompress expects a valid gzip source to unpack or fails. See IsGzip

func ValidateWasmCode

func ValidateWasmCode(code []byte) (bool, error)

Types

type AllWasmCodeIDQuery

type AllWasmCodeIDQuery struct {
	// pagination defines an optional pagination for the request.
	Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

AllWasmCode query

func (*AllWasmCodeIDQuery) Descriptor

func (*AllWasmCodeIDQuery) Descriptor() ([]byte, []int)

func (*AllWasmCodeIDQuery) GetPagination

func (m *AllWasmCodeIDQuery) GetPagination() *query.PageRequest

func (*AllWasmCodeIDQuery) Marshal

func (m *AllWasmCodeIDQuery) Marshal() (dAtA []byte, err error)

func (*AllWasmCodeIDQuery) MarshalTo

func (m *AllWasmCodeIDQuery) MarshalTo(dAtA []byte) (int, error)

func (*AllWasmCodeIDQuery) MarshalToSizedBuffer

func (m *AllWasmCodeIDQuery) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*AllWasmCodeIDQuery) ProtoMessage

func (*AllWasmCodeIDQuery) ProtoMessage()

func (*AllWasmCodeIDQuery) Reset

func (m *AllWasmCodeIDQuery) Reset()

func (*AllWasmCodeIDQuery) Size

func (m *AllWasmCodeIDQuery) Size() (n int)

func (*AllWasmCodeIDQuery) String

func (m *AllWasmCodeIDQuery) String() string

func (*AllWasmCodeIDQuery) Unmarshal

func (m *AllWasmCodeIDQuery) Unmarshal(dAtA []byte) error

func (*AllWasmCodeIDQuery) XXX_DiscardUnknown

func (m *AllWasmCodeIDQuery) XXX_DiscardUnknown()

func (*AllWasmCodeIDQuery) XXX_Marshal

func (m *AllWasmCodeIDQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AllWasmCodeIDQuery) XXX_Merge

func (m *AllWasmCodeIDQuery) XXX_Merge(src proto.Message)

func (*AllWasmCodeIDQuery) XXX_Size

func (m *AllWasmCodeIDQuery) XXX_Size() int

func (*AllWasmCodeIDQuery) XXX_Unmarshal

func (m *AllWasmCodeIDQuery) XXX_Unmarshal(b []byte) error

type AllWasmCodeIDResponse

type AllWasmCodeIDResponse struct {
	CodeIds []string `protobuf:"bytes,1,rep,name=code_ids,json=codeIds,proto3" json:"code_ids,omitempty"`
	// pagination defines an optional pagination for the request.
	Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

AllWasmCode response

func (*AllWasmCodeIDResponse) Descriptor

func (*AllWasmCodeIDResponse) Descriptor() ([]byte, []int)

func (*AllWasmCodeIDResponse) GetCodeIds

func (m *AllWasmCodeIDResponse) GetCodeIds() []string

func (*AllWasmCodeIDResponse) GetPagination

func (m *AllWasmCodeIDResponse) GetPagination() *query.PageResponse

func (*AllWasmCodeIDResponse) Marshal

func (m *AllWasmCodeIDResponse) Marshal() (dAtA []byte, err error)

func (*AllWasmCodeIDResponse) MarshalTo

func (m *AllWasmCodeIDResponse) MarshalTo(dAtA []byte) (int, error)

func (*AllWasmCodeIDResponse) MarshalToSizedBuffer

func (m *AllWasmCodeIDResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*AllWasmCodeIDResponse) ProtoMessage

func (*AllWasmCodeIDResponse) ProtoMessage()

func (*AllWasmCodeIDResponse) Reset

func (m *AllWasmCodeIDResponse) Reset()

func (*AllWasmCodeIDResponse) Size

func (m *AllWasmCodeIDResponse) Size() (n int)

func (*AllWasmCodeIDResponse) String

func (m *AllWasmCodeIDResponse) String() string

func (*AllWasmCodeIDResponse) Unmarshal

func (m *AllWasmCodeIDResponse) Unmarshal(dAtA []byte) error

func (*AllWasmCodeIDResponse) XXX_DiscardUnknown

func (m *AllWasmCodeIDResponse) XXX_DiscardUnknown()

func (*AllWasmCodeIDResponse) XXX_Marshal

func (m *AllWasmCodeIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*AllWasmCodeIDResponse) XXX_Merge

func (m *AllWasmCodeIDResponse) XXX_Merge(src proto.Message)

func (*AllWasmCodeIDResponse) XXX_Size

func (m *AllWasmCodeIDResponse) XXX_Size() int

func (*AllWasmCodeIDResponse) XXX_Unmarshal

func (m *AllWasmCodeIDResponse) XXX_Unmarshal(b []byte) error

type CheckSubstituteAndUpdateStatePayload

type CheckSubstituteAndUpdateStatePayload struct{}

type ClientCreateRequest

type ClientCreateRequest struct {
	ClientCreateRequest ClientState `json:"client_create_request,omitempty"`
}

type ClientState

type ClientState struct {
	Data         []byte       `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	CodeId       []byte       `protobuf:"bytes,2,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"`
	LatestHeight types.Height `protobuf:"bytes,3,opt,name=latest_height,json=latestHeight,proto3" json:"latest_height" yaml:"latest_height"`
}

Wasm light client's Client state

func NewClientState

func NewClientState(data []byte, codeID []byte, height clienttypes.Height) *ClientState

NewClientState creates a new ClientState instance.

func (ClientState) CheckForMisbehaviour

func (c ClientState) CheckForMisbehaviour(ctx sdk.Context, _ codec.BinaryCodec, clientStore sdk.KVStore, msg exported.ClientMessage) bool

func (ClientState) CheckSubstituteAndUpdateState

func (c ClientState) CheckSubstituteAndUpdateState(
	ctx sdk.Context, _ codec.BinaryCodec, subjectClientStore,
	substituteClientStore sdk.KVStore, substituteClient exported.ClientState,
) error

func (ClientState) ClientType

func (cs ClientState) ClientType() string

ClientType is wasm.

func (*ClientState) Descriptor

func (*ClientState) Descriptor() ([]byte, []int)

func (ClientState) ExportMetadata

func (c ClientState) ExportMetadata(store sdk.KVStore) []exported.GenesisMetadata

ExportMetadata is a no-op since wasm client does not store any metadata in client store

func (ClientState) GetLatestHeight

func (cs ClientState) GetLatestHeight() exported.Height

GetLatestHeight returns latest block height.

func (ClientState) GetTimestampAtHeight

func (c ClientState) GetTimestampAtHeight(
	_ sdk.Context,
	clientStore sdk.KVStore,
	cdc codec.BinaryCodec,
	height exported.Height,
) (uint64, error)

func (ClientState) Initialize

func (cs ClientState) Initialize(context sdk.Context, marshaler codec.BinaryCodec, clientStore sdk.KVStore, state exported.ConsensusState) error

Initialize checks that the initial consensus state is an 08-wasm consensus state and sets the client state, consensus state in the provided client store.

func (*ClientState) Marshal

func (m *ClientState) Marshal() (dAtA []byte, err error)

func (*ClientState) MarshalTo

func (m *ClientState) MarshalTo(dAtA []byte) (int, error)

func (*ClientState) MarshalToSizedBuffer

func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ClientState) ProtoMessage

func (*ClientState) ProtoMessage()

func (*ClientState) Reset

func (m *ClientState) Reset()

func (*ClientState) Size

func (m *ClientState) Size() (n int)

func (ClientState) Status

func (cs ClientState) Status(ctx sdk.Context, clientStore sdk.KVStore, _ codec.BinaryCodec) exported.Status

Status returns the status of the wasm client. The client may be: - Active: frozen height is zero and client is not expired - Frozen: frozen height is not zero - Expired: the latest consensus state timestamp + trusting period <= current time - Unauthorized: the client type is not registered as an allowed client type

A frozen client will become expired, so the Frozen status has higher precedence.

func (*ClientState) String

func (m *ClientState) String() string

func (*ClientState) Unmarshal

func (m *ClientState) Unmarshal(dAtA []byte) error

func (ClientState) UpdateState

func (c ClientState) UpdateState(ctx sdk.Context, cdc codec.BinaryCodec, store sdk.KVStore, clientMsg exported.ClientMessage) []exported.Height

Client state and new consensus states are updated in the store by the contract

func (ClientState) UpdateStateOnMisbehaviour

func (c ClientState) UpdateStateOnMisbehaviour(ctx sdk.Context, _ codec.BinaryCodec, clientStore sdk.KVStore, clientMsg exported.ClientMessage)

UpdateStateOnMisbehaviour should perform appropriate state changes on a client state given that misbehaviour has been detected and verified Client state is updated in the store by contract

func (ClientState) Validate

func (cs ClientState) Validate() error

Validate performs a basic validation of the client state fields.

func (ClientState) VerifyClientMessage

func (c ClientState) VerifyClientMessage(ctx sdk.Context, _ codec.BinaryCodec, clientStore sdk.KVStore, clientMsg exported.ClientMessage) error

VerifyClientMessage must verify a ClientMessage. A ClientMessage could be a Header, Misbehaviour, or batch update. It must handle each type of ClientMessage appropriately. Calls to CheckForMisbehaviour, UpdateState, and UpdateStateOnMisbehaviour will assume that the content of the ClientMessage has been verified and can be trusted. An error should be returned if the ClientMessage fails to verify.

func (ClientState) VerifyMembership

func (cs ClientState) VerifyMembership(
	ctx sdk.Context,
	clientStore sdk.KVStore,
	cdc codec.BinaryCodec,
	height exported.Height,
	delayTimePeriod uint64,
	delayBlockPeriod uint64,
	proof []byte,
	path exported.Path,
	value []byte,
) error

VerifyMembership is a generic proof verification method which verifies a proof of the existence of a value at a given CommitmentPath at the specified height. The caller is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized path (as defined in ICS 24). If a zero proof height is passed in, it will fail to retrieve the associated consensus state.

func (ClientState) VerifyNonMembership

func (cs ClientState) VerifyNonMembership(
	ctx sdk.Context,
	clientStore sdk.KVStore,
	cdc codec.BinaryCodec,
	height exported.Height,
	delayTimePeriod uint64,
	delayBlockPeriod uint64,
	proof []byte,
	path exported.Path,
) error

func (ClientState) VerifyUpgradeAndUpdateState

func (c ClientState) VerifyUpgradeAndUpdateState(
	ctx sdk.Context,
	cdc codec.BinaryCodec,
	store sdk.KVStore,
	newClient exported.ClientState,
	newConsState exported.ConsensusState,
	proofUpgradeClient,
	proofUpgradeConsState []byte,
) error

VerifyUpgradeAndUpdateState, on a successful verification expects the contract to update the new client state, consensus state, and any other client metadata

func (*ClientState) XXX_DiscardUnknown

func (m *ClientState) XXX_DiscardUnknown()

func (*ClientState) XXX_Marshal

func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClientState) XXX_Merge

func (m *ClientState) XXX_Merge(src proto.Message)

func (*ClientState) XXX_Size

func (m *ClientState) XXX_Size() int

func (*ClientState) XXX_Unmarshal

func (m *ClientState) XXX_Unmarshal(b []byte) error

func (ClientState) ZeroCustomFields

func (cs ClientState) ZeroCustomFields() exported.ClientState

ZeroCustomFields returns a ClientState that is a copy of the current ClientState with all client customizable fields zeroed out

type ConsensusState

type ConsensusState struct {
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	// timestamp that corresponds to the block height in which the ConsensusState
	// was stored.
	Timestamp uint64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

Wasm light client's ConsensusState

func GetConsensusState

func GetConsensusState(store sdk.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, error)

GetConsensusState retrieves the consensus state from the client prefixed store. An error is returned if the consensus state does not exist.

func (ConsensusState) ClientType

func (m ConsensusState) ClientType() string

func (*ConsensusState) Descriptor

func (*ConsensusState) Descriptor() ([]byte, []int)

func (ConsensusState) GetTimestamp

func (m ConsensusState) GetTimestamp() uint64

func (*ConsensusState) Marshal

func (m *ConsensusState) Marshal() (dAtA []byte, err error)

func (*ConsensusState) MarshalTo

func (m *ConsensusState) MarshalTo(dAtA []byte) (int, error)

func (*ConsensusState) MarshalToSizedBuffer

func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConsensusState) ProtoMessage

func (*ConsensusState) ProtoMessage()

func (*ConsensusState) Reset

func (m *ConsensusState) Reset()

func (*ConsensusState) Size

func (m *ConsensusState) Size() (n int)

func (*ConsensusState) String

func (m *ConsensusState) String() string

func (*ConsensusState) Unmarshal

func (m *ConsensusState) Unmarshal(dAtA []byte) error

func (ConsensusState) ValidateBasic

func (m ConsensusState) ValidateBasic() error

func (*ConsensusState) XXX_DiscardUnknown

func (m *ConsensusState) XXX_DiscardUnknown()

func (*ConsensusState) XXX_Marshal

func (m *ConsensusState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsensusState) XXX_Merge

func (m *ConsensusState) XXX_Merge(src proto.Message)

func (*ConsensusState) XXX_Size

func (m *ConsensusState) XXX_Size() int

func (*ConsensusState) XXX_Unmarshal

func (m *ConsensusState) XXX_Unmarshal(b []byte) error

type ContractResult

type ContractResult interface {
	Validate() bool
	Error() string
}

type ExportMetadataInnerPayload

type ExportMetadataInnerPayload struct{}

type ExportMetadataPayload

type ExportMetadataPayload struct {
	ExportMetadata ExportMetadataInnerPayload `json:"export_metadata"`
}

type GasRegister

type GasRegister interface {
	// NewContractInstanceCosts costs to create a new contract instance from code
	NewContractInstanceCosts(msgLen int) sdk.Gas
	// CompileCosts costs to persist and "compile" a new wasm contract
	CompileCosts(byteLength int) sdk.Gas
	// InstantiateContractCosts costs when interacting with a wasm contract
	InstantiateContractCosts(msgLen int) sdk.Gas
	// ToWasmVMGas converts from sdk gas to wasmvm gas
	ToWasmVMGas(source sdk.Gas) uint64
	// FromWasmVMGas converts from wasmvm gas to sdk gas
	FromWasmVMGas(source uint64) sdk.Gas
}

GasRegister abstract source for gas costs

type GenesisContract

type GenesisContract struct {
	// store key of metadata without clientID-prefix
	CodeHash []byte `protobuf:"bytes,1,opt,name=code_hash,json=codeHash,proto3" json:"code_hash,omitempty"`
	// metadata value
	ContractCode []byte `protobuf:"bytes,2,opt,name=contract_code,json=contractCode,proto3" json:"contract_code,omitempty"`
}

A contract's code hash and code

func (*GenesisContract) Descriptor

func (*GenesisContract) Descriptor() ([]byte, []int)

func (*GenesisContract) Marshal

func (m *GenesisContract) Marshal() (dAtA []byte, err error)

func (*GenesisContract) MarshalTo

func (m *GenesisContract) MarshalTo(dAtA []byte) (int, error)

func (*GenesisContract) MarshalToSizedBuffer

func (m *GenesisContract) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GenesisContract) ProtoMessage

func (*GenesisContract) ProtoMessage()

func (*GenesisContract) Reset

func (m *GenesisContract) Reset()

func (*GenesisContract) Size

func (m *GenesisContract) Size() (n int)

func (*GenesisContract) String

func (m *GenesisContract) String() string

func (*GenesisContract) Unmarshal

func (m *GenesisContract) Unmarshal(dAtA []byte) error

func (*GenesisContract) XXX_DiscardUnknown

func (m *GenesisContract) XXX_DiscardUnknown()

func (*GenesisContract) XXX_Marshal

func (m *GenesisContract) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GenesisContract) XXX_Merge

func (m *GenesisContract) XXX_Merge(src proto.Message)

func (*GenesisContract) XXX_Size

func (m *GenesisContract) XXX_Size() int

func (*GenesisContract) XXX_Unmarshal

func (m *GenesisContract) XXX_Unmarshal(b []byte) error

type GenesisState

type GenesisState struct {
	// uploaded light client wasm contracts
	Contracts []GenesisContract `protobuf:"bytes,1,rep,name=contracts,proto3" json:"contracts"`
}

Wasm light client's keeper genesis state

func (*GenesisState) Descriptor

func (*GenesisState) Descriptor() ([]byte, []int)

func (*GenesisState) GetContracts

func (m *GenesisState) GetContracts() []GenesisContract

func (*GenesisState) Marshal

func (m *GenesisState) Marshal() (dAtA []byte, err error)

func (*GenesisState) MarshalTo

func (m *GenesisState) MarshalTo(dAtA []byte) (int, error)

func (*GenesisState) MarshalToSizedBuffer

func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GenesisState) ProtoMessage

func (*GenesisState) ProtoMessage()

func (*GenesisState) Reset

func (m *GenesisState) Reset()

func (*GenesisState) Size

func (m *GenesisState) Size() (n int)

func (*GenesisState) String

func (m *GenesisState) String() string

func (*GenesisState) Unmarshal

func (m *GenesisState) Unmarshal(dAtA []byte) error

func (*GenesisState) XXX_DiscardUnknown

func (m *GenesisState) XXX_DiscardUnknown()

func (*GenesisState) XXX_Marshal

func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GenesisState) XXX_Merge

func (m *GenesisState) XXX_Merge(src proto.Message)

func (*GenesisState) XXX_Size

func (m *GenesisState) XXX_Size() int

func (*GenesisState) XXX_Unmarshal

func (m *GenesisState) XXX_Unmarshal(b []byte) error
type Header struct {
	Data   []byte       `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Height types.Height `protobuf:"bytes,2,opt,name=height,proto3" json:"height" yaml:"height"`
}

Wasm light client Header

func (Header) ClientType

func (m Header) ClientType() string

func (*Header) Descriptor

func (*Header) Descriptor() ([]byte, []int)

func (*Header) Marshal

func (m *Header) Marshal() (dAtA []byte, err error)

func (*Header) MarshalTo

func (m *Header) MarshalTo(dAtA []byte) (int, error)

func (*Header) MarshalToSizedBuffer

func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Header) ProtoMessage

func (*Header) ProtoMessage()

func (*Header) Reset

func (m *Header) Reset()

func (*Header) Size

func (m *Header) Size() (n int)

func (*Header) String

func (m *Header) String() string

func (*Header) Unmarshal

func (m *Header) Unmarshal(dAtA []byte) error

func (Header) ValidateBasic

func (m Header) ValidateBasic() error

func (*Header) XXX_DiscardUnknown

func (m *Header) XXX_DiscardUnknown()

func (*Header) XXX_Marshal

func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Header) XXX_Merge

func (m *Header) XXX_Merge(src proto.Message)

func (*Header) XXX_Size

func (m *Header) XXX_Size() int

func (*Header) XXX_Unmarshal

func (m *Header) XXX_Unmarshal(b []byte) error

type Misbehaviour

type Misbehaviour struct {
	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

Wasm light client Misbehaviour

func (Misbehaviour) ClientType

func (m Misbehaviour) ClientType() string

func (*Misbehaviour) Descriptor

func (*Misbehaviour) Descriptor() ([]byte, []int)

func (*Misbehaviour) Marshal

func (m *Misbehaviour) Marshal() (dAtA []byte, err error)

func (*Misbehaviour) MarshalTo

func (m *Misbehaviour) MarshalTo(dAtA []byte) (int, error)

func (*Misbehaviour) MarshalToSizedBuffer

func (m *Misbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Misbehaviour) ProtoMessage

func (*Misbehaviour) ProtoMessage()

func (*Misbehaviour) Reset

func (m *Misbehaviour) Reset()

func (*Misbehaviour) Size

func (m *Misbehaviour) Size() (n int)

func (*Misbehaviour) String

func (m *Misbehaviour) String() string

func (*Misbehaviour) Unmarshal

func (m *Misbehaviour) Unmarshal(dAtA []byte) error

func (Misbehaviour) ValidateBasic

func (m Misbehaviour) ValidateBasic() error

func (*Misbehaviour) XXX_DiscardUnknown

func (m *Misbehaviour) XXX_DiscardUnknown()

func (*Misbehaviour) XXX_Marshal

func (m *Misbehaviour) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Misbehaviour) XXX_Merge

func (m *Misbehaviour) XXX_Merge(src proto.Message)

func (*Misbehaviour) XXX_Size

func (m *Misbehaviour) XXX_Size() int

func (*Misbehaviour) XXX_Unmarshal

func (m *Misbehaviour) XXX_Unmarshal(b []byte) error

type MsgClient

type MsgClient interface {
	// PushNewWasmCode defines a rpc handler method for PushNewWasmCode.
	PushNewWasmCode(ctx context.Context, in *MsgPushNewWasmCode, opts ...grpc.CallOption) (*MsgPushNewWasmCodeResponse, error)
}

MsgClient is the client API for Msg service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewMsgClient

func NewMsgClient(cc grpc1.ClientConn) MsgClient

type MsgPushNewWasmCode

type MsgPushNewWasmCode struct {
	Signer string `protobuf:"bytes,1,opt,name=signer,proto3" json:"signer,omitempty"`
	Code   []byte `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
}

Message type to push new wasm code

func NewMsgPushNewWasmCode

func NewMsgPushNewWasmCode(signer string, code []byte) *MsgPushNewWasmCode

func (*MsgPushNewWasmCode) Descriptor

func (*MsgPushNewWasmCode) Descriptor() ([]byte, []int)

func (*MsgPushNewWasmCode) GetCode

func (m *MsgPushNewWasmCode) GetCode() []byte

func (MsgPushNewWasmCode) GetSignBytes

func (msg MsgPushNewWasmCode) GetSignBytes() []byte

GetSignBytes implements the LegacyMsg interface.

func (*MsgPushNewWasmCode) GetSigner

func (m *MsgPushNewWasmCode) GetSigner() string

func (MsgPushNewWasmCode) GetSigners

func (m MsgPushNewWasmCode) GetSigners() []sdk.AccAddress

func (*MsgPushNewWasmCode) Marshal

func (m *MsgPushNewWasmCode) Marshal() (dAtA []byte, err error)

func (*MsgPushNewWasmCode) MarshalTo

func (m *MsgPushNewWasmCode) MarshalTo(dAtA []byte) (int, error)

func (*MsgPushNewWasmCode) MarshalToSizedBuffer

func (m *MsgPushNewWasmCode) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MsgPushNewWasmCode) ProtoMessage

func (*MsgPushNewWasmCode) ProtoMessage()

func (*MsgPushNewWasmCode) Reset

func (m *MsgPushNewWasmCode) Reset()

func (MsgPushNewWasmCode) Route

func (msg MsgPushNewWasmCode) Route() string

Route Implements Msg.

func (*MsgPushNewWasmCode) Size

func (m *MsgPushNewWasmCode) Size() (n int)

func (*MsgPushNewWasmCode) String

func (m *MsgPushNewWasmCode) String() string

func (MsgPushNewWasmCode) Type

func (msg MsgPushNewWasmCode) Type() string

Type Implements Msg.

func (*MsgPushNewWasmCode) Unmarshal

func (m *MsgPushNewWasmCode) Unmarshal(dAtA []byte) error

func (MsgPushNewWasmCode) ValidateBasic

func (m MsgPushNewWasmCode) ValidateBasic() error

func (*MsgPushNewWasmCode) XXX_DiscardUnknown

func (m *MsgPushNewWasmCode) XXX_DiscardUnknown()

func (*MsgPushNewWasmCode) XXX_Marshal

func (m *MsgPushNewWasmCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MsgPushNewWasmCode) XXX_Merge

func (m *MsgPushNewWasmCode) XXX_Merge(src proto.Message)

func (*MsgPushNewWasmCode) XXX_Size

func (m *MsgPushNewWasmCode) XXX_Size() int

func (*MsgPushNewWasmCode) XXX_Unmarshal

func (m *MsgPushNewWasmCode) XXX_Unmarshal(b []byte) error

type MsgPushNewWasmCodeResponse

type MsgPushNewWasmCodeResponse struct {
	CodeId []byte `protobuf:"bytes,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"`
}

Response in case of successful handling

func (*MsgPushNewWasmCodeResponse) Descriptor

func (*MsgPushNewWasmCodeResponse) Descriptor() ([]byte, []int)

func (*MsgPushNewWasmCodeResponse) GetCodeId

func (m *MsgPushNewWasmCodeResponse) GetCodeId() []byte

func (*MsgPushNewWasmCodeResponse) Marshal

func (m *MsgPushNewWasmCodeResponse) Marshal() (dAtA []byte, err error)

func (*MsgPushNewWasmCodeResponse) MarshalTo

func (m *MsgPushNewWasmCodeResponse) MarshalTo(dAtA []byte) (int, error)

func (*MsgPushNewWasmCodeResponse) MarshalToSizedBuffer

func (m *MsgPushNewWasmCodeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MsgPushNewWasmCodeResponse) ProtoMessage

func (*MsgPushNewWasmCodeResponse) ProtoMessage()

func (*MsgPushNewWasmCodeResponse) Reset

func (m *MsgPushNewWasmCodeResponse) Reset()

func (*MsgPushNewWasmCodeResponse) Size

func (m *MsgPushNewWasmCodeResponse) Size() (n int)

func (*MsgPushNewWasmCodeResponse) String

func (m *MsgPushNewWasmCodeResponse) String() string

func (*MsgPushNewWasmCodeResponse) Unmarshal

func (m *MsgPushNewWasmCodeResponse) Unmarshal(dAtA []byte) error

func (*MsgPushNewWasmCodeResponse) XXX_DiscardUnknown

func (m *MsgPushNewWasmCodeResponse) XXX_DiscardUnknown()

func (*MsgPushNewWasmCodeResponse) XXX_Marshal

func (m *MsgPushNewWasmCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MsgPushNewWasmCodeResponse) XXX_Merge

func (m *MsgPushNewWasmCodeResponse) XXX_Merge(src proto.Message)

func (*MsgPushNewWasmCodeResponse) XXX_Size

func (m *MsgPushNewWasmCodeResponse) XXX_Size() int

func (*MsgPushNewWasmCodeResponse) XXX_Unmarshal

func (m *MsgPushNewWasmCodeResponse) XXX_Unmarshal(b []byte) error

type MsgServer

type MsgServer interface {
	// PushNewWasmCode defines a rpc handler method for PushNewWasmCode.
	PushNewWasmCode(context.Context, *MsgPushNewWasmCode) (*MsgPushNewWasmCodeResponse, error)
}

MsgServer is the server API for Msg service.

type MultipliedGasMeter

type MultipliedGasMeter struct {
	GasRegister GasRegister
	// contains filtered or unexported fields
}

MultipliedGasMeter wraps the GasMeter from context and multiplies all reads by out defined multiplier

func NewMultipliedGasMeter

func NewMultipliedGasMeter(originalMeter sdk.GasMeter, gr GasRegister) MultipliedGasMeter

func (MultipliedGasMeter) GasConsumed

func (m MultipliedGasMeter) GasConsumed() sdk.Gas

type QueryClient

type QueryClient interface {
	// Get Wasm code for given code id
	WasmCode(ctx context.Context, in *WasmCodeQuery, opts ...grpc.CallOption) (*WasmCodeResponse, error)
	// Get All Wasm code for given code id
	AllWasmCodeID(ctx context.Context, in *AllWasmCodeIDQuery, opts ...grpc.CallOption) (*AllWasmCodeIDResponse, error)
}

QueryClient is the client API for Query service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewQueryClient

func NewQueryClient(cc grpc1.ClientConn) QueryClient

type QueryServer

type QueryServer interface {
	// Get Wasm code for given code id
	WasmCode(context.Context, *WasmCodeQuery) (*WasmCodeResponse, error)
	// Get All Wasm code for given code id
	AllWasmCodeID(context.Context, *AllWasmCodeIDQuery) (*AllWasmCodeIDResponse, error)
}

QueryServer is the server API for Query service.

type StoreAdapter

type StoreAdapter struct {
	// contains filtered or unexported fields
}

StoreAdapter adapter to bridge SDK store impl to wasmvm

func NewStoreAdapter

func NewStoreAdapter(s sdk.KVStore) *StoreAdapter

NewStoreAdapter constructor

func (StoreAdapter) Delete

func (s StoreAdapter) Delete(key []byte)

func (StoreAdapter) Get

func (s StoreAdapter) Get(key []byte) []byte

func (StoreAdapter) Iterator

func (s StoreAdapter) Iterator(start, end []byte) wasmvmtypes.Iterator

func (StoreAdapter) ReverseIterator

func (s StoreAdapter) ReverseIterator(start, end []byte) wasmvmtypes.Iterator

func (StoreAdapter) Set

func (s StoreAdapter) Set(key, value []byte)

type UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

func (*UnimplementedMsgServer) PushNewWasmCode

type UnimplementedQueryServer

type UnimplementedQueryServer struct {
}

UnimplementedQueryServer can be embedded to have forward compatible implementations.

func (*UnimplementedQueryServer) AllWasmCodeID

func (*UnimplementedQueryServer) WasmCode

type WasmCodeQuery

type WasmCodeQuery struct {
	CodeId string `protobuf:"bytes,1,opt,name=code_id,json=codeId,proto3" json:"code_id,omitempty"`
}

WasmCode query

func (*WasmCodeQuery) Descriptor

func (*WasmCodeQuery) Descriptor() ([]byte, []int)

func (*WasmCodeQuery) GetCodeId

func (m *WasmCodeQuery) GetCodeId() string

func (*WasmCodeQuery) Marshal

func (m *WasmCodeQuery) Marshal() (dAtA []byte, err error)

func (*WasmCodeQuery) MarshalTo

func (m *WasmCodeQuery) MarshalTo(dAtA []byte) (int, error)

func (*WasmCodeQuery) MarshalToSizedBuffer

func (m *WasmCodeQuery) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*WasmCodeQuery) ProtoMessage

func (*WasmCodeQuery) ProtoMessage()

func (*WasmCodeQuery) Reset

func (m *WasmCodeQuery) Reset()

func (*WasmCodeQuery) Size

func (m *WasmCodeQuery) Size() (n int)

func (*WasmCodeQuery) String

func (m *WasmCodeQuery) String() string

func (*WasmCodeQuery) Unmarshal

func (m *WasmCodeQuery) Unmarshal(dAtA []byte) error

func (*WasmCodeQuery) XXX_DiscardUnknown

func (m *WasmCodeQuery) XXX_DiscardUnknown()

func (*WasmCodeQuery) XXX_Marshal

func (m *WasmCodeQuery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WasmCodeQuery) XXX_Merge

func (m *WasmCodeQuery) XXX_Merge(src proto.Message)

func (*WasmCodeQuery) XXX_Size

func (m *WasmCodeQuery) XXX_Size() int

func (*WasmCodeQuery) XXX_Unmarshal

func (m *WasmCodeQuery) XXX_Unmarshal(b []byte) error

type WasmCodeResponse

type WasmCodeResponse struct {
	Code []byte `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"`
}

WasmCode response

func (*WasmCodeResponse) Descriptor

func (*WasmCodeResponse) Descriptor() ([]byte, []int)

func (*WasmCodeResponse) GetCode

func (m *WasmCodeResponse) GetCode() []byte

func (*WasmCodeResponse) Marshal

func (m *WasmCodeResponse) Marshal() (dAtA []byte, err error)

func (*WasmCodeResponse) MarshalTo

func (m *WasmCodeResponse) MarshalTo(dAtA []byte) (int, error)

func (*WasmCodeResponse) MarshalToSizedBuffer

func (m *WasmCodeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*WasmCodeResponse) ProtoMessage

func (*WasmCodeResponse) ProtoMessage()

func (*WasmCodeResponse) Reset

func (m *WasmCodeResponse) Reset()

func (*WasmCodeResponse) Size

func (m *WasmCodeResponse) Size() (n int)

func (*WasmCodeResponse) String

func (m *WasmCodeResponse) String() string

func (*WasmCodeResponse) Unmarshal

func (m *WasmCodeResponse) Unmarshal(dAtA []byte) error

func (*WasmCodeResponse) XXX_DiscardUnknown

func (m *WasmCodeResponse) XXX_DiscardUnknown()

func (*WasmCodeResponse) XXX_Marshal

func (m *WasmCodeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WasmCodeResponse) XXX_Merge

func (m *WasmCodeResponse) XXX_Merge(src proto.Message)

func (*WasmCodeResponse) XXX_Size

func (m *WasmCodeResponse) XXX_Size() int

func (*WasmCodeResponse) XXX_Unmarshal

func (m *WasmCodeResponse) XXX_Unmarshal(b []byte) error

type WasmGasRegister

type WasmGasRegister struct {
	// contains filtered or unexported fields
}

WasmGasRegister implements GasRegister interface

func NewDefaultWasmGasRegister

func NewDefaultWasmGasRegister() WasmGasRegister

NewDefaultWasmGasRegister creates instance with default values

func NewWasmGasRegister

func NewWasmGasRegister(c WasmGasRegisterConfig) WasmGasRegister

NewWasmGasRegister constructor

func (WasmGasRegister) CompileCosts

func (g WasmGasRegister) CompileCosts(byteLength int) storetypes.Gas

CompileCosts costs to persist and "compile" a new wasm contract

func (WasmGasRegister) FromWasmVMGas

func (g WasmGasRegister) FromWasmVMGas(source uint64) sdk.Gas

FromWasmVMGas converts to SDK gas unit

func (WasmGasRegister) InstantiateContractCosts

func (g WasmGasRegister) InstantiateContractCosts(msgLen int) sdk.Gas

InstantiateContractCosts costs when interacting with a wasm contract

func (WasmGasRegister) NewContractInstanceCosts

func (g WasmGasRegister) NewContractInstanceCosts(msgLen int) storetypes.Gas

NewContractInstanceCosts costs to create a new contract instance from code

func (WasmGasRegister) ToWasmVMGas

func (g WasmGasRegister) ToWasmVMGas(source storetypes.Gas) uint64

ToWasmVMGas convert to wasmVM contract runtime gas unit

func (WasmGasRegister) UncompressCosts

func (g WasmGasRegister) UncompressCosts(byteLength int) sdk.Gas

UncompressCosts costs to unpack a new wasm contract

type WasmGasRegisterConfig

type WasmGasRegisterConfig struct {
	// InstanceCost costs when interacting with a wasm contract
	InstanceCost sdk.Gas
	// CompileCosts costs to persist and "compile" a new wasm contract
	CompileCost sdk.Gas
	// UncompressCost costs per byte to unpack a contract
	UncompressCost wasmvmtypes.UFraction
	// GasMultiplier is how many cosmwasm gas points = 1 sdk gas point
	// SDK reference costs can be found here: https://github.com/cosmos/cosmos-sdk/blob/02c6c9fafd58da88550ab4d7d494724a477c8a68/store/types/gas.go#L153-L164
	GasMultiplier sdk.Gas
	// ContractMessageDataCost SDK gas charged *per byte* of the message that goes to the contract
	// This is used with len(msg)
	ContractMessageDataCost sdk.Gas
}

WasmGasRegisterConfig config type

func DefaultGasRegisterConfig

func DefaultGasRegisterConfig() WasmGasRegisterConfig

DefaultGasRegisterConfig default values

type WrappedStore

type WrappedStore struct {
	// contains filtered or unexported fields
}

WrappedStore combines two KVStores into one while transparently routing the calls based on key prefix

func NewWrappedStore

func NewWrappedStore(first, second sdk.KVStore, firstPrefix, secondPrefix []byte) WrappedStore

func (WrappedStore) CacheWrap

func (ws WrappedStore) CacheWrap() storetypes.CacheWrap

func (WrappedStore) CacheWrapWithListeners

func (ws WrappedStore) CacheWrapWithListeners(storeKey storetypes.StoreKey, listeners []storetypes.WriteListener) storetypes.CacheWrap

func (WrappedStore) CacheWrapWithTrace

func (ws WrappedStore) CacheWrapWithTrace(w io.Writer, tc storetypes.TraceContext) storetypes.CacheWrap

func (WrappedStore) Delete

func (ws WrappedStore) Delete(key []byte)

func (WrappedStore) Get

func (ws WrappedStore) Get(key []byte) []byte

func (WrappedStore) GetStoreType

func (ws WrappedStore) GetStoreType() storetypes.StoreType

func (WrappedStore) Has

func (ws WrappedStore) Has(key []byte) bool

func (WrappedStore) Iterator

func (ws WrappedStore) Iterator(start, end []byte) sdk.Iterator

func (WrappedStore) ReverseIterator

func (ws WrappedStore) ReverseIterator(start, end []byte) sdk.Iterator

func (WrappedStore) Set

func (ws WrappedStore) Set(key, value []byte)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL