Cargo.toml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. [package]
  2. name = "cdk"
  3. version.workspace = true
  4. edition.workspace = true
  5. authors = ["CDK Developers"]
  6. description = "Core Cashu Development Kit library implementing the Cashu protocol"
  7. homepage = "https://github.com/cashubtc/cdk"
  8. repository = "https://github.com/cashubtc/cdk.git"
  9. rust-version.workspace = true # MSRV
  10. license.workspace = true
  11. [features]
  12. default = ["mint", "wallet", "auth", "nostr", "bip353"]
  13. wallet = ["dep:futures", "dep:reqwest", "cdk-common/wallet", "dep:rustls"]
  14. nostr = ["wallet", "dep:nostr-sdk"]
  15. mint = ["dep:futures", "dep:reqwest", "cdk-common/mint", "cdk-signatory"]
  16. auth = ["dep:jsonwebtoken", "cdk-common/auth", "cdk-common/auth"]
  17. bip353 = ["dep:hickory-resolver"]
  18. # We do not commit to a MSRV with swagger enabled
  19. swagger = ["mint", "dep:utoipa", "cdk-common/swagger"]
  20. bench = []
  21. http_subscription = []
  22. prometheus = ["dep:cdk-prometheus"]
  23. [dependencies]
  24. cdk-common.workspace = true
  25. cbor-diag.workspace = true
  26. async-trait.workspace = true
  27. anyhow.workspace = true
  28. bitcoin.workspace = true
  29. ciborium.workspace = true
  30. lightning.workspace = true
  31. lightning-invoice.workspace = true
  32. regex.workspace = true
  33. reqwest = { workspace = true, optional = true }
  34. serde.workspace = true
  35. serde_json.workspace = true
  36. serde_with.workspace = true
  37. tracing.workspace = true
  38. thiserror.workspace = true
  39. futures = { workspace = true, optional = true, features = ["alloc"] }
  40. url.workspace = true
  41. utoipa = { workspace = true, optional = true }
  42. uuid.workspace = true
  43. jsonwebtoken = { workspace = true, optional = true }
  44. nostr-sdk = { optional = true, version = "0.43.0", default-features = false, features = [
  45. "nip04",
  46. "nip44",
  47. "nip59"
  48. ]}
  49. cdk-prometheus = {workspace = true, optional = true}
  50. web-time.workspace = true
  51. # -Z minimal-versions
  52. sync_wrapper = "0.1.2"
  53. bech32 = "0.9.1"
  54. arc-swap = "1.7.1"
  55. zeroize = "1"
  56. tokio-util.workspace = true
  57. [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
  58. hickory-resolver = { version = "0.25.2", optional = true, features = ["dnssec-ring"] }
  59. tokio = { workspace = true, features = [
  60. "rt-multi-thread",
  61. "time",
  62. "macros",
  63. "sync",
  64. ] }
  65. getrandom = { version = "0.2" }
  66. cdk-signatory = { workspace = true, features = ["grpc"], optional = true }
  67. tokio-tungstenite = { workspace = true, features = [
  68. "rustls",
  69. "rustls-tls-native-roots",
  70. "connect"
  71. ] }
  72. rustls = { workspace = true, optional = true }
  73. [target.'cfg(target_arch = "wasm32")'.dependencies]
  74. tokio = { workspace = true, features = ["rt", "macros", "sync", "time"] }
  75. cdk-signatory = { workspace = true, default-features = false }
  76. getrandom = { version = "0.2", features = ["js"] }
  77. ring = { version = "0.17.14", features = ["wasm32_unknown_unknown_js"] }
  78. uuid = { workspace = true, features = ["js"] }
  79. wasm-bindgen = "0.2"
  80. wasm-bindgen-futures = "0.4"
  81. gloo-timers = { version = "0.3", features = ["futures"] }
  82. [[example]]
  83. name = "mint-token"
  84. required-features = ["wallet"]
  85. [[example]]
  86. name = "melt-token"
  87. required-features = ["wallet"]
  88. [[example]]
  89. name = "p2pk"
  90. required-features = ["wallet"]
  91. [[example]]
  92. name = "wallet"
  93. required-features = ["wallet"]
  94. [[example]]
  95. name = "proof-selection"
  96. required-features = ["wallet"]
  97. [[example]]
  98. name = "auth_wallet"
  99. required-features = ["wallet", "auth"]
  100. [[example]]
  101. name = "bip353"
  102. required-features = ["wallet", "bip353"]
  103. [[example]]
  104. name = "mint-token-bolt12-with-stream"
  105. required-features = ["wallet"]
  106. [[example]]
  107. name = "mint-token-bolt12-with-custom-http"
  108. required-features = ["wallet"]
  109. [[example]]
  110. name = "mint-token-bolt12"
  111. required-features = ["wallet"]
  112. [dev-dependencies]
  113. rand.workspace = true
  114. cdk-sqlite.workspace = true
  115. bip39.workspace = true
  116. tracing-subscriber.workspace = true
  117. criterion = "0.6.0"
  118. reqwest = { workspace = true }
  119. anyhow.workspace = true
  120. ureq = { version = "3.1.0", features = ["json"] }
  121. [[bench]]
  122. name = "dhke_benchmarks"
  123. harness = false