Crate cw_multi_testsource · [−]
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 deployements before testing them on a live blockchain.
To understand the design of this module, please refer to
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.
Utility to build App in stages. If particular items wont be set, defaults would be used
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
We use it to allow calling into modules from another module in sudo mode. Things like gov proposals belong here.
Creates new default
Appimplementation working with customized exec and query messages. Outside of
Appimplementation to make type elision better.
Type alias for default build
Appto make its storing simpler in typical scenario
This is essential to create a custom app with custom handler. let mut app = BasicAppBuilder::<E, Q>::new_custom().with_custom(handler).build();