@breeztech/breez-sdk-spark 0.2.5-dev1 → 0.2.6

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.
Binary file
@@ -31,12 +31,23 @@ export interface Storage {
31
31
  insertPayment: (payment: Payment) => Promise<void>;
32
32
  setPaymentMetadata: (paymentId: string, metadata: PaymentMetadata) => Promise<void>;
33
33
  getPaymentById: (id: string) => Promise<Payment>;
34
+ getPaymentByInvoice: (invoice: string) => Promise<Payment>;
34
35
  addDeposit: (txid: string, vout: number, amount_sats: number) => Promise<void>;
35
36
  deleteDeposit: (txid: string, vout: number) => Promise<void>;
36
37
  listDeposits: () => Promise<DepositInfo[]>;
37
38
  updateDeposit: (txid: string, vout: number, payload: UpdateDepositPayload) => Promise<void>;
38
39
  }
39
40
 
41
+ export interface WaitForPaymentResponse {
42
+ payment: Payment;
43
+ }
44
+
45
+ export type WaitForPaymentIdentifier = ({ type: "paymentId" } & string) | ({ type: "paymentRequest" } & string);
46
+
47
+ export interface WaitForPaymentRequest {
48
+ identifier: WaitForPaymentIdentifier;
49
+ }
50
+
40
51
  export interface Symbol {
41
52
  grapheme?: string;
42
53
  template?: string;
@@ -137,7 +148,7 @@ export interface SendPaymentRequest {
137
148
  options?: SendPaymentOptions;
138
149
  }
139
150
 
140
- export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean };
151
+ export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean; completionTimeoutSecs?: number };
141
152
 
142
153
  export type OnchainConfirmationSpeed = "fast" | "medium" | "slow";
143
154
 
@@ -210,7 +221,9 @@ export interface GetInfoResponse {
210
221
  balanceSats: number;
211
222
  }
212
223
 
213
- export interface GetInfoRequest {}
224
+ export interface GetInfoRequest {
225
+ ensureSynced?: boolean;
226
+ }
214
227
 
215
228
  export interface Credentials {
216
229
  username: string;
@@ -509,16 +522,16 @@ export type SdkEvent = { type: "synced" } | { type: "claimDepositsFailed"; uncla
509
522
  export class BreezSdk {
510
523
  private constructor();
511
524
  free(): void;
512
- addEventListener(listener: EventListener): string;
513
- removeEventListener(id: string): boolean;
514
- disconnect(): void;
525
+ addEventListener(listener: EventListener): Promise<string>;
526
+ removeEventListener(id: string): Promise<boolean>;
527
+ disconnect(): Promise<void>;
515
528
  getInfo(request: GetInfoRequest): Promise<GetInfoResponse>;
516
529
  receivePayment(request: ReceivePaymentRequest): Promise<ReceivePaymentResponse>;
517
530
  prepareSendPayment(request: PrepareSendPaymentRequest): Promise<PrepareSendPaymentResponse>;
518
531
  prepareLnurlPay(request: PrepareLnurlPayRequest): Promise<PrepareLnurlPayResponse>;
519
532
  lnurlPay(request: LnurlPayRequest): Promise<LnurlPayResponse>;
520
533
  sendPayment(request: SendPaymentRequest): Promise<SendPaymentResponse>;
521
- syncWallet(request: SyncWalletRequest): SyncWalletResponse;
534
+ syncWallet(request: SyncWalletRequest): Promise<SyncWalletResponse>;
522
535
  listPayments(request: ListPaymentsRequest): Promise<ListPaymentsResponse>;
523
536
  getPayment(request: GetPaymentRequest): Promise<GetPaymentResponse>;
524
537
  claimDeposit(request: ClaimDepositRequest): Promise<ClaimDepositResponse>;
@@ -530,6 +543,7 @@ export class BreezSdk {
530
543
  deleteLightningAddress(): Promise<void>;
531
544
  listFiatCurrencies(): Promise<ListFiatCurrenciesResponse>;
532
545
  listFiatRates(): Promise<ListFiatRatesResponse>;
546
+ waitForPayment(request: WaitForPaymentRequest): Promise<WaitForPaymentResponse>;
533
547
  }
534
548
  export class IntoUnderlyingByteSource {
535
549
  private constructor();
@@ -279,15 +279,15 @@ export function task_worker_entry_point(ptr) {
279
279
  }
280
280
 
281
281
  function __wbg_adapter_52(arg0, arg1) {
282
- wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf7c49586be6831c4(arg0, arg1);
282
+ wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he5eedad33b9ff4bf(arg0, arg1);
283
283
  }
284
284
 
285
285
  function __wbg_adapter_55(arg0, arg1, arg2) {
286
- wasm.closure772_externref_shim(arg0, arg1, arg2);
286
+ wasm.closure780_externref_shim(arg0, arg1, arg2);
287
287
  }
288
288
 
289
- function __wbg_adapter_180(arg0, arg1, arg2, arg3) {
290
- wasm.closure424_externref_shim(arg0, arg1, arg2, arg3);
289
+ function __wbg_adapter_183(arg0, arg1, arg2, arg3) {
290
+ wasm.closure434_externref_shim(arg0, arg1, arg2, arg3);
291
291
  }
292
292
 
293
293
  const __wbindgen_enum_ReadableStreamType = ["bytes"];
@@ -329,35 +329,28 @@ export class BreezSdk {
329
329
  }
330
330
  /**
331
331
  * @param {EventListener} listener
332
- * @returns {string}
332
+ * @returns {Promise<string>}
333
333
  */
334
334
  addEventListener(listener) {
335
- let deferred1_0;
336
- let deferred1_1;
337
- try {
338
- const ret = wasm.breezsdk_addEventListener(this.__wbg_ptr, listener);
339
- deferred1_0 = ret[0];
340
- deferred1_1 = ret[1];
341
- return getStringFromWasm0(ret[0], ret[1]);
342
- } finally {
343
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
344
- }
335
+ const ret = wasm.breezsdk_addEventListener(this.__wbg_ptr, listener);
336
+ return ret;
345
337
  }
346
338
  /**
347
339
  * @param {string} id
348
- * @returns {boolean}
340
+ * @returns {Promise<boolean>}
349
341
  */
350
342
  removeEventListener(id) {
351
343
  const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
352
344
  const len0 = WASM_VECTOR_LEN;
353
345
  const ret = wasm.breezsdk_removeEventListener(this.__wbg_ptr, ptr0, len0);
354
- return ret !== 0;
346
+ return ret;
355
347
  }
348
+ /**
349
+ * @returns {Promise<void>}
350
+ */
356
351
  disconnect() {
357
352
  const ret = wasm.breezsdk_disconnect(this.__wbg_ptr);
358
- if (ret[1]) {
359
- throw takeFromExternrefTable0(ret[0]);
360
- }
353
+ return ret;
361
354
  }
362
355
  /**
363
356
  * @param {GetInfoRequest} request
@@ -409,14 +402,11 @@ export class BreezSdk {
409
402
  }
410
403
  /**
411
404
  * @param {SyncWalletRequest} request
412
- * @returns {SyncWalletResponse}
405
+ * @returns {Promise<SyncWalletResponse>}
413
406
  */
414
407
  syncWallet(request) {
415
408
  const ret = wasm.breezsdk_syncWallet(this.__wbg_ptr, request);
416
- if (ret[2]) {
417
- throw takeFromExternrefTable0(ret[1]);
418
- }
419
- return takeFromExternrefTable0(ret[0]);
409
+ return ret;
420
410
  }
421
411
  /**
422
412
  * @param {ListPaymentsRequest} request
@@ -502,6 +492,14 @@ export class BreezSdk {
502
492
  const ret = wasm.breezsdk_listFiatRates(this.__wbg_ptr);
503
493
  return ret;
504
494
  }
495
+ /**
496
+ * @param {WaitForPaymentRequest} request
497
+ * @returns {Promise<WaitForPaymentResponse>}
498
+ */
499
+ waitForPayment(request) {
500
+ const ret = wasm.breezsdk_waitForPayment(this.__wbg_ptr, request);
501
+ return ret;
502
+ }
505
503
  }
506
504
 
507
505
  const IntoUnderlyingByteSourceFinalization = (typeof FinalizationRegistry === 'undefined')
@@ -907,6 +905,19 @@ export function __wbg_getPaymentById_c23144bfc404b2fc() { return handleError(fun
907
905
  }
908
906
  }, arguments) };
909
907
 
908
+ export function __wbg_getPaymentByInvoice_afddfcbefa5508b0() { return handleError(function (arg0, arg1, arg2) {
909
+ let deferred0_0;
910
+ let deferred0_1;
911
+ try {
912
+ deferred0_0 = arg1;
913
+ deferred0_1 = arg2;
914
+ const ret = arg0.getPaymentByInvoice(getStringFromWasm0(arg1, arg2));
915
+ return ret;
916
+ } finally {
917
+ wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
918
+ }
919
+ }, arguments) };
920
+
910
921
  export function __wbg_getRandomValues_b8f5dbd5f3995a9e() { return handleError(function (arg0, arg1) {
911
922
  arg0.getRandomValues(arg1);
912
923
  }, arguments) };
@@ -1060,7 +1071,7 @@ export function __wbg_new_23a2665fac83c611(arg0, arg1) {
1060
1071
  const a = state0.a;
1061
1072
  state0.a = 0;
1062
1073
  try {
1063
- return __wbg_adapter_180(a, state0.b, arg0, arg1);
1074
+ return __wbg_adapter_183(a, state0.b, arg0, arg1);
1064
1075
  } finally {
1065
1076
  state0.a = a;
1066
1077
  }
@@ -1423,13 +1434,13 @@ export function __wbindgen_cb_drop(arg0) {
1423
1434
  return ret;
1424
1435
  };
1425
1436
 
1426
- export function __wbindgen_closure_wrapper7982(arg0, arg1, arg2) {
1427
- const ret = makeMutClosure(arg0, arg1, 601, __wbg_adapter_52);
1437
+ export function __wbindgen_closure_wrapper8079(arg0, arg1, arg2) {
1438
+ const ret = makeMutClosure(arg0, arg1, 612, __wbg_adapter_52);
1428
1439
  return ret;
1429
1440
  };
1430
1441
 
1431
- export function __wbindgen_closure_wrapper9620(arg0, arg1, arg2) {
1432
- const ret = makeMutClosure(arg0, arg1, 773, __wbg_adapter_55);
1442
+ export function __wbindgen_closure_wrapper9672(arg0, arg1, arg2) {
1443
+ const ret = makeMutClosure(arg0, arg1, 781, __wbg_adapter_55);
1433
1444
  return ret;
1434
1445
  };
1435
1446
 
@@ -7,16 +7,16 @@ export const connect: (a: any) => any;
7
7
  export const defaultConfig: (a: any) => any;
8
8
  export const defaultStorage: (a: number, b: number) => any;
9
9
  export const parse: (a: number, b: number) => any;
10
- export const breezsdk_addEventListener: (a: number, b: any) => [number, number];
11
- export const breezsdk_removeEventListener: (a: number, b: number, c: number) => number;
12
- export const breezsdk_disconnect: (a: number) => [number, number];
10
+ export const breezsdk_addEventListener: (a: number, b: any) => any;
11
+ export const breezsdk_removeEventListener: (a: number, b: number, c: number) => any;
12
+ export const breezsdk_disconnect: (a: number) => any;
13
13
  export const breezsdk_getInfo: (a: number, b: any) => any;
14
14
  export const breezsdk_receivePayment: (a: number, b: any) => any;
15
15
  export const breezsdk_prepareSendPayment: (a: number, b: any) => any;
16
16
  export const breezsdk_prepareLnurlPay: (a: number, b: any) => any;
17
17
  export const breezsdk_lnurlPay: (a: number, b: any) => any;
18
18
  export const breezsdk_sendPayment: (a: number, b: any) => any;
19
- export const breezsdk_syncWallet: (a: number, b: any) => [number, number, number];
19
+ export const breezsdk_syncWallet: (a: number, b: any) => any;
20
20
  export const breezsdk_listPayments: (a: number, b: any) => any;
21
21
  export const breezsdk_getPayment: (a: number, b: any) => any;
22
22
  export const breezsdk_claimDeposit: (a: number, b: any) => any;
@@ -28,6 +28,7 @@ export const breezsdk_registerLightningAddress: (a: number, b: any) => any;
28
28
  export const breezsdk_deleteLightningAddress: (a: number) => any;
29
29
  export const breezsdk_listFiatCurrencies: (a: number) => any;
30
30
  export const breezsdk_listFiatRates: (a: number) => any;
31
+ export const breezsdk_waitForPayment: (a: number, b: any) => any;
31
32
  export const __wbg_sdkbuilder_free: (a: number, b: number) => void;
32
33
  export const sdkbuilder_new: (a: any, b: any, c: any) => [number, number, number];
33
34
  export const sdkbuilder_withRestChainService: (a: number, b: number, c: number, d: number) => number;
@@ -59,7 +60,7 @@ export const __externref_table_alloc: () => number;
59
60
  export const __wbindgen_export_5: WebAssembly.Table;
60
61
  export const __wbindgen_export_6: WebAssembly.Table;
61
62
  export const __externref_table_dealloc: (a: number) => void;
62
- export const _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf7c49586be6831c4: (a: number, b: number) => void;
63
- export const closure772_externref_shim: (a: number, b: number, c: any) => void;
64
- export const closure424_externref_shim: (a: number, b: number, c: any, d: any) => void;
63
+ export const _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he5eedad33b9ff4bf: (a: number, b: number) => void;
64
+ export const closure780_externref_shim: (a: number, b: number, c: any) => void;
65
+ export const closure434_externref_shim: (a: number, b: number, c: any, d: any) => void;
65
66
  export const __wbindgen_start: () => void;
@@ -100,6 +100,17 @@ class MigrationManager {
100
100
  }
101
101
  },
102
102
  },
103
+ {
104
+ name: "Create invoice index",
105
+ upgrade: (db, transaction) => {
106
+ const paymentStore = transaction.objectStore("payments");
107
+ if (!paymentStore.indexNames.contains("invoice")) {
108
+ paymentStore.createIndex("invoice", "details.invoice", {
109
+ unique: false,
110
+ });
111
+ }
112
+ }
113
+ }
103
114
  ];
104
115
  }
105
116
  }
@@ -436,6 +447,58 @@ class IndexedDBStorage {
436
447
  });
437
448
  }
438
449
 
450
+ async getPaymentByInvoice(invoice) {
451
+ if (!this.db) {
452
+ throw new StorageError("Database not initialized");
453
+ }
454
+
455
+ return new Promise((resolve, reject) => {
456
+ const transaction = this.db.transaction(
457
+ ["payments", "payment_metadata"],
458
+ "readonly"
459
+ );
460
+ const paymentStore = transaction.objectStore("payments");
461
+ const invoiceIndex = paymentStore.index("invoice");
462
+ const metadataStore = transaction.objectStore("payment_metadata");
463
+
464
+ const paymentRequest = invoiceIndex.get(invoice);
465
+
466
+ paymentRequest.onsuccess = () => {
467
+ const payment = paymentRequest.result;
468
+ if (!payment) {
469
+ resolve(null);
470
+ return;
471
+ }
472
+
473
+ // Get metadata for this payment
474
+ const metadataRequest = metadataStore.get(invoice);
475
+ metadataRequest.onsuccess = () => {
476
+ const metadata = metadataRequest.result;
477
+ const paymentWithMetadata = this._mergePaymentMetadata(
478
+ payment,
479
+ metadata
480
+ );
481
+ resolve(paymentWithMetadata);
482
+ };
483
+ metadataRequest.onerror = () => {
484
+ // Return payment without metadata if metadata fetch fails
485
+ resolve(payment);
486
+ };
487
+ };
488
+
489
+ paymentRequest.onerror = () => {
490
+ reject(
491
+ new StorageError(
492
+ `Failed to get payment by invoice '${invoice}': ${
493
+ paymentRequest.error?.message || "Unknown error"
494
+ }`,
495
+ paymentRequest.error
496
+ )
497
+ );
498
+ };
499
+ });
500
+ }
501
+
439
502
  async setPaymentMetadata(paymentId, metadata) {
440
503
  if (!this.db) {
441
504
  throw new StorageError("Database not initialized");
@@ -31,12 +31,23 @@ export interface Storage {
31
31
  insertPayment: (payment: Payment) => Promise<void>;
32
32
  setPaymentMetadata: (paymentId: string, metadata: PaymentMetadata) => Promise<void>;
33
33
  getPaymentById: (id: string) => Promise<Payment>;
34
+ getPaymentByInvoice: (invoice: string) => Promise<Payment>;
34
35
  addDeposit: (txid: string, vout: number, amount_sats: number) => Promise<void>;
35
36
  deleteDeposit: (txid: string, vout: number) => Promise<void>;
36
37
  listDeposits: () => Promise<DepositInfo[]>;
37
38
  updateDeposit: (txid: string, vout: number, payload: UpdateDepositPayload) => Promise<void>;
38
39
  }
39
40
 
41
+ export interface WaitForPaymentResponse {
42
+ payment: Payment;
43
+ }
44
+
45
+ export type WaitForPaymentIdentifier = ({ type: "paymentId" } & string) | ({ type: "paymentRequest" } & string);
46
+
47
+ export interface WaitForPaymentRequest {
48
+ identifier: WaitForPaymentIdentifier;
49
+ }
50
+
40
51
  export interface Symbol {
41
52
  grapheme?: string;
42
53
  template?: string;
@@ -137,7 +148,7 @@ export interface SendPaymentRequest {
137
148
  options?: SendPaymentOptions;
138
149
  }
139
150
 
140
- export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean };
151
+ export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean; completionTimeoutSecs?: number };
141
152
 
142
153
  export type OnchainConfirmationSpeed = "fast" | "medium" | "slow";
143
154
 
@@ -210,7 +221,9 @@ export interface GetInfoResponse {
210
221
  balanceSats: number;
211
222
  }
212
223
 
213
- export interface GetInfoRequest {}
224
+ export interface GetInfoRequest {
225
+ ensureSynced?: boolean;
226
+ }
214
227
 
215
228
  export interface Credentials {
216
229
  username: string;
@@ -509,16 +522,16 @@ export type SdkEvent = { type: "synced" } | { type: "claimDepositsFailed"; uncla
509
522
  export class BreezSdk {
510
523
  private constructor();
511
524
  free(): void;
512
- addEventListener(listener: EventListener): string;
513
- removeEventListener(id: string): boolean;
514
- disconnect(): void;
525
+ addEventListener(listener: EventListener): Promise<string>;
526
+ removeEventListener(id: string): Promise<boolean>;
527
+ disconnect(): Promise<void>;
515
528
  getInfo(request: GetInfoRequest): Promise<GetInfoResponse>;
516
529
  receivePayment(request: ReceivePaymentRequest): Promise<ReceivePaymentResponse>;
517
530
  prepareSendPayment(request: PrepareSendPaymentRequest): Promise<PrepareSendPaymentResponse>;
518
531
  prepareLnurlPay(request: PrepareLnurlPayRequest): Promise<PrepareLnurlPayResponse>;
519
532
  lnurlPay(request: LnurlPayRequest): Promise<LnurlPayResponse>;
520
533
  sendPayment(request: SendPaymentRequest): Promise<SendPaymentResponse>;
521
- syncWallet(request: SyncWalletRequest): SyncWalletResponse;
534
+ syncWallet(request: SyncWalletRequest): Promise<SyncWalletResponse>;
522
535
  listPayments(request: ListPaymentsRequest): Promise<ListPaymentsResponse>;
523
536
  getPayment(request: GetPaymentRequest): Promise<GetPaymentResponse>;
524
537
  claimDeposit(request: ClaimDepositRequest): Promise<ClaimDepositResponse>;
@@ -530,6 +543,7 @@ export class BreezSdk {
530
543
  deleteLightningAddress(): Promise<void>;
531
544
  listFiatCurrencies(): Promise<ListFiatCurrenciesResponse>;
532
545
  listFiatRates(): Promise<ListFiatRatesResponse>;
546
+ waitForPayment(request: WaitForPaymentRequest): Promise<WaitForPaymentResponse>;
533
547
  }
534
548
  export class IntoUnderlyingByteSource {
535
549
  private constructor();
@@ -262,15 +262,15 @@ export function task_worker_entry_point(ptr) {
262
262
  }
263
263
 
264
264
  function __wbg_adapter_52(arg0, arg1) {
265
- wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf7c49586be6831c4(arg0, arg1);
265
+ wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he5eedad33b9ff4bf(arg0, arg1);
266
266
  }
267
267
 
268
268
  function __wbg_adapter_55(arg0, arg1, arg2) {
269
- wasm.closure772_externref_shim(arg0, arg1, arg2);
269
+ wasm.closure780_externref_shim(arg0, arg1, arg2);
270
270
  }
271
271
 
272
- function __wbg_adapter_180(arg0, arg1, arg2, arg3) {
273
- wasm.closure424_externref_shim(arg0, arg1, arg2, arg3);
272
+ function __wbg_adapter_183(arg0, arg1, arg2, arg3) {
273
+ wasm.closure434_externref_shim(arg0, arg1, arg2, arg3);
274
274
  }
275
275
 
276
276
  const __wbindgen_enum_ReadableStreamType = ["bytes"];
@@ -312,35 +312,28 @@ export class BreezSdk {
312
312
  }
313
313
  /**
314
314
  * @param {EventListener} listener
315
- * @returns {string}
315
+ * @returns {Promise<string>}
316
316
  */
317
317
  addEventListener(listener) {
318
- let deferred1_0;
319
- let deferred1_1;
320
- try {
321
- const ret = wasm.breezsdk_addEventListener(this.__wbg_ptr, listener);
322
- deferred1_0 = ret[0];
323
- deferred1_1 = ret[1];
324
- return getStringFromWasm0(ret[0], ret[1]);
325
- } finally {
326
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
327
- }
318
+ const ret = wasm.breezsdk_addEventListener(this.__wbg_ptr, listener);
319
+ return ret;
328
320
  }
329
321
  /**
330
322
  * @param {string} id
331
- * @returns {boolean}
323
+ * @returns {Promise<boolean>}
332
324
  */
333
325
  removeEventListener(id) {
334
326
  const ptr0 = passStringToWasm0(id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
335
327
  const len0 = WASM_VECTOR_LEN;
336
328
  const ret = wasm.breezsdk_removeEventListener(this.__wbg_ptr, ptr0, len0);
337
- return ret !== 0;
329
+ return ret;
338
330
  }
331
+ /**
332
+ * @returns {Promise<void>}
333
+ */
339
334
  disconnect() {
340
335
  const ret = wasm.breezsdk_disconnect(this.__wbg_ptr);
341
- if (ret[1]) {
342
- throw takeFromExternrefTable0(ret[0]);
343
- }
336
+ return ret;
344
337
  }
345
338
  /**
346
339
  * @param {GetInfoRequest} request
@@ -392,14 +385,11 @@ export class BreezSdk {
392
385
  }
393
386
  /**
394
387
  * @param {SyncWalletRequest} request
395
- * @returns {SyncWalletResponse}
388
+ * @returns {Promise<SyncWalletResponse>}
396
389
  */
397
390
  syncWallet(request) {
398
391
  const ret = wasm.breezsdk_syncWallet(this.__wbg_ptr, request);
399
- if (ret[2]) {
400
- throw takeFromExternrefTable0(ret[1]);
401
- }
402
- return takeFromExternrefTable0(ret[0]);
392
+ return ret;
403
393
  }
404
394
  /**
405
395
  * @param {ListPaymentsRequest} request
@@ -485,6 +475,14 @@ export class BreezSdk {
485
475
  const ret = wasm.breezsdk_listFiatRates(this.__wbg_ptr);
486
476
  return ret;
487
477
  }
478
+ /**
479
+ * @param {WaitForPaymentRequest} request
480
+ * @returns {Promise<WaitForPaymentResponse>}
481
+ */
482
+ waitForPayment(request) {
483
+ const ret = wasm.breezsdk_waitForPayment(this.__wbg_ptr, request);
484
+ return ret;
485
+ }
488
486
  }
489
487
 
490
488
  const IntoUnderlyingByteSourceFinalization = (typeof FinalizationRegistry === 'undefined')
@@ -858,6 +856,18 @@ const imports = {
858
856
  wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
859
857
  }
860
858
  }, arguments) },
859
+ __wbg_getPaymentByInvoice_afddfcbefa5508b0: function() { return handleError(function (arg0, arg1, arg2) {
860
+ let deferred0_0;
861
+ let deferred0_1;
862
+ try {
863
+ deferred0_0 = arg1;
864
+ deferred0_1 = arg2;
865
+ const ret = arg0.getPaymentByInvoice(getStringFromWasm0(arg1, arg2));
866
+ return ret;
867
+ } finally {
868
+ wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);
869
+ }
870
+ }, arguments) },
861
871
  __wbg_getRandomValues_b8f5dbd5f3995a9e: function() { return handleError(function (arg0, arg1) {
862
872
  arg0.getRandomValues(arg1);
863
873
  }, arguments) },
@@ -986,7 +996,7 @@ const imports = {
986
996
  const a = state0.a;
987
997
  state0.a = 0;
988
998
  try {
989
- return __wbg_adapter_180(a, state0.b, arg0, arg1);
999
+ return __wbg_adapter_183(a, state0.b, arg0, arg1);
990
1000
  } finally {
991
1001
  state0.a = a;
992
1002
  }
@@ -1282,12 +1292,12 @@ const imports = {
1282
1292
  const ret = false;
1283
1293
  return ret;
1284
1294
  },
1285
- __wbindgen_closure_wrapper7982: function(arg0, arg1, arg2) {
1286
- const ret = makeMutClosure(arg0, arg1, 601, __wbg_adapter_52);
1295
+ __wbindgen_closure_wrapper8079: function(arg0, arg1, arg2) {
1296
+ const ret = makeMutClosure(arg0, arg1, 612, __wbg_adapter_52);
1287
1297
  return ret;
1288
1298
  },
1289
- __wbindgen_closure_wrapper9620: function(arg0, arg1, arg2) {
1290
- const ret = makeMutClosure(arg0, arg1, 773, __wbg_adapter_55);
1299
+ __wbindgen_closure_wrapper9672: function(arg0, arg1, arg2) {
1300
+ const ret = makeMutClosure(arg0, arg1, 781, __wbg_adapter_55);
1291
1301
  return ret;
1292
1302
  },
1293
1303
  __wbindgen_debug_string: function(arg0, arg1) {
Binary file
@@ -7,16 +7,16 @@ export const connect: (a: any) => any;
7
7
  export const defaultConfig: (a: any) => any;
8
8
  export const defaultStorage: (a: number, b: number) => any;
9
9
  export const parse: (a: number, b: number) => any;
10
- export const breezsdk_addEventListener: (a: number, b: any) => [number, number];
11
- export const breezsdk_removeEventListener: (a: number, b: number, c: number) => number;
12
- export const breezsdk_disconnect: (a: number) => [number, number];
10
+ export const breezsdk_addEventListener: (a: number, b: any) => any;
11
+ export const breezsdk_removeEventListener: (a: number, b: number, c: number) => any;
12
+ export const breezsdk_disconnect: (a: number) => any;
13
13
  export const breezsdk_getInfo: (a: number, b: any) => any;
14
14
  export const breezsdk_receivePayment: (a: number, b: any) => any;
15
15
  export const breezsdk_prepareSendPayment: (a: number, b: any) => any;
16
16
  export const breezsdk_prepareLnurlPay: (a: number, b: any) => any;
17
17
  export const breezsdk_lnurlPay: (a: number, b: any) => any;
18
18
  export const breezsdk_sendPayment: (a: number, b: any) => any;
19
- export const breezsdk_syncWallet: (a: number, b: any) => [number, number, number];
19
+ export const breezsdk_syncWallet: (a: number, b: any) => any;
20
20
  export const breezsdk_listPayments: (a: number, b: any) => any;
21
21
  export const breezsdk_getPayment: (a: number, b: any) => any;
22
22
  export const breezsdk_claimDeposit: (a: number, b: any) => any;
@@ -28,6 +28,7 @@ export const breezsdk_registerLightningAddress: (a: number, b: any) => any;
28
28
  export const breezsdk_deleteLightningAddress: (a: number) => any;
29
29
  export const breezsdk_listFiatCurrencies: (a: number) => any;
30
30
  export const breezsdk_listFiatRates: (a: number) => any;
31
+ export const breezsdk_waitForPayment: (a: number, b: any) => any;
31
32
  export const __wbg_sdkbuilder_free: (a: number, b: number) => void;
32
33
  export const sdkbuilder_new: (a: any, b: any, c: any) => [number, number, number];
33
34
  export const sdkbuilder_withRestChainService: (a: number, b: number, c: number, d: number) => number;
@@ -59,7 +60,7 @@ export const __externref_table_alloc: () => number;
59
60
  export const __wbindgen_export_5: WebAssembly.Table;
60
61
  export const __wbindgen_export_6: WebAssembly.Table;
61
62
  export const __externref_table_dealloc: (a: number) => void;
62
- export const _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf7c49586be6831c4: (a: number, b: number) => void;
63
- export const closure772_externref_shim: (a: number, b: number, c: any) => void;
64
- export const closure424_externref_shim: (a: number, b: number, c: any, d: any) => void;
63
+ export const _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he5eedad33b9ff4bf: (a: number, b: number) => void;
64
+ export const closure780_externref_shim: (a: number, b: number, c: any) => void;
65
+ export const closure434_externref_shim: (a: number, b: number, c: any, d: any) => void;
65
66
  export const __wbindgen_start: () => void;
@@ -31,12 +31,23 @@ export interface Storage {
31
31
  insertPayment: (payment: Payment) => Promise<void>;
32
32
  setPaymentMetadata: (paymentId: string, metadata: PaymentMetadata) => Promise<void>;
33
33
  getPaymentById: (id: string) => Promise<Payment>;
34
+ getPaymentByInvoice: (invoice: string) => Promise<Payment>;
34
35
  addDeposit: (txid: string, vout: number, amount_sats: number) => Promise<void>;
35
36
  deleteDeposit: (txid: string, vout: number) => Promise<void>;
36
37
  listDeposits: () => Promise<DepositInfo[]>;
37
38
  updateDeposit: (txid: string, vout: number, payload: UpdateDepositPayload) => Promise<void>;
38
39
  }
39
40
 
41
+ export interface WaitForPaymentResponse {
42
+ payment: Payment;
43
+ }
44
+
45
+ export type WaitForPaymentIdentifier = ({ type: "paymentId" } & string) | ({ type: "paymentRequest" } & string);
46
+
47
+ export interface WaitForPaymentRequest {
48
+ identifier: WaitForPaymentIdentifier;
49
+ }
50
+
40
51
  export interface Symbol {
41
52
  grapheme?: string;
42
53
  template?: string;
@@ -137,7 +148,7 @@ export interface SendPaymentRequest {
137
148
  options?: SendPaymentOptions;
138
149
  }
139
150
 
140
- export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean };
151
+ export type SendPaymentOptions = { type: "bitcoinAddress"; confirmationSpeed: OnchainConfirmationSpeed } | { type: "bolt11Invoice"; preferSpark: boolean; completionTimeoutSecs?: number };
141
152
 
142
153
  export type OnchainConfirmationSpeed = "fast" | "medium" | "slow";
143
154
 
@@ -210,7 +221,9 @@ export interface GetInfoResponse {
210
221
  balanceSats: number;
211
222
  }
212
223
 
213
- export interface GetInfoRequest {}
224
+ export interface GetInfoRequest {
225
+ ensureSynced?: boolean;
226
+ }
214
227
 
215
228
  export interface Credentials {
216
229
  username: string;
@@ -509,16 +522,16 @@ export type SdkEvent = { type: "synced" } | { type: "claimDepositsFailed"; uncla
509
522
  export class BreezSdk {
510
523
  private constructor();
511
524
  free(): void;
512
- addEventListener(listener: EventListener): string;
513
- removeEventListener(id: string): boolean;
514
- disconnect(): void;
525
+ addEventListener(listener: EventListener): Promise<string>;
526
+ removeEventListener(id: string): Promise<boolean>;
527
+ disconnect(): Promise<void>;
515
528
  getInfo(request: GetInfoRequest): Promise<GetInfoResponse>;
516
529
  receivePayment(request: ReceivePaymentRequest): Promise<ReceivePaymentResponse>;
517
530
  prepareSendPayment(request: PrepareSendPaymentRequest): Promise<PrepareSendPaymentResponse>;
518
531
  prepareLnurlPay(request: PrepareLnurlPayRequest): Promise<PrepareLnurlPayResponse>;
519
532
  lnurlPay(request: LnurlPayRequest): Promise<LnurlPayResponse>;
520
533
  sendPayment(request: SendPaymentRequest): Promise<SendPaymentResponse>;
521
- syncWallet(request: SyncWalletRequest): SyncWalletResponse;
534
+ syncWallet(request: SyncWalletRequest): Promise<SyncWalletResponse>;
522
535
  listPayments(request: ListPaymentsRequest): Promise<ListPaymentsResponse>;
523
536
  getPayment(request: GetPaymentRequest): Promise<GetPaymentResponse>;
524
537
  claimDeposit(request: ClaimDepositRequest): Promise<ClaimDepositResponse>;
@@ -530,6 +543,7 @@ export class BreezSdk {
530
543
  deleteLightningAddress(): Promise<void>;
531
544
  listFiatCurrencies(): Promise<ListFiatCurrenciesResponse>;
532
545
  listFiatRates(): Promise<ListFiatRatesResponse>;
546
+ waitForPayment(request: WaitForPaymentRequest): Promise<WaitForPaymentResponse>;
533
547
  }
534
548
  export class IntoUnderlyingByteSource {
535
549
  private constructor();