[package] name = "prov-cosmwasm-std" version = "1.0.0-provbeta3" authors = ["Fred Kneeland "] edition = "2018" description = "Standard library for Wasm based smart contracts on Cosmos blockchains" repository = "https://github.com/provenance-io/cosmwasm/tree/main/packages/std" license = "Apache-2.0" readme = "README.md" [package.metadata.docs.rs] features = ["stargate", "staking"] [features] default = ["iterator"] # 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) iterator = [] # 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 staking = [] # 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 = [] # stargate enables stargate-dependent messages and queries, like raw protobuf messages # as well as ibc-related functionality stargate = [] [dependencies] base64 = "0.13.0" prov-cosmwasm-derive = { path = "../derive", version = "1.0.0-betaprov3" } # uint 0.9.2 uses edition2021 for no reason but we don't want to upgrade MSRV that much right now # See https://github.com/CosmWasm/cosmwasm/issues/1204 uint = "=0.9.1" serde-json-wasm = { version = "0.3.2" } schemars = "0.8.1" serde = { version = "1.0.103", default-features = false, features = ["derive", "alloc"] } thiserror = "1.0" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] prov-cosmwasm-crypto = { path = "../crypto", version = "1.0.0-betaprov3" } [dev-dependencies] prov-cosmwasm-schema = { path = "../schema" } # The chrono dependency is only used in an example, which Rust compiles for us. If this causes trouble, remove it. chrono = { version = "0.4", default-features = false, features = ["alloc", "std"] } hex = "0.4" hex-literal = "0.3.1"