[package] name = "prov-cosmwasm-vm" version = "1.0.0-provbeta3" authors = ["Fred Kneeland "] edition = "2018" description = "VM bindings to run cosmwams contracts" repository = "https://github.com/provenance-io/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 = ["prov-cosmwasm-std/iterator"] staking = ["prov-cosmwasm-std/staking"] # this enables all stargate-related functionality, including the ibc entry points stargate = ["prov-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 prov-cosmwasm-std = { path = "../std", version = "1.0.0-provbeta3", default-features = false } prov-cosmwasm-crypto = { path = "../crypto", version = "1.0.0-provbeta3" } 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.2.0-rc1", default-features = false, features = ["cranelift", "universal", "singlepass"] } wasmer-middlewares = "=2.2.0-rc1" loupe = "0.1.3" # Wasmer git/local (used for quick local debugging or patching) # wasmer = { git = "https://github.com/wasmerio/wasmer", rev = "877ce1f7c44fad853c", default-features = false, features = ["cranelift", "universal", "singlepass"] } # wasmer-middlewares = { git = "https://github.com/wasmerio/wasmer", rev = "877ce1f7c44fad853c" } # wasmer = { path = "../../../wasmer/lib/api", default-features = false, features = ["cranelift", "universal", "singlepass"] } # wasmer-middlewares = { path = "../../../wasmer/lib/middlewares" } [dev-dependencies] criterion = { version = "0.3", features = [ "html_reports" ] } hex-literal = "0.3.1" tempfile = "3.1.0" wat = "1.0" clap = "2.33.3" rand = "0.8" leb128 = "0.2" [[bench]] name = "main" harness = false