Cargo.toml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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. toml = {version = "0.5.8", optional = true}
  29. serde = {version = "1.0.133", features = ["derive"], optional = true}
  30. serde_json = {version = "1.0.74", optional = true}
  31. # Utilities
  32. clap = {version = "3.0.7", features = ["derive"], optional = true}
  33. dirs = {version = "4.0.0", optional = true}
  34. url = {version = "2.2.2", optional = true}
  35. # Misc
  36. num-bigint = {version = "0.4.3", optional = true}
  37. termion = {version = "1.5.6", optional = true}
  38. # Websockets
  39. tungstenite = {version = "0.16.0", optional = true}
  40. async-tungstenite = {version = "0.16.1", optional = true}
  41. # Blockchain
  42. [dependencies.rocksdb]
  43. # TODO: Revert to upstream after bd966750ec861d687913d59a9939a1408ac53131 is merged.
  44. git = "https://github.com/parazyd/rust-rocksdb"
  45. rev = "bd966750ec861d687913d59a9939a1408ac53131"
  46. default-features = false
  47. features = ["zstd"]
  48. optional = true
  49. [features]
  50. async-runtime = ["async-std", "async-channel", "async-executor", "async-trait", "futures", "smol"]
  51. async-net = ["async-native-tls", "native-tls"]
  52. websockets = ["tungstenite", "async-tungstenite"]
  53. util = ["hex", "serde", "serde_json", "dirs", "num-bigint"]
  54. rpc = ["async-runtime", "async-net", "util", "websockets", "url"]
  55. chain = ["async-runtime", "rocksdb", "util"]
  56. tui = ["async-std", "termion"]
  57. system = ["async-runtime"]
  58. cli = ["toml", "serde", "clap", "util"]
  59. net = ["async-runtime", "util", "system"]
  60. # [dependencies.halo2_gadgets]
  61. # git = "https://github.com/parazyd/halo2_gadgets.git"
  62. # rev = "b45c527276bb2309f3b256eb5f45ccdcc5bd8c0f"
  63. # features = ["dev-graph", "test-dependencies"]
  64. # [dependencies]
  65. # # Crypto
  66. # halo2 = {version = "=0.1.0-beta.1", features = ["dev-graph", "gadget-traces", "sanity-checks"]}
  67. # incrementalmerkletree = "0.2.0"
  68. # pasta_curves = "0.2.1"
  69. # rand = "0.8.4"
  70. # num-bigint = {version = "0.4.3", features = ["rand", "serde"]}
  71. # blake2b_simd = "1.0.0"
  72. # group = "0.11.0"
  73. # crypto_api_chachapoly = "0.5.0"
  74. # arrayvec = "0.7.2"
  75. # sha2 = "0.9.8"
  76. # # Encoding and parsing
  77. # bincode = "1.3.3"
  78. # bs58 = "0.4.0"
  79. # bytes = "1.1.0"
  80. # hex = "0.4.3"
  81. # toml = "0.5.8"
  82. # url = "2.2.2"
  83. # serde_json = "1.0.72"
  84. # serde = {version = "1.0.130", features = ["derive"]}
  85. # # Async
  86. # async-std = "1.10.0"
  87. # async-trait = "0.1.51"
  88. # async-channel = "1.6.1"
  89. # native-tls = "0.2.8"
  90. # async-native-tls = "0.4.0"
  91. # async-executor = "1.4.1"
  92. # futures = "0.3.17"
  93. # smol = "1.2.5"
  94. # # Utilities
  95. # anyhow = "1.0.49"
  96. # clap = { version = "3.0.0", features = ["derive"] }
  97. # dirs = "4.0.0"
  98. # failure = "0.1.8"
  99. # lazy_static = "1.4.0"
  100. # log = "0.4.14"
  101. # num_cpus = "1.13.0"
  102. # signal-hook = "0.3.10"
  103. # simplelog = "0.11.1"
  104. # subtle = "2.4.1"
  105. # thiserror = "1.0.30"
  106. # # Used for Websockets client implementation.
  107. # async-tungstenite = "0.16.0"
  108. # tungstenite = "0.16.0"
  109. # #tui dependencies
  110. # crossbeam-channel = { version = "0.5.1", optional = true}
  111. # libc = { version = "0.2.112", optional = true}
  112. # termion = { version = "1.5.6", optional = true}
  113. # # node dependencies
  114. # ## Used for wallet management.
  115. # sqlx = {version = "0.5.10", features = ["runtime-async-std-native-tls", "sqlite"], optional = true}
  116. # libsqlite3-sys = {version = "0.23.1", features = ["bundled-sqlcipher"], optional = true }
  117. # ## Used for gatewayd network transport.
  118. # zeromq = {version = "0.3.1", default-features = false, features = ["async-std-runtime", "all-transport"], optional = true }
  119. # signal-hook-async-std = {version = "0.2.1", optional = true}
  120. # [workspace]
  121. # members = ["bin/drk", "bin/darkfid", "bin/gateway"]
  122. # exclude = ["bin/cashier", "bin/ircd", "bin/map"]
  123. # [features]
  124. # chain = ["rocksdb"]
  125. # node = ["sqlx", "libsqlite3-sys", "zeromq", "signal-hook-async-std"]
  126. # tui = ["termion", "libc", "crossbeam-channel"]
  127. # [[example]]
  128. # name = "net"
  129. # path = "example/net.rs"
  130. # required-features = ["node", "chain"]
  131. # [[example]]
  132. # name = "tui"
  133. # path = "example/tui_ex.rs"
  134. # required-features = ["tui"]
  135. # [[example]]
  136. # name = "vm"
  137. # path = "example/vm.rs"
  138. # [[example]]
  139. # name = "vm_burn"
  140. # path = "example/vm_burn.rs"
  141. # [[example]]
  142. # name = "tx"
  143. # path = "example/tx.rs"
  144. # required-features = ["node"]
  145. # [[example]]
  146. # name = "tree"
  147. # path = "example/tree.rs"