forked from StellarFlow-Network/stellarflow-contracts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
73 lines (66 loc) · 2.63 KB
/
Copy pathCargo.toml
File metadata and controls
73 lines (66 loc) · 2.63 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
[package]
name = "stellarflow-contracts"
version = "0.1.0"
edition = "2021"
authors = ["StellarFlow Network"]
description = "StellarFlow smart contracts with time-locked upgrade mechanism"
[workspace]
members = [
"contracts/analytics-engine",
"contracts/governance-invariants",
"contracts/hello-world",
"contracts/ledger-time-helper",
"contracts/liquidity-lock",
"contracts/linear-vesting",
"contracts/price-oracle",
"contracts/reward-splitter",
"contracts/gas-tank",
"contracts/relayer-allowance",
"contracts/stop-loss-trigger",
"contracts/shielded-remittance-escrow",
"tests/benchmarks",
"tests/fuzz",
]
# tests/fuzz/fuzz/ is the cargo-fuzz coverage-guided target subcrate.
# It depends on libfuzzer-sys, which only builds on nightly Rust, so it
# must be excluded from this stable-Rust workspace. We list it explicitly
# in `exclude` (defensive — cargo does not auto-discover workspace
# members from subdirectories of listed members, but the explicit entry
# protects against future contributors who assume auto-discovery) so
# `cargo test --workspace` stays runnable on the project's default
# toolchain. cargo-fuzz finds the subcrate via its own discovery from
# tests/fuzz/fuzz/Cargo.toml.
exclude = ["tests/fuzz/fuzz"]
resolver = "2"
[workspace.dependencies]
# Features named here are inherited by every member that writes
# `soroban-sdk.workspace = true`, and a member's `default-features = false`
# cannot drop them. Listing `testutils` here therefore forced it into the
# *normal* dependency graph — including `ledger-time-helper`, which the root
# crate depends on — and `testutils` needs `std` and `rand`, so the release
# WASM build could not compile. Every member already asks for it explicitly in
# its own [dev-dependencies].
soroban-sdk = { version = "=20.0.0", default-features = false }
[dependencies]
# No `testutils` here: it pulls in `std` and `rand`, which do not build for
# wasm32-unknown-unknown, so enabling it in [dependencies] broke the release
# WASM build outright. Tests get it from [dev-dependencies] below.
soroban-sdk = { version = "=20.0.0", default-features = false }
soroban-token-sdk = { version = "=20.0.0", default-features = false }
ledger-time-helper = { path = "contracts/ledger-time-helper" }
[dev-dependencies]
soroban-sdk = { version = "=20.0.0", default-features = false, features = ["testutils"] }
ed25519-dalek = "2.0.0"
[lib]
crate-type = ["cdylib", "rlib"]
[profile.release]
opt-level = "z"
overflow-checks = true
debug = 0
strip = "symbols"
debug-assertions = false
panic = "abort"
codegen-units = 1
lto = true
[patch.crates-io]
ethnum = { path = "ethnum-patched" }