-
Notifications
You must be signed in to change notification settings - Fork 276
/
Cargo.toml
212 lines (178 loc) · 7.41 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
[workspace.package]
edition = "2021"
version = "2.0.0-rc.1.0"
# TODO: teams are being deprecated update the authors URL
authors = ["Iroha 2 team <https://github.com/orgs/soramitsu/teams/iroha2>"]
description = "Efficient, simple, Byzantine-fault-tolerant DLT inspired by the Kaizen principle"
repository = "https://github.com/hyperledger-iroha/iroha"
documentation = "https://docs.iroha.tech"
homepage = "https://iroha.tech"
license = "Apache-2.0"
keywords = ["blockchain", "crypto", "iroha", "ledger"]
categories = ["cryptography::cryptocurrencies"]
[workspace.dependencies]
iroha_core = { version = "=2.0.0-rc.1.0 ", path = "crates/iroha_core" }
iroha_torii = { version = "=2.0.0-rc.1.0", path = "crates/iroha_torii" }
iroha_torii_const = { version = "=2.0.0-rc.1.0", path = "crates/iroha_torii_const" }
iroha = { version = "=2.0.0-rc.1.0", path = "crates/iroha" }
iroha_macro_utils = { version = "=2.0.0-rc.1.0", path = "crates/iroha_macro_utils" }
iroha_telemetry = { version = "=2.0.0-rc.1.0", path = "crates/iroha_telemetry" }
iroha_p2p = { version = "=2.0.0-rc.1.0", path = "crates/iroha_p2p" }
iroha_primitives = { version = "=2.0.0-rc.1.0", path = "crates/iroha_primitives", default-features = false }
iroha_config = { version = "=2.0.0-rc.1.0", path = "crates/iroha_config" }
iroha_config_base = { version = "=2.0.0-rc.1.0", path = "crates/iroha_config_base" }
iroha_schema_gen = { version = "=2.0.0-rc.1.0", path = "crates/iroha_schema_gen" }
iroha_schema = { version = "=2.0.0-rc.1.0", path = "crates/iroha_schema", default-features = false }
iroha_logger = { version = "=2.0.0-rc.1.0", path = "crates/iroha_logger" }
iroha_crypto = { version = "=2.0.0-rc.1.0", path = "crates/iroha_crypto", default-features = false }
iroha_macro = { version = "=2.0.0-rc.1.0", path = "crates/iroha_macro", default-features = false }
iroha_futures = { version = "=2.0.0-rc.1.0", path = "crates/iroha_futures" }
iroha_genesis = { version = "=2.0.0-rc.1.0", path = "crates/iroha_genesis" }
iroha_ffi = { version = "=2.0.0-rc.1.0", path = "crates/iroha_ffi" }
iroha_version = { version = "=2.0.0-rc.1.0", path = "crates/iroha_version", default-features = false }
iroha_wasm_codec = { version = "=2.0.0-rc.1.0", path = "crates/iroha_wasm_codec" }
iroha_wasm_builder = { version = "=2.0.0-rc.1.0", path = "crates/iroha_wasm_builder" }
iroha_smart_contract = { version = "=2.0.0-rc.1.0", path = "crates/iroha_smart_contract" }
iroha_smart_contract_utils = { version = "=2.0.0-rc.1.0", path = "crates/iroha_smart_contract_utils" }
iroha_executor = { version = "=2.0.0-rc.1.0", path = "crates/iroha_executor" }
iroha_data_model = { version = "=2.0.0-rc.1.0", path = "crates/iroha_data_model", default-features = false }
iroha_executor_data_model = { version = "=2.0.0-rc.1.0", path = "crates/iroha_executor_data_model" }
iroha_test_network = { version = "=2.0.0-rc.1.0", path = "crates/iroha_test_network" }
iroha_test_samples = { version = "=2.0.0-rc.1.0", path = "crates/iroha_test_samples" }
proc-macro2 = "1.0.86"
syn = { version = "2.0.72", default-features = false }
quote = "1.0.36"
manyhow = { version = "0.8.1", features = ["darling"] }
darling = "0.20.10"
drop_bomb = "0.1.5"
futures = { version = "0.3.30", default-features = false }
tokio = "1.40.0"
tokio-stream = "0.1.15"
tokio-tungstenite = "0.21.0"
tokio-util = "0.7.11"
tungstenite = "0.21.0"
crossbeam-queue = "0.3.11"
parking_lot = { version = "0.12.3" }
tempfile = "3.10.1"
path-absolutize = "3.1.1"
bytes = "1.6.1"
vergen = { version = "8.3.1", default-features = false }
trybuild = "1.0.97"
impls = "1.0.3"
base64 = { version = "0.22.1", default-features = false }
hex = { version = "0.4.3", default-features = false }
nonzero_ext = { version = "0.3.0", default-features = false }
url = "2.5.2"
prometheus = { version = "0.13.4", default-features = false }
clap = "4.5.11"
owo-colors = "4.1.0"
supports-color = "2.1.0"
spinoff = "0.8.0"
humantime = "2.1.0"
criterion = "0.5.1"
expect-test = "1.5.0"
assertables = "7"
eyre = "0.6.12"
color-eyre = "0.6.3"
thiserror = { version = "1.0.63", default-features = false }
displaydoc = { version = "0.2.5", default-features = false }
error-stack = "0.4.1"
cfg-if = "1.0.0"
derive_more = { version = "0.99.18", default-features = false }
async-trait = "0.1.81"
strum = { version = "0.25.0", default-features = false }
getset = "0.1.2"
hex-literal = "0.4.1"
derive-where = "1.2.7"
rand = { version = "0.8.5", default-features = false, features = ["getrandom", "alloc"] }
axum = { version = "0.7.5", default-features = false }
wasmtime = "22.0.0"
tracing = { version = "0.1.40", features = ["log"] }
tracing-subscriber = { version = "0.3.18", default-features = false }
dashmap = "5.5.3"
rustc-hash = "1.1.0"
serde = { version = "1.0.204", default-features = false }
serde_json = { version = "1.0.121", default-features = false, features = ["alloc"] }
serde_with = { version = "3.9.0", default-features = false }
parity-scale-codec = { version = "3.6.12", default-features = false }
json5 = "0.4.1"
toml = "0.8.16"
mv = { version = "0.1.0" }
[workspace.lints]
rustdoc.private_doc_tests = "deny"
rust.future_incompatible = { level = "deny", priority = -1 }
rust.nonstandard_style = { level = "deny", priority = -1 }
rust.rust_2018_idioms = { level = "deny", priority = -1 }
rust.unused = { level = "deny", priority = -1 }
rust.anonymous_parameters = "deny"
rust.missing_copy_implementations = "deny"
rust.missing_docs = "deny"
rust.trivial_casts = "deny"
rust.trivial_numeric_casts = "deny"
rust.unsafe_code = "deny"
rust.unused_import_braces = "deny"
rust.variant_size_differences = "deny"
rust.explicit_outlives_requirements = "deny"
rust.non_ascii_idents = "deny"
rust.elided_lifetimes_in_paths = "allow"
rust.unknown_lints = "warn"
rust.single_use_lifetimes = "warn"
rust.unused_lifetimes = "warn"
# TODO: reenable
# rust.unsafe_op_in_unsafe_fn = "deny"
rust.unexpected_cfgs = { level = "warn", check-cfg = [
# FIXME: https://github.com/hyperledger-iroha/iroha/issues/3102
'cfg(feature, values("ffi_import"))',
# It is set by `cargo-llvm-cov`
'cfg(coverage)'
] }
# pedantic
clippy.pedantic = { level = "warn", priority = -1 }
clippy.match_wildcard_for_single_variants = "allow"
clippy.semicolon_if_nothing_returned = "allow"
clippy.wildcard_imports = "allow"
clippy.manual_let_else = "allow"
clippy.enum_glob_use = "allow"
clippy.module_name_repetitions = "allow"
clippy.must_use_candidate = "allow"
clippy.missing_panics_doc = "allow"
# restriction
clippy.dbg_macro = "deny"
# nursery
clippy.debug_assert_with_mut_call = "deny"
clippy.derive_partial_eq_without_eq = "deny"
clippy.empty_line_after_outer_attr = "deny"
clippy.fallible_impl_from = "deny"
clippy.future_not_send = "deny"
clippy.iter_with_drain = "deny"
clippy.mutex_integer = "deny"
clippy.needless_collect = "deny"
clippy.path_buf_push_overwrite = "deny"
clippy.suboptimal_flops = "deny"
clippy.trailing_empty_array = "deny"
clippy.transmute_undefined_repr = "deny"
clippy.trivial_regex = "deny"
clippy.unused_peekable = "deny"
clippy.unused_rounding = "deny"
clippy.option_if_let_else = "warn"
clippy.or_fun_call = "warn"
clippy.redundant_pub_crate = "warn"
clippy.string_lit_as_bytes = "warn"
clippy.suspicious_operation_groupings = "warn"
clippy.useless_let_if_seq = "warn"
# cargo
clippy.redundant_feature_names = "deny"
clippy.wildcard_dependencies = "deny"
[workspace]
resolver = "2"
members = [
"crates/*",
"data_model/samples/*"
]
[profile.deploy]
inherits = "release"
strip = "symbols"
lto = true
[profile.profiling]
inherits = "release"
debug = "limited"