@peerbit/log 3.0.12 → 3.0.13

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,145 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import B from "benchmark";
11
+ import { field, option, serialize, variant } from "@dao-xyz/borsh";
12
+ import { v4 as uuid } from "uuid";
13
+ import crypto from "crypto";
14
+ import { Log } from "../log.js";
15
+ import { AnyBlockStore } from "@peerbit/blocks";
16
+ import { Ed25519Keypair } from "@peerbit/crypto";
17
+ import { BORSH_ENCODING } from "../encoding.js";
18
+ import { Entry } from "../entry.js";
19
+ // Run with "node --loader ts-node/esm ./src/__benchmark__/index.ts"
20
+ let Document = class Document {
21
+ id;
22
+ name;
23
+ number;
24
+ bytes;
25
+ constructor(opts) {
26
+ if (opts) {
27
+ this.id = opts.id;
28
+ this.name = opts.name;
29
+ this.number = opts.number;
30
+ this.bytes = opts.bytes;
31
+ }
32
+ }
33
+ };
34
+ __decorate([
35
+ field({ type: "string" }),
36
+ __metadata("design:type", String)
37
+ ], Document.prototype, "id", void 0);
38
+ __decorate([
39
+ field({ type: option("string") }),
40
+ __metadata("design:type", String)
41
+ ], Document.prototype, "name", void 0);
42
+ __decorate([
43
+ field({ type: option("u64") }),
44
+ __metadata("design:type", BigInt)
45
+ ], Document.prototype, "number", void 0);
46
+ __decorate([
47
+ field({ type: Uint8Array }),
48
+ __metadata("design:type", Uint8Array)
49
+ ], Document.prototype, "bytes", void 0);
50
+ Document = __decorate([
51
+ variant("document"),
52
+ __metadata("design:paramtypes", [Document])
53
+ ], Document);
54
+ let log;
55
+ let store;
56
+ const key = await Ed25519Keypair.create();
57
+ const reset = async () => {
58
+ log = new Log();
59
+ store = new AnyBlockStore();
60
+ await log.open(store, key, { encoding: BORSH_ENCODING(Document) });
61
+ };
62
+ await reset();
63
+ class NestedEntry {
64
+ entry;
65
+ constructor(entry) {
66
+ this.entry = entry;
67
+ }
68
+ }
69
+ __decorate([
70
+ field({ type: Entry }),
71
+ __metadata("design:type", Entry)
72
+ ], NestedEntry.prototype, "entry", void 0);
73
+ const suite = new B.Suite({ delay: 100 });
74
+ suite
75
+ .add("1e3", {
76
+ fn: async (deferred) => {
77
+ const doc = new Document({
78
+ id: uuid(),
79
+ name: "hello",
80
+ number: 1n,
81
+ bytes: crypto.randomBytes(1e3)
82
+ });
83
+ await log.append(doc);
84
+ deferred.resolve();
85
+ },
86
+ defer: true
87
+ })
88
+ .add("1e4", {
89
+ fn: async (deferred) => {
90
+ const doc = new Document({
91
+ id: uuid(),
92
+ name: "hello",
93
+ number: 1n,
94
+ bytes: crypto.randomBytes(1e4)
95
+ });
96
+ await log.append(doc);
97
+ deferred.resolve();
98
+ },
99
+ defer: true
100
+ })
101
+ .add("1e5", {
102
+ fn: async (deferred) => {
103
+ const doc = new Document({
104
+ id: uuid(),
105
+ name: "hello",
106
+ number: 1n,
107
+ bytes: crypto.randomBytes(1e5)
108
+ });
109
+ const entry = await log.append(doc);
110
+ serialize(new NestedEntry(entry.entry));
111
+ serialize(new NestedEntry(entry.entry));
112
+ serialize(new NestedEntry(entry.entry));
113
+ serialize(new NestedEntry(entry.entry));
114
+ serialize(new NestedEntry(entry.entry));
115
+ serialize(new NestedEntry(entry.entry));
116
+ serialize(new NestedEntry(entry.entry));
117
+ serialize(new NestedEntry(entry.entry));
118
+ serialize(new NestedEntry(entry.entry));
119
+ serialize(new NestedEntry(entry.entry));
120
+ deferred.resolve();
121
+ },
122
+ defer: true
123
+ })
124
+ .add("1e6", {
125
+ fn: async (deferred) => {
126
+ const doc = new Document({
127
+ id: uuid(),
128
+ name: "hello",
129
+ number: 1n,
130
+ bytes: crypto.randomBytes(1e5)
131
+ });
132
+ await log.append(doc);
133
+ deferred.resolve();
134
+ },
135
+ defer: true
136
+ })
137
+ .on("cycle", async (event) => {
138
+ console.log(String(event.target));
139
+ await reset();
140
+ })
141
+ .on("error", (err) => {
142
+ throw err;
143
+ })
144
+ .run();
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/__benchmark__/index.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,12 @@ export class EntryIndex {
58
58
  }
59
59
  async getFromStore(k, options) {
60
60
  const value = await this._blocks.get(k, options);
61
- return value ? deserialize(value, Entry) : null;
61
+ if (value) {
62
+ const entry = deserialize(value, Entry);
63
+ entry.size = value.length;
64
+ return entry;
65
+ }
66
+ return null;
62
67
  }
63
68
  async delete(k) {
64
69
  this._cache.del(k);
@@ -1 +1 @@
1
- {"version":3,"file":"entry-index.js","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-index.js","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
@@ -103,6 +103,9 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
103
103
  getPublicKeys(): Promise<PublicSignKey[]>;
104
104
  get next(): string[];
105
105
  getNext(): Promise<string[]>;
106
+ private _size;
107
+ set size(number: number);
108
+ get size(): number;
106
109
  /**
107
110
  * Will only return signatures I can decrypt
108
111
  * @returns signatures
@@ -118,8 +121,8 @@ export declare class Entry<T> implements EntryEncryptionTemplate<Meta, Payload<T
118
121
  * @returns true if all are verified
119
122
  */
120
123
  verifySignatures(): Promise<boolean>;
121
- static toSignable(entry: Entry<any>): Uint8Array;
122
- toSignable(): Uint8Array;
124
+ static toSignable(entry: Entry<any>): Entry<any>;
125
+ toSignable(): Entry<any>;
123
126
  equals(other: Entry<T>): boolean;
124
127
  delete(store: Blocks): Promise<void>;
125
128
  static createGid(seed?: Uint8Array): Promise<string>;
package/lib/esm/entry.js CHANGED
@@ -260,6 +260,16 @@ let Entry = Entry_1 = class Entry {
260
260
  async getNext() {
261
261
  return (await this.getMeta()).next;
262
262
  }
263
+ _size;
264
+ set size(number) {
265
+ this._size = number;
266
+ }
267
+ get size() {
268
+ if (this._size == null) {
269
+ throw new Error("Size not set. Size is set when entry is, created, loaded or joined");
270
+ }
271
+ return this._size;
272
+ }
263
273
  /**
264
274
  * Will only return signatures I can decrypt
265
275
  * @returns signatures
@@ -304,8 +314,10 @@ let Entry = Entry_1 = class Entry {
304
314
  if (signatures.length === 0) {
305
315
  return false;
306
316
  }
317
+ const signable = Entry_1.toSignable(this);
318
+ const signableBytes = serialize(signable);
307
319
  for (const signature of signatures) {
308
- if (!(await verify(signature, Entry_1.toSignable(this)))) {
320
+ if (!(await verify(signature, signableBytes))) {
309
321
  return false;
310
322
  }
311
323
  }
@@ -320,7 +332,7 @@ let Entry = Entry_1 = class Entry {
320
332
  signatures: undefined,
321
333
  hash: undefined
322
334
  });
323
- return serialize(trimmed);
335
+ return trimmed;
324
336
  }
325
337
  toSignable() {
326
338
  if (this._signatures) {
@@ -398,7 +410,6 @@ let Entry = Entry_1 = class Entry {
398
410
  }
399
411
  }
400
412
  }
401
- const payload = await maybeEncrypt(payloadToSave, properties.encryption?.keypair, properties.encryption?.receiver.payload);
402
413
  const nextHashes = [];
403
414
  let maxChainLength = 0n;
404
415
  let gid = null;
@@ -433,10 +444,11 @@ let Entry = Entry_1 = class Entry {
433
444
  data: properties.meta?.data,
434
445
  next: nextHashes
435
446
  }), properties.encryption?.keypair, properties.encryption?.receiver.meta);
447
+ const payload = await maybeEncrypt(payloadToSave, properties.encryption?.keypair, properties.encryption?.receiver.payload);
436
448
  // Sign id, encrypted payload, clock, nexts, refs
437
449
  const entry = new Entry_1({
438
- payload,
439
450
  meta: metadataEncrypted,
451
+ payload,
440
452
  signatures: undefined,
441
453
  createdLocally: true
442
454
  });
@@ -444,7 +456,8 @@ let Entry = Entry_1 = class Entry {
444
456
  properties.identity.sign.bind(properties.identity)
445
457
  ];
446
458
  const signable = entry.toSignable();
447
- let signatures = await Promise.all(signers.map((signer) => signer(signable)));
459
+ const signableBytes = serialize(signable);
460
+ let signatures = await Promise.all(signers.map((signer) => signer(signableBytes)));
448
461
  signatures = signatures.sort((a, b) => compare(a.signature, b.signature));
449
462
  const encryptedSignatures = [];
450
463
  const encryptAllSignaturesWithSameKey = isMaybeEryptionPublicKey(properties.encryption?.receiver?.signatures);
@@ -461,7 +474,7 @@ let Entry = Entry_1 = class Entry {
461
474
  if (properties.canAppend && !(await properties.canAppend(entry))) {
462
475
  throw new AccessError();
463
476
  }
464
- // Append hash and signature
477
+ // Append hash
465
478
  entry.hash = await Entry_1.toMultihash(properties.store, entry);
466
479
  entry.init({ encoding: properties.encoding });
467
480
  return entry;
@@ -493,7 +506,9 @@ let Entry = Entry_1 = class Entry {
493
506
  if (entry.hash) {
494
507
  throw new Error("Expected hash to be missing");
495
508
  }
496
- const result = store.put(serialize(entry));
509
+ const bytes = serialize(entry);
510
+ entry.size = bytes.length;
511
+ const result = store.put(bytes);
497
512
  return result;
498
513
  }
499
514
  /**
@@ -512,6 +527,7 @@ let Entry = Entry_1 = class Entry {
512
527
  }
513
528
  const entry = deserialize(bytes, Entry_1);
514
529
  entry.hash = hash;
530
+ entry.size = bytes.length;
515
531
  return entry;
516
532
  }
517
533
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/entry.ts"],"names":[],"mappings":"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"}
package/lib/esm/log.js CHANGED
@@ -420,6 +420,9 @@ let Log = Log_1 = class Log {
420
420
  throw new Error("Unexpected");
421
421
  }
422
422
  for (const e of nexts) {
423
+ if (!this.has(e.hash)) {
424
+ await this.join([e]);
425
+ }
423
426
  let nextIndexSet = this._nextsIndex.get(e.hash);
424
427
  if (!nextIndexSet) {
425
428
  nextIndexSet = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/log",
3
- "version": "3.0.12",
3
+ "version": "3.0.13",
4
4
  "description": "Append-only log CRDT",
5
5
  "author": "dao.xyz",
6
6
  "license": "MIT",
@@ -31,12 +31,12 @@
31
31
  "crdt"
32
32
  ],
33
33
  "dependencies": {
34
- "@dao-xyz/borsh": "^5.1.8",
35
- "@peerbit/blocks-interface": "^1.2.6",
36
- "@peerbit/cache": "2.0.4",
37
- "@peerbit/crypto": "2.1.4",
34
+ "@dao-xyz/borsh": "^5.2.1",
35
+ "@peerbit/blocks-interface": "^1.2.7",
36
+ "@peerbit/cache": "2.0.5",
37
+ "@peerbit/crypto": "2.1.5",
38
38
  "@peerbit/logger": "1.0.2",
39
- "@peerbit/time": "2.0.4",
39
+ "@peerbit/time": "2.0.5",
40
40
  "libp2p": "^1.1.0",
41
41
  "p-queue": "^8.0.1",
42
42
  "path-browserify": "^1.0.1",
@@ -44,7 +44,7 @@
44
44
  "yallist": "^4.0.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@peerbit/test-utils": "2.0.12",
47
+ "@peerbit/test-utils": "2.0.13",
48
48
  "@types/yallist": "^4.0.1",
49
49
  "assert": "^2.0.0",
50
50
  "json-stringify-deterministic": "^1.0.7"
@@ -76,5 +76,5 @@
76
76
  "localMaintainers": [
77
77
  "dao.xyz"
78
78
  ],
79
- "gitHead": "2539f936bbe572f34a297bc8275fcd059105fc2a"
79
+ "gitHead": "180a8c4e6ab6f713134c949d2d7ce9fc5648a4ce"
80
80
  }
@@ -0,0 +1,130 @@
1
+ import B from "benchmark";
2
+ import { field, option, serialize, variant } from "@dao-xyz/borsh";
3
+ import { v4 as uuid } from "uuid";
4
+ import crypto from "crypto";
5
+ import { Log } from "../log.js";
6
+ import { AnyBlockStore } from "@peerbit/blocks";
7
+ import { Ed25519Keypair } from "@peerbit/crypto";
8
+ import { BORSH_ENCODING } from "../encoding.js";
9
+ import { Entry } from "../entry.js";
10
+
11
+ // Run with "node --loader ts-node/esm ./src/__benchmark__/index.ts"
12
+
13
+ @variant("document")
14
+ class Document {
15
+ @field({ type: "string" })
16
+ id: string;
17
+
18
+ @field({ type: option("string") })
19
+ name?: string;
20
+
21
+ @field({ type: option("u64") })
22
+ number?: bigint;
23
+
24
+ @field({ type: Uint8Array })
25
+ bytes: Uint8Array;
26
+
27
+ constructor(opts: Document) {
28
+ if (opts) {
29
+ this.id = opts.id;
30
+ this.name = opts.name;
31
+ this.number = opts.number;
32
+ this.bytes = opts.bytes;
33
+ }
34
+ }
35
+ }
36
+ let log: Log<Document>;
37
+ let store: AnyBlockStore;
38
+ const key = await Ed25519Keypair.create();
39
+
40
+ const reset = async () => {
41
+ log = new Log<Document>();
42
+ store = new AnyBlockStore();
43
+ await log.open(store, key, { encoding: BORSH_ENCODING(Document) });
44
+ };
45
+ await reset();
46
+
47
+ class NestedEntry {
48
+ @field({ type: Entry })
49
+ entry: Entry<any>;
50
+
51
+ constructor(entry: Entry<any>) {
52
+ this.entry = entry;
53
+ }
54
+ }
55
+ const suite = new B.Suite({ delay: 100 });
56
+ suite
57
+ .add("1e3", {
58
+ fn: async (deferred) => {
59
+ const doc = new Document({
60
+ id: uuid(),
61
+ name: "hello",
62
+ number: 1n,
63
+ bytes: crypto.randomBytes(1e3)
64
+ });
65
+ await log.append(doc);
66
+
67
+ deferred.resolve();
68
+ },
69
+ defer: true
70
+ })
71
+ .add("1e4", {
72
+ fn: async (deferred) => {
73
+ const doc = new Document({
74
+ id: uuid(),
75
+ name: "hello",
76
+ number: 1n,
77
+ bytes: crypto.randomBytes(1e4)
78
+ });
79
+ await log.append(doc);
80
+
81
+ deferred.resolve();
82
+ },
83
+ defer: true
84
+ })
85
+ .add("1e5", {
86
+ fn: async (deferred) => {
87
+ const doc = new Document({
88
+ id: uuid(),
89
+ name: "hello",
90
+ number: 1n,
91
+ bytes: crypto.randomBytes(1e5)
92
+ });
93
+ const entry = await log.append(doc);
94
+ serialize(new NestedEntry(entry.entry));
95
+ serialize(new NestedEntry(entry.entry));
96
+ serialize(new NestedEntry(entry.entry));
97
+ serialize(new NestedEntry(entry.entry));
98
+ serialize(new NestedEntry(entry.entry));
99
+ serialize(new NestedEntry(entry.entry));
100
+ serialize(new NestedEntry(entry.entry));
101
+ serialize(new NestedEntry(entry.entry));
102
+ serialize(new NestedEntry(entry.entry));
103
+ serialize(new NestedEntry(entry.entry));
104
+
105
+ deferred.resolve();
106
+ },
107
+ defer: true
108
+ })
109
+ .add("1e6", {
110
+ fn: async (deferred) => {
111
+ const doc = new Document({
112
+ id: uuid(),
113
+ name: "hello",
114
+ number: 1n,
115
+ bytes: crypto.randomBytes(1e5)
116
+ });
117
+ await log.append(doc);
118
+
119
+ deferred.resolve();
120
+ },
121
+ defer: true
122
+ })
123
+ .on("cycle", async (event: any) => {
124
+ console.log(String(event.target));
125
+ await reset();
126
+ })
127
+ .on("error", (err) => {
128
+ throw err;
129
+ })
130
+ .run();
@@ -74,7 +74,12 @@ export class EntryIndex<T> {
74
74
  options?: { replicate?: boolean; timeout?: number }
75
75
  ): Promise<Entry<T> | null> {
76
76
  const value = await this._blocks.get(k, options);
77
- return value ? deserialize(value, Entry) : null;
77
+ if (value) {
78
+ const entry = deserialize(value, Entry);
79
+ entry.size = value.length;
80
+ return entry;
81
+ }
82
+ return null;
78
83
  }
79
84
 
80
85
  async delete(k: string) {
package/src/entry.ts CHANGED
@@ -6,7 +6,9 @@ import {
6
6
  deserialize,
7
7
  option,
8
8
  vec,
9
- fixedArray
9
+ fixedArray,
10
+ BinaryWriter,
11
+ serializer
10
12
  } from "@dao-xyz/borsh";
11
13
 
12
14
  import {
@@ -28,6 +30,7 @@ import { Encoding, NO_ENCODING } from "./encoding.js";
28
30
  import { logger } from "./logger.js";
29
31
  import { Blocks } from "@peerbit/blocks-interface";
30
32
  import { Keychain } from "@peerbit/keychain";
33
+
31
34
  export type MaybeEncryptionPublicKey =
32
35
  | X25519PublicKey
33
36
  | X25519PublicKey[]
@@ -352,6 +355,20 @@ export class Entry<T>
352
355
  return (await this.getMeta()).next;
353
356
  }
354
357
 
358
+ private _size: number;
359
+
360
+ set size(number: number) {
361
+ this._size = number;
362
+ }
363
+
364
+ get size(): number {
365
+ if (this._size == null) {
366
+ throw new Error(
367
+ "Size not set. Size is set when entry is, created, loaded or joined"
368
+ );
369
+ }
370
+ return this._size;
371
+ }
355
372
  /**
356
373
  * Will only return signatures I can decrypt
357
374
  * @returns signatures
@@ -401,15 +418,17 @@ export class Entry<T>
401
418
  return false;
402
419
  }
403
420
 
421
+ const signable = Entry.toSignable(this);
422
+ const signableBytes = serialize(signable);
404
423
  for (const signature of signatures) {
405
- if (!(await verify(signature, Entry.toSignable(this)))) {
424
+ if (!(await verify(signature, signableBytes))) {
406
425
  return false;
407
426
  }
408
427
  }
409
428
  return true;
410
429
  }
411
430
 
412
- static toSignable(entry: Entry<any>): Uint8Array {
431
+ static toSignable(entry: Entry<any>): Entry<any> {
413
432
  // TODO fix types
414
433
  const trimmed = new Entry({
415
434
  meta: entry._meta,
@@ -418,10 +437,10 @@ export class Entry<T>
418
437
  signatures: undefined,
419
438
  hash: undefined
420
439
  });
421
- return serialize(trimmed);
440
+ return trimmed;
422
441
  }
423
442
 
424
- toSignable(): Uint8Array {
443
+ toSignable(): Entry<any> {
425
444
  if (this._signatures) {
426
445
  throw new Error("Expected signatures to be undefined");
427
446
  }
@@ -533,12 +552,6 @@ export class Entry<T>
533
552
  }
534
553
  }
535
554
 
536
- const payload = await maybeEncrypt(
537
- payloadToSave,
538
- properties.encryption?.keypair,
539
- properties.encryption?.receiver.payload
540
- );
541
-
542
555
  const nextHashes: string[] = [];
543
556
  let maxChainLength = 0n;
544
557
  let gid: string | null = null;
@@ -581,10 +594,16 @@ export class Entry<T>
581
594
  properties.encryption?.receiver.meta
582
595
  );
583
596
 
597
+ const payload = await maybeEncrypt(
598
+ payloadToSave,
599
+ properties.encryption?.keypair,
600
+ properties.encryption?.receiver.payload
601
+ );
602
+
584
603
  // Sign id, encrypted payload, clock, nexts, refs
585
604
  const entry: Entry<T> = new Entry<T>({
586
- payload,
587
605
  meta: metadataEncrypted,
606
+ payload,
588
607
  signatures: undefined,
589
608
  createdLocally: true
590
609
  });
@@ -593,8 +612,9 @@ export class Entry<T>
593
612
  properties.identity.sign.bind(properties.identity)
594
613
  ];
595
614
  const signable = entry.toSignable();
615
+ const signableBytes = serialize(signable);
596
616
  let signatures = await Promise.all(
597
- signers.map((signer) => signer(signable))
617
+ signers.map((signer) => signer(signableBytes))
598
618
  );
599
619
  signatures = signatures.sort((a, b) => compare(a.signature, b.signature));
600
620
 
@@ -625,7 +645,7 @@ export class Entry<T>
625
645
  throw new AccessError();
626
646
  }
627
647
 
628
- // Append hash and signature
648
+ // Append hash
629
649
  entry.hash = await Entry.toMultihash(properties.store, entry);
630
650
 
631
651
  entry.init({ encoding: properties.encoding });
@@ -663,7 +683,9 @@ export class Entry<T>
663
683
  throw new Error("Expected hash to be missing");
664
684
  }
665
685
 
666
- const result = store.put(serialize(entry));
686
+ const bytes = serialize(entry);
687
+ entry.size = bytes.length;
688
+ const result = store.put(bytes);
667
689
  return result;
668
690
  }
669
691
 
@@ -686,6 +708,7 @@ export class Entry<T>
686
708
  }
687
709
  const entry = deserialize(bytes, Entry);
688
710
  entry.hash = hash;
711
+ entry.size = bytes.length;
689
712
  return entry as Entry<T>;
690
713
  }
691
714
 
package/src/log.ts CHANGED
@@ -563,6 +563,10 @@ export class Log<T> {
563
563
  }
564
564
 
565
565
  for (const e of nexts) {
566
+ if (!this.has(e.hash)) {
567
+ await this.join([e]);
568
+ }
569
+
566
570
  let nextIndexSet = this._nextsIndex.get(e.hash);
567
571
  if (!nextIndexSet) {
568
572
  nextIndexSet = new Set();