ldk_node.rs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. //! LDK Node environment variables
  2. use std::env;
  3. use crate::config::LdkNode;
  4. // LDK Node Environment Variables
  5. pub const LDK_NODE_FEE_PERCENT_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_FEE_PERCENT";
  6. pub const LDK_NODE_RESERVE_FEE_MIN_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_RESERVE_FEE_MIN";
  7. pub const LDK_NODE_BITCOIN_NETWORK_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_BITCOIN_NETWORK";
  8. pub const LDK_NODE_CHAIN_SOURCE_TYPE_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_CHAIN_SOURCE_TYPE";
  9. pub const LDK_NODE_ESPLORA_URL_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_ESPLORA_URL";
  10. pub const LDK_NODE_BITCOIND_RPC_HOST_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_BITCOIND_RPC_HOST";
  11. pub const LDK_NODE_BITCOIND_RPC_PORT_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_BITCOIND_RPC_PORT";
  12. pub const LDK_NODE_BITCOIND_RPC_USER_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_BITCOIND_RPC_USER";
  13. pub const LDK_NODE_BITCOIND_RPC_PASSWORD_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_BITCOIND_RPC_PASSWORD";
  14. pub const LDK_NODE_STORAGE_DIR_PATH_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_STORAGE_DIR_PATH";
  15. pub const LDK_NODE_LOG_DIR_PATH_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_LOG_DIR_PATH";
  16. pub const LDK_NODE_LDK_NODE_HOST_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_LDK_NODE_HOST";
  17. pub const LDK_NODE_LDK_NODE_PORT_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_LDK_NODE_PORT";
  18. pub const LDK_NODE_GOSSIP_SOURCE_TYPE_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_GOSSIP_SOURCE_TYPE";
  19. pub const LDK_NODE_RGS_URL_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_RGS_URL";
  20. pub const LDK_NODE_WEBSERVER_HOST_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_WEBSERVER_HOST";
  21. pub const LDK_NODE_WEBSERVER_PORT_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_WEBSERVER_PORT";
  22. pub const LDK_NODE_MNEMONIC_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_MNEMONIC";
  23. impl LdkNode {
  24. pub fn from_env(mut self) -> Self {
  25. if let Ok(fee_percent) = env::var(LDK_NODE_FEE_PERCENT_ENV_VAR) {
  26. if let Ok(fee_percent) = fee_percent.parse::<f32>() {
  27. self.fee_percent = fee_percent;
  28. }
  29. }
  30. if let Ok(reserve_fee_min) = env::var(LDK_NODE_RESERVE_FEE_MIN_ENV_VAR) {
  31. if let Ok(reserve_fee_min) = reserve_fee_min.parse::<u64>() {
  32. self.reserve_fee_min = reserve_fee_min.into();
  33. }
  34. }
  35. if let Ok(bitcoin_network) = env::var(LDK_NODE_BITCOIN_NETWORK_ENV_VAR) {
  36. self.bitcoin_network = Some(bitcoin_network);
  37. }
  38. if let Ok(chain_source_type) = env::var(LDK_NODE_CHAIN_SOURCE_TYPE_ENV_VAR) {
  39. self.chain_source_type = Some(chain_source_type);
  40. }
  41. if let Ok(esplora_url) = env::var(LDK_NODE_ESPLORA_URL_ENV_VAR) {
  42. self.esplora_url = Some(esplora_url);
  43. }
  44. if let Ok(bitcoind_rpc_host) = env::var(LDK_NODE_BITCOIND_RPC_HOST_ENV_VAR) {
  45. self.bitcoind_rpc_host = Some(bitcoind_rpc_host);
  46. }
  47. if let Ok(bitcoind_rpc_port) = env::var(LDK_NODE_BITCOIND_RPC_PORT_ENV_VAR) {
  48. if let Ok(bitcoind_rpc_port) = bitcoind_rpc_port.parse::<u16>() {
  49. self.bitcoind_rpc_port = Some(bitcoind_rpc_port);
  50. }
  51. }
  52. if let Ok(bitcoind_rpc_user) = env::var(LDK_NODE_BITCOIND_RPC_USER_ENV_VAR) {
  53. self.bitcoind_rpc_user = Some(bitcoind_rpc_user);
  54. }
  55. if let Ok(bitcoind_rpc_password) = env::var(LDK_NODE_BITCOIND_RPC_PASSWORD_ENV_VAR) {
  56. self.bitcoind_rpc_password = Some(bitcoind_rpc_password);
  57. }
  58. if let Ok(storage_dir_path) = env::var(LDK_NODE_STORAGE_DIR_PATH_ENV_VAR) {
  59. self.storage_dir_path = Some(storage_dir_path);
  60. }
  61. if let Ok(log_dir_path) = env::var(LDK_NODE_LOG_DIR_PATH_ENV_VAR) {
  62. self.log_dir_path = Some(log_dir_path);
  63. }
  64. if let Ok(ldk_node_host) = env::var(LDK_NODE_LDK_NODE_HOST_ENV_VAR) {
  65. self.ldk_node_host = Some(ldk_node_host);
  66. }
  67. if let Ok(ldk_node_port) = env::var(LDK_NODE_LDK_NODE_PORT_ENV_VAR) {
  68. if let Ok(ldk_node_port) = ldk_node_port.parse::<u16>() {
  69. self.ldk_node_port = Some(ldk_node_port);
  70. }
  71. }
  72. if let Ok(gossip_source_type) = env::var(LDK_NODE_GOSSIP_SOURCE_TYPE_ENV_VAR) {
  73. self.gossip_source_type = Some(gossip_source_type);
  74. }
  75. if let Ok(rgs_url) = env::var(LDK_NODE_RGS_URL_ENV_VAR) {
  76. self.rgs_url = Some(rgs_url);
  77. }
  78. if let Ok(webserver_host) = env::var(LDK_NODE_WEBSERVER_HOST_ENV_VAR) {
  79. self.webserver_host = Some(webserver_host);
  80. }
  81. if let Ok(webserver_port) = env::var(LDK_NODE_WEBSERVER_PORT_ENV_VAR) {
  82. if let Ok(webserver_port) = webserver_port.parse::<u16>() {
  83. self.webserver_port = Some(webserver_port);
  84. }
  85. }
  86. if let Ok(ldk_node_mnemonic) = env::var(LDK_NODE_MNEMONIC_ENV_VAR) {
  87. self.ldk_node_mnemonic = Some(ldk_node_mnemonic);
  88. }
  89. self
  90. }
  91. }