cosmwasm-vm 0.16.0-rc5

VM bindings to run cosmwams contracts
Documentation
[package]
name = "cosmwasm-vm"
version = "0.16.0-rc5"
authors = ["Ethan Frey <ethanfrey@users.noreply.github.com>"]
edition = "2018"
description = "VM bindings to run cosmwams contracts"
repository = "https://github.com/CosmWasm/cosmwasm/tree/main/packages/vm"
license = "Apache-2.0"

[features]
default = ["staking", "iterator"]
# 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.
backtraces = []
# 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)
iterator = ["cosmwasm-std/iterator"]
staking = ["cosmwasm-std/staking"]
# this enables all stargate-related functionality, including the ibc entry points
stargate = ["cosmwasm-std/stargate"]
# Use cranelift backend instead of singlepass. This is required for development on Windows.
cranelift = ["wasmer/cranelift"]

[lib]
# See https://bheisler.github.io/criterion.rs/book/faq.html#cargo-bench-gives-unrecognized-option-errors-for-valid-command-line-options
bench = false

[[example]]
name = "check_contract"
required-features = ["iterator"]

[dependencies]
clru = "0.4.0"
# Uses the path when built locally; uses the given version from crates.io when published
cosmwasm-std = { path = "../std", version = "0.16.0-rc5", default-features = false }
cosmwasm-crypto = { path = "../crypto", version = "0.16.0-rc5" }
hex = "0.4"
parity-wasm = "0.42"
schemars = "0.8.1"
serde = { version = "1.0.103", default-features = false, features = ["derive", "alloc"] }
serde_json = "1.0"
sha2 = "0.9.1"
thiserror = "1.0"
wasmer = { version = "2.0.0", default-features = false, features = ["cranelift", "universal", "singlepass"] }
wasmer-middlewares = "2.0.0"
loupe = "0.1.2"

# Wasmer git/local (used for quick local debugging or patching)
# wasmer = { git = "https://github.com/wasmerio/wasmer", rev = "1.0.2", default-features = false, features = ["jit", "singlepass"] }
# wasmer-middlewares = { git = "https://github.com/wasmerio/wasmer", rev = "1.0.2" }
# wasmer = { path = "../../../wasmer/lib/api", default-features = false, features = ["jit", "singlepass"] }
# wasmer-middlewares = { path = "../../../wasmer/lib/middlewares" }

[dev-dependencies]
criterion = "0.3"
hex-literal = "0.3.1"
tempfile = "3.1.0"
wat = "1.0"
clap = "2.33.3"

[[bench]]
name = "main"
harness = false