Cargo Features

[dependencies]
prov-cosmwasm-vm = { version = "1.0.0-provbeta3", default-features = false, features = ["backtraces", "iterator", "staking", "stargate", "cranelift"] }
default = iterator, staking

These default features are set whenever prov-cosmwasm-vm is added without default-features = false somewhere in the dependency tree.

backtraces

backtraces provides much better context at runtime errors (in non-wasm code)
at the cost of a bit of code size and performance.
This feature requires Rust nightly because it depends on the unstable backtrace feature.

iterator default

iterator allows us to iterate over all DB items in a given range this must be enabled to support cosmwasm contracts compiled with the 'iterator' feature optional as some merkle stores (like tries) don't support this given Ethereum 1.0, 2.0, Substrate, and other major projects use Tries we keep this optional, to allow possible future integration (or different Cosmos Backends)

Enables iterator of prov-cosmwasm-std

Uses the path when built locally; uses the given version from crates.io when published

Affects backend::Storage.scan, backend::Storage.next, imports::do_db_scan, imports::do_db_next, memory::maybe_read_region

staking default

Enables staking of prov-cosmwasm-std

stargate

this enables all stargate-related functionality, including the ibc entry points

Enables stargate of prov-cosmwasm-std

Affects calls::call_ibc_channel_open, calls::call_ibc_channel_connect, calls::call_ibc_channel_close, calls::call_ibc_packet_receive, calls::call_ibc_packet_ack, calls::call_ibc_packet_timeout, calls::call_ibc_channel_open_raw, calls::call_ibc_channel_connect_raw, calls::call_ibc_channel_close_raw, calls::call_ibc_packet_receive_raw, calls::call_ibc_packet_ack_raw, calls::call_ibc_packet_timeout_raw, calls::ibc_channel_open, calls::ibc_channel_connect, calls::ibc_channel_close, calls::ibc_packet_receive

cranelift

Use cranelift backend instead of singlepass. This is required for development on Windows.

Enables wasmer =2.2.0-rc1