vendure-plugin-bitcoin-lightning-via-clink 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2026-08-01)
4
+
5
+ ### Security
6
+
7
+ - **FIXED**: Rewrote BOLT11 decoder (`decodeBolt11`) to use proper bech32 HRP/separator parsing — `extractPaymentHashFromBolt11` and `extractTimestampFromBolt11` previously returned `null`/`0` on valid invoices (verified against the official BOLT11 test vector)
8
+ - Added network validation — invoices are checked against the configured `network` (`mainnet` default, also `testnet`/`regtest`) in both webhook and relay payment paths
9
+ - Added invoice expiry validation — expired invoices are rejected (default 3600s if no `x` tag)
10
+ - Added SSRF protection for relay URLs — `isAllowedRelayUrl` rejects non-wss/ws schemes, localhost, private/loopback/link-local IPs; applied to subscribe, publish, key generation, and payment handler
11
+ - Relay settlement now **requires** preimage + bolt11 proof and verifies the payment hash — `res:"ok"` without proof is refused
12
+ - Atomic status transitions — offer settlement/expiry updates are conditional on `status: 'pending'` and re-checked
13
+ - Added Nostr event kind (`21001`) and `p`-tag correlation checks before processing relay events
14
+
15
+ ### Changed
16
+
17
+ - New `network` config option: `'mainnet' | 'testnet' | 'regtest'` (default `mainnet`)
18
+ - `NostrKeyService` and `ClinkService` throw when all configured relay URLs are blocked
19
+
20
+ ## 0.2.0 (2026-07-23)
21
+
22
+ ### Security
23
+
24
+ - **CRITICAL**: Added HMAC-SHA256 signature verification for all webhook endpoints (`x-clink-signature` header)
25
+ - **CRITICAL**: Added preimage verification — `sha256(preimage) === payment_hash` is now enforced before settling
26
+ - Added BOLT11 invoice decoding to extract payment hash and amount for verification
27
+ - Added amount validation — bolt11 invoice amount must match offer amount
28
+ - Added Nostr event signature verification (`verifyEvent`) for relay payments
29
+ - Added `webhookSecret` config option — **required when `httpFallback` is enabled**
30
+
31
+ ### Changed
32
+
33
+ - Webhook endpoints now reject all requests without valid HMAC signature
34
+ - Webhook endpoints now reject requests without preimage verification
35
+
3
36
  ## 0.1.0 (2026-07-23)
4
37
 
5
38
  ### Features
package/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # vendure-plugin-bitcoin-lightning-via-clink
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/vendure-plugin-bitcoin-lightning-via-clink.svg)](https://www.npmjs.com/package/vendure-plugin-bitcoin-lightning-via-clink)
3
4
  [![Vendure](https://img.shields.io/badge/Vendure-v3.x-blue)](https://www.vendure.io/)
4
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue)](https://www.typescriptlang.org/)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
7
+ [![CLINK](https://img.shields.io/badge/Protocol-CLINK-orange.svg)](https://clinkme.dev)
6
8
 
7
9
  **Bitcoin Lightning payments for [Vendure](https://www.vendure.io/) via the [CLINK](https://clinkme.dev) protocol — Nostr-native static payment codes.**
8
10
 
@@ -99,6 +101,8 @@ export const config: VendureConfig = {
99
101
  autoSettle: true,
100
102
  offerExpiryMinutes: 30,
101
103
  httpFallback: true,
104
+ webhookSecret: process.env.CLINK_WEBHOOK_SECRET || '',
105
+ network: 'mainnet',
102
106
  }),
103
107
  ],
104
108
  // ... rest of config
@@ -123,6 +127,8 @@ Customers can now select CLINK at checkout and pay from any compatible wallet.
123
127
  | `autoSettle` | `boolean` | `true` | Auto-confirm payments when Nostr receipt received |
124
128
  | `offerExpiryMinutes` | `number` | `30` | Minutes before payment offer expires |
125
129
  | `httpFallback` | `boolean` | `true` | Enable HTTP webhook at `/payments/clink` |
130
+ | `network` | `string` | `'mainnet'` | Bitcoin network for invoice validation: `'mainnet'`, `'testnet'`, or `'regtest'` |
131
+ | `webhookSecret` | `string` | `''` | HMAC secret for webhook auth. **Required when `httpFallback: true`** |
126
132
  | `nostrSecretKey` | `string` | `''` | Global Nostr key (hex). Per-channel keys generated if empty |
127
133
 
128
134
  ---
@@ -324,7 +330,7 @@ npm run dev # Watch mode
324
330
 
325
331
  ## License
326
332
 
327
- MIT
333
+ GPL v3
328
334
 
329
335
  ---
330
336
 
@@ -334,3 +340,8 @@ MIT
334
340
  - [Vendure](https://www.vendure.io/) — eCommerce platform
335
341
  - [Nostr](https://nostr.com/) — Decentralized protocol
336
342
  - [ShockNet](https://github.com/ShockNet) — Bitcoin Lightning infrastructure
343
+
344
+ ## Conversations
345
+ - In this repo: https://github.com/WoompaLoompa/vendure-clink/discussions
346
+ - In Vendure GH forum: https://github.com/vendurehq/vendure/discussions/5019
347
+ - In Vendure Discord: https://discord.com/channels/1100672177260478564/1529747875364474921
@@ -7,18 +7,28 @@ interface PaymentNotification {
7
7
  preimage: string;
8
8
  amount_sats?: number;
9
9
  timestamp?: number;
10
+ signature?: string;
10
11
  }
12
+ /**
13
+ * Webhook controller for receiving CLINK payment notifications.
14
+ *
15
+ * @description
16
+ * All endpoints require HMAC-SHA256 signature verification using the plugin's webhookSecret.
17
+ * Preimage verification (sha256(preimage) === payment_hash) is enforced before settling.
18
+ *
19
+ * @category Plugin
20
+ */
11
21
  export declare class ClinkWebhookController {
12
22
  private connection;
13
23
  private clinkService;
14
24
  private paymentMonitor;
15
25
  private readonly logger;
16
26
  constructor(connection: TransactionalConnection, clinkService: ClinkService, paymentMonitor: PaymentMonitorService);
17
- handlePaymentNotification(body: PaymentNotification): Promise<{
27
+ handlePaymentNotification(body: PaymentNotification, signatureHeader: string | undefined): Promise<{
18
28
  success: boolean;
19
29
  message?: string;
20
30
  }>;
21
- handleWebhook(body: any): Promise<{
31
+ handleWebhook(body: any, signatureHeader: string | undefined): Promise<{
22
32
  received: boolean;
23
33
  }>;
24
34
  private createSystemContext;
@@ -1 +1 @@
1
- {"version":3,"file":"clink-webhook.controller.d.ts","sourceRoot":"","sources":["../../src/api/clink-webhook.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAA2B,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAI5E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,sBAAsB;IAI/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAG5C,UAAU,EAAE,uBAAuB,EACnC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,qBAAqB;IAKzC,yBAAyB,CACrB,IAAI,EAAE,mBAAmB,GAChC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6D5C,aAAa,CACT,IAAI,EAAE,GAAG,GAChB,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;YAoBnB,mBAAmB;CAYlC"}
1
+ {"version":3,"file":"clink-webhook.controller.d.ts","sourceRoot":"","sources":["../../src/api/clink-webhook.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAA2B,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAc5E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,qBACa,sBAAsB;IAI/B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;gBAG5C,UAAU,EAAE,uBAAuB,EACnC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,qBAAqB;IAKzC,yBAAyB,CACrB,IAAI,EAAE,mBAAmB,EACH,eAAe,EAAE,MAAM,GAAG,SAAS,GAChE,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA6G5C,aAAa,CACT,IAAI,EAAE,GAAG,EACa,eAAe,EAAE,MAAM,GAAG,SAAS,GAChE,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;YAsDnB,mBAAmB;CAYlC"}
@@ -17,7 +17,18 @@ const common_1 = require("@nestjs/common");
17
17
  const core_1 = require("@vendure/core");
18
18
  const clink_service_1 = require("../services/clink.service");
19
19
  const payment_monitor_service_1 = require("../services/payment-monitor.service");
20
+ const clink_plugin_1 = require("../clink.plugin");
21
+ const crypto_1 = require("../utils/crypto");
20
22
  const CONTROLLER_NAME = 'ClinkWebhookController';
23
+ /**
24
+ * Webhook controller for receiving CLINK payment notifications.
25
+ *
26
+ * @description
27
+ * All endpoints require HMAC-SHA256 signature verification using the plugin's webhookSecret.
28
+ * Preimage verification (sha256(preimage) === payment_hash) is enforced before settling.
29
+ *
30
+ * @category Plugin
31
+ */
21
32
  let ClinkWebhookController = class ClinkWebhookController {
22
33
  constructor(connection, clinkService, paymentMonitor) {
23
34
  this.connection = connection;
@@ -25,61 +36,126 @@ let ClinkWebhookController = class ClinkWebhookController {
25
36
  this.paymentMonitor = paymentMonitor;
26
37
  this.logger = new common_1.Logger(CONTROLLER_NAME);
27
38
  }
28
- async handlePaymentNotification(body) {
39
+ async handlePaymentNotification(body, signatureHeader) {
40
+ const config = clink_plugin_1.ClinkPlugin.getInitOptions();
41
+ if (!config.webhookSecret) {
42
+ this.logger.error('webhookSecret not configured — rejecting all webhook requests');
43
+ return { success: false, message: 'Webhook endpoint not configured' };
44
+ }
45
+ if (!signatureHeader) {
46
+ this.logger.warn('Missing x-clink-signature header');
47
+ return { success: false, message: 'Missing signature header' };
48
+ }
29
49
  try {
30
- this.logger.log(`Received payment notification for offer: ${body.offerId}`);
31
- const { offerId, bolt11, preimage } = body;
32
- if (!offerId || !bolt11 || !preimage) {
33
- this.logger.warn('Invalid payment notification: missing required fields');
34
- return {
35
- success: false,
36
- message: 'Missing required fields: offerId, bolt11, preimage',
37
- };
38
- }
39
- const ctx = await this.createSystemContext();
40
- const offer = await this.clinkService.getOfferById(ctx, offerId);
41
- if (!offer) {
42
- this.logger.warn(`Offer not found: ${offerId}`);
43
- return {
44
- success: false,
45
- message: `Offer ${offerId} not found`,
46
- };
47
- }
48
- if (offer.status === 'paid') {
49
- this.logger.log(`Offer ${offerId} already settled`);
50
- return {
51
- success: true,
52
- message: 'Payment already settled',
53
- };
50
+ const payloadStr = JSON.stringify(body);
51
+ if (!(0, crypto_1.verifyHmac)(config.webhookSecret, payloadStr, signatureHeader)) {
52
+ this.logger.warn(`Invalid HMAC signature for offer: ${body.offerId}`);
53
+ return { success: false, message: 'Invalid signature' };
54
54
  }
55
- if (offer.status !== 'pending') {
56
- this.logger.warn(`Offer ${offerId} is in unexpected state: ${offer.status}`);
57
- return {
58
- success: false,
59
- message: `Offer is in state ${offer.status}, expected pending`,
60
- };
61
- }
62
- await this.paymentMonitor.handlePaymentReceipt(ctx, offerId, preimage, bolt11);
63
- this.logger.log(`Payment settled for offer ${offerId}`);
55
+ }
56
+ catch (err) {
57
+ this.logger.warn(`Signature verification failed: ${err.message}`);
58
+ return { success: false, message: 'Signature verification failed' };
59
+ }
60
+ const { offerId, bolt11, preimage } = body;
61
+ if (!offerId || !bolt11 || !preimage) {
62
+ this.logger.warn('Invalid payment notification: missing required fields');
64
63
  return {
65
- success: true,
66
- message: 'Payment settled successfully',
64
+ success: false,
65
+ message: 'Missing required fields: offerId, bolt11, preimage',
67
66
  };
68
67
  }
69
- catch (err) {
70
- this.logger.error(`Error processing payment notification: ${err.message}`);
68
+ const paymentHash = (0, crypto_1.extractPaymentHashFromBolt11)(bolt11);
69
+ if (!paymentHash) {
70
+ this.logger.warn(`Failed to extract payment hash from bolt11 for offer: ${offerId}`);
71
+ return { success: false, message: 'Invalid bolt11 invoice' };
72
+ }
73
+ if (!(0, crypto_1.verifyPreimage)(preimage, paymentHash)) {
74
+ this.logger.warn(`Preimage verification failed for offer: ${offerId} — sha256(preimage) !== payment_hash`);
75
+ return { success: false, message: 'Preimage verification failed' };
76
+ }
77
+ const ctx = await this.createSystemContext();
78
+ const offer = await this.clinkService.getOfferById(ctx, offerId);
79
+ if (!offer) {
80
+ this.logger.warn(`Offer not found: ${offerId}`);
81
+ return { success: false, message: `Offer ${offerId} not found` };
82
+ }
83
+ if (offer.status === 'paid') {
84
+ this.logger.log(`Offer ${offerId} already settled`);
85
+ return { success: true, message: 'Payment already settled' };
86
+ }
87
+ if (offer.status !== 'pending') {
88
+ this.logger.warn(`Offer ${offerId} is in unexpected state: ${offer.status}`);
71
89
  return {
72
90
  success: false,
73
- message: 'Internal server error',
91
+ message: `Offer is in state ${offer.status}, expected pending`,
74
92
  };
75
93
  }
94
+ const claimedMsat = (0, crypto_1.extractAmountMsatFromBolt11)(bolt11);
95
+ if (claimedMsat !== null && offer.amountSats > 0) {
96
+ const expectedMsat = offer.amountSats * 1000;
97
+ if (claimedMsat !== expectedMsat) {
98
+ this.logger.warn(`Amount mismatch for offer ${offerId}: expected ${expectedMsat} msat, got ${claimedMsat} msat`);
99
+ return { success: false, message: 'Amount mismatch' };
100
+ }
101
+ }
102
+ const network = config.network;
103
+ const invoiceNetwork = (0, crypto_1.extractNetworkFromBolt11)(bolt11);
104
+ if (network && invoiceNetwork && invoiceNetwork !== network) {
105
+ this.logger.warn(`Network mismatch for offer ${offerId}: expected ${network}, got ${invoiceNetwork}`);
106
+ return { success: false, message: 'Network mismatch' };
107
+ }
108
+ const timestamp = (0, crypto_1.extractTimestampFromBolt11)(bolt11);
109
+ const expiry = (0, crypto_1.extractExpiryFromBolt11)(bolt11);
110
+ if (timestamp !== null && expiry !== null) {
111
+ const expiryTime = timestamp + expiry;
112
+ if (Date.now() / 1000 > expiryTime) {
113
+ this.logger.warn(`BOLT11 invoice for offer ${offerId} has expired`);
114
+ return { success: false, message: 'Invoice expired' };
115
+ }
116
+ }
117
+ await this.paymentMonitor.handlePaymentReceipt(ctx, offerId, preimage, bolt11);
118
+ this.logger.log(`Payment settled for offer ${offerId}`);
119
+ return {
120
+ success: true,
121
+ message: 'Payment settled successfully',
122
+ };
76
123
  }
77
- async handleWebhook(body) {
124
+ async handleWebhook(body, signatureHeader) {
125
+ const config = clink_plugin_1.ClinkPlugin.getInitOptions();
126
+ if (!config.webhookSecret) {
127
+ this.logger.error('webhookSecret not configured — rejecting all webhook requests');
128
+ return { received: false };
129
+ }
130
+ if (!signatureHeader) {
131
+ this.logger.warn('Missing x-clink-signature header on webhook');
132
+ return { received: false };
133
+ }
134
+ try {
135
+ const payloadStr = JSON.stringify(body);
136
+ if (!(0, crypto_1.verifyHmac)(config.webhookSecret, payloadStr, signatureHeader)) {
137
+ this.logger.warn('Invalid HMAC signature on webhook');
138
+ return { received: false };
139
+ }
140
+ }
141
+ catch (err) {
142
+ this.logger.warn(`Webhook signature verification failed: ${err.message}`);
143
+ return { received: false };
144
+ }
78
145
  try {
79
146
  this.logger.log('Received webhook notification');
80
147
  if (body.type === 'payment_confirmed' && body.data) {
81
148
  const { offerId, bolt11, preimage } = body.data;
82
149
  if (offerId && bolt11 && preimage) {
150
+ const paymentHash = (0, crypto_1.extractPaymentHashFromBolt11)(bolt11);
151
+ if (!paymentHash) {
152
+ this.logger.warn(`Failed to extract payment hash from bolt11 for offer: ${offerId}`);
153
+ return { received: false };
154
+ }
155
+ if (!(0, crypto_1.verifyPreimage)(preimage, paymentHash)) {
156
+ this.logger.warn(`Preimage verification failed for offer: ${offerId}`);
157
+ return { received: false };
158
+ }
83
159
  const ctx = await this.createSystemContext();
84
160
  await this.paymentMonitor.handlePaymentReceipt(ctx, offerId, preimage, bolt11);
85
161
  }
@@ -109,16 +185,18 @@ __decorate([
109
185
  (0, common_1.Post)(),
110
186
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
111
187
  __param(0, (0, common_1.Body)()),
188
+ __param(1, (0, common_1.Headers)('x-clink-signature')),
112
189
  __metadata("design:type", Function),
113
- __metadata("design:paramtypes", [Object]),
190
+ __metadata("design:paramtypes", [Object, Object]),
114
191
  __metadata("design:returntype", Promise)
115
192
  ], ClinkWebhookController.prototype, "handlePaymentNotification", null);
116
193
  __decorate([
117
194
  (0, common_1.Post)('webhook'),
118
195
  (0, common_1.HttpCode)(common_1.HttpStatus.OK),
119
196
  __param(0, (0, common_1.Body)()),
197
+ __param(1, (0, common_1.Headers)('x-clink-signature')),
120
198
  __metadata("design:type", Function),
121
- __metadata("design:paramtypes", [Object]),
199
+ __metadata("design:paramtypes", [Object, Object]),
122
200
  __metadata("design:returntype", Promise)
123
201
  ], ClinkWebhookController.prototype, "handleWebhook", null);
124
202
  exports.ClinkWebhookController = ClinkWebhookController = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"clink-webhook.controller.js","sourceRoot":"","sources":["../../src/api/clink-webhook.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clink-webhook.controller.js","sourceRoot":"","sources":["../../src/api/clink-webhook.controller.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { OnApplicationBootstrap } from '@nestjs/common';
2
2
  import { ModuleRef } from '@nestjs/core';
3
3
  import { OracleService } from './oracle';
4
- import { ClinkPluginInitOptions } from './config/clink-config';
4
+ import { ClinkPluginInitOptions, DEFAULT_CLINK_OPTIONS } from './config/clink-config';
5
5
  /**
6
6
  * Vendure plugin for accepting Bitcoin Lightning payments via the CLINK protocol.
7
7
  *
@@ -39,6 +39,7 @@ export declare class ClinkPlugin implements OnApplicationBootstrap {
39
39
  */
40
40
  static init(options: ClinkPluginInitOptions): typeof ClinkPlugin;
41
41
  static getOracleService(): OracleService;
42
+ static getInitOptions(): typeof DEFAULT_CLINK_OPTIONS;
42
43
  onApplicationBootstrap(): Promise<void>;
43
44
  }
44
45
  //# sourceMappingURL=clink.plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clink.plugin.d.ts","sourceRoot":"","sources":["../src/clink.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAazC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAyB,MAAM,uBAAuB,CAAC;AAKtF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAuBa,WAAY,YAAW,sBAAsB;IAI5C,OAAO,CAAC,SAAS;IAH7B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAuD;IACjF,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgB;gBAExB,SAAS,EAAE,SAAS;IAExC;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB;IAQ3C,MAAM,CAAC,gBAAgB,IAAI,aAAa;IAIlC,sBAAsB;CAoB7B"}
1
+ {"version":3,"file":"clink.plugin.d.ts","sourceRoot":"","sources":["../src/clink.plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAazC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAKtF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAuBa,WAAY,YAAW,sBAAsB;IAI5C,OAAO,CAAC,SAAS;IAH7B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAuD;IACjF,OAAO,CAAC,MAAM,CAAC,aAAa,CAAgB;gBAExB,SAAS,EAAE,SAAS;IAExC;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB;IAQ3C,MAAM,CAAC,gBAAgB,IAAI,aAAa;IAIxC,MAAM,CAAC,cAAc,IAAI,OAAO,qBAAqB;IAI/C,sBAAsB;CAoB7B"}
@@ -74,6 +74,9 @@ let ClinkPlugin = ClinkPlugin_1 = class ClinkPlugin {
74
74
  static getOracleService() {
75
75
  return ClinkPlugin_1.oracleService;
76
76
  }
77
+ static getInitOptions() {
78
+ return ClinkPlugin_1.initOptions;
79
+ }
77
80
  async onApplicationBootstrap() {
78
81
  const clinkService = this.moduleRef.get(clink_service_1.ClinkService, { strict: false });
79
82
  const nostrKeyService = this.moduleRef.get(nostr_key_service_1.NostrKeyService, { strict: false });
@@ -1 +1 @@
1
- {"version":3,"file":"clink.plugin.js","sourceRoot":"","sources":["../src/clink.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clink.plugin.js","sourceRoot":"","sources":["../src/clink.plugin.ts"],"names":[],"mappings":"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"}
@@ -15,11 +15,24 @@ export interface ClinkPluginInitOptions {
15
15
  httpFallback?: boolean;
16
16
  /** Static Nostr secret key for the plugin (auto-generated if not provided). */
17
17
  nostrSecretKey?: string;
18
+ /**
19
+ * Secret key for HMAC-SHA256 verification of webhook payloads.
20
+ * Required when httpFallback is enabled. Generate with: openssl rand -hex 32
21
+ * @example
22
+ * ```ts
23
+ * ClinkPlugin.init({
24
+ * webhookSecret: 'your-secret-key-here',
25
+ * })
26
+ * ```
27
+ */
28
+ webhookSecret?: string;
29
+ /** Bitcoin network for BOLT11 invoice validation (default: 'mainnet'). */
30
+ network?: 'mainnet' | 'testnet' | 'regtest';
18
31
  /** BTC price oracle configuration (default: CoinGecko with Kraken fallback). */
19
32
  oracle?: OracleConfig;
20
33
  }
21
34
  export declare const DEFAULT_ORACLE_OPTIONS: OracleConfig;
22
- export declare const DEFAULT_CLINK_OPTIONS: Required<Pick<ClinkPluginInitOptions, 'relays' | 'autoSettle' | 'offerExpiryMinutes' | 'httpFallback' | 'nostrSecretKey'>> & {
35
+ export declare const DEFAULT_CLINK_OPTIONS: Required<Pick<ClinkPluginInitOptions, 'relays' | 'autoSettle' | 'offerExpiryMinutes' | 'httpFallback' | 'nostrSecretKey' | 'webhookSecret' | 'network'>> & {
23
36
  oracle: OracleConfig;
24
37
  };
25
38
  //# sourceMappingURL=clink-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clink-config.d.ts","sourceRoot":"","sources":["../../src/config/clink-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwC,MAAM,wBAAwB,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,sBAAsB,EAAE,YAIpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,YAAY,GAAG,oBAAoB,GAAG,cAAc,GAAG,gBAAgB,CAAC,CACjH,GAAG;IAAE,MAAM,EAAE,YAAY,CAAA;CAOzB,CAAC"}
1
+ {"version":3,"file":"clink-config.d.ts","sourceRoot":"","sources":["../../src/config/clink-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwC,MAAM,wBAAwB,CAAC;AAE5F;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,gFAAgF;IAChF,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,sBAAsB,EAAE,YAIpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAC1C,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,YAAY,GAAG,oBAAoB,GAAG,cAAc,GAAG,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAAC,CAC/I,GAAG;IAAE,MAAM,EAAE,YAAY,CAAA;CASzB,CAAC"}
@@ -12,6 +12,8 @@ exports.DEFAULT_CLINK_OPTIONS = {
12
12
  offerExpiryMinutes: 30,
13
13
  httpFallback: true,
14
14
  nostrSecretKey: '',
15
+ webhookSecret: '',
16
+ network: 'mainnet',
15
17
  oracle: exports.DEFAULT_ORACLE_OPTIONS,
16
18
  };
17
19
  //# sourceMappingURL=clink-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clink-config.js","sourceRoot":"","sources":["../../src/config/clink-config.ts"],"names":[],"mappings":";;;AAsBa,QAAA,sBAAsB,GAAiB;IAClD,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,CAAC,QAAQ,CAAC;CAC9B,CAAC;AAEW,QAAA,qBAAqB,GAEH;IAC7B,MAAM,EAAE,CAAC,8BAA8B,CAAC;IACxC,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,EAAE;IACtB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,8BAAsB;CAC/B,CAAC"}
1
+ {"version":3,"file":"clink-config.js","sourceRoot":"","sources":["../../src/config/clink-config.ts"],"names":[],"mappings":";;;AAmCa,QAAA,sBAAsB,GAAiB;IAClD,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE,MAAM;IAClB,iBAAiB,EAAE,CAAC,QAAQ,CAAC;CAC9B,CAAC;AAEW,QAAA,qBAAqB,GAEH;IAC7B,MAAM,EAAE,CAAC,8BAA8B,CAAC;IACxC,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,EAAE;IACtB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,8BAAsB;CAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-handler.d.ts","sourceRoot":"","sources":["../src/payment-handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EAGpB,YAAY,EAKb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAS/D;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,eAAe,QAIvB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;EAkJ9B,CAAC"}
1
+ {"version":3,"file":"payment-handler.d.ts","sourceRoot":"","sources":["../src/payment-handler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EAGpB,YAAY,EAKb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAU/D;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,eAAe,QAIvB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;EAkJ9B,CAAC"}
@@ -5,6 +5,7 @@ exports.setClinkServices = setClinkServices;
5
5
  const common_1 = require("@nestjs/common");
6
6
  const core_1 = require("@vendure/core");
7
7
  const clink_plugin_1 = require("./clink.plugin");
8
+ const crypto_1 = require("./utils/crypto");
8
9
  const HANDLER_NAME = 'ClinkPaymentHandler';
9
10
  const logger = new common_1.Logger(HANDLER_NAME);
10
11
  let clinkService = null;
@@ -65,7 +66,7 @@ exports.ClinkPaymentHandler = new core_1.PaymentMethodHandler({
65
66
  const channelId = typeof ctx.channelId === 'string' ? parseInt(ctx.channelId, 10) : ctx.channelId;
66
67
  const config = await nostrKeyService.getOrCreateChannelKeys(ctx, channelId);
67
68
  const relayUrlsFromArgs = args.relayUrls
68
- ? args.relayUrls.split(',').map((u) => u.trim()).filter(Boolean)
69
+ ? (0, crypto_1.filterAllowedRelayUrls)(args.relayUrls.split(',').map((u) => u.trim()).filter(Boolean))
69
70
  : config.relayUrls;
70
71
  const oracle = clink_plugin_1.ClinkPlugin.getOracleService();
71
72
  let amountSats;
@@ -1 +1 @@
1
- {"version":3,"file":"payment-handler.js","sourceRoot":"","sources":["../src/payment-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment-handler.js","sourceRoot":"","sources":["../src/payment-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clink.service.d.ts","sourceRoot":"","sources":["../../src/services/clink.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,sBAAsB,EAAU,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAW,EAAE,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,QAAQ,EAA8C,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E;;;;;;;;GAQG;AACH,qBACa,YAAa,YAAW,sBAAsB;IAKvD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;gBAGvD,UAAU,EAAE,uBAAuB,EACnC,cAAc,EAAE,cAAc;IAGlC,sBAAsB;IAM5B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,QAAQ;IAoB9C,WAAW,CACf,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IA6B3C,mBAAmB,CACvB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IASvB,YAAY,CAChB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAMvB,UAAU,CACd,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC;IAUhB,aAAa,CACjB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,UAAU,CAAC;IAOhB,gBAAgB,CACpB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAM/B,gBAAgB,CACpB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAQ9B,YAAY,CAAC,MAAM,EAAE,MAAM;IAI3B,eAAe,IAAI,MAAM;IAInB,iBAAiB,CACrB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAOlB,YAAY,CAChB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAkBxD"}
1
+ {"version":3,"file":"clink.service.d.ts","sourceRoot":"","sources":["../../src/services/clink.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,sBAAsB,EAAU,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAW,EAAE,EAAE,MAAM,eAAe,CAAC;AACrG,OAAO,EAAE,QAAQ,EAA8C,MAAM,qBAAqB,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAI7E;;;;;;;;GAQG;AACH,qBACa,YAAa,YAAW,sBAAsB;IAKvD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IALxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;gBAGvD,UAAU,EAAE,uBAAuB,EACnC,cAAc,EAAE,cAAc;IAGlC,sBAAsB;IAM5B,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,QAAQ;IAyB9C,WAAW,CACf,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IA6B3C,mBAAmB,CACvB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IASvB,YAAY,CAChB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAMvB,UAAU,CACd,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC;IAUhB,aAAa,CACjB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,UAAU,CAAC;IAOhB,gBAAgB,CACpB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAM/B,gBAAgB,CACpB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAQ9B,YAAY,CAAC,MAAM,EAAE,MAAM;IAI3B,eAAe,IAAI,MAAM;IAInB,iBAAiB,CACrB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,EAAE,CAAC;IAOlB,YAAY,CAChB,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,OAAO,CAAC;QAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAkBxD"}
@@ -49,6 +49,7 @@ const clink_sdk_1 = require("@shocknet/clink-sdk");
49
49
  const nostr_tools_1 = require("nostr-tools");
50
50
  const clink_offer_entity_1 = require("../entities/clink-offer.entity");
51
51
  const clink_channel_config_entity_1 = require("../entities/clink-channel-config.entity");
52
+ const crypto_1 = require("../utils/crypto");
52
53
  /**
53
54
  * Core service for CLINK SDK integration and offer management.
54
55
  *
@@ -78,9 +79,13 @@ let ClinkService = class ClinkService {
78
79
  const secretKey = config.nostrSecretKey
79
80
  ? new Uint8Array(Buffer.from(config.nostrSecretKey, 'hex'))
80
81
  : (0, nostr_tools_1.generateSecretKey)();
82
+ const relays = (0, crypto_1.filterAllowedRelayUrls)(config.relayUrls);
83
+ if (relays.length === 0) {
84
+ throw new Error('No allowed relay URLs configured for CLINK SDK');
85
+ }
81
86
  const sdk = new clink_sdk_1.ClinkSDK({
82
87
  privateKey: secretKey,
83
- relays: config.relayUrls,
88
+ relays,
84
89
  toPubKey: config.nostrPubkey,
85
90
  });
86
91
  this.sdkInstances.set(key, sdk);
@@ -1 +1 @@
1
- {"version":3,"file":"clink.service.js","sourceRoot":"","sources":["../../src/services/clink.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clink.service.js","sourceRoot":"","sources":["../../src/services/clink.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-key.service.d.ts","sourceRoot":"","sources":["../../src/services/nostr-key.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAW,MAAM,eAAe,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;;;;GAQG;AACH,qBACa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAEpC,UAAU,EAAE,uBAAuB;IAEvD,eAAe,IAAI;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM5D,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAK9C,sBAAsB,CAC1B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC;IA2BxB,YAAY,CAChB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,GAAG,oBAAoB,GAAG,cAAc,CAAC,CAAC,GAC7G,OAAO,CAAC,kBAAkB,CAAC;IAQ9B,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAGhD"}
1
+ {"version":3,"file":"nostr-key.service.d.ts","sourceRoot":"","sources":["../../src/services/nostr-key.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAW,MAAM,eAAe,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E;;;;;;;;GAQG;AACH,qBACa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;gBAEpC,UAAU,EAAE,uBAAuB;IAEvD,eAAe,IAAI;QAAE,SAAS,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM5D,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAK9C,sBAAsB,CAC1B,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC;IA2BxB,YAAY,CAChB,GAAG,EAAE,cAAc,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,GAAG,oBAAoB,GAAG,cAAc,CAAC,CAAC,GAC7G,OAAO,CAAC,kBAAkB,CAAC;IAuB9B,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAGhD"}
@@ -14,6 +14,7 @@ const common_1 = require("@nestjs/common");
14
14
  const core_1 = require("@vendure/core");
15
15
  const nostr_tools_1 = require("nostr-tools");
16
16
  const clink_channel_config_entity_1 = require("../entities/clink-channel-config.entity");
17
+ const crypto_1 = require("../utils/crypto");
17
18
  /**
18
19
  * Manages Nostr keypair generation and per-channel configuration.
19
20
  *
@@ -59,9 +60,20 @@ let NostrKeyService = class NostrKeyService {
59
60
  }
60
61
  async updateConfig(ctx, channelId, updates) {
61
62
  const config = await this.getOrCreateChannelKeys(ctx, channelId);
63
+ const safeUpdates = { ...updates };
64
+ if (updates.relayUrls) {
65
+ const filtered = (0, crypto_1.filterAllowedRelayUrls)(updates.relayUrls);
66
+ if (filtered.length !== updates.relayUrls.length) {
67
+ this.logger.warn(`Filtered ${updates.relayUrls.length - filtered.length} disallowed relay URL(s) for channel ${channelId}`);
68
+ }
69
+ if (filtered.length === 0) {
70
+ throw new Error('All provided relay URLs are disallowed (blocked localhost/private networks)');
71
+ }
72
+ safeUpdates.relayUrls = filtered;
73
+ }
62
74
  return this.connection.getRepository(ctx, clink_channel_config_entity_1.ClinkChannelConfig).save({
63
75
  ...config,
64
- ...updates,
76
+ ...safeUpdates,
65
77
  });
66
78
  }
67
79
  secretKeyToPubkey(secretKeyHex) {
@@ -1 +1 @@
1
- {"version":3,"file":"nostr-key.service.js","sourceRoot":"","sources":["../../src/services/nostr-key.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AACpD,wCAAiF;AACjF,6CAA8D;AAC9D,yFAA6E;AAE7E;;;;;;;;GAQG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAG1B,YAAoB,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;QAFtC,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;IAEE,CAAC;IAE3D,eAAe;QACb,MAAM,SAAS,GAAG,IAAA,+BAAiB,GAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAA,0BAAY,EAAC,SAAS,CAAC,CAAC;QACvC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,sBAAsB,CAAC,YAAoB;QACzC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,OAAO,IAAA,0BAAY,EAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,GAAmB,EACnB,SAAiB;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,gDAAkB,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAC9B,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CACtB,IAAI,gDAAkB,CAAC;gBACrB,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAa;gBACrC,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3D,SAAS,EAAE,CAAC,8BAA8B,CAAC;gBAC3C,UAAU,EAAE,IAAI;gBAChB,kBAAkB,EAAE,EAAE;gBACtB,YAAY,EAAE,IAAI;aACnB,CAAC,CACH,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2CAA2C,SAAS,KAAK,IAAI,CAAC,MAAM,EAAE,CACvE,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,GAAmB,EACnB,SAAiB,EACjB,OAA8G;QAE9G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,gDAAkB,CAAC,CAAC,IAAI,CAAC;YACjE,GAAG,MAAM;YACT,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,YAAoB;QACpC,OAAO,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;CACF,CAAA;AA7DY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAIqB,8BAAuB;GAH5C,eAAe,CA6D3B"}
1
+ {"version":3,"file":"nostr-key.service.js","sourceRoot":"","sources":["../../src/services/nostr-key.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"payment-monitor.service.d.ts","sourceRoot":"","sources":["../../src/services/payment-monitor.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,sBAAsB,EAAE,qBAAqB,EAAU,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAE,QAAQ,EAAW,MAAM,eAAe,CAAC;AAI3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAK7E,qBACa,qBAAsB,YAAW,sBAAsB,EAAE,qBAAqB;IAOvF,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IARlB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAA+C;gBAG/D,UAAU,EAAE,uBAAuB,EACnC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ;IAGtB,sBAAsB;IAQ5B,qBAAqB;YAKP,cAAc;IAe5B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAyBtB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB;YA2BpC,gBAAgB;YA6BhB,mBAAmB;YAiBnB,6BAA6B;YAwC7B,kBAAkB;IA2ChC,OAAO,CAAC,uBAAuB;IAUzB,oBAAoB,CACxB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA0BV,kBAAkB,CACtB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;YAcF,mBAAmB;CAiBlC"}
1
+ {"version":3,"file":"payment-monitor.service.d.ts","sourceRoot":"","sources":["../../src/services/payment-monitor.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,sBAAsB,EAAE,qBAAqB,EAAU,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAE,QAAQ,EAAW,MAAM,eAAe,CAAC;AAI3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAe7E,qBACa,qBAAsB,YAAW,sBAAsB,EAAE,qBAAqB;IAOvF,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ;IARlB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAA+C;gBAG/D,UAAU,EAAE,uBAAuB,EACnC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ;IAGtB,sBAAsB;IAQ5B,qBAAqB;YAKP,cAAc;IAe5B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAyBtB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB;YA2BpC,gBAAgB;YAmDhB,mBAAmB;YAiBnB,6BAA6B;YA+F7B,kBAAkB;IA4ChC,OAAO,CAAC,uBAAuB;IAUzB,oBAAoB,CACxB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAoCV,kBAAkB,CACtB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;YAcF,mBAAmB;CAiBlC"}
@@ -15,6 +15,8 @@ const core_1 = require("@vendure/core");
15
15
  const nostr_tools_1 = require("nostr-tools");
16
16
  const nip44_1 = require("./nip44");
17
17
  const clink_offer_entity_1 = require("../entities/clink-offer.entity");
18
+ const clink_plugin_1 = require("../clink.plugin");
19
+ const crypto_1 = require("../utils/crypto");
18
20
  const SERVICE_NAME = 'PaymentMonitorService';
19
21
  let PaymentMonitorService = class PaymentMonitorService {
20
22
  constructor(connection, processContext, eventBus) {
@@ -87,7 +89,7 @@ let PaymentMonitorService = class PaymentMonitorService {
87
89
  async subscribeToRelays(config) {
88
90
  if (!this.pool || !this.subscriptionActive)
89
91
  return;
90
- const relays = config.relayUrls;
92
+ const relays = (0, crypto_1.filterAllowedRelayUrls)(config.relayUrls);
91
93
  if (!relays.length)
92
94
  return;
93
95
  try {
@@ -113,6 +115,14 @@ let PaymentMonitorService = class PaymentMonitorService {
113
115
  if (!event || !event.content)
114
116
  return;
115
117
  try {
118
+ if (!(0, nostr_tools_1.verifyEvent)(event)) {
119
+ this.logger.warn(`Invalid Nostr event signature: ${event.id?.substring(0, 8)}...`);
120
+ return;
121
+ }
122
+ if (event.kind !== 21001) {
123
+ this.logger.warn(`Ignoring event with non-CLINK kind: ${event.kind}`);
124
+ return;
125
+ }
116
126
  const secretKey = config.nostrSecretKey
117
127
  ? new Uint8Array(Buffer.from(config.nostrSecretKey, 'hex'))
118
128
  : null;
@@ -120,6 +130,14 @@ let PaymentMonitorService = class PaymentMonitorService {
120
130
  this.logger.warn('No secret key available for decryption');
121
131
  return;
122
132
  }
133
+ const ownPubkey = (0, nostr_tools_1.getPublicKey)(secretKey);
134
+ const tags = event.tags || [];
135
+ const pTag = tags.find((t) => t[0] === 'p');
136
+ const targetPubkey = pTag ? pTag[1] : null;
137
+ if (targetPubkey && targetPubkey !== ownPubkey) {
138
+ this.logger.warn(`Event ${event.id?.substring(0, 8)} is not addressed to our pubkey, ignoring`);
139
+ return;
140
+ }
123
141
  const ctx = await this.createSystemContext();
124
142
  if (!ctx)
125
143
  return;
@@ -167,14 +185,52 @@ let PaymentMonitorService = class PaymentMonitorService {
167
185
  this.logger.log(`Offer ${offerId} already settled, ignoring receipt`);
168
186
  return;
169
187
  }
170
- offer.status = 'paid';
171
- offer.preimage = payload.preimage;
172
- offer.bolt11Invoice = payload.bolt11;
173
- offer.paidAt = new Date();
174
- offer.nostrEventId = event.id;
175
- await offerRepo.save(offer);
188
+ if (!payload.preimage || !payload.bolt11) {
189
+ this.logger.warn(`Payment receipt for offer ${offerId} missing preimage or bolt11 — refusing to settle`);
190
+ return;
191
+ }
192
+ const paymentHash = (0, crypto_1.extractPaymentHashFromBolt11)(payload.bolt11);
193
+ if (!paymentHash || !(0, crypto_1.verifyPreimage)(payload.preimage, paymentHash)) {
194
+ this.logger.warn(`Preimage verification failed for offer ${offerId} — sha256(preimage) !== payment_hash`);
195
+ return;
196
+ }
197
+ const network = clink_plugin_1.ClinkPlugin.getInitOptions().network;
198
+ const invoiceNetwork = (0, crypto_1.extractNetworkFromBolt11)(payload.bolt11);
199
+ if (network && invoiceNetwork && invoiceNetwork !== network) {
200
+ this.logger.warn(`Network mismatch for offer ${offerId}: expected ${network}, got ${invoiceNetwork}`);
201
+ return;
202
+ }
203
+ const claimedMsat = (0, crypto_1.extractAmountMsatFromBolt11)(payload.bolt11);
204
+ if (claimedMsat !== null && offer.amountSats > 0) {
205
+ const expectedMsat = offer.amountSats * 1000;
206
+ if (claimedMsat !== expectedMsat) {
207
+ this.logger.warn(`Amount mismatch for offer ${offerId}: expected ${expectedMsat} msat, got ${claimedMsat} msat`);
208
+ return;
209
+ }
210
+ }
211
+ const timestamp = (0, crypto_1.extractTimestampFromBolt11)(payload.bolt11);
212
+ const expiry = (0, crypto_1.extractExpiryFromBolt11)(payload.bolt11);
213
+ if (timestamp !== null && expiry !== null) {
214
+ const expiryTime = timestamp + expiry;
215
+ if (Date.now() / 1000 > expiryTime) {
216
+ this.logger.warn(`BOLT11 invoice for offer ${offerId} has expired`);
217
+ return;
218
+ }
219
+ }
220
+ const now = new Date();
221
+ const result = await offerRepo.update({ offerId, status: 'pending' }, {
222
+ status: 'paid',
223
+ preimage: payload.preimage,
224
+ bolt11Invoice: payload.bolt11,
225
+ paidAt: now,
226
+ nostrEventId: event.id,
227
+ });
228
+ if (result.affected === 0) {
229
+ this.logger.log(`Offer ${offerId} was already settled or is no longer pending`);
230
+ return;
231
+ }
176
232
  this.logger.log(`Payment received for offer ${offerId}, ` +
177
- `preimage: ${payload.preimage?.substring(0, 16)}...`);
233
+ `preimage: ${payload.preimage.substring(0, 16)}...`);
178
234
  await this.sendPaymentReceipt(ctx, config, event.pubkey, event.id);
179
235
  }
180
236
  async sendPaymentReceipt(ctx, config, payerPubkey, requestId) {
@@ -197,7 +253,9 @@ let PaymentMonitorService = class PaymentMonitorService {
197
253
  ],
198
254
  created_at: Math.floor(Date.now() / 1000),
199
255
  }, secretKey);
200
- const relays = config.relayUrls;
256
+ const relays = (0, crypto_1.filterAllowedRelayUrls)(config.relayUrls);
257
+ if (!relays.length)
258
+ return;
201
259
  await this.pool.publish(relays, receiptEvent);
202
260
  this.logger.log(`Sent payment receipt for request ${requestId}`);
203
261
  }
@@ -226,22 +284,26 @@ let PaymentMonitorService = class PaymentMonitorService {
226
284
  this.logger.log(`Offer ${offerId} already settled, ignoring receipt`);
227
285
  return;
228
286
  }
229
- offer.status = 'paid';
230
- offer.preimage = preimage;
231
- offer.bolt11Invoice = bolt11;
232
- offer.paidAt = new Date();
233
- await offerRepo.save(offer);
287
+ const now = new Date();
288
+ const result = await offerRepo.update({ offerId, status: 'pending' }, {
289
+ status: 'paid',
290
+ preimage,
291
+ bolt11Invoice: bolt11,
292
+ paidAt: now,
293
+ });
294
+ if (result.affected === 0) {
295
+ this.logger.log(`Offer ${offerId} was already settled or is no longer pending`);
296
+ return;
297
+ }
234
298
  this.logger.log(`Payment received for offer ${offerId}, ` +
235
299
  `preimage: ${preimage.substring(0, 16)}...`);
236
300
  }
237
301
  async handleOfferExpired(ctx, offerId) {
238
302
  const offerRepo = this.connection.getRepository(ctx, clink_offer_entity_1.ClinkOffer);
239
- const offer = await offerRepo.findOne({ where: { offerId } });
240
- if (!offer || offer.status !== 'pending') {
303
+ const result = await offerRepo.update({ offerId, status: 'pending' }, { status: 'expired' });
304
+ if (result.affected === 0) {
241
305
  return;
242
306
  }
243
- offer.status = 'expired';
244
- await offerRepo.save(offer);
245
307
  this.logger.log(`Offer ${offerId} expired`);
246
308
  }
247
309
  async createSystemContext() {
@@ -1 +1 @@
1
- {"version":3,"file":"payment-monitor.service.js","sourceRoot":"","sources":["../../src/services/payment-monitor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment-monitor.service.js","sourceRoot":"","sources":["../../src/services/payment-monitor.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Verifies that sha256(preimage) === paymentHash.
3
+ * Uses constant-time comparison to prevent timing attacks.
4
+ *
5
+ * @category Utilities
6
+ */
7
+ export declare function verifyPreimage(preimage: string, paymentHash: string): boolean;
8
+ /**
9
+ * Computes HMAC-SHA256 signature of a payload using a shared secret.
10
+ *
11
+ * @category Utilities
12
+ */
13
+ export declare function computeHmac(secret: string, payload: string): string;
14
+ /**
15
+ * Verifies that an HMAC-SHA256 signature matches the expected value.
16
+ * Uses constant-time comparison to prevent timing attacks.
17
+ *
18
+ * @category Utilities
19
+ */
20
+ export declare function verifyHmac(secret: string, payload: string, signature: string): boolean;
21
+ export interface Bolt11Decoded {
22
+ network: 'mainnet' | 'testnet' | 'regtest' | null;
23
+ amountMsat: number | null;
24
+ timestamp: number | null;
25
+ expirySeconds: number | null;
26
+ paymentHash: string | null;
27
+ }
28
+ /**
29
+ * Decodes a BOLT11 invoice into its core fields.
30
+ * Only extracts data needed for verification — does not validate the signature.
31
+ *
32
+ * @category Utilities
33
+ */
34
+ export declare function decodeBolt11(bolt11: string): Bolt11Decoded;
35
+ /**
36
+ * Extracts the payment hash (tag `p`) from a BOLT11 invoice.
37
+ *
38
+ * @category Utilities
39
+ */
40
+ export declare function extractPaymentHashFromBolt11(bolt11: string): string | null;
41
+ /**
42
+ * Extracts the payment amount in millisatoshis from a BOLT11 invoice.
43
+ *
44
+ * @category Utilities
45
+ */
46
+ export declare function extractAmountMsatFromBolt11(bolt11: string): number | null;
47
+ /**
48
+ * Returns the Bitcoin network a BOLT11 invoice was created for.
49
+ * `lnbc` = mainnet, `lntb` = testnet, `lnbcrt` = regtest.
50
+ *
51
+ * @category Utilities
52
+ */
53
+ export declare function extractNetworkFromBolt11(bolt11: string): 'mainnet' | 'testnet' | 'regtest' | null;
54
+ /**
55
+ * Extracts the creation timestamp from a BOLT11 invoice.
56
+ *
57
+ * @category Utilities
58
+ */
59
+ export declare function extractTimestampFromBolt11(bolt11: string): number | null;
60
+ /**
61
+ * Extracts the expiry tag (`x`) in seconds from a BOLT11 invoice.
62
+ * Returns 3600 (BOLT11 default) if no expiry tag is present.
63
+ *
64
+ * @category Utilities
65
+ */
66
+ export declare function extractExpiryFromBolt11(bolt11: string): number | null;
67
+ /**
68
+ * Validates a Nostr relay URL against SSRF vectors.
69
+ * Rejects non-wss/ws schemes and hostnames resolving to
70
+ * localhost, private, loopback, or link-local addresses.
71
+ *
72
+ * @category Utilities
73
+ */
74
+ export declare function isAllowedRelayUrl(url: string): boolean;
75
+ /**
76
+ * Filters a list of relay URLs, keeping only those passing SSRF validation.
77
+ *
78
+ * @category Utilities
79
+ */
80
+ export declare function filterAllowedRelayUrls(urls: string[]): string[];
81
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAc7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUtF;AAID,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IAClD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CA6F1D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAEjG;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA2BtD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D"}
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyPreimage = verifyPreimage;
4
+ exports.computeHmac = computeHmac;
5
+ exports.verifyHmac = verifyHmac;
6
+ exports.decodeBolt11 = decodeBolt11;
7
+ exports.extractPaymentHashFromBolt11 = extractPaymentHashFromBolt11;
8
+ exports.extractAmountMsatFromBolt11 = extractAmountMsatFromBolt11;
9
+ exports.extractNetworkFromBolt11 = extractNetworkFromBolt11;
10
+ exports.extractTimestampFromBolt11 = extractTimestampFromBolt11;
11
+ exports.extractExpiryFromBolt11 = extractExpiryFromBolt11;
12
+ exports.isAllowedRelayUrl = isAllowedRelayUrl;
13
+ exports.filterAllowedRelayUrls = filterAllowedRelayUrls;
14
+ const crypto_1 = require("crypto");
15
+ /**
16
+ * Verifies that sha256(preimage) === paymentHash.
17
+ * Uses constant-time comparison to prevent timing attacks.
18
+ *
19
+ * @category Utilities
20
+ */
21
+ function verifyPreimage(preimage, paymentHash) {
22
+ try {
23
+ const preimageBuf = Buffer.from(preimage, 'hex');
24
+ if (preimageBuf.length !== 32)
25
+ return false;
26
+ const computedHash = (0, crypto_1.createHash)('sha256').update(preimageBuf).digest('hex');
27
+ const expectedBuf = Buffer.from(paymentHash, 'hex');
28
+ const computedBuf = Buffer.from(computedHash, 'hex');
29
+ if (expectedBuf.length !== computedBuf.length)
30
+ return false;
31
+ return (0, crypto_1.timingSafeEqual)(expectedBuf, computedBuf);
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ }
37
+ /**
38
+ * Computes HMAC-SHA256 signature of a payload using a shared secret.
39
+ *
40
+ * @category Utilities
41
+ */
42
+ function computeHmac(secret, payload) {
43
+ return (0, crypto_1.createHmac)('sha256', secret).update(payload, 'utf8').digest('hex');
44
+ }
45
+ /**
46
+ * Verifies that an HMAC-SHA256 signature matches the expected value.
47
+ * Uses constant-time comparison to prevent timing attacks.
48
+ *
49
+ * @category Utilities
50
+ */
51
+ function verifyHmac(secret, payload, signature) {
52
+ const expected = computeHmac(secret, payload);
53
+ try {
54
+ const expectedBuf = Buffer.from(expected, 'hex');
55
+ const sigBuf = Buffer.from(signature, 'hex');
56
+ if (expectedBuf.length !== sigBuf.length)
57
+ return false;
58
+ return (0, crypto_1.timingSafeEqual)(expectedBuf, sigBuf);
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ }
64
+ const BOLT11_CHARSET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l';
65
+ /**
66
+ * Decodes a BOLT11 invoice into its core fields.
67
+ * Only extracts data needed for verification — does not validate the signature.
68
+ *
69
+ * @category Utilities
70
+ */
71
+ function decodeBolt11(bolt11) {
72
+ const result = {
73
+ network: null,
74
+ amountMsat: null,
75
+ timestamp: null,
76
+ expirySeconds: null,
77
+ paymentHash: null,
78
+ };
79
+ try {
80
+ const lower = bolt11.toLowerCase();
81
+ if (lower.startsWith('lnbcrt'))
82
+ result.network = 'regtest';
83
+ else if (lower.startsWith('lnbc'))
84
+ result.network = 'mainnet';
85
+ else if (lower.startsWith('lntb'))
86
+ result.network = 'testnet';
87
+ else
88
+ return result;
89
+ const separatorIdx = lower.indexOf('1');
90
+ if (separatorIdx === -1)
91
+ return result;
92
+ const hrp = lower.slice(0, separatorIdx);
93
+ const dataPart = lower.slice(separatorIdx + 1);
94
+ const amountStr = hrp.slice(4).replace(/[^0-9a-z]/g, '');
95
+ const amountMatch = amountStr.match(/^(\d+)([munp]?)$/);
96
+ if (amountMatch) {
97
+ const multipliers = { p: 1e-12, n: 1e-9, u: 1e-6, m: 1e-3, '': 1 };
98
+ const multiplier = multipliers[amountMatch[2]] ?? 1;
99
+ const amountBtc = parseFloat(amountMatch[1]) * multiplier;
100
+ result.amountMsat = Math.round(amountBtc * 1e11);
101
+ }
102
+ const data = [];
103
+ for (const ch of dataPart) {
104
+ const idx = BOLT11_CHARSET.indexOf(ch);
105
+ if (idx === -1)
106
+ break;
107
+ data.push(idx);
108
+ }
109
+ if (data.length < 7)
110
+ return result;
111
+ let timestamp = 0;
112
+ for (let i = 0; i < 7; i++) {
113
+ timestamp = (timestamp << 5) | data[i];
114
+ }
115
+ result.timestamp = timestamp;
116
+ const from5bits = (bits) => {
117
+ let value = 0;
118
+ for (const b of bits) {
119
+ value = (value << 5) | b;
120
+ }
121
+ return value;
122
+ };
123
+ const toBytes = (bits) => {
124
+ let value = 0;
125
+ let valueBits = 0;
126
+ const bytes = [];
127
+ for (const b of bits) {
128
+ value = (value << 5) | b;
129
+ valueBits += 5;
130
+ while (valueBits >= 8) {
131
+ valueBits -= 8;
132
+ bytes.push((value >> valueBits) & 0xff);
133
+ }
134
+ }
135
+ return bytes;
136
+ };
137
+ let cursor = 7;
138
+ while (cursor + 3 <= data.length) {
139
+ const type = data[cursor];
140
+ const len = from5bits([data[cursor + 1], data[cursor + 2]]);
141
+ cursor += 3;
142
+ if (cursor + len > data.length)
143
+ break;
144
+ const fieldBits = data.slice(cursor, cursor + len);
145
+ if (type === 1) {
146
+ const bytes = toBytes(fieldBits);
147
+ result.paymentHash = Buffer.from(bytes.slice(0, 32)).toString('hex');
148
+ }
149
+ else if (type === 24) {
150
+ result.expirySeconds = from5bits(fieldBits);
151
+ }
152
+ cursor += len;
153
+ }
154
+ if (result.expirySeconds === null) {
155
+ result.expirySeconds = 3600;
156
+ }
157
+ return result;
158
+ }
159
+ catch {
160
+ return result;
161
+ }
162
+ }
163
+ /**
164
+ * Extracts the payment hash (tag `p`) from a BOLT11 invoice.
165
+ *
166
+ * @category Utilities
167
+ */
168
+ function extractPaymentHashFromBolt11(bolt11) {
169
+ return decodeBolt11(bolt11).paymentHash;
170
+ }
171
+ /**
172
+ * Extracts the payment amount in millisatoshis from a BOLT11 invoice.
173
+ *
174
+ * @category Utilities
175
+ */
176
+ function extractAmountMsatFromBolt11(bolt11) {
177
+ return decodeBolt11(bolt11).amountMsat;
178
+ }
179
+ /**
180
+ * Returns the Bitcoin network a BOLT11 invoice was created for.
181
+ * `lnbc` = mainnet, `lntb` = testnet, `lnbcrt` = regtest.
182
+ *
183
+ * @category Utilities
184
+ */
185
+ function extractNetworkFromBolt11(bolt11) {
186
+ return decodeBolt11(bolt11).network;
187
+ }
188
+ /**
189
+ * Extracts the creation timestamp from a BOLT11 invoice.
190
+ *
191
+ * @category Utilities
192
+ */
193
+ function extractTimestampFromBolt11(bolt11) {
194
+ return decodeBolt11(bolt11).timestamp;
195
+ }
196
+ /**
197
+ * Extracts the expiry tag (`x`) in seconds from a BOLT11 invoice.
198
+ * Returns 3600 (BOLT11 default) if no expiry tag is present.
199
+ *
200
+ * @category Utilities
201
+ */
202
+ function extractExpiryFromBolt11(bolt11) {
203
+ return decodeBolt11(bolt11).expirySeconds;
204
+ }
205
+ /**
206
+ * Validates a Nostr relay URL against SSRF vectors.
207
+ * Rejects non-wss/ws schemes and hostnames resolving to
208
+ * localhost, private, loopback, or link-local addresses.
209
+ *
210
+ * @category Utilities
211
+ */
212
+ function isAllowedRelayUrl(url) {
213
+ try {
214
+ const parsed = new URL(url);
215
+ if (parsed.protocol !== 'wss:' && parsed.protocol !== 'ws:')
216
+ return false;
217
+ const hostname = parsed.hostname.toLowerCase().replace(/^\[|\]$/g, '');
218
+ if (hostname === 'localhost')
219
+ return false;
220
+ const isPrivateIp = (ip) => {
221
+ const parts = ip.split('.').map(n => parseInt(n, 10));
222
+ if (parts.length !== 4 || parts.some(n => isNaN(n)))
223
+ return false;
224
+ if (parts[0] === 10)
225
+ return true;
226
+ if (parts[0] === 172 && parts[1] >= 16 && parts[1] <= 31)
227
+ return true;
228
+ if (parts[0] === 192 && parts[1] === 168)
229
+ return true;
230
+ if (parts[0] === 169 && parts[1] === 254)
231
+ return true;
232
+ if (parts[0] === 127)
233
+ return true;
234
+ return false;
235
+ };
236
+ if (isPrivateIp(hostname))
237
+ return false;
238
+ if (hostname === '::1' || hostname === '::' || hostname.startsWith('fc') || hostname.startsWith('fd'))
239
+ return false;
240
+ if (hostname.includes('127.') || hostname.includes('0.0.0.0'))
241
+ return false;
242
+ return true;
243
+ }
244
+ catch {
245
+ return false;
246
+ }
247
+ }
248
+ /**
249
+ * Filters a list of relay URLs, keeping only those passing SSRF validation.
250
+ *
251
+ * @category Utilities
252
+ */
253
+ function filterAllowedRelayUrls(urls) {
254
+ return urls.filter(isAllowedRelayUrl);
255
+ }
256
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vendure-plugin-bitcoin-lightning-via-clink",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Bitcoin Lightning payments for Vendure via the CLINK protocol (Nostr-native static payment codes)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",