Cargo.toml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. clap = { version = "4.5.31", features = ["derive"] }
  65. ciborium = { version = "0.2.2", default-features = false, features = ["std"] }
  66. cbor-diag = "0.1.12"
  67. config = { version = "0.15.11", features = ["toml"] }
  68. criterion = "0.6.0"
  69. futures = { version = "0.3.28", default-features = false, features = ["async-await"] }
  70. lightning-invoice = { version = "0.34.0", features = ["serde", "std"] }
  71. lightning = { version = "0.2.0", default-features = false, features = ["std"]}
  72. ldk-node = "0.7.0"
  73. serde = { version = "1", features = ["derive", "rc"] }
  74. serde_json = "1"
  75. thiserror = { version = "2" }
  76. tokio = { version = "1", default-features = false, features = ["rt", "macros", "test-util", "sync"] }
  77. tokio-util = { version = "0.7.11", default-features = false }
  78. tower = "0.5.2"
  79. tower-http = { version = "0.6.1", features = ["compression-full", "decompression-full", "cors", "trace", "fs"] }
  80. tokio-tungstenite = { version = "0.26.0", default-features = false }
  81. tokio-stream = "0.1.15"
  82. tracing = { version = "0.1", default-features = false, features = ["attributes", "log"] }
  83. tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
  84. tracing-appender = "0.2"
  85. url = "2.3"
  86. uuid = { version = "1.17", features = ["v4", "serde"] }
  87. utoipa = { version = "5.3.1", features = [
  88. "preserve_order",
  89. "preserve_path_order",
  90. ]}
  91. serde_with = "3"
  92. reqwest = { version = "0.12", default-features = false, features = [
  93. "json",
  94. "rustls-tls",
  95. "rustls-tls-native-roots",
  96. "socks",
  97. "zstd",
  98. "brotli",
  99. "gzip",
  100. "deflate",
  101. ]}
  102. once_cell = "1.20.2"
  103. web-time = "1.1.0"
  104. rand = "0.9.1"
  105. regex = "1"
  106. home = "0.5.5"
  107. tonic = { version = "0.13.1", features = ["tls-ring", "codegen", "prost", "transport"], default-features = false }
  108. prost = "0.13.1"
  109. tonic-build = "0.13.1"
  110. strum = "0.27.1"
  111. strum_macros = "0.27.1"
  112. rustls = { version = "0.23.27", default-features = false, features = ["ring"] }
  113. prometheus = { version = "0.13.4", features = ["process"], default-features = false }
  114. nostr-sdk = { version = "0.44.1", default-features = false, features = [
  115. "nip04",
  116. "nip44",
  117. "nip59"
  118. ]}
  119. [workspace.metadata]
  120. authors = ["CDK Developers"]
  121. description = "Cashu Development Kit"
  122. readme = "README.md"
  123. repository = "https://github.com/cashubtc/cdk"
  124. license-file = "LICENSE"
  125. keywords = ["bitcoin", "e-cash", "cashu"]
  126. [profile.ci]
  127. inherits = "dev"
  128. incremental = false
  129. lto = "off"
  130. [profile.release-smaller]
  131. inherits = "release"
  132. opt-level = 'z' # Optimize for size.
  133. lto = true # Enable Link Time Optimization
  134. codegen-units = 1 # Reduce number of codegen units to increase optimizations.
  135. panic = "abort" # Abort on panic
  136. strip = "debuginfo" # Partially strip symbols from binary
  137. [workspace.metadata.crane]
  138. name = "cdk-workspace"