hypercore 11.0.22 → 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.
@@ -123,16 +123,11 @@ module.exports = class BitInterlude {
123
123
 
124
124
  const buf = b4a.allocUnsafe(bitfield.getPageByteLength())
125
125
 
126
- const view = new DataView(
127
- buf.buffer,
128
- buf.byteOffset,
129
- buf.byteLength
130
- )
131
-
132
126
  if (page) {
133
- for (let i = 0; i < page.bitfield.length; i++) {
134
- view.setUint32(i * 4, page.bitfield[i], true)
135
- }
127
+ const src = page.bitfield // Uint32Array
128
+ buf.set(b4a.from(src.buffer, src.byteOffset, src.byteLength), 0)
129
+ } else {
130
+ b4a.fill(buf, 0)
136
131
  }
137
132
 
138
133
  const last = (pageIndex + 1) * (buf.byteLength << 3)
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
- if (!manifest && this.compat) manifest = Verifier.defaultSignerManifest(this.header.key)
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) || (this.compat && Verifier.isCompat(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
- manifest = Verifier.createManifest(manifest) // To unslab
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hypercore",
3
- "version": "11.0.22",
3
+ "version": "11.0.24",
4
4
  "description": "Hypercore is a secure, distributed append-only log",
5
5
  "main": "index.js",
6
6
  "scripts": {