[package]
name = "cosmwasm-std"
version = "0.13.0-alpha2"
authors = ["Ethan Frey <ethanfrey@users.noreply.github.com>"]
edition = "2018"
description = "Standard library for Wasm based smart contracts on Cosmos blockchains"
repository = "https://github.com/CosmWasm/cosmwasm/tree/master/packages/std"
license = "Apache-2.0"
readme = "README.md"

[badges]
circle-ci = { repository = "CosmWasm/cosmwasm", branch = "master" }
maintenance = { status = "actively-developed" }

[features]
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)
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 = []

[dependencies]
base64 = "0.13.0"
serde-json-wasm = { version = "0.2.1" }
schemars = "0.7"
serde = { version = "1.0.103", default-features = false, features = ["derive", "alloc"] }
thiserror = "1.0"

[dev-dependencies]
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 = "0.4"
