@fedimint/core-web 0.0.4 → 0.0.5
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.
- package/README.md +4 -4
- package/dist/FedimintWallet.d.ts +9 -4
- package/dist/FedimintWallet.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/BalanceService.d.ts +26 -0
- package/dist/services/BalanceService.d.ts.map +1 -1
- package/dist/services/FederationService.d.ts +0 -1
- package/dist/services/FederationService.d.ts.map +1 -1
- package/dist/services/LightningService.d.ts +6 -5
- package/dist/services/LightningService.d.ts.map +1 -1
- package/dist/services/MintService.d.ts +2 -2
- package/dist/services/MintService.d.ts.map +1 -1
- package/dist/types/wallet.d.ts +16 -11
- package/dist/types/wallet.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +17 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/worker/WorkerClient.d.ts +3 -0
- package/dist/worker/WorkerClient.d.ts.map +1 -1
- package/dist/worker.js +1 -1
- package/dist/worker.js.map +1 -1
- package/package.json +4 -6
- package/src/FedimintWallet.test.ts +12 -9
- package/src/FedimintWallet.ts +35 -22
- package/src/services/BalanceService.test.ts +50 -0
- package/src/services/BalanceService.ts +26 -0
- package/src/services/FederationService.test.ts +58 -0
- package/src/services/FederationService.ts +0 -10
- package/src/services/LightningService.test.ts +168 -0
- package/src/services/LightningService.ts +21 -5
- package/src/services/MintService.test.ts +19 -0
- package/src/services/MintService.ts +15 -12
- package/src/test/TestFedimintWallet.ts +17 -0
- package/src/test/TestingService.ts +59 -0
- package/src/test/setupTests.ts +43 -0
- package/src/types/wallet.ts +20 -13
- package/src/utils/logger.ts +61 -0
- package/src/worker/WorkerClient.ts +41 -2
- package/src/worker/worker.js +67 -56
- package/src/worker/worker.test.ts +90 -0
- package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm.d.ts +0 -49
- package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm.js +0 -4
- package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm_bg.js +0 -1411
- package/node_modules/@fedimint/fedimint-client-wasm/fedimint_client_wasm_bg.wasm +0 -0
- 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.
|
|
72
|
+
await wallet.lightning.payInvoice('lnbc...')
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
### Check out the example
|
package/dist/FedimintWallet.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
10
|
-
private
|
|
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;
|
|
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){
|
|
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={}){return console.error("tryCancelAfter",t),await this.client.rpcSingle("mint","spend_notes",{min_amount:e,try_cancel_after:null,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 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":["
|
|
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","min_amount","try_cancel_after","include_invite","validateNotes","tryCancelSpendNotes","subscribeSpendNotes","res","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;
|
|
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,
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
_getDefaultGatewayInfo
|
|
10
|
-
|
|
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,
|
|
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"}
|
|
@@ -4,9 +4,9 @@ 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
|
|
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
|
|
9
|
+
spendNotes(minAmount: number, tryCancelAfter?: number, includeInvite?: boolean, extraMeta?: JSONValue): Promise<JSONValue>;
|
|
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,
|
|
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,UAAU,EACV,SAAS,EAEV,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,MAAU,EAC1B,aAAa,GAAE,OAAe,EAC9B,SAAS,GAAE,SAAc,GACxB,OAAO,CAAC,SAAS,CAAC;IAUf,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"}
|
package/dist/types/wallet.d.ts
CHANGED
|
@@ -31,37 +31,37 @@ type PayType = {
|
|
|
31
31
|
type: 'Internal' | 'Lightning';
|
|
32
32
|
operation_id: string;
|
|
33
33
|
};
|
|
34
|
-
type LnPayState = '
|
|
35
|
-
|
|
34
|
+
type LnPayState = 'created' | 'canceled' | {
|
|
35
|
+
funded: {
|
|
36
36
|
block_height: number;
|
|
37
37
|
};
|
|
38
38
|
} | {
|
|
39
|
-
|
|
39
|
+
waiting_for_refund: {
|
|
40
40
|
error_reason: string;
|
|
41
41
|
};
|
|
42
|
-
} | '
|
|
42
|
+
} | 'awaiting_change' | {
|
|
43
43
|
Success: {
|
|
44
44
|
preimage: string;
|
|
45
45
|
};
|
|
46
46
|
} | {
|
|
47
|
-
|
|
47
|
+
refunded: {
|
|
48
48
|
gateway_error: string;
|
|
49
49
|
};
|
|
50
50
|
} | {
|
|
51
|
-
|
|
51
|
+
unexpected_error: {
|
|
52
52
|
error_message: string;
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
|
-
type LnReceiveState = '
|
|
56
|
-
|
|
55
|
+
type LnReceiveState = 'created' | {
|
|
56
|
+
waiting_for_payment: {
|
|
57
57
|
invoice: string;
|
|
58
58
|
timeout: number;
|
|
59
59
|
};
|
|
60
60
|
} | {
|
|
61
|
-
|
|
61
|
+
canceled: {
|
|
62
62
|
reason: string;
|
|
63
63
|
};
|
|
64
|
-
} | '
|
|
64
|
+
} | 'funded' | 'awaiting_funds' | 'claimed';
|
|
65
65
|
type CreateBolt11Response = {
|
|
66
66
|
operation_id: string;
|
|
67
67
|
invoice: string;
|
|
@@ -83,5 +83,10 @@ type StreamEnd = {
|
|
|
83
83
|
};
|
|
84
84
|
type StreamResult<T extends JSONValue> = StreamSuccess<T> | StreamError | StreamEnd;
|
|
85
85
|
type CancelFunction = () => void;
|
|
86
|
-
|
|
86
|
+
type ReissueExternalNotesState = 'Created' | 'Issuing' | 'Done' | {
|
|
87
|
+
Failed: {
|
|
88
|
+
error: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
export { JSONValue, JSONObject, LightningGateway, RouteHint, FeeToAmount, OutgoingLightningPayment, PayType, LnPayState, LnReceiveState, CreateBolt11Response, GatewayInfo, StreamError, StreamSuccess, StreamResult, ModuleKind, CancelFunction, ReissueExternalNotesState, };
|
|
87
92
|
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,YAAY,6BAA8B,CAAA;AAChD,KAAK,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAC/C,KAAK,SAAS,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC5B,SAAS,EAAE,CAAA;AAEf,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE3C,KAAK,WAAW,GAAG;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AACD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF,CAAA;AAED,KAAK,SAAS,GAAG,EAEhB,CAAA;AAED,KAAK,WAAW,GAAG,EAElB,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,UAAU,GAAG,WAAW,CAAA;IAC9B,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,UAAU,GACX,SAAS,GACT,UAAU,GACV;IAAE,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACpC;IAAE,
|
|
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;
|
|
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:
|
|
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
|
package/dist/worker.js.map
CHANGED
|
@@ -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
|
|
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
|
+
"version": "0.0.5",
|
|
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": "
|
|
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
|
|
2
|
-
import {
|
|
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:
|
|
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
|
|
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(
|
|
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(
|
|
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(
|