Crate clone_cw_multi_test

Source
Expand description

Multitest is a design to simulate a blockchain environment in pure Rust. This allows us to run unit tests that involve contract -> contract, and contract -> bank interactions. This is not intended to be a full blockchain app but to simulate the Cosmos SDK x/wasm module close enough to gain confidence in multi-contract deployments before testing them on a live blockchain.

To understand the design of this module, please refer to ../DESIGN.md

Modules§

addons
MultiTest add-ons
custom_handler
error
queries
wasm_emulation

Structs§

AcceptingModule
App
Router is a persisted state. You can query this. Execution generally happens on the RouterCache, which then can be atomically committed or rolled back. We offer .execute() as a wrapper around cache, execute, commit/rollback process.
AppBuilder
Utility to build App in stages. When particular properties are not explicitly set, then default values are used.
AppResponse
BankKeeper
ContractData
Contract data includes information about contract, equivalent of ContractInfo in wasmd interface.
ContractWrapper
Wraps the exported functions from a contract and provides the normalized format Place T4 and E4 at the end, as we just want default placeholders for most contracts that don’t have sudo
DistributionKeeper
FailingModule
PrefixedStorage
ReadonlyPrefixedStorage
Router
SimpleAddressGenerator
Default contract address generator used in WasmKeeper.
StakeKeeper
StakingInfo
WasmKeeper
WasmSudo

Enums§

BankSudo
StakingSudo
SudoMsg
We use it to allow calling into modules from another module in sudo mode. Things like gov proposals belong here.

Constants§

LOCAL_RUST_CODE_OFFSET
LOCAL_WASM_CODE_OFFSET

Traits§

AddressGenerator
Common address generator interface.
Bank
ChecksumGenerator
Provides a custom interface for generating checksums for contract code. This is crucial for ensuring code integrity and is particularly useful in environments where code verification is a key part of the contract deployment process. This trait defines a method to calculate checksum based on the creator’s address and a unique code identifier.
Contract
Interface to call into a Contract.
CosmosRouter
Distribution
Executor
Gov
Ibc
Module
Module interface.
Staking
Wasm

Functions§

custom_app
Creates new default App implementation working with customized exec and query messages. Outside of App implementation to make type elision better.
next_block

Type Aliases§

BasicApp
Type alias for default build App to make its storing simpler in typical scenario
BasicAppBuilder
This is essential to create a custom app with custom module.
GovAcceptingModule
GovFailingModule
IbcAcceptingModule
IbcFailingModule