wasmbinding

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

README

CosmWasm support

This package allows for custom queries and custom messages sends from contract.

What is supported
  • Queries:
    • InterchainQueryResult - Get the result of a registered interchain query by query_id
    • InterchainAccountAddress - Get the interchain account address by owner_id and connection_id
    • RegisteredInterchainQueries - all set of registered interchain queries.
    • RegisteredInterchainQuery - registered interchain query with specified query_id
  • Messages:
    • RegisterInterchainAccount - register an interchain account
    • SubmitTx - submit a transaction for execution on a remote chain
    • RegisterInterchainQuery - register an interchain query
    • UpdateInterchainQuery - update an interchain query
    • RemoveInterchainQuery - remove an interchain query

Command line interface (CLI)

  • Commands
  qubed tx wasm -h
  • Query
  qubed q wasm -h

Tests

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ChangeAdmin

func ChangeAdmin(f *tokenfactorykeeper.Keeper, ctx sdk.Context, contractAddr sdk.AccAddress, changeAdmin *bindings.ChangeAdmin) error

ChangeAdmin is used with changeAdmin to validate changeAdmin messages and to dispatch.

func ConvertProtoToJSONMarshal

func ConvertProtoToJSONMarshal(protoResponseType codec.ProtoMarshaler, bz []byte, cdc codec.Codec) ([]byte, error)

ConvertProtoToJsonMarshal unmarshals the given bytes into a proto message and then marshals it to json. This is done so that clients calling stargate queries do not need to define their own proto unmarshalers, being able to use response directly by json marshalling, which is supported in cosmwasm.

func ConvertSdkCoinToWasmCoin

func ConvertSdkCoinToWasmCoin(coin sdk.Coin) wasmvmtypes.Coin

ConvertSdkCoinToWasmCoin converts a sdk type coin to a wasm vm type coin

func ConvertSdkCoinsToWasmCoins

func ConvertSdkCoinsToWasmCoins(coins []sdk.Coin) wasmvmtypes.Coins

ConvertSdkCoinsToWasmCoins converts sdk type coins to wasm vm type coins

func CustomMessageDecorator

func CustomMessageDecorator(bank *bankkeeper.BaseKeeper, tokenFactory *tokenfactorykeeper.Keeper) func(wasmkeeper.Messenger) wasmkeeper.Messenger

CustomMessageDecorator returns decorator for custom CosmWasm bindings messages

func CustomQuerier

func CustomQuerier(qp *QueryPlugin) func(ctx sdk.Context, request json.RawMessage) ([]byte, error)

CustomQuerier dispatches custom CosmWasm bindings queries.

func GetFullDenom

func GetFullDenom(contract string, subDenom string) (string, error)

GetFullDenom is a function, not method, so the message_plugin can use it

func PerformBurn

func PerformBurn(f *tokenfactorykeeper.Keeper, ctx sdk.Context, contractAddr sdk.AccAddress, burn *bindings.BurnTokens) error

PerformBurn performs token burning after validating tokenBurn message.

func PerformCreateDenom

func PerformCreateDenom(f *tokenfactorykeeper.Keeper, b *bankkeeper.BaseKeeper, ctx sdk.Context, contractAddr sdk.AccAddress, createDenom *bindings.CreateDenom) error

PerformCreateDenom is used with createDenom to create a token denom; validates the msgCreateDenom.

func PerformMint

func PerformMint(f *tokenfactorykeeper.Keeper, b *bankkeeper.BaseKeeper, ctx sdk.Context, contractAddr sdk.AccAddress, mint *bindings.MintTokens) error

PerformMint used with mintTokens to validate the mint message and mint through token factory.

func RegisterCustomPlugins

func RegisterCustomPlugins(
	bank *bankkeeper.BaseKeeper,
	tokenFactory *tokenfactorykeeper.Keeper,
	oracle *oraclekeeper.Keeper,
) []wasmkeeper.Option

Types

type CustomMessenger

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

func (*CustomMessenger) DispatchMsg

func (m *CustomMessenger) DispatchMsg(ctx sdk.Context, contractAddr sdk.AccAddress, contractIBCPortID string, msg wasmvmtypes.CosmosMsg) ([]sdk.Event, [][]byte, error)

DispatchMsg executes on the contractMsg.

type QueryPlugin

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

func NewQueryPlugin

func NewQueryPlugin(tfk *tokenfactorykeeper.Keeper, oracle *oraclekeeper.Keeper) *QueryPlugin

NewQueryPlugin returns a reference to a new QueryPlugin.

func (QueryPlugin) GetActualPrice

func (qp QueryPlugin) GetActualPrice(ctx sdk.Context, denom string) (*bindings.ExchangeRateQueryResponse, error)

GetActualProce is a query to get denom admin.

func (QueryPlugin) GetDenomAdmin

func (qp QueryPlugin) GetDenomAdmin(ctx sdk.Context, denom string) (*bindings.DenomAdminResponse, error)

GetDenomAdmin is a query to get denom admin.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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