hypercore 11.0.23 → 11.0.24
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 +8 -7
- package/package.json +1 -1
package/lib/core.js
CHANGED
|
@@ -408,24 +408,25 @@ module.exports = class Core {
|
|
|
408
408
|
|
|
409
409
|
_verifyBatchUpgrade (batch, manifest) {
|
|
410
410
|
if (!this.header.manifest) {
|
|
411
|
-
|
|
411
|
+
// compat, drop at some point
|
|
412
|
+
if (!manifest) manifest = Verifier.defaultSignerManifest(this.header.key)
|
|
412
413
|
|
|
413
|
-
if (!manifest || !(Verifier.isValidManifest(this.header.key, manifest) ||
|
|
414
|
+
if (!manifest || !(Verifier.isValidManifest(this.header.key, manifest) || Verifier.isCompat(this.header.key, manifest))) {
|
|
414
415
|
throw INVALID_SIGNATURE('Proof contains an invalid manifest') // TODO: proper error type
|
|
415
416
|
}
|
|
416
417
|
}
|
|
417
418
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
const verifier = this.verifier || new Verifier(this.header.key, manifest, { legacy: this._legacy })
|
|
421
|
-
|
|
419
|
+
const verifier = this.verifier || new Verifier(this.header.key, Verifier.createManifest(manifest), { legacy: this._legacy })
|
|
422
420
|
if (!verifier.verify(batch, batch.signature)) {
|
|
423
421
|
throw INVALID_SIGNATURE('Proof contains an invalid signature')
|
|
424
422
|
}
|
|
423
|
+
|
|
424
|
+
return manifest
|
|
425
425
|
}
|
|
426
426
|
|
|
427
427
|
async _verifyExclusive ({ batch, bitfield, value, manifest }) {
|
|
428
|
-
this._verifyBatchUpgrade(batch, manifest)
|
|
428
|
+
manifest = this._verifyBatchUpgrade(batch, manifest)
|
|
429
|
+
|
|
429
430
|
if (!batch.commitable()) return false
|
|
430
431
|
|
|
431
432
|
if (this.preupdate !== null) await this.preupdate(batch, this.header.key)
|