@breeztech/breez-sdk-spark 0.9.1 → 0.10.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.
@@ -213,6 +213,17 @@ function debugString(val) {
213
213
  // TODO we could test for more things here, like `Set`s and `Map`s.
214
214
  return className;
215
215
  }
216
+ /**
217
+ * @param {Logger} logger
218
+ * @param {string | null} [filter]
219
+ * @returns {Promise<void>}
220
+ */
221
+ export function initLogging(logger, filter) {
222
+ var ptr0 = isLikeNone(filter) ? 0 : passStringToWasm0(filter, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
223
+ var len0 = WASM_VECTOR_LEN;
224
+ const ret = wasm.initLogging(logger, ptr0, len0);
225
+ return ret;
226
+ }
216
227
 
217
228
  function takeFromExternrefTable0(idx) {
218
229
  const value = wasm.__wbindgen_export_5.get(idx);
@@ -238,18 +249,6 @@ export function defaultExternalSigner(mnemonic, passphrase, network, key_set_con
238
249
  return DefaultSigner.__wrap(ret[0]);
239
250
  }
240
251
 
241
- /**
242
- * @param {Logger} logger
243
- * @param {string | null} [filter]
244
- * @returns {Promise<void>}
245
- */
246
- export function initLogging(logger, filter) {
247
- var ptr0 = isLikeNone(filter) ? 0 : passStringToWasm0(filter, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
248
- var len0 = WASM_VECTOR_LEN;
249
- const ret = wasm.initLogging(logger, ptr0, len0);
250
- return ret;
251
- }
252
-
253
252
  /**
254
253
  * @param {Network} network
255
254
  * @returns {Config}
@@ -260,13 +259,11 @@ export function defaultConfig(network) {
260
259
  }
261
260
 
262
261
  /**
263
- * Creates a default external signer from a mnemonic phrase.
264
- *
265
- * This creates a signer that can be used with `connectWithSigner` or `SdkBuilder.newWithSigner`.
266
- * @returns {Promise<SparkStatus>}
262
+ * @param {ConnectRequest} request
263
+ * @returns {Promise<BreezSdk>}
267
264
  */
268
- export function getSparkStatus() {
269
- const ret = wasm.getSparkStatus();
265
+ export function connect(request) {
266
+ const ret = wasm.connect(request);
270
267
  return ret;
271
268
  }
272
269
 
@@ -284,11 +281,13 @@ export function connectWithSigner(config, signer, storage_dir) {
284
281
  }
285
282
 
286
283
  /**
287
- * @param {ConnectRequest} request
288
- * @returns {Promise<BreezSdk>}
284
+ * Creates a default external signer from a mnemonic phrase.
285
+ *
286
+ * This creates a signer that can be used with `connectWithSigner` or `SdkBuilder.newWithSigner`.
287
+ * @returns {Promise<SparkStatus>}
289
288
  */
290
- export function connect(request) {
291
- const ret = wasm.connect(request);
289
+ export function getSparkStatus() {
290
+ const ret = wasm.getSparkStatus();
292
291
  return ret;
293
292
  }
294
293
 
@@ -310,15 +309,15 @@ export function task_worker_entry_point(ptr) {
310
309
  }
311
310
 
312
311
  function __wbg_adapter_64(arg0, arg1) {
313
- wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4867a1ac48fc7b64(arg0, arg1);
312
+ wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hce61e5994b0c00ad(arg0, arg1);
314
313
  }
315
314
 
316
315
  function __wbg_adapter_67(arg0, arg1, arg2) {
317
- wasm.closure1081_externref_shim(arg0, arg1, arg2);
316
+ wasm.closure1048_externref_shim(arg0, arg1, arg2);
318
317
  }
319
318
 
320
319
  function __wbg_adapter_285(arg0, arg1, arg2, arg3) {
321
- wasm.closure666_externref_shim(arg0, arg1, arg2, arg3);
320
+ wasm.closure642_externref_shim(arg0, arg1, arg2, arg3);
322
321
  }
323
322
 
324
323
  const __wbindgen_enum_ReadableStreamType = ["bytes"];
@@ -1766,7 +1765,7 @@ function __wbg_get_imports() {
1766
1765
  const ret = arg0.listDeposits();
1767
1766
  return ret;
1768
1767
  }, arguments) };
1769
- imports.wbg.__wbg_listPayments_3b9302bf121fdc4d = function() { return handleError(function (arg0, arg1) {
1768
+ imports.wbg.__wbg_listPayments_d8c53ab09ffc756b = function() { return handleError(function (arg0, arg1) {
1770
1769
  const ret = arg0.listPayments(arg1);
1771
1770
  return ret;
1772
1771
  }, arguments) };
@@ -2242,12 +2241,12 @@ function __wbg_get_imports() {
2242
2241
  const ret = false;
2243
2242
  return ret;
2244
2243
  };
2245
- imports.wbg.__wbindgen_closure_wrapper11908 = function(arg0, arg1, arg2) {
2246
- const ret = makeMutClosure(arg0, arg1, 844, __wbg_adapter_64);
2244
+ imports.wbg.__wbindgen_closure_wrapper11704 = function(arg0, arg1, arg2) {
2245
+ const ret = makeMutClosure(arg0, arg1, 817, __wbg_adapter_64);
2247
2246
  return ret;
2248
2247
  };
2249
- imports.wbg.__wbindgen_closure_wrapper13858 = function(arg0, arg1, arg2) {
2250
- const ret = makeMutClosure(arg0, arg1, 1082, __wbg_adapter_67);
2248
+ imports.wbg.__wbindgen_closure_wrapper13627 = function(arg0, arg1, arg2) {
2249
+ const ret = makeMutClosure(arg0, arg1, 1049, __wbg_adapter_67);
2251
2250
  return ret;
2252
2251
  };
2253
2252
  imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
Binary file
@@ -113,7 +113,7 @@ export const __wbindgen_export_5: WebAssembly.Table;
113
113
  export const __externref_drop_slice: (a: number, b: number) => void;
114
114
  export const __wbindgen_export_7: WebAssembly.Table;
115
115
  export const __externref_table_dealloc: (a: number) => void;
116
- export const _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4867a1ac48fc7b64: (a: number, b: number) => void;
117
- export const closure1081_externref_shim: (a: number, b: number, c: any) => void;
118
- export const closure666_externref_shim: (a: number, b: number, c: any, d: any) => void;
116
+ export const _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hce61e5994b0c00ad: (a: number, b: number) => void;
117
+ export const closure1048_externref_shim: (a: number, b: number, c: any) => void;
118
+ export const closure642_externref_shim: (a: number, b: number, c: any, d: any) => void;
119
119
  export const __wbindgen_start: () => void;
@@ -330,6 +330,17 @@ class MigrationManager {
330
330
  if (db.objectStoreNames.contains("settings")) {
331
331
  transaction.objectStore("settings").delete("sync_initial_complete");
332
332
  }
333
+ },
334
+ },
335
+ {
336
+ name: "Add preimage to lnurl_receive_metadata for LUD-21 and NIP-57",
337
+ upgrade: (db, transaction) => {
338
+ // IndexedDB doesn't need schema changes for new fields on existing stores.
339
+ // Just clear the lnurl_metadata_updated_after setting to force re-sync.
340
+ if (db.objectStoreNames.contains("settings")) {
341
+ const settings = transaction.objectStore("settings");
342
+ settings.delete("lnurl_metadata_updated_after");
343
+ }
333
344
  }
334
345
  },
335
346
  {
@@ -397,7 +408,16 @@ class MigrationManager {
397
408
  };
398
409
  }
399
410
  },
400
- }
411
+ },
412
+ {
413
+ name: "Clear cached lightning address for LnurlInfo schema change",
414
+ upgrade: (db, transaction) => {
415
+ if (db.objectStoreNames.contains("settings")) {
416
+ const settings = transaction.objectStore("settings");
417
+ settings.delete("lightning_address");
418
+ }
419
+ }
420
+ },
401
421
  ];
402
422
  }
403
423
  }
@@ -421,7 +441,7 @@ class IndexedDBStorage {
421
441
  this.db = null;
422
442
  this.migrationManager = null;
423
443
  this.logger = logger;
424
- this.dbVersion = 11; // Current schema version
444
+ this.dbVersion = 13; // Current schema version
425
445
  }
426
446
 
427
447
  /**
@@ -697,24 +717,28 @@ class IndexedDBStorage {
697
717
  metadata
698
718
  );
699
719
 
700
- // Apply filters
701
- if (!this._matchesFilters(paymentWithMetadata, request)) {
702
- cursor.continue();
703
- return;
704
- }
705
-
706
- // Fetch lnurl receive metadata if it's a lightning payment
720
+ // Fetch lnurl receive metadata before filtering, so Lightning
721
+ // filters can check lnurlReceiveMetadata fields
707
722
  this._fetchLnurlReceiveMetadata(
708
723
  paymentWithMetadata,
709
724
  lnurlReceiveMetadataStore
710
725
  )
711
726
  .then((mergedPayment) => {
727
+ // Apply filters after lnurl metadata is populated
728
+ if (!this._matchesFilters(mergedPayment, request)) {
729
+ cursor.continue();
730
+ return;
731
+ }
712
732
  payments.push(mergedPayment);
713
733
  count++;
714
734
  cursor.continue();
715
735
  })
716
736
  .catch(() => {
717
- // Continue without lnurl receive metadata if fetch fails
737
+ // Apply filters even if lnurl metadata fetch fails
738
+ if (!this._matchesFilters(paymentWithMetadata, request)) {
739
+ cursor.continue();
740
+ return;
741
+ }
718
742
  payments.push(paymentWithMetadata);
719
743
  count++;
720
744
  cursor.continue();
@@ -1317,6 +1341,7 @@ class IndexedDBStorage {
1317
1341
  nostrZapRequest: item.nostrZapRequest || null,
1318
1342
  nostrZapReceipt: item.nostrZapReceipt || null,
1319
1343
  senderComment: item.senderComment || null,
1344
+ preimage: item.preimage || null,
1320
1345
  });
1321
1346
 
1322
1347
  request.onsuccess = () => {
@@ -1933,6 +1958,33 @@ class IndexedDBStorage {
1933
1958
  continue;
1934
1959
  }
1935
1960
  }
1961
+ // Filter by LNURL preimage status
1962
+ if (
1963
+ paymentDetailsFilter.type === "lightning" &&
1964
+ paymentDetailsFilter.hasLnurlPreimage != null
1965
+ ) {
1966
+ if (details.type !== "lightning") {
1967
+ continue;
1968
+ }
1969
+ if (paymentDetailsFilter.hasLnurlPreimage) {
1970
+ // Has lnurl preimage - check lnurlReceiveMetadata.preimage exists
1971
+ if (
1972
+ !details.lnurlReceiveMetadata ||
1973
+ !details.lnurlReceiveMetadata.preimage
1974
+ ) {
1975
+ continue;
1976
+ }
1977
+ } else {
1978
+ // Pending: has lnurl metadata, has lightning preimage, but lnurl preimage not yet sent
1979
+ if (
1980
+ !details.lnurlReceiveMetadata ||
1981
+ !details.htlcDetails?.preimage ||
1982
+ details.lnurlReceiveMetadata.preimage
1983
+ ) {
1984
+ continue;
1985
+ }
1986
+ }
1987
+ }
1936
1988
 
1937
1989
 
1938
1990
  paymentDetailsFilterMatches = true;
@@ -2095,15 +2147,12 @@ class IndexedDBStorage {
2095
2147
 
2096
2148
  lnurlReceiveRequest.onsuccess = () => {
2097
2149
  const lnurlReceiveMetadata = lnurlReceiveRequest.result;
2098
- if (
2099
- lnurlReceiveMetadata &&
2100
- (lnurlReceiveMetadata.nostrZapRequest ||
2101
- lnurlReceiveMetadata.senderComment)
2102
- ) {
2150
+ if (lnurlReceiveMetadata) {
2103
2151
  payment.details.lnurlReceiveMetadata = {
2104
2152
  nostrZapRequest: lnurlReceiveMetadata.nostrZapRequest || null,
2105
2153
  nostrZapReceipt: lnurlReceiveMetadata.nostrZapReceipt || null,
2106
2154
  senderComment: lnurlReceiveMetadata.senderComment || null,
2155
+ preimage: lnurlReceiveMetadata.preimage || null,
2107
2156
  };
2108
2157
  }
2109
2158
  resolve(payment);