Cargo.toml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. [workspace]
  2. members = [
  3. "crates/*",
  4. ]
  5. exclude = [
  6. "fuzz",
  7. ]
  8. resolver = "2"
  9. [workspace.lints.rust]
  10. unsafe_code = "forbid"
  11. # unreachable_pub = "warn"
  12. missing_debug_implementations = "warn"
  13. missing_docs = "warn"
  14. [workspace.lints.clippy]
  15. # pedantic = { level = "warn", priority = -1 }
  16. # nursery = { level = "warn", priority = -1 }
  17. unwrap_used = "deny"
  18. # clone_on_ref_ptr = "warn"
  19. # missing_errors_doc = "warn"
  20. missing_panics_doc = "warn"
  21. missing_safety_doc = "warn"
  22. # redundant_else = "warn"
  23. # redundant_closure_for_method_calls = "warn"
  24. # unneeded_field_pattern = "warn"
  25. use_debug = "warn"
  26. large_enum_variant = "warn"
  27. [workspace.lints.rustdoc]
  28. bare_urls = "warn"
  29. [workspace.package]
  30. edition = "2021"
  31. rust-version = "1.85.0"
  32. license = "MIT"
  33. homepage = "https://github.com/cashubtc/cdk"
  34. repository = "https://github.com/cashubtc/cdk.git"
  35. version = "0.14.0"
  36. readme = "README.md"
  37. [workspace.dependencies]
  38. anyhow = "1"
  39. async-trait = "0.1"
  40. axum = { version = "0.8.1", features = ["ws"] }
  41. bitcoin = { version = "0.32.2", features = ["base64", "serde", "rand", "rand-std"] }
  42. bip39 = { version = "2.0", features = ["rand"] }
  43. jsonwebtoken = "9.2.0"
  44. cashu = { path = "./crates/cashu", version = "=0.14.0" }
  45. cdk = { path = "./crates/cdk", default-features = false, version = "=0.14.0" }
  46. cdk-common = { path = "./crates/cdk-common", default-features = false, version = "=0.14.0" }
  47. cdk-axum = { path = "./crates/cdk-axum", default-features = false, version = "=0.14.0" }
  48. cdk-cln = { path = "./crates/cdk-cln", version = "=0.14.0" }
  49. cdk-lnbits = { path = "./crates/cdk-lnbits", version = "=0.14.0" }
  50. cdk-lnd = { path = "./crates/cdk-lnd", version = "=0.14.0" }
  51. cdk-ldk-node = { path = "./crates/cdk-ldk-node", version = "=0.14.0" }
  52. cdk-fake-wallet = { path = "./crates/cdk-fake-wallet", version = "=0.14.0" }
  53. cdk-ffi = { path = "./crates/cdk-ffi", version = "=0.14.0" }
  54. cdk-payment-processor = { path = "./crates/cdk-payment-processor", default-features = true, version = "=0.14.0" }
  55. cdk-mint-rpc = { path = "./crates/cdk-mint-rpc", version = "=0.14.0" }
  56. cdk-redb = { path = "./crates/cdk-redb", default-features = true, version = "=0.14.0" }
  57. cdk-sql-common = { path = "./crates/cdk-sql-common", default-features = true, version = "=0.14.0" }
  58. cdk-sqlite = { path = "./crates/cdk-sqlite", default-features = true, version = "=0.14.0" }
  59. cdk-postgres = { path = "./crates/cdk-postgres", default-features = true, version = "=0.14.0" }
  60. cdk-signatory = { path = "./crates/cdk-signatory", version = "=0.14.0", default-features = false }
  61. cdk-mintd = { path = "./crates/cdk-mintd", version = "=0.14.0", default-features = false }
  62. cdk-prometheus = { path = "./crates/cdk-prometheus", version = "=0.14.0", default-features = false }
  63. cdk-npubcash = { path = "./crates/cdk-npubcash", version = "=0.14.0" }
  64. cdk-http-client = { path = "./crates/cdk-http-client", version = "=0.14.0" }
  65. clap = { version = "4.5.31", features = ["derive"] }
  66. ciborium = { version = "0.2.2", default-features = false, features = ["std"] }
  67. cbor-diag = "0.1.12"
  68. config = { version = "0.15.11", features = ["toml"] }
  69. criterion = "0.6.0"
  70. futures = { version = "0.3.28", default-features = false, features = ["async-await"] }
  71. lightning-invoice = { version = "0.34.0", features = ["serde", "std"] }
  72. lightning = { version = "0.2.0", default-features = false, features = ["std"]}
  73. ldk-node = "0.7.0"
  74. serde = { version = "1", features = ["derive", "rc"] }
  75. serde_json = "1"
  76. thiserror = { version = "2" }
  77. tokio = { version = "1", default-features = false, features = ["rt", "macros", "test-util", "sync"] }
  78. tokio-util = { version = "0.7.11", default-features = false }
  79. tower = "0.5.2"
  80. tower-http = { version = "0.6.1", features = ["compression-full", "decompression-full", "cors", "trace", "fs"] }
  81. tokio-tungstenite = { version = "0.26.0", default-features = false }
  82. tokio-stream = "0.1.15"
  83. tracing = { version = "0.1", default-features = false, features = ["attributes", "log"] }
  84. tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
  85. tracing-appender = "0.2"
  86. url = "2.3"
  87. uuid = { version = "1.17", features = ["v4", "serde"] }
  88. utoipa = { version = "5.3.1", features = [
  89. "preserve_order",
  90. "preserve_path_order",
  91. ]}
  92. serde_with = "3"
  93. reqwest = { version = "0.12", default-features = false, features = [
  94. "json",
  95. "rustls-tls",
  96. "rustls-tls-native-roots",
  97. "socks",
  98. "zstd",
  99. "brotli",
  100. "gzip",
  101. "deflate",
  102. ]}
  103. once_cell = "1.20.2"
  104. web-time = "1.1.0"
  105. rand = "0.9.1"
  106. regex = "1"
  107. home = "0.5.5"
  108. tonic = { version = "0.14.2", default-features = false }
  109. tonic-prost = "0.14.2"
  110. tonic-prost-build = "0.14.2"
  111. prost = "0.14"
  112. strum = "0.27.1"
  113. strum_macros = "0.27.1"
  114. rustls = { version = "0.23.27", default-features = false, features = ["ring"] }
  115. prometheus = { version = "0.13.4", features = ["process"], default-features = false }
  116. nostr-sdk = { version = "0.44.1", default-features = false, features = [
  117. "nip04",
  118. "nip44",
  119. "nip59"
  120. ]}
  121. [workspace.metadata]
  122. authors = ["CDK Developers"]
  123. description = "Cashu Development Kit"
  124. readme = "README.md"
  125. repository = "https://github.com/cashubtc/cdk"
  126. license-file = "LICENSE"
  127. keywords = ["bitcoin", "e-cash", "cashu"]
  128. [profile.ci]
  129. inherits = "dev"
  130. incremental = false
  131. lto = "off"
  132. [profile.release-smaller]
  133. inherits = "release"
  134. opt-level = 'z' # Optimize for size.
  135. lto = true # Enable Link Time Optimization
  136. codegen-units = 1 # Reduce number of codegen units to increase optimizations.
  137. panic = "abort" # Abort on panic
  138. strip = "debuginfo" # Partially strip symbols from binary
  139. [workspace.metadata.crane]
  140. name = "cdk-workspace"