cln.rs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //! CLN environment variables
  2. use std::env;
  3. use std::path::PathBuf;
  4. use crate::config::Cln;
  5. // CLN environment variables
  6. pub const ENV_CLN_RPC_PATH: &str = "CDK_MINTD_CLN_RPC_PATH";
  7. pub const ENV_CLN_BOLT12: &str = "CDK_MINTD_CLN_BOLT12";
  8. pub const ENV_CLN_FEE_PERCENT: &str = "CDK_MINTD_CLN_FEE_PERCENT";
  9. pub const ENV_CLN_RESERVE_FEE_MIN: &str = "CDK_MINTD_CLN_RESERVE_FEE_MIN";
  10. impl Cln {
  11. pub fn from_env(mut self) -> Self {
  12. // RPC Path
  13. if let Ok(path) = env::var(ENV_CLN_RPC_PATH) {
  14. self.rpc_path = PathBuf::from(path);
  15. }
  16. // BOLT12 flag
  17. if let Ok(bolt12_str) = env::var(ENV_CLN_BOLT12) {
  18. if let Ok(bolt12) = bolt12_str.parse() {
  19. self.bolt12 = bolt12;
  20. }
  21. }
  22. // Fee percent
  23. if let Ok(fee_str) = env::var(ENV_CLN_FEE_PERCENT) {
  24. if let Ok(fee) = fee_str.parse() {
  25. self.fee_percent = fee;
  26. }
  27. }
  28. // Reserve fee minimum
  29. if let Ok(reserve_fee_str) = env::var(ENV_CLN_RESERVE_FEE_MIN) {
  30. if let Ok(reserve_fee) = reserve_fee_str.parse::<u64>() {
  31. self.reserve_fee_min = reserve_fee.into();
  32. }
  33. }
  34. self
  35. }
  36. }