@aztec/world-state 0.76.4 → 0.77.0-testnet-ignition.17

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 (62) hide show
  1. package/dest/index.js +0 -1
  2. package/dest/instrumentation/instrumentation.d.ts +2 -0
  3. package/dest/instrumentation/instrumentation.d.ts.map +1 -1
  4. package/dest/instrumentation/instrumentation.js +50 -22
  5. package/dest/native/fork_checkpoint.d.ts +10 -0
  6. package/dest/native/fork_checkpoint.d.ts.map +1 -0
  7. package/dest/native/fork_checkpoint.js +26 -0
  8. package/dest/native/index.d.ts +1 -0
  9. package/dest/native/index.d.ts.map +1 -1
  10. package/dest/native/index.js +1 -1
  11. package/dest/native/merkle_trees_facade.d.ts +6 -4
  12. package/dest/native/merkle_trees_facade.d.ts.map +1 -1
  13. package/dest/native/merkle_trees_facade.js +80 -75
  14. package/dest/native/message.d.ts +5 -3
  15. package/dest/native/message.d.ts.map +1 -1
  16. package/dest/native/message.js +33 -19
  17. package/dest/native/native_world_state.d.ts +9 -5
  18. package/dest/native/native_world_state.d.ts.map +1 -1
  19. package/dest/native/native_world_state.js +126 -74
  20. package/dest/native/native_world_state_instance.d.ts +3 -2
  21. package/dest/native/native_world_state_instance.d.ts.map +1 -1
  22. package/dest/native/native_world_state_instance.js +43 -40
  23. package/dest/native/world_state_ops_queue.js +18 -29
  24. package/dest/native/world_state_version.d.ts +1 -1
  25. package/dest/native/world_state_version.d.ts.map +1 -1
  26. package/dest/native/world_state_version.js +8 -9
  27. package/dest/synchronizer/config.js +12 -14
  28. package/dest/synchronizer/factory.d.ts +7 -5
  29. package/dest/synchronizer/factory.d.ts.map +1 -1
  30. package/dest/synchronizer/factory.js +8 -8
  31. package/dest/synchronizer/index.js +0 -1
  32. package/dest/synchronizer/server_world_state_synchronizer.d.ts +7 -4
  33. package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -1
  34. package/dest/synchronizer/server_world_state_synchronizer.js +86 -65
  35. package/dest/test/index.js +0 -1
  36. package/dest/test/utils.d.ts +4 -3
  37. package/dest/test/utils.d.ts.map +1 -1
  38. package/dest/test/utils.js +21 -17
  39. package/dest/testing.d.ts +10 -0
  40. package/dest/testing.d.ts.map +1 -0
  41. package/dest/testing.js +37 -0
  42. package/dest/world-state-db/index.d.ts +1 -1
  43. package/dest/world-state-db/index.d.ts.map +1 -1
  44. package/dest/world-state-db/index.js +0 -1
  45. package/dest/world-state-db/merkle_tree_db.d.ts +6 -5
  46. package/dest/world-state-db/merkle_tree_db.d.ts.map +1 -1
  47. package/dest/world-state-db/merkle_tree_db.js +2 -4
  48. package/package.json +14 -12
  49. package/src/instrumentation/instrumentation.ts +29 -3
  50. package/src/native/fork_checkpoint.ts +30 -0
  51. package/src/native/index.ts +1 -0
  52. package/src/native/merkle_trees_facade.ts +15 -18
  53. package/src/native/message.ts +5 -3
  54. package/src/native/native_world_state.ts +82 -69
  55. package/src/native/native_world_state_instance.ts +7 -3
  56. package/src/native/world_state_version.ts +1 -1
  57. package/src/synchronizer/factory.ts +11 -5
  58. package/src/synchronizer/server_world_state_synchronizer.ts +43 -26
  59. package/src/test/utils.ts +6 -10
  60. package/src/testing.ts +60 -0
  61. package/src/world-state-db/index.ts +1 -1
  62. package/src/world-state-db/merkle_tree_db.ts +7 -5
package/dest/index.js CHANGED
@@ -2,4 +2,3 @@ export * from './synchronizer/index.js';
2
2
  export * from './world-state-db/index.js';
3
3
  export * from './synchronizer/config.js';
4
4
  export * from './native/index.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQyJ9
@@ -11,10 +11,12 @@ export declare class WorldStateInstrumentation {
11
11
  private dbNumItems;
12
12
  private dbUsedSize;
13
13
  private requestHistogram;
14
+ private criticalErrors;
14
15
  constructor(telemetry: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
15
16
  private updateTreeStats;
16
17
  private updateTreeDBStats;
17
18
  updateWorldStateMetrics(worldStateStatus: WorldStateStatusFull): void;
18
19
  recordRoundTrip(timeUs: number, request: WorldStateMessageType): void;
20
+ incCriticalErrors(errorType: 'synch_pending_block' | 'finalize_block' | 'prune_pending_block' | 'prune_historical_block'): void;
19
21
  }
20
22
  //# sourceMappingURL=instrumentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation/instrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAIL,qBAAqB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,yBAAyB;aAUR,SAAS,EAAE,eAAe;IAAE,OAAO,CAAC,GAAG;IATnE,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;gBAER,SAAS,EAAE,eAAe,EAAU,GAAG,yCAA8C;IA4CjH,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,iBAAiB;IAWlB,uBAAuB,CAAC,gBAAgB,EAAE,oBAAoB;IAgC9D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;CAKtE"}
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,61 +1,83 @@
1
- import { MerkleTreeId } from '@aztec/circuit-types';
2
1
  import { createLogger } from '@aztec/foundation/log';
3
- import { Attributes, Metrics, ValueType, } from '@aztec/telemetry-client';
4
- import { WorldStateMessageType, } from '../native/message.js';
2
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
3
+ import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
4
+ import { WorldStateMessageType } from '../native/message.js';
5
+ const durationTrackDenylist = new Set([
6
+ WorldStateMessageType.GET_INITIAL_STATE_REFERENCE,
7
+ WorldStateMessageType.CLOSE,
8
+ // these aren't used anymore, should be removed from the API
9
+ WorldStateMessageType.COMMIT,
10
+ WorldStateMessageType.ROLLBACK
11
+ ]);
5
12
  export class WorldStateInstrumentation {
6
- constructor(telemetry, log = createLogger('world-state:instrumentation')) {
13
+ telemetry;
14
+ log;
15
+ dbMapSize;
16
+ treeSize;
17
+ unfinalisedHeight;
18
+ finalisedHeight;
19
+ oldestBlock;
20
+ dbNumItems;
21
+ dbUsedSize;
22
+ requestHistogram;
23
+ criticalErrors;
24
+ constructor(telemetry, log = createLogger('world-state:instrumentation')){
7
25
  this.telemetry = telemetry;
8
26
  this.log = log;
9
27
  const meter = telemetry.getMeter('World State');
10
28
  this.dbMapSize = meter.createGauge(Metrics.WORLD_STATE_DB_MAP_SIZE, {
11
29
  description: `The current configured map size for each merkle tree`,
12
- valueType: ValueType.INT,
30
+ valueType: ValueType.INT
13
31
  });
14
32
  this.treeSize = meter.createGauge(Metrics.WORLD_STATE_TREE_SIZE, {
15
33
  description: `The current number of leaves in each merkle tree`,
16
- valueType: ValueType.INT,
34
+ valueType: ValueType.INT
17
35
  });
18
36
  this.unfinalisedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALISED_HEIGHT, {
19
37
  description: `The unfinalised block height of each merkle tree`,
20
- valueType: ValueType.INT,
38
+ valueType: ValueType.INT
21
39
  });
22
40
  this.finalisedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALISED_HEIGHT, {
23
41
  description: `The finalised block height of each merkle tree`,
24
- valueType: ValueType.INT,
42
+ valueType: ValueType.INT
25
43
  });
26
44
  this.oldestBlock = meter.createGauge(Metrics.WORLD_STATE_OLDEST_BLOCK, {
27
45
  description: `The oldest historical block of each merkle tree`,
28
- valueType: ValueType.INT,
46
+ valueType: ValueType.INT
29
47
  });
30
48
  this.dbUsedSize = meter.createGauge(Metrics.WORLD_STATE_DB_USED_SIZE, {
31
49
  description: `The current used database size for each db of each merkle tree`,
32
- valueType: ValueType.INT,
50
+ valueType: ValueType.INT
33
51
  });
34
52
  this.dbNumItems = meter.createGauge(Metrics.WORLD_STATE_DB_NUM_ITEMS, {
35
53
  description: `The current number of items in each database of each merkle tree`,
36
- valueType: ValueType.INT,
54
+ valueType: ValueType.INT
37
55
  });
38
56
  this.requestHistogram = meter.createHistogram(Metrics.WORLD_STATE_REQUEST_TIME, {
39
57
  description: 'The round trip time of world state requests',
40
58
  unit: 'us',
41
- valueType: ValueType.INT,
59
+ valueType: ValueType.INT
60
+ });
61
+ this.criticalErrors = meter.createUpDownCounter(Metrics.WORLD_STATE_CRITICAL_ERROR_COUNT, {
62
+ description: 'The number of critical errors in the world state',
63
+ valueType: ValueType.INT
42
64
  });
43
65
  }
44
66
  updateTreeStats(treeDbStats, treeMeta, tree) {
45
67
  this.dbMapSize.record(Number(treeDbStats.mapSize), {
46
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
68
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
47
69
  });
48
70
  this.treeSize.record(Number(treeMeta.size), {
49
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
71
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
50
72
  });
51
73
  this.unfinalisedHeight.record(Number(treeMeta.unfinalisedBlockHeight), {
52
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
74
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
53
75
  });
54
76
  this.finalisedHeight.record(Number(treeMeta.finalisedBlockHeight), {
55
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
77
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
56
78
  });
57
79
  this.oldestBlock.record(Number(treeMeta.oldestHistoricBlock), {
58
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
80
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
59
81
  });
60
82
  this.updateTreeDBStats(treeDbStats.blockIndicesDBStats, 'block_indices', tree);
61
83
  this.updateTreeDBStats(treeDbStats.blocksDBStats, 'blocks', tree);
@@ -66,11 +88,11 @@ export class WorldStateInstrumentation {
66
88
  updateTreeDBStats(dbStats, dbType, tree) {
67
89
  this.dbNumItems.record(Number(dbStats.numDataItems), {
68
90
  [Attributes.WS_DB_DATA_TYPE]: dbType,
69
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
91
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
70
92
  });
71
93
  this.dbUsedSize.record(Number(dbStats.totalUsedSize), {
72
94
  [Attributes.WS_DB_DATA_TYPE]: dbType,
73
- [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree],
95
+ [Attributes.MERKLE_TREE_NAME]: MerkleTreeId[tree]
74
96
  });
75
97
  }
76
98
  updateWorldStateMetrics(worldStateStatus) {
@@ -81,9 +103,15 @@ export class WorldStateInstrumentation {
81
103
  this.updateTreeStats(worldStateStatus.dbStats.publicDataTreeStats, worldStateStatus.meta.publicDataTreeMeta, MerkleTreeId.PUBLIC_DATA_TREE);
82
104
  }
83
105
  recordRoundTrip(timeUs, request) {
84
- this.requestHistogram.record(Math.ceil(timeUs), {
85
- [Attributes.WORLD_STATE_REQUEST_TYPE]: WorldStateMessageType[request],
106
+ if (!durationTrackDenylist.has(request)) {
107
+ this.requestHistogram.record(Math.ceil(timeUs), {
108
+ [Attributes.WORLD_STATE_REQUEST_TYPE]: WorldStateMessageType[request]
109
+ });
110
+ }
111
+ }
112
+ incCriticalErrors(errorType) {
113
+ this.criticalErrors.add(1, {
114
+ [Attributes.ERROR_TYPE]: errorType
86
115
  });
87
116
  }
88
117
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc3RydW1lbnRhdGlvbi9pbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsVUFBVSxFQUdWLE9BQU8sRUFFUCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sc0JBQXNCLENBQUM7QUFJOUIsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUE0QixTQUEwQixFQUFVLE1BQU0sWUFBWSxDQUFDLDZCQUE2QixDQUFDO1FBQXJGLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBOEM7UUFDL0csTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFO1lBQ2xFLFdBQVcsRUFBRSxzREFBc0Q7WUFDbkUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUU7WUFDL0QsV0FBVyxFQUFFLGtEQUFrRDtZQUMvRCxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFO1lBQ2pGLFdBQVcsRUFBRSxrREFBa0Q7WUFDL0QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLEVBQUU7WUFDN0UsV0FBVyxFQUFFLGdEQUFnRDtZQUM3RCxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRTtZQUNyRSxXQUFXLEVBQUUsaURBQWlEO1lBQzlELFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFO1lBQ3BFLFdBQVcsRUFBRSxnRUFBZ0U7WUFDN0UsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7WUFDcEUsV0FBVyxFQUFFLGtFQUFrRTtZQUMvRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFO1lBQzlFLFdBQVcsRUFBRSw2Q0FBNkM7WUFDMUQsSUFBSSxFQUFFLElBQUk7WUFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxXQUF3QixFQUFFLFFBQWtCLEVBQUUsSUFBa0I7UUFDdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqRCxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxQyxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDckUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUNqRSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFO1lBQzVELENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQztTQUNsRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFnQixFQUFFLE1BQW9CLEVBQUUsSUFBa0I7UUFDbEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNuRCxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNO1lBQ3BDLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQztTQUNsRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3BELENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU07WUFDcEMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxnQkFBc0M7UUFDbkUsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUN6QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUNyQyxZQUFZLENBQUMsT0FBTyxDQUNyQixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUN6QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUNyQyxZQUFZLENBQUMscUJBQXFCLENBQ25DLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxDQUNsQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQzFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFDdEMsWUFBWSxDQUFDLGNBQWMsQ0FDNUIsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQ2xCLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFDM0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUN2QyxZQUFZLENBQUMsY0FBYyxDQUM1QixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUM1QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQ3hDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBYyxFQUFFLE9BQThCO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QyxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztTQUN0RSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,10 @@
1
+ import type { MerkleTreeCheckpointOperations } from '@aztec/stdlib/interfaces/server';
2
+ export declare class ForkCheckpoint {
3
+ private readonly fork;
4
+ private completed;
5
+ private constructor();
6
+ static new(fork: MerkleTreeCheckpointOperations): Promise<ForkCheckpoint>;
7
+ commit(): Promise<void>;
8
+ revert(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=fork_checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork_checkpoint.d.ts","sourceRoot":"","sources":["../../src/native/fork_checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEtF,qBAAa,cAAc;IAGL,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFzC,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO;WAEM,GAAG,CAAC,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,cAAc,CAAC;IAKzE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ9B"}
@@ -0,0 +1,26 @@
1
+ export class ForkCheckpoint {
2
+ fork;
3
+ completed;
4
+ constructor(fork){
5
+ this.fork = fork;
6
+ this.completed = false;
7
+ }
8
+ static async new(fork) {
9
+ await fork.createCheckpoint();
10
+ return new ForkCheckpoint(fork);
11
+ }
12
+ async commit() {
13
+ if (this.completed) {
14
+ return;
15
+ }
16
+ await this.fork.commitCheckpoint();
17
+ this.completed = true;
18
+ }
19
+ async revert() {
20
+ if (this.completed) {
21
+ return;
22
+ }
23
+ await this.fork.revertCheckpoint();
24
+ this.completed = true;
25
+ }
26
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './native_world_state.js';
2
+ export * from './fork_checkpoint.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export * from './native_world_state.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmF0aXZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUMifQ==
2
+ export * from './fork_checkpoint.js';
@@ -1,10 +1,12 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type BatchInsertionResult, type IndexedTreeId, MerkleTreeId, type MerkleTreeLeafType, type MerkleTreeReadOperations, type MerkleTreeWriteOperations, type SequentialInsertionResult, SiblingPath, type TreeInfo } from '@aztec/circuit-types';
4
- import { type BlockHeader, Fr, NullifierLeaf, PublicDataTreeLeaf, StateReference } from '@aztec/circuits.js';
5
- import { type IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
3
+ import { Fr } from '@aztec/foundation/fields';
4
+ import { type IndexedTreeLeafPreimage, SiblingPath } from '@aztec/foundation/trees';
5
+ import type { BatchInsertionResult, IndexedTreeId, MerkleTreeLeafType, MerkleTreeReadOperations, MerkleTreeWriteOperations, SequentialInsertionResult, TreeInfo } from '@aztec/stdlib/interfaces/server';
6
+ import { MerkleTreeId, NullifierLeaf, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
7
+ import { type BlockHeader, StateReference } from '@aztec/stdlib/tx';
6
8
  import { type SerializedLeafValue, type WorldStateRevision } from './message.js';
7
- import { type NativeWorldStateInstance } from './native_world_state_instance.js';
9
+ import type { NativeWorldStateInstance } from './native_world_state_instance.js';
8
10
  export declare class MerkleTreesFacade implements MerkleTreeReadOperations {
9
11
  protected readonly instance: NativeWorldStateInstance;
10
12
  protected readonly initialHeader: BlockHeader;
@@ -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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"}
@@ -1,10 +1,15 @@
1
- import { MerkleTreeId, SiblingPath, } from '@aztec/circuit-types';
2
- import { Fr, NullifierLeaf, NullifierLeafPreimage, PartialStateReference, PublicDataTreeLeaf, PublicDataTreeLeafPreimage, StateReference, } from '@aztec/circuits.js';
1
+ import { Fr } from '@aztec/foundation/fields';
3
2
  import { serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { SiblingPath } from '@aztec/foundation/trees';
4
+ import { MerkleTreeId, NullifierLeaf, NullifierLeafPreimage, PublicDataTreeLeaf, PublicDataTreeLeafPreimage } from '@aztec/stdlib/trees';
5
+ import { PartialStateReference, StateReference } from '@aztec/stdlib/tx';
4
6
  import assert from 'assert';
5
- import { WorldStateMessageType, blockStateReference, treeStateReferenceToSnapshot, } from './message.js';
7
+ import { WorldStateMessageType, blockStateReference, treeStateReferenceToSnapshot } from './message.js';
6
8
  export class MerkleTreesFacade {
7
- constructor(instance, initialHeader, revision) {
9
+ instance;
10
+ initialHeader;
11
+ revision;
12
+ constructor(instance, initialHeader, revision){
8
13
  this.instance = instance;
9
14
  this.initialHeader = initialHeader;
10
15
  this.revision = revision;
@@ -17,16 +22,15 @@ export class MerkleTreesFacade {
17
22
  }
18
23
  async findLeafIndicesAfter(treeId, leaves, startIndex) {
19
24
  const response = await this.instance.call(WorldStateMessageType.FIND_LEAF_INDICES, {
20
- leaves: leaves.map(leaf => serializeLeaf(hydrateLeaf(treeId, leaf))),
25
+ leaves: leaves.map((leaf)=>serializeLeaf(hydrateLeaf(treeId, leaf))),
21
26
  revision: this.revision,
22
27
  treeId,
23
- startIndex,
28
+ startIndex
24
29
  });
25
- return response.indices.map(index => {
30
+ return response.indices.map((index)=>{
26
31
  if (typeof index === 'number' || typeof index === 'bigint') {
27
32
  return BigInt(index);
28
- }
29
- else {
33
+ } else {
30
34
  return undefined;
31
35
  }
32
36
  });
@@ -35,7 +39,7 @@ export class MerkleTreesFacade {
35
39
  const resp = await this.instance.call(WorldStateMessageType.GET_LEAF_PREIMAGE, {
36
40
  leafIndex,
37
41
  revision: this.revision,
38
- treeId,
42
+ treeId
39
43
  });
40
44
  return resp ? deserializeIndexedLeaf(resp) : undefined;
41
45
  }
@@ -43,7 +47,7 @@ export class MerkleTreesFacade {
43
47
  const resp = await this.instance.call(WorldStateMessageType.GET_LEAF_VALUE, {
44
48
  leafIndex,
45
49
  revision: this.revision,
46
- treeId,
50
+ treeId
47
51
  });
48
52
  if (!resp) {
49
53
  return undefined;
@@ -51,8 +55,7 @@ export class MerkleTreesFacade {
51
55
  const leaf = deserializeLeafValue(resp);
52
56
  if (leaf instanceof Fr) {
53
57
  return leaf;
54
- }
55
- else {
58
+ } else {
56
59
  return leaf.toBuffer();
57
60
  }
58
61
  }
@@ -60,54 +63,56 @@ export class MerkleTreesFacade {
60
63
  const resp = await this.instance.call(WorldStateMessageType.FIND_LOW_LEAF, {
61
64
  key: new Fr(value),
62
65
  revision: this.revision,
63
- treeId,
66
+ treeId
64
67
  });
65
68
  return {
66
69
  alreadyPresent: resp.alreadyPresent,
67
- index: BigInt(resp.index),
70
+ index: BigInt(resp.index)
68
71
  };
69
72
  }
70
73
  async getSiblingPath(treeId, leafIndex) {
71
74
  const siblingPath = await this.instance.call(WorldStateMessageType.GET_SIBLING_PATH, {
72
75
  leafIndex,
73
76
  revision: this.revision,
74
- treeId,
77
+ treeId
75
78
  });
76
79
  return new SiblingPath(siblingPath.length, siblingPath);
77
80
  }
78
81
  async getStateReference() {
79
82
  const resp = await this.instance.call(WorldStateMessageType.GET_STATE_REFERENCE, {
80
- revision: this.revision,
83
+ revision: this.revision
81
84
  });
82
85
  return new StateReference(treeStateReferenceToSnapshot(resp.state[MerkleTreeId.L1_TO_L2_MESSAGE_TREE]), new PartialStateReference(treeStateReferenceToSnapshot(resp.state[MerkleTreeId.NOTE_HASH_TREE]), treeStateReferenceToSnapshot(resp.state[MerkleTreeId.NULLIFIER_TREE]), treeStateReferenceToSnapshot(resp.state[MerkleTreeId.PUBLIC_DATA_TREE])));
83
86
  }
84
87
  async getInitialStateReference() {
85
- const resp = await this.instance.call(WorldStateMessageType.GET_INITIAL_STATE_REFERENCE, { canonical: true });
88
+ const resp = await this.instance.call(WorldStateMessageType.GET_INITIAL_STATE_REFERENCE, {
89
+ canonical: true
90
+ });
86
91
  return new StateReference(treeStateReferenceToSnapshot(resp.state[MerkleTreeId.L1_TO_L2_MESSAGE_TREE]), new PartialStateReference(treeStateReferenceToSnapshot(resp.state[MerkleTreeId.NOTE_HASH_TREE]), treeStateReferenceToSnapshot(resp.state[MerkleTreeId.NULLIFIER_TREE]), treeStateReferenceToSnapshot(resp.state[MerkleTreeId.PUBLIC_DATA_TREE])));
87
92
  }
88
93
  async getTreeInfo(treeId) {
89
94
  const resp = await this.instance.call(WorldStateMessageType.GET_TREE_INFO, {
90
95
  treeId: treeId,
91
- revision: this.revision,
96
+ revision: this.revision
92
97
  });
93
98
  return {
94
99
  depth: resp.depth,
95
100
  root: resp.root,
96
101
  size: BigInt(resp.size),
97
- treeId,
102
+ treeId
98
103
  };
99
104
  }
100
105
  async getBlockNumbersForLeafIndices(treeId, leafIndices) {
101
106
  const response = await this.instance.call(WorldStateMessageType.GET_BLOCK_NUMBERS_FOR_LEAF_INDICES, {
102
107
  treeId,
103
108
  revision: this.revision,
104
- leafIndices,
109
+ leafIndices
105
110
  });
106
- return response.blockNumbers.map(x => (x === undefined || x === null ? undefined : BigInt(x)));
111
+ return response.blockNumbers.map((x)=>x === undefined || x === null ? undefined : BigInt(x));
107
112
  }
108
113
  }
109
114
  export class MerkleTreesForkFacade extends MerkleTreesFacade {
110
- constructor(instance, initialHeader, revision) {
115
+ constructor(instance, initialHeader, revision){
111
116
  assert.notEqual(revision.forkId, 0, 'Fork ID must be set');
112
117
  assert.equal(revision.includeUncommitted, true, 'Fork must include uncommitted data');
113
118
  super(instance, initialHeader, revision);
@@ -116,120 +121,120 @@ export class MerkleTreesForkFacade extends MerkleTreesFacade {
116
121
  await this.instance.call(WorldStateMessageType.UPDATE_ARCHIVE, {
117
122
  forkId: this.revision.forkId,
118
123
  blockHeaderHash: (await header.hash()).toBuffer(),
119
- blockStateRef: blockStateReference(header.state),
124
+ blockStateRef: blockStateReference(header.state)
120
125
  });
121
126
  }
122
127
  async appendLeaves(treeId, leaves) {
123
128
  await this.instance.call(WorldStateMessageType.APPEND_LEAVES, {
124
- leaves: leaves.map(leaf => leaf),
129
+ leaves: leaves.map((leaf)=>leaf),
125
130
  forkId: this.revision.forkId,
126
- treeId,
131
+ treeId
127
132
  });
128
133
  }
129
134
  async batchInsert(treeId, rawLeaves, subtreeHeight) {
130
- const leaves = rawLeaves.map((leaf) => hydrateLeaf(treeId, leaf)).map(serializeLeaf);
135
+ const leaves = rawLeaves.map((leaf)=>hydrateLeaf(treeId, leaf)).map(serializeLeaf);
131
136
  const resp = await this.instance.call(WorldStateMessageType.BATCH_INSERT, {
132
137
  leaves,
133
138
  treeId,
134
139
  forkId: this.revision.forkId,
135
- subtreeDepth: subtreeHeight,
140
+ subtreeDepth: subtreeHeight
136
141
  });
137
142
  return {
138
143
  newSubtreeSiblingPath: new SiblingPath(resp.subtree_path.length, resp.subtree_path),
139
- sortedNewLeaves: resp.sorted_leaves
140
- .map(([leaf]) => leaf)
141
- .map(deserializeLeafValue)
142
- .map(serializeToBuffer),
143
- sortedNewLeavesIndexes: resp.sorted_leaves.map(([, index]) => index),
144
- lowLeavesWitnessData: resp.low_leaf_witness_data.map(data => ({
145
- index: BigInt(data.index),
146
- leafPreimage: deserializeIndexedLeaf(data.leaf),
147
- siblingPath: new SiblingPath(data.path.length, data.path),
148
- })),
144
+ sortedNewLeaves: resp.sorted_leaves.map(([leaf])=>leaf).map(deserializeLeafValue).map(serializeToBuffer),
145
+ sortedNewLeavesIndexes: resp.sorted_leaves.map(([, index])=>index),
146
+ lowLeavesWitnessData: resp.low_leaf_witness_data.map((data)=>({
147
+ index: BigInt(data.index),
148
+ leafPreimage: deserializeIndexedLeaf(data.leaf),
149
+ siblingPath: new SiblingPath(data.path.length, data.path)
150
+ }))
149
151
  };
150
152
  }
151
153
  async sequentialInsert(treeId, rawLeaves) {
152
- const leaves = rawLeaves.map((leaf) => hydrateLeaf(treeId, leaf)).map(serializeLeaf);
154
+ const leaves = rawLeaves.map((leaf)=>hydrateLeaf(treeId, leaf)).map(serializeLeaf);
153
155
  const resp = await this.instance.call(WorldStateMessageType.SEQUENTIAL_INSERT, {
154
156
  leaves,
155
157
  treeId,
156
- forkId: this.revision.forkId,
158
+ forkId: this.revision.forkId
157
159
  });
158
160
  return {
159
- lowLeavesWitnessData: resp.low_leaf_witness_data.map(data => ({
160
- index: BigInt(data.index),
161
- leafPreimage: deserializeIndexedLeaf(data.leaf),
162
- siblingPath: new SiblingPath(data.path.length, data.path),
163
- })),
164
- insertionWitnessData: resp.insertion_witness_data.map(data => ({
165
- index: BigInt(data.index),
166
- leafPreimage: deserializeIndexedLeaf(data.leaf),
167
- siblingPath: new SiblingPath(data.path.length, data.path),
168
- })),
161
+ lowLeavesWitnessData: resp.low_leaf_witness_data.map((data)=>({
162
+ index: BigInt(data.index),
163
+ leafPreimage: deserializeIndexedLeaf(data.leaf),
164
+ siblingPath: new SiblingPath(data.path.length, data.path)
165
+ })),
166
+ insertionWitnessData: resp.insertion_witness_data.map((data)=>({
167
+ index: BigInt(data.index),
168
+ leafPreimage: deserializeIndexedLeaf(data.leaf),
169
+ siblingPath: new SiblingPath(data.path.length, data.path)
170
+ }))
169
171
  };
170
172
  }
171
173
  async close() {
172
174
  assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
173
- await this.instance.call(WorldStateMessageType.DELETE_FORK, { forkId: this.revision.forkId });
175
+ await this.instance.call(WorldStateMessageType.DELETE_FORK, {
176
+ forkId: this.revision.forkId
177
+ });
174
178
  }
175
179
  async createCheckpoint() {
176
180
  assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
177
- await this.instance.call(WorldStateMessageType.CREATE_CHECKPOINT, { forkId: this.revision.forkId });
181
+ await this.instance.call(WorldStateMessageType.CREATE_CHECKPOINT, {
182
+ forkId: this.revision.forkId
183
+ });
178
184
  }
179
185
  async commitCheckpoint() {
180
186
  assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
181
- await this.instance.call(WorldStateMessageType.COMMIT_CHECKPOINT, { forkId: this.revision.forkId });
187
+ await this.instance.call(WorldStateMessageType.COMMIT_CHECKPOINT, {
188
+ forkId: this.revision.forkId
189
+ });
182
190
  }
183
191
  async revertCheckpoint() {
184
192
  assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
185
- await this.instance.call(WorldStateMessageType.REVERT_CHECKPOINT, { forkId: this.revision.forkId });
193
+ await this.instance.call(WorldStateMessageType.REVERT_CHECKPOINT, {
194
+ forkId: this.revision.forkId
195
+ });
186
196
  }
187
197
  }
188
198
  function hydrateLeaf(treeId, leaf) {
189
199
  if (leaf instanceof Fr) {
190
200
  return leaf;
191
- }
192
- else if (treeId === MerkleTreeId.NULLIFIER_TREE) {
201
+ } else if (treeId === MerkleTreeId.NULLIFIER_TREE) {
193
202
  return NullifierLeaf.fromBuffer(leaf);
194
- }
195
- else if (treeId === MerkleTreeId.PUBLIC_DATA_TREE) {
203
+ } else if (treeId === MerkleTreeId.PUBLIC_DATA_TREE) {
196
204
  return PublicDataTreeLeaf.fromBuffer(leaf);
197
- }
198
- else {
205
+ } else {
199
206
  return Fr.fromBuffer(leaf);
200
207
  }
201
208
  }
202
209
  export function serializeLeaf(leaf) {
203
210
  if (leaf instanceof Fr) {
204
211
  return leaf.toBuffer();
205
- }
206
- else if (leaf instanceof NullifierLeaf) {
207
- return { value: leaf.nullifier.toBuffer() };
208
- }
209
- else {
210
- return { value: leaf.value.toBuffer(), slot: leaf.slot.toBuffer() };
212
+ } else if (leaf instanceof NullifierLeaf) {
213
+ return {
214
+ value: leaf.nullifier.toBuffer()
215
+ };
216
+ } else {
217
+ return {
218
+ value: leaf.value.toBuffer(),
219
+ slot: leaf.slot.toBuffer()
220
+ };
211
221
  }
212
222
  }
213
223
  function deserializeLeafValue(leaf) {
214
224
  if (Buffer.isBuffer(leaf)) {
215
225
  return Fr.fromBuffer(leaf);
216
- }
217
- else if ('slot' in leaf) {
226
+ } else if ('slot' in leaf) {
218
227
  return new PublicDataTreeLeaf(Fr.fromBuffer(leaf.slot), Fr.fromBuffer(leaf.value));
219
- }
220
- else {
228
+ } else {
221
229
  return new NullifierLeaf(Fr.fromBuffer(leaf.value));
222
230
  }
223
231
  }
224
232
  function deserializeIndexedLeaf(leaf) {
225
233
  if ('slot' in leaf.value) {
226
234
  return new PublicDataTreeLeafPreimage(Fr.fromBuffer(leaf.value.slot), Fr.fromBuffer(leaf.value.value), Fr.fromBuffer(leaf.nextValue), BigInt(leaf.nextIndex));
227
- }
228
- else if ('value' in leaf.value) {
235
+ } else if ('value' in leaf.value) {
229
236
  return new NullifierLeafPreimage(Fr.fromBuffer(leaf.value.value), Fr.fromBuffer(leaf.nextValue), BigInt(leaf.nextIndex));
230
- }
231
- else {
237
+ } else {
232
238
  throw new Error('Invalid leaf type');
233
239
  }
234
240
  }
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVya2xlX3RyZWVzX2ZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uYXRpdmUvbWVya2xlX3RyZWVzX2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsWUFBWSxFQUtaLFdBQVcsR0FFWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFFTCxFQUFFLEVBQ0YsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdoRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUdMLHFCQUFxQixFQUVyQixtQkFBbUIsRUFDbkIsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDcUIsUUFBa0MsRUFDbEMsYUFBMEIsRUFDMUIsUUFBNEI7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWE7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFDOUMsQ0FBQztJQUVKLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQW9CLEVBQUUsTUFBMEM7UUFDOUUsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUN4QixNQUFvQixFQUNwQixNQUEwQyxFQUMxQyxVQUFrQjtRQUVsQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGlC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
@@ -1,8 +1,10 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { MerkleTreeId } from '@aztec/circuit-types';
4
- import { AppendOnlyTreeSnapshot, Fr, type StateReference, type UInt32 } from '@aztec/circuits.js';
5
- import { type Tuple } from '@aztec/foundation/serialize';
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';
6
8
  export declare enum WorldStateMessageType {
7
9
  GET_TREE_INFO = 100,
8
10
  GET_STATE_REFERENCE = 101,