@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.
- package/dest/index.js +0 -1
- package/dest/instrumentation/instrumentation.d.ts +2 -0
- package/dest/instrumentation/instrumentation.d.ts.map +1 -1
- package/dest/instrumentation/instrumentation.js +50 -22
- package/dest/native/fork_checkpoint.d.ts +10 -0
- package/dest/native/fork_checkpoint.d.ts.map +1 -0
- package/dest/native/fork_checkpoint.js +26 -0
- package/dest/native/index.d.ts +1 -0
- package/dest/native/index.d.ts.map +1 -1
- package/dest/native/index.js +1 -1
- package/dest/native/merkle_trees_facade.d.ts +6 -4
- package/dest/native/merkle_trees_facade.d.ts.map +1 -1
- package/dest/native/merkle_trees_facade.js +80 -75
- package/dest/native/message.d.ts +5 -3
- package/dest/native/message.d.ts.map +1 -1
- package/dest/native/message.js +33 -19
- package/dest/native/native_world_state.d.ts +9 -5
- package/dest/native/native_world_state.d.ts.map +1 -1
- package/dest/native/native_world_state.js +126 -74
- package/dest/native/native_world_state_instance.d.ts +3 -2
- package/dest/native/native_world_state_instance.d.ts.map +1 -1
- package/dest/native/native_world_state_instance.js +43 -40
- package/dest/native/world_state_ops_queue.js +18 -29
- package/dest/native/world_state_version.d.ts +1 -1
- package/dest/native/world_state_version.d.ts.map +1 -1
- package/dest/native/world_state_version.js +8 -9
- package/dest/synchronizer/config.js +12 -14
- package/dest/synchronizer/factory.d.ts +7 -5
- package/dest/synchronizer/factory.d.ts.map +1 -1
- package/dest/synchronizer/factory.js +8 -8
- package/dest/synchronizer/index.js +0 -1
- package/dest/synchronizer/server_world_state_synchronizer.d.ts +7 -4
- package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/server_world_state_synchronizer.js +86 -65
- package/dest/test/index.js +0 -1
- package/dest/test/utils.d.ts +4 -3
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +21 -17
- package/dest/testing.d.ts +10 -0
- package/dest/testing.d.ts.map +1 -0
- package/dest/testing.js +37 -0
- package/dest/world-state-db/index.d.ts +1 -1
- package/dest/world-state-db/index.d.ts.map +1 -1
- package/dest/world-state-db/index.js +0 -1
- package/dest/world-state-db/merkle_tree_db.d.ts +6 -5
- package/dest/world-state-db/merkle_tree_db.d.ts.map +1 -1
- package/dest/world-state-db/merkle_tree_db.js +2 -4
- package/package.json +14 -12
- package/src/instrumentation/instrumentation.ts +29 -3
- package/src/native/fork_checkpoint.ts +30 -0
- package/src/native/index.ts +1 -0
- package/src/native/merkle_trees_facade.ts +15 -18
- package/src/native/message.ts +5 -3
- package/src/native/native_world_state.ts +82 -69
- package/src/native/native_world_state_instance.ts +7 -3
- package/src/native/world_state_version.ts +1 -1
- package/src/synchronizer/factory.ts +11 -5
- package/src/synchronizer/server_world_state_synchronizer.ts +43 -26
- package/src/test/utils.ts +6 -10
- package/src/testing.ts +60 -0
- package/src/world-state-db/index.ts +1 -1
- 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,
|
|
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 {
|
|
4
|
-
import {
|
|
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
|
-
|
|
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
|
-
|
|
85
|
-
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luc3RydW1lbnRhdGlvbi9pbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsVUFBVSxFQUdWLE9BQU8sRUFFUCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sc0JBQXNCLENBQUM7QUFJOUIsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUE0QixTQUEwQixFQUFVLE1BQU0sWUFBWSxDQUFDLDZCQUE2QixDQUFDO1FBQXJGLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBOEM7UUFDL0csTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFO1lBQ2xFLFdBQVcsRUFBRSxzREFBc0Q7WUFDbkUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUU7WUFDL0QsV0FBVyxFQUFFLGtEQUFrRDtZQUMvRCxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFO1lBQ2pGLFdBQVcsRUFBRSxrREFBa0Q7WUFDL0QsU0FBUyxFQUFFLFNB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
|
|
@@ -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
|
+
}
|
package/dest/native/index.d.ts
CHANGED
|
@@ -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"}
|
package/dest/native/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './native_world_state.js';
|
|
2
|
-
|
|
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 {
|
|
4
|
-
import { type
|
|
5
|
-
import {
|
|
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 {
|
|
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":";;AAAA,OAAO,
|
|
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 {
|
|
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
|
|
7
|
+
import { WorldStateMessageType, blockStateReference, treeStateReferenceToSnapshot } from './message.js';
|
|
6
8
|
export class MerkleTreesFacade {
|
|
7
|
-
|
|
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
|
|
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, {
|
|
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
|
|
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
|
|
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)
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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)
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
insertionWitnessData: resp.insertion_witness_data.map(data
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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, {
|
|
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
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
else {
|
|
210
|
-
return {
|
|
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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
|
package/dest/native/message.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
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,
|