-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathCargo.toml
More file actions
335 lines (311 loc) · 21.2 KB
/
Cargo.toml
File metadata and controls
335 lines (311 loc) · 21.2 KB
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
[workspace.package]
authors = ["IOG"]
edition = "2024"
homepage = "https://iohk.io/"
repository = "https://github.com/input-output-hk/partner-chains.git"
version = "1.8.0"
[workspace]
members = [
"demo/node",
"demo/runtime",
"toolkit/cli/commands",
"toolkit/cli/node-commands",
"toolkit/smart-contracts/commands",
"substrate-extensions/aura/consensus",
"toolkit/block-production-log/pallet",
"toolkit/committee-selection/pallet",
"toolkit/committee-selection/rpc",
"substrate-extensions/aura/primitives",
"toolkit/sidechain/domain",
"toolkit/committee-selection/selection",
"toolkit/committee-selection/authority-selection-inherents",
"toolkit/data-sources/cli",
"toolkit/data-sources/db-sync",
"toolkit/data-sources/mock",
"toolkit/utils/byte-string-derivation",
"toolkit/utils/plutus",
"toolkit/utils/plutus/plutus-datum-derive",
"toolkit/utils/ogmios-client",
"toolkit/utils/time-source",
"toolkit/sidechain/sidechain-mc-hash",
"toolkit/sidechain/pallet",
"toolkit/sidechain/rpc",
"toolkit/sidechain/primitives",
"toolkit/committee-selection/primitives",
"toolkit/committee-selection/query",
"toolkit/partner-chains-cli",
"toolkit/smart-contracts/offchain",
"toolkit/smart-contracts/plutus-data",
"toolkit/address-associations/pallet",
"toolkit/block-participation/pallet",
"toolkit/block-participation/primitives",
"toolkit/block-producer-fees/pallet",
"toolkit/block-producer-fees/primitives",
"toolkit/block-producer-fees/rpc",
"toolkit/block-producer-metadata/pallet",
"toolkit/block-producer-metadata/primitives",
"toolkit/block-producer-metadata/rpc",
"toolkit/utils/db-sync-sqlx",
"toolkit/governed-map/primitives",
"toolkit/governed-map/pallet",
"toolkit/committee-selection/selection-simulator",
"toolkit/bridge/pallet",
"toolkit/bridge/primitives",
]
resolver = "2"
[workspace.lints.rust]
suspicious_double_ref_op = { level = "allow", priority = 2 }
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(build_opt_level, values("3"))',
'cfg(build_profile, values("debug", "release"))',
'cfg(enable_alloc_error_handler)',
'cfg(fuzzing)',
] }
[workspace.lints.clippy]
all = { level = "allow", priority = 0 }
bind_instead_of_map = { level = "allow", priority = 2 } # stylistic
borrowed-box = { level = "allow", priority = 2 } # Reasonable to fix this one
complexity = { level = "warn", priority = 1 }
correctness = { level = "warn", priority = 1 }
default_constructed_unit_structs = { level = "allow", priority = 2 } # stylistic
derivable_impls = { level = "allow", priority = 2 } # false positives
eq_op = { level = "allow", priority = 2 } # In tests we test equality.
erasing_op = { level = "allow", priority = 2 } # E.g. 0 * DOLLARS
extra-unused-type-parameters = { level = "allow", priority = 2 } # stylistic
identity-op = { level = "allow", priority = 2 } # One case where we do 0 +
if-same-then-else = { level = "allow", priority = 2 }
needless-lifetimes = { level = "allow", priority = 2 } # generated code
needless_option_as_deref = { level = "allow", priority = 2 } # false positives
nonminimal-bool = { level = "allow", priority = 2 } # maybe
option-map-unit-fn = { level = "allow", priority = 2 } # stylistic
stable_sort_primitive = { level = "allow", priority = 2 } # prefer stable sort
too-many-arguments = { level = "allow", priority = 2 } # (Turning this on would lead to)
type_complexity = { level = "allow", priority = 2 }
unit_arg = { level = "allow", priority = 2 } # stylistic
unnecessary_cast = { level = "allow", priority = 2 } # Types may change
useless_conversion = { level = "allow", priority = 2 } # Types may change
while_immutable_condition = { level = "allow", priority = 2 } # false positives
zero-prefixed-literal = { level = "allow", priority = 2 } # 00_1000_000
[profile.release]
panic = "unwind"
[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
[workspace.dependencies]
anyhow = "1.0.81"
async-trait = "0.1"
assert_cmd = "2.0.14"
cardano-serialization-lib = { default-features = false, version = "14.1.2" }
cbor_event = { version = "2.4.0" }
colored = { version = "3.0.0" }
clap = { version = "4.5", features = ["derive"] }
ed25519-zebra = { version = "4.0.3" }
ed25519 = { version = "2.2.2" }
figment = { version = "0.10.19", features = ["env", "test"] }
fraction = { version = "0.15.3", default-features = false }
futures = { version = "0.3.31", features = ["thread-pool"] }
hex = { version = "0.4.3", features = ["alloc"], default-features = false }
hex-literal = "1.0.0"
itertools = "0.14.0"
jsonrpsee = { version = "0.24", features = ["client-core", "server", "macros"] }
libp2p-identity = "0.2"
log = { version = "0.4", default-features = false }
minicbor = { version = "0.25.1", features = ["alloc"] }
num-bigint = { version = "0.4.3", default-features = false }
num-traits = { version = "0.2.17", default-features = false }
parity-scale-codec = { package = "parity-scale-codec", version = "3.7.5", default-features = false, features = [
"derive",
"max-encoded-len",
] }
quickcheck = { version = "1.0.3" }
pallas-primitives = { version = "0.32.1" }
proptest = { version = "1.7.0" }
scale-info = { version = "2.11.1", default-features = false, features = [
"derive",
] }
testcontainers = { version = "0.25.0" }
quickcheck_macros = { version = "1" }
quote = "1.0"
rand_chacha = { version = "0.9.0", default-features = false }
rand = { version = "0.9.1", default-features = false }
tokio-retry = { version = "0.3" }
secp256k1 = { version = "0.30.0", default-features = false }
k256 = { version = "0.13.4", default-features = false }
serde = { version = "1.0.209", default-features = false, features = [
"derive",
"alloc",
] }
serde_json = { version = '1.0.132', default-features = false, features = [
"alloc",
] }
syn = "2.0"
tempfile = "3.10.1"
thiserror = { version = "2.0", default-features = false }
time = { version = "0.3.36", default-features = false }
tokio = { version = "1.46", features = ["rt-multi-thread", "macros"] }
uplc = { version = "1.1.6" }
lru = { version = "0.16.0" }
pretty_assertions = { version = "1.4.1" }
derive_more = { version = "2.0.1", default-features = false }
num-derive = { version = "0.4.2" }
env_logger = { version = "0.11.8" }
bigdecimal = { version = "0.4.8" }
blake2b_simd = { version = "1.0.2", default-features = false }
sealed_test = { version = "1.0.0" }
derive-new = { version = "0.7.0" }
inquire = { version = "0.7.5" }
parking_lot = { version = "0.12.4", default-features = false }
envy = { version = "0.4.2" }
log4rs = { version = "1.3.0" }
bech32 = { version = "0.11.0", default-features = false }
sqlx = { version = "0.8.6", default-features = false, features = [
"runtime-tokio-rustls",
"postgres",
"macros",
"chrono",
"migrate",
"bigdecimal",
] }
derive-where = { version = "1.2.7", default-features = false }
once_cell = { version = "1.21.3", default-features = false }
paste = { version = "1.0.15" }
fork-tree = { version = "13.0.1" }
ureq = { version = "3.1.2", default-features = false }
url = { version = "2.5.7", default-features = false }
blockfrost-openapi = { version = "0.1.75", default-features = false }
chrono = { version = "0.4.31", default-features = false }
# substrate dependencies
frame-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
frame-executive = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
frame-support = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
frame-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
frame-system-benchmarking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
frame-system-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
frame-try-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-balances = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-sudo = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-transaction-payment = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-transaction-payment-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-basic-authorship = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-cli = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-client-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-client-db = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-consensus-grandpa-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-executor = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-network = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-network-test = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-rpc = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-rpc-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-service = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-telemetry = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-transaction-pool-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sc-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-api = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-application-crypto = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-block-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-blockchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-consensus = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-consensus-aura = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-consensus-grandpa = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-consensus-slots = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-core = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-crypto-hashing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-genesis-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-inherents = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-io = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-keyring = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-keystore = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-offchain = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-runtime = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-session = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-tracing = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-staking = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-std = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-timestamp = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-transaction-pool = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-version = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-storage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
sp-weights = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
substrate-build-script-utils = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
substrate-frame-rpc-system = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
substrate-prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
substrate-test-runtime-client = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
substrate-wasm-builder = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-scheduler = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-preimage = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
pallet-parameters = { default-features = false, git = "https://github.com/paritytech/polkadot-sdk.git", tag = "polkadot-stable2509" }
raw-scripts = { git = "https://github.com/input-output-hk/partner-chains-smart-contracts.git", tag = "v8.2.0" }
# local dependencies
# utils
plutus = { path = "toolkit/utils/plutus", default-features = false }
plutus-datum-derive = { default-features = false, path = "toolkit/utils/plutus/plutus-datum-derive" }
byte-string-derive = { default-features = false, path = "toolkit/utils/byte-string-derivation" }
ogmios-client = { path = "toolkit/utils/ogmios-client", default-features = false }
time-source = { path = "toolkit/utils/time-source" }
db-sync-sqlx = { path = "toolkit/utils/db-sync-sqlx" }
# smart contracts
partner-chains-plutus-data = { path = "toolkit/smart-contracts/plutus-data", default-features = false }
partner-chains-cardano-offchain = { path = "toolkit/smart-contracts/offchain", default-features = false }
partner-chains-smart-contracts-commands = { path = "toolkit/smart-contracts/commands", default-features = false }
cli-commands = { path = "toolkit/cli/commands" }
partner-chains-node-commands = { path = "toolkit/cli/node-commands" }
partner-chains-cli = { path = "toolkit/partner-chains-cli", default-features = false }
pallet-address-associations = { path = "toolkit/address-associations/pallet", default-features = false }
# sidechain core
sidechain-domain = { path = "toolkit/sidechain/domain", default-features = false }
sidechain-mc-hash = { path = "toolkit/sidechain/sidechain-mc-hash", default-features = false }
sp-sidechain = { path = "toolkit/sidechain/primitives", default-features = false }
pallet-sidechain = { path = "toolkit/sidechain/pallet", default-features = false }
pallet-sidechain-rpc = { path = "toolkit/sidechain/rpc", default-features = false }
# committee selection
selection = { path = "toolkit/committee-selection/selection", default-features = false }
sp-session-validator-management = { default-features = false, path = "toolkit/committee-selection/primitives" }
sp-session-validator-management-query = { default-features = false, path = "toolkit/committee-selection/query" }
pallet-session-validator-management = { default-features = false, path = "toolkit/committee-selection/pallet" }
pallet-session-validator-management-rpc = { path = "toolkit/committee-selection/rpc" }
authority-selection-inherents = { path = "toolkit/committee-selection/authority-selection-inherents", default-features = false }
# substrate extensions
sc-partner-chains-consensus-aura = { path = "substrate-extensions/aura/consensus", default-features = false }
sp-partner-chains-consensus-aura = { path = "substrate-extensions/aura/primitives", default-features = false }
# block production and rewards
pallet-block-production-log = { path = "toolkit/block-production-log/pallet", default-features = false }
pallet-block-participation = { path = "toolkit/block-participation/pallet", default-features = false }
sp-block-participation = { path = "toolkit/block-participation/primitives", default-features = false }
# block producer fees
pallet-block-producer-fees = { path = "toolkit/block-producer-fees/pallet", default-features = false }
pallet-block-producer-fees-rpc = { path = "toolkit/block-producer-fees/rpc", default-features = false }
sp-block-producer-fees = { path = "toolkit/block-producer-fees/primitives", default-features = false }
# block producer metadata
pallet-block-producer-metadata = { path = "toolkit/block-producer-metadata/pallet", default-features = false }
pallet-block-producer-metadata-rpc = { path = "toolkit/block-producer-metadata/rpc", default-features = false }
sp-block-producer-metadata = { path = "toolkit/block-producer-metadata/primitives", default-features = false }
# Data Sources
partner-chains-db-sync-data-sources = { path = "toolkit/data-sources/db-sync" }
partner-chains-dolos-data-sources = { path = "toolkit/data-sources/dolos" }
partner-chains-mock-data-sources = { path = "toolkit/data-sources/mock", default-features = false }
partner-chains-data-source-metrics = { path = "toolkit/data-sources/metrics" }
# Governed Map
sp-governed-map = { path = "toolkit/governed-map/primitives", default-features = false }
pallet-governed-map = { path = "toolkit/governed-map/pallet", default-features = false }
# Bridge
sp-partner-chains-bridge = { path = "toolkit/bridge/primitives", default-features = false }
pallet-partner-chains-bridge = { path = "toolkit/bridge/pallet", default-features = false }
# demo node
partner-chains-demo-runtime = { path = "demo/runtime" }