@aztec/world-state 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (54) hide show
  1. package/dest/instrumentation/instrumentation.d.ts +5 -3
  2. package/dest/instrumentation/instrumentation.d.ts.map +1 -1
  3. package/dest/instrumentation/instrumentation.js +16 -8
  4. package/dest/native/bench_metrics.d.ts +23 -0
  5. package/dest/native/bench_metrics.d.ts.map +1 -0
  6. package/dest/native/bench_metrics.js +81 -0
  7. package/dest/native/merkle_trees_facade.d.ts +9 -3
  8. package/dest/native/merkle_trees_facade.d.ts.map +1 -1
  9. package/dest/native/merkle_trees_facade.js +38 -7
  10. package/dest/native/message.d.ts +64 -44
  11. package/dest/native/message.d.ts.map +1 -1
  12. package/dest/native/message.js +55 -56
  13. package/dest/native/native_world_state.d.ts +18 -13
  14. package/dest/native/native_world_state.d.ts.map +1 -1
  15. package/dest/native/native_world_state.js +90 -33
  16. package/dest/native/native_world_state_instance.d.ts +10 -3
  17. package/dest/native/native_world_state_instance.d.ts.map +1 -1
  18. package/dest/native/native_world_state_instance.js +21 -3
  19. package/dest/native/world_state_ops_queue.js +1 -1
  20. package/dest/synchronizer/config.d.ts +11 -1
  21. package/dest/synchronizer/config.d.ts.map +1 -1
  22. package/dest/synchronizer/config.js +26 -1
  23. package/dest/synchronizer/errors.d.ts +4 -0
  24. package/dest/synchronizer/errors.d.ts.map +1 -0
  25. package/dest/synchronizer/errors.js +5 -0
  26. package/dest/synchronizer/factory.d.ts +8 -1
  27. package/dest/synchronizer/factory.d.ts.map +1 -1
  28. package/dest/synchronizer/factory.js +9 -4
  29. package/dest/synchronizer/server_world_state_synchronizer.d.ts +13 -6
  30. package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -1
  31. package/dest/synchronizer/server_world_state_synchronizer.js +78 -38
  32. package/dest/test/utils.d.ts +1 -1
  33. package/dest/test/utils.d.ts.map +1 -1
  34. package/dest/test/utils.js +21 -18
  35. package/dest/testing.d.ts +1 -1
  36. package/dest/testing.d.ts.map +1 -1
  37. package/dest/testing.js +6 -10
  38. package/dest/world-state-db/merkle_tree_db.d.ts +8 -4
  39. package/dest/world-state-db/merkle_tree_db.d.ts.map +1 -1
  40. package/package.json +21 -22
  41. package/src/instrumentation/instrumentation.ts +22 -10
  42. package/src/native/bench_metrics.ts +91 -0
  43. package/src/native/merkle_trees_facade.ts +44 -13
  44. package/src/native/message.ts +81 -63
  45. package/src/native/native_world_state.ts +98 -42
  46. package/src/native/native_world_state_instance.ts +31 -8
  47. package/src/native/world_state_ops_queue.ts +1 -1
  48. package/src/synchronizer/config.ts +47 -2
  49. package/src/synchronizer/errors.ts +5 -0
  50. package/src/synchronizer/factory.ts +31 -8
  51. package/src/synchronizer/server_world_state_synchronizer.ts +93 -40
  52. package/src/test/utils.ts +46 -31
  53. package/src/testing.ts +3 -7
  54. package/src/world-state-db/merkle_tree_db.ts +9 -4
@@ -1,18 +1,20 @@
1
+ import { type Logger } from '@aztec/foundation/log';
1
2
  import { type TelemetryClient } from '@aztec/telemetry-client';
2
3
  import { WorldStateMessageType, type WorldStateStatusFull } from '../native/message.js';
3
4
  export declare class WorldStateInstrumentation {
4
5
  readonly telemetry: TelemetryClient;
5
6
  private log;
6
7
  private dbMapSize;
8
+ private dbPhysicalSize;
7
9
  private treeSize;
8
- private unfinalisedHeight;
9
- private finalisedHeight;
10
+ private unfinalizedHeight;
11
+ private finalizedHeight;
10
12
  private oldestBlock;
11
13
  private dbNumItems;
12
14
  private dbUsedSize;
13
15
  private requestHistogram;
14
16
  private criticalErrors;
15
- constructor(telemetry: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
17
+ constructor(telemetry: TelemetryClient, log?: Logger);
16
18
  private updateTreeStats;
17
19
  private updateTreeDBStats;
18
20
  updateWorldStateMetrics(worldStateStatus: WorldStateStatusFull): void;
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation/instrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAIL,qBAAqB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,yBAAyB;aAWR,SAAS,EAAE,eAAe;IAAE,OAAO,CAAC,GAAG;IAVnE,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,cAAc,CAAgB;gBAEV,SAAS,EAAE,eAAe,EAAU,GAAG,yCAA8C;IAiDjH,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,iBAAiB;IAWlB,uBAAuB,CAAC,gBAAgB,EAAE,oBAAoB;IAgC9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAQ9D,iBAAiB,CACtB,SAAS,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,wBAAwB;CAMzG"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAKL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAIL,qBAAqB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,yBAAyB;aAalB,SAAS,EAAE,eAAe;IAC1C,OAAO,CAAC,GAAG;IAbb,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,cAAc,CAAgB;gBAGpB,SAAS,EAAE,eAAe,EAClC,GAAG,GAAE,MAAoD;IAuDnE,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,iBAAiB;IAWlB,uBAAuB,CAAC,gBAAgB,EAAE,oBAAoB;IAgC9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAQ9D,iBAAiB,CACtB,SAAS,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,wBAAwB;CAMzG"}
@@ -13,9 +13,10 @@ export class WorldStateInstrumentation {
13
13
  telemetry;
14
14
  log;
15
15
  dbMapSize;
16
+ dbPhysicalSize;
16
17
  treeSize;
17
- unfinalisedHeight;
18
- finalisedHeight;
18
+ unfinalizedHeight;
19
+ finalizedHeight;
19
20
  oldestBlock;
20
21
  dbNumItems;
21
22
  dbUsedSize;
@@ -29,16 +30,20 @@ export class WorldStateInstrumentation {
29
30
  description: `The current configured map size for each merkle tree`,
30
31
  valueType: ValueType.INT
31
32
  });
33
+ this.dbPhysicalSize = meter.createGauge(Metrics.WORLD_STATE_DB_PHYSICAL_SIZE, {
34
+ description: `The current physical disk space used for each database`,
35
+ valueType: ValueType.INT
36
+ });
32
37
  this.treeSize = meter.createGauge(Metrics.WORLD_STATE_TREE_SIZE, {
33
38
  description: `The current number of leaves in each merkle tree`,
34
39
  valueType: ValueType.INT
35
40
  });
36
- this.unfinalisedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALISED_HEIGHT, {
37
- description: `The unfinalised block height of each merkle tree`,
41
+ this.unfinalizedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALIZED_HEIGHT, {
42
+ description: `The unfinalized block height of each merkle tree`,
38
43
  valueType: ValueType.INT
39
44
  });
40
- this.finalisedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALISED_HEIGHT, {
41
- description: `The finalised block height of each merkle tree`,
45
+ this.finalizedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALIZED_HEIGHT, {
46
+ description: `The finalized block height of each merkle tree`,
42
47
  valueType: ValueType.INT
43
48
  });
44
49
  this.oldestBlock = meter.createGauge(Metrics.WORLD_STATE_OLDEST_BLOCK, {
@@ -67,13 +72,16 @@ export class WorldStateInstrumentation {
67
72
  this.dbMapSize.record(Number(treeDbStats.mapSize), {
68
73
  [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
69
74
  });
75
+ this.dbPhysicalSize.record(Number(treeDbStats.physicalFileSize), {
76
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
77
+ });
70
78
  this.treeSize.record(Number(treeMeta.size), {
71
79
  [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
72
80
  });
73
- this.unfinalisedHeight.record(Number(treeMeta.unfinalisedBlockHeight), {
81
+ this.unfinalizedHeight.record(Number(treeMeta.unfinalizedBlockHeight), {
74
82
  [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
75
83
  });
76
- this.finalisedHeight.record(Number(treeMeta.finalisedBlockHeight), {
84
+ this.finalizedHeight.record(Number(treeMeta.finalizedBlockHeight), {
77
85
  [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
78
86
  });
79
87
  this.oldestBlock.record(Number(treeMeta.oldestHistoricBlock), {
@@ -0,0 +1,23 @@
1
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
2
+ export declare enum InsertionType {
3
+ BATCH = 0,
4
+ SEQUENTIAL = 1
5
+ }
6
+ export declare enum DataRetrievalType {
7
+ SIBLING_PATH = 0,
8
+ LEAF_PREIMAGE = 1,
9
+ LEAF_VALUE = 2,
10
+ LEAF_INDICES = 3,
11
+ LOW_LEAF = 4
12
+ }
13
+ export declare class NativeBenchMetics {
14
+ private blockSyncMetrics;
15
+ private insertionMetrics;
16
+ private dataRetrievalMetrics;
17
+ toPrettyString(): string;
18
+ addBlockSyncMetric(numTxs: number, numLeaves: number, value: number): void;
19
+ addInsertionMetric(treeId: MerkleTreeId, insertionType: InsertionType, numLeaves: number, value: number): void;
20
+ addDataRetrievalMetric(retrievalType: DataRetrievalType, value: number): void;
21
+ toGithubActionBenchmarkJSON(indent?: number): string;
22
+ }
23
+ //# sourceMappingURL=bench_metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bench_metrics.d.ts","sourceRoot":"","sources":["../../src/native/bench_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQnD,oBAAY,aAAa;IACvB,KAAK,IAAA;IACL,UAAU,IAAA;CACX;AASD,oBAAY,iBAAiB;IAC3B,YAAY,IAAA;IACZ,aAAa,IAAA;IACb,UAAU,IAAA;IACV,YAAY,IAAA;IACZ,QAAQ,IAAA;CACT;AAOD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,oBAAoB,CAA8B;IAEnD,cAAc;IAiBd,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAGnE,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAGvG,sBAAsB,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM;IAItE,2BAA2B,CAAC,MAAM,SAAI;CAyB9C"}
@@ -0,0 +1,81 @@
1
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
2
+ export var InsertionType = /*#__PURE__*/ function(InsertionType) {
3
+ InsertionType[InsertionType["BATCH"] = 0] = "BATCH";
4
+ InsertionType[InsertionType["SEQUENTIAL"] = 1] = "SEQUENTIAL";
5
+ return InsertionType;
6
+ }({});
7
+ export var DataRetrievalType = /*#__PURE__*/ function(DataRetrievalType) {
8
+ DataRetrievalType[DataRetrievalType["SIBLING_PATH"] = 0] = "SIBLING_PATH";
9
+ DataRetrievalType[DataRetrievalType["LEAF_PREIMAGE"] = 1] = "LEAF_PREIMAGE";
10
+ DataRetrievalType[DataRetrievalType["LEAF_VALUE"] = 2] = "LEAF_VALUE";
11
+ DataRetrievalType[DataRetrievalType["LEAF_INDICES"] = 3] = "LEAF_INDICES";
12
+ DataRetrievalType[DataRetrievalType["LOW_LEAF"] = 4] = "LOW_LEAF";
13
+ return DataRetrievalType;
14
+ }({});
15
+ export class NativeBenchMetics {
16
+ blockSyncMetrics = [];
17
+ insertionMetrics = [];
18
+ dataRetrievalMetrics = [];
19
+ toPrettyString() {
20
+ let pretty = '';
21
+ pretty += `Block sync metrics:\n`;
22
+ for (const metric of this.blockSyncMetrics){
23
+ pretty += ` ${metric.numTxs} txs, ${metric.numLeaves} leaves: ${metric.value} ms\n`;
24
+ }
25
+ pretty += `Insertion metrics:\n`;
26
+ for (const metric of this.insertionMetrics){
27
+ pretty += ` ${MerkleTreeId[metric.treeType]}: ${InsertionType[metric.insertionType]} (${metric.numLeaves} leaves): ${metric.value} ms\n`;
28
+ }
29
+ pretty += `Data retrieval metrics:\n`;
30
+ for (const metric of this.dataRetrievalMetrics){
31
+ pretty += ` ${DataRetrievalType[metric.retrievalType]}: ${metric.value} us\n`;
32
+ }
33
+ return pretty;
34
+ }
35
+ addBlockSyncMetric(numTxs, numLeaves, value) {
36
+ this.blockSyncMetrics.push({
37
+ numTxs,
38
+ numLeaves,
39
+ value
40
+ });
41
+ }
42
+ addInsertionMetric(treeId, insertionType, numLeaves, value) {
43
+ this.insertionMetrics.push({
44
+ treeType: treeId,
45
+ insertionType,
46
+ numLeaves,
47
+ value
48
+ });
49
+ }
50
+ addDataRetrievalMetric(retrievalType, value) {
51
+ this.dataRetrievalMetrics.push({
52
+ retrievalType,
53
+ value: value
54
+ });
55
+ }
56
+ toGithubActionBenchmarkJSON(indent = 2) {
57
+ const data = [];
58
+ for (const blockSync of this.blockSyncMetrics){
59
+ data.push({
60
+ name: `Block Sync/${blockSync.numTxs} txs/${blockSync.numLeaves} leaves per tx`,
61
+ value: blockSync.value,
62
+ unit: 'ms'
63
+ });
64
+ }
65
+ for (const insertion of this.insertionMetrics){
66
+ data.push({
67
+ name: `Tree Insertion/${MerkleTreeId[insertion.treeType]}/${InsertionType[insertion.insertionType]}/${insertion.numLeaves} leaves`,
68
+ value: insertion.value,
69
+ unit: 'ms'
70
+ });
71
+ }
72
+ for (const retrieval of this.dataRetrievalMetrics){
73
+ data.push({
74
+ name: `Data Retrieval/${DataRetrievalType[retrieval.retrievalType]}`,
75
+ value: retrieval.value,
76
+ unit: 'us'
77
+ });
78
+ }
79
+ return JSON.stringify(data, null, indent);
80
+ }
81
+ }
@@ -1,11 +1,10 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import { Fr } from '@aztec/foundation/fields';
4
2
  import { type IndexedTreeLeafPreimage, SiblingPath } from '@aztec/foundation/trees';
5
3
  import type { BatchInsertionResult, IndexedTreeId, MerkleTreeLeafType, MerkleTreeReadOperations, MerkleTreeWriteOperations, SequentialInsertionResult, TreeInfo } from '@aztec/stdlib/interfaces/server';
6
4
  import { MerkleTreeId, NullifierLeaf, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
7
5
  import { type BlockHeader, StateReference } from '@aztec/stdlib/tx';
8
- import { type SerializedLeafValue, type WorldStateRevision } from './message.js';
6
+ import type { WorldStateRevision } from '@aztec/stdlib/world-state';
7
+ import { type SerializedLeafValue } from './message.js';
9
8
  import type { NativeWorldStateInstance } from './native_world_state_instance.js';
10
9
  export declare class MerkleTreesFacade implements MerkleTreeReadOperations {
11
10
  protected readonly instance: NativeWorldStateInstance;
@@ -13,7 +12,12 @@ export declare class MerkleTreesFacade implements MerkleTreeReadOperations {
13
12
  protected readonly revision: WorldStateRevision;
14
13
  constructor(instance: NativeWorldStateInstance, initialHeader: BlockHeader, revision: WorldStateRevision);
15
14
  getInitialHeader(): BlockHeader;
15
+ getRevision(): WorldStateRevision;
16
16
  findLeafIndices(treeId: MerkleTreeId, values: MerkleTreeLeafType<MerkleTreeId>[]): Promise<(bigint | undefined)[]>;
17
+ findSiblingPaths<N extends number>(treeId: MerkleTreeId, values: MerkleTreeLeafType<MerkleTreeId>[]): Promise<({
18
+ path: SiblingPath<N>;
19
+ index: bigint;
20
+ } | undefined)[]>;
17
21
  findLeafIndicesAfter(treeId: MerkleTreeId, leaves: MerkleTreeLeafType<MerkleTreeId>[], startIndex: bigint): Promise<(bigint | undefined)[]>;
18
22
  getLeafPreimage(treeId: IndexedTreeId, leafIndex: bigint): Promise<IndexedTreeLeafPreimage | undefined>;
19
23
  getLeafValue<ID extends MerkleTreeId>(treeId: ID, leafIndex: bigint): Promise<MerkleTreeLeafType<ID> | undefined>;
@@ -37,6 +41,8 @@ export declare class MerkleTreesForkFacade extends MerkleTreesFacade implements
37
41
  createCheckpoint(): Promise<void>;
38
42
  commitCheckpoint(): Promise<void>;
39
43
  revertCheckpoint(): Promise<void>;
44
+ commitAllCheckpoints(): Promise<void>;
45
+ revertAllCheckpoints(): Promise<void>;
40
46
  }
41
47
  export declare function serializeLeaf(leaf: Fr | NullifierLeaf | PublicDataTreeLeaf): SerializedLeafValue;
42
48
  //# sourceMappingURL=merkle_trees_facade.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merkle_trees_facade.d.ts","sourceRoot":"","sources":["../../src/native/merkle_trees_facade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merkle_trees_facade.d.ts","sourceRoot":"","sources":["../../src/native/merkle_trees_facade.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,28 @@ export class MerkleTreesFacade {
17
17
  getInitialHeader() {
18
18
  return this.initialHeader;
19
19
  }
20
+ getRevision() {
21
+ return this.revision;
22
+ }
20
23
  findLeafIndices(treeId, values) {
21
24
  return this.findLeafIndicesAfter(treeId, values, 0n);
22
25
  }
26
+ async findSiblingPaths(treeId, values) {
27
+ const response = await this.instance.call(WorldStateMessageType.FIND_SIBLING_PATHS, {
28
+ leaves: values.map((leaf)=>serializeLeaf(hydrateLeaf(treeId, leaf))),
29
+ revision: this.revision,
30
+ treeId
31
+ });
32
+ return response.paths.map((path)=>{
33
+ if (!path) {
34
+ return undefined;
35
+ }
36
+ return {
37
+ path: new SiblingPath(path.path.length, path.path),
38
+ index: BigInt(path.index)
39
+ };
40
+ });
41
+ }
23
42
  async findLeafIndicesAfter(treeId, leaves, startIndex) {
24
43
  const response = await this.instance.call(WorldStateMessageType.FIND_LEAF_INDICES, {
25
44
  leaves: leaves.map((leaf)=>serializeLeaf(hydrateLeaf(treeId, leaf))),
@@ -194,6 +213,18 @@ export class MerkleTreesForkFacade extends MerkleTreesFacade {
194
213
  forkId: this.revision.forkId
195
214
  });
196
215
  }
216
+ async commitAllCheckpoints() {
217
+ assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
218
+ await this.instance.call(WorldStateMessageType.COMMIT_ALL_CHECKPOINTS, {
219
+ forkId: this.revision.forkId
220
+ });
221
+ }
222
+ async revertAllCheckpoints() {
223
+ assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
224
+ await this.instance.call(WorldStateMessageType.REVERT_ALL_CHECKPOINTS, {
225
+ forkId: this.revision.forkId
226
+ });
227
+ }
197
228
  }
198
229
  function hydrateLeaf(treeId, leaf) {
199
230
  if (leaf instanceof Fr) {
@@ -211,7 +242,7 @@ export function serializeLeaf(leaf) {
211
242
  return leaf.toBuffer();
212
243
  } else if (leaf instanceof NullifierLeaf) {
213
244
  return {
214
- value: leaf.nullifier.toBuffer()
245
+ nullifier: leaf.nullifier.toBuffer()
215
246
  };
216
247
  } else {
217
248
  return {
@@ -226,14 +257,14 @@ function deserializeLeafValue(leaf) {
226
257
  } else if ('slot' in leaf) {
227
258
  return new PublicDataTreeLeaf(Fr.fromBuffer(leaf.slot), Fr.fromBuffer(leaf.value));
228
259
  } else {
229
- return new NullifierLeaf(Fr.fromBuffer(leaf.value));
260
+ return new NullifierLeaf(Fr.fromBuffer(leaf.nullifier));
230
261
  }
231
262
  }
232
- function deserializeIndexedLeaf(leaf) {
233
- if ('slot' in leaf.value) {
234
- return new PublicDataTreeLeafPreimage(Fr.fromBuffer(leaf.value.slot), Fr.fromBuffer(leaf.value.value), Fr.fromBuffer(leaf.nextValue), BigInt(leaf.nextIndex));
235
- } else if ('value' in leaf.value) {
236
- return new NullifierLeafPreimage(Fr.fromBuffer(leaf.value.value), Fr.fromBuffer(leaf.nextValue), BigInt(leaf.nextIndex));
263
+ function deserializeIndexedLeaf(leafPreimage) {
264
+ if ('slot' in leafPreimage.leaf) {
265
+ return new PublicDataTreeLeafPreimage(new PublicDataTreeLeaf(Fr.fromBuffer(leafPreimage.leaf.slot), Fr.fromBuffer(leafPreimage.leaf.value)), Fr.fromBuffer(leafPreimage.nextKey), BigInt(leafPreimage.nextIndex));
266
+ } else if ('nullifier' in leafPreimage.leaf) {
267
+ return new NullifierLeafPreimage(new NullifierLeaf(Fr.fromBuffer(leafPreimage.leaf.nullifier)), Fr.fromBuffer(leafPreimage.nextKey), BigInt(leafPreimage.nextIndex));
237
268
  } else {
238
269
  throw new Error('Invalid leaf type');
239
270
  }
@@ -1,10 +1,9 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import { Fr } from '@aztec/foundation/fields';
4
2
  import type { Tuple } from '@aztec/foundation/serialize';
5
3
  import { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
6
4
  import type { StateReference } from '@aztec/stdlib/tx';
7
5
  import type { UInt32 } from '@aztec/stdlib/types';
6
+ import type { WorldStateRevision } from '@aztec/stdlib/world-state';
8
7
  export declare enum WorldStateMessageType {
9
8
  GET_TREE_INFO = 100,
10
9
  GET_STATE_REFERENCE = 101,
@@ -15,22 +14,26 @@ export declare enum WorldStateMessageType {
15
14
  GET_BLOCK_NUMBERS_FOR_LEAF_INDICES = 106,
16
15
  FIND_LEAF_INDICES = 107,
17
16
  FIND_LOW_LEAF = 108,
18
- APPEND_LEAVES = 109,
19
- BATCH_INSERT = 110,
20
- SEQUENTIAL_INSERT = 111,
21
- UPDATE_ARCHIVE = 112,
22
- COMMIT = 113,
23
- ROLLBACK = 114,
24
- SYNC_BLOCK = 115,
25
- CREATE_FORK = 116,
26
- DELETE_FORK = 117,
27
- FINALISE_BLOCKS = 118,
28
- UNWIND_BLOCKS = 119,
29
- REMOVE_HISTORICAL_BLOCKS = 120,
30
- GET_STATUS = 121,
31
- CREATE_CHECKPOINT = 122,
32
- COMMIT_CHECKPOINT = 123,
33
- REVERT_CHECKPOINT = 124,
17
+ FIND_SIBLING_PATHS = 109,
18
+ APPEND_LEAVES = 110,
19
+ BATCH_INSERT = 111,
20
+ SEQUENTIAL_INSERT = 112,
21
+ UPDATE_ARCHIVE = 113,
22
+ COMMIT = 114,
23
+ ROLLBACK = 115,
24
+ SYNC_BLOCK = 116,
25
+ CREATE_FORK = 117,
26
+ DELETE_FORK = 118,
27
+ FINALIZE_BLOCKS = 119,
28
+ UNWIND_BLOCKS = 120,
29
+ REMOVE_HISTORICAL_BLOCKS = 121,
30
+ GET_STATUS = 122,
31
+ CREATE_CHECKPOINT = 123,
32
+ COMMIT_CHECKPOINT = 124,
33
+ REVERT_CHECKPOINT = 125,
34
+ COMMIT_ALL_CHECKPOINTS = 126,
35
+ REVERT_ALL_CHECKPOINTS = 127,
36
+ COPY_STORES = 128,
34
37
  CLOSE = 999
35
38
  }
36
39
  interface WithTreeId {
@@ -38,9 +41,9 @@ interface WithTreeId {
38
41
  }
39
42
  export interface WorldStateStatusSummary {
40
43
  /** Last block number that can still be unwound. */
41
- unfinalisedBlockNumber: bigint;
42
- /** Last block number that is finalised and cannot be unwound. */
43
- finalisedBlockNumber: bigint;
44
+ unfinalizedBlockNumber: bigint;
45
+ /** Last block number that is finalized and cannot be unwound. */
46
+ finalizedBlockNumber: bigint;
44
47
  /** Oldest block still available for historical queries and forks. */
45
48
  oldestHistoricalBlock: bigint;
46
49
  /** Whether the trees are in sync with each other */
@@ -63,10 +66,10 @@ export interface TreeMeta {
63
66
  initialRoot: Fr;
64
67
  /** The current oldest historical block number of the tree */
65
68
  oldestHistoricBlock: bigint;
66
- /** The current unfinalised block number of the tree */
67
- unfinalisedBlockHeight: bigint;
68
- /** The current finalised block number of the tree */
69
- finalisedBlockHeight: bigint;
69
+ /** The current unfinalized block number of the tree */
70
+ unfinalizedBlockHeight: bigint;
71
+ /** The current finalized block number of the tree */
72
+ finalizedBlockHeight: bigint;
70
73
  }
71
74
  export interface DBStats {
72
75
  /** The name of the DB */
@@ -79,6 +82,8 @@ export interface DBStats {
79
82
  export interface TreeDBStats {
80
83
  /** The configured max size of the DB mapping file (effectively the max possible size of the DB) */
81
84
  mapSize: bigint;
85
+ /** The physical file size of the database on disk */
86
+ physicalFileSize: bigint;
82
87
  /** Stats for the 'blocks' DB */
83
88
  blocksDBStats: DBStats;
84
89
  /** Stats for the 'nodes' DB */
@@ -126,13 +131,13 @@ export declare function buildEmptyWorldStateMeta(): WorldStateMeta;
126
131
  export declare function buildEmptyWorldStateDBStats(): WorldStateDBStats;
127
132
  export declare function buildEmptyWorldStateSummary(): WorldStateStatusSummary;
128
133
  export declare function buildEmptyWorldStateStatusFull(): WorldStateStatusFull;
129
- export declare function sanitiseSummary(summary: WorldStateStatusSummary): WorldStateStatusSummary;
130
- export declare function sanitiseDBStats(stats: DBStats): DBStats;
131
- export declare function sanitiseMeta(meta: TreeMeta): TreeMeta;
132
- export declare function sanitiseTreeDBStats(stats: TreeDBStats): TreeDBStats;
133
- export declare function sanitiseWorldStateDBStats(stats: WorldStateDBStats): WorldStateDBStats;
134
- export declare function sanitiseWorldStateTreeMeta(meta: WorldStateMeta): WorldStateMeta;
135
- export declare function sanitiseFullStatus(status: WorldStateStatusFull): WorldStateStatusFull;
134
+ export declare function sanitizeSummary(summary: WorldStateStatusSummary): WorldStateStatusSummary;
135
+ export declare function sanitizeDBStats(stats: DBStats): DBStats;
136
+ export declare function sanitizeMeta(meta: TreeMeta): TreeMeta;
137
+ export declare function sanitizeTreeDBStats(stats: TreeDBStats): TreeDBStats;
138
+ export declare function sanitizeWorldStateDBStats(stats: WorldStateDBStats): WorldStateDBStats;
139
+ export declare function sanitizeWorldStateTreeMeta(meta: WorldStateMeta): WorldStateMeta;
140
+ export declare function sanitizeFullStatus(status: WorldStateStatusFull): WorldStateStatusFull;
136
141
  interface WithForkId {
137
142
  forkId: number;
138
143
  }
@@ -146,15 +151,15 @@ interface WithLeafIndex {
146
151
  leafIndex: bigint;
147
152
  }
148
153
  export type SerializedLeafValue = Buffer | {
149
- value: Buffer;
154
+ nullifier: Buffer;
150
155
  } | {
151
156
  value: Buffer;
152
157
  slot: Buffer;
153
158
  };
154
159
  export type SerializedIndexedLeaf = {
155
- value: Exclude<SerializedLeafValue, Buffer>;
160
+ leaf: Exclude<SerializedLeafValue, Buffer>;
156
161
  nextIndex: bigint | number;
157
- nextValue: Buffer;
162
+ nextKey: Buffer;
158
163
  };
159
164
  interface WithLeafValues {
160
165
  leaves: SerializedLeafValue[];
@@ -199,6 +204,15 @@ interface FindLeafIndicesRequest extends WithTreeId, WithLeafValues, WithWorldSt
199
204
  interface FindLeafIndicesResponse {
200
205
  indices: bigint[];
201
206
  }
207
+ interface FindSiblingPathsRequest extends WithTreeId, WithLeafValues, WithWorldStateRevision {
208
+ }
209
+ interface SiblingPathAndIndex {
210
+ index: bigint;
211
+ path: Buffer[];
212
+ }
213
+ interface FindSiblingPathsResponse {
214
+ paths: (SiblingPathAndIndex | undefined)[];
215
+ }
202
216
  interface FindLowLeafRequest extends WithTreeId, WithWorldStateRevision {
203
217
  key: Fr;
204
218
  }
@@ -256,6 +270,10 @@ interface CreateForkResponse {
256
270
  }
257
271
  interface DeleteForkRequest extends WithForkId {
258
272
  }
273
+ interface CopyStoresRequest extends WithCanonicalForkId {
274
+ dstPath: string;
275
+ compact: boolean;
276
+ }
259
277
  export type WorldStateRequestCategories = WithForkId | WithWorldStateRevision | WithCanonicalForkId;
260
278
  export declare function isWithForkId(body: WorldStateRequestCategories): body is WithForkId;
261
279
  export declare function isWithRevision(body: WorldStateRequestCategories): body is WithWorldStateRevision;
@@ -270,6 +288,7 @@ export type WorldStateRequest = {
270
288
  [WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES]: GetBlockNumbersForLeafIndicesRequest;
271
289
  [WorldStateMessageType.FIND_LEAF_INDICES]: FindLeafIndicesRequest;
272
290
  [WorldStateMessageType.FIND_LOW_LEAF]: FindLowLeafRequest;
291
+ [WorldStateMessageType.FIND_SIBLING_PATHS]: FindSiblingPathsRequest;
273
292
  [WorldStateMessageType.APPEND_LEAVES]: AppendLeavesRequest;
274
293
  [WorldStateMessageType.BATCH_INSERT]: BatchInsertRequest;
275
294
  [WorldStateMessageType.SEQUENTIAL_INSERT]: SequentialInsertRequest;
@@ -281,11 +300,14 @@ export type WorldStateRequest = {
281
300
  [WorldStateMessageType.DELETE_FORK]: DeleteForkRequest;
282
301
  [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: BlockShiftRequest;
283
302
  [WorldStateMessageType.UNWIND_BLOCKS]: BlockShiftRequest;
284
- [WorldStateMessageType.FINALISE_BLOCKS]: BlockShiftRequest;
303
+ [WorldStateMessageType.FINALIZE_BLOCKS]: BlockShiftRequest;
285
304
  [WorldStateMessageType.GET_STATUS]: WithCanonicalForkId;
286
305
  [WorldStateMessageType.CREATE_CHECKPOINT]: WithForkId;
287
306
  [WorldStateMessageType.COMMIT_CHECKPOINT]: WithForkId;
288
307
  [WorldStateMessageType.REVERT_CHECKPOINT]: WithForkId;
308
+ [WorldStateMessageType.COMMIT_ALL_CHECKPOINTS]: WithForkId;
309
+ [WorldStateMessageType.REVERT_ALL_CHECKPOINTS]: WithForkId;
310
+ [WorldStateMessageType.COPY_STORES]: CopyStoresRequest;
289
311
  [WorldStateMessageType.CLOSE]: WithCanonicalForkId;
290
312
  };
291
313
  export type WorldStateResponse = {
@@ -298,6 +320,7 @@ export type WorldStateResponse = {
298
320
  [WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES]: GetBlockNumbersForLeafIndicesResponse;
299
321
  [WorldStateMessageType.FIND_LEAF_INDICES]: FindLeafIndicesResponse;
300
322
  [WorldStateMessageType.FIND_LOW_LEAF]: FindLowLeafResponse;
323
+ [WorldStateMessageType.FIND_SIBLING_PATHS]: FindSiblingPathsResponse;
301
324
  [WorldStateMessageType.APPEND_LEAVES]: void;
302
325
  [WorldStateMessageType.BATCH_INSERT]: BatchInsertResponse;
303
326
  [WorldStateMessageType.SEQUENTIAL_INSERT]: SequentialInsertResponse;
@@ -309,23 +332,20 @@ export type WorldStateResponse = {
309
332
  [WorldStateMessageType.DELETE_FORK]: void;
310
333
  [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: WorldStateStatusFull;
311
334
  [WorldStateMessageType.UNWIND_BLOCKS]: WorldStateStatusFull;
312
- [WorldStateMessageType.FINALISE_BLOCKS]: WorldStateStatusSummary;
335
+ [WorldStateMessageType.FINALIZE_BLOCKS]: WorldStateStatusSummary;
313
336
  [WorldStateMessageType.GET_STATUS]: WorldStateStatusSummary;
314
337
  [WorldStateMessageType.CREATE_CHECKPOINT]: void;
315
338
  [WorldStateMessageType.COMMIT_CHECKPOINT]: void;
316
339
  [WorldStateMessageType.REVERT_CHECKPOINT]: void;
340
+ [WorldStateMessageType.COMMIT_ALL_CHECKPOINTS]: void;
341
+ [WorldStateMessageType.REVERT_ALL_CHECKPOINTS]: void;
342
+ [WorldStateMessageType.COPY_STORES]: void;
317
343
  [WorldStateMessageType.CLOSE]: void;
318
344
  };
319
- export type WorldStateRevision = {
320
- forkId: number;
321
- blockNumber: number;
322
- includeUncommitted: boolean;
323
- };
324
- export declare function worldStateRevision(includeUncommitted: boolean, forkId: number | undefined, blockNumber: number | undefined): WorldStateRevision;
325
345
  type TreeStateReference = readonly [Buffer, number | bigint];
326
346
  type BlockStateReference = Map<Exclude<MerkleTreeId, MerkleTreeId.ARCHIVE>, TreeStateReference>;
327
347
  export declare function treeStateReferenceToSnapshot([root, size]: TreeStateReference): AppendOnlyTreeSnapshot;
328
- export declare function treeStateReference(snapshot: AppendOnlyTreeSnapshot): readonly [Buffer, bigint];
348
+ export declare function treeStateReference(snapshot: AppendOnlyTreeSnapshot): readonly [Buffer<ArrayBufferLike>, bigint];
329
349
  export declare function blockStateReference(state: StateReference): BlockStateReference;
330
350
  export {};
331
351
  //# sourceMappingURL=message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/native/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/native/message.ts"],"names":[],"mappings":"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"}