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.
- package/lib/core.js +13 -8
- 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
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
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
|