hypercore 11.19.0 → 11.19.1

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 (2) hide show
  1. package/lib/core.js +13 -8
  2. package/package.json +1 -1
package/lib/core.js CHANGED
@@ -154,6 +154,9 @@ module.exports = class Core {
154
154
 
155
155
  let header = storage ? parseHeader(await getCoreInfo(storage)) : null
156
156
 
157
+ const hadManifest = !!header && !!header.manifest && !!header.key
158
+ const hadKeyPair = !!header && !!header.keyPair
159
+
157
160
  if (force && opts.key && header && !b4a.equals(header.key, opts.key)) {
158
161
  overwrite = true
159
162
  }
@@ -288,14 +291,16 @@ module.exports = class Core {
288
291
  // to unslab
289
292
  if (header.manifest) {
290
293
  header.manifest = Verifier.createManifest(header.manifest)
291
- const tx = storage.write()
292
- tx.setAuth({
293
- key: header.key,
294
- discoveryKey: crypto.discoveryKey(header.key),
295
- manifest: header.manifest,
296
- keyPair: header.keyPair
297
- })
298
- await tx.flush()
294
+ if (!hadManifest || (header.keyPair && !hadKeyPair)) {
295
+ const tx = storage.write()
296
+ tx.setAuth({
297
+ key: header.key,
298
+ discoveryKey: crypto.discoveryKey(header.key),
299
+ manifest: header.manifest,
300
+ keyPair: header.keyPair
301
+ })
302
+ await tx.flush()
303
+ }
299
304
  }
300
305
 
301
306
  const verifier = header.manifest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypercore",
3
- "version": "11.19.0",
3
+ "version": "11.19.1",
4
4
  "description": "Hypercore is a secure, distributed append-only log",
5
5
  "main": "index.js",
6
6
  "scripts": {