Modules

Macros

This macro generates the boilerplate required to call into the contract-specific logic from the entry-points to the Wasm module.

This macro is very similar to the create_entry_points macro, except it also requires the migrate method:

Structs

DelegationsResponse is data format returned from StakingRequest::AllDelegations query

Binary is a wrapper around Vec to add base64 de/serialization with serde. It also adds some helper methods to help encode inline.

BondedDenomResponse is data format returned from StakingRequest::BondedDenom query

Bonded Ratio response

A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0

Delegation is basic (cheap to query) data about a delegation

An empty struct that serves as a placeholder in different places, such as contracts that don’t set a custom message.

Holds all external dependencies of the contract. Designed to allow easy dependency injection at runtime. This cannot be copied or cloned since it would behave differently for mock storages and a bridge storage in the VM.

FullDelegation is all the info on the delegation, some (like accumulated_reward and can_redelegate) is expensive to query

Inflation response

ProposalsResponse is data format returned from GovQuery::Proposals query

Rewards response

UnbondingDelegationsResponse is data format returned from StakingRequest::UnbondingDelegations query

ValidatorsResponse is data format returned from StakingRequest::Validators query

Enums

Structured error type for init, handle and query.

SystemError is used for errors inside the VM and is API friendly (i.e. serializable).

Traits

Api are callbacks to system functions defined outside of the wasm modules. This is a trait to allow Mocks in the test code.

ReadonlyStorage is access to the contracts persistent data store

Functions

has_coins returns true if the list of coins has at least the required amount

A shorthand to produce a log attribute

A shorthand to produce a plaintext log attribute

Type Definitions

A short-hand alias for the two-level query result (1. accessing the contract, 2. executing query in the contract)

The return type for init, handle and query. Since the error type cannot be serialized to JSON, this is only available within the contract and its unit tests.