Skip to content

Commit 76efcc9

Browse files
committed
Allow setting alias in config
1 parent 9702286 commit 76efcc9

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

ldk-server/src/util/config.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use ldk_node::bitcoin::Network;
22
use ldk_node::lightning::ln::msgs::SocketAddress;
3+
use ldk_node::lightning::routing::gossip::NodeAlias;
34
use ldk_node::liquidity::LSPS2ServiceConfig;
45
use serde::{Deserialize, Serialize};
56
use std::net::SocketAddr;
@@ -11,6 +12,7 @@ use std::{fs, io};
1112
#[derive(Debug)]
1213
pub struct Config {
1314
pub listening_addr: SocketAddress,
15+
pub alias: Option<NodeAlias>,
1416
pub network: Network,
1517
pub rest_service_addr: SocketAddr,
1618
pub storage_dir_path: String,
@@ -48,6 +50,21 @@ impl TryFrom<TomlConfig> for Config {
4850
)
4951
})?;
5052

53+
let alias = if let Some(alias_str) = toml_config.node.alias {
54+
let mut bytes = [0u8; 32];
55+
let alias_bytes = alias_str.trim().as_bytes();
56+
if alias_bytes.len() > 32 {
57+
return Err(io::Error::new(
58+
io::ErrorKind::InvalidInput,
59+
"node.alias must be at most 32 bytes long.".to_string(),
60+
));
61+
}
62+
bytes[..alias_bytes.len()].copy_from_slice(alias_bytes);
63+
Some(NodeAlias(bytes))
64+
} else {
65+
None
66+
};
67+
5168
let (rabbitmq_connection_string, rabbitmq_exchange_name) = {
5269
let rabbitmq = toml_config.rabbitmq.unwrap_or(RabbitmqConfig {
5370
connection_string: String::new(),
@@ -77,6 +94,7 @@ impl TryFrom<TomlConfig> for Config {
7794
Ok(Config {
7895
listening_addr,
7996
network: toml_config.node.network,
97+
alias,
8098
rest_service_addr,
8199
storage_dir_path: toml_config.storage.disk.dir_path,
82100
bitcoind_rpc_addr,
@@ -104,6 +122,7 @@ struct NodeConfig {
104122
network: Network,
105123
listening_address: String,
106124
rest_service_address: String,
125+
alias: Option<String>,
107126
}
108127

109128
#[derive(Deserialize, Serialize)]
@@ -209,6 +228,7 @@ mod tests {
209228
network = "regtest"
210229
listening_address = "localhost:3001"
211230
rest_service_address = "127.0.0.1:3002"
231+
alias = "LDK Server"
212232
213233
[storage.disk]
214234
dir_path = "/tmp"
@@ -235,9 +255,14 @@ mod tests {
235255

236256
fs::write(storage_path.join(config_file_name), toml_config).unwrap();
237257

258+
let mut bytes = [0u8; 32];
259+
let alias = "LDK Server";
260+
bytes[..alias.as_bytes().len()].copy_from_slice(alias.as_bytes());
261+
238262
let config = load_config(storage_path.join(config_file_name)).unwrap();
239263
let expected = Config {
240264
listening_addr: SocketAddress::from_str("localhost:3001").unwrap(),
265+
alias: Some(NodeAlias(bytes)),
241266
network: Network::Regtest,
242267
rest_service_addr: SocketAddr::from_str("127.0.0.1:3002").unwrap(),
243268
storage_dir_path: "/tmp".to_string(),

0 commit comments

Comments
 (0)