From 765f488f095443099c06c31f228d46229254defc Mon Sep 17 00:00:00 2001 From: hatim boufnichel Date: Sat, 16 Mar 2024 16:39:35 +0100 Subject: [PATCH] flag --- env.example | 1 + src/services/main/index.ts | 1 + src/services/main/paymentManager.ts | 3 +++ src/services/main/settings.ts | 1 + 4 files changed, 6 insertions(+) diff --git a/env.example b/env.example index e783413d..721db7e9 100644 --- a/env.example +++ b/env.example @@ -43,3 +43,4 @@ MIGRATE_DB=false #METRICS RECORD_PERFORMANCE=true SKIP_SANITY_CHECK=false +DISABLE_EXTERNAL_PAYMENTS=false diff --git a/src/services/main/index.ts b/src/services/main/index.ts index 1d86403f..bbf03146 100644 --- a/src/services/main/index.ts +++ b/src/services/main/index.ts @@ -34,6 +34,7 @@ export const LoadMainSettingsFromEnv = (test = false): MainSettings => { servicePort: EnvMustBeInteger("PORT"), recordPerformance: process.env.RECORD_PERFORMANCE === 'true' || false, skipSanityCheck: process.env.SKIP_SANITY_CHECK === 'true' || false, + disableExternalPayments: process.env.DISABLE_EXTERNAL_PAYMENTS === 'true' || false } } diff --git a/src/services/main/paymentManager.ts b/src/services/main/paymentManager.ts index efad411d..6840c3d2 100644 --- a/src/services/main/paymentManager.ts +++ b/src/services/main/paymentManager.ts @@ -149,6 +149,9 @@ export default class { const internalInvoice = await this.storage.paymentStorage.GetInvoiceOwner(req.invoice) let payment: PaidInvoice | null = null if (!internalInvoice) { + if (this.settings.disableExternalPayments) { + throw new Error("something went wrong sending payment, please try again later") + } this.log("paying external invoice", req.invoice) const routingFeeLimit = this.lnd.GetFeeLimitAmount(payAmount) await this.storage.userStorage.DecrementUserBalance(userId, totalAmountToDecrement + routingFeeLimit, req.invoice) diff --git a/src/services/main/settings.ts b/src/services/main/settings.ts index 1502d502..7397e97b 100644 --- a/src/services/main/settings.ts +++ b/src/services/main/settings.ts @@ -16,5 +16,6 @@ export type MainSettings = { servicePort: number recordPerformance: boolean skipSanityCheck: boolean + disableExternalPayments: boolean } \ No newline at end of file