forked from informalsystems/hermes
-
Notifications
You must be signed in to change notification settings - Fork 42
/
Cargo.toml
78 lines (68 loc) · 2.97 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
[package]
name = "ibc"
version = "0.17.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
keywords = ["blockchain", "consensus", "cosmos", "ibc", "tendermint"]
repository = "https://github.com/informalsystems/ibc-rs"
authors = ["Informal Systems <hello@informal.systems>"]
rust-version = "1.60"
description = """
Implementation of the Inter-Blockchain Communication Protocol (IBC).
This crate comprises the main data structures and on-chain logic.
"""
[package.metadata.docs.rs]
all-features = true
[features]
default = ["std"]
std = ["flex-error/std", "flex-error/eyre_tracer", "ibc-proto/std", "clock"]
clock = ["tendermint/clock", "time/std"]
# This feature grants access to development-time mocking libraries, such as `MockContext` or `MockHeader`.
# Depends on the `testgen` suite for generating Tendermint light blocks.
mocks = ["tendermint-testgen", "clock", "std"]
[dependencies]
# Proto definitions for all IBC-related interfaces, e.g., connections or channels.
ibc-proto = { version = "0.19.1", path = "../proto", default-features = false }
ics23 = { version = "=0.8.0-alpha", default-features = false }
time = { version = ">=0.3.0, <0.3.12", default-features = false }
serde_derive = { version = "1.0.104", default-features = false }
serde = { version = "1.0", default-features = false }
serde_json = { version = "1", default-features = false }
tracing = { version = "0.1.36", default-features = false }
prost = { version = "0.10", default-features = false }
prost-types = { version = "0.10", default-features = false }
bytes = { version = "1.2.1", default-features = false }
safe-regex = { version = "0.2.5", default-features = false }
subtle-encoding = { version = "0.5", default-features = false }
sha2 = { version = "0.10.2", default-features = false }
flex-error = { version = "0.4.4", default-features = false }
num-traits = { version = "0.2.15", default-features = false }
derive_more = { version = "0.99.17", default-features = false, features = ["from", "into", "display"] }
uint = { version = "0.9", default-features = false }
primitive-types = { version = "0.11.1", default-features = false, features = ["serde_no_std"] }
[dependencies.tendermint]
version = "=0.23.8"
default-features = false
[dependencies.tendermint-proto]
version = "=0.23.8"
default-features = false
[dependencies.tendermint-light-client-verifier]
version = "=0.23.8"
default-features = false
[dependencies.tendermint-testgen]
version = "=0.23.8"
optional = true
default-features = false
[dev-dependencies]
env_logger = "0.9.0"
tracing-subscriber = { version = "0.3.14", features = ["fmt", "env-filter", "json"]}
test-log = { version = "0.2.10", features = ["trace"] }
modelator = "0.4.2"
sha2 = { version = "0.10.2" }
tendermint-rpc = { version = "=0.23.8", features = ["http-client", "websocket-client"] }
tendermint-testgen = { version = "=0.23.8" } # Needed for generating (synthetic) light blocks.
[[test]]
name = "mbt"
path = "tests/mbt.rs"
required-features = ["mocks"]