@aztec/end-to-end 0.0.1-commit.bf2612ae → 0.0.1-commit.c31f2472
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/e2e_epochs/epochs_test.d.ts +7 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +28 -9
- package/dest/e2e_l1_publisher/write_json.d.ts +3 -2
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +1 -7
- package/dest/e2e_p2p/shared.d.ts +1 -1
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +2 -2
- package/dest/fixtures/e2e_prover_test.js +1 -1
- package/dest/fixtures/setup.d.ts +3 -3
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +20 -15
- package/dest/fixtures/setup_p2p_test.d.ts +4 -5
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +24 -19
- package/dest/spartan/tx_metrics.d.ts +35 -1
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +150 -0
- package/package.json +39 -39
- package/src/e2e_epochs/epochs_test.ts +31 -10
- package/src/e2e_l1_publisher/write_json.ts +1 -6
- package/src/e2e_p2p/shared.ts +10 -2
- package/src/fixtures/e2e_prover_test.ts +1 -1
- package/src/fixtures/setup.ts +13 -13
- package/src/fixtures/setup_p2p_test.ts +15 -20
- package/src/spartan/tx_metrics.ts +126 -0
|
@@ -2,6 +2,40 @@ import type { AztecNode } from '@aztec/aztec.js/node';
|
|
|
2
2
|
import type { Logger } from '@aztec/foundation/log';
|
|
3
3
|
import type { TopicType } from '@aztec/stdlib/p2p';
|
|
4
4
|
import { Tx, type TxReceipt } from '@aztec/stdlib/tx';
|
|
5
|
+
/** Metrics class for proving-related benchmarks. */
|
|
6
|
+
export declare class ProvingMetrics {
|
|
7
|
+
private prefix;
|
|
8
|
+
private successfulTxs;
|
|
9
|
+
private proofDuration;
|
|
10
|
+
private activeAgents;
|
|
11
|
+
private avgQueueTime;
|
|
12
|
+
private jobRetries;
|
|
13
|
+
private jobDuration;
|
|
14
|
+
private timedOutJobs;
|
|
15
|
+
private resolvedJobs;
|
|
16
|
+
private rejectedJobs;
|
|
17
|
+
private epochProvingDuration;
|
|
18
|
+
private provenTransactions;
|
|
19
|
+
private provenBlocks;
|
|
20
|
+
constructor(prefix: string);
|
|
21
|
+
recordSuccessfulTxs(count: number): void;
|
|
22
|
+
recordProofDuration(seconds: number): void;
|
|
23
|
+
recordActiveAgents(count: number): void;
|
|
24
|
+
recordAvgQueueTime(ms: number): void;
|
|
25
|
+
recordJobRetries(count: number): void;
|
|
26
|
+
recordJobDuration(ms: number): void;
|
|
27
|
+
recordTimedOutJobs(count: number): void;
|
|
28
|
+
recordResolvedJobs(count: number): void;
|
|
29
|
+
recordRejectedJobs(count: number): void;
|
|
30
|
+
recordEpochProvingDuration(seconds: number): void;
|
|
31
|
+
recordProvenTransactions(count: number): void;
|
|
32
|
+
recordProvenBlocks(count: number): void;
|
|
33
|
+
toGithubActionBenchmarkJSON(): Array<{
|
|
34
|
+
name: string;
|
|
35
|
+
unit: string;
|
|
36
|
+
value: number;
|
|
37
|
+
}>;
|
|
38
|
+
}
|
|
5
39
|
export type TxInclusionData = {
|
|
6
40
|
txHash: string;
|
|
7
41
|
sentAt: number;
|
|
@@ -51,4 +85,4 @@ export declare class TxInclusionMetrics {
|
|
|
51
85
|
extra?: string;
|
|
52
86
|
}>;
|
|
53
87
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NwYXJ0YW4vdHhfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJdEQsb0RBQW9EO0FBQ3BELHFCQUFhLGNBQWM7SUFjYixPQUFPLENBQUMsTUFBTTtJQWIxQixPQUFPLENBQUMsYUFBYSxDQUFxQjtJQUMxQyxPQUFPLENBQUMsYUFBYSxDQUFxQjtJQUMxQyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsVUFBVSxDQUFxQjtJQUN2QyxPQUFPLENBQUMsV0FBVyxDQUFxQjtJQUN4QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsWUFBWSxDQUFxQjtJQUN6QyxPQUFPLENBQUMsb0JBQW9CLENBQXFCO0lBQ2pELE9BQU8sQ0FBQyxrQkFBa0IsQ0FBcUI7SUFDL0MsT0FBTyxDQUFDLFlBQVksQ0FBcUI7SUFFekMsWUFBb0IsTUFBTSxFQUFFLE1BQU0sRUFBSTtJQUV0QyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdkM7SUFFRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFekM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FFdEM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_metrics.d.ts","sourceRoot":"","sources":["../../src/spartan/tx_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAItD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,kBAAkB;IAgB3B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC;IAhBjB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,MAAM,CAAmD;IAEjE,OAAO,CAAC,uBAAuB,CAAgE;IAE/F,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,iBAAiB,CAAyE;IAClG,OAAO,CAAC,YAAY,CAAuE;IAC3F,OAAO,CAAC,SAAS,CAAiG;IAClH,OAAO,CAAC,iBAAiB,CAEX;IAEd,YACU,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,oBAAQ,EACrB;IAEJ,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAoBxC;IAEK,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BvD;IAEM,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG;QAC5C,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CA+BA;IAEM,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAElF;IAEM,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAE9D;IAEM,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAE3F;IAEM,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEpF;IAEM,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAE3G;IAEM,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAEjH;IAED,2BAA2B,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAwFlH;CACF"}
|
|
1
|
+
{"version":3,"file":"tx_metrics.d.ts","sourceRoot":"","sources":["../../src/spartan/tx_metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,154 @@
|
|
|
1
1
|
import { createHistogram } from 'perf_hooks';
|
|
2
|
+
/** Metrics class for proving-related benchmarks. */ export class ProvingMetrics {
|
|
3
|
+
prefix;
|
|
4
|
+
successfulTxs;
|
|
5
|
+
proofDuration;
|
|
6
|
+
activeAgents;
|
|
7
|
+
avgQueueTime;
|
|
8
|
+
jobRetries;
|
|
9
|
+
jobDuration;
|
|
10
|
+
timedOutJobs;
|
|
11
|
+
resolvedJobs;
|
|
12
|
+
rejectedJobs;
|
|
13
|
+
epochProvingDuration;
|
|
14
|
+
provenTransactions;
|
|
15
|
+
provenBlocks;
|
|
16
|
+
constructor(prefix){
|
|
17
|
+
this.prefix = prefix;
|
|
18
|
+
}
|
|
19
|
+
recordSuccessfulTxs(count) {
|
|
20
|
+
this.successfulTxs = count;
|
|
21
|
+
}
|
|
22
|
+
recordProofDuration(seconds) {
|
|
23
|
+
this.proofDuration = seconds;
|
|
24
|
+
}
|
|
25
|
+
recordActiveAgents(count) {
|
|
26
|
+
this.activeAgents = count;
|
|
27
|
+
}
|
|
28
|
+
recordAvgQueueTime(ms) {
|
|
29
|
+
this.avgQueueTime = ms;
|
|
30
|
+
}
|
|
31
|
+
recordJobRetries(count) {
|
|
32
|
+
this.jobRetries = count;
|
|
33
|
+
}
|
|
34
|
+
recordJobDuration(ms) {
|
|
35
|
+
this.jobDuration = ms;
|
|
36
|
+
}
|
|
37
|
+
recordTimedOutJobs(count) {
|
|
38
|
+
this.timedOutJobs = count;
|
|
39
|
+
}
|
|
40
|
+
recordResolvedJobs(count) {
|
|
41
|
+
this.resolvedJobs = count;
|
|
42
|
+
}
|
|
43
|
+
recordRejectedJobs(count) {
|
|
44
|
+
this.rejectedJobs = count;
|
|
45
|
+
}
|
|
46
|
+
recordEpochProvingDuration(seconds) {
|
|
47
|
+
this.epochProvingDuration = seconds;
|
|
48
|
+
}
|
|
49
|
+
recordProvenTransactions(count) {
|
|
50
|
+
this.provenTransactions = count;
|
|
51
|
+
}
|
|
52
|
+
recordProvenBlocks(count) {
|
|
53
|
+
this.provenBlocks = count;
|
|
54
|
+
}
|
|
55
|
+
toGithubActionBenchmarkJSON() {
|
|
56
|
+
const data = [];
|
|
57
|
+
if (this.successfulTxs !== undefined) {
|
|
58
|
+
data.push({
|
|
59
|
+
name: `${this.prefix}/successful_txs`,
|
|
60
|
+
unit: 'count',
|
|
61
|
+
value: this.successfulTxs
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
if (this.proofDuration !== undefined) {
|
|
65
|
+
data.push({
|
|
66
|
+
name: `${this.prefix}/proof_duration`,
|
|
67
|
+
unit: 's',
|
|
68
|
+
value: this.proofDuration
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (this.activeAgents !== undefined) {
|
|
72
|
+
data.push({
|
|
73
|
+
name: `${this.prefix}/active_agents`,
|
|
74
|
+
unit: 'count',
|
|
75
|
+
value: this.activeAgents
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
if (this.avgQueueTime !== undefined) {
|
|
79
|
+
data.push({
|
|
80
|
+
name: `${this.prefix}/avg_queue_time`,
|
|
81
|
+
unit: 'ms',
|
|
82
|
+
value: this.avgQueueTime
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
if (this.jobRetries !== undefined) {
|
|
86
|
+
data.push({
|
|
87
|
+
name: `${this.prefix}/job_retries`,
|
|
88
|
+
unit: 'count',
|
|
89
|
+
value: this.jobRetries
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
if (this.jobDuration !== undefined) {
|
|
93
|
+
data.push({
|
|
94
|
+
name: `${this.prefix}/job_duration`,
|
|
95
|
+
unit: 'ms',
|
|
96
|
+
value: this.jobDuration
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
if (this.timedOutJobs !== undefined) {
|
|
100
|
+
data.push({
|
|
101
|
+
name: `${this.prefix}/timed_out_jobs`,
|
|
102
|
+
unit: 'count',
|
|
103
|
+
value: this.timedOutJobs
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
if (this.resolvedJobs !== undefined) {
|
|
107
|
+
data.push({
|
|
108
|
+
name: `${this.prefix}/resolved_jobs`,
|
|
109
|
+
unit: 'count',
|
|
110
|
+
value: this.resolvedJobs
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
if (this.rejectedJobs !== undefined) {
|
|
114
|
+
data.push({
|
|
115
|
+
name: `${this.prefix}/rejected_jobs`,
|
|
116
|
+
unit: 'count',
|
|
117
|
+
value: this.rejectedJobs
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
if (this.epochProvingDuration !== undefined) {
|
|
121
|
+
data.push({
|
|
122
|
+
name: `${this.prefix}/epoch_proving_duration`,
|
|
123
|
+
unit: 's',
|
|
124
|
+
value: this.epochProvingDuration
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (this.provenTransactions !== undefined) {
|
|
128
|
+
data.push({
|
|
129
|
+
name: `${this.prefix}/proven_transactions`,
|
|
130
|
+
unit: 'count',
|
|
131
|
+
value: this.provenTransactions
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
if (this.provenBlocks !== undefined) {
|
|
135
|
+
data.push({
|
|
136
|
+
name: `${this.prefix}/proven_blocks`,
|
|
137
|
+
unit: 'count',
|
|
138
|
+
value: this.provenBlocks
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
const scenario = process.env.BENCH_SCENARIO?.trim();
|
|
142
|
+
if (!scenario) {
|
|
143
|
+
return data;
|
|
144
|
+
}
|
|
145
|
+
const scenarioPrefix = `scenario/${scenario}/`;
|
|
146
|
+
return data.map((entry)=>({
|
|
147
|
+
...entry,
|
|
148
|
+
name: `${scenarioPrefix}${entry.name}`
|
|
149
|
+
}));
|
|
150
|
+
}
|
|
151
|
+
}
|
|
2
152
|
export class TxInclusionMetrics {
|
|
3
153
|
aztecNode;
|
|
4
154
|
logger;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.c31f2472",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,44 +25,44 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
29
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
30
|
-
"@aztec/aztec": "0.0.1-commit.
|
|
31
|
-
"@aztec/aztec-node": "0.0.1-commit.
|
|
32
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
33
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
34
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
35
|
-
"@aztec/blob-client": "0.0.1-commit.
|
|
36
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
37
|
-
"@aztec/bot": "0.0.1-commit.
|
|
38
|
-
"@aztec/cli": "0.0.1-commit.
|
|
39
|
-
"@aztec/constants": "0.0.1-commit.
|
|
40
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
41
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
42
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
43
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
44
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
45
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
46
|
-
"@aztec/merkle-tree": "0.0.1-commit.
|
|
47
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
48
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
49
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
50
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
51
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
52
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
53
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
54
|
-
"@aztec/prover-client": "0.0.1-commit.
|
|
55
|
-
"@aztec/prover-node": "0.0.1-commit.
|
|
56
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
57
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
58
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
59
|
-
"@aztec/slasher": "0.0.1-commit.
|
|
60
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
61
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
62
|
-
"@aztec/test-wallet": "0.0.1-commit.
|
|
63
|
-
"@aztec/validator-client": "0.0.1-commit.
|
|
64
|
-
"@aztec/validator-ha-signer": "0.0.1-commit.
|
|
65
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
28
|
+
"@aztec/accounts": "0.0.1-commit.c31f2472",
|
|
29
|
+
"@aztec/archiver": "0.0.1-commit.c31f2472",
|
|
30
|
+
"@aztec/aztec": "0.0.1-commit.c31f2472",
|
|
31
|
+
"@aztec/aztec-node": "0.0.1-commit.c31f2472",
|
|
32
|
+
"@aztec/aztec.js": "0.0.1-commit.c31f2472",
|
|
33
|
+
"@aztec/bb-prover": "0.0.1-commit.c31f2472",
|
|
34
|
+
"@aztec/bb.js": "0.0.1-commit.c31f2472",
|
|
35
|
+
"@aztec/blob-client": "0.0.1-commit.c31f2472",
|
|
36
|
+
"@aztec/blob-lib": "0.0.1-commit.c31f2472",
|
|
37
|
+
"@aztec/bot": "0.0.1-commit.c31f2472",
|
|
38
|
+
"@aztec/cli": "0.0.1-commit.c31f2472",
|
|
39
|
+
"@aztec/constants": "0.0.1-commit.c31f2472",
|
|
40
|
+
"@aztec/entrypoints": "0.0.1-commit.c31f2472",
|
|
41
|
+
"@aztec/epoch-cache": "0.0.1-commit.c31f2472",
|
|
42
|
+
"@aztec/ethereum": "0.0.1-commit.c31f2472",
|
|
43
|
+
"@aztec/foundation": "0.0.1-commit.c31f2472",
|
|
44
|
+
"@aztec/kv-store": "0.0.1-commit.c31f2472",
|
|
45
|
+
"@aztec/l1-artifacts": "0.0.1-commit.c31f2472",
|
|
46
|
+
"@aztec/merkle-tree": "0.0.1-commit.c31f2472",
|
|
47
|
+
"@aztec/node-keystore": "0.0.1-commit.c31f2472",
|
|
48
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.c31f2472",
|
|
49
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.c31f2472",
|
|
50
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.c31f2472",
|
|
51
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.c31f2472",
|
|
52
|
+
"@aztec/p2p": "0.0.1-commit.c31f2472",
|
|
53
|
+
"@aztec/protocol-contracts": "0.0.1-commit.c31f2472",
|
|
54
|
+
"@aztec/prover-client": "0.0.1-commit.c31f2472",
|
|
55
|
+
"@aztec/prover-node": "0.0.1-commit.c31f2472",
|
|
56
|
+
"@aztec/pxe": "0.0.1-commit.c31f2472",
|
|
57
|
+
"@aztec/sequencer-client": "0.0.1-commit.c31f2472",
|
|
58
|
+
"@aztec/simulator": "0.0.1-commit.c31f2472",
|
|
59
|
+
"@aztec/slasher": "0.0.1-commit.c31f2472",
|
|
60
|
+
"@aztec/stdlib": "0.0.1-commit.c31f2472",
|
|
61
|
+
"@aztec/telemetry-client": "0.0.1-commit.c31f2472",
|
|
62
|
+
"@aztec/test-wallet": "0.0.1-commit.c31f2472",
|
|
63
|
+
"@aztec/validator-client": "0.0.1-commit.c31f2472",
|
|
64
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.c31f2472",
|
|
65
|
+
"@aztec/world-state": "0.0.1-commit.c31f2472",
|
|
66
66
|
"@iarna/toml": "^2.2.5",
|
|
67
67
|
"@jest/globals": "^30.0.0",
|
|
68
68
|
"@noble/curves": "=1.0.0",
|
|
@@ -14,13 +14,15 @@ import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
|
|
|
14
14
|
import { BlockNumber, CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
|
|
15
15
|
import { SecretValue } from '@aztec/foundation/config';
|
|
16
16
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
17
|
-
import {
|
|
17
|
+
import { withLoggerBindings } from '@aztec/foundation/log/server';
|
|
18
18
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
19
19
|
import { sleep } from '@aztec/foundation/sleep';
|
|
20
20
|
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
21
|
+
import { TestContract } from '@aztec/noir-test-contracts.js/Test';
|
|
21
22
|
import { getMockPubSubP2PServiceFactory } from '@aztec/p2p/test-helpers';
|
|
22
23
|
import { ProverNode, type ProverNodeConfig, ProverNodePublisher } from '@aztec/prover-node';
|
|
23
24
|
import type { TestProverNode } from '@aztec/prover-node/test';
|
|
25
|
+
import type { PXEConfig } from '@aztec/pxe/config';
|
|
24
26
|
import {
|
|
25
27
|
type SequencerClient,
|
|
26
28
|
type SequencerEvents,
|
|
@@ -49,7 +51,11 @@ export const WORLD_STATE_BLOCK_CHECK_INTERVAL = 50;
|
|
|
49
51
|
export const ARCHIVER_POLL_INTERVAL = 50;
|
|
50
52
|
export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
|
|
51
53
|
|
|
52
|
-
export type EpochsTestOpts = Partial<SetupOptions> & {
|
|
54
|
+
export type EpochsTestOpts = Partial<SetupOptions> & {
|
|
55
|
+
numberOfAccounts?: number;
|
|
56
|
+
pxeOpts?: Partial<PXEConfig>;
|
|
57
|
+
aztecSlotDurationInL1Slots?: number;
|
|
58
|
+
};
|
|
53
59
|
|
|
54
60
|
export type TrackedSequencerEvent = {
|
|
55
61
|
[K in keyof SequencerEvents]: Parameters<SequencerEvents[K]>[0] & {
|
|
@@ -94,7 +100,7 @@ export class EpochsTestContext {
|
|
|
94
100
|
? parseInt(process.env.L1_BLOCK_TIME)
|
|
95
101
|
: DEFAULT_L1_BLOCK_TIME;
|
|
96
102
|
const ethereumSlotDuration = opts.ethereumSlotDuration ?? envEthereumSlotDuration;
|
|
97
|
-
const aztecSlotDuration = opts.aztecSlotDuration ??
|
|
103
|
+
const aztecSlotDuration = opts.aztecSlotDuration ?? (opts.aztecSlotDurationInL1Slots ?? 2) * ethereumSlotDuration;
|
|
98
104
|
const aztecEpochDuration = opts.aztecEpochDuration ?? 6;
|
|
99
105
|
const aztecProofSubmissionEpochs = opts.aztecProofSubmissionEpochs ?? 1;
|
|
100
106
|
const l1PublishingTime = opts.l1PublishingTime ?? 1;
|
|
@@ -147,8 +153,9 @@ export class EpochsTestContext {
|
|
|
147
153
|
l1PublishingTime,
|
|
148
154
|
...opts,
|
|
149
155
|
},
|
|
150
|
-
// Use checkpointed chain tip for PXE to avoid issues with blocks being dropped due to pruned anchor blocks.
|
|
151
|
-
|
|
156
|
+
// Use checkpointed chain tip for PXE by default to avoid issues with blocks being dropped due to pruned anchor blocks.
|
|
157
|
+
// Can be overridden via opts.pxeOpts.
|
|
158
|
+
{ syncChainTip: 'checkpointed', ...opts.pxeOpts },
|
|
152
159
|
);
|
|
153
160
|
|
|
154
161
|
this.context = context;
|
|
@@ -204,14 +211,14 @@ export class EpochsTestContext {
|
|
|
204
211
|
public async createProverNode(opts: { dontStart?: boolean } & Partial<ProverNodeConfig> = {}) {
|
|
205
212
|
this.logger.warn('Creating and syncing a simulated prover node...');
|
|
206
213
|
const proverNodePrivateKey = this.getNextPrivateKey();
|
|
207
|
-
const
|
|
208
|
-
const proverNode = await
|
|
214
|
+
const proverIndex = this.proverNodes.length + 1;
|
|
215
|
+
const proverNode = await withLoggerBindings({ actor: `prover-${proverIndex}` }, () =>
|
|
209
216
|
createAndSyncProverNode(
|
|
210
217
|
proverNodePrivateKey,
|
|
211
218
|
{ ...this.context.config },
|
|
212
219
|
{
|
|
213
220
|
dataDirectory: join(this.context.config.dataDirectory!, randomBytes(8).toString('hex')),
|
|
214
|
-
proverId: EthAddress.fromNumber(
|
|
221
|
+
proverId: EthAddress.fromNumber(proverIndex),
|
|
215
222
|
dontStart: opts.dontStart,
|
|
216
223
|
...opts,
|
|
217
224
|
},
|
|
@@ -240,12 +247,13 @@ export class EpochsTestContext {
|
|
|
240
247
|
private async createNode(
|
|
241
248
|
opts: Partial<AztecNodeConfig> & { txDelayerMaxInclusionTimeIntoSlot?: number; dontStartSequencer?: boolean } = {},
|
|
242
249
|
) {
|
|
243
|
-
const
|
|
250
|
+
const nodeIndex = this.nodes.length + 1;
|
|
251
|
+
const actorPrefix = opts.disableValidator ? 'node' : 'validator';
|
|
244
252
|
const { mockGossipSubNetwork } = this.context;
|
|
245
253
|
const resolvedConfig = { ...this.context.config, ...opts };
|
|
246
254
|
const p2pEnabled = resolvedConfig.p2pEnabled || mockGossipSubNetwork !== undefined;
|
|
247
255
|
const p2pIp = resolvedConfig.p2pIp ?? (p2pEnabled ? '127.0.0.1' : undefined);
|
|
248
|
-
const node = await
|
|
256
|
+
const node = await withLoggerBindings({ actor: `${actorPrefix}-${nodeIndex}` }, () =>
|
|
249
257
|
AztecNodeService.createAndSync(
|
|
250
258
|
{
|
|
251
259
|
...resolvedConfig,
|
|
@@ -375,6 +383,19 @@ export class EpochsTestContext {
|
|
|
375
383
|
return SpamContract.at(instance.address, wallet);
|
|
376
384
|
}
|
|
377
385
|
|
|
386
|
+
/** Registers the TestContract on the given wallet. */
|
|
387
|
+
public async registerTestContract(wallet: Wallet, salt = Fr.ZERO) {
|
|
388
|
+
const instance = await getContractInstanceFromInstantiationParams(TestContract.artifact, {
|
|
389
|
+
constructorArgs: [],
|
|
390
|
+
constructorArtifact: undefined,
|
|
391
|
+
salt,
|
|
392
|
+
publicKeys: undefined,
|
|
393
|
+
deployer: undefined,
|
|
394
|
+
});
|
|
395
|
+
await wallet.registerContract(instance, TestContract.artifact);
|
|
396
|
+
return TestContract.at(instance.address, wallet);
|
|
397
|
+
}
|
|
398
|
+
|
|
378
399
|
/** Creates an L1 client using a fresh account with funds from anvil, with a tx delayer already set up. */
|
|
379
400
|
public async createL1Client() {
|
|
380
401
|
const { client, delayer } = withDelayer(
|
|
@@ -15,6 +15,7 @@ const AZTEC_GENERATE_TEST_DATA = !!process.env.AZTEC_GENERATE_TEST_DATA;
|
|
|
15
15
|
*/
|
|
16
16
|
export async function writeJson(
|
|
17
17
|
fileName: string,
|
|
18
|
+
checkpointHeader: CheckpointHeader,
|
|
18
19
|
block: L2Block,
|
|
19
20
|
l1ToL2Content: Fr[],
|
|
20
21
|
blobs: Blob[],
|
|
@@ -33,12 +34,6 @@ export async function writeJson(
|
|
|
33
34
|
return `0x${buffer.toString('hex').padStart(size, '0')}`;
|
|
34
35
|
};
|
|
35
36
|
|
|
36
|
-
// Create a checkpoint header for this block
|
|
37
|
-
const checkpointHeader = CheckpointHeader.random({
|
|
38
|
-
slotNumber: block.slot,
|
|
39
|
-
timestamp: block.timestamp,
|
|
40
|
-
});
|
|
41
|
-
|
|
42
37
|
const jsonObject = {
|
|
43
38
|
populate: {
|
|
44
39
|
l1ToL2Content: l1ToL2Content.map(value => asHex(value)),
|
package/src/e2e_p2p/shared.ts
CHANGED
|
@@ -56,7 +56,11 @@ export const submitTransactions = async (
|
|
|
56
56
|
): Promise<TxHash[]> => {
|
|
57
57
|
const rpcConfig = getRpcConfig();
|
|
58
58
|
rpcConfig.proverEnabled = false;
|
|
59
|
-
const wallet = await TestWallet.create(
|
|
59
|
+
const wallet = await TestWallet.create(
|
|
60
|
+
node,
|
|
61
|
+
{ ...getPXEConfig(), proverEnabled: false },
|
|
62
|
+
{ loggerActorLabel: 'pxe-tx' },
|
|
63
|
+
);
|
|
60
64
|
const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
|
|
61
65
|
return submitTxsTo(wallet, fundedAccountManager.address, numTxs, logger);
|
|
62
66
|
};
|
|
@@ -70,7 +74,11 @@ export async function prepareTransactions(
|
|
|
70
74
|
const rpcConfig = getRpcConfig();
|
|
71
75
|
rpcConfig.proverEnabled = false;
|
|
72
76
|
|
|
73
|
-
const wallet = await TestWallet.create(
|
|
77
|
+
const wallet = await TestWallet.create(
|
|
78
|
+
node,
|
|
79
|
+
{ ...getPXEConfig(), proverEnabled: false },
|
|
80
|
+
{ loggerActorLabel: 'pxe-tx' },
|
|
81
|
+
);
|
|
74
82
|
const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
|
|
75
83
|
|
|
76
84
|
const testContractInstance = await getContractInstanceFromInstantiationParams(TestContractArtifact, {
|
|
@@ -198,7 +198,7 @@ export class FullProverTest {
|
|
|
198
198
|
this.aztecNode,
|
|
199
199
|
{ proverEnabled: this.realProofs },
|
|
200
200
|
undefined,
|
|
201
|
-
|
|
201
|
+
'pxe-proven',
|
|
202
202
|
);
|
|
203
203
|
this.logger.debug(`Contract address ${this.fakeProofsAsset.address}`);
|
|
204
204
|
await provenWallet.registerContract(this.fakeProofsAssetInstance, TokenContract.artifact);
|
package/src/fixtures/setup.ts
CHANGED
|
@@ -41,7 +41,7 @@ import { BlockNumber, EpochNumber } from '@aztec/foundation/branded-types';
|
|
|
41
41
|
import { SecretValue } from '@aztec/foundation/config';
|
|
42
42
|
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
43
43
|
import { tryRmDir } from '@aztec/foundation/fs';
|
|
44
|
-
import {
|
|
44
|
+
import { withLoggerBindings } from '@aztec/foundation/log/server';
|
|
45
45
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
46
46
|
import { sleep } from '@aztec/foundation/sleep';
|
|
47
47
|
import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
|
|
@@ -125,14 +125,14 @@ export async function setupSharedBlobStorage(config: { dataDirectory?: string }
|
|
|
125
125
|
* @param aztecNode - An instance of Aztec Node.
|
|
126
126
|
* @param opts - Partial configuration for the PXE.
|
|
127
127
|
* @param logger - The logger to be used.
|
|
128
|
-
* @param
|
|
128
|
+
* @param actor - Actor label to include in log output (e.g., 'pxe-test').
|
|
129
129
|
* @returns A test wallet, logger and teardown function.
|
|
130
130
|
*/
|
|
131
131
|
export async function setupPXEAndGetWallet(
|
|
132
132
|
aztecNode: AztecNode,
|
|
133
133
|
opts: Partial<PXEConfig> = {},
|
|
134
134
|
logger = getLogger(),
|
|
135
|
-
|
|
135
|
+
actor?: string,
|
|
136
136
|
): Promise<{
|
|
137
137
|
wallet: TestWallet;
|
|
138
138
|
logger: Logger;
|
|
@@ -150,9 +150,7 @@ export async function setupPXEAndGetWallet(
|
|
|
150
150
|
|
|
151
151
|
const teardown = configuredDataDirectory ? () => Promise.resolve() : () => tryRmDir(PXEConfig.dataDirectory!);
|
|
152
152
|
|
|
153
|
-
const wallet = await TestWallet.create(aztecNode, PXEConfig, {
|
|
154
|
-
useLogSuffix,
|
|
155
|
-
});
|
|
153
|
+
const wallet = await TestWallet.create(aztecNode, PXEConfig, { loggerActorLabel: actor });
|
|
156
154
|
|
|
157
155
|
return {
|
|
158
156
|
wallet,
|
|
@@ -392,7 +390,7 @@ export async function setup(
|
|
|
392
390
|
const res = await startAnvil({
|
|
393
391
|
l1BlockTime: opts.ethereumSlotDuration,
|
|
394
392
|
accounts: opts.anvilAccounts,
|
|
395
|
-
port: opts.anvilPort,
|
|
393
|
+
port: opts.anvilPort ?? (process.env.ANVIL_PORT ? parseInt(process.env.ANVIL_PORT) : undefined),
|
|
396
394
|
});
|
|
397
395
|
anvil = res.anvil;
|
|
398
396
|
config.l1RpcUrls = [res.rpcUrl];
|
|
@@ -574,10 +572,12 @@ export async function setup(
|
|
|
574
572
|
}
|
|
575
573
|
}
|
|
576
574
|
|
|
577
|
-
const aztecNodeService = await
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
575
|
+
const aztecNodeService = await withLoggerBindings({ actor: 'node-0' }, () =>
|
|
576
|
+
AztecNodeService.createAndSync(
|
|
577
|
+
config,
|
|
578
|
+
{ dateProvider, telemetry: telemetryClient, p2pClientDeps },
|
|
579
|
+
{ prefilledPublicData },
|
|
580
|
+
),
|
|
581
581
|
);
|
|
582
582
|
const sequencerClient = aztecNodeService.getSequencer();
|
|
583
583
|
|
|
@@ -611,7 +611,7 @@ export async function setup(
|
|
|
611
611
|
pxeConfig.dataDirectory = path.join(directoryToCleanup, randomBytes(8).toString('hex'));
|
|
612
612
|
// For tests we only want proving enabled if specifically requested
|
|
613
613
|
pxeConfig.proverEnabled = !!pxeOpts.proverEnabled;
|
|
614
|
-
const wallet = await TestWallet.create(aztecNodeService, pxeConfig);
|
|
614
|
+
const wallet = await TestWallet.create(aztecNodeService, pxeConfig, { loggerActorLabel: 'pxe-0' });
|
|
615
615
|
|
|
616
616
|
if (opts.walletMinFeePadding !== undefined) {
|
|
617
617
|
wallet.setMinFeePadding(opts.walletMinFeePadding);
|
|
@@ -797,7 +797,7 @@ export function createAndSyncProverNode(
|
|
|
797
797
|
prefilledPublicData: PublicDataTreeLeaf[] = [],
|
|
798
798
|
proverNodeDeps: ProverNodeDeps = {},
|
|
799
799
|
) {
|
|
800
|
-
return
|
|
800
|
+
return withLoggerBindings({ actor: 'prover-0' }, async () => {
|
|
801
801
|
const aztecNodeTxProvider = aztecNode && {
|
|
802
802
|
getTxByHash: aztecNode.getTxByHash.bind(aztecNode),
|
|
803
803
|
getTxsByHash: aztecNode.getTxsByHash.bind(aztecNode),
|