@@ -38,8 +38,8 @@ rgb20 = { version = "0.3.0-rc.2", optional = true }
38
38
rgb21 = { version = " 0.3.0-beta.3" , optional = true }
39
39
rgb22 = { version = " 0.3.0-beta.3" , optional = true }
40
40
rgb23 = { version = " 0.3.0-beta.3" , optional = true }
41
- internet2 = " 0.3.1 "
42
- microservices = " 0.3"
41
+ internet2 = { version = " 0.3.4 " , default-features = false , features = [ " derive " ] }
42
+ microservices = { version = " 0.3.2 " , default-features = false }
43
43
# Bitcoin
44
44
bitcoin = " 0.26"
45
45
electrum-client = { version = " 0.5.0-beta.1" , optional = true , git = " https://github.com/LNP-BP/rust-electrum-client" , branch = " bitcoin-0.26" }
@@ -57,26 +57,15 @@ serde_yaml = { version = "0.8", optional = true }
57
57
toml = { version = " 0.5" , optional = true }
58
58
bech32 = { version = " 0.7" , optional = true }
59
59
base64 = { version = " 0.12" , optional = true }
60
- regex = { version = " 1.3" , optional = true }
61
- url = { version = " 2.1" , optional = true }
62
60
# Congig & logging
61
+ log = { version = " 0.4" , features = [" max_level_trace" , " release_max_level_debug" ] }
62
+ env_logger = " 0.7"
63
+ clap = { version = " 3.0.0-beta.2" , optional = true }
63
64
settings = { version = " 0.10" , package = " config" , optional = true }
64
65
configure_me = { version = " 0.3" , optional = true }
65
66
dotenv = { version = " 0.15" , optional = true }
66
- clap = { version = " 3.0.0-beta.2" , optional = true }
67
- log = { version = " 0.4" , optional = true , features = [" max_level_trace" , " release_max_level_debug" ] }
68
- env_logger = { version = " 0.7" , optional = true }
69
67
colored = { version = " 2.0" , optional = true }
70
68
shellexpand = { version = " 2.0" , optional = true }
71
- # Processes & IPC
72
- zmq = { version = " 0.9" , optional = true }
73
-
74
- [target .'cfg(target_os="android")' .dependencies ]
75
- zmq = { version = " 0.9" , features = [" vendored" ] }
76
-
77
- [patch .crates-io ]
78
- # Remove this once https://github.com/jean-airoldie/zeromq-src-rs/pull/15 got merged
79
- zeromq-src = { git = " https://github.com/LNP-BP/zeromq-src-rs" , branch = " fix/cmake" }
80
69
81
70
# Recommended set of features:
82
71
# 1. Standalone node: `server` (=`node`+`shell`)
@@ -85,35 +74,44 @@ zeromq-src = { git = "https://github.com/LNP-BP/zeromq-src-rs", branch = "fix/cm
85
74
# 4. Mobile app with embedded node: `embedded` (auto includes `client` + `node`)
86
75
# 5. Simple cli utility app: `shell`
87
76
[features ]
88
- default = [" client" , " server" , " fungibles" , " collectibles" , " identities" , " auditlogs" ]
77
+ default = [" client" , " fungibles" ]
78
+
89
79
# Server is a standalone application that runs daemon
90
80
server = [" node" , " shell" , " nix" , " microservices/server" ]
91
- # Feature is required for any applications that talks to daemon processes
92
- client = [" zmq" , " microservices/client" , " bitcoin/rand" ,
93
- " regex" , " electrum-client" , " base64" ,
94
- " url" , " internet2/url" , " log" , " env_logger" ,
95
- # TODO: Femove the following after feature gates debugging:
96
- " clap" ]
97
- # Embedded is an app that contains node in itself and that talks to it through
81
+ # Command-line application feature
82
+ cli = [" shell" , " client" , " serde" , " microservices/cli" ]
83
+
84
+ # Embedded is an app that contains embedded node and that talks to it through
98
85
# integration layer
99
86
embedded = [" client" , " node" , " microservices/embedded" ]
100
- # Command-line application feature
101
- cli = [" shell" , " client" , " microservices/cli" ]
87
+ # Server node can be run as a part of mobile app and other types of clients;
88
+ # thus `server` != `node`.
89
+ # This feature results in building with features not required for command-line
90
+ node = [" serde" , " internet2/keygen" , " bitcoin/rand" , " internet2/zmq" , " microservices/node" ,
91
+ " internet2/url" , " electrum-client" , " base64" ,
92
+ # Required for storing config and cache
93
+ " _config" , " _rpc" ]
94
+ # Feature is required for any applications that talks to daemon processes
95
+ client = [" internet2/zmq" , " microservices/client" , " microservices/node" , " bitcoin/rand" ,
96
+ " electrum-client" , " base64" ,
97
+ " internet2/url" , " clap" , " _rpc" ]
102
98
# Required for all apps that can be launched from command-line shell as binaries
103
99
# (i.e. both servers and cli)
104
100
shell = [
105
- " dotenv" , " clap" , " settings" , " configure_me" , " log " , " env_logger " , " serde" ,
101
+ " dotenv" , " clap" , " settings" , " configure_me" , " serde" ,
106
102
" amplify/parse_arg" , " microservices/shell" , " shellexpand" , " colored"
107
103
]
108
- # Besides server node can be run as a part of mobile app
109
- # and other types of clients; thus `server` != `node`.
110
- # This feature results in building with features not required for CLI
111
- node = [" serde" , " internet2/keygen" , " bitcoin/rand" , " zmq" , " microservices/node" ,
112
- " url" , " internet2/url" , " regex" , " electrum-client" , " base64" ,
113
- # Required for storing config and cache
114
- " serde_yaml" , " toml" ]
104
+
105
+ # Internally used features for convenience
106
+ _config = [" serde_yaml" , " toml" ]
107
+ _rpc = []
108
+
115
109
serde = [" serde_crate" , " serde_with" , " serde_yaml" , " serde_json" , " toml" ,
116
- " amplify/serde" , " lnpbp/serde" , " internet2/serde" , " chrono/serde" , " bitcoin/serde" , " rgb20/serde" ]
110
+ " amplify/serde" , " lnpbp/serde" , " internet2/serde" , " microservices/serde" ,
111
+ " chrono/serde" , " bitcoin/serde" , " rgb20/serde" ]
112
+ tor = [" microservices/tor" , " internet2/tor" ]
113
+ vendored_openssl = [" microservices/vendored_openssl" , " internet2/vendored_openssl" ]
114
+
117
115
# Schema-specific components exposed as features:
118
116
fungibles = [" rgb20" ]
119
117
collectibles = [" rgb21" ]
0 commit comments