Documentation ¶
Index ¶
- Constants
- type AllBalancesQuery
- type AllBalancesResponse
- type AllDelegationsQuery
- type AllDelegationsResponse
- type AllDenomMetadataQuery
- type AllDenomMetadataResponse
- type AllValidatorsQuery
- type AllValidatorsResponse
- type AnalysisReport
- type BalanceQuery
- type BalanceResponse
- type BankMsg
- type BankQuery
- type BlockInfo
- type BondedDenomResponse
- type BurnMsg
- type CanonicalAddress
- type CanonicalizeAddress
- type ChannelQuery
- type ChannelResponse
- type Checksum
- type ClearAdminMsg
- type CloseChannelMsg
- type CodeInfoQuery
- type CodeInfoResponse
- type Coin
- type Coins
- type ContractInfo
- type ContractInfoQuery
- type ContractInfoResponse
- type ContractResult
- type CosmosMsg
- type DecCoin
- type DelegateMsg
- type Delegation
- type DelegationQuery
- type DelegationResponse
- type DelegationRewardsQuery
- type DelegationRewardsResponse
- type DelegationTotalRewardsQuery
- type DelegationTotalRewardsResponse
- type Delegations
- type DelegatorReward
- type DelegatorValidatorsQuery
- type DelegatorValidatorsResponse
- type DelegatorWithdrawAddressQuery
- type DelegatorWithdrawAddressResponse
- type DenomMetadata
- type DenomMetadataQuery
- type DenomMetadataResponse
- type DenomUnit
- type DistributionMsg
- type DistributionQuery
- type Env
- type Event
- type EventAttribute
- type EventAttributes
- type Events
- type ExecuteMsg
- type Fraction
- type FullDelegation
- type FundCommunityPoolMsg
- type Gas
- type GasMeter
- type GasReport
- type GoAPI
- type GovMsg
- type HumanAddress
- type HumanizeAddress
- type IBC3ChannelOpenResponse
- type IBCAcknowledgement
- type IBCBasicResponse
- type IBCBasicResult
- type IBCChannel
- type IBCChannelCloseMsg
- type IBCChannelConnectMsg
- type IBCChannelOpenMsg
- type IBCChannelOpenResult
- type IBCChannels
- type IBCCloseConfirm
- type IBCCloseInit
- type IBCEndpoint
- type IBCEndpoints
- type IBCMsg
- type IBCOpenAck
- type IBCOpenConfirm
- type IBCOpenInit
- type IBCOpenTry
- type IBCOrder
- type IBCPacket
- type IBCPacketAckMsg
- type IBCPacketReceiveMsg
- type IBCPacketTimeoutMsg
- type IBCQuery
- type IBCReceiveResponse
- type IBCReceiveResult
- type IBCTimeout
- type IBCTimeoutBlock
- type Instantiate2Msg
- type InstantiateMsg
- type InvalidRequest
- type InvalidResponse
- type Iterator
- type KVStore
- type ListChannelsQuery
- type ListChannelsResponse
- type MessageInfo
- type Metrics
- type MigrateMsg
- type NoSuchCode
- type NoSuchContract
- type OutOfGasError
- type PageRequest
- type PortIDQuery
- type PortIDResponse
- type Querier
- type QuerierResult
- type QueryRequest
- type QueryResponse
- type RawQuery
- type RedelegateMsg
- type Reply
- type Response
- type SendMsg
- type SendPacketMsg
- type SetWithdrawAddressMsg
- type SmartQuery
- type StakingMsg
- type StakingQuery
- type StargateMsg
- type StargateQuery
- type SubMsg
- type SubMsgResponse
- type SubMsgResult
- type SubcallResponsedeprecated
- type SubcallResultdeprecated
- type SupplyQuery
- type SupplyResponse
- type SystemError
- type TransactionInfo
- type TransferMsg
- type UFraction
- type UndelegateMsg
- type Unknown
- type UnsupportedRequest
- type UpdateAdminMsg
- type Validator
- type ValidatorQuery
- type ValidatorResponse
- type Validators
- type VoteMsg
- type VoteWeightedMsg
- type WasmMsg
- type WasmQuery
- type WeightedVoteOption
- type WithdrawDelegatorRewardMsg
Constants ¶
const ( Unordered = "ORDER_UNORDERED" Ordered = "ORDER_ORDERED" )
These are the only two valid values for IbcOrder
const ( UnsetVoteOption voteOption = iota // The default value. We never return this in any valid instance (see toVoteOption). Yes No Abstain NoWithVeto )
const ( UnsetReplyOn replyOn = iota // The default value. We never return this in any valid instance (see toReplyOn). ReplyAlways ReplySuccess ReplyError ReplyNever )
const ChecksumLen = 32
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllBalancesQuery ¶
type AllBalancesQuery struct {
Address string `json:"address"`
}
type AllBalancesResponse ¶
type AllBalancesResponse struct {
Amount Coins `json:"amount"`
}
AllBalancesResponse is the expected response to AllBalancesQuery
type AllDelegationsQuery ¶
type AllDelegationsQuery struct {
Delegator string `json:"delegator"`
}
type AllDelegationsResponse ¶
type AllDelegationsResponse struct {
Delegations Delegations `json:"delegations"`
}
AllDelegationsResponse is the expected response to AllDelegationsQuery
type AllDenomMetadataQuery ¶ added in v1.3.0
type AllDenomMetadataQuery struct { // Pagination is an optional argument. // Default pagination will be used if this is omitted Pagination *PageRequest `json:"pagination,omitempty"` }
type AllDenomMetadataResponse ¶ added in v1.3.0
type AllDenomMetadataResponse struct { Metadata []DenomMetadata `json:"metadata"` // NextKey is the key to be passed to PageRequest.key to // query the next page most efficiently. It will be empty if // there are no more results. NextKey []byte `json:"next_key,omitempty"` }
type AllValidatorsQuery ¶ added in v0.14.0
type AllValidatorsQuery struct{}
type AllValidatorsResponse ¶ added in v0.14.0
type AllValidatorsResponse struct {
Validators Validators `json:"validators"`
}
AllValidatorsResponse is the expected response to AllValidatorsQuery
type AnalysisReport ¶ added in v0.14.0
type AnalysisReport struct { HasIBCEntryPoints bool // Deprecated, use RequiredCapabilities. For now both fields contain the same value. RequiredFeatures string RequiredCapabilities string }
Contains static analysis info of the contract (the Wasm code to be precise). This type is returned by VM.AnalyzeCode().
type BalanceQuery ¶
type BalanceResponse ¶
type BalanceResponse struct {
Amount Coin `json:"amount"`
}
BalanceResponse is the expected response to BalanceQuery
type BankQuery ¶
type BankQuery struct { Supply *SupplyQuery `json:"supply,omitempty"` Balance *BalanceQuery `json:"balance,omitempty"` AllBalances *AllBalancesQuery `json:"all_balances,omitempty"` DenomMetadata *DenomMetadataQuery `json:"denom_metadata,omitempty"` AllDenomMetadata *AllDenomMetadataQuery `json:"all_denom_metadata,omitempty"` }
type BondedDenomResponse ¶
type BondedDenomResponse struct {
Denom string `json:"denom"`
}
type BurnMsg ¶ added in v0.14.0
type BurnMsg struct {
Amount Coins `json:"amount"`
}
BurnMsg will burn the given coins from the contract's account. There is no Cosmos SDK message that performs this, but it can be done by calling the bank keeper. Important if a contract controls significant token supply that must be retired.
type CanonicalAddress ¶
type CanonicalAddress = []byte
CanonicalAddress uses standard base64 encoding, just use it as a label for developers
type CanonicalizeAddress ¶ added in v1.2.0
type ChannelQuery ¶ added in v0.14.0
type ChannelResponse ¶ added in v0.14.0
type ChannelResponse struct { // may be empty if there is no matching channel Channel *IBCChannel `json:"channel,omitempty"` }
type Checksum ¶ added in v1.2.0
type Checksum []byte
Checksum represents a hash of the Wasm bytecode that serves as an ID. Must be generated from this library. The length of a checksum must always be ChecksumLen.
func ForceNewChecksum ¶ added in v1.2.0
ForceNewChecksum creates a Checksum instance from a hex string. It panics in case the input is invalid.
func (Checksum) MarshalJSON ¶ added in v1.2.0
func (*Checksum) UnmarshalJSON ¶ added in v1.2.0
type ClearAdminMsg ¶ added in v0.14.0
type ClearAdminMsg struct { // ContractAddr is the sdk.AccAddress of the target contract. ContractAddr string `json:"contract_addr"` }
ClearAdminMsg is the Go counterpart of WasmMsg::ClearAdmin (https://github.com/CosmWasm/cosmwasm/blob/v0.14.0-beta5/packages/std/src/results/cosmos_msg.rs#L158-L160).
type CloseChannelMsg ¶ added in v0.14.0
type CloseChannelMsg struct {
ChannelID string `json:"channel_id"`
}
type CodeInfoQuery ¶ added in v1.2.0
type CodeInfoQuery struct {
CodeID uint64 `json:"code_id"`
}
type CodeInfoResponse ¶ added in v1.2.0
type Coin ¶
type Coin struct { Denom string `json:"denom"` // type, eg. "ATOM" Amount string `json:"amount"` // string encoing of decimal value, eg. "12.3456" }
Coin is a string representation of the sdk.Coin type (more portable than sdk.Int)
type Coins ¶
type Coins []Coin
Coins handles properly serializing empty amounts
func (Coins) MarshalJSON ¶
MarshalJSON ensures that we get [] for empty arrays
func (*Coins) UnmarshalJSON ¶
UnmarshalJSON ensures that we get [] for empty arrays
type ContractInfo ¶
type ContractInfo struct { // Bech32 encoded sdk.AccAddress of the contract, to be used when sending messages Address HumanAddress `json:"address"` }
type ContractInfoQuery ¶ added in v1.0.0
type ContractInfoQuery struct { // Bech32 encoded sdk.AccAddress of the contract ContractAddr string `json:"contract_addr"` }
type ContractInfoResponse ¶ added in v1.0.0
type ContractResult ¶ added in v0.14.0
type ContractResult struct { Ok *Response `json:"ok,omitempty"` Err string `json:"error,omitempty"` }
ContractResult is the raw response from the instantiate/execute/migrate calls. This is mirrors Rust's ContractResult<Response>.
type CosmosMsg ¶
type CosmosMsg struct { Bank *BankMsg `json:"bank,omitempty"` Custom json.RawMessage `json:"custom,omitempty"` Distribution *DistributionMsg `json:"distribution,omitempty"` Gov *GovMsg `json:"gov,omitempty"` IBC *IBCMsg `json:"ibc,omitempty"` Staking *StakingMsg `json:"staking,omitempty"` Stargate *StargateMsg `json:"stargate,omitempty"` Wasm *WasmMsg `json:"wasm,omitempty"` }
CosmosMsg is an rust enum and only (exactly) one of the fields should be set Should we do a cleaner approach in Go? (type/data?)
type DecCoin ¶ added in v1.4.0
type DecCoin struct { // An amount in the base denom of the distributed token. // // Some chains have choosen atto (10^-18) for their token's base denomination. If we used `Decimal` here, we could only store 340282366920938463463.374607431768211455atoken which is 340.28 TOKEN. Amount string `json:"amount"` Denom string `json:"denom"` }
A coin type with decimal amount. Modeled after the Cosmos SDK's DecCoin type. However, in contrast to the Cosmos SDK the `amount` string MUST always have a dot at JSON level, see <https://github.com/cosmos/cosmos-sdk/issues/10863>. Also if Cosmos SDK choses to migrate away from fixed point decimals (as shown [here](https://github.com/cosmos/cosmos-sdk/blob/v0.47.4/x/group/internal/math/dec.go#L13-L21) and discussed [here](https://github.com/cosmos/cosmos-sdk/issues/11783)), wasmd needs to truncate the decimal places to 18.
DecCoin: (https://github.com/cosmos/cosmos-sdk/blob/v0.47.4/proto/cosmos/base/v1beta1/coin.proto#L28-L38)
type DelegateMsg ¶
type Delegation ¶
type DelegationQuery ¶
type DelegationResponse ¶
type DelegationResponse struct {
Delegation *FullDelegation `json:"delegation,omitempty"`
}
DelegationResponse is the expected response to DelegationsQuery
type DelegationRewardsQuery ¶ added in v1.4.0
type DelegationRewardsResponse ¶ added in v1.4.0
type DelegationRewardsResponse struct {
Rewards []DecCoin `json:"rewards"`
}
type DelegationTotalRewardsQuery ¶ added in v1.4.0
type DelegationTotalRewardsQuery struct {
DelegatorAddress string `json:"delegator_address"`
}
type DelegationTotalRewardsResponse ¶ added in v1.4.0
type DelegationTotalRewardsResponse struct { Rewards []DelegatorReward `json:"rewards"` Total []DecCoin `json:"total"` }
type Delegations ¶
type Delegations []Delegation
func (Delegations) MarshalJSON ¶
func (d Delegations) MarshalJSON() ([]byte, error)
MarshalJSON ensures that we get [] for empty arrays
func (*Delegations) UnmarshalJSON ¶
func (d *Delegations) UnmarshalJSON(data []byte) error
UnmarshalJSON ensures that we get [] for empty arrays
type DelegatorReward ¶ added in v1.4.0
type DelegatorValidatorsQuery ¶ added in v1.4.0
type DelegatorValidatorsQuery struct {
DelegatorAddress string `json:"delegator_address"`
}
type DelegatorValidatorsResponse ¶ added in v1.4.0
type DelegatorValidatorsResponse struct {
Validators []string `json:"validators"`
}
type DelegatorWithdrawAddressQuery ¶ added in v1.3.0
type DelegatorWithdrawAddressQuery struct {
DelegatorAddress string `json:"delegator_address"`
}
type DelegatorWithdrawAddressResponse ¶ added in v1.3.0
type DelegatorWithdrawAddressResponse struct {
WithdrawAddress string `json:"withdraw_address"`
}
type DenomMetadata ¶ added in v1.3.0
type DenomMetadata struct { Description string `json:"description"` // DenomUnits represents the list of DenomUnits for a given coin DenomUnits []DenomUnit `json:"denom_units"` // Base represents the base denom (should be the DenomUnit with exponent = 0). Base string `json:"base"` // Display indicates the suggested denom that should be // displayed in clients. Display string `json:"display"` // Name defines the name of the token (eg: Cosmos Atom) // // Since: cosmos-sdk 0.43 Name string `json:"name"` // Symbol is the token symbol usually shown on exchanges (eg: ATOM). This can // be the same as the display. // // Since: cosmos-sdk 0.43 Symbol string `json:"symbol"` // URI to a document (on or off-chain) that contains additional information. Optional. // // Since: cosmos-sdk 0.46 URI string `json:"uri"` // URIHash is a sha256 hash of a document pointed by URI. It's used to verify that // the document didn't change. Optional. // // Since: cosmos-sdk 0.46 URIHash string `json:"uri_hash"` }
Replicating the cosmos-sdk bank module Metadata type
type DenomMetadataQuery ¶ added in v1.3.0
type DenomMetadataQuery struct {
Denom string `json:"denom"`
}
type DenomMetadataResponse ¶ added in v1.3.0
type DenomMetadataResponse struct {
Metadata DenomMetadata `json:"metadata"`
}
type DenomUnit ¶ added in v1.3.0
type DenomUnit struct { // Denom represents the string name of the given denom unit (e.g uatom). Denom string `json:"denom"` // Exponent represents power of 10 exponent that one must // raise the base_denom to in order to equal the given DenomUnit's denom // 1 denom = 10^exponent base_denom // (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with // exponent = 6, thus: 1 atom = 10^6 uatom). Exponent uint32 `json:"exponent"` // Aliases is a list of string aliases for the given denom Aliases []string `json:"aliases"` }
Replicating the cosmos-sdk bank module DenomUnit type
type DistributionMsg ¶ added in v0.14.0
type DistributionMsg struct { SetWithdrawAddress *SetWithdrawAddressMsg `json:"set_withdraw_address,omitempty"` WithdrawDelegatorReward *WithdrawDelegatorRewardMsg `json:"withdraw_delegator_reward,omitempty"` FundCommunityPool *FundCommunityPoolMsg `json:"fund_community_pool,omitempty"` }
type DistributionQuery ¶ added in v1.3.0
type DistributionQuery struct { // See <https://github.com/cosmos/cosmos-sdk/blob/c74e2887b0b73e81d48c2f33e6b1020090089ee0/proto/cosmos/distribution/v1beta1/query.proto#L222-L230> DelegatorWithdrawAddress *DelegatorWithdrawAddressQuery `json:"delegator_withdraw_address,omitempty"` // See <https://github.com/cosmos/cosmos-sdk/blob/c74e2887b0b73e81d48c2f33e6b1020090089ee0/proto/cosmos/distribution/v1beta1/query.proto#L157-L167> DelegationRewards *DelegationRewardsQuery `json:"delegation_rewards,omitempty"` // See <https://github.com/cosmos/cosmos-sdk/blob/c74e2887b0b73e81d48c2f33e6b1020090089ee0/proto/cosmos/distribution/v1beta1/query.proto#L180-L187> DelegationTotalRewards *DelegationTotalRewardsQuery `json:"delegation_total_rewards,omitempty"` // See <https://github.com/cosmos/cosmos-sdk/blob/b0acf60e6c39f7ab023841841fc0b751a12c13ff/proto/cosmos/distribution/v1beta1/query.proto#L202-L210> DelegatorValidators *DelegatorValidatorsQuery `json:"delegator_validators,omitempty"` }
type Env ¶
type Env struct { Block BlockInfo `json:"block"` Transaction *TransactionInfo `json:"transaction"` Contract ContractInfo `json:"contract"` }
Env defines the state of the blockchain environment this contract is running in. This must contain only trusted data - nothing from the Tx itself that has not been verfied (like Signer).
Env are json encoded to a byte slice before passing to the wasm contract.
type Event ¶ added in v0.14.0
type Event struct { Type string `json:"type"` Attributes EventAttributes `json:"attributes"` }
type EventAttribute ¶
EventAttribute
type EventAttributes ¶ added in v0.14.0
type EventAttributes []EventAttribute
EventAttributes must encode empty array as []
func (EventAttributes) MarshalJSON ¶ added in v0.14.0
func (a EventAttributes) MarshalJSON() ([]byte, error)
MarshalJSON ensures that we get [] for empty arrays
func (*EventAttributes) UnmarshalJSON ¶ added in v0.14.0
func (a *EventAttributes) UnmarshalJSON(data []byte) error
UnmarshalJSON ensures that we get [] for empty arrays
type Events ¶ added in v0.14.0
type Events []Event
Events must encode empty array as []
func (Events) MarshalJSON ¶ added in v0.14.0
MarshalJSON ensures that we get [] for empty arrays
func (*Events) UnmarshalJSON ¶ added in v0.14.0
UnmarshalJSON ensures that we get [] for empty arrays
type ExecuteMsg ¶
type ExecuteMsg struct { // ContractAddr is the sdk.AccAddress of the contract, which uniquely defines // the contract ID and instance ID. The sdk module should maintain a reverse lookup table. ContractAddr string `json:"contract_addr"` // Msg is assumed to be a json-encoded message, which will be passed directly // as `userMsg` when calling `Handle` on the above-defined contract Msg []byte `json:"msg"` // Send is an optional amount of coins this contract sends to the called contract Funds Coins `json:"funds"` }
ExecuteMsg is used to call another defined contract on this chain. The calling contract requires the callee to be defined beforehand, and the address should have been defined in initialization. And we assume the developer tested the ABIs and coded them together.
Since a contract is immutable once it is deployed, we don't need to transform this. If it was properly coded and worked once, it will continue to work throughout upgrades.
type FullDelegation ¶
type FundCommunityPoolMsg ¶ added in v1.3.0
type FundCommunityPoolMsg struct { // Amount is the list of coins to be send to the community pool Amount Coins `json:"amount"` }
FundCommunityPoolMsg is translated to a [MsgFundCommunityPool](https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#LL69C1-L76C2). `depositor` is automatically filled with the current contract's address
type GasMeter ¶ added in v1.2.0
type GasMeter interface {
GasConsumed() Gas
}
GasMeter is a read-only version of the sdk gas meter It is a copy of an interface declaration from cosmos-sdk https://github.com/cosmos/cosmos-sdk/blob/18890a225b46260a9adc587be6fa1cc2aff101cd/store/types/gas.go#L34
type GasReport ¶ added in v1.4.0
func EmptyGasReport ¶ added in v1.4.0
type GoAPI ¶ added in v1.2.0
type GoAPI struct { HumanAddress HumanizeAddress CanonicalAddress CanonicalizeAddress }
type GovMsg ¶ added in v0.15.0
type GovMsg struct { // This maps directly to [MsgVote](https://github.com/cosmos/cosmos-sdk/blob/v0.42.5/proto/cosmos/gov/v1beta1/tx.proto#L46-L56) in the Cosmos SDK with voter set to the contract address. Vote *VoteMsg `json:"vote,omitempty"` /// This maps directly to [MsgVoteWeighted](https://github.com/cosmos/cosmos-sdk/blob/v0.45.8/proto/cosmos/gov/v1beta1/tx.proto#L66-L78) in the Cosmos SDK with voter set to the contract address. VoteWeighted *VoteWeightedMsg `json:"vote_weighted,omitempty"` }
type HumanAddress ¶
type HumanAddress = string
HumanAddress is a printable (typically bech32 encoded) address string. Just use it as a label for developers.
type IBC3ChannelOpenResponse ¶ added in v1.0.0
type IBC3ChannelOpenResponse struct {
Version string `json:"version"`
}
IBC3ChannelOpenResponse is version negotiation data for the handshake
type IBCAcknowledgement ¶ added in v0.14.0
type IBCAcknowledgement struct {
Data []byte `json:"data"`
}
type IBCBasicResponse ¶ added in v0.14.0
type IBCBasicResponse struct { // Messages comes directly from the contract and is its request for action. // If the ReplyOn value matches the result, the runtime will invoke this // contract's `reply` entry point after execution. Otherwise, this is all // "fire and forget". Messages []SubMsg `json:"messages"` // attributes for a log event to return over abci interface Attributes []EventAttribute `json:"attributes"` // custom events (separate from the main one that contains the attributes // above) Events []Event `json:"events"` }
IBCBasicResponse defines the return value on a successful processing. This is the counterpart of [IbcBasicResponse](https://github.com/CosmWasm/cosmwasm/blob/v0.14.0-beta1/packages/std/src/ibc.rs#L194-L216).
type IBCBasicResult ¶ added in v0.14.0
type IBCBasicResult struct { Ok *IBCBasicResponse `json:"ok,omitempty"` Err string `json:"error,omitempty"` }
This is the return value for the majority of the ibc handlers. That are able to dispatch messages / events on their own, but have no meaningful return value to the calling code.
Callbacks that have return values (like ibc_receive_packet) or that cannot redispatch messages (like ibc_channel_open) will use other Response types
type IBCChannel ¶ added in v0.14.0
type IBCChannel struct { Endpoint IBCEndpoint `json:"endpoint"` CounterpartyEndpoint IBCEndpoint `json:"counterparty_endpoint"` Order IBCOrder `json:"order"` Version string `json:"version"` ConnectionID string `json:"connection_id"` }
type IBCChannelCloseMsg ¶ added in v0.16.0
type IBCChannelCloseMsg struct { CloseInit *IBCCloseInit `json:"close_init,omitempty"` CloseConfirm *IBCCloseConfirm `json:"close_confirm,omitempty"` }
func (IBCChannelCloseMsg) GetChannel ¶ added in v0.16.0
func (msg IBCChannelCloseMsg) GetChannel() IBCChannel
GetChannel returns the IBCChannel in this message.
type IBCChannelConnectMsg ¶ added in v0.16.0
type IBCChannelConnectMsg struct { OpenAck *IBCOpenAck `json:"open_ack,omitempty"` OpenConfirm *IBCOpenConfirm `json:"open_confirm,omitempty"` }
func (IBCChannelConnectMsg) GetChannel ¶ added in v0.16.0
func (msg IBCChannelConnectMsg) GetChannel() IBCChannel
GetChannel returns the IBCChannel in this message.
func (IBCChannelConnectMsg) GetCounterVersion ¶ added in v0.16.0
func (msg IBCChannelConnectMsg) GetCounterVersion() (ver string, ok bool)
GetCounterVersion checks if the message has a counterparty version and returns it if so.
type IBCChannelOpenMsg ¶ added in v0.16.0
type IBCChannelOpenMsg struct { OpenInit *IBCOpenInit `json:"open_init,omitempty"` OpenTry *IBCOpenTry `json:"open_try,omitempty"` }
func (IBCChannelOpenMsg) GetChannel ¶ added in v0.16.0
func (msg IBCChannelOpenMsg) GetChannel() IBCChannel
GetChannel returns the IBCChannel in this message.
func (IBCChannelOpenMsg) GetCounterVersion ¶ added in v0.16.0
func (msg IBCChannelOpenMsg) GetCounterVersion() (ver string, ok bool)
GetCounterVersion checks if the message has a counterparty version and returns it if so.
type IBCChannelOpenResult ¶ added in v0.14.0
type IBCChannelOpenResult struct { Ok *IBC3ChannelOpenResponse `json:"ok,omitempty"` Err string `json:"error,omitempty"` }
IBCChannelOpenResult is the raw response from the ibc_channel_open call. This is mirrors Rust's ContractResult<()>. Check if Err == "" to see if this is success On Success, IBCV3ChannelOpenResponse *may* be set if the contract is ibcv3 compatible and wishes to define a custom version in the handshake.
type IBCChannels ¶ added in v0.14.0
type IBCChannels []IBCChannel
IBCChannels must JSON encode empty array as [] (not null) for consistency with Rust parser
func (IBCChannels) MarshalJSON ¶ added in v0.14.0
func (e IBCChannels) MarshalJSON() ([]byte, error)
MarshalJSON ensures that we get [] for empty arrays
func (*IBCChannels) UnmarshalJSON ¶ added in v0.14.0
func (e *IBCChannels) UnmarshalJSON(data []byte) error
UnmarshalJSON ensures that we get [] for empty arrays
type IBCCloseConfirm ¶ added in v0.16.0
type IBCCloseConfirm struct {
Channel IBCChannel `json:"channel"`
}
func (*IBCCloseConfirm) ToMsg ¶ added in v0.16.0
func (m *IBCCloseConfirm) ToMsg() IBCChannelCloseMsg
type IBCCloseInit ¶ added in v0.16.0
type IBCCloseInit struct {
Channel IBCChannel `json:"channel"`
}
func (*IBCCloseInit) ToMsg ¶ added in v0.16.0
func (m *IBCCloseInit) ToMsg() IBCChannelCloseMsg
type IBCEndpoint ¶ added in v0.14.0
type IBCEndpoints ¶ added in v0.14.0
type IBCEndpoints []IBCEndpoint
IBCEndpoints must JSON encode empty array as [] (not null) for consistency with Rust parser
func (IBCEndpoints) MarshalJSON ¶ added in v0.14.0
func (e IBCEndpoints) MarshalJSON() ([]byte, error)
MarshalJSON ensures that we get [] for empty arrays
func (*IBCEndpoints) UnmarshalJSON ¶ added in v0.14.0
func (e *IBCEndpoints) UnmarshalJSON(data []byte) error
UnmarshalJSON ensures that we get [] for empty arrays
type IBCMsg ¶ added in v0.14.0
type IBCMsg struct { Transfer *TransferMsg `json:"transfer,omitempty"` SendPacket *SendPacketMsg `json:"send_packet,omitempty"` CloseChannel *CloseChannelMsg `json:"close_channel,omitempty"` }
type IBCOpenAck ¶ added in v0.16.0
type IBCOpenAck struct { Channel IBCChannel `json:"channel"` CounterpartyVersion string `json:"counterparty_version"` }
func (*IBCOpenAck) ToMsg ¶ added in v0.16.0
func (m *IBCOpenAck) ToMsg() IBCChannelConnectMsg
type IBCOpenConfirm ¶ added in v0.16.0
type IBCOpenConfirm struct {
Channel IBCChannel `json:"channel"`
}
func (*IBCOpenConfirm) ToMsg ¶ added in v0.16.0
func (m *IBCOpenConfirm) ToMsg() IBCChannelConnectMsg
type IBCOpenInit ¶ added in v0.16.0
type IBCOpenInit struct {
Channel IBCChannel `json:"channel"`
}
func (*IBCOpenInit) ToMsg ¶ added in v0.16.0
func (m *IBCOpenInit) ToMsg() IBCChannelOpenMsg
type IBCOpenTry ¶ added in v0.16.0
type IBCOpenTry struct { Channel IBCChannel `json:"channel"` CounterpartyVersion string `json:"counterparty_version"` }
func (*IBCOpenTry) ToMsg ¶ added in v0.16.0
func (m *IBCOpenTry) ToMsg() IBCChannelOpenMsg
type IBCOrder ¶ added in v0.14.0
type IBCOrder = string
TODO: test what the sdk Order.String() represents and how to parse back Proto files: https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/proto/ibc/core/channel/v1/channel.proto#L69-L80 Auto-gen code: https://github.com/cosmos/cosmos-sdk/blob/v0.40.0/x/ibc/core/04-channel/types/channel.pb.go#L70-L101
type IBCPacket ¶ added in v0.14.0
type IBCPacket struct { Data []byte `json:"data"` Src IBCEndpoint `json:"src"` Dest IBCEndpoint `json:"dest"` Sequence uint64 `json:"sequence"` Timeout IBCTimeout `json:"timeout"` }
type IBCPacketAckMsg ¶ added in v0.16.0
type IBCPacketAckMsg struct { Acknowledgement IBCAcknowledgement `json:"acknowledgement"` OriginalPacket IBCPacket `json:"original_packet"` Relayer string `json:"relayer"` }
type IBCPacketReceiveMsg ¶ added in v0.16.0
type IBCPacketTimeoutMsg ¶ added in v0.16.0
type IBCQuery ¶ added in v0.14.0
type IBCQuery struct { PortID *PortIDQuery `json:"port_id,omitempty"` ListChannels *ListChannelsQuery `json:"list_channels,omitempty"` Channel *ChannelQuery `json:"channel,omitempty"` }
IBCQuery defines a query request from the contract into the chain. This is the counterpart of [IbcQuery](https://github.com/CosmWasm/cosmwasm/blob/v0.14.0-beta1/packages/std/src/ibc.rs#L61-L83).
type IBCReceiveResponse ¶ added in v0.14.0
type IBCReceiveResponse struct { // binary encoded data to be returned to calling chain as the acknowledgement Acknowledgement []byte `json:"acknowledgement"` // Messages comes directly from the contract and is it's request for action. // If the ReplyOn value matches the result, the runtime will invoke this // contract's `reply` entry point after execution. Otherwise, this is all // "fire and forget". Messages []SubMsg `json:"messages"` Attributes []EventAttribute `json:"attributes"` // custom events (separate from the main one that contains the attributes // above) Events []Event `json:"events"` }
IBCReceiveResponse defines the return value on packet response processing. This "success" case should be returned even in application-level errors, Where the Acknowledgement bytes contain an encoded error message to be returned to the calling chain. (Returning IBCReceiveResult::Err will abort processing of this packet and not inform the calling chain). This is the counterpart of (IbcReceiveResponse)(https://github.com/CosmWasm/cosmwasm/blob/v0.15.0/packages/std/src/ibc.rs#L247-L267).
type IBCReceiveResult ¶ added in v0.14.0
type IBCReceiveResult struct { Ok *IBCReceiveResponse `json:"ok,omitempty"` Err string `json:"error,omitempty"` }
This is the return value for the majority of the ibc handlers. That are able to dispatch messages / events on their own, but have no meaningful return value to the calling code.
Callbacks that have return values (like receive_packet) or that cannot redispatch messages (like the handshake callbacks) will use other Response types
type IBCTimeout ¶ added in v0.14.0
type IBCTimeout struct { Block *IBCTimeoutBlock `json:"block"` // Nanoseconds since UNIX epoch Timestamp uint64 `json:"timestamp,string,omitempty"` }
IBCTimeout is the timeout for an IBC packet. At least one of block and timestamp is required.
type IBCTimeoutBlock ¶ added in v0.14.0
type IBCTimeoutBlock struct { // the version that the client is currently on // (eg. after reseting the chain this could increment 1 as height drops to 0) Revision uint64 `json:"revision"` // block height after which the packet times out. // the height within the given revision Height uint64 `json:"height"` }
IBCTimeoutBlock Height is a monotonically increasing data type that can be compared against another Height for the purposes of updating and freezing clients. Ordering is (revision_number, timeout_height)
func (IBCTimeoutBlock) IsZero ¶ added in v0.14.0
func (t IBCTimeoutBlock) IsZero() bool
type Instantiate2Msg ¶ added in v1.2.0
type Instantiate2Msg struct { // CodeID is the reference to the wasm byte code as used by the Cosmos-SDK CodeID uint64 `json:"code_id"` // Msg is assumed to be a json-encoded message, which will be passed directly // as `userMsg` when calling `Instantiate` on a new contract with the above-defined CodeID Msg []byte `json:"msg"` // Send is an optional amount of coins this contract sends to the called contract Funds Coins `json:"funds"` // Label is optional metadata to be stored with a contract instance. Label string `json:"label"` // Admin (optional) may be set here to allow future migrations from this address Admin string `json:"admin,omitempty"` Salt []byte `json:"salt"` }
Instantiate2Msg will create a new contract instance from a previously uploaded CodeID using the predictable address derivation.
type InstantiateMsg ¶
type InstantiateMsg struct { // CodeID is the reference to the wasm byte code as used by the Cosmos-SDK CodeID uint64 `json:"code_id"` // Msg is assumed to be a json-encoded message, which will be passed directly // as `userMsg` when calling `Instantiate` on a new contract with the above-defined CodeID Msg []byte `json:"msg"` // Send is an optional amount of coins this contract sends to the called contract Funds Coins `json:"funds"` // Label is optional metadata to be stored with a contract instance. Label string `json:"label"` // Admin (optional) may be set here to allow future migrations from this address Admin string `json:"admin,omitempty"` }
InstantiateMsg will create a new contract instance from a previously uploaded CodeID. This allows one contract to spawn "sub-contracts".
type InvalidRequest ¶
func (InvalidRequest) Error ¶
func (e InvalidRequest) Error() string
type InvalidResponse ¶
func (InvalidResponse) Error ¶
func (e InvalidResponse) Error() string
type Iterator ¶ added in v1.2.1
type Iterator interface { // Domain returns the start (inclusive) and end (exclusive) limits of the iterator. // CONTRACT: start, end readonly []byte Domain() (start []byte, end []byte) // Valid returns whether the current iterator is valid. Once invalid, the Iterator remains // invalid forever. Valid() bool // Next moves the iterator to the next key in the database, as defined by order of iteration. // If Valid returns false, this method will panic. Next() // Key returns the key at the current position. Panics if the iterator is invalid. // CONTRACT: key readonly []byte Key() (key []byte) // Value returns the value at the current position. Panics if the iterator is invalid. // CONTRACT: value readonly []byte Value() (value []byte) // Error returns the last error encountered by the iterator, if any. Error() error // Close closes the iterator, releasing any allocated resources. Close() error }
Iterator represents an iterator over a domain of keys. Callers must call Close when done. No writes can happen to a domain while there exists an iterator over it, some backends may take out database locks to ensure this will not happen.
Callers must make sure the iterator is valid before calling any methods on it, otherwise these methods will panic. This is in part caused by most backend databases using this convention.
As with DB, keys and values should be considered read-only, and must be copied before they are modified.
Typical usage:
var itr Iterator = ... defer itr.Close()
for ; itr.Valid(); itr.Next() { k, v := itr.Key(); itr.Value() ... } if err := itr.Error(); err != nil { ... }
Copied from https://github.com/tendermint/tm-db/blob/v0.6.7/types.go#L121
type KVStore ¶ added in v1.2.0
type KVStore interface { Get(key []byte) []byte Set(key, value []byte) Delete(key []byte) // Iterator over a domain of keys in ascending order. End is exclusive. // Start must be less than end, or the Iterator is invalid. // Iterator must be closed by caller. // To iterate over entire domain, use store.Iterator(nil, nil) Iterator(start, end []byte) Iterator // ReverseIterator iterator over a domain of keys in descending order. End is exclusive. // Start must be less than end, or the Iterator is invalid. // Iterator must be closed by caller. ReverseIterator(start, end []byte) Iterator }
KVStore copies a subset of types from cosmos-sdk We may wish to make this more generic sometime in the future, but not now https://github.com/cosmos/cosmos-sdk/blob/bef3689245bab591d7d169abd6bea52db97a70c7/store/types/store.go#L170
type ListChannelsQuery ¶ added in v0.14.0
type ListChannelsQuery struct { // optional argument PortID string `json:"port_id,omitempty"` }
ListChannelsQuery is an IBCQuery that lists all channels that are bound to a given port. If `PortID` is unset, this list all channels bound to the contract's port. Returns a `ListChannelsResponse`. This is the counterpart of [IbcQuery::ListChannels](https://github.com/CosmWasm/cosmwasm/blob/v0.14.0-beta1/packages/std/src/ibc.rs#L70-L73).
type ListChannelsResponse ¶ added in v0.14.0
type ListChannelsResponse struct {
Channels IBCChannels `json:"channels"`
}
type MessageInfo ¶
type MessageInfo struct { // Bech32 encoded sdk.AccAddress executing the contract Sender HumanAddress `json:"sender"` // Amount of funds send to the contract along with this message Funds Coins `json:"funds"` }
type Metrics ¶ added in v0.14.0
type Metrics struct { HitsPinnedMemoryCache uint32 HitsMemoryCache uint32 HitsFsCache uint32 Misses uint32 ElementsPinnedMemoryCache uint64 ElementsMemoryCache uint64 // Cumulative size of all elements in pinned memory cache (in bytes) SizePinnedMemoryCache uint64 // Cumulative size of all elements in memory cache (in bytes) SizeMemoryCache uint64 }
type MigrateMsg ¶ added in v0.14.0
type MigrateMsg struct { // ContractAddr is the sdk.AccAddress of the target contract, to migrate. ContractAddr string `json:"contract_addr"` // NewCodeID is the reference to the wasm byte code for the new logic to migrate to NewCodeID uint64 `json:"new_code_id"` // Msg is assumed to be a json-encoded message, which will be passed directly // as `userMsg` when calling `Migrate` on the above-defined contract Msg []byte `json:"msg"` }
MigrateMsg will migrate an existing contract from it's current wasm code (logic) to another previously uploaded wasm code. It requires the calling contract to be listed as "admin" of the contract to be migrated.
type NoSuchCode ¶ added in v1.2.0
type NoSuchCode struct {
CodeID uint64 `json:"code_id,omitempty"`
}
func (NoSuchCode) Error ¶ added in v1.2.0
func (e NoSuchCode) Error() string
type NoSuchContract ¶
type NoSuchContract struct {
Addr string `json:"addr,omitempty"`
}
func (NoSuchContract) Error ¶
func (e NoSuchContract) Error() string
type OutOfGasError ¶
type OutOfGasError struct{}
func (OutOfGasError) Error ¶
func (o OutOfGasError) Error() string
type PageRequest ¶ added in v1.3.0
type PageRequest struct { // Key is a value returned in PageResponse.next_key to begin // querying the next page most efficiently. Only one of offset or key // should be set. Key []byte `json:"key"` // Limit is the total number of results to be returned in the result page. // If left empty it will default to a value to be set by each app. Limit uint32 `json:"limit"` // Reverse is set to true if results are to be returned in the descending order. Reverse bool `json:"reverse"` }
Simplified version of the cosmos-sdk PageRequest type
type PortIDQuery ¶ added in v0.14.0
type PortIDQuery struct{}
type PortIDResponse ¶ added in v0.14.0
type PortIDResponse struct {
PortID string `json:"port_id"`
}
type Querier ¶
type Querier interface { // Query takes a query request, performs the query and returns the response. // It takes a gas limit measured in [CosmWasm gas] (aka. wasmvm gas) to ensure // the query does not consume more gas than the contract execution has left. // // [CosmWasm gas]: https://github.com/CosmWasm/cosmwasm/blob/v1.3.1/docs/GAS.md Query(request QueryRequest, gasLimit uint64) ([]byte, error) // GasConsumed returns the gas that was consumed by the querier during its entire // lifetime or by the context in which it was executed in. The absolute gas values // must not be used directly as it is undefined what is included in this value. Instead // wasmvm will call GasConsumed before and after the query and use the difference // as the query's gas usage. // Like the gas limit above, this is measured in [CosmWasm gas] (aka. wasmvm gas). // // [CosmWasm gas]: https://github.com/CosmWasm/cosmwasm/blob/v1.3.1/docs/GAS.md GasConsumed() uint64 }
Querier is a thing that allows the contract to query information from the environment it is executed in. This is typically used to query a different contract or another module in a Cosmos blockchain.
Queries are performed synchronously, i.e. the original caller is blocked until the query response is returned.
type QuerierResult ¶
type QuerierResult struct { Ok *QueryResponse `json:"ok,omitempty"` Err *SystemError `json:"error,omitempty"` }
This is a 2-level result
func RustQuery ¶
func RustQuery(querier Querier, binRequest []byte, gasLimit uint64) QuerierResult
this is a thin wrapper around the desired Go API to give us types closer to Rust FFI
func ToQuerierResult ¶
func ToQuerierResult(response []byte, err error) QuerierResult
type QueryRequest ¶
type QueryRequest struct { Bank *BankQuery `json:"bank,omitempty"` Custom json.RawMessage `json:"custom,omitempty"` IBC *IBCQuery `json:"ibc,omitempty"` Staking *StakingQuery `json:"staking,omitempty"` Distribution *DistributionQuery `json:"distribution,omitempty"` Stargate *StargateQuery `json:"stargate,omitempty"` Wasm *WasmQuery `json:"wasm,omitempty"` }
QueryRequest is an rust enum and only (exactly) one of the fields should be set Should we do a cleaner approach in Go? (type/data?)
type QueryResponse ¶
type QueryResponse queryResponseImpl
QueryResponse is the Go counterpart of `ContractResult<Binary>`. The JSON annotations are used for deserializing directly. There is a custom serializer below.
func (QueryResponse) MarshalJSON ¶
func (q QueryResponse) MarshalJSON() ([]byte, error)
A custom serializer that allows us to map QueryResponse instances to the Rust enum `ContractResult<Binary>`
type RawQuery ¶
type RawQuery struct { // Bech32 encoded sdk.AccAddress of the contract ContractAddr string `json:"contract_addr"` Key []byte `json:"key"` }
RawQuery response is raw bytes ([]byte)
type RedelegateMsg ¶
type Reply ¶ added in v0.14.0
type Reply struct { ID uint64 `json:"id"` Result SubMsgResult `json:"result"` }
type Response ¶ added in v0.14.0
type Response struct { // Messages comes directly from the contract and is its request for action. // If the ReplyOn value matches the result, the runtime will invoke this // contract's `reply` entry point after execution. Otherwise, this is all // "fire and forget". Messages []SubMsg `json:"messages"` // base64-encoded bytes to return as ABCI.Data field Data []byte `json:"data"` // attributes for a log event to return over abci interface Attributes []EventAttribute `json:"attributes"` // custom events (separate from the main one that contains the attributes // above) Events []Event `json:"events"` }
Response defines the return value on a successful instantiate/execute/migrate. This is the counterpart of Response(https://github.com/CosmWasm/cosmwasm/blob/v0.14.0-beta1/packages/std/src/results/response.rs#L73-L88)
type SendMsg ¶
SendMsg contains instructions for a Cosmos-SDK/SendMsg It has a fixed interface here and should be converted into the proper SDK format before dispatching
type SendPacketMsg ¶ added in v0.14.0
type SendPacketMsg struct { ChannelID string `json:"channel_id"` Data []byte `json:"data"` Timeout IBCTimeout `json:"timeout"` }
type SetWithdrawAddressMsg ¶ added in v0.14.0
type SetWithdrawAddressMsg struct { // Address contains the `delegator_address` of a MsgSetWithdrawAddress Address string `json:"address"` }
SetWithdrawAddressMsg is translated to a [MsgSetWithdrawAddress](https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#L29-L37). `delegator_address` is automatically filled with the current contract's address.
type SmartQuery ¶
type SmartQuery struct { // Bech32 encoded sdk.AccAddress of the contract ContractAddr string `json:"contract_addr"` Msg []byte `json:"msg"` }
SmartQuery response is raw bytes ([]byte)
type StakingMsg ¶
type StakingMsg struct { Delegate *DelegateMsg `json:"delegate,omitempty"` Undelegate *UndelegateMsg `json:"undelegate,omitempty"` Redelegate *RedelegateMsg `json:"redelegate,omitempty"` }
type StakingQuery ¶
type StakingQuery struct { AllValidators *AllValidatorsQuery `json:"all_validators,omitempty"` Validator *ValidatorQuery `json:"validator,omitempty"` AllDelegations *AllDelegationsQuery `json:"all_delegations,omitempty"` Delegation *DelegationQuery `json:"delegation,omitempty"` BondedDenom *struct{} `json:"bonded_denom,omitempty"` }
type StargateMsg ¶ added in v0.14.0
StargateMsg is encoded the same way as a protobof [Any](https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto). This is the same structure as messages in `TxBody` from [ADR-020](https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-020-protobuf-transaction-encoding.md)
type StargateQuery ¶ added in v0.14.0
type StargateQuery struct { // this is the fully qualified service path used for routing, // eg. custom/cosmos_sdk.x.bank.v1.Query/QueryBalance Path string `json:"path"` // this is the expected protobuf message type (not any), binary encoded Data []byte `json:"data"` }
StargateQuery is encoded the same way as abci_query, with path and protobuf encoded request data. The format is defined in [ADR-21](https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-021-protobuf-query-encoding.md). The response is protobuf encoded data directly without a JSON response wrapper. The caller is responsible for compiling the proper protobuf definitions for both requests and responses.
type SubMsg ¶ added in v0.14.0
type SubMsg struct { ID uint64 `json:"id"` Msg CosmosMsg `json:"msg"` GasLimit *uint64 `json:"gas_limit,omitempty"` ReplyOn replyOn `json:"reply_on"` }
SubMsg wraps a CosmosMsg with some metadata for handling replies (ID) and optionally limiting the gas usage (GasLimit)
type SubMsgResponse ¶ added in v1.0.0
SubMsgResponse contains information we get back from a successful sub message execution, with full Cosmos SDK events. This mirrors Rust's SubMsgResponse.
type SubMsgResult ¶ added in v1.0.0
type SubMsgResult struct { Ok *SubMsgResponse `json:"ok,omitempty"` Err string `json:"error,omitempty"` }
SubMsgResult is the raw response we return from wasmd after executing a SubMsg. This mirrors Rust's SubMsgResult.
type SubcallResponse
deprecated
added in
v0.14.0
type SubcallResponse = SubMsgResponse
Deprecated: Renamed to SubMsgResponse
type SubcallResult
deprecated
added in
v0.14.0
type SubcallResult = SubMsgResult
Deprecated: Renamed to SubMsgResult
type SupplyQuery ¶ added in v1.1.0
type SupplyQuery struct {
Denom string `json:"denom"`
}
type SupplyResponse ¶ added in v1.1.0
type SupplyResponse struct {
Amount Coin `json:"amount"`
}
SupplyResponse is the expected response to SupplyQuery
type SystemError ¶
type SystemError struct { InvalidRequest *InvalidRequest `json:"invalid_request,omitempty"` InvalidResponse *InvalidResponse `json:"invalid_response,omitempty"` NoSuchContract *NoSuchContract `json:"no_such_contract,omitempty"` NoSuchCode *NoSuchCode `json:"no_such_code,omitempty"` Unknown *Unknown `json:"unknown,omitempty"` UnsupportedRequest *UnsupportedRequest `json:"unsupported_request,omitempty"` }
SystemError captures all errors returned from the Rust code as SystemError. Exactly one of the fields should be set.
func ToSystemError ¶
func ToSystemError(err error) *SystemError
ToSystemError will try to convert the given error to an SystemError. This is important to returning any Go error back to Rust.
If it is already StdError, return self. If it is an error, which could be a sub-field of StdError, embed it. If it is anything else, **return nil**
This may return nil on an unknown error, whereas ToStdError will always create a valid error type.
func (SystemError) Error ¶
func (a SystemError) Error() string
type TransactionInfo ¶ added in v1.0.0
type TransactionInfo struct { // Position of this transaction in the block. // The first transaction has index 0 // // Along with BlockInfo.Height, this allows you to get a unique // transaction identifier for the chain for future queries Index uint32 `json:"index"` }
type TransferMsg ¶ added in v0.14.0
type TransferMsg struct { ChannelID string `json:"channel_id"` ToAddress string `json:"to_address"` Amount Coin `json:"amount"` Timeout IBCTimeout `json:"timeout"` }
type UndelegateMsg ¶
type UnsupportedRequest ¶
type UnsupportedRequest struct {
Kind string `json:"kind,omitempty"`
}
func (UnsupportedRequest) Error ¶
func (e UnsupportedRequest) Error() string
type UpdateAdminMsg ¶ added in v0.14.0
type UpdateAdminMsg struct { // ContractAddr is the sdk.AccAddress of the target contract. ContractAddr string `json:"contract_addr"` // Admin is the sdk.AccAddress of the new admin. Admin string `json:"admin"` }
UpdateAdminMsg is the Go counterpart of WasmMsg::UpdateAdmin (https://github.com/CosmWasm/cosmwasm/blob/v0.14.0-beta5/packages/std/src/results/cosmos_msg.rs#L158-L160).
type ValidatorQuery ¶ added in v0.14.0
type ValidatorQuery struct { /// Address is the validator's address (e.g. cosmosvaloper1...) Address string `json:"address"` }
type ValidatorResponse ¶ added in v0.14.0
type ValidatorResponse struct {
Validator *Validator `json:"validator"` // serializes to `null` when unset which matches Rust's Option::None serialization
}
ValidatorResponse is the expected response to ValidatorQuery
type Validators ¶
type Validators []Validator
Validators must JSON encode empty array as []
func (Validators) MarshalJSON ¶
func (v Validators) MarshalJSON() ([]byte, error)
MarshalJSON ensures that we get [] for empty arrays
func (*Validators) UnmarshalJSON ¶
func (v *Validators) UnmarshalJSON(data []byte) error
UnmarshalJSON ensures that we get [] for empty arrays
type VoteMsg ¶ added in v0.15.0
type VoteMsg struct { ProposalId uint64 `json:"proposal_id"` // Vote is the vote option. // // This should be called "option" for consistency with Cosmos SDK. Sorry for that. // See <https://github.com/CosmWasm/cosmwasm/issues/1571>. Vote voteOption `json:"vote"` }
type VoteWeightedMsg ¶ added in v1.2.0
type VoteWeightedMsg struct { ProposalId uint64 `json:"proposal_id"` Options []WeightedVoteOption `json:"options"` }
type WasmMsg ¶
type WasmMsg struct { Execute *ExecuteMsg `json:"execute,omitempty"` Instantiate *InstantiateMsg `json:"instantiate,omitempty"` Instantiate2 *Instantiate2Msg `json:"instantiate2,omitempty"` Migrate *MigrateMsg `json:"migrate,omitempty"` UpdateAdmin *UpdateAdminMsg `json:"update_admin,omitempty"` ClearAdmin *ClearAdminMsg `json:"clear_admin,omitempty"` }
type WasmQuery ¶
type WasmQuery struct { Smart *SmartQuery `json:"smart,omitempty"` Raw *RawQuery `json:"raw,omitempty"` ContractInfo *ContractInfoQuery `json:"contract_info,omitempty"` CodeInfo *CodeInfoQuery `json:"code_info,omitempty"` }
type WeightedVoteOption ¶ added in v1.2.0
type WeightedVoteOption struct { Option voteOption `json:"option"` // Weight is a Decimal string, e.g. "0.25" for 25% Weight string `json:"weight"` }
type WithdrawDelegatorRewardMsg ¶ added in v0.14.0
type WithdrawDelegatorRewardMsg struct { // Validator contains `validator_address` of a MsgWithdrawDelegatorReward Validator string `json:"validator"` }
WithdrawDelegatorRewardMsg is translated to a [MsgWithdrawDelegatorReward](https://github.com/cosmos/cosmos-sdk/blob/v0.42.4/proto/cosmos/distribution/v1beta1/tx.proto#L42-L50). `delegator_address` is automatically filled with the current contract's address.