@aztec/world-state 0.0.0-test.0

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 (74) hide show
  1. package/README.md +40 -0
  2. package/dest/index.d.ts +5 -0
  3. package/dest/index.d.ts.map +1 -0
  4. package/dest/index.js +4 -0
  5. package/dest/instrumentation/instrumentation.d.ts +22 -0
  6. package/dest/instrumentation/instrumentation.d.ts.map +1 -0
  7. package/dest/instrumentation/instrumentation.js +117 -0
  8. package/dest/native/fork_checkpoint.d.ts +10 -0
  9. package/dest/native/fork_checkpoint.d.ts.map +1 -0
  10. package/dest/native/fork_checkpoint.js +26 -0
  11. package/dest/native/index.d.ts +3 -0
  12. package/dest/native/index.d.ts.map +1 -0
  13. package/dest/native/index.js +2 -0
  14. package/dest/native/merkle_trees_facade.d.ts +42 -0
  15. package/dest/native/merkle_trees_facade.d.ts.map +1 -0
  16. package/dest/native/merkle_trees_facade.js +240 -0
  17. package/dest/native/message.d.ts +331 -0
  18. package/dest/native/message.d.ts.map +1 -0
  19. package/dest/native/message.js +192 -0
  20. package/dest/native/native_world_state.d.ts +57 -0
  21. package/dest/native/native_world_state.d.ts.map +1 -0
  22. package/dest/native/native_world_state.js +229 -0
  23. package/dest/native/native_world_state_instance.d.ts +33 -0
  24. package/dest/native/native_world_state_instance.d.ts.map +1 -0
  25. package/dest/native/native_world_state_instance.js +164 -0
  26. package/dest/native/world_state_ops_queue.d.ts +19 -0
  27. package/dest/native/world_state_ops_queue.d.ts.map +1 -0
  28. package/dest/native/world_state_ops_queue.js +146 -0
  29. package/dest/synchronizer/config.d.ts +23 -0
  30. package/dest/synchronizer/config.d.ts.map +1 -0
  31. package/dest/synchronizer/config.js +39 -0
  32. package/dest/synchronizer/factory.d.ts +12 -0
  33. package/dest/synchronizer/factory.d.ts.map +1 -0
  34. package/dest/synchronizer/factory.js +24 -0
  35. package/dest/synchronizer/index.d.ts +3 -0
  36. package/dest/synchronizer/index.d.ts.map +1 -0
  37. package/dest/synchronizer/index.js +2 -0
  38. package/dest/synchronizer/server_world_state_synchronizer.d.ts +79 -0
  39. package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -0
  40. package/dest/synchronizer/server_world_state_synchronizer.js +277 -0
  41. package/dest/test/index.d.ts +2 -0
  42. package/dest/test/index.d.ts.map +1 -0
  43. package/dest/test/index.js +1 -0
  44. package/dest/test/utils.d.ts +19 -0
  45. package/dest/test/utils.d.ts.map +1 -0
  46. package/dest/test/utils.js +99 -0
  47. package/dest/testing.d.ts +10 -0
  48. package/dest/testing.d.ts.map +1 -0
  49. package/dest/testing.js +37 -0
  50. package/dest/world-state-db/index.d.ts +3 -0
  51. package/dest/world-state-db/index.d.ts.map +1 -0
  52. package/dest/world-state-db/index.js +1 -0
  53. package/dest/world-state-db/merkle_tree_db.d.ts +68 -0
  54. package/dest/world-state-db/merkle_tree_db.d.ts.map +1 -0
  55. package/dest/world-state-db/merkle_tree_db.js +17 -0
  56. package/package.json +98 -0
  57. package/src/index.ts +4 -0
  58. package/src/instrumentation/instrumentation.ts +174 -0
  59. package/src/native/fork_checkpoint.ts +30 -0
  60. package/src/native/index.ts +2 -0
  61. package/src/native/merkle_trees_facade.ts +331 -0
  62. package/src/native/message.ts +541 -0
  63. package/src/native/native_world_state.ts +317 -0
  64. package/src/native/native_world_state_instance.ts +238 -0
  65. package/src/native/world_state_ops_queue.ts +190 -0
  66. package/src/synchronizer/config.ts +68 -0
  67. package/src/synchronizer/factory.ts +53 -0
  68. package/src/synchronizer/index.ts +2 -0
  69. package/src/synchronizer/server_world_state_synchronizer.ts +344 -0
  70. package/src/test/index.ts +1 -0
  71. package/src/test/utils.ts +153 -0
  72. package/src/testing.ts +60 -0
  73. package/src/world-state-db/index.ts +3 -0
  74. package/src/world-state-db/merkle_tree_db.ts +79 -0
@@ -0,0 +1,331 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import type { Tuple } from '@aztec/foundation/serialize';
5
+ import { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
6
+ import type { StateReference } from '@aztec/stdlib/tx';
7
+ import type { UInt32 } from '@aztec/stdlib/types';
8
+ export declare enum WorldStateMessageType {
9
+ GET_TREE_INFO = 100,
10
+ GET_STATE_REFERENCE = 101,
11
+ GET_INITIAL_STATE_REFERENCE = 102,
12
+ GET_LEAF_VALUE = 103,
13
+ GET_LEAF_PREIMAGE = 104,
14
+ GET_SIBLING_PATH = 105,
15
+ GET_BLOCK_NUMBERS_FOR_LEAF_INDICES = 106,
16
+ FIND_LEAF_INDICES = 107,
17
+ 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,
34
+ CLOSE = 999
35
+ }
36
+ interface WithTreeId {
37
+ treeId: MerkleTreeId;
38
+ }
39
+ export interface WorldStateStatusSummary {
40
+ /** 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
+ /** Oldest block still available for historical queries and forks. */
45
+ oldestHistoricalBlock: bigint;
46
+ /** Whether the trees are in sync with each other */
47
+ treesAreSynched: boolean;
48
+ }
49
+ export interface TreeMeta {
50
+ /** The name of the tree */
51
+ name: string;
52
+ /** The depth of the tree */
53
+ depth: number;
54
+ /** The current size of the tree (number of leaves) */
55
+ size: bigint;
56
+ /** The committed size of the tree */
57
+ committedSize: bigint;
58
+ /** The current root of the tree */
59
+ root: Fr;
60
+ /** The tree's initial size */
61
+ initialSize: bigint;
62
+ /** The tree's initial root value */
63
+ initialRoot: Fr;
64
+ /** 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
+ }
71
+ export interface DBStats {
72
+ /** The name of the DB */
73
+ name: string;
74
+ /** The total number of key/value pairs in the DB */
75
+ numDataItems: bigint;
76
+ /** The current mapped size of the DB */
77
+ totalUsedSize: bigint;
78
+ }
79
+ export interface TreeDBStats {
80
+ /** The configured max size of the DB mapping file (effectively the max possible size of the DB) */
81
+ mapSize: bigint;
82
+ /** Stats for the 'blocks' DB */
83
+ blocksDBStats: DBStats;
84
+ /** Stats for the 'nodes' DB */
85
+ nodesDBStats: DBStats;
86
+ /** Stats for the 'leaf pre-images' DB */
87
+ leafPreimagesDBStats: DBStats;
88
+ /** Stats for the 'leaf indices' DB */
89
+ leafIndicesDBStats: DBStats;
90
+ /** Stats for the 'block indices' DB */
91
+ blockIndicesDBStats: DBStats;
92
+ }
93
+ export interface WorldStateMeta {
94
+ /** Tree meta for the note hash tree */
95
+ noteHashTreeMeta: TreeMeta;
96
+ /** Tree meta for the message tree */
97
+ messageTreeMeta: TreeMeta;
98
+ /** Tree meta for the archive tree */
99
+ archiveTreeMeta: TreeMeta;
100
+ /** Tree meta for the public data tree */
101
+ publicDataTreeMeta: TreeMeta;
102
+ /** Tree meta for the nullifier tree */
103
+ nullifierTreeMeta: TreeMeta;
104
+ }
105
+ export interface WorldStateDBStats {
106
+ /** Full stats for the note hash tree */
107
+ noteHashTreeStats: TreeDBStats;
108
+ /** Full stats for the message tree */
109
+ messageTreeStats: TreeDBStats;
110
+ /** Full stats for the archive tree */
111
+ archiveTreeStats: TreeDBStats;
112
+ /** Full stats for the public data tree */
113
+ publicDataTreeStats: TreeDBStats;
114
+ /** Full stats for the nullifier tree */
115
+ nullifierTreeStats: TreeDBStats;
116
+ }
117
+ export interface WorldStateStatusFull {
118
+ summary: WorldStateStatusSummary;
119
+ dbStats: WorldStateDBStats;
120
+ meta: WorldStateMeta;
121
+ }
122
+ export declare function buildEmptyDBStats(): DBStats;
123
+ export declare function buildEmptyTreeDBStats(): TreeDBStats;
124
+ export declare function buildEmptyTreeMeta(): TreeMeta;
125
+ export declare function buildEmptyWorldStateMeta(): WorldStateMeta;
126
+ export declare function buildEmptyWorldStateDBStats(): WorldStateDBStats;
127
+ export declare function buildEmptyWorldStateSummary(): WorldStateStatusSummary;
128
+ 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
+ interface WithForkId {
137
+ forkId: number;
138
+ }
139
+ interface WithWorldStateRevision {
140
+ revision: WorldStateRevision;
141
+ }
142
+ interface WithCanonicalForkId {
143
+ canonical: true;
144
+ }
145
+ interface WithLeafIndex {
146
+ leafIndex: bigint;
147
+ }
148
+ export type SerializedLeafValue = Buffer | {
149
+ value: Buffer;
150
+ } | {
151
+ value: Buffer;
152
+ slot: Buffer;
153
+ };
154
+ export type SerializedIndexedLeaf = {
155
+ value: Exclude<SerializedLeafValue, Buffer>;
156
+ nextIndex: bigint | number;
157
+ nextValue: Buffer;
158
+ };
159
+ interface WithLeafValues {
160
+ leaves: SerializedLeafValue[];
161
+ }
162
+ interface BlockShiftRequest extends WithCanonicalForkId {
163
+ toBlockNumber: bigint;
164
+ }
165
+ interface WithLeaves {
166
+ leaves: SerializedLeafValue[];
167
+ }
168
+ interface GetTreeInfoRequest extends WithTreeId, WithWorldStateRevision {
169
+ }
170
+ interface GetTreeInfoResponse {
171
+ treeId: MerkleTreeId;
172
+ depth: UInt32;
173
+ size: bigint | number;
174
+ root: Buffer;
175
+ }
176
+ interface GetBlockNumbersForLeafIndicesRequest extends WithTreeId, WithWorldStateRevision {
177
+ leafIndices: bigint[];
178
+ }
179
+ interface GetBlockNumbersForLeafIndicesResponse {
180
+ blockNumbers: bigint[];
181
+ }
182
+ interface GetSiblingPathRequest extends WithTreeId, WithLeafIndex, WithWorldStateRevision {
183
+ }
184
+ type GetSiblingPathResponse = Buffer[];
185
+ interface GetStateReferenceRequest extends WithWorldStateRevision {
186
+ }
187
+ interface GetStateReferenceResponse {
188
+ state: Record<MerkleTreeId, TreeStateReference>;
189
+ }
190
+ interface GetLeafRequest extends WithTreeId, WithWorldStateRevision, WithLeafIndex {
191
+ }
192
+ type GetLeafResponse = SerializedLeafValue | undefined;
193
+ interface GetLeafPreImageRequest extends WithTreeId, WithLeafIndex, WithWorldStateRevision {
194
+ }
195
+ type GetLeafPreImageResponse = SerializedIndexedLeaf | undefined;
196
+ interface FindLeafIndicesRequest extends WithTreeId, WithLeafValues, WithWorldStateRevision {
197
+ startIndex: bigint;
198
+ }
199
+ interface FindLeafIndicesResponse {
200
+ indices: bigint[];
201
+ }
202
+ interface FindLowLeafRequest extends WithTreeId, WithWorldStateRevision {
203
+ key: Fr;
204
+ }
205
+ interface FindLowLeafResponse {
206
+ index: bigint | number;
207
+ alreadyPresent: boolean;
208
+ }
209
+ interface AppendLeavesRequest extends WithTreeId, WithForkId, WithLeaves {
210
+ }
211
+ interface BatchInsertRequest extends WithTreeId, WithForkId, WithLeaves {
212
+ subtreeDepth: number;
213
+ }
214
+ interface BatchInsertResponse {
215
+ low_leaf_witness_data: ReadonlyArray<{
216
+ leaf: SerializedIndexedLeaf;
217
+ index: bigint | number;
218
+ path: Tuple<Buffer, number>;
219
+ }>;
220
+ sorted_leaves: ReadonlyArray<[SerializedLeafValue, UInt32]>;
221
+ subtree_path: Tuple<Buffer, number>;
222
+ }
223
+ interface SequentialInsertRequest extends WithTreeId, WithForkId, WithLeaves {
224
+ }
225
+ interface SequentialInsertResponse {
226
+ low_leaf_witness_data: ReadonlyArray<{
227
+ leaf: SerializedIndexedLeaf;
228
+ index: bigint | number;
229
+ path: Tuple<Buffer, number>;
230
+ }>;
231
+ insertion_witness_data: ReadonlyArray<{
232
+ leaf: SerializedIndexedLeaf;
233
+ index: bigint | number;
234
+ path: Tuple<Buffer, number>;
235
+ }>;
236
+ }
237
+ interface UpdateArchiveRequest extends WithForkId {
238
+ blockStateRef: BlockStateReference;
239
+ blockHeaderHash: Buffer;
240
+ }
241
+ interface SyncBlockRequest extends WithCanonicalForkId {
242
+ blockNumber: number;
243
+ blockStateRef: BlockStateReference;
244
+ blockHeaderHash: Fr;
245
+ paddedNoteHashes: readonly SerializedLeafValue[];
246
+ paddedL1ToL2Messages: readonly SerializedLeafValue[];
247
+ paddedNullifiers: readonly SerializedLeafValue[];
248
+ publicDataWrites: readonly SerializedLeafValue[];
249
+ }
250
+ interface CreateForkRequest extends WithCanonicalForkId {
251
+ latest: boolean;
252
+ blockNumber: number;
253
+ }
254
+ interface CreateForkResponse {
255
+ forkId: number;
256
+ }
257
+ interface DeleteForkRequest extends WithForkId {
258
+ }
259
+ export type WorldStateRequestCategories = WithForkId | WithWorldStateRevision | WithCanonicalForkId;
260
+ export declare function isWithForkId(body: WorldStateRequestCategories): body is WithForkId;
261
+ export declare function isWithRevision(body: WorldStateRequestCategories): body is WithWorldStateRevision;
262
+ export declare function isWithCanonical(body: WorldStateRequestCategories): body is WithCanonicalForkId;
263
+ export type WorldStateRequest = {
264
+ [WorldStateMessageType.GET_TREE_INFO]: GetTreeInfoRequest;
265
+ [WorldStateMessageType.GET_STATE_REFERENCE]: GetStateReferenceRequest;
266
+ [WorldStateMessageType.GET_INITIAL_STATE_REFERENCE]: WithCanonicalForkId;
267
+ [WorldStateMessageType.GET_LEAF_VALUE]: GetLeafRequest;
268
+ [WorldStateMessageType.GET_LEAF_PREIMAGE]: GetLeafPreImageRequest;
269
+ [WorldStateMessageType.GET_SIBLING_PATH]: GetSiblingPathRequest;
270
+ [WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES]: GetBlockNumbersForLeafIndicesRequest;
271
+ [WorldStateMessageType.FIND_LEAF_INDICES]: FindLeafIndicesRequest;
272
+ [WorldStateMessageType.FIND_LOW_LEAF]: FindLowLeafRequest;
273
+ [WorldStateMessageType.APPEND_LEAVES]: AppendLeavesRequest;
274
+ [WorldStateMessageType.BATCH_INSERT]: BatchInsertRequest;
275
+ [WorldStateMessageType.SEQUENTIAL_INSERT]: SequentialInsertRequest;
276
+ [WorldStateMessageType.UPDATE_ARCHIVE]: UpdateArchiveRequest;
277
+ [WorldStateMessageType.COMMIT]: WithCanonicalForkId;
278
+ [WorldStateMessageType.ROLLBACK]: WithCanonicalForkId;
279
+ [WorldStateMessageType.SYNC_BLOCK]: SyncBlockRequest;
280
+ [WorldStateMessageType.CREATE_FORK]: CreateForkRequest;
281
+ [WorldStateMessageType.DELETE_FORK]: DeleteForkRequest;
282
+ [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: BlockShiftRequest;
283
+ [WorldStateMessageType.UNWIND_BLOCKS]: BlockShiftRequest;
284
+ [WorldStateMessageType.FINALISE_BLOCKS]: BlockShiftRequest;
285
+ [WorldStateMessageType.GET_STATUS]: WithCanonicalForkId;
286
+ [WorldStateMessageType.CREATE_CHECKPOINT]: WithForkId;
287
+ [WorldStateMessageType.COMMIT_CHECKPOINT]: WithForkId;
288
+ [WorldStateMessageType.REVERT_CHECKPOINT]: WithForkId;
289
+ [WorldStateMessageType.CLOSE]: WithCanonicalForkId;
290
+ };
291
+ export type WorldStateResponse = {
292
+ [WorldStateMessageType.GET_TREE_INFO]: GetTreeInfoResponse;
293
+ [WorldStateMessageType.GET_STATE_REFERENCE]: GetStateReferenceResponse;
294
+ [WorldStateMessageType.GET_INITIAL_STATE_REFERENCE]: GetStateReferenceResponse;
295
+ [WorldStateMessageType.GET_LEAF_VALUE]: GetLeafResponse;
296
+ [WorldStateMessageType.GET_LEAF_PREIMAGE]: GetLeafPreImageResponse;
297
+ [WorldStateMessageType.GET_SIBLING_PATH]: GetSiblingPathResponse;
298
+ [WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES]: GetBlockNumbersForLeafIndicesResponse;
299
+ [WorldStateMessageType.FIND_LEAF_INDICES]: FindLeafIndicesResponse;
300
+ [WorldStateMessageType.FIND_LOW_LEAF]: FindLowLeafResponse;
301
+ [WorldStateMessageType.APPEND_LEAVES]: void;
302
+ [WorldStateMessageType.BATCH_INSERT]: BatchInsertResponse;
303
+ [WorldStateMessageType.SEQUENTIAL_INSERT]: SequentialInsertResponse;
304
+ [WorldStateMessageType.UPDATE_ARCHIVE]: void;
305
+ [WorldStateMessageType.COMMIT]: void;
306
+ [WorldStateMessageType.ROLLBACK]: void;
307
+ [WorldStateMessageType.SYNC_BLOCK]: WorldStateStatusFull;
308
+ [WorldStateMessageType.CREATE_FORK]: CreateForkResponse;
309
+ [WorldStateMessageType.DELETE_FORK]: void;
310
+ [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: WorldStateStatusFull;
311
+ [WorldStateMessageType.UNWIND_BLOCKS]: WorldStateStatusFull;
312
+ [WorldStateMessageType.FINALISE_BLOCKS]: WorldStateStatusSummary;
313
+ [WorldStateMessageType.GET_STATUS]: WorldStateStatusSummary;
314
+ [WorldStateMessageType.CREATE_CHECKPOINT]: void;
315
+ [WorldStateMessageType.COMMIT_CHECKPOINT]: void;
316
+ [WorldStateMessageType.REVERT_CHECKPOINT]: void;
317
+ [WorldStateMessageType.CLOSE]: void;
318
+ };
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
+ type TreeStateReference = readonly [Buffer, number | bigint];
326
+ type BlockStateReference = Map<Exclude<MerkleTreeId, MerkleTreeId.ARCHIVE>, TreeStateReference>;
327
+ export declare function treeStateReferenceToSnapshot([root, size]: TreeStateReference): AppendOnlyTreeSnapshot;
328
+ export declare function treeStateReference(snapshot: AppendOnlyTreeSnapshot): readonly [Buffer, bigint];
329
+ export declare function blockStateReference(state: StateReference): BlockStateReference;
330
+ export {};
331
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/native/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
3
+ export var WorldStateMessageType = /*#__PURE__*/ function(WorldStateMessageType) {
4
+ WorldStateMessageType[WorldStateMessageType["GET_TREE_INFO"] = 100] = "GET_TREE_INFO";
5
+ WorldStateMessageType[WorldStateMessageType["GET_STATE_REFERENCE"] = 101] = "GET_STATE_REFERENCE";
6
+ WorldStateMessageType[WorldStateMessageType["GET_INITIAL_STATE_REFERENCE"] = 102] = "GET_INITIAL_STATE_REFERENCE";
7
+ WorldStateMessageType[WorldStateMessageType["GET_LEAF_VALUE"] = 103] = "GET_LEAF_VALUE";
8
+ WorldStateMessageType[WorldStateMessageType["GET_LEAF_PREIMAGE"] = 104] = "GET_LEAF_PREIMAGE";
9
+ WorldStateMessageType[WorldStateMessageType["GET_SIBLING_PATH"] = 105] = "GET_SIBLING_PATH";
10
+ WorldStateMessageType[WorldStateMessageType["GET_BLOCK_NUMBERS_FOR_LEAF_INDICES"] = 106] = "GET_BLOCK_NUMBERS_FOR_LEAF_INDICES";
11
+ WorldStateMessageType[WorldStateMessageType["FIND_LEAF_INDICES"] = 107] = "FIND_LEAF_INDICES";
12
+ 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";
29
+ WorldStateMessageType[WorldStateMessageType["CLOSE"] = 999] = "CLOSE";
30
+ return WorldStateMessageType;
31
+ }({});
32
+ export function buildEmptyDBStats() {
33
+ return {
34
+ name: '',
35
+ numDataItems: 0n,
36
+ totalUsedSize: 0n
37
+ };
38
+ }
39
+ export function buildEmptyTreeDBStats() {
40
+ return {
41
+ mapSize: 0n,
42
+ blocksDBStats: buildEmptyDBStats(),
43
+ nodesDBStats: buildEmptyDBStats(),
44
+ leafIndicesDBStats: buildEmptyDBStats(),
45
+ leafKeysDBStats: buildEmptyDBStats(),
46
+ leafPreimagesDBStats: buildEmptyDBStats(),
47
+ blockIndicesDBStats: buildEmptyDBStats()
48
+ };
49
+ }
50
+ export function buildEmptyTreeMeta() {
51
+ return {
52
+ name: '',
53
+ depth: 0,
54
+ size: 0n,
55
+ committedSize: 0n,
56
+ unfinalisedBlockHeight: 0n,
57
+ finalisedBlockHeight: 0n,
58
+ oldestHistoricBlock: 0n,
59
+ root: Fr.ZERO,
60
+ initialRoot: Fr.ZERO,
61
+ initialSize: 0n
62
+ };
63
+ }
64
+ export function buildEmptyWorldStateMeta() {
65
+ return {
66
+ noteHashTreeMeta: buildEmptyTreeMeta(),
67
+ messageTreeMeta: buildEmptyTreeMeta(),
68
+ publicDataTreeMeta: buildEmptyTreeMeta(),
69
+ nullifierTreeMeta: buildEmptyTreeMeta(),
70
+ archiveTreeMeta: buildEmptyTreeMeta()
71
+ };
72
+ }
73
+ export function buildEmptyWorldStateDBStats() {
74
+ return {
75
+ noteHashTreeStats: buildEmptyTreeDBStats(),
76
+ archiveTreeStats: buildEmptyTreeDBStats(),
77
+ messageTreeStats: buildEmptyTreeDBStats(),
78
+ publicDataTreeStats: buildEmptyTreeDBStats(),
79
+ nullifierTreeStats: buildEmptyTreeDBStats()
80
+ };
81
+ }
82
+ export function buildEmptyWorldStateSummary() {
83
+ return {
84
+ unfinalisedBlockNumber: 0n,
85
+ finalisedBlockNumber: 0n,
86
+ oldestHistoricalBlock: 0n,
87
+ treesAreSynched: true
88
+ };
89
+ }
90
+ export function buildEmptyWorldStateStatusFull() {
91
+ return {
92
+ meta: buildEmptyWorldStateMeta(),
93
+ dbStats: buildEmptyWorldStateDBStats(),
94
+ summary: buildEmptyWorldStateSummary()
95
+ };
96
+ }
97
+ export function sanitiseSummary(summary) {
98
+ summary.finalisedBlockNumber = BigInt(summary.finalisedBlockNumber);
99
+ summary.unfinalisedBlockNumber = BigInt(summary.unfinalisedBlockNumber);
100
+ summary.oldestHistoricalBlock = BigInt(summary.oldestHistoricalBlock);
101
+ return summary;
102
+ }
103
+ export function sanitiseDBStats(stats) {
104
+ stats.numDataItems = BigInt(stats.numDataItems);
105
+ stats.totalUsedSize = BigInt(stats.totalUsedSize);
106
+ return stats;
107
+ }
108
+ export function sanitiseMeta(meta) {
109
+ meta.committedSize = BigInt(meta.committedSize);
110
+ meta.finalisedBlockHeight = BigInt(meta.finalisedBlockHeight);
111
+ meta.initialSize = BigInt(meta.initialSize);
112
+ meta.oldestHistoricBlock = BigInt(meta.oldestHistoricBlock);
113
+ meta.size = BigInt(meta.size);
114
+ meta.unfinalisedBlockHeight = BigInt(meta.unfinalisedBlockHeight);
115
+ return meta;
116
+ }
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
+ stats.mapSize = BigInt(stats.mapSize);
124
+ return stats;
125
+ }
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);
132
+ return stats;
133
+ }
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);
140
+ return meta;
141
+ }
142
+ export function sanitiseFullStatus(status) {
143
+ status.dbStats = sanitiseWorldStateDBStats(status.dbStats);
144
+ status.summary = sanitiseSummary(status.summary);
145
+ status.meta = sanitiseWorldStateTreeMeta(status.meta);
146
+ return status;
147
+ }
148
+ export function isWithForkId(body) {
149
+ return body && 'forkId' in body;
150
+ }
151
+ export function isWithRevision(body) {
152
+ return body && 'revision' in body;
153
+ }
154
+ export function isWithCanonical(body) {
155
+ return body && 'canonical' in body;
156
+ }
157
+ export function worldStateRevision(includeUncommitted, forkId, blockNumber) {
158
+ return {
159
+ forkId: forkId ?? 0,
160
+ blockNumber: blockNumber ?? 0,
161
+ includeUncommitted
162
+ };
163
+ }
164
+ export function treeStateReferenceToSnapshot([root, size]) {
165
+ return new AppendOnlyTreeSnapshot(Fr.fromBuffer(root), Number(size));
166
+ }
167
+ export function treeStateReference(snapshot) {
168
+ return [
169
+ snapshot.root.toBuffer(),
170
+ BigInt(snapshot.nextAvailableLeafIndex)
171
+ ];
172
+ }
173
+ export function blockStateReference(state) {
174
+ return new Map([
175
+ [
176
+ MerkleTreeId.NULLIFIER_TREE,
177
+ treeStateReference(state.partial.nullifierTree)
178
+ ],
179
+ [
180
+ MerkleTreeId.NOTE_HASH_TREE,
181
+ treeStateReference(state.partial.noteHashTree)
182
+ ],
183
+ [
184
+ MerkleTreeId.PUBLIC_DATA_TREE,
185
+ treeStateReference(state.partial.publicDataTree)
186
+ ],
187
+ [
188
+ MerkleTreeId.L1_TO_L2_MESSAGE_TREE,
189
+ treeStateReference(state.l1ToL2MessageTree)
190
+ ]
191
+ ]);
192
+ }
@@ -0,0 +1,57 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ import { EthAddress } from '@aztec/foundation/eth-address';
4
+ import { Fr } from '@aztec/foundation/fields';
5
+ import type { L2Block } from '@aztec/stdlib/block';
6
+ import type { IndexedTreeId, MerkleTreeReadOperations, MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
7
+ import { type NullifierLeafPreimage, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
8
+ import { BlockHeader } from '@aztec/stdlib/tx';
9
+ import { WorldStateInstrumentation } from '../instrumentation/instrumentation.js';
10
+ import type { MerkleTreeAdminDatabase as MerkleTreeDatabase } from '../world-state-db/merkle_tree_db.js';
11
+ import { type WorldStateStatusFull, type WorldStateStatusSummary } from './message.js';
12
+ import { NativeWorldState } from './native_world_state_instance.js';
13
+ export declare const WORLD_STATE_DB_VERSION = 1;
14
+ export declare class NativeWorldStateService implements MerkleTreeDatabase {
15
+ protected readonly instance: NativeWorldState;
16
+ protected readonly worldStateInstrumentation: WorldStateInstrumentation;
17
+ protected readonly log: import("@aztec/foundation/log").Logger;
18
+ private readonly cleanup;
19
+ protected initialHeader: BlockHeader | undefined;
20
+ 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 init(): Promise<void>;
25
+ getCommitted(): MerkleTreeReadOperations;
26
+ getSnapshot(blockNumber: number): MerkleTreeReadOperations;
27
+ fork(blockNumber?: number): Promise<MerkleTreeWriteOperations>;
28
+ getInitialHeader(): BlockHeader;
29
+ handleL2BlockAndMessages(l2Block: L2Block, l1ToL2Messages: Fr[]): Promise<WorldStateStatusFull>;
30
+ close(): Promise<void>;
31
+ private buildInitialHeader;
32
+ private sanitiseAndCacheSummaryFromFull;
33
+ private sanitiseAndCacheSummary;
34
+ private deleteCachedSummary;
35
+ /**
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
38
+ * @returns The new WorldStateStatus
39
+ */
40
+ setFinalised(toBlockNumber: bigint): Promise<WorldStateStatusSummary>;
41
+ /**
42
+ * Removes all historical snapshots up to but not including the given block number
43
+ * @param toBlockNumber The block number of the new oldest historical block
44
+ * @returns The new WorldStateStatus
45
+ */
46
+ removeHistoricalBlocks(toBlockNumber: bigint): Promise<WorldStateStatusFull>;
47
+ /**
48
+ * Removes all pending blocks down to but not including the given block number
49
+ * @param toBlockNumber The block number of the new tip of the pending chain,
50
+ * @returns The new WorldStateStatus
51
+ */
52
+ unwindBlocks(toBlockNumber: bigint): Promise<WorldStateStatusFull>;
53
+ getStatusSummary(): Promise<WorldStateStatusSummary>;
54
+ updateLeaf<ID extends IndexedTreeId>(_treeId: ID, _leaf: NullifierLeafPreimage | Buffer, _index: bigint): Promise<void>;
55
+ private getInitialStateReference;
56
+ }
57
+ //# sourceMappingURL=native_world_state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_world_state.d.ts","sourceRoot":"","sources":["../../src/native/native_world_state.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAA+B,KAAK,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,WAAW,EAAyC,MAAM,kBAAkB,CAAC;AAQtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzG,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAM7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAIpE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,qBAAa,uBAAwB,YAAW,kBAAkB;IAM9D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB;IAC7C,SAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB;IACvE,SAAS,CAAC,QAAQ,CAAC,GAAG;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,SAAS,CAAC,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC;IAEjD,OAAO,CAAC,mBAAmB,CAAsC;IAEjE,SAAS,aACY,QAAQ,EAAE,gBAAgB,EAC1B,yBAAyB,EAAE,yBAAyB,EACpD,GAAG,yCAAuC,EAC5C,OAAO,sBAA0B;WAGvC,GAAG,CACd,aAAa,EAAE,UAAU,EACzB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,mBAAmB,GAAE,kBAAkB,EAAO,EAC9C,eAAe,4BAAsD,EACrE,GAAG,yCAAuC,EAC1C,OAAO,sBAA0B,GAChC,OAAO,CAAC,uBAAuB,CAAC;WAwBtB,GAAG,CACd,aAAa,aAAkB,EAC/B,aAAa,UAAO,EACpB,mBAAmB,GAAE,kBAAkB,EAAO,EAC9C,eAAe,4BAAsD,GACpE,OAAO,CAAC,uBAAuB,CAAC;cAmBnB,IAAI;IAqBb,YAAY,IAAI,wBAAwB;IAIxC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB;IAIpD,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IASpE,gBAAgB,IAAI,WAAW;IAIzB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0C/F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAKrB,kBAAkB;IAKhC,OAAO,CAAC,+BAA+B;IAMvC,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACU,YAAY,CAAC,aAAa,EAAE,MAAM;IAkB/C;;;;OAIG;IACU,sBAAsB,CAAC,aAAa,EAAE,MAAM;IAiBzD;;;;OAIG;IACU,YAAY,CAAC,aAAa,EAAE,MAAM;IAiBlC,gBAAgB;IAW7B,UAAU,CAAC,EAAE,SAAS,aAAa,EACjC,OAAO,EAAE,EAAE,EACX,KAAK,EAAE,qBAAqB,GAAG,MAAM,EACrC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;YAIF,wBAAwB;CAYvC"}