From d6f27d44831eafb6639b23923dedfac9fd60d70e Mon Sep 17 00:00:00 2001 From: "Justin (shocknet)" Date: Tue, 21 May 2024 14:22:24 -0400 Subject: [PATCH] default envs --- src/services/lnd/index.ts | 14 ++++++++++++-- src/services/nostr/index.ts | 11 +++++++++-- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/services/lnd/index.ts b/src/services/lnd/index.ts index 765db0e6..30fdd570 100644 --- a/src/services/lnd/index.ts +++ b/src/services/lnd/index.ts @@ -1,9 +1,19 @@ import { EnvMustBeNonEmptyString, EnvMustBeInteger, EnvCanBeBoolean, EnvCanBeInteger } from '../helpers/envParser.js' import { LndSettings } from './settings.js' +import os from 'os' +import path from 'path' + +const resolveHome = (filepath: string) => { + if (filepath[0] === '~') { + return path.join(os.homedir(), filepath.slice(1)) + } + return filepath +} + export const LoadLndSettingsFromEnv = (): LndSettings => { const lndAddr = process.env.LND_ADDRESS || "127.0.0.1:10009" - const lndCertPath = process.env.LND_CERT_PATH || "~/.lnd/tls.cert" - const lndMacaroonPath = process.env.LND_MACAROON_PATH || "~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon" + const lndCertPath = process.env.LND_CERT_PATH || resolveHome("~/.lnd/tls.cert") + const lndMacaroonPath = process.env.LND_MACAROON_PATH || resolveHome("~/.lnd/data/chain/bitcoin/mainnet/admin.macaroon") const feeRateLimit = EnvCanBeInteger("OUTBOUND_MAX_FEE_BPS", 60) / 10000 const feeFixedLimit = EnvCanBeInteger("OUTBOUND_MAX_FEE_EXTRA_SATS", 100) const mockLnd = EnvCanBeBoolean("MOCK_LND") diff --git a/src/services/nostr/index.ts b/src/services/nostr/index.ts index 49e1e280..8e0d9420 100644 --- a/src/services/nostr/index.ts +++ b/src/services/nostr/index.ts @@ -2,11 +2,18 @@ import { ChildProcess, fork } from 'child_process' import { EnvMustBeNonEmptyString } from "../helpers/envParser.js" import { NostrSettings, NostrEvent, ChildProcessRequest, ChildProcessResponse, SendData } from "./handler.js" type EventCallback = (event: NostrEvent) => void + +const getEnvOrDefault = (name: string, defaultValue: string): string => { + return process.env[name] || defaultValue; +} + export const LoadNosrtSettingsFromEnv = (test = false) => { + const relaysEnv = getEnvOrDefault("NOSTR_RELAYS", "wss://strfry.shock.network"); return { - relays: EnvMustBeNonEmptyString("NOSTR_RELAYS").split(' ') + relays: relaysEnv.split(' ') } } + export default class NostrSubprocess { settings: NostrSettings childProcess: ChildProcess @@ -37,4 +44,4 @@ export default class NostrSubprocess { Stop() { this.childProcess.kill() } -} \ No newline at end of file +}