From e9a8865192b305df96e72a9e4d91483f02d48a1d Mon Sep 17 00:00:00 2001 From: boufni95 Date: Thu, 8 Jan 2026 18:53:15 +0000 Subject: [PATCH] comments --- src/services/lnd/swaps.ts | 1 + src/services/main/paymentManager.ts | 1 + src/services/nostr/nostrPool.ts | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/src/services/lnd/swaps.ts b/src/services/lnd/swaps.ts index 4dec5cdf..df0cd3af 100644 --- a/src/services/lnd/swaps.ts +++ b/src/services/lnd/swaps.ts @@ -333,6 +333,7 @@ export class ReverseSwaps { ]); const tweakedKey = TaprootUtils.tweakMusig( musig, + // swap tree can either be a string or an object SwapTreeSerializer.deserializeSwapTree(createdResponse.swapTree).tree, ); diff --git a/src/services/main/paymentManager.ts b/src/services/main/paymentManager.ts index 3d103b9f..87b1b06f 100644 --- a/src/services/main/paymentManager.ts +++ b/src/services/main/paymentManager.ts @@ -633,6 +633,7 @@ export default class { preimage: Buffer.from(txSwap.preimage, 'hex'), } } + // the swap and the invoice payment are linked, swap will not start until the invoice payment is started, and will not complete once the invoice payment is completed let swapResult = { ok: false, error: "swap never completed" } as { ok: true, txId: string } | { ok: false, error: string } this.swaps.reverseSwaps.SubscribeToTransactionSwap(data, result => { swapResult = result diff --git a/src/services/nostr/nostrPool.ts b/src/services/nostr/nostrPool.ts index 152406ae..d41da382 100644 --- a/src/services/nostr/nostrPool.ts +++ b/src/services/nostr/nostrPool.ts @@ -256,9 +256,12 @@ export class NostrPool { const processApps = (settings: NostrSettings) => { const apps: Record = {} let providerInfo: (LinkedProviderInfo & { appPub: string }) | undefined = undefined + for (const app of settings.apps) { apps[app.publicKey] = app + // add provider info if the app has a provider if (app.provider) { + // make sure only one provider is configured if (providerInfo) { throw new Error("found more than one provider") } @@ -269,10 +272,12 @@ const processApps = (settings: NostrSettings) => { const rSettings: RelaySettings[] = [] new Set(settings.relays).forEach(r => { const filters = [getServiceFilter(apps)] + // check if this service relay is also a provider relay, and add the beacon filter if so if (providerInfo && providerInfo.relayUrl === r) { providerAssigned = true filters.push(getBeaconFilter(providerInfo.pubkey)) } + // add the relay settings to the list rSettings.push({ relayUrl: r, serviceRelay: true, @@ -280,6 +285,7 @@ const processApps = (settings: NostrSettings) => { filters: filters, }) }) + // if no provider was assigned to a service relay, add the provider relay settings with a provider filter if (!providerAssigned && providerInfo) { rSettings.push({ relayUrl: providerInfo.relayUrl,