Cargo.toml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. [package]
  2. name = "darkfi"
  3. version = "0.2.0"
  4. homepage = "https://dark.fi"
  5. description = "Anonymous. Uncensored. Sovereign."
  6. authors = ["darkfi <dev@dark.fi>"]
  7. repository = "https://github.com/darkrenaissance/darkfi"
  8. license = "AGPL-3.0-only"
  9. edition = "2021"
  10. [lib]
  11. name = "darkfi"
  12. [dependencies]
  13. log = "0.4.14"
  14. rand = "0.8.4"
  15. thiserror = "1.0.30"
  16. # async-runtime
  17. async-std = {version = "1.10.0", optional = true}
  18. async-channel = {version = "1.6.1", optional = true}
  19. async-executor = {version = "1.4.1", optional = true}
  20. async-trait = {version = "0.1.52", optional = true}
  21. futures = {version = "0.3.19", optional = true}
  22. smol = {version = "1.2.5", optional = true}
  23. # async-net
  24. async-native-tls = {version = "0.4.0", optional = true}
  25. native-tls = {version = "0.2.8", optional = true}
  26. # Encoding
  27. hex = {version = "0.4.3", optional = true}
  28. bs58 = {version = "0.4.0", optional = true}
  29. toml = {version = "0.5.8", optional = true}
  30. bytes = {version = "1.1.0", optional = true}
  31. serde = {version = "1.0.133", features = ["derive"], optional = true}
  32. serde_json = {version = "1.0.74", optional = true}
  33. bincode = {version = "1.3.3", optional = true}
  34. # Utilities
  35. clap = {version = "3.0.7", features = ["derive"], optional = true}
  36. dirs = {version = "4.0.0", optional = true}
  37. url = {version = "2.2.2", optional = true}
  38. lazy_static = {version = "1.4.0", optional = true}
  39. subtle = {version = "2.4.1", optional = true}
  40. # Misc
  41. num-bigint = {version = "0.4.3", optional = true}
  42. termion = {version = "1.5.6", optional = true}
  43. # Websockets
  44. tungstenite = {version = "0.16.0", optional = true}
  45. async-tungstenite = {version = "0.16.1", optional = true}
  46. # Crypto
  47. blake2b_simd = {version = "1.0.0", optional = true}
  48. pasta_curves = {version = "0.2.1", optional = true}
  49. halo2 = {version = "=0.1.0-beta.1", features = ["dev-graph", "gadget-traces", "sanity-checks"], optional = true}
  50. incrementalmerkletree = {version = "0.2.0", optional = true}
  51. arrayvec = {version = "0.7.2", optional = true}
  52. group = {version = "0.11.0", optional = true}
  53. sha2 = {version = "0.10.1", optional = true}
  54. crypto_api_chachapoly = {version = "0.5.0", optional = true}
  55. # Wallet management
  56. sqlx = {version = "0.5.10", features = ["runtime-async-std-native-tls", "sqlite"], optional = true}
  57. libsqlite3-sys = {version = "0.23.1", features = ["bundled-sqlcipher"], optional = true }
  58. # Node networking
  59. zeromq = {version = "0.3.3", default-features = false, features = ["async-std-runtime", "all-transport"], optional = true }
  60. # Node utilities
  61. signal-hook = {version = "0.3.13", optional = true}
  62. signal-hook-async-std = {version = "0.2.2", optional = true}
  63. [dependencies.rocksdb]
  64. # TODO: Revert to upstream after bd966750ec861d687913d59a9939a1408ac53131 is merged.
  65. git = "https://github.com/parazyd/rust-rocksdb"
  66. rev = "bd966750ec861d687913d59a9939a1408ac53131"
  67. default-features = false
  68. features = ["zstd"]
  69. optional = true
  70. [dependencies.halo2_gadgets]
  71. git = "https://github.com/parazyd/halo2_gadgets.git"
  72. rev = "b45c527276bb2309f3b256eb5f45ccdcc5bd8c0f"
  73. features = ["dev-graph", "test-dependencies"]
  74. optional = true
  75. [features]
  76. async-runtime = [
  77. "async-std",
  78. "async-channel",
  79. "async-executor",
  80. "async-trait",
  81. "futures",
  82. "smol",
  83. ]
  84. async-net = [
  85. "async-native-tls",
  86. "native-tls",
  87. ]
  88. websockets = [
  89. "async-tungstenite",
  90. "tungstenite",
  91. ]
  92. util = [
  93. "hex",
  94. "bincode",
  95. "serde",
  96. "serde_json",
  97. "dirs",
  98. "num-bigint"
  99. ]
  100. rpc = ["async-runtime", "async-net", "util", "websockets", "url"]
  101. chain = ["async-runtime", "rocksdb", "util"]
  102. tui = ["async-std", "termion"]
  103. system = ["async-runtime"]
  104. cli = ["toml", "serde", "clap", "util"]
  105. net = ["async-runtime", "util", "system"]
  106. crypto = ["pasta_curves", "blake2b_simd", "incrementalmerkletree", "halo2", "halo2_gadgets", "subtle", "lazy_static", "group", "util", "arrayvec", "crypto_api_chachapoly", "sha2", "bs58"]
  107. wallet = ["sqlx", "libsqlite3-sys"]
  108. node = ["url", "async-runtime", "bytes", "crypto", "wallet", "chain", "util", "zeromq", "signal-hook", "signal-hook-async-std"]
  109. # [dependencies]
  110. # # Crypto
  111. # pasta_curves = "0.2.1"
  112. # rand = "0.8.4"
  113. # num-bigint = {version = "0.4.3", features = ["rand", "serde"]}
  114. # blake2b_simd = "1.0.0"
  115. # arrayvec = "0.7.2"
  116. # sha2 = "0.9.8"
  117. # # Encoding and parsing
  118. # bincode = "1.3.3"
  119. # bs58 = "0.4.0"
  120. # bytes = "1.1.0"
  121. # hex = "0.4.3"
  122. # toml = "0.5.8"
  123. # url = "2.2.2"
  124. # serde_json = "1.0.72"
  125. # serde = {version = "1.0.130", features = ["derive"]}
  126. # # Async
  127. # async-std = "1.10.0"
  128. # async-trait = "0.1.51"
  129. # async-channel = "1.6.1"
  130. # native-tls = "0.2.8"
  131. # async-native-tls = "0.4.0"
  132. # async-executor = "1.4.1"
  133. # futures = "0.3.17"
  134. # smol = "1.2.5"
  135. # # Utilities
  136. # anyhow = "1.0.49"
  137. # clap = { version = "3.0.0", features = ["derive"] }
  138. # dirs = "4.0.0"
  139. # failure = "0.1.8"
  140. # lazy_static = "1.4.0"
  141. # log = "0.4.14"
  142. # num_cpus = "1.13.0"
  143. # simplelog = "0.11.1"
  144. # subtle = "2.4.1"
  145. # thiserror = "1.0.30"
  146. # # Used for Websockets client implementation.
  147. # async-tungstenite = "0.16.0"
  148. # tungstenite = "0.16.0"
  149. # #tui dependencies
  150. # crossbeam-channel = { version = "0.5.1", optional = true}
  151. # libc = { version = "0.2.112", optional = true}
  152. # termion = { version = "1.5.6", optional = true}
  153. # # node dependencies
  154. # ## Used for wallet management.
  155. # ## Used for gatewayd network transport.
  156. # [workspace]
  157. # members = ["bin/drk", "bin/darkfid", "bin/gateway"]
  158. # exclude = ["bin/cashier", "bin/ircd", "bin/map"]
  159. # [features]
  160. # chain = ["rocksdb"]
  161. # node = ["sqlx", "libsqlite3-sys", "zeromq", "signal-hook-async-std"]
  162. # tui = ["termion", "libc", "crossbeam-channel"]
  163. # [[example]]
  164. # name = "net"
  165. # path = "example/net.rs"
  166. # required-features = ["node", "chain"]
  167. # [[example]]
  168. # name = "tui"
  169. # path = "example/tui_ex.rs"
  170. # required-features = ["tui"]
  171. # [[example]]
  172. # name = "vm"
  173. # path = "example/vm.rs"
  174. # [[example]]
  175. # name = "vm_burn"
  176. # path = "example/vm_burn.rs"
  177. # [[example]]
  178. # name = "tx"
  179. # path = "example/tx.rs"
  180. # required-features = ["node"]
  181. # [[example]]
  182. # name = "tree"
  183. # path = "example/tree.rs"