-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathCargo.toml
109 lines (97 loc) · 3.66 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
99
100
101
102
103
104
105
106
107
108
109
[package]
name = "dash-sdk"
version = "1.8.0"
edition = "2021"
[dependencies]
arc-swap = { version = "1.7.1" }
backon = { version = "1.2", features = ["tokio-sleep"] }
chrono = { version = "0.4.38" }
dpp = { path = "../rs-dpp", default-features = false, features = [
"dash-sdk-features",
] }
dapi-grpc = { path = "../dapi-grpc" }
rs-dapi-client = { path = "../rs-dapi-client", default-features = false }
drive = { path = "../rs-drive", default-features = false, features = [
"verify",
] }
drive-proof-verifier = { path = "../rs-drive-proof-verifier" }
dapi-grpc-macros = { path = "../rs-dapi-grpc-macros" }
http = { version = "1.1" }
rustls-pemfile = { version = "2.0.0" }
thiserror = "1.0.64"
tokio = { version = "1.40", features = ["macros", "rt-multi-thread"] }
tokio-util = { version = "0.7.12" }
async-trait = { version = "0.1.83" }
ciborium = { git = "https://github.com/qrayven/ciborium", branch = "feat-ser-null-as-undefined" }
serde = { version = "1.0.197", default-features = false, features = [
"rc",
], optional = true }
serde_json = { version = "1.0", features = ["preserve_order"], optional = true }
tracing = { version = "0.1.40" }
hex = { version = "0.4.3" }
dotenvy = { version = "0.15.7", optional = true }
envy = { version = "0.4.2", optional = true }
futures = { version = "0.3.30" }
derive_more = { version = "1.0", features = ["from"] }
# dashcore-rpc is only needed for core rpc; TODO remove once we have correct core rpc impl
dashcore-rpc = { git = "https://github.com/dashpay/rust-dashcore-rpc", tag = "v0.16.0" }
lru = { version = "0.12.5", optional = true }
bip37-bloom-filter = { git = "https://github.com/dashpay/rs-bip37-bloom-filter", branch = "develop" }
zeroize = { version = "1.8", features = ["derive"] }
[dev-dependencies]
tokio = { version = "1.40", features = ["macros", "rt-multi-thread"] }
rs-dapi-client = { path = "../rs-dapi-client", features = ["mocks"] }
base64 = { version = "0.22.1" }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
dpp = { path = "../rs-dpp", features = [
"client",
"validation",
"random-documents",
] }
data-contracts = { path = "../data-contracts" }
tokio-test = { version = "0.4.4" }
clap = { version = "4.5.4", features = ["derive"] }
sanitize-filename = { version = "0.5.0" }
test-case = { version = "3.3.1" }
assert_matches = "1.5.0"
[features]
default = ["mocks", "offline-testing"]
mocks = [
"dep:serde",
"dep:serde_json",
"rs-dapi-client/mocks",
"rs-dapi-client/dump",
"dpp/document-cbor-conversion",
"dpp/random-identities",
"drive/serde",
"drive-proof-verifier/mocks",
"dep:dotenvy",
"dep:envy",
"dep:lru",
"zeroize/serde",
]
# Run integration tests using test vectors from `tests/vectors/` instead of connecting to live Dash Platform.
#
# This feature is enabled by default to allow testing without connecting to the Dash Platform as
# part of CI/CD workflows.
#
# If both `offline-testing` and `network-testing` are enabled, "offline-testing" will take precedence.
offline-testing = ["mocks"]
# Run integration tests using a live Dash Platform network.
#
# Requires configuration of Dash Platform connectivity.
# See [README.md] for more details.
#
# If both `offline-testing` and `network-testing` are enabled, "offline-testing" will take precedence.
network-testing = ["mocks"]
# Generate test vectors for offline tests.
#
# This will run tests in `network-testing` mode and
# dump all requests and responses to `tests/vectors/`,
# so that they can be used later for `offline-testing`.
generate-test-vectors = ["network-testing"]
# Have the system data contracts inside the dpp crate
system-data-contracts = ["dpp/data-contracts"]
[[example]]
name = "read_contract"
required-features = ["mocks"]