From 81f2c570bc4c4a668d7da25bd72906ff4fd0b45d Mon Sep 17 00:00:00 2001 From: Mark Henderson Date: Tue, 14 May 2019 08:04:54 -0400 Subject: [PATCH 1/7] test: open() in before --- test/identity-provider.test.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/identity-provider.test.js b/test/identity-provider.test.js index bb9bfa7..664e398 100644 --- a/test/identity-provider.test.js +++ b/test/identity-provider.test.js @@ -133,6 +133,10 @@ describe('Identity Provider', function () { const id = 'QmFoo' let identity + before(async () => { + await identityKeystore.open() + }) + it('identity pkSignature verifies', async () => { identity = await Identities.createIdentity({ id, type, keystore: identityKeystore }) const verified = await Keystore.verify(identity.signatures.id, identity.publicKey, identity.id) From 7c1bb1477cf08e31007e83b817e1464ab7135bfe Mon Sep 17 00:00:00 2001 From: Mark Henderson Date: Tue, 14 May 2019 09:49:07 -0400 Subject: [PATCH 2/7] package.json and src update --- package-lock.json | 149 +++++++++++++++++++++++++++++++--------------- package.json | 2 +- src/identities.js | 3 + 3 files changed, 105 insertions(+), 49 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2bf6e3d..5121cdc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -363,11 +363,12 @@ } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "requires": { + "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { @@ -769,9 +770,9 @@ }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2016,6 +2017,11 @@ "object-assign": "^4.0.1" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -2243,7 +2249,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -2264,12 +2271,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2284,17 +2293,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -2411,7 +2423,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -2423,6 +2436,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2437,6 +2451,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2444,12 +2459,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2468,6 +2485,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -2555,7 +2573,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2567,6 +2586,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -2652,7 +2672,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -2688,6 +2709,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2707,6 +2729,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2750,12 +2773,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -4186,9 +4211,9 @@ "dev": true }, "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, "nice-try": { @@ -4429,9 +4454,8 @@ } }, "orbit-db-keystore": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/orbit-db-keystore/-/orbit-db-keystore-0.2.0.tgz", - "integrity": "sha512-RvpCI3cdqpUnqAscYRgJG8QC2QZk5fsye9Ebag0nzad8VbBAPsHreVN5FSYT417vGdDn7Sf6mBZ51bhAg1yhNA==", + "version": "github:orbitdb/orbit-db-keystore#fd1ab12ee8eac42ec7eedcdfdfaff999f30b0b20", + "from": "github:orbitdb/orbit-db-keystore#fix/persistent-leveldb-connection", "requires": { "elliptic": "^6.4.1", "level-js": "~3.0.0", @@ -5100,9 +5124,9 @@ }, "dependencies": { "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -5226,18 +5250,47 @@ "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" }, "secp256k1": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.6.2.tgz", - "integrity": "sha512-90nYt7yb0LmI4A2jJs1grglkTAXrBwxYAjP9bpeKjvJKOjG2fOeH/YI/lchDMIvjrOasd5QXwvV2jwN168xNng==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.0.tgz", + "integrity": "sha512-YlUIghD6ilkMkzmFJpIdVjiamv2S8lNZ9YMwm1XII9JC0NcR5qQiv2DOp/G37sExBtaMStzba4VDJtvBXEbmMQ==", "requires": { - "bindings": "^1.2.1", - "bip66": "^1.1.3", - "bn.js": "^4.11.3", - "create-hash": "^1.1.2", + "bindings": "^1.5.0", + "bip66": "^1.1.5", + "bn.js": "^4.11.8", + "create-hash": "^1.2.0", "drbg.js": "^1.0.1", - "elliptic": "^6.2.3", - "nan": "^2.2.1", - "safe-buffer": "^5.1.0" + "elliptic": "^6.4.1", + "nan": "^2.13.2", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + } } }, "semver": { @@ -6192,9 +6245,9 @@ "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" }, "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", "dev": true }, "validate-npm-package-license": { @@ -6233,9 +6286,9 @@ } }, "webpack": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.30.0.tgz", - "integrity": "sha512-4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.31.0.tgz", + "integrity": "sha512-n6RVO3X0LbbipoE62akME9K/JI7qYrwwufs20VvgNNpqUoH4860KkaxJTbGq5bgkVZF9FqyyTG/0WPLH3PVNJA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", @@ -6265,9 +6318,9 @@ } }, "webpack-cli": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.1.tgz", - "integrity": "sha512-c2inFU7SM0IttEgF7fK6AaUsbBnORRzminvbyRKS+NlbQHVZdCtzKBlavRL5359bFsywXGRAItA5di/IruC8mg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.2.tgz", + "integrity": "sha512-FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -6346,9 +6399,9 @@ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" }, "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, "requires": { "errno": "~0.1.7" diff --git a/package.json b/package.json index c46b626..e4c96a6 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,6 @@ }, "dependencies": { "ethers": "^4.0.20", - "orbit-db-keystore": "~0.2.0" + "orbit-db-keystore": "orbitdb/orbit-db-keystore#fix/persistent-leveldb-connection" } } diff --git a/src/identities.js b/src/identities.js index f6fe059..16156a3 100644 --- a/src/identities.js +++ b/src/identities.js @@ -37,6 +37,9 @@ class Identities { const IdentityProvider = getHandlerFor(options.type) const identityProvider = new IdentityProvider(options) const id = await identityProvider.getId(options) + + await this._keystore.open() + if (options.migrate) { await options.migrate({ targetPath: this._keystore.path, targetId: id }) } From f60af99bf4e21c12270c299aa0ba18af775d1689 Mon Sep 17 00:00:00 2001 From: Mark Henderson Date: Tue, 14 May 2019 11:09:48 -0400 Subject: [PATCH 3/7] keystore path fix --- src/identities.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/identities.js b/src/identities.js index 16156a3..28bcd47 100644 --- a/src/identities.js +++ b/src/identities.js @@ -41,7 +41,7 @@ class Identities { await this._keystore.open() if (options.migrate) { - await options.migrate({ targetPath: this._keystore.path, targetId: id }) + await options.migrate({ targetPath: this._keystore._store.db.location, targetId: id }) } const { publicKey, idSignature } = await this.signId(id) const pubKeyIdSignature = await identityProvider.signIdentity(publicKey + idSignature, options) From 9cf9d0e00ea339da4f47d9cd5314fc14aa16eede Mon Sep 17 00:00:00 2001 From: shamb0t Date: Tue, 14 May 2019 17:08:28 +0100 Subject: [PATCH 4/7] update io deps --- package-lock.json | 46 +++++++++++++--------------------------------- package.json | 2 +- src/identities.js | 2 +- 3 files changed, 15 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5121cdc..8b8be55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2249,8 +2249,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -2271,14 +2270,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2293,20 +2290,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -2423,8 +2417,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -2436,7 +2429,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2451,7 +2443,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2459,14 +2450,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -2485,7 +2474,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -2573,8 +2561,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -2586,7 +2573,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -2672,8 +2658,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -2709,7 +2694,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2729,7 +2713,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2773,14 +2756,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -3821,9 +3802,8 @@ } }, "localstorage-level-migration": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/localstorage-level-migration/-/localstorage-level-migration-0.0.1.tgz", - "integrity": "sha512-2W+RstBs9hInBLuNYYg1YOpcW8nGsOfTpSR/yjWmwRgPbNmLjBnYcfHJ63rOhacom1vU1c969z5+XvKmPuhLfQ==", + "version": "github:orbitdb/localstorage-level-migration#1adc96bd5fccef66d0cfa46ddafe07a0c96b27b1", + "from": "github:orbitdb/localstorage-level-migration#fix/persistent-store", "dev": true, "requires": { "level": "^4.0.0", diff --git a/package.json b/package.json index e4c96a6..ee47887 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "standard": "^12.0.1", "webpack": "^4.27.1", "webpack-cli": "^3.1.2", - "localstorage-level-migration": "^0.0.1" + "localstorage-level-migration": "github:orbitdb/localstorage-level-migration#fix/persistent-store" }, "standard": { "env": [ diff --git a/src/identities.js b/src/identities.js index 28bcd47..af0f09e 100644 --- a/src/identities.js +++ b/src/identities.js @@ -41,7 +41,7 @@ class Identities { await this._keystore.open() if (options.migrate) { - await options.migrate({ targetPath: this._keystore._store.db.location, targetId: id }) + await options.migrate({ targetStore: this._keystore._store, targetId: id }) } const { publicKey, idSignature } = await this.signId(id) const pubKeyIdSignature = await identityProvider.signIdentity(publicKey + idSignature, options) From 0e731d7806636a97a688fe68e518b9f6df4cad87 Mon Sep 17 00:00:00 2001 From: Mark Henderson Date: Tue, 14 May 2019 12:25:33 -0400 Subject: [PATCH 5/7] fix: removing keystore.open --- src/identities.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/identities.js b/src/identities.js index af0f09e..b155ffc 100644 --- a/src/identities.js +++ b/src/identities.js @@ -38,8 +38,6 @@ class Identities { const identityProvider = new IdentityProvider(options) const id = await identityProvider.getId(options) - await this._keystore.open() - if (options.migrate) { await options.migrate({ targetStore: this._keystore._store, targetId: id }) } From acccc5f5a65126a5992d79e48ad50690c5bc86e4 Mon Sep 17 00:00:00 2001 From: shamb0t Date: Wed, 15 May 2019 12:21:46 +0100 Subject: [PATCH 6/7] close keystore after signing --- src/identities.js | 1 + src/orbit-db-identity-provider.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/identities.js b/src/identities.js index b155ffc..82195b6 100644 --- a/src/identities.js +++ b/src/identities.js @@ -51,6 +51,7 @@ class Identities { const key = await keystore.getKey(id) || await keystore.createKey(id) const publicKey = keystore.getPublic(key) const idSignature = await keystore.sign(key, id) + await this._keystore.close() return { publicKey, idSignature } } diff --git a/src/orbit-db-identity-provider.js b/src/orbit-db-identity-provider.js index 84faa39..072e3de 100644 --- a/src/orbit-db-identity-provider.js +++ b/src/orbit-db-identity-provider.js @@ -34,8 +34,10 @@ class OrbitDBIdentityProvider extends IdentityProvider { if (!key) { throw new Error(`Signing key for '${id}' not found`) } + const sig = await keystore.sign(key, data) + await this._keystore.close() - return keystore.sign(key, data) + return sig } static async verifyIdentity (identity) { From ae91066193fe3f2814a5b23f380cb8667b2de918 Mon Sep 17 00:00:00 2001 From: shamb0t Date: Wed, 15 May 2019 12:41:47 +0100 Subject: [PATCH 7/7] check if close fn exists --- src/identities.js | 4 +++- src/orbit-db-identity-provider.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/identities.js b/src/identities.js index 82195b6..2d08667 100644 --- a/src/identities.js +++ b/src/identities.js @@ -51,7 +51,9 @@ class Identities { const key = await keystore.getKey(id) || await keystore.createKey(id) const publicKey = keystore.getPublic(key) const idSignature = await keystore.sign(key, id) - await this._keystore.close() + if (this._keystore.close) { + await this._keystore.close() + } return { publicKey, idSignature } } diff --git a/src/orbit-db-identity-provider.js b/src/orbit-db-identity-provider.js index 072e3de..ac07e40 100644 --- a/src/orbit-db-identity-provider.js +++ b/src/orbit-db-identity-provider.js @@ -35,7 +35,9 @@ class OrbitDBIdentityProvider extends IdentityProvider { throw new Error(`Signing key for '${id}' not found`) } const sig = await keystore.sign(key, data) - await this._keystore.close() + if (this._keystore.close) { + await this._keystore.close() + } return sig }