forked from LNP-WG/lnp-node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
122 lines (106 loc) · 3.59 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
[workspace]
default-members = [".", "rpc", "cli"]
members = [".", "rpc", "cli"]
[package]
name = "lnp_node"
description = "LNP node"
version = "0.9.1"
authors = ["Dr. Maxim Orlovsky <[email protected]>"]
license = "MIT"
keywords = ["bitcoin", "bifi", "lightning-network", "smart-contracts", "lnp"]
edition = "2021"
rust-version = "1.59.0"
readme = "README.md"
build = "build.rs"
exclude = [".github", "Dockerfile", ".dockerignore", "contrib", "doc"]
[lib]
name = "lnp_node"
[[bin]]
name = "lnpd"
required-features = ["server"]
[[bin]]
name = "peerd"
required-features = ["server"]
[[bin]]
name = "watchd"
required-features = ["server"]
[[bin]]
name = "routed"
required-features = ["server"]
[[bin]]
name = "channeld"
required-features = ["server"]
[[bin]]
name = "signd"
required-features = ["server"]
[dependencies]
# LNP/BP crates
amplify = "3.14.2"
strict_encoding = { version = "0.9.0", features = ["miniscript"] }
bitcoin_scripts = "0.9.0"
bitcoin_blockchain = "0.9.0"
descriptor-wallet = { version = "0.9.0", features = ["keygen", "miniscript", "electrum", "sign", "construct"] }
lnpbp = "0.9.0"
lnp-core = "0.9.2"
lnp_rpc = { version = "0.9.1", path = "./rpc" }
internet2 = { version = "0.9.0", features = ["keygen"] }
microservices = { version = "0.9.0", default-features = false, features = ["node", "peer"] }
# Bitcoin
bitcoin = { version = "0.29.2", features = ["rand"] }
miniscript = "9.0.0"
electrum-client = "0.12.0"
lightning-invoice = "0.21.0"
# OS
serde = "1"
serde_json = "1"
chrono = "0.4"
nix = "0.24"
log = { version = "0.4", features = ["max_level_trace", "release_max_level_debug"] }
env_logger = "0.7"
clap = { version = "~3.2.23", optional = true, features = ["env", "derive"] }
settings = { version = "0.10", package = "config", optional = true }
configure_me = { version = "0.4", optional = true }
dotenv = { version = "0.15", optional = true }
colored = "2.0.0"
shellexpand = { version = "2", optional = true }
rpassword = { version = "5.0.1", optional = true }
# IPC
zmq = { package = "zmq2", version = "0.5.0" }
[dev-dependencies]
strict_encoding_test = "0.9.0"
[build-dependencies]
amplify = "3.14.2"
lnpbp = "0.9.0"
bitcoin = "0.29.2"
lightning-invoice = "0.21.0"
lnp-core = "0.9.2"
lnp_rpc = { version = "0.9.1", path = "./rpc" }
internet2 = "0.9.0"
microservices = { version = "0.9.0", default-features = false, features = ["peer", "shell"] }
clap = { version = "~3.2.23", features = ["env", "derive"] }
clap_complete = "~3.2.5"
log = { version = "0.4", features = ["max_level_trace", "release_max_level_debug"] }
shellexpand = "2"
configure_me_codegen = "0.4"
# Recommended set of features:
# 1. Standalone node: `server` (=`node`+`shell`)
# 2. Cli to remote node: `cli` (auto includes `shell` and `integration`)
# 3. Mobile app talking to a server: `client`
# 4. Mobile app with embedded node: `embedded` (auto includes `client` + `node`)
# 5. Simple cli utility app: `shell`
[features]
default = ["server", "bolt", "bifrost"]
all = ["server", "tor"] # "rgb"
bolt = ["lnp-core/bolt", "lnp_rpc/bolt"]
bifrost = ["lnp-core/bifrost", "lnp_rpc/bifrost"]
# Server is a standalone application that runs daemons.
# Required for all apps that can be launched from command-line shell as binaries
# (i.e. both servers and cli)
server = ["microservices/server", "microservices/cli", "dotenv", "clap", "settings", "configure_me",
"amplify/parse_arg", "shellexpand", "rpassword"]
# Embedded is an app that contains embedded node and that talks to it through
# integration layer
embedded = ["microservices/embedded"]
tor = ["microservices/tor", "internet2/tor"]
[package.metadata.configure_me]
spec = "config_spec.toml"