-
Notifications
You must be signed in to change notification settings - Fork 14
/
Cargo.toml
355 lines (337 loc) · 20.1 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
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
[workspace]
resolver = "2"
members = [
"api/bin/chainflip-broker-api",
"api/bin/chainflip-cli",
"api/bin/chainflip-ingress-egress-tracker",
"api/bin/chainflip-lp-api",
"api/lib",
"engine",
"engine-proc-macros",
"engine-runner-bin",
"engine-upgrade-utils",
"engine/generate-genesis-keys",
"engine/multisig",
"foreign-chains/solana/sol-prim",
"state-chain/amm",
"state-chain/cf-integration-tests",
"state-chain/cf-session-benchmarking",
"state-chain/cfe-events",
"state-chain/chains",
"state-chain/custom-rpc",
"state-chain/node",
"state-chain/pallets/cf-account-roles",
"state-chain/pallets/cf-asset-balances",
"state-chain/pallets/cf-broadcast",
"state-chain/pallets/cf-cfe-interface",
"state-chain/pallets/cf-chain-tracking",
"state-chain/pallets/cf-elections",
"state-chain/pallets/cf-emissions",
"state-chain/pallets/cf-environment",
"state-chain/pallets/cf-flip",
"state-chain/pallets/cf-funding",
"state-chain/pallets/cf-governance",
"state-chain/pallets/cf-ingress-egress",
"state-chain/pallets/cf-lp",
"state-chain/pallets/cf-pools",
"state-chain/pallets/cf-reputation",
"state-chain/pallets/cf-swapping",
"state-chain/pallets/cf-threshold-signature",
"state-chain/pallets/cf-tokenholder-governance",
"state-chain/pallets/cf-validator",
"state-chain/pallets/cf-vaults",
"state-chain/pallets/cf-witnesser",
"state-chain/primitives",
"state-chain/runtime",
"state-chain/runtime-utilities",
"state-chain/runtime-utilities/macros",
"state-chain/test-utilities",
"state-chain/traits",
"utilities",
"utilities/scale-json",
"utilities/scale-json-event-logger",
]
[workspace.lints.clippy]
blocks_in_conditions = "allow"
missing_const_for_thread_local = "allow"
[workspace.dependencies]
# Third party crates
anyhow = { version = "1.0.81" }
arrayref = { version = "0.3.6" }
assert_cmd = { version = "2.0.14" }
async-broadcast = { version = "0.5.1" }
async-channel = { version = "1.8.0" }
async-trait = { version = "0.1.79" }
base64 = { version = "0.22.1" }
bech32 = { version = "0.9.1", default-features = false }
bigdecimal = { version = "0.4.5" }
bincode = { version = "1.3.3" }
bitcoin = { version = "0.32.3" }
bitvec = { version = "1.0.1", default-features = false }
blake2 = { version = "0.10.4" }
borsh = { version = "1.2.1", default-features = false }
bs58 = { version = "0.5.1", default-features = false }
codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" }
clap = { version = "4.5.3" }
chrono = { version = "0.4.31" }
config = { version = "0.13.1" }
csv = { version = "1.1.6" }
curve25519-dalek = { version = "4.1.3", default-features = false }
digest = { version = "0.10.3", default-features = false }
dyn-clone = { version = "1.0.16" }
ed25519-dalek = { version = "2.1.1" }
env_logger = { version = "0.11.3" }
ethabi = { version = "18.0", default-features = false }
ethbloom = { version = "0.13" }
ethereum = { version = "0.14", default-features = false }
ethereum-types = { version = "0.14.1", default-features = false }
ethers = { version = "2.0.8" }
frame-metadata = { version = "16.0.0" }
fs_extra = { version = "1.3.0" }
futures = { version = "0.3.30" }
futures-core = { version = "0.3.30" }
futures-util = { version = "0.3.30" }
generic-array = { version = "1.1.0", default-features = false }
heck = { version = "0.5.0" }
hex = { version = "0.4.3", default-features = false }
hex-literal = { version = "0.4.1", default-features = false }
hmac-sha512 = { version = "1.1.4" }
http = { version = "1.1.0" }
httparse = { version = "1.4.1" }
insta = { version = "1.38.0" }
itertools = { version = "0.13", default-features = false }
jsonrpsee = { version = "0.23.2" }
lazy_format = { version = "2.0" }
lazy_static = { version = "1.4" }
libp2p-identity = { version = "0.2.3" }
libsecp256k1 = { version = "0.7", default-features = false }
log = { version = "0.4.16" }
mockall = { version = "0.13.0" }
nanorand = { version = "0.7.0", default-features = false }
num-bigint = { version = "0.4.3" }
num-derive = { version = "0.4.2" }
num-traits = { version = "0.2.17" }
pin-project = { version = "1.1.3" }
predicates = { version = "3.0" }
proc-macro2 = { version = "1.0.79" }
prometheus = { version = "0.13.0", default-features = false }
public-ip = { version = "0.2.2" }
quickcheck = { version = "1.0.3" }
quickcheck_macros = { version = "1" }
quote = { version = "1.0.35" }
rayon = { version = "1.7.0" }
rand = { version = "0.8.5", default-features = false }
redis = { version = "0.27.2" }
regex = { version = "1.10.2" }
reqwest = { version = "0.11.4" }
rlp = { version = "0.5.2", default-features = false }
rocksdb = { version = "0.21.0" }
serde_bytes = { version = "0.11.14", default-features = false }
serde_path_to_error = "*"
serde_with = { version = "3.11.0", default-features = false }
scale-decode = { version = "0.13" }
scale-info = { version = "2.11.1", default-features = false }
scale-type-resolver = { version = "0.2" }
schnorrkel = { version = "0.11.4" }
scopeguard = { version = "1.2.0" }
serde = { version = "1.0.197", default-features = false }
serde_json = { version = "1.0.128" }
secp256k1 = { version = "0.29.1" }
sha2 = { version = "0.10.7", default-features = false }
sha2-const = { version = "0.1.2", default-features = false }
ss58-registry = { version = "1.41" }
strum = { version = "0.26.3", default-features = false }
strum_macros = { version = "0.26.4", default-features = false }
subxt = { version = "0.37.0" }
syn = { version = "2.0.53" }
tempfile = { version = "3.8.1" }
thiserror = { version = "1.0.50", default-features = false }
tiny-bip39 = { version = "1.0.0" }
tokio = { version = "1.40.0" }
tokio-stream = { version = "0.1.14" }
toml = { version = "0.8.10" }
tracing = { version = "0.1.37" }
tracing-subscriber = { version = "0.3.18" }
typenum = { version = "1.15" }
url = { version = "2.4" }
warp = { version = "0.3.6" }
web3 = { version = "0.19" }
x25519-dalek = { version = "2.0" }
zeroize = { version = "1.7.0" }
zmq = { git = "https://github.com/chainflip-io/rust-zmq.git", tag = "chainflip-v0.9.2+1" }
# PolkadotSdk Pallets
pallet-aura = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-authorship = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-grandpa = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-session = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-timestamp = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-transaction-payment = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-transaction-payment-rpc = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
# PolkadotSdk Frame
frame-benchmarking = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-benchmarking-cli = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-executive = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-support = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-system = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-system-benchmarking = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-system-rpc-runtime-api = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
frame-try-runtime = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
# PolkadotSdk Primitives
sp-api = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-application-crypto = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-arithmetic = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-block-builder = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-blockchain = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-consensus-aura = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-consensus-grandpa = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-core = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-genesis-builder = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-inherents = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-io = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-keyring = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-offchain = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-rpc = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-runtime = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-session = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-staking = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-state-machine = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-std = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-timestamp = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-transaction-pool = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-version = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
# PolkadotSdk Client
sc-basic-authorship = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-cli = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-client-api = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-consensus = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-consensus-aura = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-consensus-grandpa = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-consensus-grandpa-rpc = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-executor = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-keystore = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-network = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-offchain = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-rpc = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-rpc-api = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-rpc-spec-v2 = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-service = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-telemetry = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-transaction-pool = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sc-transaction-pool-api = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
sp-consensus = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2", default-features = false }
# PolkadotSdk Others
substrate-build-script-utils = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2" }
substrate-frame-rpc-system = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2" }
substrate-wasm-builder = { git = "https://github.com/chainflip-io/polkadot-sdk.git", tag = "chainflip-substrate-1.15.2+2" }
# Chainflip Statechain
pallet-cf-account-roles = { path = "state-chain/pallets/cf-account-roles", default-features = false }
pallet-cf-asset-balances = { path = "state-chain/pallets/cf-asset-balances", default-features = false }
pallet-cf-broadcast = { path = "state-chain/pallets/cf-broadcast", default-features = false }
pallet-cf-cfe-interface = { path = "state-chain/pallets/cf-cfe-interface", default-features = false }
pallet-cf-chain-tracking = { path = "state-chain/pallets/cf-chain-tracking", default-features = false }
pallet-cf-elections = { path = "state-chain/pallets/cf-elections", default-features = false }
pallet-cf-emissions = { path = "state-chain/pallets/cf-emissions", default-features = false }
pallet-cf-environment = { path = "state-chain/pallets/cf-environment", default-features = false }
pallet-cf-flip = { path = "state-chain/pallets/cf-flip", default-features = false }
pallet-cf-funding = { path = "state-chain/pallets/cf-funding", default-features = false }
pallet-cf-governance = { path = "state-chain/pallets/cf-governance", default-features = false }
pallet-cf-ingress-egress = { path = "state-chain/pallets/cf-ingress-egress", default-features = false }
pallet-cf-lp = { path = "state-chain/pallets/cf-lp", default-features = false }
pallet-cf-pools = { path = "state-chain/pallets/cf-pools", default-features = false }
pallet-cf-reputation = { path = "state-chain/pallets/cf-reputation", default-features = false }
pallet-cf-swapping = { path = "state-chain/pallets/cf-swapping", default-features = false }
pallet-cf-threshold-signature = { path = "state-chain/pallets/cf-threshold-signature", default-features = false }
pallet-cf-tokenholder-governance = { path = "state-chain/pallets/cf-tokenholder-governance", default-features = false }
pallet-cf-validator = { path = "state-chain/pallets/cf-validator", default-features = false }
pallet-cf-vaults = { path = "state-chain/pallets/cf-vaults", default-features = false }
pallet-cf-witnesser = { path = "state-chain/pallets/cf-witnesser", default-features = false }
cf-amm = { path = "state-chain/amm", default-features = false }
cf-chains = { path = "state-chain/chains", default-features = false }
cf-primitives = { path = "state-chain/primitives", default-features = false }
cf-session-benchmarking = { path = "state-chain/cf-session-benchmarking", default-features = false }
cf-traits = { path = "state-chain/traits", default-features = false }
chainflip-node = { path = "state-chain/node", default-features = false }
custom-rpc = { path = "state-chain/custom-rpc", default-features = false }
state-chain-runtime = { path = "state-chain/runtime", default-features = false }
# Chainflip Engine + Api
cf-engine-dylib = { path = "engine-dylib" }
chainflip-api = { path = "api/lib" }
chainflip-engine = { path = "engine" }
engine-proc-macros = { path = "engine-proc-macros" }
# Chainflip utilities and others
cf-runtime-macros = { path = "state-chain/runtime-utilities/macros", default-features = false }
cf-runtime-utilities = { path = "state-chain/runtime-utilities", default-features = false }
cf-test-utilities = { path = "state-chain/test-utilities" }
cf-utilities = { package = "utilities", path = "utilities", default-features = false }
cfe-events = { path = "state-chain/cfe-events", default-features = false }
engine-upgrade-utils = { path = "engine-upgrade-utils" }
multisig = { path = "engine/multisig" }
scale-json = { path = "utilities/scale-json", default-features = false }
sol-prim = { path = "foreign-chains/solana/sol-prim", default-features = false }
# The list of dependencies below (which can be both direct and indirect dependencies) are crates
# that are suspected to be CPU-intensive, and that are unlikely to require debugging (as some of
# their debug info might be missing) or to require to be frequently recompiled. We compile these
# dependencies with `opt-level=3` even in "dev" mode in order to make "dev" mode more usable.
# The majority of these crates are cryptographic libraries.
#
# If you see an error mentioning "profile package spec ... did not match any packages", it
# probably concerns this list.
#
# This list is ordered alphabetically.
[profile.dev.package]
blake2 = { opt-level = 3 }
blake2b_simd = { opt-level = 3 }
chacha20poly1305 = { opt-level = 3 }
cranelift-codegen = { opt-level = 3 }
cranelift-wasm = { opt-level = 3 }
crc32fast = { opt-level = 3 }
crossbeam-deque = { opt-level = 3 }
crypto-mac = { opt-level = 3 }
curve25519-dalek = { opt-level = 3 }
ed25519-zebra = { opt-level = 3 }
flate2 = { opt-level = 3 }
futures-channel = { opt-level = 3 }
hash-db = { opt-level = 3 }
hashbrown = { opt-level = 3 }
hmac = { opt-level = 3 }
httparse = { opt-level = 3 }
integer-sqrt = { opt-level = 3 }
k256 = { opt-level = 3 }
keccak = { opt-level = 3 }
libm = { opt-level = 3 }
librocksdb-sys = { opt-level = 3 }
libsecp256k1 = { opt-level = 3 }
libz-sys = { opt-level = 3 }
mio = { opt-level = 3 }
nalgebra = { opt-level = 3 }
num-bigint = { opt-level = 3 }
parking_lot = { opt-level = 3 }
parking_lot_core = { opt-level = 3 }
percent-encoding = { opt-level = 3 }
primitive-types = { opt-level = 3 }
ring = { opt-level = 3 }
rustls = { opt-level = 3 }
secp256k1 = { opt-level = 3 }
sha2 = { opt-level = 3 }
sha3 = { opt-level = 3 }
smallvec = { opt-level = 3 }
snow = { opt-level = 3 }
twox-hash = { opt-level = 3 }
uint = { opt-level = 3 }
x25519-dalek = { opt-level = 3 }
yamux = { opt-level = 3 }
zeroize = { opt-level = 3 }
[profile.dev]
rpath = true
[profile.release]
# Substrate runtime requires unwinding.
panic = "unwind"
rpath = true
[profile.production]
inherits = "release"
# Sacrifice compile speed for execution speed by using optimization flags:
# https://doc.rust-lang.org/rustc/linker-plugin-lto.html
lto = "fat"
# https://doc.rust-lang.org/rustc/codegen-options/index.html#codegen-units
codegen-units = 1