Cargo Features
[dependencies]
jk-cosmwasm-std = { version = "0.16.2", default-features = false, features = ["iterator", "staking", "backtraces", "stargate"] }
- default = iterator
-
The
iterator
feature is set by default wheneverjk-cosmwasm-std
is added without
somewhere in the dependency tree.default-features = false - iterator default
-
iterator allows us to iterate over all DB items in a given range 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)
Affects
memory::get_optional_region_address
,traits::Storage.range
… - staking
-
staking exposes bindings to a required staking moudle in the runtime, via new CosmosMsg types, and new QueryRequest types. This should only be enabled on contracts that require these types, so other contracts can be used on systems with eg. PoA consensus
Affects
mock::StakingQuerier
,cosmos_msg::StakingMsg
,cosmos_msg::DistributionMsg
… - 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. - stargate
-
stargate enables stargate-dependent messages and queries, like raw protobuf messages as well as ibc-related functionality
Affects
mock::mock_ibc_channel
,mock::mock_ibc_channel_open_init
,mock::mock_ibc_channel_open_try
,mock::mock_ibc_channel_connect_ack
,mock::mock_ibc_channel_connect_confirm
,mock::mock_ibc_channel_close_init
,mock::mock_ibc_channel_close_confirm
,mock::mock_ibc_packet_recv
,mock::mock_ibc_packet_ack
,mock::mock_ibc_packet_timeout
,cosmos_msg::GovMsg
,cosmos_msg::VoteOption
…