@aztec/world-state 0.0.0-test.0 → 0.0.1-commit.001888fc

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 (65) hide show
  1. package/dest/index.d.ts +1 -1
  2. package/dest/instrumentation/instrumentation.d.ts +6 -4
  3. package/dest/instrumentation/instrumentation.d.ts.map +1 -1
  4. package/dest/instrumentation/instrumentation.js +25 -41
  5. package/dest/native/bench_metrics.d.ts +23 -0
  6. package/dest/native/bench_metrics.d.ts.map +1 -0
  7. package/dest/native/bench_metrics.js +81 -0
  8. package/dest/native/fork_checkpoint.d.ts +7 -1
  9. package/dest/native/fork_checkpoint.d.ts.map +1 -1
  10. package/dest/native/fork_checkpoint.js +15 -3
  11. package/dest/native/index.d.ts +1 -1
  12. package/dest/native/merkle_trees_facade.d.ts +20 -8
  13. package/dest/native/merkle_trees_facade.d.ts.map +1 -1
  14. package/dest/native/merkle_trees_facade.js +80 -15
  15. package/dest/native/message.d.ts +83 -53
  16. package/dest/native/message.d.ts.map +1 -1
  17. package/dest/native/message.js +61 -61
  18. package/dest/native/native_world_state.d.ts +27 -19
  19. package/dest/native/native_world_state.d.ts.map +1 -1
  20. package/dest/native/native_world_state.js +103 -41
  21. package/dest/native/native_world_state_instance.d.ts +20 -4
  22. package/dest/native/native_world_state_instance.d.ts.map +1 -1
  23. package/dest/native/native_world_state_instance.js +43 -4
  24. package/dest/native/world_state_ops_queue.d.ts +1 -1
  25. package/dest/native/world_state_ops_queue.d.ts.map +1 -1
  26. package/dest/native/world_state_ops_queue.js +1 -1
  27. package/dest/synchronizer/config.d.ts +14 -6
  28. package/dest/synchronizer/config.d.ts.map +1 -1
  29. package/dest/synchronizer/config.js +33 -10
  30. package/dest/synchronizer/errors.d.ts +4 -0
  31. package/dest/synchronizer/errors.d.ts.map +1 -0
  32. package/dest/synchronizer/errors.js +5 -0
  33. package/dest/synchronizer/factory.d.ts +12 -4
  34. package/dest/synchronizer/factory.d.ts.map +1 -1
  35. package/dest/synchronizer/factory.js +13 -8
  36. package/dest/synchronizer/index.d.ts +1 -1
  37. package/dest/synchronizer/server_world_state_synchronizer.d.ts +21 -31
  38. package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -1
  39. package/dest/synchronizer/server_world_state_synchronizer.js +191 -96
  40. package/dest/test/index.d.ts +1 -1
  41. package/dest/test/utils.d.ts +12 -5
  42. package/dest/test/utils.d.ts.map +1 -1
  43. package/dest/test/utils.js +54 -47
  44. package/dest/testing.d.ts +3 -3
  45. package/dest/testing.d.ts.map +1 -1
  46. package/dest/testing.js +7 -11
  47. package/dest/world-state-db/index.d.ts +1 -1
  48. package/dest/world-state-db/merkle_tree_db.d.ts +12 -18
  49. package/dest/world-state-db/merkle_tree_db.d.ts.map +1 -1
  50. package/package.json +23 -24
  51. package/src/instrumentation/instrumentation.ts +31 -43
  52. package/src/native/bench_metrics.ts +91 -0
  53. package/src/native/fork_checkpoint.ts +19 -3
  54. package/src/native/merkle_trees_facade.ts +92 -20
  55. package/src/native/message.ts +105 -75
  56. package/src/native/native_world_state.ts +132 -52
  57. package/src/native/native_world_state_instance.ts +63 -10
  58. package/src/native/world_state_ops_queue.ts +1 -1
  59. package/src/synchronizer/config.ts +55 -21
  60. package/src/synchronizer/errors.ts +5 -0
  61. package/src/synchronizer/factory.ts +39 -10
  62. package/src/synchronizer/server_world_state_synchronizer.ts +227 -121
  63. package/src/test/utils.ts +92 -82
  64. package/src/testing.ts +4 -8
  65. package/src/world-state-db/merkle_tree_db.ts +16 -18
@@ -1,10 +1,11 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Fr } from '@aztec/foundation/fields';
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
3
  import type { Tuple } from '@aztec/foundation/serialize';
4
+ import type { BlockHash } from '@aztec/stdlib/block';
5
5
  import { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
6
6
  import type { StateReference } from '@aztec/stdlib/tx';
7
7
  import type { UInt32 } from '@aztec/stdlib/types';
8
+ import type { WorldStateRevision } from '@aztec/stdlib/world-state';
8
9
  export declare enum WorldStateMessageType {
9
10
  GET_TREE_INFO = 100,
10
11
  GET_STATE_REFERENCE = 101,
@@ -15,22 +16,26 @@ export declare enum WorldStateMessageType {
15
16
  GET_BLOCK_NUMBERS_FOR_LEAF_INDICES = 106,
16
17
  FIND_LEAF_INDICES = 107,
17
18
  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,
19
+ FIND_SIBLING_PATHS = 109,
20
+ APPEND_LEAVES = 110,
21
+ BATCH_INSERT = 111,
22
+ SEQUENTIAL_INSERT = 112,
23
+ UPDATE_ARCHIVE = 113,
24
+ COMMIT = 114,
25
+ ROLLBACK = 115,
26
+ SYNC_BLOCK = 116,
27
+ CREATE_FORK = 117,
28
+ DELETE_FORK = 118,
29
+ FINALIZE_BLOCKS = 119,
30
+ UNWIND_BLOCKS = 120,
31
+ REMOVE_HISTORICAL_BLOCKS = 121,
32
+ GET_STATUS = 122,
33
+ CREATE_CHECKPOINT = 123,
34
+ COMMIT_CHECKPOINT = 124,
35
+ REVERT_CHECKPOINT = 125,
36
+ COMMIT_ALL_CHECKPOINTS = 126,
37
+ REVERT_ALL_CHECKPOINTS = 127,
38
+ COPY_STORES = 128,
34
39
  CLOSE = 999
35
40
  }
36
41
  interface WithTreeId {
@@ -38,11 +43,11 @@ interface WithTreeId {
38
43
  }
39
44
  export interface WorldStateStatusSummary {
40
45
  /** 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;
46
+ unfinalizedBlockNumber: BlockNumber;
47
+ /** Last block number that is finalized and cannot be unwound. */
48
+ finalizedBlockNumber: BlockNumber;
44
49
  /** Oldest block still available for historical queries and forks. */
45
- oldestHistoricalBlock: bigint;
50
+ oldestHistoricalBlock: BlockNumber;
46
51
  /** Whether the trees are in sync with each other */
47
52
  treesAreSynched: boolean;
48
53
  }
@@ -62,11 +67,11 @@ export interface TreeMeta {
62
67
  /** The tree's initial root value */
63
68
  initialRoot: Fr;
64
69
  /** The current oldest historical block number of the tree */
65
- 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;
70
+ oldestHistoricBlock: BlockNumber;
71
+ /** The current unfinalized block number of the tree */
72
+ unfinalizedBlockHeight: BlockNumber;
73
+ /** The current finalized block number of the tree */
74
+ finalizedBlockHeight: BlockNumber;
70
75
  }
71
76
  export interface DBStats {
72
77
  /** The name of the DB */
@@ -79,6 +84,8 @@ export interface DBStats {
79
84
  export interface TreeDBStats {
80
85
  /** The configured max size of the DB mapping file (effectively the max possible size of the DB) */
81
86
  mapSize: bigint;
87
+ /** The physical file size of the database on disk */
88
+ physicalFileSize: bigint;
82
89
  /** Stats for the 'blocks' DB */
83
90
  blocksDBStats: DBStats;
84
91
  /** Stats for the 'nodes' DB */
@@ -126,16 +133,24 @@ export declare function buildEmptyWorldStateMeta(): WorldStateMeta;
126
133
  export declare function buildEmptyWorldStateDBStats(): WorldStateDBStats;
127
134
  export declare function buildEmptyWorldStateSummary(): WorldStateStatusSummary;
128
135
  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;
136
+ export declare function sanitizeSummary(summary: WorldStateStatusSummary): WorldStateStatusSummary;
137
+ export declare function sanitizeDBStats(stats: DBStats): DBStats;
138
+ export declare function sanitizeMeta(meta: TreeMeta): TreeMeta;
139
+ export declare function sanitizeTreeDBStats(stats: TreeDBStats): TreeDBStats;
140
+ export declare function sanitizeWorldStateDBStats(stats: WorldStateDBStats): WorldStateDBStats;
141
+ export declare function sanitizeWorldStateTreeMeta(meta: WorldStateMeta): WorldStateMeta;
142
+ export declare function sanitizeFullStatus(status: WorldStateStatusFull): WorldStateStatusFull;
136
143
  interface WithForkId {
137
144
  forkId: number;
138
145
  }
146
+ interface CreateCheckpointResponse {
147
+ depth: number;
148
+ }
149
+ /** Request to commit/revert all checkpoints down to a target depth. The resulting depth after the operation equals the given depth. */
150
+ interface CheckpointDepthRequest extends WithForkId {
151
+ /** The target depth after the operation. All checkpoints above this depth are committed/reverted. */
152
+ depth: number;
153
+ }
139
154
  interface WithWorldStateRevision {
140
155
  revision: WorldStateRevision;
141
156
  }
@@ -146,21 +161,21 @@ interface WithLeafIndex {
146
161
  leafIndex: bigint;
147
162
  }
148
163
  export type SerializedLeafValue = Buffer | {
149
- value: Buffer;
164
+ nullifier: Buffer;
150
165
  } | {
151
166
  value: Buffer;
152
167
  slot: Buffer;
153
168
  };
154
169
  export type SerializedIndexedLeaf = {
155
- value: Exclude<SerializedLeafValue, Buffer>;
170
+ leaf: Exclude<SerializedLeafValue, Buffer>;
156
171
  nextIndex: bigint | number;
157
- nextValue: Buffer;
172
+ nextKey: Buffer;
158
173
  };
159
174
  interface WithLeafValues {
160
175
  leaves: SerializedLeafValue[];
161
176
  }
162
177
  interface BlockShiftRequest extends WithCanonicalForkId {
163
- toBlockNumber: bigint;
178
+ toBlockNumber: BlockNumber;
164
179
  }
165
180
  interface WithLeaves {
166
181
  leaves: SerializedLeafValue[];
@@ -199,6 +214,15 @@ interface FindLeafIndicesRequest extends WithTreeId, WithLeafValues, WithWorldSt
199
214
  interface FindLeafIndicesResponse {
200
215
  indices: bigint[];
201
216
  }
217
+ interface FindSiblingPathsRequest extends WithTreeId, WithLeafValues, WithWorldStateRevision {
218
+ }
219
+ interface SiblingPathAndIndex {
220
+ index: bigint;
221
+ path: Buffer[];
222
+ }
223
+ interface FindSiblingPathsResponse {
224
+ paths: (SiblingPathAndIndex | undefined)[];
225
+ }
202
226
  interface FindLowLeafRequest extends WithTreeId, WithWorldStateRevision {
203
227
  key: Fr;
204
228
  }
@@ -239,9 +263,9 @@ interface UpdateArchiveRequest extends WithForkId {
239
263
  blockHeaderHash: Buffer;
240
264
  }
241
265
  interface SyncBlockRequest extends WithCanonicalForkId {
242
- blockNumber: number;
266
+ blockNumber: BlockNumber;
243
267
  blockStateRef: BlockStateReference;
244
- blockHeaderHash: Fr;
268
+ blockHeaderHash: BlockHash;
245
269
  paddedNoteHashes: readonly SerializedLeafValue[];
246
270
  paddedL1ToL2Messages: readonly SerializedLeafValue[];
247
271
  paddedNullifiers: readonly SerializedLeafValue[];
@@ -249,13 +273,17 @@ interface SyncBlockRequest extends WithCanonicalForkId {
249
273
  }
250
274
  interface CreateForkRequest extends WithCanonicalForkId {
251
275
  latest: boolean;
252
- blockNumber: number;
276
+ blockNumber: BlockNumber;
253
277
  }
254
278
  interface CreateForkResponse {
255
279
  forkId: number;
256
280
  }
257
281
  interface DeleteForkRequest extends WithForkId {
258
282
  }
283
+ interface CopyStoresRequest extends WithCanonicalForkId {
284
+ dstPath: string;
285
+ compact: boolean;
286
+ }
259
287
  export type WorldStateRequestCategories = WithForkId | WithWorldStateRevision | WithCanonicalForkId;
260
288
  export declare function isWithForkId(body: WorldStateRequestCategories): body is WithForkId;
261
289
  export declare function isWithRevision(body: WorldStateRequestCategories): body is WithWorldStateRevision;
@@ -270,6 +298,7 @@ export type WorldStateRequest = {
270
298
  [WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES]: GetBlockNumbersForLeafIndicesRequest;
271
299
  [WorldStateMessageType.FIND_LEAF_INDICES]: FindLeafIndicesRequest;
272
300
  [WorldStateMessageType.FIND_LOW_LEAF]: FindLowLeafRequest;
301
+ [WorldStateMessageType.FIND_SIBLING_PATHS]: FindSiblingPathsRequest;
273
302
  [WorldStateMessageType.APPEND_LEAVES]: AppendLeavesRequest;
274
303
  [WorldStateMessageType.BATCH_INSERT]: BatchInsertRequest;
275
304
  [WorldStateMessageType.SEQUENTIAL_INSERT]: SequentialInsertRequest;
@@ -281,11 +310,14 @@ export type WorldStateRequest = {
281
310
  [WorldStateMessageType.DELETE_FORK]: DeleteForkRequest;
282
311
  [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: BlockShiftRequest;
283
312
  [WorldStateMessageType.UNWIND_BLOCKS]: BlockShiftRequest;
284
- [WorldStateMessageType.FINALISE_BLOCKS]: BlockShiftRequest;
313
+ [WorldStateMessageType.FINALIZE_BLOCKS]: BlockShiftRequest;
285
314
  [WorldStateMessageType.GET_STATUS]: WithCanonicalForkId;
286
315
  [WorldStateMessageType.CREATE_CHECKPOINT]: WithForkId;
287
316
  [WorldStateMessageType.COMMIT_CHECKPOINT]: WithForkId;
288
317
  [WorldStateMessageType.REVERT_CHECKPOINT]: WithForkId;
318
+ [WorldStateMessageType.COMMIT_ALL_CHECKPOINTS]: CheckpointDepthRequest;
319
+ [WorldStateMessageType.REVERT_ALL_CHECKPOINTS]: CheckpointDepthRequest;
320
+ [WorldStateMessageType.COPY_STORES]: CopyStoresRequest;
289
321
  [WorldStateMessageType.CLOSE]: WithCanonicalForkId;
290
322
  };
291
323
  export type WorldStateResponse = {
@@ -298,6 +330,7 @@ export type WorldStateResponse = {
298
330
  [WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES]: GetBlockNumbersForLeafIndicesResponse;
299
331
  [WorldStateMessageType.FIND_LEAF_INDICES]: FindLeafIndicesResponse;
300
332
  [WorldStateMessageType.FIND_LOW_LEAF]: FindLowLeafResponse;
333
+ [WorldStateMessageType.FIND_SIBLING_PATHS]: FindSiblingPathsResponse;
301
334
  [WorldStateMessageType.APPEND_LEAVES]: void;
302
335
  [WorldStateMessageType.BATCH_INSERT]: BatchInsertResponse;
303
336
  [WorldStateMessageType.SEQUENTIAL_INSERT]: SequentialInsertResponse;
@@ -309,23 +342,20 @@ export type WorldStateResponse = {
309
342
  [WorldStateMessageType.DELETE_FORK]: void;
310
343
  [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: WorldStateStatusFull;
311
344
  [WorldStateMessageType.UNWIND_BLOCKS]: WorldStateStatusFull;
312
- [WorldStateMessageType.FINALISE_BLOCKS]: WorldStateStatusSummary;
345
+ [WorldStateMessageType.FINALIZE_BLOCKS]: WorldStateStatusSummary;
313
346
  [WorldStateMessageType.GET_STATUS]: WorldStateStatusSummary;
314
- [WorldStateMessageType.CREATE_CHECKPOINT]: void;
347
+ [WorldStateMessageType.CREATE_CHECKPOINT]: CreateCheckpointResponse;
315
348
  [WorldStateMessageType.COMMIT_CHECKPOINT]: void;
316
349
  [WorldStateMessageType.REVERT_CHECKPOINT]: void;
350
+ [WorldStateMessageType.COMMIT_ALL_CHECKPOINTS]: void;
351
+ [WorldStateMessageType.REVERT_ALL_CHECKPOINTS]: void;
352
+ [WorldStateMessageType.COPY_STORES]: void;
317
353
  [WorldStateMessageType.CLOSE]: void;
318
354
  };
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
355
  type TreeStateReference = readonly [Buffer, number | bigint];
326
356
  type BlockStateReference = Map<Exclude<MerkleTreeId, MerkleTreeId.ARCHIVE>, TreeStateReference>;
327
357
  export declare function treeStateReferenceToSnapshot([root, size]: TreeStateReference): AppendOnlyTreeSnapshot;
328
- export declare function treeStateReference(snapshot: AppendOnlyTreeSnapshot): readonly [Buffer, bigint];
358
+ export declare function treeStateReference(snapshot: AppendOnlyTreeSnapshot): readonly [Buffer<ArrayBufferLike>, bigint];
329
359
  export declare function blockStateReference(state: StateReference): BlockStateReference;
330
360
  export {};
331
- //# sourceMappingURL=message.d.ts.map
361
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25hdGl2ZS9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsb0JBQVkscUJBQXFCO0lBQy9CLGFBQWEsTUFBTTtJQUNuQixtQkFBbUIsTUFBQTtJQUNuQiwyQkFBMkIsTUFBQTtJQUUzQixjQUFjLE1BQUE7SUFDZCxpQkFBaUIsTUFBQTtJQUNqQixnQkFBZ0IsTUFBQTtJQUNoQixrQ0FBa0MsTUFBQTtJQUVsQyxpQkFBaUIsTUFBQTtJQUNqQixhQUFhLE1BQUE7SUFDYixrQkFBa0IsTUFBQTtJQUVsQixhQUFhLE1BQUE7SUFDYixZQUFZLE1BQUE7SUFDWixpQkFBaUIsTUFBQTtJQUVqQixjQUFjLE1BQUE7SUFFZCxNQUFNLE1BQUE7SUFDTixRQUFRLE1BQUE7SUFFUixVQUFVLE1BQUE7SUFFVixXQUFXLE1BQUE7SUFDWCxXQUFXLE1BQUE7SUFFWCxlQUFlLE1BQUE7SUFDZixhQUFhLE1BQUE7SUFDYix3QkFBd0IsTUFBQTtJQUV4QixVQUFVLE1BQUE7SUFFVixpQkFB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
@@ -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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"}
@@ -1,4 +1,5 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
3
4
  export var WorldStateMessageType = /*#__PURE__*/ function(WorldStateMessageType) {
4
5
  WorldStateMessageType[WorldStateMessageType["GET_TREE_INFO"] = 100] = "GET_TREE_INFO";
@@ -10,22 +11,26 @@ export var WorldStateMessageType = /*#__PURE__*/ function(WorldStateMessageType)
10
11
  WorldStateMessageType[WorldStateMessageType["GET_BLOCK_NUMBERS_FOR_LEAF_INDICES"] = 106] = "GET_BLOCK_NUMBERS_FOR_LEAF_INDICES";
11
12
  WorldStateMessageType[WorldStateMessageType["FIND_LEAF_INDICES"] = 107] = "FIND_LEAF_INDICES";
12
13
  WorldStateMessageType[WorldStateMessageType["FIND_LOW_LEAF"] = 108] = "FIND_LOW_LEAF";
13
- WorldStateMessageType[WorldStateMessageType["APPEND_LEAVES"] = 109] = "APPEND_LEAVES";
14
- WorldStateMessageType[WorldStateMessageType["BATCH_INSERT"] = 110] = "BATCH_INSERT";
15
- WorldStateMessageType[WorldStateMessageType["SEQUENTIAL_INSERT"] = 111] = "SEQUENTIAL_INSERT";
16
- WorldStateMessageType[WorldStateMessageType["UPDATE_ARCHIVE"] = 112] = "UPDATE_ARCHIVE";
17
- WorldStateMessageType[WorldStateMessageType["COMMIT"] = 113] = "COMMIT";
18
- WorldStateMessageType[WorldStateMessageType["ROLLBACK"] = 114] = "ROLLBACK";
19
- WorldStateMessageType[WorldStateMessageType["SYNC_BLOCK"] = 115] = "SYNC_BLOCK";
20
- WorldStateMessageType[WorldStateMessageType["CREATE_FORK"] = 116] = "CREATE_FORK";
21
- WorldStateMessageType[WorldStateMessageType["DELETE_FORK"] = 117] = "DELETE_FORK";
22
- WorldStateMessageType[WorldStateMessageType["FINALISE_BLOCKS"] = 118] = "FINALISE_BLOCKS";
23
- WorldStateMessageType[WorldStateMessageType["UNWIND_BLOCKS"] = 119] = "UNWIND_BLOCKS";
24
- WorldStateMessageType[WorldStateMessageType["REMOVE_HISTORICAL_BLOCKS"] = 120] = "REMOVE_HISTORICAL_BLOCKS";
25
- WorldStateMessageType[WorldStateMessageType["GET_STATUS"] = 121] = "GET_STATUS";
26
- WorldStateMessageType[WorldStateMessageType["CREATE_CHECKPOINT"] = 122] = "CREATE_CHECKPOINT";
27
- WorldStateMessageType[WorldStateMessageType["COMMIT_CHECKPOINT"] = 123] = "COMMIT_CHECKPOINT";
28
- WorldStateMessageType[WorldStateMessageType["REVERT_CHECKPOINT"] = 124] = "REVERT_CHECKPOINT";
14
+ WorldStateMessageType[WorldStateMessageType["FIND_SIBLING_PATHS"] = 109] = "FIND_SIBLING_PATHS";
15
+ WorldStateMessageType[WorldStateMessageType["APPEND_LEAVES"] = 110] = "APPEND_LEAVES";
16
+ WorldStateMessageType[WorldStateMessageType["BATCH_INSERT"] = 111] = "BATCH_INSERT";
17
+ WorldStateMessageType[WorldStateMessageType["SEQUENTIAL_INSERT"] = 112] = "SEQUENTIAL_INSERT";
18
+ WorldStateMessageType[WorldStateMessageType["UPDATE_ARCHIVE"] = 113] = "UPDATE_ARCHIVE";
19
+ WorldStateMessageType[WorldStateMessageType["COMMIT"] = 114] = "COMMIT";
20
+ WorldStateMessageType[WorldStateMessageType["ROLLBACK"] = 115] = "ROLLBACK";
21
+ WorldStateMessageType[WorldStateMessageType["SYNC_BLOCK"] = 116] = "SYNC_BLOCK";
22
+ WorldStateMessageType[WorldStateMessageType["CREATE_FORK"] = 117] = "CREATE_FORK";
23
+ WorldStateMessageType[WorldStateMessageType["DELETE_FORK"] = 118] = "DELETE_FORK";
24
+ WorldStateMessageType[WorldStateMessageType["FINALIZE_BLOCKS"] = 119] = "FINALIZE_BLOCKS";
25
+ WorldStateMessageType[WorldStateMessageType["UNWIND_BLOCKS"] = 120] = "UNWIND_BLOCKS";
26
+ WorldStateMessageType[WorldStateMessageType["REMOVE_HISTORICAL_BLOCKS"] = 121] = "REMOVE_HISTORICAL_BLOCKS";
27
+ WorldStateMessageType[WorldStateMessageType["GET_STATUS"] = 122] = "GET_STATUS";
28
+ WorldStateMessageType[WorldStateMessageType["CREATE_CHECKPOINT"] = 123] = "CREATE_CHECKPOINT";
29
+ WorldStateMessageType[WorldStateMessageType["COMMIT_CHECKPOINT"] = 124] = "COMMIT_CHECKPOINT";
30
+ WorldStateMessageType[WorldStateMessageType["REVERT_CHECKPOINT"] = 125] = "REVERT_CHECKPOINT";
31
+ WorldStateMessageType[WorldStateMessageType["COMMIT_ALL_CHECKPOINTS"] = 126] = "COMMIT_ALL_CHECKPOINTS";
32
+ WorldStateMessageType[WorldStateMessageType["REVERT_ALL_CHECKPOINTS"] = 127] = "REVERT_ALL_CHECKPOINTS";
33
+ WorldStateMessageType[WorldStateMessageType["COPY_STORES"] = 128] = "COPY_STORES";
29
34
  WorldStateMessageType[WorldStateMessageType["CLOSE"] = 999] = "CLOSE";
30
35
  return WorldStateMessageType;
31
36
  }({});
@@ -39,6 +44,7 @@ export function buildEmptyDBStats() {
39
44
  export function buildEmptyTreeDBStats() {
40
45
  return {
41
46
  mapSize: 0n,
47
+ physicalFileSize: 0n,
42
48
  blocksDBStats: buildEmptyDBStats(),
43
49
  nodesDBStats: buildEmptyDBStats(),
44
50
  leafIndicesDBStats: buildEmptyDBStats(),
@@ -53,9 +59,9 @@ export function buildEmptyTreeMeta() {
53
59
  depth: 0,
54
60
  size: 0n,
55
61
  committedSize: 0n,
56
- unfinalisedBlockHeight: 0n,
57
- finalisedBlockHeight: 0n,
58
- oldestHistoricBlock: 0n,
62
+ unfinalizedBlockHeight: BlockNumber.ZERO,
63
+ finalizedBlockHeight: BlockNumber.ZERO,
64
+ oldestHistoricBlock: BlockNumber.ZERO,
59
65
  root: Fr.ZERO,
60
66
  initialRoot: Fr.ZERO,
61
67
  initialSize: 0n
@@ -81,9 +87,9 @@ export function buildEmptyWorldStateDBStats() {
81
87
  }
82
88
  export function buildEmptyWorldStateSummary() {
83
89
  return {
84
- unfinalisedBlockNumber: 0n,
85
- finalisedBlockNumber: 0n,
86
- oldestHistoricalBlock: 0n,
90
+ unfinalizedBlockNumber: BlockNumber.ZERO,
91
+ finalizedBlockNumber: BlockNumber.ZERO,
92
+ oldestHistoricalBlock: BlockNumber.ZERO,
87
93
  treesAreSynched: true
88
94
  };
89
95
  }
@@ -94,55 +100,56 @@ export function buildEmptyWorldStateStatusFull() {
94
100
  summary: buildEmptyWorldStateSummary()
95
101
  };
96
102
  }
97
- export function sanitiseSummary(summary) {
98
- summary.finalisedBlockNumber = BigInt(summary.finalisedBlockNumber);
99
- summary.unfinalisedBlockNumber = BigInt(summary.unfinalisedBlockNumber);
100
- summary.oldestHistoricalBlock = BigInt(summary.oldestHistoricalBlock);
103
+ export function sanitizeSummary(summary) {
104
+ summary.finalizedBlockNumber = BlockNumber.fromBigInt(BigInt(summary.finalizedBlockNumber));
105
+ summary.unfinalizedBlockNumber = BlockNumber.fromBigInt(BigInt(summary.unfinalizedBlockNumber));
106
+ summary.oldestHistoricalBlock = BlockNumber.fromBigInt(BigInt(summary.oldestHistoricalBlock));
101
107
  return summary;
102
108
  }
103
- export function sanitiseDBStats(stats) {
109
+ export function sanitizeDBStats(stats) {
104
110
  stats.numDataItems = BigInt(stats.numDataItems);
105
111
  stats.totalUsedSize = BigInt(stats.totalUsedSize);
106
112
  return stats;
107
113
  }
108
- export function sanitiseMeta(meta) {
114
+ export function sanitizeMeta(meta) {
109
115
  meta.committedSize = BigInt(meta.committedSize);
110
- meta.finalisedBlockHeight = BigInt(meta.finalisedBlockHeight);
116
+ meta.finalizedBlockHeight = BlockNumber.fromBigInt(BigInt(meta.finalizedBlockHeight));
111
117
  meta.initialSize = BigInt(meta.initialSize);
112
- meta.oldestHistoricBlock = BigInt(meta.oldestHistoricBlock);
118
+ meta.oldestHistoricBlock = BlockNumber.fromBigInt(BigInt(meta.oldestHistoricBlock));
113
119
  meta.size = BigInt(meta.size);
114
- meta.unfinalisedBlockHeight = BigInt(meta.unfinalisedBlockHeight);
120
+ meta.unfinalizedBlockHeight = BlockNumber.fromBigInt(BigInt(meta.unfinalizedBlockHeight));
115
121
  return meta;
116
122
  }
117
- export function sanitiseTreeDBStats(stats) {
118
- stats.blocksDBStats = sanitiseDBStats(stats.blocksDBStats);
119
- stats.leafIndicesDBStats = sanitiseDBStats(stats.leafIndicesDBStats);
120
- stats.leafPreimagesDBStats = sanitiseDBStats(stats.leafPreimagesDBStats);
121
- stats.blockIndicesDBStats = sanitiseDBStats(stats.blockIndicesDBStats);
122
- stats.nodesDBStats = sanitiseDBStats(stats.nodesDBStats);
123
+ export function sanitizeTreeDBStats(stats) {
124
+ stats.blocksDBStats = sanitizeDBStats(stats.blocksDBStats);
125
+ stats.leafIndicesDBStats = sanitizeDBStats(stats.leafIndicesDBStats);
126
+ stats.leafPreimagesDBStats = sanitizeDBStats(stats.leafPreimagesDBStats);
127
+ stats.blockIndicesDBStats = sanitizeDBStats(stats.blockIndicesDBStats);
128
+ stats.nodesDBStats = sanitizeDBStats(stats.nodesDBStats);
123
129
  stats.mapSize = BigInt(stats.mapSize);
130
+ stats.physicalFileSize = BigInt(stats.physicalFileSize);
124
131
  return stats;
125
132
  }
126
- export function sanitiseWorldStateDBStats(stats) {
127
- stats.archiveTreeStats = sanitiseTreeDBStats(stats.archiveTreeStats);
128
- stats.messageTreeStats = sanitiseTreeDBStats(stats.messageTreeStats);
129
- stats.noteHashTreeStats = sanitiseTreeDBStats(stats.noteHashTreeStats);
130
- stats.nullifierTreeStats = sanitiseTreeDBStats(stats.nullifierTreeStats);
131
- stats.publicDataTreeStats = sanitiseTreeDBStats(stats.publicDataTreeStats);
133
+ export function sanitizeWorldStateDBStats(stats) {
134
+ stats.archiveTreeStats = sanitizeTreeDBStats(stats.archiveTreeStats);
135
+ stats.messageTreeStats = sanitizeTreeDBStats(stats.messageTreeStats);
136
+ stats.noteHashTreeStats = sanitizeTreeDBStats(stats.noteHashTreeStats);
137
+ stats.nullifierTreeStats = sanitizeTreeDBStats(stats.nullifierTreeStats);
138
+ stats.publicDataTreeStats = sanitizeTreeDBStats(stats.publicDataTreeStats);
132
139
  return stats;
133
140
  }
134
- export function sanitiseWorldStateTreeMeta(meta) {
135
- meta.archiveTreeMeta = sanitiseMeta(meta.archiveTreeMeta);
136
- meta.messageTreeMeta = sanitiseMeta(meta.messageTreeMeta);
137
- meta.noteHashTreeMeta = sanitiseMeta(meta.noteHashTreeMeta);
138
- meta.nullifierTreeMeta = sanitiseMeta(meta.nullifierTreeMeta);
139
- meta.publicDataTreeMeta = sanitiseMeta(meta.publicDataTreeMeta);
141
+ export function sanitizeWorldStateTreeMeta(meta) {
142
+ meta.archiveTreeMeta = sanitizeMeta(meta.archiveTreeMeta);
143
+ meta.messageTreeMeta = sanitizeMeta(meta.messageTreeMeta);
144
+ meta.noteHashTreeMeta = sanitizeMeta(meta.noteHashTreeMeta);
145
+ meta.nullifierTreeMeta = sanitizeMeta(meta.nullifierTreeMeta);
146
+ meta.publicDataTreeMeta = sanitizeMeta(meta.publicDataTreeMeta);
140
147
  return meta;
141
148
  }
142
- export function sanitiseFullStatus(status) {
143
- status.dbStats = sanitiseWorldStateDBStats(status.dbStats);
144
- status.summary = sanitiseSummary(status.summary);
145
- status.meta = sanitiseWorldStateTreeMeta(status.meta);
149
+ export function sanitizeFullStatus(status) {
150
+ status.dbStats = sanitizeWorldStateDBStats(status.dbStats);
151
+ status.summary = sanitizeSummary(status.summary);
152
+ status.meta = sanitizeWorldStateTreeMeta(status.meta);
146
153
  return status;
147
154
  }
148
155
  export function isWithForkId(body) {
@@ -154,13 +161,6 @@ export function isWithRevision(body) {
154
161
  export function isWithCanonical(body) {
155
162
  return body && 'canonical' in body;
156
163
  }
157
- export function worldStateRevision(includeUncommitted, forkId, blockNumber) {
158
- return {
159
- forkId: forkId ?? 0,
160
- blockNumber: blockNumber ?? 0,
161
- includeUncommitted
162
- };
163
- }
164
164
  export function treeStateReferenceToSnapshot([root, size]) {
165
165
  return new AppendOnlyTreeSnapshot(Fr.fromBuffer(root), Number(size));
166
166
  }
@@ -1,57 +1,65 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
- import { Fr } from '@aztec/foundation/fields';
4
+ import { type Logger, type LoggerBindings } from '@aztec/foundation/log';
5
5
  import type { L2Block } from '@aztec/stdlib/block';
6
6
  import type { IndexedTreeId, MerkleTreeReadOperations, MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
7
+ import type { SnapshotDataKeys } from '@aztec/stdlib/snapshots';
7
8
  import { type NullifierLeafPreimage, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
8
9
  import { BlockHeader } from '@aztec/stdlib/tx';
9
10
  import { WorldStateInstrumentation } from '../instrumentation/instrumentation.js';
11
+ import type { WorldStateTreeMapSizes } from '../synchronizer/factory.js';
10
12
  import type { MerkleTreeAdminDatabase as MerkleTreeDatabase } from '../world-state-db/merkle_tree_db.js';
11
13
  import { type WorldStateStatusFull, type WorldStateStatusSummary } from './message.js';
12
14
  import { NativeWorldState } from './native_world_state_instance.js';
13
- export declare const WORLD_STATE_DB_VERSION = 1;
15
+ export declare const WORLD_STATE_DB_VERSION = 2;
16
+ export declare const WORLD_STATE_DIR = "world_state";
14
17
  export declare class NativeWorldStateService implements MerkleTreeDatabase {
15
- protected readonly instance: NativeWorldState;
18
+ protected instance: NativeWorldState;
16
19
  protected readonly worldStateInstrumentation: WorldStateInstrumentation;
17
- protected readonly log: import("@aztec/foundation/log").Logger;
20
+ protected readonly log: Logger;
18
21
  private readonly cleanup;
19
22
  protected initialHeader: BlockHeader | undefined;
20
23
  private cachedStatusSummary;
21
- protected constructor(instance: NativeWorldState, worldStateInstrumentation: WorldStateInstrumentation, log?: import("@aztec/foundation/log").Logger, cleanup?: () => Promise<void>);
22
- static new(rollupAddress: EthAddress, dataDir: string, dbMapSizeKb: number, prefilledPublicData?: PublicDataTreeLeaf[], instrumentation?: WorldStateInstrumentation, log?: import("@aztec/foundation/log").Logger, cleanup?: () => Promise<void>): Promise<NativeWorldStateService>;
23
- static tmp(rollupAddress?: EthAddress, cleanupTmpDir?: boolean, prefilledPublicData?: PublicDataTreeLeaf[], instrumentation?: WorldStateInstrumentation): Promise<NativeWorldStateService>;
24
+ protected constructor(instance: NativeWorldState, worldStateInstrumentation: WorldStateInstrumentation, log: Logger, cleanup?: () => Promise<void>);
25
+ static new(rollupAddress: EthAddress, dataDir: string, wsTreeMapSizes: WorldStateTreeMapSizes, prefilledPublicData?: PublicDataTreeLeaf[], instrumentation?: WorldStateInstrumentation, bindings?: LoggerBindings, cleanup?: () => Promise<void>): Promise<NativeWorldStateService>;
26
+ static tmp(rollupAddress?: EthAddress, cleanupTmpDir?: boolean, prefilledPublicData?: PublicDataTreeLeaf[], instrumentation?: WorldStateInstrumentation, bindings?: LoggerBindings): Promise<NativeWorldStateService>;
24
27
  protected init(): Promise<void>;
28
+ clear(): Promise<void>;
25
29
  getCommitted(): MerkleTreeReadOperations;
26
- getSnapshot(blockNumber: number): MerkleTreeReadOperations;
27
- fork(blockNumber?: number): Promise<MerkleTreeWriteOperations>;
30
+ getSnapshot(blockNumber: BlockNumber): MerkleTreeReadOperations;
31
+ fork(blockNumber?: BlockNumber, opts?: {
32
+ closeDelayMs?: number;
33
+ }): Promise<MerkleTreeWriteOperations>;
28
34
  getInitialHeader(): BlockHeader;
29
35
  handleL2BlockAndMessages(l2Block: L2Block, l1ToL2Messages: Fr[]): Promise<WorldStateStatusFull>;
30
36
  close(): Promise<void>;
31
37
  private buildInitialHeader;
32
- private sanitiseAndCacheSummaryFromFull;
33
- private sanitiseAndCacheSummary;
38
+ private sanitizeAndCacheSummaryFromFull;
39
+ private sanitizeAndCacheSummary;
34
40
  private deleteCachedSummary;
35
41
  /**
36
- * Advances the finalised block number to be the number provided
37
- * @param toBlockNumber The block number that is now the tip of the finalised chain
42
+ * Advances the finalized block number to be the number provided
43
+ * @param toBlockNumber The block number that is now the tip of the finalized chain
38
44
  * @returns The new WorldStateStatus
39
45
  */
40
- setFinalised(toBlockNumber: bigint): Promise<WorldStateStatusSummary>;
46
+ setFinalized(toBlockNumber: BlockNumber): Promise<WorldStateStatusSummary>;
41
47
  /**
42
48
  * Removes all historical snapshots up to but not including the given block number
43
49
  * @param toBlockNumber The block number of the new oldest historical block
44
50
  * @returns The new WorldStateStatus
45
51
  */
46
- removeHistoricalBlocks(toBlockNumber: bigint): Promise<WorldStateStatusFull>;
52
+ removeHistoricalBlocks(toBlockNumber: BlockNumber): Promise<WorldStateStatusFull>;
47
53
  /**
48
54
  * Removes all pending blocks down to but not including the given block number
49
55
  * @param toBlockNumber The block number of the new tip of the pending chain,
50
56
  * @returns The new WorldStateStatus
51
57
  */
52
- unwindBlocks(toBlockNumber: bigint): Promise<WorldStateStatusFull>;
58
+ unwindBlocks(toBlockNumber: BlockNumber): Promise<WorldStateStatusFull>;
53
59
  getStatusSummary(): Promise<WorldStateStatusSummary>;
54
60
  updateLeaf<ID extends IndexedTreeId>(_treeId: ID, _leaf: NullifierLeafPreimage | Buffer, _index: bigint): Promise<void>;
55
61
  private getInitialStateReference;
62
+ backupTo(dstPath: string, compact?: boolean): Promise<Record<Exclude<SnapshotDataKeys, 'archiver'>, string>>;
56
63
  }
57
- //# sourceMappingURL=native_world_state.d.ts.map
64
+ export declare const NATIVE_WORLD_STATE_DBS: readonly [readonly ["l1-to-l2-message-tree", "L1ToL2MessageTree"], readonly ["archive-tree", "ArchiveTree"], readonly ["public-data-tree", "PublicDataTree"], readonly ["note-hash-tree", "NoteHashTree"], readonly ["nullifier-tree", "NullifierTree"]];
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX3dvcmxkX3N0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlL25hdGl2ZV93b3JsZF9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxLQUFLLEVBQ1YsYUFBYSxFQUNiLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDMUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBK0IsS0FBSyxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxXQUFXLEVBQXlDLE1BQU0sa0JBQWtCLENBQUM7QUFTdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXpHLE9BQU8sRUFFTCxLQUFLLG9CQUFvQixFQUN6QixLQUFLLHVCQUF1QixFQUs3QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUlwRSxlQUFPLE1BQU0sc0JBQXNC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