Browse Source

update to use latest cobox-group

Kieran Gibb 2 years ago
parent
commit
bc79771a81
No known key found for this signature in database
4 changed files with 175 additions and 54 deletions
  1. 21
    17
      index.js
  2. 3
    3
      package.json
  3. 5
    4
      test/index.test.js
  4. 146
    30
      yarn.lock

+ 21
- 17
index.js View File

@@ -1,13 +1,12 @@
1
-const Group = require('cobox-group')
1
+const { Encrypted, Decrypted } = require('cobox-group')
2 2
 const Config = require('cobox-config')
3
-const Crypto = require('cobox-crypto')
3
+const crypto = require('cobox-crypto')
4 4
 const path = require('path')
5 5
 const thunky = require('thunky')
6 6
 const debug = require('debug')('cobox-server')
7 7
 const constants = require('cobox-constants')
8 8
 const maybe = require('call-me-maybe')
9 9
 
10
-const crypto = Crypto() 
11 10
 const { isString } = require('./util')
12 11
 
13 12
 module.exports = (storage, opts) => new GroupStore(storage, opts)
@@ -21,12 +20,14 @@ class GroupStore {
21 20
     this.opts = opts
22 21
 
23 22
     this.groups = this.config.groups.list().reduce((collection, groupOpts) => {
24
-      var key
25
-      if (!groupOpts.symmetricKey) key = groupOpts.publicKey
26
-      else key = crypto.pack(groupOpts.publicKey, groupOpts.symmetricKey)
27
-      var group = Group(this.storage, key, this.opts)
28
-      collection[groupOpts.publicKey] = group
29
-      collection[group.publicKey] = group
23
+      var { address, encryptionKey } = groupOpts
24
+
25
+      var group = encryptionKey
26
+        ? Decrypted(this.storage, address, Object.assign(this.opts, { encryptionKey }))
27
+        : Encrypted(this.storage, address, this.opts)
28
+
29
+      collection[address] = group
30
+      collection[group.address] = group
30 31
       if (group.name) collection[group.name] = group
31 32
       return collection
32 33
     }, {})
@@ -71,25 +72,28 @@ class GroupStore {
71 72
 
72 73
         if (key) {
73 74
           keys = crypto.unpack(key)
74
-          var group = this.groups[keys.publicKey.toString('hex')]
75
+          var group = this.groups[keys.address.toString('hex')]
75 76
           if (group) return resolve(group)
76 77
         } else {
77 78
           key = crypto.accessKey()
78 79
           keys = crypto.unpack(key)
79 80
         }
80 81
 
81
-        var groupOpts = this.config.groups[keys.publicKey]
82
+        var { address, encryptionKey } = keys
83
+        var groupOpts = this.config.groups[address]
82 84
         if (groupOpts && name && groupOpts.name !== name) return reject(new Error('invalid: group with this name already exists'))
83 85
 
84
-        var group = Group(this.storage, key, this.opts)
85
-        this.groups[group.publicKey.toString('hex')] = group
86
-        this.groups[group.publicKey] = group
86
+        var group = encryptionKey
87
+          ? Decrypted(this.storage, address, Object.assign(this.opts, { encryptionKey }))
88
+          : Encrypted(this.storage, address, this.opts)
89
+
90
+        this.groups[address.toString('hex')] = group
91
+        this.groups[address] = group
87 92
         if (name) this.groups[name] = group
88 93
 
89 94
         if (!groupOpts) {
90
-          groupOpts = group.keys
91
-          if (name) groupOpts.name = name
92
-          this.config.groups.set(group.publicKey, groupOpts)
95
+          if (name) keys.name = name
96
+          this.config.groups.set(address, keys)
93 97
           this.config.save()
94 98
         }
95 99
 

+ 3
- 3
package.json View File

@@ -13,10 +13,10 @@
13 13
   "license": "AGPL-3.0-or-later",
14 14
   "dependencies": {
15 15
     "call-me-maybe": "^1.0.1",
16
-    "cobox-config": "^2.0.0",
16
+    "cobox-crypto": "git+https://ledger-git.dyne.org/cobox/cobox-crypto#development",
17 17
     "cobox-constants": "^1.0.0",
18
-    "cobox-crypto": "^1.1.0",
19
-    "cobox-group": "git+https://ledger-git.dyne.org/cobox/cobox-group",
18
+    "cobox-config": "git+https://ledger-git.dyne.org/cobox/cobox-config#development",
19
+    "cobox-group": "git+https://ledger-git.dyne.org/cobox/cobox-group#development",
20 20
     "debug": "^4.1.1",
21 21
     "thunky": "^1.1.0"
22 22
   },

+ 5
- 4
test/index.test.js View File

@@ -1,7 +1,7 @@
1 1
 const { describe } = require('tape-plus')
2 2
 const Config = require('cobox-config')
3 3
 const Group = require('cobox-group')
4
-const crypto = require('cobox-crypto')()
4
+const crypto = require('cobox-crypto')
5 5
 const Store = require('../')
6 6
 
7 7
 const { tmp, cleanup } = require('./util')
@@ -16,12 +16,13 @@ describe('group store: basic', (context) => {
16 16
 
17 17
   context('on load it caches existing groups from the config', function (assert, next) {
18 18
     var group = crypto.keySet()
19
-    config.groups.set(group.publicKey, group)
19
+    config.groups.set(group.address, group)
20 20
     const store = Store(storage, { config })
21
+
21 22
     store.ready(() => {
22 23
       assert.ok(Object.values(store.groups).length, 'builds then caches groups from the config')
23
-      assert.ok(store.groups[group.publicKey], 'accessible using buffer')
24
-      assert.ok(store.groups[group.publicKey.toString('hex')], 'accessible using hex')
24
+      assert.ok(store.groups[group.address], 'accessible using buffer')
25
+      assert.ok(store.groups[group.address.toString('hex')], 'accessible using hex')
25 26
       cleanup(storage, next)
26 27
     })
27 28
   })

+ 146
- 30
yarn.lock View File

@@ -40,10 +40,15 @@
40 40
     nanoresource "^1.0.0"
41 41
     utp-native "^2.1.3"
42 42
 
43
+"@types/node@11.11.6":
44
+  version "11.11.6"
45
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a"
46
+  integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==
47
+
43 48
 abstract-extension@^3.0.1:
44
-  version "3.0.1"
45
-  resolved "https://registry.yarnpkg.com/abstract-extension/-/abstract-extension-3.0.1.tgz#5b1961dbf9dc89fab367a861376a7a0a98693413"
46
-  integrity sha512-5EQdWgjJo81nR6fK8DeyXzxGQRInxfSxYgLFaP81DaUGix3IAfiz6VtzwXqMjp+qXeYnlGPn/vSSlz13SejbrA==
49
+  version "3.1.0"
50
+  resolved "https://registry.yarnpkg.com/abstract-extension/-/abstract-extension-3.1.0.tgz#104da6e40765216d60688e31ee17fed6f4ed2196"
51
+  integrity sha512-IhhwBFoP2l4xm0gp/YGzOfkie28OCT0X3OG4k9Zari/cM92QUU1tluUIBdhVrGXF8KrFGd8x9snuz152j6yi6A==
47 52
   dependencies:
48 53
     codecs "^2.0.0"
49 54
 
@@ -146,6 +151,16 @@ binary-search@^1.2.0:
146 151
   resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.6.tgz#e32426016a0c5092f0f3598836a1c7da3560565c"
147 152
   integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==
148 153
 
154
+bip39@^3.0.2:
155
+  version "3.0.2"
156
+  resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32"
157
+  integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==
158
+  dependencies:
159
+    "@types/node" "11.11.6"
160
+    create-hash "^1.1.0"
161
+    pbkdf2 "^3.0.9"
162
+    randombytes "^2.0.1"
163
+
149 164
 bitfield-rle@^2.2.1:
150 165
   version "2.2.1"
151 166
   resolved "https://registry.yarnpkg.com/bitfield-rle/-/bitfield-rle-2.2.1.tgz#07c910f7e650c005c46d18ee5ca6e62c4baf8310"
@@ -308,6 +323,14 @@ chrome-net@^3.3.2:
308 323
   dependencies:
309 324
     inherits "^2.0.1"
310 325
 
326
+cipher-base@^1.0.1, cipher-base@^1.0.3:
327
+  version "1.0.4"
328
+  resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
329
+  integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
330
+  dependencies:
331
+    inherits "^2.0.1"
332
+    safe-buffer "^5.0.1"
333
+
311 334
 circular-append-file@^1.0.1:
312 335
   version "1.0.1"
313 336
   resolved "https://registry.yarnpkg.com/circular-append-file/-/circular-append-file-1.0.1.tgz#5d218c5b04556cd1d2eeee697691dddd206c514b"
@@ -320,12 +343,24 @@ clone@^2.1.2:
320 343
   resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
321 344
   integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
322 345
 
323
-cobox-config@^2.0.0:
346
+"cobox-config@git+https://ledger-git.dyne.org/CoBox/cobox-config#development":
324 347
   version "2.0.0"
325
-  resolved "https://registry.yarnpkg.com/cobox-config/-/cobox-config-2.0.0.tgz#6eed6f2b2fb5384d4fa78caf1fcd02961f7810ba"
326
-  integrity sha512-y926lU+0omS571LUrIDsUPAxNQNIkGlb3xLRdKf9uCqOLDnPz/p2qT2zdtb+5IGsYeIgHEcI7MBFmXvjvSCXFQ==
348
+  uid f328ef7ae06f8cb506989352ba0f094cc1a3106f
349
+  resolved "git+https://ledger-git.dyne.org/CoBox/cobox-config#f328ef7ae06f8cb506989352ba0f094cc1a3106f"
327 350
   dependencies:
328
-    cobox-crypto "git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git"
351
+    cobox-crypto "git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git#development"
352
+    debug "^4.1.1"
353
+    js-yaml "^3.13.1"
354
+    mkdirp "^0.5.1"
355
+    os "^0.1.1"
356
+    pino "^5.13.2"
357
+    urlsafe-base64 "^1.0.0"
358
+
359
+"cobox-config@git+https://ledger-git.dyne.org/cobox/cobox-config#development":
360
+  version "2.0.0"
361
+  resolved "git+https://ledger-git.dyne.org/cobox/cobox-config#f328ef7ae06f8cb506989352ba0f094cc1a3106f"
362
+  dependencies:
363
+    cobox-crypto "git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git#development"
329 364
     debug "^4.1.1"
330 365
     js-yaml "^3.13.1"
331 366
     mkdirp "^0.5.1"
@@ -340,36 +375,50 @@ cobox-constants@^1.0.0:
340 375
   dependencies:
341 376
     os "^0.1.1"
342 377
 
343
-cobox-crypto@^1.1.0, "cobox-crypto@git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git":
378
+"cobox-crypto@git+https://ledger-git.dyne.org/CoBox/cobox-crypto#development":
379
+  version "1.1.0"
380
+  uid "0ee347eaf84f88deca469185061be825a86f7fe9"
381
+  resolved "git+https://ledger-git.dyne.org/CoBox/cobox-crypto#0ee347eaf84f88deca469185061be825a86f7fe9"
382
+  dependencies:
383
+    assert "^2.0.0"
384
+    bip39 "^3.0.2"
385
+    hypercore-crypto "^1.0.0"
386
+    sodium-native "^2.4.2"
387
+
388
+"cobox-crypto@git+https://ledger-git.dyne.org/cobox/cobox-crypto#development":
344 389
   version "1.1.0"
345
-  resolved "git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git#5a64d8b1ee3746f729cd0c69165d4417988903ab"
390
+  resolved "git+https://ledger-git.dyne.org/cobox/cobox-crypto#0ee347eaf84f88deca469185061be825a86f7fe9"
346 391
   dependencies:
347 392
     assert "^2.0.0"
393
+    bip39 "^3.0.2"
348 394
     hypercore-crypto "^1.0.0"
349 395
     sodium-native "^2.4.2"
350 396
 
351
-"cobox-crypto@git+https://ledger-git.dyne.org/CoBox/cobox-crypto":
397
+"cobox-crypto@git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git#development":
352 398
   version "1.1.0"
353
-  uid "5a64d8b1ee3746f729cd0c69165d4417988903ab"
354
-  resolved "git+https://ledger-git.dyne.org/CoBox/cobox-crypto#5a64d8b1ee3746f729cd0c69165d4417988903ab"
399
+  uid "0ee347eaf84f88deca469185061be825a86f7fe9"
400
+  resolved "git+ssh://git@ledger-git.dyne.org:2240/CoBox/cobox-crypto.git#0ee347eaf84f88deca469185061be825a86f7fe9"
355 401
   dependencies:
356 402
     assert "^2.0.0"
403
+    bip39 "^3.0.2"
357 404
     hypercore-crypto "^1.0.0"
358 405
     sodium-native "^2.4.2"
359 406
 
360
-"cobox-group@git+https://ledger-git.dyne.org/cobox/cobox-group#swarm":
407
+"cobox-group@git+https://ledger-git.dyne.org/cobox/cobox-group#development":
361 408
   version "2.0.0"
362
-  resolved "git+https://ledger-git.dyne.org/cobox/cobox-group#276ac8947506700f5be6d4a178ce5a929a904797"
409
+  resolved "git+https://ledger-git.dyne.org/cobox/cobox-group#b583d77cd37c60e41569abe16a62fbb3f98614e6"
363 410
   dependencies:
364 411
     assert "^2.0.0"
365 412
     call-me-maybe "^1.0.1"
366
-    cobox-config "^2.0.0"
367
-    cobox-crypto "git+https://ledger-git.dyne.org/CoBox/cobox-crypto"
413
+    cobox-config "git+https://ledger-git.dyne.org/CoBox/cobox-config#development"
414
+    cobox-constants "^1.0.0"
415
+    cobox-crypto "git+https://ledger-git.dyne.org/CoBox/cobox-crypto#development"
368 416
     cobox-swarm "git+https://ledger-git.dyne.org/CoBox/cobox-swarm"
369 417
     kappa-core "^6.0.0"
370 418
     kappa-drive "git+https://ledger-git.dyne.org/CoBox/kappa-drive"
371 419
     kappa-view-query "^2.0.7"
372 420
     level "^5.0.1"
421
+    level-live-stream "^1.4.12"
373 422
     memdb "^1.3.1"
374 423
     mkdirp "^0.5.1"
375 424
     multifeed "^5.1.0"
@@ -380,7 +429,7 @@ cobox-crypto@^1.1.0, "cobox-crypto@git+ssh://git@ledger-git.dyne.org:2240/CoBox/
380 429
 
381 430
 "cobox-swarm@git+https://ledger-git.dyne.org/CoBox/cobox-swarm":
382 431
   version "1.0.0"
383
-  resolved "git+https://ledger-git.dyne.org/CoBox/cobox-swarm#1d9b0ab5e941c91f1a1bfa678a07028cac61f1b3"
432
+  resolved "git+https://ledger-git.dyne.org/CoBox/cobox-swarm#db351d243fd8b55c2094c88df0e83bca393af0a8"
384 433
   dependencies:
385 434
     dat-swarm-defaults "^1.0.2"
386 435
     debug "^4.1.1"
@@ -458,6 +507,29 @@ count-trailing-zeros@^1.0.1:
458 507
   resolved "https://registry.yarnpkg.com/count-trailing-zeros/-/count-trailing-zeros-1.0.1.tgz#aba6c5833be410d45b1eca3e6d583844ce682c77"
459 508
   integrity sha1-q6bFgzvkENRbHso+bVg4RM5oLHc=
460 509
 
510
+create-hash@^1.1.0, create-hash@^1.1.2:
511
+  version "1.2.0"
512
+  resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
513
+  integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
514
+  dependencies:
515
+    cipher-base "^1.0.1"
516
+    inherits "^2.0.1"
517
+    md5.js "^1.3.4"
518
+    ripemd160 "^2.0.1"
519
+    sha.js "^2.4.0"
520
+
521
+create-hmac@^1.1.4:
522
+  version "1.1.7"
523
+  resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
524
+  integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
525
+  dependencies:
526
+    cipher-base "^1.0.3"
527
+    create-hash "^1.1.0"
528
+    inherits "^2.0.1"
529
+    ripemd160 "^2.0.0"
530
+    safe-buffer "^5.0.1"
531
+    sha.js "^2.4.8"
532
+
461 533
 custom-error-class@^1.0.0:
462 534
   version "1.0.0"
463 535
   resolved "https://registry.yarnpkg.com/custom-error-class/-/custom-error-class-1.0.0.tgz#2cab70fbee030996c79a7b166250d8c8150051ae"
@@ -555,9 +627,9 @@ defined@~1.0.0:
555 627
   integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
556 628
 
557 629
 dht-rpc@^4.1.6:
558
-  version "4.1.7"
559
-  resolved "https://registry.yarnpkg.com/dht-rpc/-/dht-rpc-4.1.7.tgz#68e11f40b7b2b3fd63604b6316533a0e7e988257"
560
-  integrity sha512-XXSqvWXp80EpT24f0nJvwsvgXW2T1F/Upa2X7Wd9KZPO2BY5N2EmckynnwKYkQwuOwhilzDbjR1RUvSQ2tu0Hw==
630
+  version "4.2.0"
631
+  resolved "https://registry.yarnpkg.com/dht-rpc/-/dht-rpc-4.2.0.tgz#940c56752b8fa1bb666ea2d1e78330805d6af7a4"
632
+  integrity sha512-QngXvqy8VzIR2EwWTvZDKhDVKTVpXKRTQaqykWDgNnnILrHKp5Rd8dX9/nfc70sfpjE+7b6E1MtdVlRH1ce9Jw==
561 633
   dependencies:
562 634
     codecs "^2.0.0"
563 635
     ipv4-peers "^2.0.0"
@@ -665,22 +737,22 @@ errno@~0.1.1:
665 737
     prr "~1.0.1"
666 738
 
667 739
 es-abstract@^1.12.0, es-abstract@^1.5.0:
668
-  version "1.16.0"
669
-  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d"
670
-  integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==
740
+  version "1.16.2"
741
+  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.2.tgz#4e874331645e9925edef141e74fc4bd144669d34"
742
+  integrity sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==
671 743
   dependencies:
672
-    es-to-primitive "^1.2.0"
744
+    es-to-primitive "^1.2.1"
673 745
     function-bind "^1.1.1"
674 746
     has "^1.0.3"
675
-    has-symbols "^1.0.0"
747
+    has-symbols "^1.0.1"
676 748
     is-callable "^1.1.4"
677 749
     is-regex "^1.0.4"
678
-    object-inspect "^1.6.0"
750
+    object-inspect "^1.7.0"
679 751
     object-keys "^1.1.1"
680 752
     string.prototype.trimleft "^2.1.0"
681 753
     string.prototype.trimright "^2.1.0"
682 754
 
683
-es-to-primitive@^1.2.0:
755
+es-to-primitive@^1.2.1:
684 756
   version "1.2.1"
685 757
   resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
686 758
   integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
@@ -825,7 +897,7 @@ has-ansi@^2.0.0:
825 897
   dependencies:
826 898
     ansi-regex "^2.0.0"
827 899
 
828
-has-symbols@^1.0.0, has-symbols@^1.0.1:
900
+has-symbols@^1.0.1:
829 901
   version "1.0.1"
830 902
   resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
831 903
   integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
@@ -837,6 +909,14 @@ has@^1.0.1, has@^1.0.3, has@~1.0.3:
837 909
   dependencies:
838 910
     function-bind "^1.1.1"
839 911
 
912
+hash-base@^3.0.0:
913
+  version "3.0.4"
914
+  resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
915
+  integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
916
+  dependencies:
917
+    inherits "^2.0.1"
918
+    safe-buffer "^5.0.1"
919
+
840 920
 hashlru@^2.3.0:
841 921
   version "2.3.0"
842 922
   resolved "https://registry.yarnpkg.com/hashlru/-/hashlru-2.3.0.tgz#5dc15928b3f6961a2056416bb3a4910216fdfb51"
@@ -1477,6 +1557,15 @@ map-filter-reduce@^3.2.2:
1477 1557
     pull-stream "^3.4.3"
1478 1558
     typewiselite "^1.0.0"
1479 1559
 
1560
+md5.js@^1.3.4:
1561
+  version "1.3.5"
1562
+  resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
1563
+  integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
1564
+  dependencies:
1565
+    hash-base "^3.0.0"
1566
+    inherits "^2.0.1"
1567
+    safe-buffer "^5.1.2"
1568
+
1480 1569
 memdb@^1.3.1:
1481 1570
   version "1.3.1"
1482 1571
   resolved "https://registry.yarnpkg.com/memdb/-/memdb-1.3.1.tgz#369f73cda499cf9eab6d6267fae02721d354dec8"
@@ -1720,7 +1809,7 @@ object-assign@^4.1.0:
1720 1809
   resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1721 1810
   integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
1722 1811
 
1723
-object-inspect@^1.6.0:
1812
+object-inspect@^1.7.0:
1724 1813
   version "1.7.0"
1725 1814
   resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"
1726 1815
   integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==
@@ -1789,6 +1878,17 @@ path-starts-with@^1.0.0:
1789 1878
   dependencies:
1790 1879
     normalize-path "^2.1.1"
1791 1880
 
1881
+pbkdf2@^3.0.9:
1882
+  version "3.0.17"
1883
+  resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
1884
+  integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
1885
+  dependencies:
1886
+    create-hash "^1.1.2"
1887
+    create-hmac "^1.1.4"
1888
+    ripemd160 "^2.0.1"
1889
+    safe-buffer "^5.0.1"
1890
+    sha.js "^2.4.8"
1891
+
1792 1892
 pino-std-serializers@^2.4.2:
1793 1893
   version "2.4.2"
1794 1894
   resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-2.4.2.tgz#cb5e3e58c358b26f88969d7e619ae54bdfcc1ae1"
@@ -2002,7 +2102,7 @@ random-access-storage@^1.1.1:
2002 2102
   dependencies:
2003 2103
     inherits "^2.0.3"
2004 2104
 
2005
-randombytes@^2.0.3, randombytes@^2.0.5:
2105
+randombytes@^2.0.1, randombytes@^2.0.3, randombytes@^2.0.5:
2006 2106
   version "2.1.0"
2007 2107
   resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
2008 2108
   integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
@@ -2119,6 +2219,14 @@ rimraf@^3.0.0:
2119 2219
   dependencies:
2120 2220
     glob "^7.1.3"
2121 2221
 
2222
+ripemd160@^2.0.0, ripemd160@^2.0.1:
2223
+  version "2.0.2"
2224
+  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
2225
+  integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
2226
+  dependencies:
2227
+    hash-base "^3.0.0"
2228
+    inherits "^2.0.1"
2229
+
2122 2230
 run-series@^1.1.2:
2123 2231
   version "1.1.8"
2124 2232
   resolved "https://registry.yarnpkg.com/run-series/-/run-series-1.1.8.tgz#2c4558f49221e01cd6371ff4e0a1e203e460fc36"
@@ -2149,6 +2257,14 @@ semver@~5.4.1:
2149 2257
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
2150 2258
   integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==
2151 2259
 
2260
+sha.js@^2.4.0, sha.js@^2.4.8:
2261
+  version "2.4.11"
2262
+  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
2263
+  integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
2264
+  dependencies:
2265
+    inherits "^2.0.1"
2266
+    safe-buffer "^5.0.1"
2267
+
2152 2268
 shuffled-priority-queue@^2.1.0:
2153 2269
   version "2.1.0"
2154 2270
   resolved "https://registry.yarnpkg.com/shuffled-priority-queue/-/shuffled-priority-queue-2.1.0.tgz#432bf14dd90f7c4dd1705752d81aadf454fd3af6"