Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
CosmWasm VM
This is an abstraction layer around the wasmer VM to expose just what we need to run cosmwasm contracts in a high-level manner. This is intended both for efficient writing of unit tests, as well as a public API to run contracts in eg. go-cosmwasm. As such it includes all glue code needed for typical actions, like fs caching.
Compatibility
A VM can support one or more contract-VM interface versions. The interface version is communicated by the contract via a Wasm import. This is the current compatibility list:
cosmwasm-vm | Supported interface versions | cosmwasm-std |
---|---|---|
0.13 | cosmwasm_vm_version_4 |
0.11-0.13 |
0.12 | cosmwasm_vm_version_4 |
0.11-0.13 |
0.11 | cosmwasm_vm_version_4 |
0.11-0.13 |
0.10 | cosmwasm_vm_version_3 |
0.10 |
0.9 | cosmwasm_vm_version_2 |
0.9 |
0.8 | cosmwasm_vm_version_1 |
0.8 |
Setup
There are demo files in testdata/*.wasm
. Those are compiled and optimized
versions of
contracts/hackatom
and
contracts/staking
run through rust-optimizer.
To rebuild the test contracts, go to the repo root and do
&&
Testing
By default, this repository is built and tested with the singlepass backend. You
can enable the cranelift
feature to override the default backend with
Cranelift
Benchmarking
Using Singlepass:
cd packages/vm
cargo bench --no-default-features
Using Cranelift:
cd packages/vm
cargo bench --no-default-features --features cranelift
License
This package is part of the cosmwasm repository, licensed under the Apache License 2.0 (see NOTICE and LICENSE).