/ fedimint-core / Cargo.toml
Cargo.toml
 1  [package]
 2  name = "fedimint-core"
 3  version = {workspace = true}
 4  authors = ["The Fedimint Developers"]
 5  edition = "2021"
 6  description = "fedimint-core provides common code used by both client and server."
 7  license = "MIT"
 8  readme = "../README.md"
 9  repository = "https://github.com/fedimint/fedimint"
10  
11  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
12  
13  [lib]
14  name = "fedimint_core"
15  path = "src/lib.rs"
16  
17  [dependencies]
18  async-recursion = "1.1.1"
19  anyhow = { workspace = true }
20  async-trait = { workspace = true }
21  futures = { workspace = true }
22  backtrace = "0.3.71"
23  bincode = { workspace = true }
24  bech32 = "0.11.0"
25  bls12_381 = { workspace = true }
26  serdect = { workspace = true }
27  itertools = { workspace = true }
28  jsonrpsee-core = { version = "0.22.5", features = ["client"] }
29  serde = { workspace = true }
30  serde_json = { workspace = true }
31  strum = { workspace = true }
32  strum_macros = { workspace = true }
33  hex = { version = "0.4.3", features = ["serde"] }
34  thiserror = { workspace = true }
35  tracing = { workspace = true }
36  threshold_crypto = { workspace = true }
37  url = { version = "2.5.0", features = ["serde"] }
38  bitcoin29 = { package = "bitcoin", version = "0.29.2", features = ["rand", "serde"] }
39  bitcoin = { workspace = true }
40  bitcoin_hashes = { workspace = true }
41  erased-serde = { workspace = true }
42  lightning = "0.0.122"
43  lightning-invoice = "0.30.0"
44  fedimint-derive = { version = "=0.4.0-alpha", path = "../fedimint-derive" }
45  fedimint-logging = { version = "=0.4.0-alpha", path = "../fedimint-logging" }
46  rand = { workspace = true }
47  miniscript = { version = "10.0.0", features = ["compiler", "serde"] }
48  secp256k1-zkp = { version = "0.9.2", features = ["serde", "global-context"] }
49  secp256k1 = { version = "0.27.0", features = ["global-context", "rand-std"] }
50  macro_rules_attribute = "0.2.0"
51  bitvec = "1.0.1"
52  parity-scale-codec = { version = "3.6.12", features = ["derive"] }
53  imbl = "3.0.0"
54  backon = "=0.4.4" # don't upgrade unless really needed
55  
56  [target.'cfg(not(target_family = "wasm"))'.dependencies]
57  tokio = { version = "1.36.0", features = ["full", "tracing"] }
58  tokio-rustls = { workspace = true }
59  
60  [target.'cfg(target_family = "wasm")'.dependencies]
61  jsonrpsee-wasm-client = { version = "0.22.5", default-features = false }
62  async-lock = "3.3"
63  tokio = "1.37.0"
64  futures-util = { workspace = true }
65  # getrandom is transitive dependency of rand
66  # on wasm, we need to enable the js backend
67  # see https://docs.rs/getrandom/latest/getrandom/#indirect-dependencies and https://docs.rs/getrandom/latest/getrandom/#webassembly-support
68  getrandom = { version = "0.2.15", features = ["js"] }
69  gloo-timers = { version = "0.3.0", features = ["futures"] }
70  wasm-bindgen-futures = "0.4.42"
71  js-sys = "0.3.69"
72  
73  [dev-dependencies]
74  test-log = { version = "0.2", features = ["trace"], default-features = false }
75  once_cell = "1.19.0"
76  tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
77  tokio-test = "0.4.4"
78  
79  [package.metadata.cargo-udeps.ignore]
80  development = ["tokio-test"]