-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathCargo.toml
More file actions
111 lines (103 loc) · 4.29 KB
/
Copy pathCargo.toml
File metadata and controls
111 lines (103 loc) · 4.29 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
[workspace]
resolver = "2"
members = [
"demo/protocol-demo",
"examples/client-cardano-block",
"examples/client-cardano-database",
"examples/client-cardano-stake-distribution",
"examples/client-cardano-transaction",
"examples/client-cardano-transaction-v2",
"examples/client-mithril-stake-distribution",
"internal/cardano-node/mithril-cardano-node-chain",
"internal/cardano-node/mithril-cardano-node-internal-database",
"internal/mithril-aggregator-client",
"internal/mithril-aggregator-discovery",
"internal/mithril-build-script",
"internal/mithril-cli-helper",
"internal/mithril-dmq",
"internal/mithril-doc",
"internal/mithril-doc-derive",
"internal/mithril-era",
"internal/mithril-file-archiver",
"internal/mithril-merkle-tree",
"internal/mithril-metric",
"internal/mithril-persistence",
"internal/mithril-protocol-config",
"internal/mithril-resource-pool",
"internal/mithril-ticker",
"internal/signed-entity/mithril-signed-entity-lock",
"internal/signed-entity/mithril-signed-entity-preloader",
"internal/tests/mithril-api-spec",
"internal/tests/mithril-test-http-server",
"mithril-aggregator",
"mithril-client",
"mithril-client-cli",
"mithril-client-wasm",
"mithril-common",
"mithril-relay",
"mithril-signer",
"mithril-stm",
"mithril-test-lab/mithril-aggregator-fake",
"mithril-test-lab/mithril-end-to-end",
]
[workspace.package]
authors = ["dev@iohk.io", "mithril-dev@iohk.io"]
documentation = "https://mithril.network/doc"
edition = "2024"
homepage = "https://mithril.network"
license = "Apache-2.0"
repository = "https://github.com/IntersectMBO/mithril/"
[workspace.dependencies]
anyhow = "1.0.103"
async-recursion = "1.1.1"
async-trait = "0.1.89"
chrono = { version = "0.4.45", features = ["serde"] }
ciborium = "0.2.2"
clap = { version = "4.6.1", features = ["derive", "env"] }
config = "0.15.25"
digest = { version = "0.10.7", features = ["alloc"] }
hex = "0.4.3"
mockall = "0.15.0"
rand_chacha = "0.3.1"
rand_core = { version = "0.6.4", features = ["std"] }
rayon = "1.12.0"
reqwest = { version = "0.13.4", default-features = false, features = ["json"] }
semver = "1.0.28"
serde = { version = "1.0.228", features = ["derive", "rc"] }
serde_json = "1.0.150"
# Pin slog to `2.7.0`: `2.8.2` introduces failures in our test suite
slog = "=2.7.0"
slog-async = "2.8.0"
slog-bunyan = "2.5.0"
slog-term = "2.9.2"
strum = { version = "0.28.0", features = ["derive"] }
thiserror = "2.0.18"
tokio = { version = "1.52.3", features = ["rt", "sync", "time"] }
tracing = "0.1.44"
warp = { version = "0.4.3", features = ["server", "websocket"] }
[profile.ci-tests]
inherits = "dev"
# Minimize the amount of debug info generated, this disables profiling (not needed in ci) but keeps backtraces with filename/line number info
debug = "line-tables-only"
# Not cached by `Swatinem/rust-cache`, so generating them is a waste of resources
incremental = false
# Variant of `ci-tests` used *only* by the `future_snark` Rust test job (selected via
# `--cargo-profile ci-tests-snark` in the matching CI matrix entry). All other test jobs keep
# using `ci-tests` and are unaffected by the `opt-level = 3` overrides below.
[profile.ci-tests-snark]
inherits = "ci-tests"
# Optimize all dependencies while leaving the workspace crates at the profile's base
# `opt-level = 0` (fast to compile, the part under active iteration). The `future_snark`
# crypto stack (`midnight-proofs`, `midnight-curves`, `midnight-circuits`, `blst`, `ff`,
# `group`, ...) does heavy proof-system arithmetic (FFTs, MSM, polynomial ops) that runs
# considerably slower unoptimized and dominates the slow circuit/proof tests. The dependency
# build cost is paid once per `Swatinem/rust-cache` key, not per CI run.
[profile.ci-tests-snark.package."*"]
opt-level = 3
# The `mithril-stm` circuit/synthesis code (cert + IVC circuits, gadget assignment) runs
# during keygen / MockProver / proving and measured as the dominant remaining hotspot after
# the dependency stack was optimized: MockProver synthesis sped up 5.6× and IVC keygen ~2.2×
# only once this crate was optimized too (deps alone gave ~1.5×). This trades slower
# incremental recompiles of `mithril-stm` for substantially faster `future_snark` test runs.
[profile.ci-tests-snark.package.mithril-stm]
opt-level = 3