-
Notifications
You must be signed in to change notification settings - Fork 356
/
Copy pathCargo.toml
98 lines (93 loc) · 4.08 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
[package]
name = "cosmwasm-std"
version.workspace = true
authors = ["Ethan Frey <[email protected]>"]
edition = "2021"
description = "Standard library for Wasm based smart contracts on Cosmos blockchains"
repository = "https://github.com/CosmWasm/cosmwasm/tree/main/packages/std"
license = "Apache-2.0"
readme = "README.md"
[package.metadata.docs.rs]
features = ["abort", "cosmwasm_2_2", "staking", "stargate", "eureka"]
[features]
default = ["iterator", "std"]
# abort used to enable the panic handler that hands a nice error message back to the host.
# The feature is now deprecated and the panic handler is always enabled.
abort = []
std = []
# 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 module 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 = []
# stargate enables stargate-dependent messages and queries, like raw protobuf messages
# as well as ibc-related functionality
stargate = []
# eureka enables eureka-dependent messages and queries
eureka = []
# This feature makes `BankQuery::Supply` available for the contract to call, but requires
# the host blockchain to run CosmWasm `1.1.0` or higher.
cosmwasm_1_1 = []
# This feature makes `GovMsg::VoteWeighted` available for the contract to call, but requires
# the host blockchain to run CosmWasm `1.2.0` or higher.
cosmwasm_1_2 = ["cosmwasm_1_1"]
# This feature makes `BankQuery::DenomMetadata` available for the contract to call, but requires
# the host blockchain to run CosmWasm `1.3.0` or higher.
cosmwasm_1_3 = ["cosmwasm_1_2"]
# Together with the `iterator` feature this enables additional imports for more
# efficient iteration over DB keys or values.
# It also makes `DistributionQuery::{DelegationRewards, DelegationTotalRewards, DelegatorValidators}`
# available for the contract to call.
# It requires the host blockchain to run CosmWasm `1.4.0` or higher.
cosmwasm_1_4 = ["cosmwasm_1_3"]
# This enables functionality that is only available on 2.0 chains.
# It adds `CosmosMsg::Any`, replacing `CosmosMsg::Stargate`. It also adds `QueryRequest::Grpc`.
cosmwasm_2_0 = ["cosmwasm_1_4"]
# This enables functionality that is only available on 2.1 chains.
# It adds verification and key recovery for the secp256r1 elliptic curve.
cosmwasm_2_1 = ["cosmwasm_2_0"]
# This enables functionality that is only available on 2.2 chains.
# It adds `IbcMsg::PayPacketFee` and `IbcMsg::PayPacketFeeAsync`.
cosmwasm_2_2 = ["cosmwasm_2_1"]
[dependencies]
base64 = "0.22.0"
bnum = "0.11.0"
cosmwasm-core = { version = "2.2.0-rc.1", path = "../core" }
cosmwasm-derive = { version = "2.2.0-rc.1", path = "../derive" }
derive_more = { version = "=1.0.0-beta.6", default-features = false, features = [
"debug",
] }
hex = "0.4"
schemars = { workspace = true }
sha2 = "0.10.3"
serde = { workspace = true, features = ["std"] }
serde-json-wasm = { version = "1.0.1", default-features = false, features = [
"std",
] }
static_assertions = "1.1.0"
thiserror = "1.0.26"
rmp-serde = "1.3.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
bech32 = "0.11.0"
cosmwasm-crypto = { version = "2.2.0-rc.1", path = "../crypto" }
rand_core = { version = "0.6.4", features = ["getrandom"] }
[dev-dependencies]
cosmwasm-core = { path = "../core", version = "2.2.0-rc.1" }
cosmwasm-schema = { version = "2.2.0-rc.1", 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",
] }
crc32fast = "1.3.2"
hex-literal = "0.4.1"
paste = "1.0.15"
proptest = { version = "1.5.0", default-features = false, features = [
"attr-macro",
"std",
] }
serde_json = "1.0.81"