@fedimint/core-web 0.0.2 → 0.0.4

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 (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -13
  3. package/dist/FedimintWallet.d.ts +40 -33
  4. package/dist/FedimintWallet.d.ts.map +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/services/BalanceService.d.ts +8 -0
  8. package/dist/services/BalanceService.d.ts.map +1 -0
  9. package/dist/services/FederationService.d.ts +12 -0
  10. package/dist/services/FederationService.d.ts.map +1 -0
  11. package/dist/services/LightningService.d.ts +17 -0
  12. package/dist/services/LightningService.d.ts.map +1 -0
  13. package/dist/services/MintService.d.ts +15 -0
  14. package/dist/services/MintService.d.ts.map +1 -0
  15. package/dist/services/RecoveryService.d.ts +13 -0
  16. package/dist/services/RecoveryService.d.ts.map +1 -0
  17. package/dist/services/index.d.ts +6 -0
  18. package/dist/services/index.d.ts.map +1 -0
  19. package/dist/types/wallet.d.ts +19 -3
  20. package/dist/types/wallet.d.ts.map +1 -1
  21. package/dist/worker/WorkerClient.d.ts +41 -0
  22. package/dist/worker/WorkerClient.d.ts.map +1 -0
  23. package/dist/worker/index.d.ts +2 -0
  24. package/dist/worker/index.d.ts.map +1 -0
  25. package/dist/worker.js +2 -0
  26. package/dist/worker.js.map +1 -0
  27. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm.d.ts +49 -0
  28. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm.js +4 -0
  29. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm_bg.js +1411 -0
  30. package/{wasm → node_modules/@fedimint/fedimint-client-wasm}/fedimint_client_wasm_bg.wasm +0 -0
  31. package/node_modules/@fedimint/fedimint-client-wasm/package.json +23 -0
  32. package/package.json +12 -5
  33. package/src/FedimintWallet.test.ts +74 -0
  34. package/src/FedimintWallet.ts +88 -342
  35. package/src/services/BalanceService.ts +24 -0
  36. package/src/services/FederationService.ts +32 -0
  37. package/src/services/LightningService.ts +128 -0
  38. package/src/services/MintService.ts +93 -0
  39. package/src/services/RecoveryService.ts +26 -0
  40. package/src/services/index.ts +5 -0
  41. package/src/types/wallet.ts +25 -2
  42. package/src/worker/WorkerClient.ts +190 -0
  43. package/src/worker/index.ts +1 -0
  44. package/src/worker/worker.js +85 -0
  45. package/dist/assets/fedimint_client_wasm_bg-DxOUItb-.wasm +0 -0
  46. package/dist/wasm.worker.d.ts +0 -1
  47. package/dist/wasm.worker.d.ts.map +0 -1
  48. package/src/vite-env.d.ts +0 -1
  49. package/src/wasm.worker.ts +0 -41
  50. package/wasm/fedimint_client_wasm.d.ts +0 -104
  51. package/wasm/fedimint_client_wasm.js +0 -1120
  52. package/wasm/fedimint_client_wasm_bg.js +0 -873
  53. package/wasm/fedimint_client_wasm_bg.wasm.d.ts +0 -34
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 fedimint
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -4,7 +4,16 @@
4
4
 
5
5
  This package provides a typescript interface for a fedimint client in the browser.
6
6
 
7
- Bundles the wasm-pack output of the rust-based [fedimint client](https://github.com/fedimint/fedimint/tree/master/fedimint-client-wasm).
7
+ It contains the wasm-pack output of the rust-based [fedimint client](https://github.com/fedimint/fedimint/tree/master/fedimint-client-wasm).
8
+
9
+ ## Key Features:
10
+
11
+ - **WebAssembly-powered Client**: Exposes the robust, fault-tolerant fedimint-client (built in Rust) via WebAssembly. Lazy-Loads within a web worker for performance.
12
+ - **eCash Payments**: Includes support for joining federations, sending/receiving eCash, and managing balances.
13
+ - **Lightning Payments**: Ships with zero-setup Lightning Network payments.
14
+ - 🛠️ **State Management**: Handles the complex state management and storage challenges for browser wallets.
15
+ - 🤫 **Privacy Included**: Offers a privacy-centric wallet by default.
16
+ - ⚙️ **Framework Agnostic**: Designed as a "core" library compatible with vanilla JavaScript, laying the groundwork for future framework-specific packages.
8
17
 
9
18
  ## Installation
10
19
 
@@ -17,7 +26,7 @@ pnpm add @fedimint/core-web
17
26
 
18
27
  This package relies on the wasm binary to be bundled with your application. You will likely need to update your bundler's or framework's configuration to load the wasm file. Setup guides for popular frameworks are coming soon.
19
28
 
20
- See the `vite.config.ts` file in the [vite-core example](../../examples/vite-core/vite.config.ts) for an example of configuring wasm with Vite.
29
+ See the `vite.config.ts` file in the [vite-core example](../../examples/vite-core/vite.config.ts) for an example of configuring wasm within a web-worker using Vite.
21
30
 
22
31
  ## Usage
23
32
 
@@ -32,29 +41,41 @@ const wallet = new FedimintWallet()
32
41
  // wallet state from previous sessions.
33
42
  await wallet.open()
34
43
 
35
- // Join a Federation
36
- const inviteCode = 'fed11qgqpw9thwvaz7t...' // Federation invite code
37
- await wallet.joinFederation(inviteCode)
38
- // After you've joined a federation, your federation state
39
- // will be stored in the browser. Future calls to `open()`
40
- // will automatically load your saved federation.
44
+ // Joining a Federation
45
+
46
+ // You can't join a federation
47
+ // if your wallet is already open
48
+ if (!wallet.isOpen()) {
49
+ // Check out [bitcoin mints](https://bitcoinmints.com/?tab=mints&showFedimint=true) for
50
+ // a list of federations with public invite codes.
51
+ const inviteCode = 'fed11qgqpw9thwvaz7t...'
52
+
53
+ await wallet.joinFederation(inviteCode)
54
+ // After you've joined a federation, your federation state
55
+ // will be stored in the browser. Future calls to `open()`
56
+ // will automatically load your saved federation.
57
+ }
41
58
 
42
59
  // Get Wallet Balance (sync)
43
60
  const balance = await wallet.getBalance()
44
61
 
45
- // Get Wallet Balance (stream)
46
- // Make sure to call `unsubscribe()` when you're done
62
+ // Subscribe to Balance Updates
47
63
  const unsubscribe = wallet.subscribeBalance((balance: number) => {
48
64
  console.log('updated balance', balance)
49
65
  })
66
+ // Make sure to call `unsubscribe()` when you're done
50
67
 
51
68
  // Receive Ecash Payments
52
69
  await wallet.reissueNotes('A11qgqpw9thwvaz7t...')
53
70
 
54
71
  // Pay Lightning Invoice
55
- await wallet.payInvoice('lnbc...')
72
+ await wallet.payBolt11Invoice('lnbc...')
56
73
  ```
57
74
 
58
- ## Check out the example
75
+ ### Check out the example
76
+
77
+ - Vite + React: [`examples/vite-core`](../../examples/vite-core/README.md) [(demo)](https://fedimint.github.io/fedimint-web-sdk/)
78
+
79
+ ### Resources
59
80
 
60
- [`examples/vite-core`](../../examples/vite-core/README.md)
81
+ - [Bitcoin Mints](https://bitcoinmints.com/?tab=mints&showFedimint=true) - list of public federations with invite codes
@@ -1,47 +1,54 @@
1
- import { JSONValue, JSONObject, LightningGateway, OutgoingLightningPayment, LnPayState, LnReceiveState, CreateBolt11Response } from './types/wallet.js';
1
+ import { BalanceService, MintService, LightningService, FederationService, RecoveryService } from './services';
2
2
  export declare class FedimintWallet {
3
- private _fed;
4
- private initPromise;
3
+ private client;
4
+ balance: BalanceService;
5
+ mint: MintService;
6
+ lightning: LightningService;
7
+ federation: FederationService;
8
+ recovery: RecoveryService;
5
9
  private openPromise;
6
10
  private resolveOpen;
11
+ private _isOpen;
12
+ /**
13
+ * Creates a new instance of FedimintWallet.
14
+ *
15
+ * @description
16
+ * This constructor initializes a FedimintWallet instance, which manages communication
17
+ * with a Web Worker. The Web Worker is responsible for running WebAssembly code that
18
+ * handles the core Fedimint Client operations.
19
+ *
20
+ * (default) When not in lazy mode, the constructor immediately initializes the
21
+ * Web Worker and begins loading the WebAssembly module in the background. This
22
+ * allows for faster subsequent operations but may increase initial load time.
23
+ *
24
+ * In lazy mode, the Web Worker and WebAssembly initialization are deferred until
25
+ * the first operation that requires them, reducing initial overhead at the cost
26
+ * of a slight delay on the first operation.
27
+ *
28
+ * @param {boolean} lazy - If true, delays Web Worker and WebAssembly initialization
29
+ * until needed. Default is false.
30
+ *
31
+ * @example
32
+ * // Create a wallet with immediate initialization
33
+ * const wallet = new FedimintWallet();
34
+ * wallet.open();
35
+ *
36
+ * // Create a wallet with lazy initialization
37
+ * const lazyWallet = new FedimintWallet(true);
38
+ * // Some time later...
39
+ * lazyWallet.initialize();
40
+ * lazyWallet.open();
41
+ */
7
42
  constructor(lazy?: boolean);
8
43
  initialize(): Promise<void>;
9
- open(clientName?: string): Promise<boolean>;
44
+ waitForOpen(): Promise<void | null>;
45
+ open(clientName?: string): Promise<any>;
10
46
  joinFederation(inviteCode: string, clientName?: string): Promise<void>;
11
- private _rpcStream;
12
- private _rpcSingle;
13
- getBalance(): Promise<number>;
14
- redeemEcash(notes: string): Promise<void>;
15
- reissueExternalNotes(oobNotes: string, extraMeta: JSONObject): Promise<string>;
16
- subscribeReissueExternalNotes(operationId: string, onSuccess?: (state: JSONValue) => void, onError?: (error: string) => void): () => void;
17
- spendNotes(minAmount: number, tryCancelAfter: number, includeInvite: boolean, extraMeta: JSONValue): Promise<JSONValue>;
18
- validateNotes(oobNotes: string): Promise<number>;
19
- tryCancelSpendNotes(operationId: string): Promise<void>;
20
- subscribeSpendNotes(operationId: string, onSuccess?: (state: JSONValue) => void, onError?: (error: string) => void): () => void;
21
- awaitSpendOobRefund(operationId: string): Promise<JSONValue>;
22
47
  /**
23
48
  * This should ONLY be called when UNLOADING the wallet client.
24
49
  * After this call, the FedimintWallet instance should be discarded.
25
50
  */
26
51
  cleanup(): Promise<void>;
27
52
  isOpen(): boolean;
28
- getConfig(): Promise<JSONValue>;
29
- getFederationId(): Promise<string>;
30
- getInviteCode(peer: number): Promise<string | null>;
31
- listOperations(): Promise<JSONValue[]>;
32
- hasPendingRecoveries(): Promise<boolean>;
33
- waitForAllRecoveries(): Promise<void>;
34
- subscribeBalance(onSuccess?: (balance: number) => void, onError?: (error: string) => void): () => void;
35
- subscribeToRecoveryProgress(onSuccess?: (progress: {
36
- module_id: number;
37
- progress: JSONValue;
38
- }) => void, onError?: (error: string) => void): () => void;
39
- createBolt11Invoice(amount: number, description: string, expiryTime?: number | null, extraMeta?: JSONObject, gateway?: LightningGateway | null): Promise<CreateBolt11Response>;
40
- payBolt11Invoice(invoice: string, maybeGateway?: LightningGateway | null, extraMeta?: JSONObject): Promise<OutgoingLightningPayment>;
41
- subscribeLnPay(operationId: string, onSuccess?: (state: LnPayState) => void, onError?: (error: string) => void): () => void;
42
- subscribeLnReceive(operationId: string, onSuccess?: (state: LnReceiveState) => void, onError?: (error: string) => void): () => void;
43
- getGateway(gatewayId?: string | null, forceInternal?: boolean): Promise<LightningGateway | null>;
44
- listGateways(): Promise<LightningGateway[]>;
45
- updateGatewayCache(): Promise<void>;
46
53
  }
47
54
  //# sourceMappingURL=FedimintWallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FedimintWallet.d.ts","sourceRoot":"","sources":["../src/FedimintWallet.ts"],"names":[],"mappings":"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"}
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;AAInB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAc;IAErB,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,WAAW,CAA6B;IAChD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAAiB;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;gBACS,IAAI,GAAE,OAAe;IAgB3B,UAAU;IAIV,WAAW;IAKX,IAAI,CAAC,UAAU,GAAE,MAA4B;IAc7C,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAA4B;IAkB1C;;;OAGG;IACG,OAAO;IAMb,MAAM;CAGP"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- let n;const e=new Array(128).fill(void 0);function t(n){return e[n]}e.push(void 0,null,!0,!1);let _=e.length;function r(n){const r=t(n);return function(n){n<132||(e[n]=_,_=n)}(n),r}function i(n){_===e.length&&e.push(e.length+1);const t=_;return _=e[t],e[t]=n,t}const c="undefined"!=typeof TextDecoder?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};"undefined"!=typeof TextDecoder&&c.decode();let o=null;function a(){return null!==o&&0!==o.byteLength||(o=new Uint8Array(n.memory.buffer)),o}function u(n,e){return n>>>=0,c.decode(a().subarray(n,n+e))}let b=0;const s="undefined"!=typeof TextEncoder?new TextEncoder("utf-8"):{encode:()=>{throw Error("TextEncoder not available")}},f="function"==typeof s.encodeInto?function(n,e){return s.encodeInto(n,e)}:function(n,e){const t=s.encode(n);return e.set(t),{read:n.length,written:t.length}};function w(n,e,t){if(void 0===t){const t=s.encode(n),_=e(t.length,1)>>>0;return a().subarray(_,_+t.length).set(t),b=t.length,_}let _=n.length,r=e(_,1)>>>0;const i=a();let c=0;for(;c<_;c++){const e=n.charCodeAt(c);if(e>127)break;i[r+c]=e}if(c!==_){0!==c&&(n=n.slice(c)),r=t(r,_,_=c+3*n.length,1)>>>0;const e=a().subarray(r+c,r+_);c+=f(n,e).written,r=t(r,_,c,1)>>>0}return b=c,r}function g(n){return null==n}let d=null;function l(){return null!==d&&0!==d.byteLength||(d=new Int32Array(n.memory.buffer)),d}function p(n){const e=typeof n;if("number"==e||"boolean"==e||null==n)return`${n}`;if("string"==e)return`"${n}"`;if("symbol"==e){const e=n.description;return null==e?"Symbol":`Symbol(${e})`}if("function"==e){const e=n.name;return"string"==typeof e&&e.length>0?`Function(${e})`:"Function"}if(Array.isArray(n)){const e=n.length;let t="[";e>0&&(t+=p(n[0]));for(let _=1;_<e;_++)t+=", "+p(n[_]);return t+="]",t}const t=/\[object ([^\]]+)\]/.exec(toString.call(n));let _;if(!(t.length>1))return toString.call(n);if(_=t[1],"Object"==_)try{return"Object("+JSON.stringify(n)+")"}catch(n){return"Object"}return n instanceof Error?`${n.name}: ${n.message}\n${n.stack}`:_}const y="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((e=>{n.__wbindgen_export_2.get(e.dtor)(e.a,e.b)}));function h(e,t,_,r){const i={a:e,b:t,cnt:1,dtor:_},c=(...e)=>{i.cnt++;const t=i.a;i.a=0;try{return r(t,i.b,...e)}finally{0==--i.cnt?(n.__wbindgen_export_2.get(i.dtor)(t,i.b),y.unregister(i)):i.a=t}};return c.original=i,y.register(c,i,i),c}function m(e,t,_){try{const o=n.__wbindgen_add_to_stack_pointer(-16);n._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h8697e16cd1c64495(o,e,t,i(_));var c=l()[o/4+0];if(l()[o/4+1])throw r(c)}finally{n.__wbindgen_add_to_stack_pointer(16)}}function v(e,t,_){n._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h31a94cc9a05d5ca0(e,t,i(_))}function S(e,t){n._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4d11ec113460b95d(e,t)}function x(e,t,_){try{const o=n.__wbindgen_add_to_stack_pointer(-16);n._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he7056307c6986185(o,e,t,i(_));var c=l()[o/4+0];if(l()[o/4+1])throw r(c)}finally{n.__wbindgen_add_to_stack_pointer(16)}}function R(e,t){n._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5b16159cdfa166b0(e,t)}function O(e,t,_){n._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hebf1bd391d12b3cb(e,t,i(_))}function A(e,t){n._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h09ee3e3abd173580(e,t)}let F=128;function C(e,t){try{return e.apply(this,t)}catch(e){n.__wbindgen_exn_store(i(e))}}const E="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((e=>n.__wbg_rpchandle_free(e>>>0)));class k{static __wrap(n){n>>>=0;const e=Object.create(k.prototype);return e.__wbg_ptr=n,E.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,E.unregister(this),n}free(){const e=this.__destroy_into_raw();n.__wbg_rpchandle_free(e)}cancel(){n.rpchandle_cancel(this.__wbg_ptr)}}const j="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((e=>n.__wbg_wasmclient_free(e>>>0)));class T{static __wrap(n){n>>>=0;const e=Object.create(T.prototype);return e.__wbg_ptr=n,j.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){const n=this.__wbg_ptr;return this.__wbg_ptr=0,j.unregister(this),n}free(){const e=this.__destroy_into_raw();n.__wbg_wasmclient_free(e)}static open(e){const t=w(e,n.__wbindgen_malloc,n.__wbindgen_realloc),_=b;return r(n.wasmclient_open(t,_))}static join_federation(e,t){const _=w(e,n.__wbindgen_malloc,n.__wbindgen_realloc),i=b,c=w(t,n.__wbindgen_malloc,n.__wbindgen_realloc),o=b;return r(n.wasmclient_join_federation(_,i,c,o))}rpc(t,_,r,i){try{const c=w(t,n.__wbindgen_malloc,n.__wbindgen_realloc),o=b,a=w(_,n.__wbindgen_malloc,n.__wbindgen_realloc),u=b,s=w(r,n.__wbindgen_malloc,n.__wbindgen_realloc),f=b,g=n.wasmclient_rpc(this.__wbg_ptr,c,o,a,u,s,f,function(n){if(1==F)throw new Error("out of js stack");return e[--F]=n,F}(i));return k.__wrap(g)}finally{e[F++]=void 0}}}function I(){const e={wbg:{}};return e.wbg.__wbg_wasmclient_new=function(n){return i(T.__wrap(n))},e.wbg.__wbindgen_object_drop_ref=function(n){r(n)},e.wbg.__wbindgen_object_clone_ref=function(n){return i(t(n))},e.wbg.__wbindgen_string_new=function(n,e){return i(u(n,e))},e.wbg.__wbindgen_cb_drop=function(n){const e=r(n).original;if(1==e.cnt--)return e.a=0,!0;return!1},e.wbg.__wbindgen_error_new=function(n,e){return i(new Error(u(n,e)))},e.wbg.__wbindgen_string_get=function(e,_){const r=t(_),i="string"==typeof r?r:void 0;var c=g(i)?0:w(i,n.__wbindgen_malloc,n.__wbindgen_realloc),o=b;l()[e/4+1]=o,l()[e/4+0]=c},e.wbg.__wbg_fetch_25e3a297f7b04639=function(n){return i(fetch(t(n)))},e.wbg.__wbindgen_is_string=function(n){return"string"==typeof t(n)},e.wbg.__wbindgen_is_falsy=function(n){return!t(n)},e.wbg.__wbg_new_abda76e883ba8a5f=function(){return i(new Error)},e.wbg.__wbg_stack_658279fe44541cf6=function(e,_){const r=w(t(_).stack,n.__wbindgen_malloc,n.__wbindgen_realloc),i=b;l()[e/4+1]=i,l()[e/4+0]=r},e.wbg.__wbg_error_f851667af71bcfc6=function(e,t){let _,r;try{_=e,r=t,console.error(u(e,t))}finally{n.__wbindgen_free(_,r,1)}},e.wbg.__wbg_fetch_693453ca3f88c055=function(n,e){return i(t(n).fetch(t(e)))},e.wbg.__wbindgen_number_new=function(n){return i(n)},e.wbg.__wbg_instanceof_IdbFactory_32ca5b61b481d0d4=function(n){let e;try{e=t(n)instanceof IDBFactory}catch(n){e=!1}return e},e.wbg.__wbg_open_65e0826fa9c7929c=function(){return C((function(n,e,_,r){return i(t(n).open(u(e,_),r>>>0))}),arguments)},e.wbg.__wbg_open_7cc5c5a15ff86a65=function(){return C((function(n,e,_){return i(t(n).open(u(e,_)))}),arguments)},e.wbg.__wbg_key_f5b181c13a2893c4=function(){return C((function(n){return i(t(n).key)}),arguments)},e.wbg.__wbg_advance_4a9fc46f41566dd7=function(){return C((function(n,e){t(n).advance(e>>>0)}),arguments)},e.wbg.__wbg_continue_ff6b09291a37ea4f=function(){return C((function(n){t(n).continue()}),arguments)},e.wbg.__wbg_target_52ddf6955f636bf5=function(n){const e=t(n).target;return g(e)?0:i(e)},e.wbg.__wbg_objectStoreNames_71c3096b04c76bcd=function(n){return i(t(n).objectStoreNames)},e.wbg.__wbg_createObjectStore_45c05e7be9907fde=function(){return C((function(n,e,_,r){return i(t(n).createObjectStore(u(e,_),t(r)))}),arguments)},e.wbg.__wbg_deleteObjectStore_517effefcf018434=function(){return C((function(n,e,_){t(n).deleteObjectStore(u(e,_))}),arguments)},e.wbg.__wbg_transaction_632c349fd48458fb=function(){return C((function(n,e,_){return i(t(n).transaction(t(e),r(_)))}),arguments)},e.wbg.__wbg_new_7a20246daa6eec7e=function(){return C((function(){return i(new Headers)}),arguments)},e.wbg.__wbg_append_aa3f462f9e2b5ff2=function(){return C((function(n,e,_,r,i){t(n).append(u(e,_),u(r,i))}),arguments)},e.wbg.__wbg_value_818a84b71c8d6a92=function(){return C((function(n){return i(t(n).value)}),arguments)},e.wbg.__wbg_newwithstrandinit_f581dff0d19a8b03=function(){return C((function(n,e,_){return i(new Request(u(n,e),t(_)))}),arguments)},e.wbg.__wbg_indexNames_cd26d0c4a3e2e6d3=function(n){return i(t(n).indexNames)},e.wbg.__wbg_createIndex_e1a9dfc378a45abb=function(){return C((function(n,e,_,r,c){return i(t(n).createIndex(u(e,_),t(r),t(c)))}),arguments)},e.wbg.__wbg_delete_e8e3bfaf1ea215be=function(){return C((function(n,e){return i(t(n).delete(t(e)))}),arguments)},e.wbg.__wbg_deleteIndex_fdc764ebf52d4c6e=function(){return C((function(n,e,_){t(n).deleteIndex(u(e,_))}),arguments)},e.wbg.__wbg_openCursor_218846b7f56f5d54=function(){return C((function(n){return i(t(n).openCursor())}),arguments)},e.wbg.__wbg_openCursor_31878cfe72aac75c=function(){return C((function(n,e){return i(t(n).openCursor(t(e)))}),arguments)},e.wbg.__wbg_openCursor_028e15e1e8bc1d13=function(){return C((function(n,e,_){return i(t(n).openCursor(t(e),r(_)))}),arguments)},e.wbg.__wbg_put_23b163c3aeb63c96=function(){return C((function(n,e){return i(t(n).put(t(e)))}),arguments)},e.wbg.__wbg_put_f50a8dd6e4a8a13a=function(){return C((function(n,e,_){return i(t(n).put(t(e),t(_)))}),arguments)},e.wbg.__wbg_setonupgradeneeded_73793bc200a4f7b8=function(n,e){t(n).onupgradeneeded=t(e)},e.wbg.__wbg_result_915d75a0bb0397a1=function(){return C((function(n){return i(t(n).result)}),arguments)},e.wbg.__wbg_error_a093a4b69c2260a3=function(){return C((function(n){const e=t(n).error;return g(e)?0:i(e)}),arguments)},e.wbg.__wbg_transaction_fe8e1f87ae7ea4cc=function(n){const e=t(n).transaction;return g(e)?0:i(e)},e.wbg.__wbg_setonsuccess_a04d5d5a703ed886=function(n,e){t(n).onsuccess=t(e)},e.wbg.__wbg_setonerror_80c9bac4e4864adf=function(n,e){t(n).onerror=t(e)},e.wbg.__wbg_setonabort_568145f0fa09b9be=function(n,e){t(n).onabort=t(e)},e.wbg.__wbg_setoncomplete_e9993a45b7bfaec4=function(n,e){t(n).oncomplete=t(e)},e.wbg.__wbg_setonerror_d17408c3482b10eb=function(n,e){t(n).onerror=t(e)},e.wbg.__wbg_abort_7691b818613905b3=function(){return C((function(n){t(n).abort()}),arguments)},e.wbg.__wbg_commit_07f92304c2c4ba17=function(){return C((function(n){t(n).commit()}),arguments)},e.wbg.__wbg_objectStore_b0e52dee7e737df7=function(){return C((function(n,e,_){return i(t(n).objectStore(u(e,_)))}),arguments)},e.wbg.__wbg_instanceof_Response_4c3b1446206114d1=function(n){let e;try{e=t(n)instanceof Response}catch(n){e=!1}return e},e.wbg.__wbg_url_83a6a4f65f7a2b38=function(e,_){const r=w(t(_).url,n.__wbindgen_malloc,n.__wbindgen_realloc),i=b;l()[e/4+1]=i,l()[e/4+0]=r},e.wbg.__wbg_status_d6d47ad2837621eb=function(n){return t(n).status},e.wbg.__wbg_headers_24def508a7518df9=function(n){return i(t(n).headers)},e.wbg.__wbg_arrayBuffer_5b2688e3dd873fed=function(){return C((function(n){return i(t(n).arrayBuffer())}),arguments)},e.wbg.__wbg_text_668782292b0bc561=function(){return C((function(n){return i(t(n).text())}),arguments)},e.wbg.__wbg_data_ba3ea616b5392abf=function(n){return i(t(n).data)},e.wbg.__wbg_length_acb2c4bcbfef2f1a=function(n){return t(n).length},e.wbg.__wbg_contains_f2be25be0242ccea=function(n,e,_){return t(n).contains(u(e,_))},e.wbg.__wbg_get_f31a9f341421cffd=function(e,_,r){const i=t(_)[r>>>0];var c=g(i)?0:w(i,n.__wbindgen_malloc,n.__wbindgen_realloc),o=b;l()[e/4+1]=o,l()[e/4+0]=c},e.wbg.__wbg_addEventListener_9bf60ea8a362e5e4=function(){return C((function(n,e,_,r){t(n).addEventListener(u(e,_),t(r))}),arguments)},e.wbg.__wbg_addEventListener_374cbfd2bbc19ccf=function(){return C((function(n,e,_,r,i){t(n).addEventListener(u(e,_),t(r),t(i))}),arguments)},e.wbg.__wbg_dispatchEvent_40c3472e9e4dcf5e=function(){return C((function(n,e){return t(n).dispatchEvent(t(e))}),arguments)},e.wbg.__wbg_removeEventListener_66ee1536a0b32c11=function(){return C((function(n,e,_,r){t(n).removeEventListener(u(e,_),t(r))}),arguments)},e.wbg.__wbg_signal_3c701f5f40a5f08d=function(n){return i(t(n).signal)},e.wbg.__wbg_new_0ae46f44b7485bb2=function(){return C((function(){return i(new AbortController)}),arguments)},e.wbg.__wbg_abort_2c4fb490d878d2b2=function(n){t(n).abort()},e.wbg.__wbg_wasClean_1efd9561c5671b45=function(n){return t(n).wasClean},e.wbg.__wbg_code_72a380a2ce61a242=function(n){return t(n).code},e.wbg.__wbg_reason_ad453a16ee68a1b9=function(e,_){const r=w(t(_).reason,n.__wbindgen_malloc,n.__wbindgen_realloc),i=b;l()[e/4+1]=i,l()[e/4+0]=r},e.wbg.__wbg_newwitheventinitdict_744eb6eb61245b7c=function(){return C((function(n,e,_){return i(new CloseEvent(u(n,e),t(_)))}),arguments)},e.wbg.__wbg_readyState_c8f9a5deaec3bb41=function(n){return t(n).readyState},e.wbg.__wbg_setbinaryType_68fc3c6feda7310c=function(n,e){t(n).binaryType=r(e)},e.wbg.__wbg_new_2575c598b4006174=function(){return C((function(n,e){return i(new WebSocket(u(n,e)))}),arguments)},e.wbg.__wbg_close_328b8b803521cbdd=function(){return C((function(n){t(n).close()}),arguments)},e.wbg.__wbg_send_5bf3f962e9ffe0f6=function(){return C((function(n,e,_){t(n).send(u(e,_))}),arguments)},e.wbg.__wbg_send_2ba7d32fcb03b9a4=function(){return C((function(n,e,_){var r,i;t(n).send((r=e,i=_,r>>>=0,a().subarray(r/1,r/1+i)))}),arguments)},e.wbg.__wbg_clearTimeout_541ac0980ffcef74=function(n){return i(clearTimeout(r(n)))},e.wbg.__wbg_setTimeout_7d81d052875b0f4f=function(){return C((function(n,e){return i(setTimeout(t(n),e))}),arguments)},e.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=function(n){return i(t(n).queueMicrotask)},e.wbg.__wbindgen_is_function=function(n){return"function"==typeof t(n)},e.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=function(n){queueMicrotask(t(n))},e.wbg.__wbg_clearTimeout_76877dbc010e786d=function(n){return i(clearTimeout(r(n)))},e.wbg.__wbg_setTimeout_75cb9b6991a4031d=function(){return C((function(n,e){return i(setTimeout(t(n),e))}),arguments)},e.wbg.__wbg_crypto_1d1f22824a6a080c=function(n){return i(t(n).crypto)},e.wbg.__wbindgen_is_object=function(n){const e=t(n);return"object"==typeof e&&null!==e},e.wbg.__wbg_process_4a72847cc503995b=function(n){return i(t(n).process)},e.wbg.__wbg_versions_f686565e586dd935=function(n){return i(t(n).versions)},e.wbg.__wbg_node_104a2ff8d6ea03a2=function(n){return i(t(n).node)},e.wbg.__wbg_require_cca90b1a94a0255b=function(){return C((function(){return i(module.require)}),arguments)},e.wbg.__wbg_msCrypto_eb05e62b530a1508=function(n){return i(t(n).msCrypto)},e.wbg.__wbg_randomFillSync_5c9c955aa56b6049=function(){return C((function(n,e){t(n).randomFillSync(r(e))}),arguments)},e.wbg.__wbg_getRandomValues_3aa56aa6edec874c=function(){return C((function(n,e){t(n).getRandomValues(t(e))}),arguments)},e.wbg.__wbg_new_16b304a2cfa7ff4a=function(){return i(new Array)},e.wbg.__wbg_newnoargs_e258087cd0daa0ea=function(n,e){return i(new Function(u(n,e)))},e.wbg.__wbg_next_40fc327bfc8770e6=function(n){return i(t(n).next)},e.wbg.__wbg_next_196c84450b364254=function(){return C((function(n){return i(t(n).next())}),arguments)},e.wbg.__wbg_done_298b57d23c0fc80c=function(n){return t(n).done},e.wbg.__wbg_value_d93c65011f51a456=function(n){return i(t(n).value)},e.wbg.__wbg_iterator_2cee6dadfd956dfa=function(){return i(Symbol.iterator)},e.wbg.__wbg_get_e3c254076557e348=function(){return C((function(n,e){return i(Reflect.get(t(n),t(e)))}),arguments)},e.wbg.__wbg_call_27c0f87801dedf93=function(){return C((function(n,e){return i(t(n).call(t(e)))}),arguments)},e.wbg.__wbg_new_72fb9a18b5ae2624=function(){return i(new Object)},e.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return C((function(){return i(self.self)}),arguments)},e.wbg.__wbg_window_c6fb939a7f436783=function(){return C((function(){return i(window.window)}),arguments)},e.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return C((function(){return i(globalThis.globalThis)}),arguments)},e.wbg.__wbg_global_207b558942527489=function(){return C((function(){return i(global.global)}),arguments)},e.wbg.__wbindgen_is_undefined=function(n){return void 0===t(n)},e.wbg.__wbg_push_a5b05aedc7234f9f=function(n,e){return t(n).push(t(e))},e.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=function(n){let e;try{e=t(n)instanceof ArrayBuffer}catch(n){e=!1}return e},e.wbg.__wbg_instanceof_Error_e20bb56fd5591a93=function(n){let e;try{e=t(n)instanceof Error}catch(n){e=!1}return e},e.wbg.__wbg_message_5bf28016c2b49cfb=function(n){return i(t(n).message)},e.wbg.__wbg_name_e7429f0dda6079e2=function(n){return i(t(n).name)},e.wbg.__wbg_toString_ffe4c9ea3b3532e9=function(n){return i(t(n).toString())},e.wbg.__wbg_call_b3ca7c6051f9bec1=function(){return C((function(n,e,_){return i(t(n).call(t(e),t(_)))}),arguments)},e.wbg.__wbg_getTime_2bc4375165f02d15=function(n){return t(n).getTime()},e.wbg.__wbg_new0_7d84e5b2cd9fdc73=function(){return i(new Date)},e.wbg.__wbg_new_81740750da40724f=function(e,t){try{var _={a:e,b:t};const r=new Promise(((e,t)=>{const r=_.a;_.a=0;try{return function(e,t,_,r){n.wasm_bindgen__convert__closures__invoke2_mut__h8bdaa9faeb7d5075(e,t,i(_),i(r))}(r,_.b,e,t)}finally{_.a=r}}));return i(r)}finally{_.a=_.b=0}},e.wbg.__wbg_resolve_b0083a7967828ec8=function(n){return i(Promise.resolve(t(n)))},e.wbg.__wbg_then_0c86a60e8fcfe9f6=function(n,e){return i(t(n).then(t(e)))},e.wbg.__wbg_then_a73caa9a87991566=function(n,e,_){return i(t(n).then(t(e),t(_)))},e.wbg.__wbg_buffer_12d079cc21e14bdb=function(n){return i(t(n).buffer)},e.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb=function(n,e,_){return i(new Uint8Array(t(n),e>>>0,_>>>0))},e.wbg.__wbg_new_63b92bc8671ed464=function(n){return i(new Uint8Array(t(n)))},e.wbg.__wbg_set_a47bac70306a19a7=function(n,e,_){t(n).set(t(e),_>>>0)},e.wbg.__wbg_length_c20a40f15020d68a=function(n){return t(n).length},e.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=function(n){let e;try{e=t(n)instanceof Uint8Array}catch(n){e=!1}return e},e.wbg.__wbg_newwithlength_e9b4878cebadb3d3=function(n){return i(new Uint8Array(n>>>0))},e.wbg.__wbg_subarray_a1f73cd4b5b42fe1=function(n,e,_){return i(t(n).subarray(e>>>0,_>>>0))},e.wbg.__wbg_has_0af94d20077affa2=function(){return C((function(n,e){return Reflect.has(t(n),t(e))}),arguments)},e.wbg.__wbg_set_1f9b04f170055d33=function(){return C((function(n,e,_){return Reflect.set(t(n),t(e),t(_))}),arguments)},e.wbg.__wbg_stringify_8887fe74e1c50d81=function(){return C((function(n){return i(JSON.stringify(t(n)))}),arguments)},e.wbg.__wbindgen_debug_string=function(e,_){const r=w(p(t(_)),n.__wbindgen_malloc,n.__wbindgen_realloc),i=b;l()[e/4+1]=i,l()[e/4+0]=r},e.wbg.__wbindgen_throw=function(n,e){throw new Error(u(n,e))},e.wbg.__wbindgen_memory=function(){return i(n.memory)},e.wbg.__wbindgen_closure_wrapper1470=function(n,e,t){return i(h(n,e,485,m))},e.wbg.__wbindgen_closure_wrapper11865=function(n,e,t){return i(h(n,e,5994,v))},e.wbg.__wbindgen_closure_wrapper11867=function(n,e,t){return i(h(n,e,5994,v))},e.wbg.__wbindgen_closure_wrapper11869=function(n,e,t){return i(h(n,e,5994,v))},e.wbg.__wbindgen_closure_wrapper11871=function(n,e,t){return i(h(n,e,5994,S))},e.wbg.__wbindgen_closure_wrapper11927=function(n,e,t){return i(h(n,e,6019,x))},e.wbg.__wbindgen_closure_wrapper13201=function(n,e,t){return i(h(n,e,6419,R))},e.wbg.__wbindgen_closure_wrapper13916=function(n,e,t){return i(h(n,e,6604,O))},e.wbg.__wbindgen_closure_wrapper13957=function(n,e,t){return i(h(n,e,6624,A))},e}async function W(e){if(void 0!==n)return n;void 0===e&&(e=new URL(new URL("assets/fedimint_client_wasm_bg-DxOUItb-.wasm",import.meta.url).href,import.meta.url));const t=I();("string"==typeof e||"function"==typeof Request&&e instanceof Request||"function"==typeof URL&&e instanceof URL)&&(e=fetch(e));const{instance:_,module:r}=await async function(n,e){if("function"==typeof Response&&n instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(n,e)}catch(e){if("application/wasm"==n.headers.get("Content-Type"))throw e;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e)}const t=await n.arrayBuffer();return await WebAssembly.instantiate(t,e)}{const t=await WebAssembly.instantiate(n,e);return t instanceof WebAssembly.Instance?{instance:t,module:n}:t}}(await e,t);return function(e,t){return n=e.exports,W.__wbindgen_wasm_module=t,d=null,o=null,n}(_,r)}const N="fm-default";class P{constructor(n=!1){this._fed=null,this.initPromise=null,this.openPromise=null,this.resolveOpen=()=>{},n||(this.initialize(),this.openPromise=new Promise((n=>{this.resolveOpen=n})))}async initialize(){return this.initPromise||(this.initPromise=W().then((()=>{console.trace("Fedimint Client Wasm Initialization complete")}))),this.initPromise}async open(n=N){await this.initialize();const e=await T.open(n);return void 0!==e&&(this._fed=e,this.resolveOpen(),!0)}async joinFederation(n,e=N){await this.initialize(),this._fed=await T.join_federation(e,n),this.resolveOpen()}async _rpcStream(n,e,t,_,r){if(await this.openPromise,!this._fed)throw new Error("FedimintWallet is not open");return await this._fed.rpc(n,e,JSON.stringify(t),(n=>{const e=JSON.parse(n);e.error?r(e.error):_(e.data)}))}async _rpcSingle(n,e,t){return new Promise(((_,r)=>{if(!this._fed)return r("FedimintWallet is not open");this._fed.rpc(n,e,JSON.stringify(t),(n=>{const e=JSON.parse(n);e.error?r(e.error):_(e.data)}))}))}async getBalance(){return await this._rpcSingle("","get_balance",{})}async redeemEcash(n){await this._rpcSingle("mint","reissue_external_notes",{oob_notes:n,extra_meta:null})}async reissueExternalNotes(n,e){return await this._rpcSingle("mint","reissue_external_notes",{oob_notes:n,extra_meta:e})}subscribeReissueExternalNotes(n,e=()=>{},t=()=>{}){const _=this._rpcStream("mint","subscribe_reissue_external_notes",{operation_id:n},(n=>e(n)),t);return()=>{_.then((n=>{n.cancel(),n.free()}))}}async spendNotes(n,e,t,_){return await this._rpcSingle("mint","spend_notes",{min_amount:n,try_cancel_after:e,include_invite:t,extra_meta:_})}async validateNotes(n){return await this._rpcSingle("mint","validate_notes",{oob_notes:n})}async tryCancelSpendNotes(n){await this._rpcSingle("mint","try_cancel_spend_notes",{operation_id:n})}subscribeSpendNotes(n,e=()=>{},t=()=>{}){const _=this._rpcStream("mint","subscribe_spend_notes",{operation_id:n},(n=>e(n)),t);return()=>{_.then((n=>{n.cancel(),n.free()}))}}async awaitSpendOobRefund(n){return await this._rpcSingle("mint","await_spend_oob_refund",{operation_id:n})}async cleanup(){await(this._fed?.free()),this._fed=null,this.openPromise=null}isOpen(){return null!==this._fed}async getConfig(){return await this._rpcSingle("","get_config",{})}async getFederationId(){return await this._rpcSingle("","get_federation_id",{})}async getInviteCode(n){return await this._rpcSingle("","get_invite_code",{peer:n})}async listOperations(){return await this._rpcSingle("","list_operations",{})}async hasPendingRecoveries(){return await this._rpcSingle("","has_pending_recoveries",{})}async waitForAllRecoveries(){await this._rpcSingle("","wait_for_all_recoveries",{})}subscribeBalance(n=()=>{},e=()=>{}){const t=this._rpcStream("","subscribe_balance_changes",{},(e=>n(parseInt(e))),e);return()=>{t.then((n=>{n.cancel(),n.free()}))}}subscribeToRecoveryProgress(n=()=>{},e=()=>{}){const t=this._rpcStream("","subscribe_to_recovery_progress",{},n,e);return()=>{t.then((n=>{n.cancel(),n.free()}))}}async createBolt11Invoice(n,e,t=null,_={},r=null){return await this._rpcSingle("ln","create_bolt11_invoice",{amount:n,description:e,expiry_time:t,extra_meta:_,gateway:r})}async payBolt11Invoice(n,e=null,t={}){return await this._rpcSingle("ln","pay_bolt11_invoice",{maybe_gateway:e,invoice:n,extra_meta:t})}subscribeLnPay(n,e=()=>{},t=()=>{}){const _=this._rpcStream("ln","subscribe_ln_pay",{operation_id:n},e,t);return()=>{_.then((n=>{n.cancel(),n.free()}))}}subscribeLnReceive(n,e=()=>{},t=()=>{}){const _=this._rpcStream("ln","subscribe_ln_receive",{operation_id:n},e,t);return()=>{_.then((n=>{n.cancel(),n.free()}))}}async getGateway(n=null,e=!1){return await this._rpcSingle("ln","get_gateway",{gateway_id:n,force_internal:e})}async listGateways(){return await this._rpcSingle("ln","list_gateways",{})}async updateGatewayCache(){await this._rpcSingle("ln","update_gateway_cache",{})}}export{P as FedimintWallet};
1
+ class e{constructor(){this.requestCounter=0,this.requestCallbacks=new Map,this.initPromise=null,this.worker=new Worker(new URL("./worker.js",import.meta.url),{type:"module"}),this.worker.onmessage=this.handleWorkerMessage.bind(this),this.worker.onerror=this.handleWorkerError.bind(this)}initialize(){return this.initPromise||(this.initPromise=this.sendSingleMessage("init")),this.initPromise}handleWorkerError(e){console.error("Worker error",JSON.stringify(e))}handleWorkerMessage(e){const{type:t,requestId:i,...n}=e.data,s=this.requestCallbacks.get(i);s&&s(n)}sendSingleMessage(e,t){return new Promise(((i,n)=>{const s=++this.requestCounter;this.requestCallbacks.set(s,(e=>{this.requestCallbacks.delete(s),e.data?i(e.data):e.error&&n(e.error)})),this.worker.postMessage({type:e,payload:t,requestId:s})}))}rpcStream(e,t,i,n,s,r=()=>{}){const a=++this.requestCounter;let c=()=>{},o=!1;const l=new Promise((e=>{c=()=>{o?e():setTimeout((()=>c()),0)}}));return this._rpcStreamInner(a,e,t,i,n,s,r,l).then((()=>{o=!0})),c}async _rpcStreamInner(e,t,i,n,s,r,a=()=>{},c){this.requestCallbacks.set(e,(t=>{void 0!==t.error?r(t.error):void 0!==t.data?s(t.data):void 0!==t.end&&(this.requestCallbacks.delete(e),a())})),this.worker.postMessage({type:"rpc",payload:{module:t,method:i,body:n},requestId:e}),c.then((()=>{this.worker?.postMessage({type:"unsubscribe",requestId:e}),this.requestCallbacks.delete(e)}))}rpcSingle(e,t,i){return new Promise(((n,s)=>{this.rpcStream(e,t,i,n,s)}))}cleanup(){this.worker.terminate(),this.initPromise=null,this.requestCallbacks.clear()}}class t{constructor(e){this.client=e}async redeemEcash(e){await this.client.rpcSingle("mint","reissue_external_notes",{oob_notes:e,extra_meta:null})}async reissueExternalNotes(e,t){return await this.client.rpcSingle("mint","reissue_external_notes",{oob_notes:e,extra_meta:t})}subscribeReissueExternalNotes(e,t=()=>{},i=()=>{}){return this.client.rpcStream("mint","subscribe_reissue_external_notes",{operation_id:e},t,i)}async spendNotes(e,t,i,n){return await this.client.rpcSingle("mint","spend_notes",{min_amount:e,try_cancel_after:t,include_invite:i,extra_meta:n})}async validateNotes(e){return await this.client.rpcSingle("mint","validate_notes",{oob_notes:e})}async tryCancelSpendNotes(e){await this.client.rpcSingle("mint","try_cancel_spend_notes",{operation_id:e})}subscribeSpendNotes(e,t=()=>{},i=()=>{}){return this.client.rpcStream("mint","subscribe_spend_notes",{operation_id:e},(e=>t(e)),i)}async awaitSpendOobRefund(e){return await this.client.rpcSingle("mint","await_spend_oob_refund",{operation_id:e})}}class i{constructor(e){this.client=e}async getBalance(){return await this.client.rpcSingle("","get_balance",{})}subscribeBalance(e=()=>{},t=()=>{}){return this.client.rpcStream("","subscribe_balance_changes",{},(t=>e(parseInt(t))),t)}}class n{constructor(e){this.client=e}async createBolt11InvoiceWithGateway(e,t,i=null,n={},s){return await this.client.rpcSingle("ln","create_bolt11_invoice",{amount:e,description:t,expiry_time:i,extra_meta:n,gateway:s})}async createBolt11Invoice(e,t,i=null,n={}){await this.updateGatewayCache();const s=await this._getDefaultGatewayInfo();return await this.client.rpcSingle("ln","create_bolt11_invoice",{amount:e,description:t,expiry_time:i,extra_meta:n,gateway:s.info})}async payBolt11InvoiceWithGateway(e,t,i={}){return await this.client.rpcSingle("ln","pay_bolt11_invoice",{maybe_gateway:t,invoice:e,extra_meta:i})}async _getDefaultGatewayInfo(){return(await this.listGateways())[0]}async payBolt11Invoice(e,t={}){await this.updateGatewayCache();const i=await this._getDefaultGatewayInfo();return await this.client.rpcSingle("ln","pay_bolt11_invoice",{maybe_gateway:i.info,invoice:e,extra_meta:t})}subscribeLnPay(e,t=()=>{},i=()=>{}){return this.client.rpcStream("ln","subscribe_ln_pay",{operation_id:e},t,i)}subscribeLnReceive(e,t=()=>{},i=()=>{}){return this.client.rpcStream("ln","subscribe_ln_receive",{operation_id:e},t,i)}async getGateway(e=null,t=!1){return await this.client.rpcSingle("ln","get_gateway",{gateway_id:e,force_internal:t})}async listGateways(){return await this.client.rpcSingle("ln","list_gateways",{})}async updateGatewayCache(){return await this.client.rpcSingle("ln","update_gateway_cache",{})}}class s{constructor(e){this.client=e}async hasPendingRecoveries(){return await this.client.rpcSingle("","has_pending_recoveries",{})}async waitForAllRecoveries(){await this.client.rpcSingle("","wait_for_all_recoveries",{})}subscribeToRecoveryProgress(e,t){return this.client.rpcStream("","subscribe_to_recovery_progress",{},e,t)}}class r{constructor(e){this.client=e}async getConfig(){return await this.client.rpcSingle("","get_config",{})}async getFederationId(){return await this.client.rpcSingle("","get_federation_id",{})}async getInviteCode(e){return await this.client.rpcSingle("","get_invite_code",{peer:e})}async joinFederation(e,t){if(!(await this.client.sendSingleMessage("join",{inviteCode:e,clientName:t})).success)throw new Error("Failed to join federation")}async listOperations(){return await this.client.rpcSingle("","list_operations",{})}}const a="fm-default";class c{constructor(a=!1){this.openPromise=null,this.resolveOpen=()=>{},this._isOpen=!1,this.openPromise=new Promise((e=>{this.resolveOpen=e})),this.client=new e,this.mint=new t(this.client),this.lightning=new n(this.client),this.balance=new i(this.client),this.federation=new r(this.client),this.recovery=new s(this.client),a||this.initialize()}async initialize(){await this.client.initialize()}async waitForOpen(){return this._isOpen?Promise.resolve():this.openPromise}async open(e=a){if(await this.client.initialize(),this._isOpen)throw new Error("The FedimintWallet is already open.");const{success:t}=await this.client.sendSingleMessage("open",{clientName:e});return t&&(this._isOpen=!!t,this.resolveOpen()),t}async joinFederation(e,t=a){if(await this.client.initialize(),this._isOpen)throw new Error("The FedimintWallet is already open. You can only call `joinFederation` on closed clients.");(await this.client.sendSingleMessage("join",{inviteCode:e,clientName:t})).success&&(this._isOpen=!0,this.resolveOpen())}async cleanup(){this.openPromise=null,this._isOpen=!1,this.client.cleanup()}isOpen(){return this._isOpen}}export{c as FedimintWallet};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../wasm/fedimint_client_wasm.js","../src/FedimintWallet.ts"],"sourcesContent":["let wasm;\n\nconst heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nfunction getObject(idx) { return heap[idx]; }\n\nlet heap_next = heap.length;\n\nfunction dropObject(idx) {\n if (idx < 132) return;\n heap[idx] = heap_next;\n heap_next = idx;\n}\n\nfunction takeObject(idx) {\n const ret = getObject(idx);\n dropObject(idx);\n return ret;\n}\n\nfunction addHeapObject(obj) {\n if (heap_next === heap.length) heap.push(heap.length + 1);\n const idx = heap_next;\n heap_next = heap[idx];\n\n heap[idx] = obj;\n return idx;\n}\n\nconst cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );\n\nif (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };\n\nlet cachedUint8Memory0 = null;\n\nfunction getUint8Memory0() {\n if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {\n cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);\n }\n return cachedUint8Memory0;\n}\n\nfunction getStringFromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );\n\nconst encodeString = (typeof cachedTextEncoder.encodeInto === 'function'\n ? function (arg, view) {\n return cachedTextEncoder.encodeInto(arg, view);\n}\n : function (arg, view) {\n const buf = cachedTextEncoder.encode(arg);\n view.set(buf);\n return {\n read: arg.length,\n written: buf.length\n };\n});\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n if (realloc === undefined) {\n const buf = cachedTextEncoder.encode(arg);\n const ptr = malloc(buf.length, 1) >>> 0;\n getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);\n WASM_VECTOR_LEN = buf.length;\n return ptr;\n }\n\n let len = arg.length;\n let ptr = malloc(len, 1) >>> 0;\n\n const mem = getUint8Memory0();\n\n let offset = 0;\n\n for (; offset < len; offset++) {\n const code = arg.charCodeAt(offset);\n if (code > 0x7F) break;\n mem[ptr + offset] = code;\n }\n\n if (offset !== len) {\n if (offset !== 0) {\n arg = arg.slice(offset);\n }\n ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n const view = getUint8Memory0().subarray(ptr + offset, ptr + len);\n const ret = encodeString(arg, view);\n\n offset += ret.written;\n ptr = realloc(ptr, len, offset, 1) >>> 0;\n }\n\n WASM_VECTOR_LEN = offset;\n return ptr;\n}\n\nfunction isLikeNone(x) {\n return x === undefined || x === null;\n}\n\nlet cachedInt32Memory0 = null;\n\nfunction getInt32Memory0() {\n if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {\n cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);\n }\n return cachedInt32Memory0;\n}\n\nfunction debugString(val) {\n // primitive types\n const type = typeof val;\n if (type == 'number' || type == 'boolean' || val == null) {\n return `${val}`;\n }\n if (type == 'string') {\n return `\"${val}\"`;\n }\n if (type == 'symbol') {\n const description = val.description;\n if (description == null) {\n return 'Symbol';\n } else {\n return `Symbol(${description})`;\n }\n }\n if (type == 'function') {\n const name = val.name;\n if (typeof name == 'string' && name.length > 0) {\n return `Function(${name})`;\n } else {\n return 'Function';\n }\n }\n // objects\n if (Array.isArray(val)) {\n const length = val.length;\n let debug = '[';\n if (length > 0) {\n debug += debugString(val[0]);\n }\n for(let i = 1; i < length; i++) {\n debug += ', ' + debugString(val[i]);\n }\n debug += ']';\n return debug;\n }\n // Test for built-in\n const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n let className;\n if (builtInMatches.length > 1) {\n className = builtInMatches[1];\n } else {\n // Failed to match the standard '[object ClassName]'\n return toString.call(val);\n }\n if (className == 'Object') {\n // we're a user defined class or Object\n // JSON.stringify avoids problems with cycles, and is generally much\n // easier than looping through ownProperties of `val`.\n try {\n return 'Object(' + JSON.stringify(val) + ')';\n } catch (_) {\n return 'Object';\n }\n }\n // errors\n if (val instanceof Error) {\n return `${val.name}: ${val.message}\\n${val.stack}`;\n }\n // TODO we could test for more things here, like `Set`s and `Map`s.\n return className;\n}\n\nconst CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(state => {\n wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b)\n});\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n const state = { a: arg0, b: arg1, cnt: 1, dtor };\n const real = (...args) => {\n // First up with a closure we increment the internal reference\n // count. This ensures that the Rust closure environment won't\n // be deallocated while we're invoking it.\n state.cnt++;\n const a = state.a;\n state.a = 0;\n try {\n return f(a, state.b, ...args);\n } finally {\n if (--state.cnt === 0) {\n wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);\n CLOSURE_DTORS.unregister(state);\n } else {\n state.a = a;\n }\n }\n };\n real.original = state;\n CLOSURE_DTORS.register(real, state, state);\n return real;\n}\nfunction __wbg_adapter_32(arg0, arg1, arg2) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h8697e16cd1c64495(retptr, arg0, arg1, addHeapObject(arg2));\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction __wbg_adapter_35(arg0, arg1, arg2) {\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h31a94cc9a05d5ca0(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wbg_adapter_42(arg0, arg1) {\n wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4d11ec113460b95d(arg0, arg1);\n}\n\nfunction __wbg_adapter_45(arg0, arg1, arg2) {\n try {\n const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he7056307c6986185(retptr, arg0, arg1, addHeapObject(arg2));\n var r0 = getInt32Memory0()[retptr / 4 + 0];\n var r1 = getInt32Memory0()[retptr / 4 + 1];\n if (r1) {\n throw takeObject(r0);\n }\n } finally {\n wasm.__wbindgen_add_to_stack_pointer(16);\n }\n}\n\nfunction __wbg_adapter_48(arg0, arg1) {\n wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5b16159cdfa166b0(arg0, arg1);\n}\n\nfunction __wbg_adapter_51(arg0, arg1, arg2) {\n wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hebf1bd391d12b3cb(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wbg_adapter_54(arg0, arg1) {\n wasm._dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h09ee3e3abd173580(arg0, arg1);\n}\n\nlet stack_pointer = 128;\n\nfunction addBorrowedObject(obj) {\n if (stack_pointer == 1) throw new Error('out of js stack');\n heap[--stack_pointer] = obj;\n return stack_pointer;\n}\n\nfunction handleError(f, args) {\n try {\n return f.apply(this, args);\n } catch (e) {\n wasm.__wbindgen_exn_store(addHeapObject(e));\n }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n ptr = ptr >>> 0;\n return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);\n}\nfunction __wbg_adapter_261(arg0, arg1, arg2, arg3) {\n wasm.wasm_bindgen__convert__closures__invoke2_mut__h8bdaa9faeb7d5075(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\n\nconst RpcHandleFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_rpchandle_free(ptr >>> 0));\n/**\n*/\nexport class RpcHandle {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(RpcHandle.prototype);\n obj.__wbg_ptr = ptr;\n RpcHandleFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n RpcHandleFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_rpchandle_free(ptr);\n }\n /**\n */\n cancel() {\n wasm.rpchandle_cancel(this.__wbg_ptr);\n }\n}\n\nconst WasmClientFinalization = (typeof FinalizationRegistry === 'undefined')\n ? { register: () => {}, unregister: () => {} }\n : new FinalizationRegistry(ptr => wasm.__wbg_wasmclient_free(ptr >>> 0));\n/**\n*/\nexport class WasmClient {\n\n static __wrap(ptr) {\n ptr = ptr >>> 0;\n const obj = Object.create(WasmClient.prototype);\n obj.__wbg_ptr = ptr;\n WasmClientFinalization.register(obj, obj.__wbg_ptr, obj);\n return obj;\n }\n\n __destroy_into_raw() {\n const ptr = this.__wbg_ptr;\n this.__wbg_ptr = 0;\n WasmClientFinalization.unregister(this);\n return ptr;\n }\n\n free() {\n const ptr = this.__destroy_into_raw();\n wasm.__wbg_wasmclient_free(ptr);\n }\n /**\n * Open fedimint client with already joined federation.\n *\n * After you have joined a federation, you can reopen the fedimint client\n * with same client_name. Opening client with same name at same time is\n * not supported. You can close the current client by calling\n * `client.free()`. NOTE: The client will remain active until all the\n * running rpc calls have finished.\n * @param {string} client_name\n * @returns {Promise<WasmClient | undefined>}\n */\n static open(client_name) {\n const ptr0 = passStringToWasm0(client_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ret = wasm.wasmclient_open(ptr0, len0);\n return takeObject(ret);\n }\n /**\n * Open a fedimint client by join a federation.\n * @param {string} client_name\n * @param {string} invite_code\n * @returns {Promise<WasmClient>}\n */\n static join_federation(client_name, invite_code) {\n const ptr0 = passStringToWasm0(client_name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(invite_code, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ret = wasm.wasmclient_join_federation(ptr0, len0, ptr1, len1);\n return takeObject(ret);\n }\n /**\n * Call a fedimint client rpc the responses are returned using `cb`\n * callback. Each rpc call *can* return multiple responses by calling\n * `cb` multiple times. The returned RpcHandle can be used to cancel the\n * operation.\n * @param {string} module\n * @param {string} method\n * @param {string} payload\n * @param {Function} cb\n * @returns {RpcHandle}\n */\n rpc(module, method, payload, cb) {\n try {\n const ptr0 = passStringToWasm0(module, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len0 = WASM_VECTOR_LEN;\n const ptr1 = passStringToWasm0(method, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n const ptr2 = passStringToWasm0(payload, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len2 = WASM_VECTOR_LEN;\n const ret = wasm.wasmclient_rpc(this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, addBorrowedObject(cb));\n return RpcHandle.__wrap(ret);\n } finally {\n heap[stack_pointer++] = undefined;\n }\n }\n}\n\nasync function __wbg_load(module, imports) {\n if (typeof Response === 'function' && module instanceof Response) {\n if (typeof WebAssembly.instantiateStreaming === 'function') {\n try {\n return await WebAssembly.instantiateStreaming(module, imports);\n\n } catch (e) {\n if (module.headers.get('Content-Type') != 'application/wasm') {\n console.warn(\"`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n\", e);\n\n } else {\n throw e;\n }\n }\n }\n\n const bytes = await module.arrayBuffer();\n return await WebAssembly.instantiate(bytes, imports);\n\n } else {\n const instance = await WebAssembly.instantiate(module, imports);\n\n if (instance instanceof WebAssembly.Instance) {\n return { instance, module };\n\n } else {\n return instance;\n }\n }\n}\n\nfunction __wbg_get_imports() {\n const imports = {};\n imports.wbg = {};\n imports.wbg.__wbg_wasmclient_new = function(arg0) {\n const ret = WasmClient.__wrap(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_object_drop_ref = function(arg0) {\n takeObject(arg0);\n };\n imports.wbg.__wbindgen_object_clone_ref = function(arg0) {\n const ret = getObject(arg0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_string_new = function(arg0, arg1) {\n const ret = getStringFromWasm0(arg0, arg1);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_cb_drop = function(arg0) {\n const obj = takeObject(arg0).original;\n if (obj.cnt-- == 1) {\n obj.a = 0;\n return true;\n }\n const ret = false;\n return ret;\n };\n imports.wbg.__wbindgen_error_new = function(arg0, arg1) {\n const ret = new Error(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_string_get = function(arg0, arg1) {\n const obj = getObject(arg1);\n const ret = typeof(obj) === 'string' ? obj : undefined;\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len1;\n getInt32Memory0()[arg0 / 4 + 0] = ptr1;\n };\n imports.wbg.__wbg_fetch_25e3a297f7b04639 = function(arg0) {\n const ret = fetch(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_string = function(arg0) {\n const ret = typeof(getObject(arg0)) === 'string';\n return ret;\n };\n imports.wbg.__wbindgen_is_falsy = function(arg0) {\n const ret = !getObject(arg0);\n return ret;\n };\n imports.wbg.__wbg_new_abda76e883ba8a5f = function() {\n const ret = new Error();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {\n const ret = getObject(arg1).stack;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len1;\n getInt32Memory0()[arg0 / 4 + 0] = ptr1;\n };\n imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {\n let deferred0_0;\n let deferred0_1;\n try {\n deferred0_0 = arg0;\n deferred0_1 = arg1;\n console.error(getStringFromWasm0(arg0, arg1));\n } finally {\n wasm.__wbindgen_free(deferred0_0, deferred0_1, 1);\n }\n };\n imports.wbg.__wbg_fetch_693453ca3f88c055 = function(arg0, arg1) {\n const ret = getObject(arg0).fetch(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_number_new = function(arg0) {\n const ret = arg0;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_instanceof_IdbFactory_32ca5b61b481d0d4 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof IDBFactory;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_open_65e0826fa9c7929c = function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = getObject(arg0).open(getStringFromWasm0(arg1, arg2), arg3 >>> 0);\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_open_7cc5c5a15ff86a65 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).open(getStringFromWasm0(arg1, arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_key_f5b181c13a2893c4 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).key;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_advance_4a9fc46f41566dd7 = function() { return handleError(function (arg0, arg1) {\n getObject(arg0).advance(arg1 >>> 0);\n }, arguments) };\n imports.wbg.__wbg_continue_ff6b09291a37ea4f = function() { return handleError(function (arg0) {\n getObject(arg0).continue();\n }, arguments) };\n imports.wbg.__wbg_target_52ddf6955f636bf5 = function(arg0) {\n const ret = getObject(arg0).target;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_objectStoreNames_71c3096b04c76bcd = function(arg0) {\n const ret = getObject(arg0).objectStoreNames;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_createObjectStore_45c05e7be9907fde = function() { return handleError(function (arg0, arg1, arg2, arg3) {\n const ret = getObject(arg0).createObjectStore(getStringFromWasm0(arg1, arg2), getObject(arg3));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_deleteObjectStore_517effefcf018434 = function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).deleteObjectStore(getStringFromWasm0(arg1, arg2));\n }, arguments) };\n imports.wbg.__wbg_transaction_632c349fd48458fb = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).transaction(getObject(arg1), takeObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_new_7a20246daa6eec7e = function() { return handleError(function () {\n const ret = new Headers();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_append_aa3f462f9e2b5ff2 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n }, arguments) };\n imports.wbg.__wbg_value_818a84b71c8d6a92 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).value;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_newwithstrandinit_f581dff0d19a8b03 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_indexNames_cd26d0c4a3e2e6d3 = function(arg0) {\n const ret = getObject(arg0).indexNames;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_createIndex_e1a9dfc378a45abb = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n const ret = getObject(arg0).createIndex(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_delete_e8e3bfaf1ea215be = function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).delete(getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_deleteIndex_fdc764ebf52d4c6e = function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).deleteIndex(getStringFromWasm0(arg1, arg2));\n }, arguments) };\n imports.wbg.__wbg_openCursor_218846b7f56f5d54 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).openCursor();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_openCursor_31878cfe72aac75c = function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).openCursor(getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_openCursor_028e15e1e8bc1d13 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).openCursor(getObject(arg1), takeObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_put_23b163c3aeb63c96 = function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).put(getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_put_f50a8dd6e4a8a13a = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).put(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_setonupgradeneeded_73793bc200a4f7b8 = function(arg0, arg1) {\n getObject(arg0).onupgradeneeded = getObject(arg1);\n };\n imports.wbg.__wbg_result_915d75a0bb0397a1 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).result;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_error_a093a4b69c2260a3 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).error;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_transaction_fe8e1f87ae7ea4cc = function(arg0) {\n const ret = getObject(arg0).transaction;\n return isLikeNone(ret) ? 0 : addHeapObject(ret);\n };\n imports.wbg.__wbg_setonsuccess_a04d5d5a703ed886 = function(arg0, arg1) {\n getObject(arg0).onsuccess = getObject(arg1);\n };\n imports.wbg.__wbg_setonerror_80c9bac4e4864adf = function(arg0, arg1) {\n getObject(arg0).onerror = getObject(arg1);\n };\n imports.wbg.__wbg_setonabort_568145f0fa09b9be = function(arg0, arg1) {\n getObject(arg0).onabort = getObject(arg1);\n };\n imports.wbg.__wbg_setoncomplete_e9993a45b7bfaec4 = function(arg0, arg1) {\n getObject(arg0).oncomplete = getObject(arg1);\n };\n imports.wbg.__wbg_setonerror_d17408c3482b10eb = function(arg0, arg1) {\n getObject(arg0).onerror = getObject(arg1);\n };\n imports.wbg.__wbg_abort_7691b818613905b3 = function() { return handleError(function (arg0) {\n getObject(arg0).abort();\n }, arguments) };\n imports.wbg.__wbg_commit_07f92304c2c4ba17 = function() { return handleError(function (arg0) {\n getObject(arg0).commit();\n }, arguments) };\n imports.wbg.__wbg_objectStore_b0e52dee7e737df7 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).objectStore(getStringFromWasm0(arg1, arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_instanceof_Response_4c3b1446206114d1 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Response;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_url_83a6a4f65f7a2b38 = function(arg0, arg1) {\n const ret = getObject(arg1).url;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len1;\n getInt32Memory0()[arg0 / 4 + 0] = ptr1;\n };\n imports.wbg.__wbg_status_d6d47ad2837621eb = function(arg0) {\n const ret = getObject(arg0).status;\n return ret;\n };\n imports.wbg.__wbg_headers_24def508a7518df9 = function(arg0) {\n const ret = getObject(arg0).headers;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_arrayBuffer_5b2688e3dd873fed = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).arrayBuffer();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_text_668782292b0bc561 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).text();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_data_ba3ea616b5392abf = function(arg0) {\n const ret = getObject(arg0).data;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_length_acb2c4bcbfef2f1a = function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n };\n imports.wbg.__wbg_contains_f2be25be0242ccea = function(arg0, arg1, arg2) {\n const ret = getObject(arg0).contains(getStringFromWasm0(arg1, arg2));\n return ret;\n };\n imports.wbg.__wbg_get_f31a9f341421cffd = function(arg0, arg1, arg2) {\n const ret = getObject(arg1)[arg2 >>> 0];\n var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n var len1 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len1;\n getInt32Memory0()[arg0 / 4 + 0] = ptr1;\n };\n imports.wbg.__wbg_addEventListener_9bf60ea8a362e5e4 = function() { return handleError(function (arg0, arg1, arg2, arg3) {\n getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));\n }, arguments) };\n imports.wbg.__wbg_addEventListener_374cbfd2bbc19ccf = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {\n getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4));\n }, arguments) };\n imports.wbg.__wbg_dispatchEvent_40c3472e9e4dcf5e = function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).dispatchEvent(getObject(arg1));\n return ret;\n }, arguments) };\n imports.wbg.__wbg_removeEventListener_66ee1536a0b32c11 = function() { return handleError(function (arg0, arg1, arg2, arg3) {\n getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));\n }, arguments) };\n imports.wbg.__wbg_signal_3c701f5f40a5f08d = function(arg0) {\n const ret = getObject(arg0).signal;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_0ae46f44b7485bb2 = function() { return handleError(function () {\n const ret = new AbortController();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_abort_2c4fb490d878d2b2 = function(arg0) {\n getObject(arg0).abort();\n };\n imports.wbg.__wbg_wasClean_1efd9561c5671b45 = function(arg0) {\n const ret = getObject(arg0).wasClean;\n return ret;\n };\n imports.wbg.__wbg_code_72a380a2ce61a242 = function(arg0) {\n const ret = getObject(arg0).code;\n return ret;\n };\n imports.wbg.__wbg_reason_ad453a16ee68a1b9 = function(arg0, arg1) {\n const ret = getObject(arg1).reason;\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len1;\n getInt32Memory0()[arg0 / 4 + 0] = ptr1;\n };\n imports.wbg.__wbg_newwitheventinitdict_744eb6eb61245b7c = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = new CloseEvent(getStringFromWasm0(arg0, arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_readyState_c8f9a5deaec3bb41 = function(arg0) {\n const ret = getObject(arg0).readyState;\n return ret;\n };\n imports.wbg.__wbg_setbinaryType_68fc3c6feda7310c = function(arg0, arg1) {\n getObject(arg0).binaryType = takeObject(arg1);\n };\n imports.wbg.__wbg_new_2575c598b4006174 = function() { return handleError(function (arg0, arg1) {\n const ret = new WebSocket(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_close_328b8b803521cbdd = function() { return handleError(function (arg0) {\n getObject(arg0).close();\n }, arguments) };\n imports.wbg.__wbg_send_5bf3f962e9ffe0f6 = function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).send(getStringFromWasm0(arg1, arg2));\n }, arguments) };\n imports.wbg.__wbg_send_2ba7d32fcb03b9a4 = function() { return handleError(function (arg0, arg1, arg2) {\n getObject(arg0).send(getArrayU8FromWasm0(arg1, arg2));\n }, arguments) };\n imports.wbg.__wbg_clearTimeout_541ac0980ffcef74 = function(arg0) {\n const ret = clearTimeout(takeObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_setTimeout_7d81d052875b0f4f = function() { return handleError(function (arg0, arg1) {\n const ret = setTimeout(getObject(arg0), arg1);\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6 = function(arg0) {\n const ret = getObject(arg0).queueMicrotask;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_function = function(arg0) {\n const ret = typeof(getObject(arg0)) === 'function';\n return ret;\n };\n imports.wbg.__wbg_queueMicrotask_481971b0d87f3dd4 = function(arg0) {\n queueMicrotask(getObject(arg0));\n };\n imports.wbg.__wbg_clearTimeout_76877dbc010e786d = function(arg0) {\n const ret = clearTimeout(takeObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_setTimeout_75cb9b6991a4031d = function() { return handleError(function (arg0, arg1) {\n const ret = setTimeout(getObject(arg0), arg1);\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) {\n const ret = getObject(arg0).crypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_is_object = function(arg0) {\n const val = getObject(arg0);\n const ret = typeof(val) === 'object' && val !== null;\n return ret;\n };\n imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) {\n const ret = getObject(arg0).process;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) {\n const ret = getObject(arg0).versions;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) {\n const ret = getObject(arg0).node;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () {\n const ret = module.require;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) {\n const ret = getObject(arg0).msCrypto;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) {\n getObject(arg0).randomFillSync(takeObject(arg1));\n }, arguments) };\n imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) {\n getObject(arg0).getRandomValues(getObject(arg1));\n }, arguments) };\n imports.wbg.__wbg_new_16b304a2cfa7ff4a = function() {\n const ret = new Array();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newnoargs_e258087cd0daa0ea = function(arg0, arg1) {\n const ret = new Function(getStringFromWasm0(arg0, arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_next_40fc327bfc8770e6 = function(arg0) {\n const ret = getObject(arg0).next;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_next_196c84450b364254 = function() { return handleError(function (arg0) {\n const ret = getObject(arg0).next();\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_done_298b57d23c0fc80c = function(arg0) {\n const ret = getObject(arg0).done;\n return ret;\n };\n imports.wbg.__wbg_value_d93c65011f51a456 = function(arg0) {\n const ret = getObject(arg0).value;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_iterator_2cee6dadfd956dfa = function() {\n const ret = Symbol.iterator;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_get_e3c254076557e348 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.get(getObject(arg0), getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_call_27c0f87801dedf93 = function() { return handleError(function (arg0, arg1) {\n const ret = getObject(arg0).call(getObject(arg1));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_new_72fb9a18b5ae2624 = function() {\n const ret = new Object();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_self_ce0dbfc45cf2f5be = function() { return handleError(function () {\n const ret = self.self;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_window_c6fb939a7f436783 = function() { return handleError(function () {\n const ret = window.window;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_globalThis_d1e6af4856ba331b = function() { return handleError(function () {\n const ret = globalThis.globalThis;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_global_207b558942527489 = function() { return handleError(function () {\n const ret = global.global;\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbindgen_is_undefined = function(arg0) {\n const ret = getObject(arg0) === undefined;\n return ret;\n };\n imports.wbg.__wbg_push_a5b05aedc7234f9f = function(arg0, arg1) {\n const ret = getObject(arg0).push(getObject(arg1));\n return ret;\n };\n imports.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof ArrayBuffer;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Error_e20bb56fd5591a93 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Error;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_message_5bf28016c2b49cfb = function(arg0) {\n const ret = getObject(arg0).message;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_name_e7429f0dda6079e2 = function(arg0) {\n const ret = getObject(arg0).name;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_toString_ffe4c9ea3b3532e9 = function(arg0) {\n const ret = getObject(arg0).toString();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_call_b3ca7c6051f9bec1 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbg_getTime_2bc4375165f02d15 = function(arg0) {\n const ret = getObject(arg0).getTime();\n return ret;\n };\n imports.wbg.__wbg_new0_7d84e5b2cd9fdc73 = function() {\n const ret = new Date();\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_81740750da40724f = function(arg0, arg1) {\n try {\n var state0 = {a: arg0, b: arg1};\n var cb0 = (arg0, arg1) => {\n const a = state0.a;\n state0.a = 0;\n try {\n return __wbg_adapter_261(a, state0.b, arg0, arg1);\n } finally {\n state0.a = a;\n }\n };\n const ret = new Promise(cb0);\n return addHeapObject(ret);\n } finally {\n state0.a = state0.b = 0;\n }\n };\n imports.wbg.__wbg_resolve_b0083a7967828ec8 = function(arg0) {\n const ret = Promise.resolve(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_0c86a60e8fcfe9f6 = function(arg0, arg1) {\n const ret = getObject(arg0).then(getObject(arg1));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_then_a73caa9a87991566 = function(arg0, arg1, arg2) {\n const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_buffer_12d079cc21e14bdb = function(arg0) {\n const ret = getObject(arg0).buffer;\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb = function(arg0, arg1, arg2) {\n const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_new_63b92bc8671ed464 = function(arg0) {\n const ret = new Uint8Array(getObject(arg0));\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_set_a47bac70306a19a7 = function(arg0, arg1, arg2) {\n getObject(arg0).set(getObject(arg1), arg2 >>> 0);\n };\n imports.wbg.__wbg_length_c20a40f15020d68a = function(arg0) {\n const ret = getObject(arg0).length;\n return ret;\n };\n imports.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6 = function(arg0) {\n let result;\n try {\n result = getObject(arg0) instanceof Uint8Array;\n } catch (_) {\n result = false;\n }\n const ret = result;\n return ret;\n };\n imports.wbg.__wbg_newwithlength_e9b4878cebadb3d3 = function(arg0) {\n const ret = new Uint8Array(arg0 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_subarray_a1f73cd4b5b42fe1 = function(arg0, arg1, arg2) {\n const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n return addHeapObject(ret);\n };\n imports.wbg.__wbg_has_0af94d20077affa2 = function() { return handleError(function (arg0, arg1) {\n const ret = Reflect.has(getObject(arg0), getObject(arg1));\n return ret;\n }, arguments) };\n imports.wbg.__wbg_set_1f9b04f170055d33 = function() { return handleError(function (arg0, arg1, arg2) {\n const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));\n return ret;\n }, arguments) };\n imports.wbg.__wbg_stringify_8887fe74e1c50d81 = function() { return handleError(function (arg0) {\n const ret = JSON.stringify(getObject(arg0));\n return addHeapObject(ret);\n }, arguments) };\n imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {\n const ret = debugString(getObject(arg1));\n const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);\n const len1 = WASM_VECTOR_LEN;\n getInt32Memory0()[arg0 / 4 + 1] = len1;\n getInt32Memory0()[arg0 / 4 + 0] = ptr1;\n };\n imports.wbg.__wbindgen_throw = function(arg0, arg1) {\n throw new Error(getStringFromWasm0(arg0, arg1));\n };\n imports.wbg.__wbindgen_memory = function() {\n const ret = wasm.memory;\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper1470 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 485, __wbg_adapter_32);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper11865 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 5994, __wbg_adapter_35);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper11867 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 5994, __wbg_adapter_35);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper11869 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 5994, __wbg_adapter_35);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper11871 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 5994, __wbg_adapter_42);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper11927 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 6019, __wbg_adapter_45);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper13201 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 6419, __wbg_adapter_48);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper13916 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 6604, __wbg_adapter_51);\n return addHeapObject(ret);\n };\n imports.wbg.__wbindgen_closure_wrapper13957 = function(arg0, arg1, arg2) {\n const ret = makeMutClosure(arg0, arg1, 6624, __wbg_adapter_54);\n return addHeapObject(ret);\n };\n\n return imports;\n}\n\nfunction __wbg_init_memory(imports, maybe_memory) {\n\n}\n\nfunction __wbg_finalize_init(instance, module) {\n wasm = instance.exports;\n __wbg_init.__wbindgen_wasm_module = module;\n cachedInt32Memory0 = null;\n cachedUint8Memory0 = null;\n\n\n return wasm;\n}\n\nfunction initSync(module) {\n if (wasm !== undefined) return wasm;\n\n const imports = __wbg_get_imports();\n\n __wbg_init_memory(imports);\n\n if (!(module instanceof WebAssembly.Module)) {\n module = new WebAssembly.Module(module);\n }\n\n const instance = new WebAssembly.Instance(module, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(input) {\n if (wasm !== undefined) return wasm;\n\n if (typeof input === 'undefined') {\n input = new URL('fedimint_client_wasm_bg.wasm', import.meta.url);\n }\n const imports = __wbg_get_imports();\n\n if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {\n input = fetch(input);\n }\n\n __wbg_init_memory(imports);\n\n const { instance, module } = await __wbg_load(await input, imports);\n\n return __wbg_finalize_init(instance, module);\n}\n\nexport { initSync }\nexport default __wbg_init;\n","import init, { RpcHandle, WasmClient } from '../wasm/fedimint_client_wasm.js'\nimport {\n JSONValue,\n JSONObject,\n LightningGateway,\n OutgoingLightningPayment,\n LnPayState,\n LnReceiveState,\n StreamResult,\n StreamError,\n CreateBolt11Response,\n ModuleKind,\n} from './types/wallet.js'\n\nconst DEFAULT_CLIENT_NAME = 'fm-default' as const\n\nexport class FedimintWallet {\n private _fed: WasmClient | null = null\n private initPromise: Promise<void> | null = null\n private openPromise: Promise<void> | null = null\n private resolveOpen: () => void = () => {}\n\n constructor(lazy: boolean = false) {\n if (lazy) return\n this.initialize()\n this.openPromise = new Promise((resolve) => {\n this.resolveOpen = resolve\n })\n }\n\n // Setup\n async initialize() {\n if (this.initPromise) return this.initPromise\n // this.worker = new Worker(new URL('./wasm.worker.ts', import.meta.url))\n this.initPromise = init().then(() => {\n console.trace('Fedimint Client Wasm Initialization complete')\n })\n return this.initPromise\n }\n\n async open(clientName: string = DEFAULT_CLIENT_NAME) {\n await this.initialize()\n const wasm = await WasmClient.open(clientName)\n\n if (wasm === undefined) return false\n this._fed = wasm\n this.resolveOpen()\n return true\n }\n\n async joinFederation(\n inviteCode: string,\n clientName: string = DEFAULT_CLIENT_NAME,\n ) {\n await this.initialize()\n this._fed = await WasmClient.join_federation(clientName, inviteCode)\n this.resolveOpen()\n }\n\n // RPC\n private async _rpcStream<\n Response extends JSONValue = JSONValue,\n Body extends JSONValue = JSONValue,\n >(\n module: ModuleKind,\n method: string,\n body: Body,\n onSuccess: (res: Response) => void,\n onError: (res: StreamError['error']) => void,\n ): Promise<RpcHandle> {\n await this.openPromise\n if (!this._fed) throw new Error('FedimintWallet is not open')\n const unsubscribe = await this._fed.rpc(\n module,\n method,\n JSON.stringify(body),\n (res: string) => {\n // TODO: Validate the response?\n const parsed = JSON.parse(res) as StreamResult<Response>\n if (parsed.error) {\n onError(parsed.error)\n } else {\n onSuccess(parsed.data)\n }\n },\n )\n return unsubscribe\n }\n\n private async _rpcSingle<Response extends JSONValue = JSONValue>(\n module: ModuleKind,\n method: string,\n body: JSONValue,\n ): Promise<Response> {\n return new Promise((resolve, reject) => {\n if (!this._fed) return reject('FedimintWallet is not open')\n this._fed.rpc(module, method, JSON.stringify(body), (res: string) => {\n // TODO: Validate the response?\n const parsed = JSON.parse(res) as StreamResult<Response>\n if (parsed.error) {\n reject(parsed.error)\n } else {\n resolve(parsed.data)\n }\n })\n })\n }\n\n async getBalance(): Promise<number> {\n return await this._rpcSingle('', 'get_balance', {})\n }\n\n // Mint module methods\n\n async redeemEcash(notes: string): Promise<void> {\n await this._rpcSingle('mint', 'reissue_external_notes', {\n oob_notes: notes, // \"out of band notes\"\n extra_meta: null,\n })\n }\n\n async reissueExternalNotes(\n oobNotes: string,\n extraMeta: JSONObject,\n ): Promise<string> {\n return await this._rpcSingle('mint', 'reissue_external_notes', {\n oob_notes: oobNotes,\n extra_meta: extraMeta,\n })\n }\n\n subscribeReissueExternalNotes(\n operationId: string,\n onSuccess: (state: JSONValue) => void = () => {},\n onError: (error: string) => void = () => {},\n ) {\n type ReissueExternalNotesState =\n | 'Created'\n | 'Issuing'\n | 'Done'\n | { Failed: { error: string } }\n\n const unsubscribe = this._rpcStream<ReissueExternalNotesState>(\n 'mint',\n 'subscribe_reissue_external_notes',\n { operation_id: operationId },\n (res) => onSuccess(res),\n onError,\n )\n\n return () => {\n unsubscribe.then((unsub) => {\n unsub.cancel()\n unsub.free()\n })\n }\n }\n\n async spendNotes(\n minAmount: number,\n tryCancelAfter: number,\n includeInvite: boolean,\n extraMeta: JSONValue,\n ): Promise<JSONValue> {\n return await this._rpcSingle('mint', 'spend_notes', {\n min_amount: minAmount,\n try_cancel_after: tryCancelAfter,\n include_invite: includeInvite,\n extra_meta: extraMeta,\n })\n }\n\n async validateNotes(oobNotes: string): Promise<number> {\n return await this._rpcSingle('mint', 'validate_notes', {\n oob_notes: oobNotes,\n })\n }\n\n async tryCancelSpendNotes(operationId: string): Promise<void> {\n await this._rpcSingle('mint', 'try_cancel_spend_notes', {\n operation_id: operationId,\n })\n }\n\n subscribeSpendNotes(\n operationId: string,\n onSuccess: (state: JSONValue) => void = () => {},\n onError: (error: string) => void = () => {},\n ) {\n const unsubscribe = this._rpcStream(\n 'mint',\n 'subscribe_spend_notes',\n { operation_id: operationId },\n (res) => onSuccess(res),\n onError,\n )\n\n return () => {\n unsubscribe.then((unsub) => {\n unsub.cancel()\n unsub.free()\n })\n }\n }\n\n async awaitSpendOobRefund(operationId: string): Promise<JSONValue> {\n return await this._rpcSingle('mint', 'await_spend_oob_refund', {\n operation_id: operationId,\n })\n }\n\n /**\n * This should ONLY be called when UNLOADING the wallet client.\n * After this call, the FedimintWallet instance should be discarded.\n */\n async cleanup() {\n await this._fed?.free()\n this._fed = null\n this.openPromise = null\n }\n\n isOpen() {\n return this._fed !== null\n }\n\n async getConfig(): Promise<JSONValue> {\n return await this._rpcSingle('', 'get_config', {})\n }\n\n async getFederationId(): Promise<string> {\n return await this._rpcSingle('', 'get_federation_id', {})\n }\n\n async getInviteCode(peer: number): Promise<string | null> {\n return await this._rpcSingle('', 'get_invite_code', { peer })\n }\n\n async listOperations(): Promise<JSONValue[]> {\n return await this._rpcSingle('', 'list_operations', {})\n }\n\n async hasPendingRecoveries(): Promise<boolean> {\n return await this._rpcSingle('', 'has_pending_recoveries', {})\n }\n\n async waitForAllRecoveries(): Promise<void> {\n await this._rpcSingle('', 'wait_for_all_recoveries', {})\n }\n\n /// STREAMING RPCs --------------------\n\n subscribeBalance(\n onSuccess: (balance: number) => void = () => {},\n onError: (error: string) => void = () => {},\n ) {\n const unsubscribe = this._rpcStream<string>(\n '',\n 'subscribe_balance_changes',\n {},\n (res) => onSuccess(parseInt(res)),\n onError,\n )\n\n return () => {\n unsubscribe.then((unsub) => {\n unsub.cancel()\n unsub.free()\n })\n }\n }\n\n subscribeToRecoveryProgress(\n onSuccess: (progress: {\n module_id: number\n progress: JSONValue\n }) => void = () => {},\n onError: (error: string) => void = () => {},\n ) {\n const unsubscribe = this._rpcStream<{\n module_id: number\n progress: JSONValue\n }>('', 'subscribe_to_recovery_progress', {}, onSuccess, onError)\n\n return () => {\n unsubscribe.then((unsub) => {\n unsub.cancel()\n unsub.free()\n })\n }\n }\n\n // Lightning Network module methods\n\n async createBolt11Invoice(\n amount: number,\n description: string,\n expiryTime: number | null = null,\n extraMeta: JSONObject = {},\n gateway: LightningGateway | null = null,\n ): Promise<CreateBolt11Response> {\n return await this._rpcSingle('ln', 'create_bolt11_invoice', {\n amount,\n description,\n expiry_time: expiryTime,\n extra_meta: extraMeta,\n gateway,\n })\n }\n\n async payBolt11Invoice(\n invoice: string,\n maybeGateway: LightningGateway | null = null,\n extraMeta: JSONObject = {},\n ): Promise<OutgoingLightningPayment> {\n return await this._rpcSingle('ln', 'pay_bolt11_invoice', {\n maybe_gateway: maybeGateway,\n invoice,\n extra_meta: extraMeta,\n })\n }\n\n subscribeLnPay(\n operationId: string,\n onSuccess: (state: LnPayState) => void = () => {},\n onError: (error: string) => void = () => {},\n ) {\n const unsubscribe = this._rpcStream(\n 'ln',\n 'subscribe_ln_pay',\n { operation_id: operationId },\n onSuccess,\n onError,\n )\n\n return () => {\n unsubscribe.then((unsub) => {\n unsub.cancel()\n unsub.free()\n })\n }\n }\n\n subscribeLnReceive(\n operationId: string,\n onSuccess: (state: LnReceiveState) => void = () => {},\n onError: (error: string) => void = () => {},\n ) {\n const unsubscribe = this._rpcStream(\n 'ln',\n 'subscribe_ln_receive',\n { operation_id: operationId },\n onSuccess,\n onError,\n )\n\n return () => {\n unsubscribe.then((unsub) => {\n unsub.cancel()\n unsub.free()\n })\n }\n }\n\n async getGateway(\n gatewayId: string | null = null,\n forceInternal: boolean = false,\n ): Promise<LightningGateway | null> {\n return await this._rpcSingle('ln', 'get_gateway', {\n gateway_id: gatewayId,\n force_internal: forceInternal,\n })\n }\n\n async listGateways(): Promise<LightningGateway[]> {\n return await this._rpcSingle('ln', 'list_gateways', {})\n }\n\n async updateGatewayCache(): Promise<void> {\n await this._rpcSingle('ln', 'update_gateway_cache', {})\n }\n}\n"],"names":["wasm","heap","Array","fill","undefined","getObject","idx","push","heap_next","length","takeObject","ret","dropObject","addHeapObject","obj","cachedTextDecoder","TextDecoder","ignoreBOM","fatal","decode","Error","cachedUint8Memory0","getUint8Memory0","byteLength","Uint8Array","memory","buffer","getStringFromWasm0","ptr","len","subarray","WASM_VECTOR_LEN","cachedTextEncoder","TextEncoder","encode","encodeString","encodeInto","arg","view","buf","set","read","written","passStringToWasm0","malloc","realloc","mem","offset","code","charCodeAt","slice","isLikeNone","x","cachedInt32Memory0","getInt32Memory0","Int32Array","debugString","val","type","description","name","isArray","debug","i","builtInMatches","exec","toString","call","className","JSON","stringify","_","message","stack","CLOSURE_DTORS","FinalizationRegistry","register","unregister","state","__wbindgen_export_2","get","dtor","a","b","makeMutClosure","arg0","arg1","f","cnt","real","args","original","__wbg_adapter_32","arg2","retptr","__wbindgen_add_to_stack_pointer","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h8697e16cd1c64495","r0","__wbg_adapter_35","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h31a94cc9a05d5ca0","__wbg_adapter_42","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h4d11ec113460b95d","__wbg_adapter_45","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__he7056307c6986185","__wbg_adapter_48","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h5b16159cdfa166b0","__wbg_adapter_51","_dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hebf1bd391d12b3cb","__wbg_adapter_54","_dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h09ee3e3abd173580","stack_pointer","handleError","apply","this","e","__wbindgen_exn_store","RpcHandleFinalization","__wbg_rpchandle_free","RpcHandle","__wrap","Object","create","prototype","__wbg_ptr","__destroy_into_raw","free","cancel","rpchandle_cancel","WasmClientFinalization","__wbg_wasmclient_free","WasmClient","open","client_name","ptr0","__wbindgen_malloc","__wbindgen_realloc","len0","wasmclient_open","join_federation","invite_code","ptr1","len1","wasmclient_join_federation","rpc","module","method","payload","cb","ptr2","len2","wasmclient_rpc","addBorrowedObject","__wbg_get_imports","imports","wbg","__wbg_wasmclient_new","__wbindgen_object_drop_ref","__wbindgen_object_clone_ref","__wbindgen_string_new","__wbindgen_cb_drop","__wbindgen_error_new","__wbindgen_string_get","__wbg_fetch_25e3a297f7b04639","fetch","__wbindgen_is_string","__wbindgen_is_falsy","__wbg_new_abda76e883ba8a5f","__wbg_stack_658279fe44541cf6","__wbg_error_f851667af71bcfc6","deferred0_0","deferred0_1","console","error","__wbindgen_free","__wbg_fetch_693453ca3f88c055","__wbindgen_number_new","__wbg_instanceof_IdbFactory_32ca5b61b481d0d4","result","IDBFactory","__wbg_open_65e0826fa9c7929c","arg3","arguments","__wbg_open_7cc5c5a15ff86a65","__wbg_key_f5b181c13a2893c4","key","__wbg_advance_4a9fc46f41566dd7","advance","__wbg_continue_ff6b09291a37ea4f","continue","__wbg_target_52ddf6955f636bf5","target","__wbg_objectStoreNames_71c3096b04c76bcd","objectStoreNames","__wbg_createObjectStore_45c05e7be9907fde","createObjectStore","__wbg_deleteObjectStore_517effefcf018434","deleteObjectStore","__wbg_transaction_632c349fd48458fb","transaction","__wbg_new_7a20246daa6eec7e","Headers","__wbg_append_aa3f462f9e2b5ff2","arg4","append","__wbg_value_818a84b71c8d6a92","value","__wbg_newwithstrandinit_f581dff0d19a8b03","Request","__wbg_indexNames_cd26d0c4a3e2e6d3","indexNames","__wbg_createIndex_e1a9dfc378a45abb","createIndex","__wbg_delete_e8e3bfaf1ea215be","delete","__wbg_deleteIndex_fdc764ebf52d4c6e","deleteIndex","__wbg_openCursor_218846b7f56f5d54","openCursor","__wbg_openCursor_31878cfe72aac75c","__wbg_openCursor_028e15e1e8bc1d13","__wbg_put_23b163c3aeb63c96","put","__wbg_put_f50a8dd6e4a8a13a","__wbg_setonupgradeneeded_73793bc200a4f7b8","onupgradeneeded","__wbg_result_915d75a0bb0397a1","__wbg_error_a093a4b69c2260a3","__wbg_transaction_fe8e1f87ae7ea4cc","__wbg_setonsuccess_a04d5d5a703ed886","onsuccess","__wbg_setonerror_80c9bac4e4864adf","onerror","__wbg_setonabort_568145f0fa09b9be","onabort","__wbg_setoncomplete_e9993a45b7bfaec4","oncomplete","__wbg_setonerror_d17408c3482b10eb","__wbg_abort_7691b818613905b3","abort","__wbg_commit_07f92304c2c4ba17","commit","__wbg_objectStore_b0e52dee7e737df7","objectStore","__wbg_instanceof_Response_4c3b1446206114d1","Response","__wbg_url_83a6a4f65f7a2b38","url","__wbg_status_d6d47ad2837621eb","status","__wbg_headers_24def508a7518df9","headers","__wbg_arrayBuffer_5b2688e3dd873fed","arrayBuffer","__wbg_text_668782292b0bc561","text","__wbg_data_ba3ea616b5392abf","data","__wbg_length_acb2c4bcbfef2f1a","__wbg_contains_f2be25be0242ccea","contains","__wbg_get_f31a9f341421cffd","__wbg_addEventListener_9bf60ea8a362e5e4","addEventListener","__wbg_addEventListener_374cbfd2bbc19ccf","__wbg_dispatchEvent_40c3472e9e4dcf5e","dispatchEvent","__wbg_removeEventListener_66ee1536a0b32c11","removeEventListener","__wbg_signal_3c701f5f40a5f08d","signal","__wbg_new_0ae46f44b7485bb2","AbortController","__wbg_abort_2c4fb490d878d2b2","__wbg_wasClean_1efd9561c5671b45","wasClean","__wbg_code_72a380a2ce61a242","__wbg_reason_ad453a16ee68a1b9","reason","__wbg_newwitheventinitdict_744eb6eb61245b7c","CloseEvent","__wbg_readyState_c8f9a5deaec3bb41","readyState","__wbg_setbinaryType_68fc3c6feda7310c","binaryType","__wbg_new_2575c598b4006174","WebSocket","__wbg_close_328b8b803521cbdd","close","__wbg_send_5bf3f962e9ffe0f6","send","__wbg_send_2ba7d32fcb03b9a4","__wbg_clearTimeout_541ac0980ffcef74","clearTimeout","__wbg_setTimeout_7d81d052875b0f4f","setTimeout","__wbg_queueMicrotask_3cbae2ec6b6cd3d6","queueMicrotask","__wbindgen_is_function","__wbg_queueMicrotask_481971b0d87f3dd4","__wbg_clearTimeout_76877dbc010e786d","__wbg_setTimeout_75cb9b6991a4031d","__wbg_crypto_1d1f22824a6a080c","crypto","__wbindgen_is_object","__wbg_process_4a72847cc503995b","process","__wbg_versions_f686565e586dd935","versions","__wbg_node_104a2ff8d6ea03a2","node","__wbg_require_cca90b1a94a0255b","require","__wbg_msCrypto_eb05e62b530a1508","msCrypto","__wbg_randomFillSync_5c9c955aa56b6049","randomFillSync","__wbg_getRandomValues_3aa56aa6edec874c","getRandomValues","__wbg_new_16b304a2cfa7ff4a","__wbg_newnoargs_e258087cd0daa0ea","Function","__wbg_next_40fc327bfc8770e6","next","__wbg_next_196c84450b364254","__wbg_done_298b57d23c0fc80c","done","__wbg_value_d93c65011f51a456","__wbg_iterator_2cee6dadfd956dfa","Symbol","iterator","__wbg_get_e3c254076557e348","Reflect","__wbg_call_27c0f87801dedf93","__wbg_new_72fb9a18b5ae2624","__wbg_self_ce0dbfc45cf2f5be","self","__wbg_window_c6fb939a7f436783","window","__wbg_globalThis_d1e6af4856ba331b","globalThis","__wbg_global_207b558942527489","global","__wbindgen_is_undefined","__wbg_push_a5b05aedc7234f9f","__wbg_instanceof_ArrayBuffer_836825be07d4c9d2","ArrayBuffer","__wbg_instanceof_Error_e20bb56fd5591a93","__wbg_message_5bf28016c2b49cfb","__wbg_name_e7429f0dda6079e2","__wbg_toString_ffe4c9ea3b3532e9","__wbg_call_b3ca7c6051f9bec1","__wbg_getTime_2bc4375165f02d15","getTime","__wbg_new0_7d84e5b2cd9fdc73","Date","__wbg_new_81740750da40724f","state0","Promise","wasm_bindgen__convert__closures__invoke2_mut__h8bdaa9faeb7d5075","__wbg_adapter_261","__wbg_resolve_b0083a7967828ec8","resolve","__wbg_then_0c86a60e8fcfe9f6","then","__wbg_then_a73caa9a87991566","__wbg_buffer_12d079cc21e14bdb","__wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb","__wbg_new_63b92bc8671ed464","__wbg_set_a47bac70306a19a7","__wbg_length_c20a40f15020d68a","__wbg_instanceof_Uint8Array_2b3bbecd033d19f6","__wbg_newwithlength_e9b4878cebadb3d3","__wbg_subarray_a1f73cd4b5b42fe1","__wbg_has_0af94d20077affa2","has","__wbg_set_1f9b04f170055d33","__wbg_stringify_8887fe74e1c50d81","__wbindgen_debug_string","__wbindgen_throw","__wbindgen_memory","__wbindgen_closure_wrapper1470","__wbindgen_closure_wrapper11865","__wbindgen_closure_wrapper11867","__wbindgen_closure_wrapper11869","__wbindgen_closure_wrapper11871","__wbindgen_closure_wrapper11927","__wbindgen_closure_wrapper13201","__wbindgen_closure_wrapper13916","__wbindgen_closure_wrapper13957","async","__wbg_init","input","URL","href","instance","WebAssembly","instantiateStreaming","warn","bytes","instantiate","Instance","__wbg_load","exports","__wbindgen_wasm_module","__wbg_finalize_init","DEFAULT_CLIENT_NAME","FedimintWallet","constructor","lazy","_fed","initPromise","openPromise","resolveOpen","initialize","init","trace","clientName","joinFederation","inviteCode","_rpcStream","body","onSuccess","onError","res","parsed","parse","_rpcSingle","reject","getBalance","redeemEcash","notes","oob_notes","extra_meta","reissueExternalNotes","oobNotes","extraMeta","subscribeReissueExternalNotes","operationId","unsubscribe","operation_id","unsub","spendNotes","minAmount","tryCancelAfter","includeInvite","min_amount","try_cancel_after","include_invite","validateNotes","tryCancelSpendNotes","subscribeSpendNotes","awaitSpendOobRefund","cleanup","isOpen","getConfig","getFederationId","getInviteCode","peer","listOperations","hasPendingRecoveries","waitForAllRecoveries","subscribeBalance","parseInt","subscribeToRecoveryProgress","createBolt11Invoice","amount","expiryTime","gateway","expiry_time","payBolt11Invoice","invoice","maybeGateway","maybe_gateway","subscribeLnPay","subscribeLnReceive","getGateway","gatewayId","forceInternal","gateway_id","force_internal","listGateways","updateGatewayCache"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/worker/WorkerClient.ts","../src/services/MintService.ts","../src/services/BalanceService.ts","../src/services/LightningService.ts","../src/services/RecoveryService.ts","../src/services/FederationService.ts","../src/FedimintWallet.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["WorkerClient","constructor","this","requestCounter","requestCallbacks","Map","initPromise","worker","Worker","URL","url","type","onmessage","handleWorkerMessage","bind","onerror","handleWorkerError","initialize","sendSingleMessage","event","console","error","JSON","stringify","requestId","data","streamCallback","get","payload","Promise","resolve","reject","set","response","delete","postMessage","rpcStream","module","method","body","onSuccess","onError","onEnd","unsubscribe","isSubscribed","unsubscribePromise","setTimeout","_rpcStreamInner","then","undefined","end","rpcSingle","cleanup","terminate","clear","MintService","client","redeemEcash","notes","oob_notes","extra_meta","reissueExternalNotes","oobNotes","extraMeta","subscribeReissueExternalNotes","operationId","operation_id","spendNotes","minAmount","tryCancelAfter","includeInvite","min_amount","try_cancel_after","include_invite","validateNotes","tryCancelSpendNotes","subscribeSpendNotes","res","awaitSpendOobRefund","BalanceService","getBalance","subscribeBalance","parseInt","LightningService","createBolt11InvoiceWithGateway","amount","description","expiryTime","gatewayInfo","expiry_time","gateway","createBolt11Invoice","updateGatewayCache","_getDefaultGatewayInfo","info","payBolt11InvoiceWithGateway","invoice","maybe_gateway","listGateways","payBolt11Invoice","subscribeLnPay","subscribeLnReceive","getGateway","gatewayId","forceInternal","gateway_id","force_internal","RecoveryService","hasPendingRecoveries","waitForAllRecoveries","subscribeToRecoveryProgress","FederationService","getConfig","getFederationId","getInviteCode","peer","joinFederation","inviteCode","clientName","success","Error","listOperations","DEFAULT_CLIENT_NAME","FedimintWallet","lazy","openPromise","resolveOpen","_isOpen","mint","lightning","balance","federation","recovery","waitForOpen","open","isOpen"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { WorkerClient } from '../worker';
2
+ export declare class BalanceService {
3
+ private client;
4
+ constructor(client: WorkerClient);
5
+ getBalance(): Promise<number>;
6
+ subscribeBalance(onSuccess?: (balance: number) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
7
+ }
8
+ //# sourceMappingURL=BalanceService.d.ts.map
@@ -0,0 +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,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,gBAAgB,CACd,SAAS,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,EAC/C,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;CAY9C"}
@@ -0,0 +1,12 @@
1
+ import { JSONValue } from '../types/wallet';
2
+ import { WorkerClient } from '../worker';
3
+ export declare class FederationService {
4
+ private client;
5
+ constructor(client: WorkerClient);
6
+ getConfig(): Promise<JSONValue>;
7
+ getFederationId(): Promise<string>;
8
+ getInviteCode(peer: number): Promise<string | null>;
9
+ joinFederation(inviteCode: string, clientName: string): Promise<void>;
10
+ listOperations(): Promise<JSONValue[]>;
11
+ }
12
+ //# sourceMappingURL=FederationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FederationService.d.ts","sourceRoot":"","sources":["../../src/services/FederationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,qBAAa,iBAAiB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAI/B,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAInD,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAG7C"}
@@ -0,0 +1,17 @@
1
+ import { WorkerClient } from '../worker';
2
+ import { CreateBolt11Response, GatewayInfo, JSONObject, JSONValue, LightningGateway, LnPayState, LnReceiveState, OutgoingLightningPayment } from '../types/wallet';
3
+ export declare class LightningService {
4
+ private client;
5
+ constructor(client: WorkerClient);
6
+ createBolt11InvoiceWithGateway(amount: number, description: string, expiryTime: (number | null) | undefined, extraMeta: JSONObject | undefined, gatewayInfo: GatewayInfo): Promise<JSONValue>;
7
+ createBolt11Invoice(amount: number, description: string, expiryTime?: number | null, extraMeta?: JSONObject): Promise<CreateBolt11Response>;
8
+ payBolt11InvoiceWithGateway(invoice: string, gatewayInfo: GatewayInfo, extraMeta?: JSONObject): Promise<JSONValue>;
9
+ _getDefaultGatewayInfo(): Promise<LightningGateway>;
10
+ payBolt11Invoice(invoice: string, extraMeta?: JSONObject): Promise<OutgoingLightningPayment>;
11
+ subscribeLnPay(operationId: string, onSuccess?: (state: LnPayState) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
12
+ subscribeLnReceive(operationId: string, onSuccess?: (state: LnReceiveState) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
13
+ getGateway(gatewayId?: string | null, forceInternal?: boolean): Promise<LightningGateway | null>;
14
+ listGateways(): Promise<LightningGateway[]>;
15
+ updateGatewayCache(): Promise<JSONValue>;
16
+ }
17
+ //# sourceMappingURL=LightningService.d.ts.map
@@ -0,0 +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,EACL,oBAAoB,EACpB,WAAW,EACX,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAExB,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,8BAA8B,CAClC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,IAAI,aAAO,EAChC,SAAS,EAAE,UAAU,YAAK,EAC1B,WAAW,EAAE,WAAW;IAWpB,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,SAAS,GAAE,UAAe,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAY1B,2BAA2B,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,UAAe;IAStB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAKnD,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,UAAe,GACzB,OAAO,CAAC,wBAAwB,CAAC;IAUpC,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAe,EACjD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAa7C,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAe,EACrD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAavC,UAAU,CACd,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAO7B,YAAY,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI3C,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC;CAG/C"}
@@ -0,0 +1,15 @@
1
+ import { WorkerClient } from '../worker';
2
+ import { JSONObject, JSONValue } from '../types/wallet';
3
+ export declare class MintService {
4
+ private client;
5
+ constructor(client: WorkerClient);
6
+ redeemEcash(notes: string): Promise<void>;
7
+ reissueExternalNotes(oobNotes: string, extraMeta: JSONObject): Promise<string>;
8
+ subscribeReissueExternalNotes(operationId: string, onSuccess?: (state: JSONValue) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
9
+ spendNotes(minAmount: number, tryCancelAfter: number, includeInvite: boolean, extraMeta: JSONValue): Promise<JSONValue>;
10
+ validateNotes(oobNotes: string): Promise<number>;
11
+ tryCancelSpendNotes(operationId: string): Promise<void>;
12
+ subscribeSpendNotes(operationId: string, onSuccess?: (state: JSONValue) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
13
+ awaitSpendOobRefund(operationId: string): Promise<JSONValue>;
14
+ }
15
+ //# sourceMappingURL=MintService.d.ts.map
@@ -0,0 +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,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEvD,qBAAa,WAAW;IACV,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzC,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,MAAM,CAAC;IAOlB,6BAA6B,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAe,EAChD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAmBvC,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,SAAS,CAAC;IASf,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMhD,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAe,EAChD,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;IAavC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAKnE"}