ldk_node.rs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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_LDK_NODE_HOST_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_LDK_NODE_HOST";
  16. pub const LDK_NODE_LDK_NODE_PORT_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_LDK_NODE_PORT";
  17. pub const LDK_NODE_GOSSIP_SOURCE_TYPE_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_GOSSIP_SOURCE_TYPE";
  18. pub const LDK_NODE_RGS_URL_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_RGS_URL";
  19. pub const LDK_NODE_WEBSERVER_HOST_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_WEBSERVER_HOST";
  20. pub const LDK_NODE_WEBSERVER_PORT_ENV_VAR: &str = "CDK_MINTD_LDK_NODE_WEBSERVER_PORT";
  21. impl LdkNode {
  22. pub fn from_env(mut self) -> Self {
  23. if let Ok(fee_percent) = env::var(LDK_NODE_FEE_PERCENT_ENV_VAR) {
  24. if let Ok(fee_percent) = fee_percent.parse::<f32>() {
  25. self.fee_percent = fee_percent;
  26. }
  27. }
  28. if let Ok(reserve_fee_min) = env::var(LDK_NODE_RESERVE_FEE_MIN_ENV_VAR) {
  29. if let Ok(reserve_fee_min) = reserve_fee_min.parse::<u64>() {
  30. self.reserve_fee_min = reserve_fee_min.into();
  31. }
  32. }
  33. if let Ok(bitcoin_network) = env::var(LDK_NODE_BITCOIN_NETWORK_ENV_VAR) {
  34. self.bitcoin_network = Some(bitcoin_network);
  35. }
  36. if let Ok(chain_source_type) = env::var(LDK_NODE_CHAIN_SOURCE_TYPE_ENV_VAR) {
  37. self.chain_source_type = Some(chain_source_type);
  38. }
  39. if let Ok(esplora_url) = env::var(LDK_NODE_ESPLORA_URL_ENV_VAR) {
  40. self.esplora_url = Some(esplora_url);
  41. }
  42. if let Ok(bitcoind_rpc_host) = env::var(LDK_NODE_BITCOIND_RPC_HOST_ENV_VAR) {
  43. self.bitcoind_rpc_host = Some(bitcoind_rpc_host);
  44. }
  45. if let Ok(bitcoind_rpc_port) = env::var(LDK_NODE_BITCOIND_RPC_PORT_ENV_VAR) {
  46. if let Ok(bitcoind_rpc_port) = bitcoind_rpc_port.parse::<u16>() {
  47. self.bitcoind_rpc_port = Some(bitcoind_rpc_port);
  48. }
  49. }
  50. if let Ok(bitcoind_rpc_user) = env::var(LDK_NODE_BITCOIND_RPC_USER_ENV_VAR) {
  51. self.bitcoind_rpc_user = Some(bitcoind_rpc_user);
  52. }
  53. if let Ok(bitcoind_rpc_password) = env::var(LDK_NODE_BITCOIND_RPC_PASSWORD_ENV_VAR) {
  54. self.bitcoind_rpc_password = Some(bitcoind_rpc_password);
  55. }
  56. if let Ok(storage_dir_path) = env::var(LDK_NODE_STORAGE_DIR_PATH_ENV_VAR) {
  57. self.storage_dir_path = Some(storage_dir_path);
  58. }
  59. if let Ok(ldk_node_host) = env::var(LDK_NODE_LDK_NODE_HOST_ENV_VAR) {
  60. self.ldk_node_host = Some(ldk_node_host);
  61. }
  62. if let Ok(ldk_node_port) = env::var(LDK_NODE_LDK_NODE_PORT_ENV_VAR) {
  63. if let Ok(ldk_node_port) = ldk_node_port.parse::<u16>() {
  64. self.ldk_node_port = Some(ldk_node_port);
  65. }
  66. }
  67. if let Ok(gossip_source_type) = env::var(LDK_NODE_GOSSIP_SOURCE_TYPE_ENV_VAR) {
  68. self.gossip_source_type = Some(gossip_source_type);
  69. }
  70. if let Ok(rgs_url) = env::var(LDK_NODE_RGS_URL_ENV_VAR) {
  71. self.rgs_url = Some(rgs_url);
  72. }
  73. if let Ok(webserver_host) = env::var(LDK_NODE_WEBSERVER_HOST_ENV_VAR) {
  74. self.webserver_host = Some(webserver_host);
  75. }
  76. if let Ok(webserver_port) = env::var(LDK_NODE_WEBSERVER_PORT_ENV_VAR) {
  77. if let Ok(webserver_port) = webserver_port.parse::<u16>() {
  78. self.webserver_port = Some(webserver_port);
  79. }
  80. }
  81. self
  82. }
  83. }