@aztec/world-state 0.57.0 → 0.58.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 (57) hide show
  1. package/README.md +1 -1
  2. package/dest/index.d.ts +1 -0
  3. package/dest/index.d.ts.map +1 -1
  4. package/dest/index.js +2 -1
  5. package/dest/native/merkle_trees_facade.d.ts +34 -0
  6. package/dest/native/merkle_trees_facade.d.ts.map +1 -0
  7. package/dest/native/merkle_trees_facade.js +193 -0
  8. package/dest/native/message.d.ts +78 -19
  9. package/dest/native/message.d.ts.map +1 -1
  10. package/dest/native/message.js +27 -26
  11. package/dest/native/native_world_state.d.ts +39 -38
  12. package/dest/native/native_world_state.d.ts.map +1 -1
  13. package/dest/native/native_world_state.js +108 -254
  14. package/dest/native/native_world_state_instance.d.ts +40 -0
  15. package/dest/native/native_world_state_instance.d.ts.map +1 -0
  16. package/dest/native/native_world_state_instance.js +183 -0
  17. package/dest/synchronizer/config.d.ts +2 -2
  18. package/dest/synchronizer/config.d.ts.map +1 -1
  19. package/dest/synchronizer/config.js +6 -7
  20. package/dest/synchronizer/factory.d.ts +3 -0
  21. package/dest/synchronizer/factory.d.ts.map +1 -1
  22. package/dest/synchronizer/factory.js +13 -4
  23. package/dest/synchronizer/server_world_state_synchronizer.d.ts +41 -41
  24. package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -1
  25. package/dest/synchronizer/server_world_state_synchronizer.js +126 -151
  26. package/dest/test/utils.d.ts +14 -0
  27. package/dest/test/utils.d.ts.map +1 -0
  28. package/dest/test/utils.js +67 -0
  29. package/dest/world-state-db/index.d.ts +1 -1
  30. package/dest/world-state-db/index.d.ts.map +1 -1
  31. package/dest/world-state-db/merkle_tree_db.d.ts +42 -32
  32. package/dest/world-state-db/merkle_tree_db.d.ts.map +1 -1
  33. package/dest/world-state-db/merkle_tree_db.js +1 -1
  34. package/dest/world-state-db/merkle_tree_operations_facade.d.ts +8 -37
  35. package/dest/world-state-db/merkle_tree_operations_facade.d.ts.map +1 -1
  36. package/dest/world-state-db/merkle_tree_operations_facade.js +6 -45
  37. package/dest/world-state-db/merkle_tree_snapshot_operations_facade.d.ts +4 -13
  38. package/dest/world-state-db/merkle_tree_snapshot_operations_facade.d.ts.map +1 -1
  39. package/dest/world-state-db/merkle_tree_snapshot_operations_facade.js +2 -29
  40. package/dest/world-state-db/merkle_trees.d.ts +17 -19
  41. package/dest/world-state-db/merkle_trees.d.ts.map +1 -1
  42. package/dest/world-state-db/merkle_trees.js +39 -36
  43. package/package.json +15 -12
  44. package/src/index.ts +1 -0
  45. package/src/native/merkle_trees_facade.ts +279 -0
  46. package/src/native/message.ts +97 -20
  47. package/src/native/native_world_state.ts +125 -346
  48. package/src/native/native_world_state_instance.ts +262 -0
  49. package/src/synchronizer/config.ts +8 -9
  50. package/src/synchronizer/factory.ts +20 -3
  51. package/src/synchronizer/server_world_state_synchronizer.ts +149 -178
  52. package/src/test/utils.ts +123 -0
  53. package/src/world-state-db/index.ts +1 -1
  54. package/src/world-state-db/merkle_tree_db.ts +55 -49
  55. package/src/world-state-db/merkle_tree_operations_facade.ts +10 -55
  56. package/src/world-state-db/merkle_tree_snapshot_operations_facade.ts +7 -46
  57. package/src/world-state-db/merkle_trees.ts +50 -45
package/README.md CHANGED
@@ -31,7 +31,7 @@ Once a new block is received, the synchronizer checks the uncommitted root value
31
31
 
32
32
  ### The Merkle Tree Interface
33
33
 
34
- The interface to the Merkle Tree DB offers a unified asynchronous API to the set of trees available. Reads from the Merkle Trees need to be marked as to whether they should include uncommitted state. For this reason, the MerkleTreeOperationsFacade exists to abstract this detail away from the end consumer.
34
+ The interface to the Merkle Tree DB offers a unified asynchronous API to the set of trees available. Reads from the Merkle Trees need to be marked as to whether they should include uncommitted state. For this reason, the MerkleTreeReadOperationsFacade exists to abstract this detail away from the end consumer.
35
35
 
36
36
  # Building/Testing
37
37
 
package/dest/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './synchronizer/index.js';
2
2
  export * from './world-state-db/index.js';
3
3
  export * from './synchronizer/config.js';
4
+ export * from './native/index.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC"}
package/dest/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './synchronizer/index.js';
2
2
  export * from './world-state-db/index.js';
3
3
  export * from './synchronizer/config.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUMifQ==
4
+ export * from './native/index.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQyJ9
@@ -0,0 +1,34 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { type BatchInsertionResult, type IndexedTreeId, MerkleTreeId, type MerkleTreeLeafType, type MerkleTreeReadOperations, type MerkleTreeWriteOperations, SiblingPath, type TreeInfo } from '@aztec/circuit-types';
3
+ import { Fr, type Header, NullifierLeaf, PublicDataTreeLeaf, StateReference } from '@aztec/circuits.js';
4
+ import { type IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
5
+ import { type SerializedLeafValue, type WorldStateRevision } from './message.js';
6
+ import { type NativeWorldStateInstance } from './native_world_state_instance.js';
7
+ export declare class MerkleTreesFacade implements MerkleTreeReadOperations {
8
+ protected readonly instance: NativeWorldStateInstance;
9
+ protected readonly initialHeader: Header;
10
+ protected readonly revision: WorldStateRevision;
11
+ constructor(instance: NativeWorldStateInstance, initialHeader: Header, revision: WorldStateRevision);
12
+ getInitialHeader(): Header;
13
+ findLeafIndex(treeId: MerkleTreeId, value: MerkleTreeLeafType<MerkleTreeId>): Promise<bigint | undefined>;
14
+ findLeafIndexAfter(treeId: MerkleTreeId, leaf: MerkleTreeLeafType<MerkleTreeId>, startIndex: bigint): Promise<bigint | undefined>;
15
+ getLeafPreimage(treeId: IndexedTreeId, leafIndex: bigint): Promise<IndexedTreeLeafPreimage | undefined>;
16
+ getLeafValue<ID extends MerkleTreeId>(treeId: ID, leafIndex: bigint): Promise<MerkleTreeLeafType<ID> | undefined>;
17
+ getPreviousValueIndex(treeId: IndexedTreeId, value: bigint): Promise<{
18
+ index: bigint;
19
+ alreadyPresent: boolean;
20
+ } | undefined>;
21
+ getSiblingPath<N extends number>(treeId: MerkleTreeId, leafIndex: bigint): Promise<SiblingPath<N>>;
22
+ getStateReference(): Promise<StateReference>;
23
+ getInitialStateReference(): Promise<StateReference>;
24
+ getTreeInfo(treeId: MerkleTreeId): Promise<TreeInfo>;
25
+ }
26
+ export declare class MerkleTreesForkFacade extends MerkleTreesFacade implements MerkleTreeWriteOperations {
27
+ constructor(instance: NativeWorldStateInstance, initialHeader: Header, revision: WorldStateRevision);
28
+ updateArchive(header: Header): Promise<void>;
29
+ appendLeaves<ID extends MerkleTreeId>(treeId: ID, leaves: MerkleTreeLeafType<ID>[]): Promise<void>;
30
+ batchInsert<TreeHeight extends number, SubtreeSiblingPathHeight extends number, ID extends IndexedTreeId>(treeId: ID, rawLeaves: Buffer[], subtreeHeight: number): Promise<BatchInsertionResult<TreeHeight, SubtreeSiblingPathHeight>>;
31
+ close(): Promise<void>;
32
+ }
33
+ export declare function serializeLeaf(leaf: Fr | NullifierLeaf | PublicDataTreeLeaf): SerializedLeafValue;
34
+ //# sourceMappingURL=merkle_trees_facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle_trees_facade.d.ts","sourceRoot":"","sources":["../../src/native/merkle_trees_facade.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,WAAW,EACX,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,EAAE,EACF,KAAK,MAAM,EACX,aAAa,EAGb,kBAAkB,EAElB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,OAAO,EAEL,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EAGxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,qBAAa,iBAAkB,YAAW,wBAAwB;IAE9D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB;IACrD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM;IACxC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB;gBAF5B,QAAQ,EAAE,wBAAwB,EAClC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,kBAAkB;IAGjD,gBAAgB,IAAI,MAAM;IAI1B,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAInG,kBAAkB,CACtB,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,kBAAkB,CAAC,YAAY,CAAC,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAexB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAUvG,YAAY,CAAC,EAAE,SAAS,YAAY,EACxC,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IAmBxC,qBAAqB,CACzB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAY5D,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAUlG,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAe5C,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC;IAanD,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;CAa3D;AAED,qBAAa,qBAAsB,SAAQ,iBAAkB,YAAW,yBAAyB;gBACnF,QAAQ,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB;IAM7F,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5C,YAAY,CAAC,EAAE,SAAS,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlG,WAAW,CAAC,UAAU,SAAS,MAAM,EAAE,wBAAwB,SAAS,MAAM,EAAE,EAAE,SAAS,aAAa,EAC5G,MAAM,EAAE,EAAE,EACV,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IA2BzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIpC;AAcD,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,GAAG,aAAa,GAAG,kBAAkB,GAAG,mBAAmB,CAQhG"}
@@ -0,0 +1,193 @@
1
+ import { MerkleTreeId, SiblingPath, } from '@aztec/circuit-types';
2
+ import { Fr, NullifierLeaf, NullifierLeafPreimage, PartialStateReference, PublicDataTreeLeaf, PublicDataTreeLeafPreimage, StateReference, } from '@aztec/circuits.js';
3
+ import { serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import assert from 'assert';
5
+ import { WorldStateMessageType, blockStateReference, treeStateReferenceToSnapshot, } from './message.js';
6
+ export class MerkleTreesFacade {
7
+ constructor(instance, initialHeader, revision) {
8
+ this.instance = instance;
9
+ this.initialHeader = initialHeader;
10
+ this.revision = revision;
11
+ }
12
+ getInitialHeader() {
13
+ return this.initialHeader;
14
+ }
15
+ findLeafIndex(treeId, value) {
16
+ return this.findLeafIndexAfter(treeId, value, 0n);
17
+ }
18
+ async findLeafIndexAfter(treeId, leaf, startIndex) {
19
+ const index = await this.instance.call(WorldStateMessageType.FIND_LEAF_INDEX, {
20
+ leaf: serializeLeaf(hydrateLeaf(treeId, leaf)),
21
+ revision: this.revision,
22
+ treeId,
23
+ startIndex,
24
+ });
25
+ if (typeof index === 'number' || typeof index === 'bigint') {
26
+ return BigInt(index);
27
+ }
28
+ else {
29
+ return undefined;
30
+ }
31
+ }
32
+ async getLeafPreimage(treeId, leafIndex) {
33
+ const resp = await this.instance.call(WorldStateMessageType.GET_LEAF_PREIMAGE, {
34
+ leafIndex,
35
+ revision: this.revision,
36
+ treeId,
37
+ });
38
+ return resp ? deserializeIndexedLeaf(resp) : undefined;
39
+ }
40
+ async getLeafValue(treeId, leafIndex) {
41
+ const resp = await this.instance.call(WorldStateMessageType.GET_LEAF_VALUE, {
42
+ leafIndex,
43
+ revision: this.revision,
44
+ treeId,
45
+ });
46
+ if (!resp) {
47
+ return undefined;
48
+ }
49
+ const leaf = deserializeLeafValue(resp);
50
+ if (leaf instanceof Fr) {
51
+ return leaf;
52
+ }
53
+ else {
54
+ return leaf.toBuffer();
55
+ }
56
+ }
57
+ async getPreviousValueIndex(treeId, value) {
58
+ const resp = await this.instance.call(WorldStateMessageType.FIND_LOW_LEAF, {
59
+ key: new Fr(value),
60
+ revision: this.revision,
61
+ treeId,
62
+ });
63
+ return {
64
+ alreadyPresent: resp.alreadyPresent,
65
+ index: BigInt(resp.index),
66
+ };
67
+ }
68
+ async getSiblingPath(treeId, leafIndex) {
69
+ const siblingPath = await this.instance.call(WorldStateMessageType.GET_SIBLING_PATH, {
70
+ leafIndex,
71
+ revision: this.revision,
72
+ treeId,
73
+ });
74
+ return new SiblingPath(siblingPath.length, siblingPath);
75
+ }
76
+ async getStateReference() {
77
+ const resp = await this.instance.call(WorldStateMessageType.GET_STATE_REFERENCE, {
78
+ revision: this.revision,
79
+ });
80
+ 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])));
81
+ }
82
+ async getInitialStateReference() {
83
+ const resp = await this.instance.call(WorldStateMessageType.GET_INITIAL_STATE_REFERENCE, void 0);
84
+ 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])));
85
+ }
86
+ async getTreeInfo(treeId) {
87
+ const resp = await this.instance.call(WorldStateMessageType.GET_TREE_INFO, {
88
+ treeId: treeId,
89
+ revision: this.revision,
90
+ });
91
+ return {
92
+ depth: resp.depth,
93
+ root: resp.root,
94
+ size: BigInt(resp.size),
95
+ treeId,
96
+ };
97
+ }
98
+ }
99
+ export class MerkleTreesForkFacade extends MerkleTreesFacade {
100
+ constructor(instance, initialHeader, revision) {
101
+ assert.notEqual(revision.forkId, 0, 'Fork ID must be set');
102
+ assert.equal(revision.includeUncommitted, true, 'Fork must include uncommitted data');
103
+ super(instance, initialHeader, revision);
104
+ }
105
+ async updateArchive(header) {
106
+ await this.instance.call(WorldStateMessageType.UPDATE_ARCHIVE, {
107
+ forkId: this.revision.forkId,
108
+ blockHeaderHash: header.hash().toBuffer(),
109
+ blockStateRef: blockStateReference(header.state),
110
+ });
111
+ }
112
+ async appendLeaves(treeId, leaves) {
113
+ await this.instance.call(WorldStateMessageType.APPEND_LEAVES, {
114
+ leaves: leaves.map(leaf => leaf),
115
+ forkId: this.revision.forkId,
116
+ treeId,
117
+ });
118
+ }
119
+ async batchInsert(treeId, rawLeaves, subtreeHeight) {
120
+ const leaves = rawLeaves.map((leaf) => hydrateLeaf(treeId, leaf)).map(serializeLeaf);
121
+ const resp = await this.instance.call(WorldStateMessageType.BATCH_INSERT, {
122
+ leaves,
123
+ treeId,
124
+ forkId: this.revision.forkId,
125
+ subtreeDepth: subtreeHeight,
126
+ });
127
+ return {
128
+ newSubtreeSiblingPath: new SiblingPath(resp.subtree_path.length, resp.subtree_path),
129
+ sortedNewLeaves: resp.sorted_leaves
130
+ .map(([leaf]) => leaf)
131
+ .map(deserializeLeafValue)
132
+ .map(serializeToBuffer),
133
+ sortedNewLeavesIndexes: resp.sorted_leaves.map(([, index]) => index),
134
+ lowLeavesWitnessData: resp.low_leaf_witness_data.map(data => ({
135
+ index: BigInt(data.index),
136
+ leafPreimage: deserializeIndexedLeaf(data.leaf),
137
+ siblingPath: new SiblingPath(data.path.length, data.path),
138
+ })),
139
+ };
140
+ }
141
+ async close() {
142
+ assert.notEqual(this.revision.forkId, 0, 'Fork ID must be set');
143
+ await this.instance.call(WorldStateMessageType.DELETE_FORK, { forkId: this.revision.forkId });
144
+ }
145
+ }
146
+ function hydrateLeaf(treeId, leaf) {
147
+ if (leaf instanceof Fr) {
148
+ return leaf;
149
+ }
150
+ else if (treeId === MerkleTreeId.NULLIFIER_TREE) {
151
+ return NullifierLeaf.fromBuffer(leaf);
152
+ }
153
+ else if (treeId === MerkleTreeId.PUBLIC_DATA_TREE) {
154
+ return PublicDataTreeLeaf.fromBuffer(leaf);
155
+ }
156
+ else {
157
+ return Fr.fromBuffer(leaf);
158
+ }
159
+ }
160
+ export function serializeLeaf(leaf) {
161
+ if (leaf instanceof Fr) {
162
+ return leaf.toBuffer();
163
+ }
164
+ else if (leaf instanceof NullifierLeaf) {
165
+ return { value: leaf.nullifier.toBuffer() };
166
+ }
167
+ else {
168
+ return { value: leaf.value.toBuffer(), slot: leaf.slot.toBuffer() };
169
+ }
170
+ }
171
+ function deserializeLeafValue(leaf) {
172
+ if (Buffer.isBuffer(leaf)) {
173
+ return Fr.fromBuffer(leaf);
174
+ }
175
+ else if ('slot' in leaf) {
176
+ return new PublicDataTreeLeaf(Fr.fromBuffer(leaf.slot), Fr.fromBuffer(leaf.value));
177
+ }
178
+ else {
179
+ return new NullifierLeaf(Fr.fromBuffer(leaf.value));
180
+ }
181
+ }
182
+ function deserializeIndexedLeaf(leaf) {
183
+ if ('slot' in leaf.value) {
184
+ return new PublicDataTreeLeafPreimage(Fr.fromBuffer(leaf.value.slot), Fr.fromBuffer(leaf.value.value), Fr.fromBuffer(leaf.nextValue), BigInt(leaf.nextIndex));
185
+ }
186
+ else if ('value' in leaf.value) {
187
+ return new NullifierLeafPreimage(Fr.fromBuffer(leaf.value.value), Fr.fromBuffer(leaf.nextValue), BigInt(leaf.nextIndex));
188
+ }
189
+ else {
190
+ throw new Error('Invalid leaf type');
191
+ }
192
+ }
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVya2xlX3RyZWVzX2ZhY2FkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uYXRpdmUvbWVya2xlX3RyZWVzX2ZhY2FkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsWUFBWSxFQUlaLFdBQVcsR0FFWixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxFQUFFLEVBRUYsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixjQUFjLEdBQ2YsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdoRSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUdMLHFCQUFxQixFQUVyQixtQkFBbUIsRUFDbkIsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBR3RCLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDcUIsUUFBa0MsRUFDbEMsYUFBcUIsRUFDckIsUUFBNEI7UUFGNUIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFDOUMsQ0FBQztJQUVKLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQW9CLEVBQUUsS0FBdUM7UUFDekUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixNQUFvQixFQUNwQixJQUFzQyxFQUN0QyxVQUFrQjtRQUVsQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVB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
@@ -35,21 +35,40 @@ export declare class TypedMessage<T, B> {
35
35
  export declare enum WorldStateMessageType {
36
36
  GET_TREE_INFO = 100,
37
37
  GET_STATE_REFERENCE = 101,
38
- GET_LEAF_VALUE = 102,
39
- GET_LEAF_PREIMAGE = 103,
40
- GET_SIBLING_PATH = 104,
41
- FIND_LEAF_INDEX = 105,
42
- FIND_LOW_LEAF = 106,
43
- APPEND_LEAVES = 107,
44
- BATCH_INSERT = 108,
45
- UPDATE_ARCHIVE = 109,
46
- COMMIT = 110,
47
- ROLLBACK = 111,
48
- SYNC_BLOCK = 112
38
+ GET_INITIAL_STATE_REFERENCE = 102,
39
+ GET_LEAF_VALUE = 103,
40
+ GET_LEAF_PREIMAGE = 104,
41
+ GET_SIBLING_PATH = 105,
42
+ FIND_LEAF_INDEX = 106,
43
+ FIND_LOW_LEAF = 107,
44
+ APPEND_LEAVES = 108,
45
+ BATCH_INSERT = 109,
46
+ UPDATE_ARCHIVE = 110,
47
+ COMMIT = 111,
48
+ ROLLBACK = 112,
49
+ SYNC_BLOCK = 113,
50
+ CREATE_FORK = 114,
51
+ DELETE_FORK = 115,
52
+ FINALISE_BLOCKS = 116,
53
+ UNWIND_BLOCKS = 117,
54
+ REMOVE_HISTORICAL_BLOCKS = 118,
55
+ GET_STATUS = 119,
56
+ CLOSE = 999
49
57
  }
50
58
  interface WithTreeId {
51
59
  treeId: MerkleTreeId;
52
60
  }
61
+ export interface WorldStateStatus {
62
+ /** Last block number that can still be unwound. */
63
+ unfinalisedBlockNumber: bigint;
64
+ /** Last block number that is finalised and cannot be unwound. */
65
+ finalisedBlockNumber: bigint;
66
+ /** Oldest block still available for historical queries and forks. */
67
+ oldestHistoricalBlock: bigint;
68
+ }
69
+ interface WithForkId {
70
+ forkId: number;
71
+ }
53
72
  interface WithWorldStateRevision {
54
73
  revision: WorldStateRevision;
55
74
  }
@@ -70,6 +89,9 @@ export type SerializedIndexedLeaf = {
70
89
  interface WithLeafValue {
71
90
  leaf: SerializedLeafValue;
72
91
  }
92
+ interface BlockShiftRequest {
93
+ toBlockNumber: bigint;
94
+ }
73
95
  interface WithLeaves {
74
96
  leaves: SerializedLeafValue[];
75
97
  }
@@ -106,9 +128,9 @@ interface FindLowLeafResponse {
106
128
  index: bigint | number;
107
129
  alreadyPresent: boolean;
108
130
  }
109
- interface AppendLeavesRequest extends WithTreeId, WithLeaves {
131
+ interface AppendLeavesRequest extends WithTreeId, WithForkId, WithLeaves {
110
132
  }
111
- interface BatchInsertRequest extends WithTreeId, WithLeaves {
133
+ interface BatchInsertRequest extends WithTreeId, WithForkId, WithLeaves {
112
134
  subtreeDepth: number;
113
135
  }
114
136
  interface BatchInsertResponse {
@@ -120,24 +142,42 @@ interface BatchInsertResponse {
120
142
  sorted_leaves: ReadonlyArray<[SerializedLeafValue, UInt32]>;
121
143
  subtree_path: Tuple<Buffer, number>;
122
144
  }
123
- interface UpdateArchiveRequest {
145
+ interface UpdateArchiveRequest extends WithForkId {
124
146
  blockStateRef: BlockStateReference;
125
- blockHash: Buffer;
147
+ blockHeaderHash: Buffer;
126
148
  }
127
149
  interface SyncBlockRequest {
150
+ blockNumber: number;
128
151
  blockStateRef: BlockStateReference;
129
- blockHash: Fr;
152
+ blockHeaderHash: Fr;
130
153
  paddedNoteHashes: readonly SerializedLeafValue[];
131
154
  paddedL1ToL2Messages: readonly SerializedLeafValue[];
132
155
  paddedNullifiers: readonly SerializedLeafValue[];
133
156
  batchesOfPaddedPublicDataWrites: readonly SerializedLeafValue[][];
134
157
  }
135
158
  interface SyncBlockResponse {
136
- isBlockOurs: boolean;
159
+ status: WorldStateStatus;
160
+ }
161
+ interface CreateForkRequest {
162
+ latest: boolean;
163
+ blockNumber: number;
164
+ }
165
+ interface CreateForkResponse {
166
+ forkId: number;
167
+ }
168
+ interface DeleteForkRequest {
169
+ forkId: number;
170
+ }
171
+ interface CreateForkResponse {
172
+ forkId: number;
173
+ }
174
+ interface DeleteForkRequest {
175
+ forkId: number;
137
176
  }
138
177
  export type WorldStateRequest = {
139
178
  [WorldStateMessageType.GET_TREE_INFO]: GetTreeInfoRequest;
140
179
  [WorldStateMessageType.GET_STATE_REFERENCE]: GetStateReferenceRequest;
180
+ [WorldStateMessageType.GET_INITIAL_STATE_REFERENCE]: void;
141
181
  [WorldStateMessageType.GET_LEAF_VALUE]: GetLeafRequest;
142
182
  [WorldStateMessageType.GET_LEAF_PREIMAGE]: GetLeafPreImageRequest;
143
183
  [WorldStateMessageType.GET_SIBLING_PATH]: GetSiblingPathRequest;
@@ -149,10 +189,18 @@ export type WorldStateRequest = {
149
189
  [WorldStateMessageType.COMMIT]: void;
150
190
  [WorldStateMessageType.ROLLBACK]: void;
151
191
  [WorldStateMessageType.SYNC_BLOCK]: SyncBlockRequest;
192
+ [WorldStateMessageType.CREATE_FORK]: CreateForkRequest;
193
+ [WorldStateMessageType.DELETE_FORK]: DeleteForkRequest;
194
+ [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: BlockShiftRequest;
195
+ [WorldStateMessageType.UNWIND_BLOCKS]: BlockShiftRequest;
196
+ [WorldStateMessageType.FINALISE_BLOCKS]: BlockShiftRequest;
197
+ [WorldStateMessageType.GET_STATUS]: void;
198
+ [WorldStateMessageType.CLOSE]: void;
152
199
  };
153
200
  export type WorldStateResponse = {
154
201
  [WorldStateMessageType.GET_TREE_INFO]: GetTreeInfoResponse;
155
202
  [WorldStateMessageType.GET_STATE_REFERENCE]: GetStateReferenceResponse;
203
+ [WorldStateMessageType.GET_INITIAL_STATE_REFERENCE]: GetStateReferenceResponse;
156
204
  [WorldStateMessageType.GET_LEAF_VALUE]: GetLeafResponse;
157
205
  [WorldStateMessageType.GET_LEAF_PREIMAGE]: GetLeafPreImageResponse;
158
206
  [WorldStateMessageType.GET_SIBLING_PATH]: GetSiblingPathResponse;
@@ -164,9 +212,20 @@ export type WorldStateResponse = {
164
212
  [WorldStateMessageType.COMMIT]: void;
165
213
  [WorldStateMessageType.ROLLBACK]: void;
166
214
  [WorldStateMessageType.SYNC_BLOCK]: SyncBlockResponse;
215
+ [WorldStateMessageType.CREATE_FORK]: CreateForkResponse;
216
+ [WorldStateMessageType.DELETE_FORK]: void;
217
+ [WorldStateMessageType.REMOVE_HISTORICAL_BLOCKS]: WorldStateStatus;
218
+ [WorldStateMessageType.UNWIND_BLOCKS]: WorldStateStatus;
219
+ [WorldStateMessageType.FINALISE_BLOCKS]: WorldStateStatus;
220
+ [WorldStateMessageType.GET_STATUS]: WorldStateStatus;
221
+ [WorldStateMessageType.CLOSE]: void;
222
+ };
223
+ export type WorldStateRevision = {
224
+ forkId: number;
225
+ blockNumber: number;
226
+ includeUncommitted: boolean;
167
227
  };
168
- export type WorldStateRevision = -1 | 0 | UInt32;
169
- export declare function worldStateRevision(includeUncommittedOrBlock: false | true | number): WorldStateRevision;
228
+ export declare function worldStateRevision(includeUncommitted: boolean, forkId: number | undefined, blockNumber: number | undefined): WorldStateRevision;
170
229
  type TreeStateReference = readonly [Buffer, number | bigint];
171
230
  type BlockStateReference = Map<Exclude<MerkleTreeId, MerkleTreeId.ARCHIVE>, TreeStateReference>;
172
231
  export declare function treeStateReferenceToSnapshot([root, size]: TreeStateReference): AppendOnlyTreeSnapshot;
@@ -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":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,aAAa;IACxB,yCAAyC;IACzC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,+EAA+E;IAC/E,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,iBAAiB;IAKvD,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAGpD;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC;aACO,OAAO,EAAE,CAAC;aAAkB,MAAM,EAAE,aAAa;aAAkB,KAAK,EAAE,CAAC;gBAA3E,OAAO,EAAE,CAAC,EAAkB,MAAM,EAAE,aAAa,EAAkB,KAAK,EAAE,CAAC;IAE9G,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxE,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,gBAAgB;CAG7D;AAED,oBAAY,qBAAqB;IAC/B,aAAa,MAAM;IACnB,mBAAmB,MAAA;IACnB,2BAA2B,MAAA;IAE3B,cAAc,MAAA;IACd,iBAAiB,MAAA;IACjB,gBAAgB,MAAA;IAEhB,eAAe,MAAA;IACf,aAAa,MAAA;IAEb,aAAa,MAAA;IACb,YAAY,MAAA;IAEZ,cAAc,MAAA;IAEd,MAAM,MAAA;IACN,QAAQ,MAAA;IAER,UAAU,MAAA;IAEV,WAAW,MAAA;IACX,WAAW,MAAA;IAEX,eAAe,MAAA;IACf,aAAa,MAAA;IACb,wBAAwB,MAAA;IAExB,UAAU,MAAA;IAEV,KAAK,MAAM;CACZ;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iEAAiE;IACjE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC5C,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,UAAU,aAAa;IACrB,IAAI,EAAE,mBAAmB,CAAC;CAC3B;AAED,UAAU,iBAAiB;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,UAAU,kBAAmB,SAAQ,UAAU,EAAE,sBAAsB;CAAG;AAC1E,UAAU,mBAAmB;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAsB,SAAQ,UAAU,EAAE,aAAa,EAAE,sBAAsB;CAAG;AAC5F,KAAK,sBAAsB,GAAG,MAAM,EAAE,CAAC;AAEvC,UAAU,wBAAyB,SAAQ,sBAAsB;CAAG;AACpE,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;CACjD;AAED,UAAU,cAAe,SAAQ,UAAU,EAAE,sBAAsB,EAAE,aAAa;CAAG;AACrF,KAAK,eAAe,GAAG,mBAAmB,GAAG,SAAS,CAAC;AAEvD,UAAU,sBAAuB,SAAQ,UAAU,EAAE,aAAa,EAAE,sBAAsB;CAAG;AAC7F,KAAK,uBAAuB,GAAG,qBAAqB,GAAG,SAAS,CAAC;AAEjE,UAAU,oBAAqB,SAAQ,UAAU,EAAE,aAAa,EAAE,sBAAsB;IACtF,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,KAAK,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAAC;AAE3C,UAAU,kBAAmB,SAAQ,UAAU,EAAE,sBAAsB;IACrE,GAAG,EAAE,EAAE,CAAC;CACT;AACD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,mBAAoB,SAAQ,UAAU,EAAE,UAAU,EAAE,UAAU;CAAG;AAE3E,UAAU,kBAAmB,SAAQ,UAAU,EAAE,UAAU,EAAE,UAAU;IACrE,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,UAAU,mBAAmB;IAC3B,qBAAqB,EAAE,aAAa,CAAC;QACnC,IAAI,EAAE,qBAAqB,CAAC;QAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC,CAAC;IACH,aAAa,EAAE,aAAa,CAAC,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,UAAU,oBAAqB,SAAQ,UAAU;IAC/C,aAAa,EAAE,mBAAmB,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,mBAAmB,CAAC;IACnC,eAAe,EAAE,EAAE,CAAC;IACpB,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,oBAAoB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACrD,gBAAgB,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,+BAA+B,EAAE,SAAS,mBAAmB,EAAE,EAAE,CAAC;CACnE;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC1D,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IACtE,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,EAAE,IAAI,CAAC;IAE1D,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACvD,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAClE,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAEhE,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAC9D,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAE1D,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAC3D,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAEzD,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAE7D,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACrC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEvC,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAErD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACvD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEvD,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,EAAE,iBAAiB,CAAC;IACpE,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IACzD,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IAE3D,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAEzC,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAC3D,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IACvE,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,EAAE,yBAAyB,CAAC;IAE/E,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;IACxD,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IACnE,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAEjE,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAC/D,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAE3D,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;IAC5C,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAE1D,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAE7C,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACrC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEvC,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAEtD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACxD,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAE1C,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IACnE,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACxD,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAE1D,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAErD,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AACF,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,OAAO,EAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,kBAAkB,CAMpB;AAED,KAAK,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAC7D,KAAK,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAEhG,wBAAgB,4BAA4B,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,sBAAsB,CAErG;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,sBAAsB,6BAElE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,mBAAmB,CAO9E"}
@@ -1,5 +1,5 @@
1
1
  import { MerkleTreeId } from '@aztec/circuit-types';
2
- import { AppendOnlyTreeSnapshot, Fr, INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
2
+ import { AppendOnlyTreeSnapshot, Fr } from '@aztec/circuits.js';
3
3
  export class MessageHeader {
4
4
  constructor({ messageId, requestId }) {
5
5
  this.messageId = messageId ?? 0;
@@ -26,31 +26,32 @@ export var WorldStateMessageType;
26
26
  (function (WorldStateMessageType) {
27
27
  WorldStateMessageType[WorldStateMessageType["GET_TREE_INFO"] = 100] = "GET_TREE_INFO";
28
28
  WorldStateMessageType[WorldStateMessageType["GET_STATE_REFERENCE"] = 101] = "GET_STATE_REFERENCE";
29
- WorldStateMessageType[WorldStateMessageType["GET_LEAF_VALUE"] = 102] = "GET_LEAF_VALUE";
30
- WorldStateMessageType[WorldStateMessageType["GET_LEAF_PREIMAGE"] = 103] = "GET_LEAF_PREIMAGE";
31
- WorldStateMessageType[WorldStateMessageType["GET_SIBLING_PATH"] = 104] = "GET_SIBLING_PATH";
32
- WorldStateMessageType[WorldStateMessageType["FIND_LEAF_INDEX"] = 105] = "FIND_LEAF_INDEX";
33
- WorldStateMessageType[WorldStateMessageType["FIND_LOW_LEAF"] = 106] = "FIND_LOW_LEAF";
34
- WorldStateMessageType[WorldStateMessageType["APPEND_LEAVES"] = 107] = "APPEND_LEAVES";
35
- WorldStateMessageType[WorldStateMessageType["BATCH_INSERT"] = 108] = "BATCH_INSERT";
36
- WorldStateMessageType[WorldStateMessageType["UPDATE_ARCHIVE"] = 109] = "UPDATE_ARCHIVE";
37
- WorldStateMessageType[WorldStateMessageType["COMMIT"] = 110] = "COMMIT";
38
- WorldStateMessageType[WorldStateMessageType["ROLLBACK"] = 111] = "ROLLBACK";
39
- WorldStateMessageType[WorldStateMessageType["SYNC_BLOCK"] = 112] = "SYNC_BLOCK";
29
+ WorldStateMessageType[WorldStateMessageType["GET_INITIAL_STATE_REFERENCE"] = 102] = "GET_INITIAL_STATE_REFERENCE";
30
+ WorldStateMessageType[WorldStateMessageType["GET_LEAF_VALUE"] = 103] = "GET_LEAF_VALUE";
31
+ WorldStateMessageType[WorldStateMessageType["GET_LEAF_PREIMAGE"] = 104] = "GET_LEAF_PREIMAGE";
32
+ WorldStateMessageType[WorldStateMessageType["GET_SIBLING_PATH"] = 105] = "GET_SIBLING_PATH";
33
+ WorldStateMessageType[WorldStateMessageType["FIND_LEAF_INDEX"] = 106] = "FIND_LEAF_INDEX";
34
+ WorldStateMessageType[WorldStateMessageType["FIND_LOW_LEAF"] = 107] = "FIND_LOW_LEAF";
35
+ WorldStateMessageType[WorldStateMessageType["APPEND_LEAVES"] = 108] = "APPEND_LEAVES";
36
+ WorldStateMessageType[WorldStateMessageType["BATCH_INSERT"] = 109] = "BATCH_INSERT";
37
+ WorldStateMessageType[WorldStateMessageType["UPDATE_ARCHIVE"] = 110] = "UPDATE_ARCHIVE";
38
+ WorldStateMessageType[WorldStateMessageType["COMMIT"] = 111] = "COMMIT";
39
+ WorldStateMessageType[WorldStateMessageType["ROLLBACK"] = 112] = "ROLLBACK";
40
+ WorldStateMessageType[WorldStateMessageType["SYNC_BLOCK"] = 113] = "SYNC_BLOCK";
41
+ WorldStateMessageType[WorldStateMessageType["CREATE_FORK"] = 114] = "CREATE_FORK";
42
+ WorldStateMessageType[WorldStateMessageType["DELETE_FORK"] = 115] = "DELETE_FORK";
43
+ WorldStateMessageType[WorldStateMessageType["FINALISE_BLOCKS"] = 116] = "FINALISE_BLOCKS";
44
+ WorldStateMessageType[WorldStateMessageType["UNWIND_BLOCKS"] = 117] = "UNWIND_BLOCKS";
45
+ WorldStateMessageType[WorldStateMessageType["REMOVE_HISTORICAL_BLOCKS"] = 118] = "REMOVE_HISTORICAL_BLOCKS";
46
+ WorldStateMessageType[WorldStateMessageType["GET_STATUS"] = 119] = "GET_STATUS";
47
+ WorldStateMessageType[WorldStateMessageType["CLOSE"] = 999] = "CLOSE";
40
48
  })(WorldStateMessageType || (WorldStateMessageType = {}));
41
- export function worldStateRevision(includeUncommittedOrBlock) {
42
- if (typeof includeUncommittedOrBlock === 'number') {
43
- if (includeUncommittedOrBlock < INITIAL_L2_BLOCK_NUM || !Number.isInteger(includeUncommittedOrBlock)) {
44
- throw new TypeError('Invalid block number: ' + includeUncommittedOrBlock);
45
- }
46
- return includeUncommittedOrBlock;
47
- }
48
- else if (includeUncommittedOrBlock) {
49
- return -1;
50
- }
51
- else {
52
- return 0;
53
- }
49
+ export function worldStateRevision(includeUncommitted, forkId, blockNumber) {
50
+ return {
51
+ forkId: forkId ?? 0,
52
+ blockNumber: blockNumber ?? 0,
53
+ includeUncommitted,
54
+ };
54
55
  }
55
56
  export function treeStateReferenceToSnapshot([root, size]) {
56
57
  return new AppendOnlyTreeSnapshot(Fr.fromBuffer(root), Number(size));
@@ -66,4 +67,4 @@ export function blockStateReference(state) {
66
67
  [MerkleTreeId.L1_TO_L2_MESSAGE_TREE, treeStateReference(state.l1ToL2MessageTree)],
67
68
  ]);
68
69
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uYXRpdmUvbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBb0MsTUFBTSxvQkFBb0IsQ0FBQztBQVV4SCxNQUFNLE9BQU8sYUFBYTtJQU14QixZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBcUI7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBeUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQVdELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW1DLE9BQVUsRUFBa0IsTUFBcUIsRUFBa0IsS0FBUTtRQUEzRSxZQUFPLEdBQVAsT0FBTyxDQUFHO1FBQWtCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBa0IsVUFBSyxHQUFMLEtBQUssQ0FBRztJQUFHLENBQUM7SUFFbEgsTUFBTSxDQUFDLGVBQWUsQ0FBTyxJQUFzQjtRQUNqRCxPQUFPLElBQUksWUFBWSxDQUFPLElBQUksQ0FBQyxTQUFTLENBQU0sRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBUTtRQUNoQyxPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxPQUFPLElBQUksR0FBRyxDQUFDO0lBQzFHLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQW9CWDtBQXBCRCxXQUFZLHFCQUFxQjtJQUMvQixxRkFBbUIsQ0FBQTtJQUNuQixpR0FBbUIsQ0FBQTtJQUVuQix1RkFBYyxDQUFBO0lBQ2QsNkZBQWlCLENBQUE7SUFDakIsMkZBQWdCLENBQUE7SUFFaEIseUZBQWUsQ0FBQTtJQUNmLHFGQUFhLENBQUE7SUFFYixxRkFBYSxDQUFBO0lBQ2IsbUZBQVksQ0FBQTtJQUVaLHVGQUFjLENBQUE7SUFFZCx1RUFBTSxDQUFBO0lBQ04sMkVBQVEsQ0FBQTtJQUVSLCtFQUFVLENBQUE7QUFDWixDQUFDLEVBcEJXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFvQmhDO0FBa0pELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyx5QkFBZ0Q7SUFDakYsSUFBSSxPQUFPLHlCQUF5QixLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUkseUJBQXlCLEdBQUcsb0JBQW9CLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUNyRyxNQUFNLElBQUksU0FBUyxDQUFDLHdCQUF3QixHQUFHLHlCQUF5QixDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQztTQUFNLElBQUkseUJBQXlCLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7QUFDSCxDQUFDO0FBS0QsTUFBTSxVQUFVLDRCQUE0QixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBcUI7SUFDM0UsT0FBTyxJQUFJLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxRQUFnQztJQUNqRSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQVUsQ0FBQztBQUN0RixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQXFCO0lBQ3ZELE9BQU8sSUFBSSxHQUFHLENBQUM7UUFDYixDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5RSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pGLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBQ2xGLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uYXRpdmUvbWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsRUFBb0MsTUFBTSxvQkFBb0IsQ0FBQztBQVVsRyxNQUFNLE9BQU8sYUFBYTtJQU14QixZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBcUI7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBeUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQVdELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW1DLE9BQVUsRUFBa0IsTUFBcUIsRUFBa0IsS0FBUTtRQUEzRSxZQUFPLEdBQVAsT0FBTyxDQUFHO1FBQWtCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBa0IsVUFBSyxHQUFMLEtBQUssQ0FBRztJQUFHLENBQUM7SUFFbEgsTUFBTSxDQUFDLGVBQWUsQ0FBTyxJQUFzQjtRQUNqRCxPQUFPLElBQUksWUFBWSxDQUFPLElBQUksQ0FBQyxTQUFTLENBQU0sRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBUTtRQUNoQyxPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxPQUFPLElBQUksR0FBRyxDQUFDO0lBQzFHLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBTixJQUFZLHFCQWdDWDtBQWhDRCxXQUFZLHFCQUFxQjtJQUMvQixxRkFBbUIsQ0FBQTtJQUNuQixpR0FBbUIsQ0FBQTtJQUNuQixpSEFBMkIsQ0FBQTtJQUUzQix1RkFBYyxDQUFBO0lBQ2QsNkZBQWlCLENBQUE7SUFDakIsMkZBQWdCLENBQUE7SUFFaEIseUZBQWUsQ0FBQTtJQUNmLHFGQUFhLENBQUE7SUFFYixxRkFBYSxDQUFBO0lBQ2IsbUZBQVksQ0FBQTtJQUVaLHVGQUFjLENBQUE7SUFFZCx1RUFBTSxDQUFBO0lBQ04sMkVBQVEsQ0FBQTtJQUVSLCtFQUFVLENBQUE7SUFFVixpRkFBVyxDQUFBO0lBQ1gsaUZBQVcsQ0FBQTtJQUVYLHlGQUFlLENBQUE7SUFDZixxRkFBYSxDQUFBO0lBQ2IsMkdBQXdCLENBQUE7SUFFeEIsK0VBQVUsQ0FBQTtJQUVWLHFFQUFXLENBQUE7QUFDYixDQUFDLEVBaENXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFnQ2hDO0FBcU5ELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsa0JBQTJCLEVBQzNCLE1BQTBCLEVBQzFCLFdBQStCO0lBRS9CLE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7UUFDbkIsV0FBVyxFQUFFLFdBQVcsSUFBSSxDQUFDO1FBQzdCLGtCQUFrQjtLQUNuQixDQUFDO0FBQ0osQ0FBQztBQUtELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQXFCO0lBQzNFLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBZ0M7SUFDakUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFVLENBQUM7QUFDdEYsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFxQjtJQUN2RCxPQUFPLElBQUksR0FBRyxDQUFDO1FBQ2IsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0UsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRixDQUFDLFlBQVksQ0FBQyxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNsRixDQUFDLENBQUM7QUFDTCxDQUFDIn0=