@fedimint/core-web 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +4 -4
  2. package/dist/FedimintWallet.d.ts +9 -4
  3. package/dist/FedimintWallet.d.ts.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/BalanceService.d.ts +26 -0
  7. package/dist/services/BalanceService.d.ts.map +1 -1
  8. package/dist/services/FederationService.d.ts +0 -1
  9. package/dist/services/FederationService.d.ts.map +1 -1
  10. package/dist/services/LightningService.d.ts +6 -5
  11. package/dist/services/LightningService.d.ts.map +1 -1
  12. package/dist/services/MintService.d.ts +3 -3
  13. package/dist/services/MintService.d.ts.map +1 -1
  14. package/dist/types/wallet.d.ts +24 -11
  15. package/dist/types/wallet.d.ts.map +1 -1
  16. package/dist/utils/logger.d.ts +17 -0
  17. package/dist/utils/logger.d.ts.map +1 -0
  18. package/dist/worker/WorkerClient.d.ts +3 -0
  19. package/dist/worker/WorkerClient.d.ts.map +1 -1
  20. package/dist/worker.js +1 -1
  21. package/dist/worker.js.map +1 -1
  22. package/package.json +4 -6
  23. package/src/FedimintWallet.test.ts +12 -9
  24. package/src/FedimintWallet.ts +35 -22
  25. package/src/services/BalanceService.test.ts +50 -0
  26. package/src/services/BalanceService.ts +26 -0
  27. package/src/services/FederationService.test.ts +58 -0
  28. package/src/services/FederationService.ts +0 -10
  29. package/src/services/LightningService.test.ts +168 -0
  30. package/src/services/LightningService.ts +21 -5
  31. package/src/services/MintService.test.ts +19 -0
  32. package/src/services/MintService.ts +38 -18
  33. package/src/test/TestFedimintWallet.ts +17 -0
  34. package/src/test/TestingService.ts +59 -0
  35. package/src/test/setupTests.ts +43 -0
  36. package/src/types/wallet.ts +32 -13
  37. package/src/utils/logger.ts +61 -0
  38. package/src/worker/WorkerClient.ts +41 -2
  39. package/src/worker/worker.js +67 -56
  40. package/src/worker/worker.test.ts +90 -0
  41. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm.d.ts +0 -49
  42. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm.js +0 -4
  43. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm_bg.js +0 -1411
  44. package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm_bg.wasm +0 -0
  45. package/node_modules/@fedimint/fedimint-client-wasm/package.json +0 -23
package/README.md CHANGED
@@ -57,19 +57,19 @@ if (!wallet.isOpen()) {
57
57
  }
58
58
 
59
59
  // Get Wallet Balance (sync)
60
- const balance = await wallet.getBalance()
60
+ const balance = await wallet.balance.getBalance()
61
61
 
62
62
  // Subscribe to Balance Updates
63
- const unsubscribe = wallet.subscribeBalance((balance: number) => {
63
+ const unsubscribe = wallet.balance.subscribeBalance((balance: number) => {
64
64
  console.log('updated balance', balance)
65
65
  })
66
66
  // Make sure to call `unsubscribe()` when you're done
67
67
 
68
68
  // Receive Ecash Payments
69
- await wallet.reissueNotes('A11qgqpw9thwvaz7t...')
69
+ await wallet.mint.reissueNotes('A11qgqpw9thwvaz7t...')
70
70
 
71
71
  // Pay Lightning Invoice
72
- await wallet.payBolt11Invoice('lnbc...')
72
+ await wallet.lightning.payInvoice('lnbc...')
73
73
  ```
74
74
 
75
75
  ### Check out the example
@@ -1,18 +1,18 @@
1
1
  import { BalanceService, MintService, LightningService, FederationService, RecoveryService } from './services';
2
+ import { type LogLevel } from './utils/logger';
2
3
  export declare class FedimintWallet {
3
- private client;
4
+ private _client;
4
5
  balance: BalanceService;
5
6
  mint: MintService;
6
7
  lightning: LightningService;
7
8
  federation: FederationService;
8
9
  recovery: RecoveryService;
9
- private openPromise;
10
- private resolveOpen;
10
+ private _openPromise;
11
+ private _resolveOpen;
11
12
  private _isOpen;
12
13
  /**
13
14
  * Creates a new instance of FedimintWallet.
14
15
  *
15
- * @description
16
16
  * This constructor initializes a FedimintWallet instance, which manages communication
17
17
  * with a Web Worker. The Web Worker is responsible for running WebAssembly code that
18
18
  * handles the core Fedimint Client operations.
@@ -50,5 +50,10 @@ export declare class FedimintWallet {
50
50
  */
51
51
  cleanup(): Promise<void>;
52
52
  isOpen(): boolean;
53
+ /**
54
+ * Sets the log level for the library.
55
+ * @param level The desired log level ('DEBUG', 'INFO', 'WARN', 'ERROR', 'NONE').
56
+ */
57
+ setLogLevel(level: LogLevel): void;
53
58
  }
54
59
  //# sourceMappingURL=FedimintWallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FedimintWallet.d.ts","sourceRoot":"","sources":["../src/FedimintWallet.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;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"}
1
+ {"version":3,"file":"FedimintWallet.d.ts","sourceRoot":"","sources":["../src/FedimintWallet.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAItD,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAc;IAEtB,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,gBAAgB,CAAA;IAC3B,UAAU,EAAE,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,eAAe,CAAA;IAEhC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAiB;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,IAAI,GAAE,OAAe;IAkB3B,UAAU;IAMV,WAAW;IAKX,IAAI,CAAC,UAAU,GAAE,MAA4B;IAc7C,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAA4B;IAkB1C;;;OAGG;IACG,OAAO;IAMb,MAAM;IAIN;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ;CAI5B"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
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};
1
+ const e=["debug","info","warn","error","none"];const t=new class{constructor(e="none"){this.level=e}setLevel(e){this.level=e}coerceLevel(t){return e.includes(t.toLocaleUpperCase())?t.toLocaleUpperCase():"info"}log(e,t,...i){const n=this.coerceLevel(e);if(!this.shouldLog(n))return;(0,console[n])(`[${n.toUpperCase()}] ${t}`,...i)}debug(e,...t){this.log("debug",e,...t)}info(e,...t){this.log("info",e,...t)}warn(e,...t){this.log("warn",e,...t)}error(e,...t){this.log("error",e,...t)}shouldLog(e){const t=["debug","info","warn","error","none"],i=t.indexOf(e);return t.indexOf(this.level)<=i&&"none"!==this.level&&"none"!==e}};class i{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),t.info("WorkerClient instantiated"),t.debug("WorkerClient",this.worker)}initialize(){return this.initPromise||(this.initPromise=this.sendSingleMessage("init")),this.initPromise}handleWorkerLogs(e){const{type:i,level:n,message:s,...r}=e.data;t.log(n,s,...r)}handleWorkerError(e){t.error("Worker error",e)}handleWorkerMessage(e){const{type:i,requestId:n,...s}=e.data;"log"===i&&this.handleWorkerLogs(e.data);const r=this.requestCallbacks.get(n);t.debug("WorkerClient - handleWorkerMessage",e.data),r?r(s):t.warn("WorkerClient - handleWorkerMessage - received message with no callback",n,e.data)}sendSingleMessage(e,i){return new Promise(((n,s)=>{const r=++this.requestCounter;t.debug("WorkerClient - sendSingleMessage",r,e,i),this.requestCallbacks.set(r,(e=>{this.requestCallbacks.delete(r),t.debug("WorkerClient - sendSingleMessage - response",r,e),e.data?n(e.data):e.error?s(e.error):t.warn("WorkerClient - sendSingleMessage - malformed response",r,e)})),this.worker.postMessage({type:e,payload:i,requestId:r})}))}rpcStream(e,i,n,s,r,a=()=>{}){const o=++this.requestCounter;t.debug("WorkerClient - rpcStream",o,e,i,n);let l=()=>{},c=!1;const h=new Promise((e=>{l=()=>{c?e():setTimeout((()=>l()),0)}}));return this._rpcStreamInner(o,e,i,n,s,r,a,h).then((()=>{c=!0})),l}async _rpcStreamInner(e,t,i,n,s,r,a=()=>{},o){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}),o.then((()=>{this.worker?.postMessage({type:"unsubscribe",requestId:e}),this.requestCallbacks.delete(e)}))}rpcSingle(e,i,n){return t.debug("WorkerClient - rpcSingle",e,i,n),new Promise(((t,s)=>{this.rpcStream(e,i,n,t,s)}))}cleanup(){this.worker.terminate(),this.initPromise=null,this.requestCallbacks.clear()}_getRequestCounter(){return this.requestCounter}_getRequestCallbackMap(){return this.requestCallbacks}}class n{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=0,i=!1,n={}){const s="number"==typeof t?{nanos:0,secs:t}:t,r=await this.client.rpcSingle("mint","spend_notes",{min_amount:e,try_cancel_after:s,include_invite:i,extra_meta:n});return{notes:r[1],operation_id:r[0]}}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 s{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 r{constructor(e){this.client=e}async createInvoiceWithGateway(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 createInvoice(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 payInvoiceWithGateway(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 payInvoice(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 waitForReceive(e){return new Promise(((t,i)=>{const n=this.subscribeLnReceive(e,(e=>{"claimed"===e&&t(e)}),i);setTimeout((()=>{n(),i(new Error("Timeout waiting for receive"))}),1e4)}))}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 a{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 o{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 listOperations(){return await this.client.rpcSingle("","list_operations",{})}}const l="fm-default";class c{constructor(e=!1){this._openPromise=null,this._resolveOpen=()=>{},this._isOpen=!1,this._openPromise=new Promise((e=>{this._resolveOpen=e})),this._client=new i,this.mint=new n(this._client),this.lightning=new r(this._client),this.balance=new s(this._client),this.federation=new o(this._client),this.recovery=new a(this._client),t.info("FedimintWallet instantiated"),e||this.initialize()}async initialize(){t.info("Initializing WorkerClient"),await this._client.initialize(),t.info("WorkerClient initialized")}async waitForOpen(){return this._isOpen?Promise.resolve():this._openPromise}async open(e=l){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=l){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}setLogLevel(e){t.setLevel(e),t.info(`Log level set to ${e}.`)}}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":["../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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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/logger.ts","../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,null],"names":["logLevels","logger","constructor","level","this","setLevel","coerceLevel","includes","toLocaleUpperCase","log","message","args","logLevel","shouldLog","consoleFn","console","toUpperCase","debug","info","warn","error","messageLevel","levels","messageLevelIndex","indexOf","WorkerClient","requestCounter","requestCallbacks","Map","initPromise","worker","Worker","URL","url","type","onmessage","handleWorkerMessage","bind","onerror","handleWorkerError","initialize","sendSingleMessage","handleWorkerLogs","event","data","requestId","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","_getRequestCounter","_getRequestCallbackMap","MintService","client","redeemEcash","notes","oob_notes","extra_meta","reissueExternalNotes","oobNotes","extraMeta","subscribeReissueExternalNotes","operationId","operation_id","spendNotes","minAmount","tryCancelAfter","includeInvite","duration","nanos","secs","res","min_amount","try_cancel_after","include_invite","validateNotes","tryCancelSpendNotes","subscribeSpendNotes","awaitSpendOobRefund","BalanceService","getBalance","subscribeBalance","parseInt","LightningService","createInvoiceWithGateway","amount","description","expiryTime","gatewayInfo","expiry_time","gateway","createInvoice","updateGatewayCache","_getDefaultGatewayInfo","payInvoiceWithGateway","invoice","maybe_gateway","listGateways","payInvoice","subscribeLnPay","subscribeLnReceive","waitForReceive","Error","getGateway","gatewayId","forceInternal","gateway_id","force_internal","RecoveryService","hasPendingRecoveries","waitForAllRecoveries","subscribeToRecoveryProgress","FederationService","getConfig","getFederationId","getInviteCode","peer","listOperations","DEFAULT_CLIENT_NAME","FedimintWallet","lazy","_openPromise","_resolveOpen","_isOpen","_client","mint","lightning","balance","federation","recovery","waitForOpen","open","clientName","success","joinFederation","inviteCode","isOpen","setLogLevel"],"mappings":"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"}
@@ -1,8 +1,34 @@
1
1
  import { WorkerClient } from '../worker';
2
+ /**
3
+ * Balance Service
4
+ *
5
+ * The Balance Service provides methods to interact with the balance of a Fedimint wallet.
6
+ */
2
7
  export declare class BalanceService {
3
8
  private client;
4
9
  constructor(client: WorkerClient);
10
+ /**
11
+ * Get the balance of the current wallet
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const balance = await wallet.balance.getBalance()
16
+ * ```
17
+ */
5
18
  getBalance(): Promise<number>;
19
+ /**
20
+ * Subscribe to the balance of the current wallet
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * const unsubscribe = wallet.balance.subscribeBalance((balance) => {
25
+ * console.log(balance)
26
+ * })
27
+ *
28
+ * // ...Cleanup Later
29
+ * unsubscribe()
30
+ * ```
31
+ */
6
32
  subscribeBalance(onSuccess?: (balance: number) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
7
33
  }
8
34
  //# sourceMappingURL=BalanceService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BalanceService.d.ts","sourceRoot":"","sources":["../../src/services/BalanceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,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"}
1
+ {"version":3,"file":"BalanceService.d.ts","sourceRoot":"","sources":["../../src/services/BalanceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC;;;;GAIG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,SAAS,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,EAC/C,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAe;CAY9C"}
@@ -6,7 +6,6 @@ export declare class FederationService {
6
6
  getConfig(): Promise<JSONValue>;
7
7
  getFederationId(): Promise<string>;
8
8
  getInviteCode(peer: number): Promise<string | null>;
9
- joinFederation(inviteCode: string, clientName: string): Promise<void>;
10
9
  listOperations(): Promise<JSONValue[]>;
11
10
  }
12
11
  //# sourceMappingURL=FederationService.d.ts.map
@@ -1 +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"}
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,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAG7C"}
@@ -3,13 +3,14 @@ import { CreateBolt11Response, GatewayInfo, JSONObject, JSONValue, LightningGate
3
3
  export declare class LightningService {
4
4
  private client;
5
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>;
6
+ createInvoiceWithGateway(amount: number, description: string, expiryTime: (number | null) | undefined, extraMeta: JSONObject | undefined, gatewayInfo: GatewayInfo): Promise<JSONValue>;
7
+ createInvoice(amount: number, description: string, expiryTime?: number | null, extraMeta?: JSONObject): Promise<CreateBolt11Response>;
8
+ payInvoiceWithGateway(invoice: string, gatewayInfo: GatewayInfo, extraMeta?: JSONObject): Promise<JSONValue>;
9
+ private _getDefaultGatewayInfo;
10
+ payInvoice(invoice: string, extraMeta?: JSONObject): Promise<OutgoingLightningPayment>;
11
11
  subscribeLnPay(operationId: string, onSuccess?: (state: LnPayState) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
12
12
  subscribeLnReceive(operationId: string, onSuccess?: (state: LnReceiveState) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
13
+ waitForReceive(operationId: string): Promise<LnReceiveState>;
13
14
  getGateway(gatewayId?: string | null, forceInternal?: boolean): Promise<LightningGateway | null>;
14
15
  listGateways(): Promise<LightningGateway[]>;
15
16
  updateGatewayCache(): Promise<JSONValue>;
@@ -1 +1 @@
1
- {"version":3,"file":"LightningService.d.ts","sourceRoot":"","sources":["../../src/services/LightningService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,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"}
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,wBAAwB,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,IAAI,aAAO,EAChC,SAAS,EAAE,UAAU,YAAK,EAC1B,WAAW,EAAE,WAAW;IAWpB,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,MAAM,GAAG,IAAW,EAChC,SAAS,GAAE,UAAe,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAY1B,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,UAAe;YASd,sBAAsB;IAK9B,UAAU,CACd,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,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB5D,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"}
@@ -1,12 +1,12 @@
1
1
  import { WorkerClient } from '../worker';
2
- import { JSONObject, JSONValue } from '../types/wallet';
2
+ import { Duration, JSONObject, JSONValue, MintSpendNotesResponse } from '../types/wallet';
3
3
  export declare class MintService {
4
4
  private client;
5
5
  constructor(client: WorkerClient);
6
6
  redeemEcash(notes: string): Promise<void>;
7
- reissueExternalNotes(oobNotes: string, extraMeta: JSONObject): Promise<string>;
7
+ reissueExternalNotes(oobNotes: string, extraMeta?: JSONObject): Promise<string>;
8
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>;
9
+ spendNotes(minAmount: number, tryCancelAfter?: number | Duration, includeInvite?: boolean, extraMeta?: JSONValue): Promise<MintSpendNotesResponse>;
10
10
  validateNotes(oobNotes: string): Promise<number>;
11
11
  tryCancelSpendNotes(operationId: string): Promise<void>;
12
12
  subscribeSpendNotes(operationId: string, onSuccess?: (state: JSONValue) => void, onError?: (error: string) => void): import("../types/wallet").CancelFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"MintService.d.ts","sourceRoot":"","sources":["../../src/services/MintService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,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"}
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,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,sBAAsB,EAEvB,MAAM,iBAAiB,CAAA;AAExB,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,GAAE,UAAe,GACzB,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;IAavC,UAAU,CACd,SAAS,EAAE,MAAM,EAKjB,cAAc,GAAE,MAAM,GAAG,QAAY,EACrC,aAAa,GAAE,OAAe,EAC9B,SAAS,GAAE,SAAc,GACxB,OAAO,CAAC,sBAAsB,CAAC;IAyB5B,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"}
@@ -31,37 +31,37 @@ type PayType = {
31
31
  type: 'Internal' | 'Lightning';
32
32
  operation_id: string;
33
33
  };
34
- type LnPayState = 'Created' | 'Canceled' | {
35
- Funded: {
34
+ type LnPayState = 'created' | 'canceled' | {
35
+ funded: {
36
36
  block_height: number;
37
37
  };
38
38
  } | {
39
- WaitingForRefund: {
39
+ waiting_for_refund: {
40
40
  error_reason: string;
41
41
  };
42
- } | 'AwaitingChange' | {
42
+ } | 'awaiting_change' | {
43
43
  Success: {
44
44
  preimage: string;
45
45
  };
46
46
  } | {
47
- Refunded: {
47
+ refunded: {
48
48
  gateway_error: string;
49
49
  };
50
50
  } | {
51
- UnexpectedError: {
51
+ unexpected_error: {
52
52
  error_message: string;
53
53
  };
54
54
  };
55
- type LnReceiveState = 'Created' | {
56
- WaitingForPayment: {
55
+ type LnReceiveState = 'created' | {
56
+ waiting_for_payment: {
57
57
  invoice: string;
58
58
  timeout: number;
59
59
  };
60
60
  } | {
61
- Canceled: {
61
+ canceled: {
62
62
  reason: string;
63
63
  };
64
- } | 'Funded' | 'AwaitingFunds' | 'Claimed';
64
+ } | 'funded' | 'awaiting_funds' | 'claimed';
65
65
  type CreateBolt11Response = {
66
66
  operation_id: string;
67
67
  invoice: string;
@@ -83,5 +83,18 @@ type StreamEnd = {
83
83
  };
84
84
  type StreamResult<T extends JSONValue> = StreamSuccess<T> | StreamError | StreamEnd;
85
85
  type CancelFunction = () => void;
86
- export { JSONValue, JSONObject, LightningGateway, RouteHint, FeeToAmount, OutgoingLightningPayment, PayType, LnPayState, LnReceiveState, CreateBolt11Response, GatewayInfo, StreamError, StreamSuccess, StreamResult, ModuleKind, CancelFunction, };
86
+ type ReissueExternalNotesState = 'Created' | 'Issuing' | 'Done' | {
87
+ Failed: {
88
+ error: string;
89
+ };
90
+ };
91
+ type Duration = {
92
+ nanos: number;
93
+ secs: number;
94
+ };
95
+ type MintSpendNotesResponse = {
96
+ notes: string;
97
+ operation_id: string;
98
+ };
99
+ export { JSONValue, JSONObject, LightningGateway, RouteHint, FeeToAmount, OutgoingLightningPayment, PayType, LnPayState, LnReceiveState, CreateBolt11Response, GatewayInfo, StreamError, StreamSuccess, StreamResult, ModuleKind, CancelFunction, ReissueExternalNotesState, Duration, MintSpendNotesResponse, };
87
100
  //# sourceMappingURL=wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ declare const logLevels: readonly ["debug", "info", "warn", "error", "none"];
2
+ export type LogLevel = (typeof logLevels)[number];
3
+ export declare class Logger {
4
+ private level;
5
+ constructor(level?: LogLevel);
6
+ setLevel(level: LogLevel): void;
7
+ coerceLevel(level: string): LogLevel;
8
+ log(level: string, message: string, ...args: any[]): void;
9
+ debug(message: string, ...args: any[]): void;
10
+ info(message: string, ...args: any[]): void;
11
+ warn(message: string, ...args: any[]): void;
12
+ error(message: string, ...args: any[]): void;
13
+ private shouldLog;
14
+ }
15
+ export declare const logger: Logger;
16
+ export {};
17
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,SAAS,qDAAsD,CAAA;AACrE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAU;gBAEX,KAAK,GAAE,QAAiB;IAIpC,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAIxB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAOpC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IASlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;IAIrC,OAAO,CAAC,SAAS;CAYlB;AAED,eAAO,MAAM,MAAM,QAAe,CAAA"}
@@ -6,6 +6,7 @@ export declare class WorkerClient {
6
6
  private initPromise;
7
7
  constructor();
8
8
  initialize(): Promise<void>;
9
+ private handleWorkerLogs;
9
10
  private handleWorkerError;
10
11
  private handleWorkerMessage;
11
12
  sendSingleMessage(type: string, payload?: any): Promise<any>;
@@ -37,5 +38,7 @@ export declare class WorkerClient {
37
38
  private _rpcStreamInner;
38
39
  rpcSingle<Response extends JSONValue = JSONValue>(module: ModuleKind, method: string, body: JSONValue): Promise<Response>;
39
40
  cleanup(): void;
41
+ _getRequestCounter(): number;
42
+ _getRequestCallbackMap(): Map<number, (value: any) => void>;
40
43
  }
41
44
  //# sourceMappingURL=WorkerClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerClient.d.ts","sourceRoot":"","sources":["../../src/worker/WorkerClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EAEZ,MAAM,iBAAiB,CAAA;AAIxB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,WAAW,CAA6B;;IAYhD,UAAU;IAMV,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;IAa3B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAY5D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CACP,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,IAAI,SAAS,SAAS,GAAG,SAAS,EAElC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,EAClC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAC5C,KAAK,GAAE,MAAM,IAAe,GAC3B,cAAc;YAoCH,eAAe;IA2C7B,SAAS,CAAC,QAAQ,SAAS,SAAS,GAAG,SAAS,EAC9C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,QAAQ,CAAC;IAMpB,OAAO;CAKR"}
1
+ {"version":3,"file":"WorkerClient.d.ts","sourceRoot":"","sources":["../../src/worker/WorkerClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EAEZ,MAAM,iBAAiB,CAAA;AAKxB,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,WAAW,CAA6B;;IAchD,UAAU;IAMV,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,mBAAmB;IAuB3B,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAwB5D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CACP,QAAQ,SAAS,SAAS,GAAG,SAAS,EACtC,IAAI,SAAS,SAAS,GAAG,SAAS,EAElC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,EAClC,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAC5C,KAAK,GAAE,MAAM,IAAe,GAC3B,cAAc;YAoCH,eAAe;IA2C7B,SAAS,CAAC,QAAQ,SAAS,SAAS,GAAG,SAAS,EAC9C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,QAAQ,CAAC;IAOpB,OAAO;IAOP,kBAAkB;IAGlB,sBAAsB,wBAnN6B,GAAG,KAAK,IAAI;CAsNhE"}
package/dist/worker.js CHANGED
@@ -1,2 +1,2 @@
1
- globalThis.__vitest_browser_runner__={wrapDynamicImport:e=>e()};let e=null,s=null;const t=new Map;self.onmessage=async o=>{const{type:n,payload:i,requestId:a}=o.data;if("init"===n)e=(await import("@fedimint/fedimint-client-wasm")).WasmClient,self.postMessage({type:"initialized",data:{},requestId:a});else if("open"===n){const{clientName:t}=i;s=await e.open(t)||null,self.postMessage({type:"open",data:{success:!!s},requestId:a})}else if("join"===n){const{inviteCode:t,clientName:o}=i;try{s=await e.join_federation(o,t),self.postMessage({type:"join",data:{success:!!s},requestId:a})}catch(e){self.postMessage({type:"error",error:e.message,requestId:a})}}else if("rpc"===n){const{module:e,method:o,body:n}=i;if(console.log("RPC received",e,o,n),!s)return void self.postMessage({type:"error",error:"WasmClient not initialized",requestId:a});const r=await s.rpc(e,o,JSON.stringify(n),(e=>{console.log("RPC response",a,e);const s=JSON.parse(e);if(self.postMessage({type:"rpcResponse",requestId:a,...s}),void 0!==s.end){const e=t.get(a);e?.free()}}));t.set(a,r)}else if("unsubscribe"===n){const e=t.get(a);e&&(e.cancel(),e.free(),t.delete(a))}else self.postMessage({type:"error",error:"Unknown message type",requestId:a})},self.postMessage({type:"init",data:{}});
1
+ globalThis.__vitest_browser_runner__={wrapDynamicImport:e=>e()};let e=null,s=null;const t=new Map;console.log("Worker - init"),self.onmessage=async o=>{const{type:r,payload:n,requestId:i}=o.data;try{if("init"===r)e=(await import("@fedimint/fedimint-client-wasm-bundler")).WasmClient,self.postMessage({type:"initialized",data:{},requestId:i});else if("open"===r){const{clientName:t}=n;s=await e.open(t)||null,self.postMessage({type:"open",data:{success:!!s},requestId:i})}else if("join"===r){const{inviteCode:t,clientName:o}=n;try{s=await e.join_federation(o,t),self.postMessage({type:"join",data:{success:!!s},requestId:i})}catch(e){self.postMessage({type:"error",error:e.message,requestId:i})}}else if("rpc"===r){const{module:e,method:o,body:r}=n;if(console.log("RPC received",e,o,r),!s)return void self.postMessage({type:"error",error:"WasmClient not initialized",requestId:i});const a=await s.rpc(e,o,JSON.stringify(r),(e=>{console.log("RPC response",i,e);const s=JSON.parse(e);if(self.postMessage({type:"rpcResponse",requestId:i,...s}),void 0!==s.end){const e=t.get(i);e?.free()}}));t.set(i,a)}else if("unsubscribe"===r){const e=t.get(i);e&&(e.cancel(),e.free(),t.delete(i))}else self.postMessage({type:"error",error:"Unknown message type",requestId:i})}catch(e){console.error("ERROR",e),self.postMessage({type:"error",error:e,requestId:i})}};
2
2
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sources":["../src/worker/worker.js"],"sourcesContent":["// Web Worker for fedimint-client-wasm to run in the browser\n\n// HACK: Fixes vitest browser runner\nglobalThis.__vitest_browser_runner__ = { wrapDynamicImport: (foo) => foo() }\n\nlet WasmClient = null\nlet client = null\n\nconst streamCancelMap = new Map()\n\nconst handleFree = (requestId) => {\n streamCancelMap.delete(requestId)\n}\n\nself.onmessage = async (event) => {\n const { type, payload, requestId } = event.data\n\n if (type === 'init') {\n WasmClient = (await import('@fedimint/fedimint-client-wasm')).WasmClient\n self.postMessage({ type: 'initialized', data: {}, requestId })\n } else if (type === 'open') {\n const { clientName } = payload\n client = (await WasmClient.open(clientName)) || null\n self.postMessage({\n type: 'open',\n data: { success: !!client },\n requestId,\n })\n } else if (type === 'join') {\n const { inviteCode, clientName: joinClientName } = payload\n try {\n client = await WasmClient.join_federation(joinClientName, inviteCode)\n self.postMessage({\n type: 'join',\n data: { success: !!client },\n requestId,\n })\n } catch (e) {\n self.postMessage({ type: 'error', error: e.message, requestId })\n }\n } else if (type === 'rpc') {\n const { module, method, body } = payload\n console.log('RPC received', module, method, body)\n if (!client) {\n self.postMessage({\n type: 'error',\n error: 'WasmClient not initialized',\n requestId,\n })\n return\n }\n const rpcHandle = await client.rpc(\n module,\n method,\n JSON.stringify(body),\n (res) => {\n console.log('RPC response', requestId, res)\n const data = JSON.parse(res)\n self.postMessage({ type: 'rpcResponse', requestId, ...data })\n\n if (data.end !== undefined) {\n // Handle stream ending\n const handle = streamCancelMap.get(requestId)\n handle?.free()\n }\n },\n )\n streamCancelMap.set(requestId, rpcHandle)\n } else if (type === 'unsubscribe') {\n const rpcHandle = streamCancelMap.get(requestId)\n if (rpcHandle) {\n rpcHandle.cancel()\n rpcHandle.free()\n streamCancelMap.delete(requestId)\n }\n } else {\n self.postMessage({\n type: 'error',\n error: 'Unknown message type',\n requestId,\n })\n }\n}\n\nself.postMessage({ type: 'init', data: {} })\n"],"names":["globalThis","__vitest_browser_runner__","wrapDynamicImport","foo","WasmClient","client","streamCancelMap","Map","self","onmessage","async","event","type","payload","requestId","data","import","postMessage","clientName","open","success","inviteCode","joinClientName","join_federation","e","error","message","module","method","body","console","log","rpcHandle","rpc","JSON","stringify","res","parse","undefined","end","handle","get","free","set","cancel","delete"],"mappings":"AAGAA,WAAWC,0BAA4B,CAAEC,kBAAoBC,GAAQA,KAErE,IAAIC,EAAa,KACbC,EAAS,KAEb,MAAMC,EAAkB,IAAIC,IAM5BC,KAAKC,UAAYC,MAAOC,IACtB,MAAMC,KAAEA,EAAIC,QAAEA,EAAOC,UAAEA,GAAcH,EAAMI,KAE3C,GAAa,SAATH,EACFR,SAAoBY,OAAO,mCAAmCZ,WAC9DI,KAAKS,YAAY,CAAEL,KAAM,cAAeG,KAAM,CAAA,EAAID,mBAC7C,GAAa,SAATF,EAAiB,CAC1B,MAAMM,WAAEA,GAAeL,EACvBR,QAAgBD,EAAWe,KAAKD,IAAgB,KAChDV,KAAKS,YAAY,CACfL,KAAM,OACNG,KAAM,CAAEK,UAAWf,GACnBS,aAEN,MAAS,GAAa,SAATF,EAAiB,CAC1B,MAAMS,WAAEA,EAAYH,WAAYI,GAAmBT,EACnD,IACER,QAAeD,EAAWmB,gBAAgBD,EAAgBD,GAC1Db,KAAKS,YAAY,CACfL,KAAM,OACNG,KAAM,CAAEK,UAAWf,GACnBS,aAEH,CAAC,MAAOU,GACPhB,KAAKS,YAAY,CAAEL,KAAM,QAASa,MAAOD,EAAEE,QAASZ,aACrD,CACL,MAAS,GAAa,QAATF,EAAgB,CACzB,MAAMe,OAAEA,EAAMC,OAAEA,EAAMC,KAAEA,GAAShB,EAEjC,GADAiB,QAAQC,IAAI,eAAgBJ,EAAQC,EAAQC,IACvCxB,EAMH,YALAG,KAAKS,YAAY,CACfL,KAAM,QACNa,MAAO,6BACPX,cAIJ,MAAMkB,QAAkB3B,EAAO4B,IAC7BN,EACAC,EACAM,KAAKC,UAAUN,IACdO,IACCN,QAAQC,IAAI,eAAgBjB,EAAWsB,GACvC,MAAMrB,EAAOmB,KAAKG,MAAMD,GAGxB,GAFA5B,KAAKS,YAAY,CAAEL,KAAM,cAAeE,eAAcC,SAErCuB,IAAbvB,EAAKwB,IAAmB,CAE1B,MAAMC,EAASlC,EAAgBmC,IAAI3B,GACnC0B,GAAQE,MACT,KAGLpC,EAAgBqC,IAAI7B,EAAWkB,EACnC,MAAS,GAAa,gBAATpB,EAAwB,CACjC,MAAMoB,EAAY1B,EAAgBmC,IAAI3B,GAClCkB,IACFA,EAAUY,SACVZ,EAAUU,OACVpC,EAAgBuC,OAAO/B,GAE7B,MACIN,KAAKS,YAAY,CACfL,KAAM,QACNa,MAAO,uBACPX,aAEH,EAGHN,KAAKS,YAAY,CAAEL,KAAM,OAAQG,KAAM,CAAA"}
1
+ {"version":3,"file":"worker.js","sources":["../src/worker/worker.js"],"sourcesContent":["// Web Worker for fedimint-client-wasm to run in the browser\n\n// HACK: Fixes vitest browser runner\n// TODO: remove once https://github.com/vitest-dev/vitest/pull/6569 lands in a release\nglobalThis.__vitest_browser_runner__ = { wrapDynamicImport: (foo) => foo() }\n\n// dynamically imported Constructor for WasmClient\nlet WasmClient = null\n// client instance\nlet client = null\n\nconst streamCancelMap = new Map()\n\nconst handleFree = (requestId) => {\n streamCancelMap.delete(requestId)\n}\n\nconsole.log('Worker - init')\n\nself.onmessage = async (event) => {\n const { type, payload, requestId } = event.data\n\n try {\n if (type === 'init') {\n WasmClient = (await import('@fedimint/fedimint-client-wasm-bundler'))\n .WasmClient\n self.postMessage({ type: 'initialized', data: {}, requestId })\n } else if (type === 'open') {\n const { clientName } = payload\n client = (await WasmClient.open(clientName)) || null\n self.postMessage({\n type: 'open',\n data: { success: !!client },\n requestId,\n })\n } else if (type === 'join') {\n const { inviteCode, clientName: joinClientName } = payload\n try {\n client = await WasmClient.join_federation(joinClientName, inviteCode)\n self.postMessage({\n type: 'join',\n data: { success: !!client },\n requestId,\n })\n } catch (e) {\n self.postMessage({ type: 'error', error: e.message, requestId })\n }\n } else if (type === 'rpc') {\n const { module, method, body } = payload\n console.log('RPC received', module, method, body)\n if (!client) {\n self.postMessage({\n type: 'error',\n error: 'WasmClient not initialized',\n requestId,\n })\n return\n }\n const rpcHandle = await client.rpc(\n module,\n method,\n JSON.stringify(body),\n (res) => {\n console.log('RPC response', requestId, res)\n const data = JSON.parse(res)\n self.postMessage({ type: 'rpcResponse', requestId, ...data })\n\n if (data.end !== undefined) {\n // Handle stream ending\n const handle = streamCancelMap.get(requestId)\n handle?.free()\n }\n },\n )\n streamCancelMap.set(requestId, rpcHandle)\n } else if (type === 'unsubscribe') {\n const rpcHandle = streamCancelMap.get(requestId)\n if (rpcHandle) {\n rpcHandle.cancel()\n rpcHandle.free()\n streamCancelMap.delete(requestId)\n }\n } else {\n self.postMessage({\n type: 'error',\n error: 'Unknown message type',\n requestId,\n })\n }\n } catch (e) {\n console.error('ERROR', e)\n self.postMessage({ type: 'error', error: e, requestId })\n }\n}\n\n// self.postMessage({ type: 'init', data: {} })\n"],"names":["globalThis","__vitest_browser_runner__","wrapDynamicImport","foo","WasmClient","client","streamCancelMap","Map","console","log","self","onmessage","async","event","type","payload","requestId","data","import","postMessage","clientName","open","success","inviteCode","joinClientName","join_federation","e","error","message","module","method","body","rpcHandle","rpc","JSON","stringify","res","parse","undefined","end","handle","get","free","set","cancel","delete"],"mappings":"AAIAA,WAAWC,0BAA4B,CAAEC,kBAAoBC,GAAQA,KAGrE,IAAIC,EAAa,KAEbC,EAAS,KAEb,MAAMC,EAAkB,IAAIC,IAM5BC,QAAQC,IAAI,iBAEZC,KAAKC,UAAYC,MAAOC,IACtB,MAAMC,KAAEA,EAAIC,QAAEA,EAAOC,UAAEA,GAAcH,EAAMI,KAE3C,IACE,GAAa,SAATH,EACFV,SAAoBc,OAAO,2CACxBd,WACHM,KAAKS,YAAY,CAAEL,KAAM,cAAeG,KAAM,CAAA,EAAID,mBAC7C,GAAa,SAATF,EAAiB,CAC1B,MAAMM,WAAEA,GAAeL,EACvBV,QAAgBD,EAAWiB,KAAKD,IAAgB,KAChDV,KAAKS,YAAY,CACfL,KAAM,OACNG,KAAM,CAAEK,UAAWjB,GACnBW,aAER,MAAW,GAAa,SAATF,EAAiB,CAC1B,MAAMS,WAAEA,EAAYH,WAAYI,GAAmBT,EACnD,IACEV,QAAeD,EAAWqB,gBAAgBD,EAAgBD,GAC1Db,KAAKS,YAAY,CACfL,KAAM,OACNG,KAAM,CAAEK,UAAWjB,GACnBW,aAEH,CAAC,MAAOU,GACPhB,KAAKS,YAAY,CAAEL,KAAM,QAASa,MAAOD,EAAEE,QAASZ,aACrD,CACP,MAAW,GAAa,QAATF,EAAgB,CACzB,MAAMe,OAAEA,EAAMC,OAAEA,EAAMC,KAAEA,GAAShB,EAEjC,GADAP,QAAQC,IAAI,eAAgBoB,EAAQC,EAAQC,IACvC1B,EAMH,YALAK,KAAKS,YAAY,CACfL,KAAM,QACNa,MAAO,6BACPX,cAIJ,MAAMgB,QAAkB3B,EAAO4B,IAC7BJ,EACAC,EACAI,KAAKC,UAAUJ,IACdK,IACC5B,QAAQC,IAAI,eAAgBO,EAAWoB,GACvC,MAAMnB,EAAOiB,KAAKG,MAAMD,GAGxB,GAFA1B,KAAKS,YAAY,CAAEL,KAAM,cAAeE,eAAcC,SAErCqB,IAAbrB,EAAKsB,IAAmB,CAE1B,MAAMC,EAASlC,EAAgBmC,IAAIzB,GACnCwB,GAAQE,MACT,KAGLpC,EAAgBqC,IAAI3B,EAAWgB,EACrC,MAAW,GAAa,gBAATlB,EAAwB,CACjC,MAAMkB,EAAY1B,EAAgBmC,IAAIzB,GAClCgB,IACFA,EAAUY,SACVZ,EAAUU,OACVpC,EAAgBuC,OAAO7B,GAE/B,MACMN,KAAKS,YAAY,CACfL,KAAM,QACNa,MAAO,uBACPX,aAGL,CAAC,MAAOU,GACPlB,QAAQmB,MAAM,QAASD,GACvBhB,KAAKS,YAAY,CAAEL,KAAM,QAASa,MAAOD,EAAGV,aAC7C"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fedimint/core-web",
3
3
  "description": "Library for building web apps with a fedimint client",
4
- "version": "0.0.4",
4
+ "version": "0.0.6",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/fedimint/fedimint-web-sdk.git",
@@ -19,11 +19,8 @@
19
19
  "main": "./dist/index.js",
20
20
  "types": "./dist/index.d.ts",
21
21
  "dependencies": {
22
- "@fedimint/fedimint-client-wasm": "file:./wasm"
22
+ "@fedimint/fedimint-client-wasm-bundler": "0.0.1"
23
23
  },
24
- "bundleDependencies": [
25
- "@fedimint/fedimint-client-wasm"
26
- ],
27
24
  "devDependencies": {
28
25
  "@rollup/plugin-terser": "^0.4.4",
29
26
  "@rollup/plugin-typescript": "^11.1.6",
@@ -37,6 +34,7 @@
37
34
  "build": "rollup --config",
38
35
  "clean": "rm -rf dist tsconfig.tsbuildinfo",
39
36
  "clean:deep": "pnpm run clean && rm -rf node_modules",
40
- "typecheck": "tsc --noEmit"
37
+ "typecheck": "tsc --noEmit",
38
+ "typedoc": "typedoc"
41
39
  }
42
40
  }
@@ -1,16 +1,15 @@
1
- import { test, expect, vi } from 'vitest'
2
- import { FedimintWallet } from './FedimintWallet'
1
+ import { test, expect } from 'vitest'
2
+ import { TestFedimintWallet } from './test/TestFedimintWallet'
3
3
  import { beforeAll } from 'vitest'
4
4
 
5
5
  let randomTestingId: string
6
- let wallet: FedimintWallet
7
- // Testnet
8
- const TESTING_FEDERATION =
9
- 'fed11qgqrgvnhwden5te0v9k8q6rp9ekh2arfdeukuet595cr2ttpd3jhq6rzve6zuer9wchxvetyd938gcewvdhk6tcqqysptkuvknc7erjgf4em3zfh90kffqf9srujn6q53d6r056e4apze5cw27h75'
6
+ let wallet: TestFedimintWallet
10
7
 
11
8
  beforeAll(() => {
12
9
  randomTestingId = Math.random().toString(36).substring(2, 15)
13
- wallet = new FedimintWallet()
10
+ wallet = new TestFedimintWallet()
11
+ expect(wallet.testing).toBeDefined()
12
+ expect(wallet.testing.getRequestCounter()).toBe(1)
14
13
  expect(wallet).toBeDefined()
15
14
 
16
15
  // Cleanup after all tests
@@ -30,9 +29,11 @@ test('initial open & join', async () => {
30
29
  // On initial open, it should return false
31
30
  // because no federations have been joined
32
31
  await expect(wallet.open(randomTestingId)).resolves.toBe(false)
32
+ const beforeJoin = wallet.testing.getRequestCounter()
33
33
  await expect(
34
- wallet.joinFederation(TESTING_FEDERATION, randomTestingId),
34
+ wallet.joinFederation(wallet.testing.TESTING_INVITE, randomTestingId),
35
35
  ).resolves.toBeUndefined()
36
+ expect(wallet.testing.getRequestCounter()).toBe(beforeJoin + 1)
36
37
  expect(wallet.isOpen()).toBe(true)
37
38
  await expect(wallet.waitForOpen()).resolves.toBeUndefined()
38
39
  })
@@ -44,6 +45,7 @@ test('Error on open & join if wallet is already open', async () => {
44
45
  // Test opening an already open wallet
45
46
  try {
46
47
  await wallet.open(randomTestingId)
48
+ expect.unreachable('Opening a wallet should fail on an already open wallet')
47
49
  } catch (error) {
48
50
  expect(error).toBeInstanceOf(Error)
49
51
  expect((error as Error).message).toBe('The FedimintWallet is already open.')
@@ -51,7 +53,8 @@ test('Error on open & join if wallet is already open', async () => {
51
53
 
52
54
  // Test joining federation on an already open wallet
53
55
  try {
54
- await wallet.joinFederation(TESTING_FEDERATION, randomTestingId)
56
+ await wallet.joinFederation(wallet.testing.TESTING_INVITE, randomTestingId)
57
+ expect.unreachable('Joining a federation should fail on an open wallet')
55
58
  } catch (error) {
56
59
  expect(error).toBeInstanceOf(Error)
57
60
  expect((error as Error).message).toBe(