-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathCargo.toml
250 lines (236 loc) · 19.8 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
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
[workspace.package]
authors = ["Moonsong Labs"]
edition = "2021"
repository = "https://github.com/Moonsong-Labs/storage-hub-runtime.git"
license = "GPL-3.0-only"
homepage = "https://moonsonglabs.com/"
[profile.release]
panic = "unwind"
[profile.production]
codegen-units = 1
inherits = "release"
lto = true
[workspace]
members = [
"runtime",
"pallets/*",
"node",
"client/*",
"primitives/*",
"xcm-simulator",
]
resolver = "2"
[workspace.dependencies]
anyhow = "1.0.81"
array-bytes = "6.1"
async-channel = "1.8.0"
async-io = "2.3.2"
async-trait = "0.1.42"
bigdecimal = { version = "0.4.5", features = ["serde"] }
bincode = "1.3.3"
clap = { version = "4.5.3", features = ["derive"] }
chrono = "0.4"
codec = { package = "parity-scale-codec", version = "3.0.0", features = [
"derive",
], default-features = false }
color-print = "0.3.4"
diesel = { version = "2.2.4", features = ["postgres", "chrono", "numeric"] }
diesel-async = { version = "0.5.0", features = ["bb8", "postgres"] }
futures-timer = "3.0.1"
hash-db = "0.16.0"
hex = { version = "0.4.3", default-features = false }
hex-literal = { version = "0.4.1" }
jsonrpsee = { version = "0.24.3" }
jsonrpsee-core = { version = "0.24.3" }
kvdb = "0.13.0"
kvdb-memorydb = "0.13.0"
kvdb-rocksdb = "0.19.0"
rocksdb = "0.21.0"
futures = "0.3.30"
lazy-static = { package = "lazy_static", version = "1.4.0" }
log = { version = "0.4.21", default-features = false }
num-bigint = { version = "0.4.3", default-features = false }
parking_lot = "0.12.1"
prost = "0.12"
prost-build = "0.12.3"
rand = "0.8.5"
reference-trie = "0.29.1"
scale-info = { version = "2.11.0", default-features = false, features = [
"derive",
] }
serde = { version = "1.0.210", default-features = false }
serde_json = { version = "1.0.121", default-features = false }
smallvec = "1.11.0"
thiserror = "1.0.48"
tokio = "1.36.0"
toml = "0.8.19"
trie-db = { version = "0.29.1", default-features = false }
# Substrate
sp-core = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-io = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-std = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
# TODO: Change sp-trie to the next stable version when it's released with the applied fix of this [PR](https://github.com/paritytech/polkadot-sdk/pull/6486)
sp-trie = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "master", default-features = false }
sp-api = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-session = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2409", default-features = false }
sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-version = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-executor = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-network = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-network-types = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-service = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sc-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
sp-weights = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-support = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-system = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-executive = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-nfts = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-parameters = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-session = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-uniques = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
# Polkadot
polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", features = [
"rococo-native",
], default-features = false }
polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2409", default-features = false }
polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2409", default-features = false }
xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2409", default-features = false }
xcm-runtime-apis = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2409", default-features = false }
xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
runtime-constants = { package = "polkadot-runtime-constants", git = "https://github.com/polkadot-fellows/runtimes.git", tag = "v1.2.3", default-features = false }
# Cumulus
cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
cumulus-primitives-storage-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
parachains-common = { git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk.git", branch = "stable2409", default-features = false }
# Local Pallets
pallet-bucket-nfts = { path = "pallets/bucket-nfts", default-features = false }
pallet-cr-randomness = { path = "pallets/provider-randomness", default-features = false }
pallet-file-system = { path = "pallets/file-system", default-features = false }
pallet-file-system-runtime-api = { path = "pallets/file-system/runtime-api", default-features = false }
pallet-payment-streams = { path = "pallets/payment-streams", default-features = false }
pallet-payment-streams-runtime-api = { path = "pallets/payment-streams/runtime-api", default-features = false }
pallet-proofs-dealer = { path = "pallets/proofs-dealer", default-features = false }
pallet-proofs-dealer-runtime-api = { path = "pallets/proofs-dealer/runtime-api", default-features = false }
pallet-randomness = { path = "pallets/randomness", default-features = false }
pallet-storage-providers = { path = "pallets/providers", default-features = false }
pallet-storage-providers-runtime-api = { path = "pallets/providers/runtime-api", default-features = false }
# Local - StorageHub Client (used by the node, can be std or no_std)
shc-actors-framework = { path = "client/actors-framework", default-features = false }
shc-blockchain-service = { path = "client/blockchain-service", default-features = false }
shc-file-transfer-service = { path = "client/file-transfer-service", default-features = false }
shc-indexer-service = { path = "client/indexer-service", default-features = false }
shc-indexer-db = { path = "client/indexer-db", default-features = false }
shc-common = { path = "client/common", default-features = false }
shc-file-manager = { path = "client/file-manager", default-features = false }
shc-forest-manager = { path = "client/forest-manager", default-features = false }
shc-rpc = { path = "client/rpc", default-features = false }
# Local - StorageHub Primitives (used by the runtime and the node, must be no_std compatible)
shp-constants = { path = "primitives/constants", default-features = false }
shp-data-price-updater = { path = "primitives/data-price-updater", default-features = false }
shp-file-key-verifier = { path = "primitives/file-key-verifier", default-features = false }
shp-file-metadata = { path = "primitives/file-metadata", default-features = false }
shp-forest-verifier = { path = "primitives/forest-verifier", default-features = false }
shp-session-keys = { path = "primitives/session-keys", default-features = false }
shp-traits = { path = "primitives/traits", default-features = false }
shp-treasury-funding = { path = "primitives/treasury-funding", default-features = false }
# Lcoal - StorageHub Runtime
storage-hub-runtime = { path = "runtime", default-features = false }
[workspace.lints.rust]
suspicious_double_ref_op = { level = "allow", priority = 2 }
[workspace.lints.clippy]
all = { level = "allow", priority = 0 }
correctness = { level = "warn", priority = 1 }
complexity = { level = "warn", priority = 1 }
if-same-then-else = { level = "allow", priority = 2 }
zero-prefixed-literal = { level = "allow", priority = 2 } # 00_1000_000
type_complexity = { level = "allow", priority = 2 } # raison d'etre
nonminimal-bool = { level = "allow", priority = 2 } # maybe
borrowed-box = { level = "allow", priority = 2 } # Reasonable to fix this one
too-many-arguments = { level = "allow", priority = 2 } # (Turning this on would lead to)
needless-lifetimes = { level = "allow", priority = 2 } # generated code
unnecessary_cast = { level = "allow", priority = 2 } # Types may change
identity-op = { level = "allow", priority = 2 } # One case where we do 0 +
useless_conversion = { level = "allow", priority = 2 } # Types may change
unit_arg = { level = "allow", priority = 2 } # stylistic
option-map-unit-fn = { level = "allow", priority = 2 } # stylistic
bind_instead_of_map = { level = "allow", priority = 2 } # stylistic
erasing_op = { level = "allow", priority = 2 } # E.g. 0 * DOLLARS
eq_op = { level = "allow", priority = 2 } # In tests we test equality.
while_immutable_condition = { level = "allow", priority = 2 } # false positives
needless_option_as_deref = { level = "allow", priority = 2 } # false positives
derivable_impls = { level = "allow", priority = 2 } # false positives
stable_sort_primitive = { level = "allow", priority = 2 } # prefer stable sort
extra-unused-type-parameters = { level = "allow", priority = 2 } # stylistic
default_constructed_unit_structs = { level = "allow", priority = 2 } # stylistic