diff --git a/package-lock.json b/package-lock.json index f15f74e7d..87ab61f31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "@input-output-hk/atala-prism-wallet-sdk", "version": "2.0.0", "dependencies": { + "@scure/bip32": "^1.3.0", "@scure/bip39": "^1.1.1", "@stablelib/base64": "^1.0.1", "@stablelib/sha256": "^1.0.1", @@ -20,7 +21,8 @@ "core-js": "^3.29.1", "did-jwt": "^6.11.5", "did-resolver": "^4.1.0", - "didcomm": "^0.4.0", + "didcomm": "^0.4.1", + "didcomm-node": "^0.4.1", "elliptic": "^6.5.4", "google-protobuf": "^3.21.2", "hash.js": "1.1.7", @@ -28,6 +30,7 @@ "jsonwebtoken": "^9.0.0", "localforage": "^1.10.0", "multiformats": "^9.9.0", + "sql.js": "^1.8.0", "typeorm": "^0.3.12" }, "devDependencies": { @@ -48,7 +51,6 @@ "@rollup/plugin-terser": "^0.4.3", "@rollup/plugin-typescript": "^11.1.1", "@rollup/plugin-wasm": "^6.1.3", - "@scure/bip32": "^1.3.0", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^9.0.2", "@semantic-release/exec": "^6.0.3", @@ -84,7 +86,6 @@ "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", "css-minimizer-webpack-plugin": "^4.2.2", - "didcomm-node": "^0.4.0", "eslint": "^8.36.0", "eslint-config-standard-with-typescript": "^34.0.1", "eslint-plugin-import": "^2.27.5", @@ -114,7 +115,6 @@ "semantic-release-slack-bot": "^3.5.3", "sinon": "^15.0.1", "sinon-chai": "^3.7.0", - "sql.js": "^1.8.0", "sqlite3": "^5.1.6", "stream-browserify": "^3.0.0", "style-loader": "^3.3.1", @@ -3482,7 +3482,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.0.0.tgz", "integrity": "sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==", - "dev": true, "funding": [ { "type": "individual", @@ -4162,7 +4161,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.0.tgz", "integrity": "sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==", - "dev": true, "funding": [ { "type": "individual", @@ -9650,8 +9648,7 @@ "node_modules/didcomm-node": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/didcomm-node/-/didcomm-node-0.4.1.tgz", - "integrity": "sha512-5vR2T6AyFhw20LI3Hu7Xps1nYimpooEIbefweIAsZ964p8sSnWW07qulvnRwd1fMihtUaAK+DlwGkR4jZIf6Mg==", - "dev": true + "integrity": "sha512-5vR2T6AyFhw20LI3Hu7Xps1nYimpooEIbefweIAsZ964p8sSnWW07qulvnRwd1fMihtUaAK+DlwGkR4jZIf6Mg==" }, "node_modules/didyoumean": { "version": "1.2.2", @@ -27140,8 +27137,7 @@ "node_modules/sql.js": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/sql.js/-/sql.js-1.8.0.tgz", - "integrity": "sha512-3HD8pSkZL+5YvYUI8nlvNILs61ALqq34xgmF+BHpqxe68yZIJ1H+sIVIODvni25+CcxHUxDyrTJUL0lE/m7afw==", - "devOptional": true + "integrity": "sha512-3HD8pSkZL+5YvYUI8nlvNILs61ALqq34xgmF+BHpqxe68yZIJ1H+sIVIODvni25+CcxHUxDyrTJUL0lE/m7afw==" }, "node_modules/sqlite3": { "version": "5.1.6", diff --git a/package.json b/package.json index 52d5ddd42..80b06bf3b 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ "@rollup/plugin-terser": "^0.4.3", "@rollup/plugin-typescript": "^11.1.1", "@rollup/plugin-wasm": "^6.1.3", - "@scure/bip32": "^1.3.0", "@semantic-release/changelog": "^6.0.3", "@semantic-release/commit-analyzer": "^9.0.2", "@semantic-release/exec": "^6.0.3", @@ -92,7 +91,6 @@ "copy-webpack-plugin": "^11.0.0", "css-loader": "^6.7.3", "css-minimizer-webpack-plugin": "^4.2.2", - "didcomm-node": "^0.4.0", "eslint": "^8.36.0", "eslint-config-standard-with-typescript": "^34.0.1", "eslint-plugin-import": "^2.27.5", @@ -122,7 +120,6 @@ "semantic-release-slack-bot": "^3.5.3", "sinon": "^15.0.1", "sinon-chai": "^3.7.0", - "sql.js": "^1.8.0", "sqlite3": "^5.1.6", "stream-browserify": "^3.0.0", "style-loader": "^3.3.1", @@ -143,7 +140,9 @@ ] }, "dependencies": { + "sql.js": "^1.8.0", "@scure/bip39": "^1.1.1", + "@scure/bip32": "^1.3.0", "@stablelib/base64": "^1.0.1", "@stablelib/sha256": "^1.0.1", "@stablelib/uuid": "^1.0.2", @@ -155,7 +154,8 @@ "core-js": "^3.29.1", "did-jwt": "^6.11.5", "did-resolver": "^4.1.0", - "didcomm": "^0.4.0", + "didcomm": "^0.4.1", + "didcomm-node": "^0.4.1", "elliptic": "^6.5.4", "google-protobuf": "^3.21.2", "hash.js": "1.1.7", diff --git a/src/prism-agent/connectionsManager/ConnectionsManager.ts b/src/prism-agent/connectionsManager/ConnectionsManager.ts index 6de1eb8e3..832e950a5 100644 --- a/src/prism-agent/connectionsManager/ConnectionsManager.ts +++ b/src/prism-agent/connectionsManager/ConnectionsManager.ts @@ -131,6 +131,12 @@ export class ConnectionsManager implements ConnectionsManagerClass { this.events.emit(ListenerKey.MESSAGE, unreadMessages); } }, timeInterval); + + this.cancellable.then().catch((err) => { + if (err instanceof Error) { + if (err.message !== "Task was cancelled") throw err; + } else throw err; + }); } stopFetchingMessages(): void { diff --git a/src/prism-agent/helpers/Task.ts b/src/prism-agent/helpers/Task.ts index 66c488905..e48e47525 100644 --- a/src/prism-agent/helpers/Task.ts +++ b/src/prism-agent/helpers/Task.ts @@ -9,9 +9,11 @@ export class CancellableTask { constructor(task: Task, repeatEvery?: number) { this.controller = new AbortController(); this.cancellationToken = new Promise((resolve, reject) => { - this.controller.signal.addEventListener("abort", () => { + const onAbort = () => { + this.controller.signal.removeEventListener("abort", onAbort); reject(new Error("Task was cancelled")); - }); + }; + this.controller.signal.addEventListener("abort", onAbort); if (repeatEvery !== undefined) { this.period = Math.max(repeatEvery, 10); this.loopOnTaskEvery(task, reject);