Cargo.toml 5.1 KB

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