/ Cargo.toml
Cargo.toml
  1  [workspace]
  2  members = [
  3      "crypto/aead",
  4      "crypto/derive-secret",
  5      "crypto/hkdf",
  6      "crypto/tbs",
  7      "crypto/tpe",
  8      "docs",
  9      "gateway/ln-gateway",
 10      "gateway/cli",
 11      "gateway/integration_tests",
 12      "fedimintd",
 13      "fedimint-bip39",
 14      "fedimint-bitcoind",
 15      "fedimint-cli",
 16      "fedimint-client",
 17      "fedimint-core",
 18      "fedimint-api-client",
 19      "fedimint-dbtool",
 20      "fedimint-derive",
 21      "fedimint-load-test-tool",
 22      "fedimint-logging",
 23      "fedimint-metrics",
 24      "fedimint-rocksdb",
 25      "fedimint-server",
 26      "fedimint-testing",
 27      "fedimint-wasm-tests",
 28      "fuzz",
 29      "modules/fedimint-empty-common",
 30      "modules/fedimint-empty-client",
 31      "modules/fedimint-empty-server",
 32      "modules/fedimint-dummy-common",
 33      "modules/fedimint-dummy-client",
 34      "modules/fedimint-dummy-server",
 35      "modules/fedimint-meta-common",
 36      "modules/fedimint-meta-client",
 37      "modules/fedimint-meta-server",
 38      "modules/fedimint-meta-tests",
 39      "modules/fedimint-unknown-common",
 40      "modules/fedimint-unknown-server",
 41      "modules/fedimint-dummy-tests",
 42      "modules/fedimint-mint-common",
 43      "modules/fedimint-mint-client",
 44      "modules/fedimint-mint-server",
 45      "modules/fedimint-mint-tests",
 46      "modules/fedimint-ln-common",
 47      "modules/fedimint-ln-client",
 48      "modules/fedimint-ln-server",
 49      "modules/fedimint-ln-tests",
 50      "modules/fedimint-lnv2-common",
 51      "modules/fedimint-lnv2-client",
 52      "modules/fedimint-lnv2-server",
 53      "modules/fedimint-lnv2-tests",
 54      "modules/fedimint-wallet-common",
 55      "modules/fedimint-wallet-client",
 56      "modules/fedimint-wallet-server",
 57      "modules/fedimint-wallet-tests",
 58      "utils/portalloc",
 59      "devimint",
 60      "fedimint-build",
 61      "recoverytool"
 62  ]
 63  resolver = "2"
 64  
 65  [workspace.package]
 66  name = "fedimint"
 67  version = "0.4.0-alpha"
 68  
 69  [workspace.metadata]
 70  name = "fedimint"
 71  authors = ["The Fedimint Developers"]
 72  edition = "2021"
 73  description = "Fedimint is a prototype Federated Chaumian E-Cash Mint implementation, natively compatible with Bitcoin & the Lightning Network. This project is under heavy development, DO NOT USE WITH REAL FUNDS."
 74  documentation = "https://github.com/fedimint/fedimint/tree/master/docs"
 75  readme = "README.md"
 76  homepage = "https://fedimint.org"
 77  repository = "https://github.com/fedimint/fedimint"
 78  license-file = "LICENSE"
 79  keywords = ["bitcoin", "lightning", "chaumian", "e-cash", "federated"]
 80  
 81  [workspace.dependencies]
 82  criterion = { version = "0.5.1" }
 83  threshold_crypto = { version = "0.2.1", package = "fedimint-threshold-crypto" }
 84  tonic_lnd = { version = "0.2.0", package="fedimint-tonic-lnd", features = ["lightningrpc", "routerrpc"] }
 85  cln-rpc = "0.1.8"
 86  clap = { version = "4.5.4", features = ["derive", "std", "help", "usage", "error-context", "suggestions", "env"], default-features = false }
 87  serde = { version = "1.0.201", features = ["derive"] }
 88  serde-big-array = "0.5.1"
 89  serde_json = "1.0.117"
 90  serdect = "0.2.0"
 91  bls12_381 = "0.8.0"
 92  group = "0.13.0"
 93  itertools = "0.12.1"
 94  anyhow = "1.0.83"
 95  bitcoin_hashes = "0.12.0"
 96  rand = "0.8.5"
 97  rand_chacha = "0.3.1"
 98  tracing = "0.1.40"
 99  bitcoin = "0.30.2"
100  bitcoincore-rpc = "0.17.0"
101  semver = "1.0.23"
102  strum = "0.26"
103  strum_macros = "0.26"
104  futures = "0.3.30"
105  futures-util = "0.3.30"
106  lightning-invoice = { version = "0.30.0", features = [ "serde" ] }
107  thiserror = "1.0.60"
108  tokio = { version = "1.37.0", features = ["sync", "io-util"] }
109  url = "2.5.0"
110  erased-serde = "0.4"
111  async-trait = "0.1.80"
112  bincode = "1.3.3"
113  tokio-rustls = "0.24.1"
114  hex = "0.4.3"
115  assert_matches = "1.5.0"
116  devimint = { path = "./devimint" }
117  fedimint-core = { path = "./fedimint-core" }
118  fedimint-ln-client = { path = "./modules/fedimint-ln-client" }
119  fedimint-api-client = { path = "./fedimint-api-client" }
120  fedimint-logging = { path = "./fedimint-logging" }
121  
122  # Workaround: https://github.com/rust-lang/cargo/issues/12457 which causes
123  #             https://github.com/ipetkov/crane/issues/370
124  [profile.dev.build-override]
125  debug = false
126  opt-level = 1
127  
128  [profile.ci.build-override]
129  debug = false
130  opt-level = 1
131  
132  [profile.dev.package."*"] # external dependencies
133  opt-level = 1
134  
135  # in dev mode optimize crates that are perf-critical (usually just crypto crates)
136  [profile.dev.package]
137  secp256k1 = { opt-level = 3 }
138  secp256k1-zkp = { opt-level = 3 }
139  secp256k1-sys = { opt-level = 3 }
140  secp256k1-zkp-sys = { opt-level = 3 }
141  bitcoin_hashes = { opt-level = 3 }
142  ff = { opt-level = 3 }
143  group = { opt-level = 3 }
144  pairing = { opt-level = 3 }
145  rand_core = { opt-level = 3 }
146  byteorder = { opt-level = 3 }
147  zeroize = { opt-level = 3 }
148  bls12_381 = { opt-level = 3 }
149  subtle = { opt-level = 3 }
150  ring = { opt-level = 3 }
151  fedimint-threshold-crypto = { opt-level = 3 }
152  aleph-bft-crypto = { opt-level = 3 }
153  aleph-bft-rmc = { opt-level = 3 }
154  aleph-bft-types = { opt-level = 3 }
155  
156  [profile.ci]
157  inherits = "dev"
158  debug = "line-tables-only"
159  incremental = false
160  
161  [profile.release]
162  debug = "line-tables-only"