Cargo.toml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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.halo2_gadgets]
  13. git = "https://github.com/parazyd/halo2_gadgets.git"
  14. rev = "b45c527276bb2309f3b256eb5f45ccdcc5bd8c0f"
  15. features = ["dev-graph", "test-dependencies"]
  16. # blockchain dependencies
  17. [dependencies.rocksdb]
  18. # TODO: Revert to upstream after bd966750ec861d687913d59a9939a1408ac53131 is merged.
  19. git = "https://github.com/parazyd/rust-rocksdb"
  20. rev = "bd966750ec861d687913d59a9939a1408ac53131"
  21. default-features = false
  22. features = ["zstd"]
  23. optional = true
  24. [dependencies]
  25. # Crypto
  26. halo2 = {version = "=0.1.0-beta.1", features = ["dev-graph", "gadget-traces", "sanity-checks"]}
  27. incrementalmerkletree = "0.2.0"
  28. pasta_curves = "0.2.1"
  29. rand = "0.8.4"
  30. num-bigint = {version = "0.4.3", features = ["rand", "serde"]}
  31. blake2b_simd = "1.0.0"
  32. group = "0.11.0"
  33. crypto_api_chachapoly = "0.5.0"
  34. arrayvec = "0.7.2"
  35. sha2 = "0.9.8"
  36. # Encoding and parsing
  37. bincode = "1.3.3"
  38. bs58 = "0.4.0"
  39. bytes = "1.1.0"
  40. hex = "0.4.3"
  41. toml = "0.5.8"
  42. url = "2.2.2"
  43. serde_json = "1.0.72"
  44. serde = {version = "1.0.130", features = ["derive"]}
  45. # Async
  46. async-std = "1.10.0"
  47. async-trait = "0.1.51"
  48. async-channel = "1.6.1"
  49. native-tls = "0.2.8"
  50. async-native-tls = "0.4.0"
  51. async-executor = "1.4.1"
  52. futures = "0.3.17"
  53. smol = "1.2.5"
  54. # Utilities
  55. anyhow = "1.0.49"
  56. clap = { version = "3.0.0", features = ["derive"] }
  57. dirs = "4.0.0"
  58. failure = "0.1.8"
  59. lazy_static = "1.4.0"
  60. log = "0.4.14"
  61. num_cpus = "1.13.0"
  62. signal-hook = "0.3.10"
  63. simplelog = "0.11.1"
  64. subtle = "2.4.1"
  65. thiserror = "1.0.30"
  66. # Used for Websockets client implementation.
  67. async-tungstenite = "0.16.0"
  68. tungstenite = "0.16.0"
  69. #tui dependencies
  70. crossbeam-channel = { version = "0.5.1", optional = true}
  71. libc = { version = "0.2.112", optional = true}
  72. termion = { version = "1.5.6", optional = true}
  73. # node dependencies
  74. ## Used for wallet management.
  75. sqlx = {version = "0.5.10", features = ["runtime-async-std-native-tls", "sqlite"], optional = true}
  76. libsqlite3-sys = {version = "0.23.1", features = ["bundled-sqlcipher"], optional = true }
  77. ## Used for gatewayd network transport.
  78. zeromq = {version = "0.3.1", default-features = false, features = ["async-std-runtime", "all-transport"], optional = true }
  79. signal-hook-async-std = {version = "0.2.1", optional = true}
  80. [features]
  81. chain = ["rocksdb"]
  82. node = ["sqlx", "libsqlite3-sys", "zeromq", "signal-hook-async-std"]
  83. tui = ["termion", "libc", "crossbeam-channel"]
  84. [[example]]
  85. name = "net"
  86. path = "example/net.rs"
  87. required-features = ["node", "chain"]
  88. [[example]]
  89. name = "tui"
  90. path = "example/tui_ex.rs"
  91. required-features = ["tui"]
  92. [[example]]
  93. name = "vm"
  94. path = "example/vm.rs"
  95. [[example]]
  96. name = "vm_burn"
  97. path = "example/vm_burn.rs"
  98. [[example]]
  99. name = "tx"
  100. path = "example/tx.rs"
  101. required-features = ["node"]
  102. [[example]]
  103. name = "tree"
  104. path = "example/tree.rs"