@fedimint/core-web 0.0.11 → 0.1.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.
Files changed (77) hide show
  1. package/dist/dts/FedimintWallet.d.ts +4 -62
  2. package/dist/dts/FedimintWallet.d.ts.map +1 -1
  3. package/dist/dts/WalletDirector.d.ts +78 -0
  4. package/dist/dts/WalletDirector.d.ts.map +1 -0
  5. package/dist/dts/index.d.ts +2 -1
  6. package/dist/dts/index.d.ts.map +1 -1
  7. package/dist/dts/services/BalanceService.d.ts +2 -2
  8. package/dist/dts/services/BalanceService.d.ts.map +1 -1
  9. package/dist/dts/services/FederationService.d.ts +7 -5
  10. package/dist/dts/services/FederationService.d.ts.map +1 -1
  11. package/dist/dts/services/LightningService.d.ts +4 -3
  12. package/dist/dts/services/LightningService.d.ts.map +1 -1
  13. package/dist/dts/services/MintService.d.ts +4 -3
  14. package/dist/dts/services/MintService.d.ts.map +1 -1
  15. package/dist/dts/services/RecoveryService.d.ts +2 -2
  16. package/dist/dts/services/RecoveryService.d.ts.map +1 -1
  17. package/dist/dts/services/WalletService.d.ts +13 -0
  18. package/dist/dts/services/WalletService.d.ts.map +1 -0
  19. package/dist/dts/services/index.d.ts +1 -0
  20. package/dist/dts/services/index.d.ts.map +1 -1
  21. package/dist/dts/{worker/WorkerClient.d.ts → transport/TransportClient.d.ts} +20 -9
  22. package/dist/dts/transport/TransportClient.d.ts.map +1 -0
  23. package/dist/dts/transport/index.d.ts +3 -0
  24. package/dist/dts/transport/index.d.ts.map +1 -0
  25. package/dist/dts/transport/wasmTransport/WasmWorkerTransport.d.ts +12 -0
  26. package/dist/dts/transport/wasmTransport/WasmWorkerTransport.d.ts.map +1 -0
  27. package/dist/dts/types/index.d.ts +1 -1
  28. package/dist/dts/types/index.d.ts.map +1 -1
  29. package/dist/dts/types/transport.d.ts +35 -0
  30. package/dist/dts/types/transport.d.ts.map +1 -0
  31. package/dist/dts/types/wallet.d.ts +159 -3
  32. package/dist/dts/types/wallet.d.ts.map +1 -1
  33. package/dist/dts/utils/logger.d.ts +10 -3
  34. package/dist/dts/utils/logger.d.ts.map +1 -1
  35. package/dist/index.d.ts +275 -29
  36. package/dist/index.js +1 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/worker.js +1 -1
  39. package/dist/worker.js.map +1 -1
  40. package/package.json +2 -2
  41. package/src/FedimintWallet.test.ts +13 -0
  42. package/src/FedimintWallet.ts +6 -91
  43. package/src/WalletDirector.ts +118 -0
  44. package/src/index.ts +2 -1
  45. package/src/services/BalanceService.test.ts +4 -28
  46. package/src/services/BalanceService.ts +2 -2
  47. package/src/services/FederationService.ts +197 -5
  48. package/src/services/LightningService.test.ts +57 -0
  49. package/src/services/LightningService.ts +17 -2
  50. package/src/services/MintService.test.ts +41 -0
  51. package/src/services/MintService.ts +11 -2
  52. package/src/services/RecoveryService.ts +2 -2
  53. package/src/services/WalletService.test.ts +59 -0
  54. package/src/services/WalletService.ts +50 -0
  55. package/src/services/index.ts +1 -0
  56. package/src/test/TestFedimintWallet.ts +13 -8
  57. package/src/test/TestWalletDirector.ts +14 -0
  58. package/src/test/TestingService.ts +8 -7
  59. package/src/test/fixtures.ts +35 -11
  60. package/src/transport/TransportClient.test.ts +6 -0
  61. package/src/{worker/WorkerClient.ts → transport/TransportClient.ts} +60 -45
  62. package/src/transport/index.ts +2 -0
  63. package/src/transport/wasmTransport/WasmWorkerTransport.ts +39 -0
  64. package/src/{worker → transport/wasmTransport}/worker.js +28 -0
  65. package/src/{worker → transport/wasmTransport}/worker.test.ts +3 -3
  66. package/src/types/index.ts +1 -1
  67. package/src/types/transport.ts +54 -0
  68. package/src/types/wallet.ts +186 -2
  69. package/src/utils/logger.ts +13 -5
  70. package/dist/dts/types/worker.d.ts +0 -4
  71. package/dist/dts/types/worker.d.ts.map +0 -1
  72. package/dist/dts/worker/WorkerClient.d.ts.map +0 -1
  73. package/dist/dts/worker/index.d.ts +0 -2
  74. package/dist/dts/worker/index.d.ts.map +0 -1
  75. package/src/types/worker.ts +0 -15
  76. package/src/worker/WorkerClient.test.ts +0 -6
  77. package/src/worker/index.ts +0 -1
@@ -1,6 +1,5 @@
1
- import { BalanceService, MintService, LightningService, FederationService, RecoveryService } from './services';
2
- import { type LogLevel } from './utils/logger';
3
- import { JSONValue } from './types';
1
+ import { TransportClient } from './transport';
2
+ import { BalanceService, MintService, LightningService, FederationService, RecoveryService, WalletService } from './services';
4
3
  export declare class FedimintWallet {
5
4
  private _client;
6
5
  balance: BalanceService;
@@ -8,6 +7,7 @@ export declare class FedimintWallet {
8
7
  lightning: LightningService;
9
8
  federation: FederationService;
10
9
  recovery: RecoveryService;
10
+ wallet: WalletService;
11
11
  private _openPromise;
12
12
  private _resolveOpen;
13
13
  private _isOpen;
@@ -26,9 +26,6 @@ export declare class FedimintWallet {
26
26
  * the first operation that requires them, reducing initial overhead at the cost
27
27
  * of a slight delay on the first operation.
28
28
  *
29
- * @param {boolean} lazy - If true, delays Web Worker and WebAssembly initialization
30
- * until needed. Default is false.
31
- *
32
29
  * @example
33
30
  * // Create a wallet with immediate initialization
34
31
  * const wallet = new FedimintWallet();
@@ -40,8 +37,7 @@ export declare class FedimintWallet {
40
37
  * lazyWallet.initialize();
41
38
  * lazyWallet.open();
42
39
  */
43
- constructor(lazy?: boolean);
44
- initialize(): Promise<void>;
40
+ constructor(_client: TransportClient);
45
41
  waitForOpen(): Promise<void>;
46
42
  open(clientName?: string): Promise<boolean>;
47
43
  joinFederation(inviteCode: string, clientName?: string): Promise<boolean>;
@@ -51,59 +47,5 @@ export declare class FedimintWallet {
51
47
  */
52
48
  cleanup(): Promise<void>;
53
49
  isOpen(): boolean;
54
- /**
55
- * Sets the log level for the library.
56
- * @param level The desired log level ('DEBUG', 'INFO', 'WARN', 'ERROR', 'NONE').
57
- */
58
- setLogLevel(level: LogLevel): void;
59
- /**
60
- * Parses a federation invite code and retrieves its details.
61
- *
62
- * This method sends the provided invite code to the WorkerClient for parsing.
63
- * The response includes the federation_id and url.
64
- *
65
- * @param {string} inviteCode - The invite code to be parsed.
66
- * @returns {Promise<{ federation_id: string, url: string}>}
67
- * A promise that resolves to an object containing:
68
- * - `federation_id`: The id of the feder.
69
- * - `url`: One of the apipoints to connect to the federation
70
- *
71
- * @throws {Error} If the WorkerClient encounters an issue during the parsing process.
72
- *
73
- * @example
74
- * const inviteCode = "example-invite-code";
75
- * const parsedCode = await wallet.parseInviteCode(inviteCode);
76
- * console.log(parsedCode.federation_id, parsedCode.url);
77
- */
78
- parseInviteCode(inviteCode: string): Promise<{
79
- type: string;
80
- data: JSONValue;
81
- requestId: number;
82
- }>;
83
- /**
84
- * Parses a BOLT11 Lightning invoice and retrieves its details.
85
- *
86
- * This method sends the provided invoice string to the WorkerClient for parsing.
87
- * The response includes details such as the amount, expiry, and memo.
88
- *
89
- * @param {string} invoiceStr - The BOLT11 invoice string to be parsed.
90
- * @returns {Promise<{ amount: string, expiry: number, memo: string }>}
91
- * A promise that resolves to an object containing:
92
- * - `amount`: The amount specified in the invoice.
93
- * - `expiry`: The expiry time of the invoice in seconds.
94
- * - `memo`: A description or memo attached to the invoice.
95
- *
96
- * @throws {Error} If the WorkerClient encounters an issue during the parsing process.
97
- *
98
- * @example
99
- * const invoiceStr = "lnbc1...";
100
- * const parsedInvoice = await wallet.parseBolt11Invoice(invoiceStr);
101
- * console.log(parsedInvoice.amount, parsedInvoice.expiry, parsedInvoice.memo);
102
- */
103
- parseBolt11Invoice(invoiceStr: string): Promise<{
104
- type: string;
105
- data: JSONValue;
106
- requestId: number;
107
- }>;
108
50
  }
109
51
  //# sourceMappingURL=FedimintWallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FedimintWallet.d.ts","sourceRoot":"","sources":["../../src/FedimintWallet.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAInC,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAc;IAEtB,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,eAAe,CAAA;IAEhC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAiB;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,IAAI,GAAE,OAAe;IAkB3B,UAAU;IAMV,WAAW;IAKX,IAAI,CAAC,UAAU,GAAE,MAA4B;IAc7C,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAA4B;IAwB1C;;;OAGG;IACG,OAAO;IAMb,MAAM;IAIN;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ;IAK3B;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM;cAE9B,MAAM;cACN,SAAS;mBACJ,MAAM;;IAKrB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM;cAEjC,MAAM;cACN,SAAS;mBACJ,MAAM;;CAItB"}
1
+ {"version":3,"file":"FedimintWallet.d.ts","sourceRoot":"","sources":["../../src/FedimintWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACd,MAAM,YAAY,CAAA;AAInB,qBAAa,cAAc;IAsCb,OAAO,CAAC,OAAO;IArCpB,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE,aAAa,CAAA;IAE5B,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAiB;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;gBACiB,OAAO,EAAE,eAAe;IAYtC,WAAW;IAKX,IAAI,CAAC,UAAU,GAAE,MAA4B;IAa7C,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAA4B;IAuB1C;;;OAGG;IACG,OAAO;IAMb,MAAM;CAGP"}
@@ -0,0 +1,78 @@
1
+ import { TransportClient } from './transport';
2
+ import { type LogLevel } from './utils/logger';
3
+ import { FederationConfig, JSONValue, Transport } from './types';
4
+ import { FedimintWallet } from './FedimintWallet';
5
+ export declare class WalletDirector {
6
+ protected _client: TransportClient;
7
+ /**
8
+ * Creates a new instance of WalletDirector.
9
+ *
10
+ * @param {Transport} [transport] - Optional worker client instance. Provide your
11
+ * own to use a custom transport (e.g. React Native).
12
+ *
13
+ * @param {boolean} lazy - If true, delays Web Worker and WebAssembly initialization
14
+ * until needed. Default is false.
15
+ */
16
+ constructor(transport?: Transport, lazy?: boolean);
17
+ initialize(): Promise<void>;
18
+ createWallet(): Promise<FedimintWallet>;
19
+ previewFederation(inviteCode: string): Promise<{
20
+ config: FederationConfig;
21
+ federation_id: string;
22
+ }>;
23
+ /**
24
+ * Sets the log level for the library.
25
+ * @param level The desired log level ('DEBUG', 'INFO', 'WARN', 'ERROR', 'NONE').
26
+ */
27
+ setLogLevel(level: LogLevel): void;
28
+ /**
29
+ * Parses a federation invite code and retrieves its details.
30
+ *
31
+ * This method sends the provided invite code to the TransportClient for parsing.
32
+ * The response includes the federation_id and url.
33
+ *
34
+ * @param {string} inviteCode - The invite code to be parsed.
35
+ * @returns {Promise<{ federation_id: string, url: string}>}
36
+ * A promise that resolves to an object containing:
37
+ * - `federation_id`: The id of the feder.
38
+ * - `url`: One of the apipoints to connect to the federation
39
+ *
40
+ * @throws {Error} If the TransportClient encounters an issue during the parsing process.
41
+ *
42
+ * @example
43
+ * const inviteCode = "example-invite-code";
44
+ * const parsedCode = await wallet.parseInviteCode(inviteCode);
45
+ * console.log(parsedCode.federation_id, parsedCode.url);
46
+ */
47
+ parseInviteCode(inviteCode: string): Promise<{
48
+ type: string;
49
+ data: JSONValue;
50
+ requestId: number;
51
+ }>;
52
+ /**
53
+ * Parses a BOLT11 Lightning invoice and retrieves its details.
54
+ *
55
+ * This method sends the provided invoice string to the TransportClient for parsing.
56
+ * The response includes details such as the amount, expiry, and memo.
57
+ *
58
+ * @param {string} invoiceStr - The BOLT11 invoice string to be parsed.
59
+ * @returns {Promise<{ amount: string, expiry: number, memo: string }>}
60
+ * A promise that resolves to an object containing:
61
+ * - `amount`: The amount specified in the invoice.
62
+ * - `expiry`: The expiry time of the invoice in seconds.
63
+ * - `memo`: A description or memo attached to the invoice.
64
+ *
65
+ * @throws {Error} If the TransportClient encounters an issue during the parsing process.
66
+ *
67
+ * @example
68
+ * const invoiceStr = "lnbc1...";
69
+ * const parsedInvoice = await wallet.parseBolt11Invoice(invoiceStr);
70
+ * console.log(parsedInvoice.amount, parsedInvoice.expiry, parsedInvoice.memo);
71
+ */
72
+ parseBolt11Invoice(invoiceStr: string): Promise<{
73
+ type: string;
74
+ data: JSONValue;
75
+ requestId: number;
76
+ }>;
77
+ }
78
+ //# sourceMappingURL=WalletDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletDirector.d.ts","sourceRoot":"","sources":["../../src/WalletDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,qBAAa,cAAc;IAEzB,SAAS,CAAC,OAAO,EAAE,eAAe,CAAA;IAElC;;;;;;;;OAQG;gBAED,SAAS,GAAE,SAAqC,EAChD,IAAI,GAAE,OAAe;IASjB,UAAU;IAOV,YAAY;IAKZ,iBAAiB,CAAC,UAAU,EAAE,MAAM;gBAG9B,gBAAgB;uBACT,MAAM;;IAKzB;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ;IAK3B;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM;cAG9B,MAAM;cACN,SAAS;mBACJ,MAAM;;IAKrB;;;;;;;;;;;;;;;;;;;OAmBG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM;cAGjC,MAAM;cACN,SAAS;mBACJ,MAAM;;CAItB"}
@@ -1,3 +1,4 @@
1
- export { FedimintWallet } from './FedimintWallet';
1
+ export { WalletDirector } from './WalletDirector';
2
+ export type { FedimintWallet } from './FedimintWallet';
2
3
  export type * from './types';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,mBAAmB,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,mBAAmB,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
- import { WorkerClient } from '../worker';
1
+ import { TransportClient } from '../transport';
2
2
  /**
3
3
  * Balance Service
4
4
  *
@@ -6,7 +6,7 @@ import { WorkerClient } from '../worker';
6
6
  */
7
7
  export declare class BalanceService {
8
8
  private client;
9
- constructor(client: WorkerClient);
9
+ constructor(client: TransportClient);
10
10
  /** https://web.fedimint.org/core/FedimintWallet/BalanceService/getBalance */
11
11
  getBalance(): Promise<number>;
12
12
  /** https://web.fedimint.org/core/FedimintWallet/BalanceService/subscribeBalance */
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceService.d.ts","sourceRoot":"","sources":["../../../src/services/BalanceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC;;;;GAIG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC,6EAA6E;IACvE,UAAU;IAIhB,mFAAmF;IACnF,gBAAgB,CACd,SAAS,GAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAe,EACpD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;CAU9C"}
1
+ {"version":3,"file":"BalanceService.d.ts","sourceRoot":"","sources":["../../../src/services/BalanceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;GAIG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C,6EAA6E;IACvE,UAAU;IAIhB,mFAAmF;IACnF,gBAAgB,CACd,SAAS,GAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAe,EACpD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;CAU9C"}
@@ -1,11 +1,13 @@
1
- import type { JSONValue } from '../types';
2
- import { WorkerClient } from '../worker';
1
+ import type { OperationKey, OperationLog, Transactions } from '../types';
2
+ import { TransportClient } from '../transport';
3
3
  export declare class FederationService {
4
4
  private client;
5
- constructor(client: WorkerClient);
6
- getConfig(): Promise<JSONValue>;
5
+ constructor(client: TransportClient);
6
+ getConfig(): Promise<import("../types").JSONValue>;
7
7
  getFederationId(): Promise<string>;
8
8
  getInviteCode(peer?: number): Promise<string | null>;
9
- listOperations(): Promise<JSONValue[]>;
9
+ listOperations(limit?: number, last_seen?: OperationKey): Promise<[OperationKey, OperationLog][]>;
10
+ getOperation(operationId: string): Promise<OperationLog | null>;
11
+ listTransactions(limit?: number, last_seen?: OperationKey): Promise<Transactions[]>;
10
12
  }
11
13
  //# sourceMappingURL=FederationService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FederationService.d.ts","sourceRoot":"","sources":["../../../src/services/FederationService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,iBAAiB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,SAAS;IAIT,eAAe;IAIf,aAAa,CAAC,IAAI,GAAE,MAAU;IAM9B,cAAc;CAGrB"}
1
+ {"version":3,"file":"FederationService.d.ts","sourceRoot":"","sources":["../../../src/services/FederationService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,YAAY,EACZ,YAAY,EACZ,YAAY,EAGb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,qBAAa,iBAAiB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAErC,SAAS;IAIT,eAAe;IAIf,aAAa,CAAC,IAAI,GAAE,MAAU;IAM9B,cAAc,CAClB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;IAWpC,YAAY,CAAC,WAAW,EAAE,MAAM;IAQhC,gBAAgB,CACpB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,YAAY,EAAE,CAAC;CAgK3B"}
@@ -1,8 +1,8 @@
1
- import { WorkerClient } from '../worker';
2
- import type { CreateBolt11Response, GatewayInfo, JSONObject, LightningGateway, LnPayState, LnReceiveState, OutgoingLightningPayment } from '../types';
1
+ import { TransportClient } from '../transport';
2
+ import type { CreateBolt11Response, GatewayInfo, JSONObject, LightningGateway, LnInternalPayState, LnPayState, LnReceiveState, OutgoingLightningPayment } from '../types';
3
3
  export declare class LightningService {
4
4
  private client;
5
- constructor(client: WorkerClient);
5
+ constructor(client: TransportClient);
6
6
  /** https://web.fedimint.org/core/FedimintWallet/LightningService/createInvoice#lightning-createinvoice */
7
7
  createInvoice(amountMsats: number, description: string, expiryTime?: number, // in seconds
8
8
  gatewayInfo?: GatewayInfo, extraMeta?: JSONObject): Promise<CreateBolt11Response>;
@@ -23,6 +23,7 @@ export declare class LightningService {
23
23
  preimage: string;
24
24
  };
25
25
  }>;
26
+ subscribeInternalPayment(operation_id: string, onSuccess?: (state: LnInternalPayState) => void, onError?: (error: string) => void): import("../types").CancelFunction;
26
27
  subscribeLnClaim(operationId: string, onSuccess?: (state: LnReceiveState) => void, onError?: (error: string) => void): import("../types").CancelFunction;
27
28
  /** https://web.fedimint.org/core/FedimintWallet/LightningService/payInvoice#lightning-payinvoice-invoice-string */
28
29
  subscribeLnPay(operationId: string, onSuccess?: (state: LnPayState) => void, onError?: (error: string) => void): import("../types").CancelFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"LightningService.d.ts","sourceRoot":"","sources":["../../../src/services/LightningService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC,0GAA0G;IACpG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa;IAClC,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;IAgBlB,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa;IAClC,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;IAmBlB,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,UAAU;YAaV,sBAAsB;IAMpC,mHAAmH;IAC7G,UAAU,CACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;IAcxB,uHAAuH;IACjH,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAc,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;iBAGP,KAAK;gBAAU,MAAM;;iBAErB,IAAI;cACP;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;IA+BpD,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAe,EACrD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAa7C,mHAAmH;IACnH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAe,EACjD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAW7C,mHAAmH;IAC7G,UAAU,CAAC,WAAW,EAAE,MAAM;iBAEnB,KAAK;gBAAU,MAAM;;iBACrB,IAAI;cAAQ;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;IA4BjD,0GAA0G;IAC1G,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAe,EACrD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAW7C,0GAA0G;IACpG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc;IAyB7D,UAAU,CACd,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,aAAa,GAAE,OAAe;IAY1B,YAAY;IAQZ,kBAAkB;CAGzB"}
1
+ {"version":3,"file":"LightningService.d.ts","sourceRoot":"","sources":["../../../src/services/LightningService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C,0GAA0G;IACpG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa;IAClC,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;IAgBlB,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa;IAClC,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;IAmBlB,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,CAAC,EAAE,UAAU;YAaV,sBAAsB;IAMpC,mHAAmH;IAC7G,UAAU,CACd,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;IAcxB,uHAAuH;IACjH,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAc,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,SAAS,CAAC,EAAE,UAAU;iBAGP,KAAK;gBAAU,MAAM;;iBAErB,IAAI;cACP;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;IA8BpD,wBAAwB,CACtB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAe,EACzD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAY7C,gBAAgB,CACd,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAe,EACrD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAa7C,mHAAmH;IACnH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAe,EACjD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAW7C,mHAAmH;IAC7G,UAAU,CAAC,WAAW,EAAE,MAAM;iBAEnB,KAAK;gBAAU,MAAM;;iBACrB,IAAI;cAAQ;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE;;IA4BjD,0GAA0G;IAC1G,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAe,EACrD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAW7C,0GAA0G;IACpG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAc;IAyB7D,UAAU,CACd,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,aAAa,GAAE,OAAe;IAY1B,YAAY;IAQZ,kBAAkB;CAGzB"}
@@ -1,8 +1,8 @@
1
- import { WorkerClient } from '../worker';
2
- import type { Duration, JSONObject, JSONValue, ReissueExternalNotesState, SpendNotesState } from '../types';
1
+ import { TransportClient } from '../transport';
2
+ import type { Duration, JSONObject, JSONValue, NoteCountByDenomination, ReissueExternalNotesState, SpendNotesState } from '../types';
3
3
  export declare class MintService {
4
4
  private client;
5
- constructor(client: WorkerClient);
5
+ constructor(client: TransportClient);
6
6
  /** https://web.fedimint.org/core/FedimintWallet/MintService/redeemEcash */
7
7
  redeemEcash(notes: string): Promise<string>;
8
8
  reissueExternalNotes(oobNotes: string, extraMeta?: JSONObject): Promise<string>;
@@ -18,5 +18,6 @@ export declare class MintService {
18
18
  tryCancelSpendNotes(operationId: string): Promise<void>;
19
19
  subscribeSpendNotes(operationId: string, onSuccess?: (state: SpendNotesState) => void, onError?: (error: string) => void): import("../types").CancelFunction;
20
20
  awaitSpendOobRefund(operationId: string): Promise<JSONValue>;
21
+ getNotesByDenomination(): Promise<NoteCountByDenomination>;
21
22
  }
22
23
  //# sourceMappingURL=MintService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MintService.d.ts","sourceRoot":"","sources":["../../../src/services/MintService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EAGT,yBAAyB,EACzB,eAAe,EAChB,MAAM,UAAU,CAAA;AAEjB,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC,2EAA2E;IACrE,WAAW,CAAC,KAAK,EAAE,MAAM;IAWzB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,UAAe;IAWvE,6BAA6B,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAe,EAChE,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAa7C,0EAA0E;IACpE,UAAU,CACd,WAAW,EAAE,MAAM,EAInB,cAAc,GAAE,MAAM,GAAG,QAAoB,EAAE,oBAAoB;IACnE,aAAa,GAAE,OAAe,EAC9B,SAAS,GAAE,SAAc;;;;IA0B3B,0EAA0E;IACpE,UAAU,CAAC,QAAQ,EAAE,MAAM;IAM3B,mBAAmB,CAAC,WAAW,EAAE,MAAM;IAM7C,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAe,EACtD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAWvC,mBAAmB,CAAC,WAAW,EAAE,MAAM;CAK9C"}
1
+ {"version":3,"file":"MintService.d.ts","sourceRoot":"","sources":["../../../src/services/MintService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,SAAS,EAGT,uBAAuB,EACvB,yBAAyB,EACzB,eAAe,EAChB,MAAM,UAAU,CAAA;AAEjB,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C,2EAA2E;IACrE,WAAW,CAAC,KAAK,EAAE,MAAM;IAWzB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,UAAe;IAWvE,6BAA6B,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAe,EAChE,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAa7C,0EAA0E;IACpE,UAAU,CACd,WAAW,EAAE,MAAM,EAInB,cAAc,GAAE,MAAM,GAAG,QAAoB,EAAE,oBAAoB;IACnE,aAAa,GAAE,OAAe,EAC9B,SAAS,GAAE,SAAc;;;;IA0B3B,0EAA0E;IACpE,UAAU,CAAC,QAAQ,EAAE,MAAM;IAM3B,mBAAmB,CAAC,WAAW,EAAE,MAAM;IAM7C,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAe,EACtD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAWvC,mBAAmB,CAAC,WAAW,EAAE,MAAM;IAMvC,sBAAsB;CAO7B"}
@@ -1,8 +1,8 @@
1
1
  import type { JSONValue } from '../types';
2
- import { WorkerClient } from '../worker';
2
+ import { TransportClient } from '../transport';
3
3
  export declare class RecoveryService {
4
4
  private client;
5
- constructor(client: WorkerClient);
5
+ constructor(client: TransportClient);
6
6
  hasPendingRecoveries(): Promise<boolean>;
7
7
  waitForAllRecoveries(): Promise<void>;
8
8
  subscribeToRecoveryProgress(onSuccess: (progress: {
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryService.d.ts","sourceRoot":"","sources":["../../../src/services/RecoveryService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,oBAAoB;IAQpB,oBAAoB;IAI1B,2BAA2B,CACzB,SAAS,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,IAAI,EACzE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;CAOnC"}
1
+ {"version":3,"file":"RecoveryService.d.ts","sourceRoot":"","sources":["../../../src/services/RecoveryService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAErC,oBAAoB;IAQpB,oBAAoB;IAI1B,2BAA2B,CACzB,SAAS,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,IAAI,EACzE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;CAOnC"}
@@ -0,0 +1,13 @@
1
+ import { JSONValue, WalletSummary, GenerateAddressResponse, WalletDepositState } from '../types';
2
+ import { TransportClient } from '../transport';
3
+ export declare class WalletService {
4
+ private client;
5
+ constructor(client: TransportClient);
6
+ getWalletSummary(): Promise<WalletSummary>;
7
+ generateAddress(extraMeta?: JSONValue): Promise<GenerateAddressResponse>;
8
+ sendOnchain(amountSat: number, address: string, extraMeta?: JSONValue): Promise<{
9
+ operation_id: string;
10
+ }>;
11
+ subscribeDeposit(operation_id: string, onSuccess?: (state: WalletDepositState) => void, onError?: (error: string) => void): import("../types").CancelFunction;
12
+ }
13
+ //# sourceMappingURL=WalletService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletService.d.ts","sourceRoot":"","sources":["../../../src/services/WalletService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAErC,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAI1C,eAAe,CAAC,SAAS,GAAE,SAAc;IAUzC,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,SAAc,GACxB,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAOpC,gBAAgB,CACd,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAe,EACzD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;CAU9C"}
@@ -3,4 +3,5 @@ export { BalanceService } from './BalanceService';
3
3
  export { LightningService } from './LightningService';
4
4
  export { RecoveryService } from './RecoveryService';
5
5
  export { FederationService } from './FederationService';
6
+ export { WalletService } from './WalletService';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
@@ -1,15 +1,26 @@
1
- import type { CancelFunction, JSONValue, ModuleKind, StreamError, WorkerMessageType } from '../types';
2
- export declare class WorkerClient {
3
- private worker;
1
+ import type { CancelFunction, JSONValue, ModuleKind, StreamError, TransportMessageType } from '../types';
2
+ import { Logger } from '../utils/logger';
3
+ import type { Transport } from '../types/transport';
4
+ /**
5
+ * Handles communication with a generic transport.
6
+ * Must be instantiated with a platform-specific transport. (wasm for web, react native, etc.)
7
+ */
8
+ export declare class TransportClient {
9
+ private readonly transport;
4
10
  private requestCounter;
5
11
  private requestCallbacks;
6
12
  private initPromise;
7
- constructor();
13
+ logger: Logger;
14
+ /**
15
+ * @summary Constructor for the TransportClient
16
+ * @param transport - The platform-specific transport to use. (wasm for web, react native, etc.)
17
+ */
18
+ constructor(transport: Transport);
8
19
  initialize(): Promise<boolean>;
9
- private handleWorkerLogs;
10
- private handleWorkerError;
11
- private handleWorkerMessage;
12
- sendSingleMessage<Response extends JSONValue = JSONValue, Payload extends JSONValue = JSONValue>(type: WorkerMessageType, payload?: Payload): Promise<Response>;
20
+ private handleLogMessage;
21
+ private handleTransportError;
22
+ private handleTransportMessage;
23
+ sendSingleMessage<Response extends JSONValue = JSONValue, Payload extends JSONValue = JSONValue>(type: TransportMessageType, payload?: Payload): Promise<Response>;
13
24
  /**
14
25
  * @summary Initiates an RPC stream with the specified module and method.
15
26
  *
@@ -41,4 +52,4 @@ export declare class WorkerClient {
41
52
  _getRequestCounter(): number;
42
53
  _getRequestCallbackMap(): Map<number, (value: any) => void>;
43
54
  }
44
- //# sourceMappingURL=WorkerClient.d.ts.map
55
+ //# sourceMappingURL=TransportClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransportClient.d.ts","sourceRoot":"","sources":["../../../src/transport/TransportClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EAEX,oBAAoB,EACrB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,oBAAoB,CAAA;AAErE;;;GAGG;AACH,qBAAa,eAAe;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,WAAW,CAA0C;IAC7D,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;gBACS,SAAS,EAAE,SAAS;IAUhC,UAAU;IAMV,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,oBAAoB,CAE3B;IAED,OAAO,CAAC,sBAAsB,CAkB7B;IAMD,iBAAiB,CACf,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,OAAO,SAAS,SAAS,GAAG,SAAS,EACrC,IAAI,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,OAAO;IAgC/C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CACP,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,IAAI,SAAS,SAAS,GAAG,SAAS,EAElC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,EAClC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAC5C,KAAK,GAAE,MAAM,IAAe,GAC3B,cAAc;YA0CH,eAAe;IAuC7B,SAAS,CACP,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAO/C,OAAO;IAQb,kBAAkB;IAGlB,sBAAsB,wBApO6B,GAAG,KAAK,IAAI;CAuOhE"}
@@ -0,0 +1,3 @@
1
+ export { TransportClient } from './TransportClient';
2
+ export { WasmWorkerTransport } from './wasmTransport/WasmWorkerTransport';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { Transport, TransportErrorHandler, TransportLogger, TransportMessageHandler, TransportRequest } from '../../types/transport';
2
+ export declare class WasmWorkerTransport implements Transport {
3
+ private messageHandler;
4
+ private errorHandler;
5
+ private readonly worker;
6
+ logger: TransportLogger;
7
+ constructor();
8
+ postMessage(message: TransportRequest): void;
9
+ setMessageHandler(handler: TransportMessageHandler): void;
10
+ setErrorHandler(handler: TransportErrorHandler): void;
11
+ }
12
+ //# sourceMappingURL=WasmWorkerTransport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmWorkerTransport.d.ts","sourceRoot":"","sources":["../../../../src/transport/wasmTransport/WasmWorkerTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,uBAAuB,CAAA;AAE9B,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAE/B,MAAM,EAAE,eAAe,CAAU;;IAcjC,WAAW,CAAC,OAAO,EAAE,gBAAgB;IAIrC,iBAAiB,CAAC,OAAO,EAAE,uBAAuB;IAIlD,eAAe,CAAC,OAAO,EAAE,qBAAqB;CAG/C"}
@@ -1,4 +1,4 @@
1
1
  export * from './wallet';
2
2
  export * from './utils';
3
- export * from './worker';
3
+ export * from './transport';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}
@@ -0,0 +1,35 @@
1
+ import type { JSONValue } from './utils';
2
+ declare const TransportMessageTypes: readonly ["init", "initialized", "rpc", "log", "open", "join", "error", "unsubscribe", "cleanup", "parseInviteCode", "parseBolt11Invoice", "previewFederation"];
3
+ export type TransportMessageType = (typeof TransportMessageTypes)[number];
4
+ export type TransportRequest = {
5
+ type: TransportMessageType;
6
+ requestId?: number;
7
+ payload?: JSONValue;
8
+ };
9
+ export type TransportMessage = {
10
+ type: TransportMessageType | string;
11
+ requestId?: number;
12
+ } & Record<string, unknown>;
13
+ export type TransportMessageHandler = (message: TransportMessage) => void;
14
+ export type TransportErrorHandler = (error: unknown) => void;
15
+ /**
16
+ * Generic Transport interface for communicating with a specific
17
+ * target of the FedimintClient. Can be Wasm, React Native, Node, etc.
18
+ */
19
+ export interface Transport {
20
+ postMessage(message: TransportRequest): void;
21
+ setMessageHandler(handler: TransportMessageHandler): void;
22
+ setErrorHandler(handler: TransportErrorHandler): void;
23
+ logger: TransportLogger;
24
+ }
25
+ /**
26
+ * Generic logger interface based on browser console.log
27
+ */
28
+ export type TransportLogger = {
29
+ debug(message: string, ...args: any[]): void;
30
+ info(message: string, ...args: any[]): void;
31
+ warn(message: string, ...args: any[]): void;
32
+ error(message: string, ...args: any[]): void;
33
+ };
34
+ export {};
35
+ //# sourceMappingURL=transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/types/transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,QAAA,MAAM,qBAAqB,iKAajB,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,oBAAoB,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAA;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3B,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;AAEzE,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;AAE5D;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAC5C,iBAAiB,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACzD,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;IACrD,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;CAC7C,CAAA"}