- Docs
- Smart Contracts
- Features
Features
All MultiTest
features are listed in the table below.
The Default implementation column indicates whether the feature has a default
implementation in MultiTest
that simulates the functionality of the real blockchain as closely
as possible. In cases where MultiTest
does not have a default implementation for the feature,
you can provide your own, using AppBuilder
's function listed in AppBuilder constructor
column. Names of MultiTest
feature flags required to enable specific functionality are shown
in the column Feature flag.
Feature | Default implementation | Feature flag | AppBuilder constructor | Functionality |
---|---|---|---|---|
Blocks | YES | with_block | Operations on blocks. | |
API | YES | with_api | Access to CosmWasm API. | |
Storage | YES | with_storage | Access to storage. | |
Bank | YES | with_bank | Interactions with Bank module. | |
Staking | YES | staking | with_staking | Interactions with Staking module. |
Distribution | YES | staking | with_distribution | Interactions with Distribution module. |
Governance | NO | with_gov | Interactions with Governance module. | |
Stargate | NO | stargate | with_stargate | Operations using Stargate and/or Any messages. |
Wasm | YES | with_wasm | Interactions with Wasm module. | |
Custom | NO | new_custom | Operations using custom module. | |
IBC | NO | stargate | with_ibc | Inter-blockchain communication operations. |
Feature flags summary
The following table summarizes feature flags supported by MultiTest
.
Feature flag | Description |
---|---|
backtrace | Enables backtrace feature in anyhow dependency. |
staking | Enables staking feature in cosmwasm-std dependency and enables staking/distribution functionality in MultiTest library. |
stargate | Enables stargate feature in cosmwasm-std dependency and enables stargate/IBC functionality in MultiTest library. |
cosmwasm_1_1 | Enables cosmwasm_1_1 feature in cosmwasm-std dependency. |
cosmwasm_1_2 | Enables cosmwasm_1_2 feature in cosmwasm-std dependency and additionally cosmwasm_1_1 feature in MultiTest library. |
cosmwasm_1_3 | Enables cosmwasm_1_3 feature in cosmwasm-std dependency and additionally cosmwasm_1_2 feature in MultiTest library. |
cosmwasm_1_4 | Enables cosmwasm_1_4 feature in cosmwasm-std dependency and additionally cosmwasm_1_3 feature in MultiTest library. |
cosmwasm_2_0 | Enables cosmwasm_2_0 feature in cosmwasm-std dependency and additionally cosmwasm_1_4 feature in MultiTest library. |
Starting point
Usually, a good starting point when using MultiTest
is the following dependency configuration
in Cargo.toml file:
[dependencies]cosmwasm-std = "2"[dev-dependencies]cw-multi-test = { version = "2", features = ["staking", "stargate", "cosmwasm_2_0"] }