@aztec/bb-prover 0.0.1-commit.9b94fc1 → 0.0.1-commit.9ee6fcc6
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/avm_proving_tests/avm_proving_tester.d.ts +5 -4
- package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
- package/dest/avm_proving_tests/avm_proving_tester.js +26 -10
- package/dest/bb/execute.d.ts +7 -6
- package/dest/bb/execute.d.ts.map +1 -1
- package/dest/bb/execute.js +52 -76
- package/dest/config.d.ts +12 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/instrumentation.d.ts +1 -1
- package/dest/instrumentation.d.ts.map +1 -1
- package/dest/instrumentation.js +21 -43
- package/dest/prover/client/bb_private_kernel_prover.d.ts +9 -3
- package/dest/prover/client/bb_private_kernel_prover.d.ts.map +1 -1
- package/dest/prover/client/bb_private_kernel_prover.js +16 -4
- package/dest/prover/client/bundle.d.ts +3 -3
- package/dest/prover/client/bundle.d.ts.map +1 -1
- package/dest/prover/client/bundle.js +2 -3
- package/dest/prover/client/lazy.d.ts +3 -3
- package/dest/prover/client/lazy.d.ts.map +1 -1
- package/dest/prover/client/lazy.js +2 -3
- package/dest/prover/proof_utils.js +1 -1
- package/dest/prover/server/bb_prover.d.ts +6 -9
- package/dest/prover/server/bb_prover.d.ts.map +1 -1
- package/dest/prover/server/bb_prover.js +416 -43
- package/dest/test/delay_values.d.ts +1 -1
- package/dest/test/delay_values.d.ts.map +1 -1
- package/dest/test/delay_values.js +28 -26
- package/dest/test/index.d.ts +2 -1
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/dest/test/test_circuit_prover.d.ts +4 -4
- package/dest/test/test_circuit_prover.d.ts.map +1 -1
- package/dest/test/test_circuit_prover.js +462 -59
- package/dest/verification_key/verification_key_data.d.ts +1 -8
- package/dest/verification_key/verification_key_data.d.ts.map +1 -1
- package/dest/verification_key/verification_key_data.js +1 -20
- package/dest/verifier/batch_chonk_verifier.d.ts +45 -0
- package/dest/verifier/batch_chonk_verifier.d.ts.map +1 -0
- package/dest/verifier/batch_chonk_verifier.js +232 -0
- package/dest/verifier/bb_verifier.d.ts +1 -1
- package/dest/verifier/bb_verifier.d.ts.map +1 -1
- package/dest/verifier/bb_verifier.js +1 -4
- package/dest/verifier/index.d.ts +2 -1
- package/dest/verifier/index.d.ts.map +1 -1
- package/dest/verifier/index.js +1 -0
- package/dest/verifier/queued_chonk_verifier.d.ts +2 -3
- package/dest/verifier/queued_chonk_verifier.d.ts.map +1 -1
- package/dest/verifier/queued_chonk_verifier.js +15 -45
- package/package.json +20 -19
- package/src/avm_proving_tests/avm_proving_tester.ts +31 -19
- package/src/bb/execute.ts +41 -60
- package/src/config.ts +11 -0
- package/src/instrumentation.ts +20 -43
- package/src/prover/client/bb_private_kernel_prover.ts +20 -6
- package/src/prover/client/bundle.ts +3 -4
- package/src/prover/client/lazy.ts +3 -4
- package/src/prover/proof_utils.ts +1 -1
- package/src/prover/server/bb_prover.ts +23 -38
- package/src/test/delay_values.ts +30 -26
- package/src/test/index.ts +1 -0
- package/src/test/test_circuit_prover.ts +10 -13
- package/src/verification_key/verification_key_data.ts +1 -26
- package/src/verifier/batch_chonk_verifier.ts +276 -0
- package/src/verifier/bb_verifier.ts +1 -5
- package/src/verifier/index.ts +1 -0
- package/src/verifier/queued_chonk_verifier.ts +15 -47
|
@@ -10,14 +10,12 @@ import {
|
|
|
10
10
|
type ObservableGauge,
|
|
11
11
|
type TelemetryClient,
|
|
12
12
|
type UpDownCounter,
|
|
13
|
-
|
|
13
|
+
createUpDownCounterWithDefault,
|
|
14
14
|
getTelemetryClient,
|
|
15
15
|
} from '@aztec/telemetry-client';
|
|
16
16
|
|
|
17
17
|
import { createHistogram } from 'node:perf_hooks';
|
|
18
18
|
|
|
19
|
-
import type { BBConfig } from '../config.js';
|
|
20
|
-
|
|
21
19
|
class IVCVerifierMetrics {
|
|
22
20
|
private ivcVerificationHistogram: Histogram;
|
|
23
21
|
private ivcTotalVerificationHistogram: Histogram;
|
|
@@ -36,49 +34,18 @@ class IVCVerifierMetrics {
|
|
|
36
34
|
constructor(client: TelemetryClient, name = 'QueuedIVCVerifier') {
|
|
37
35
|
const meter = client.getMeter(name);
|
|
38
36
|
|
|
39
|
-
this.ivcVerificationHistogram = meter.createHistogram(Metrics.IVC_VERIFIER_TIME
|
|
40
|
-
unit: 'ms',
|
|
41
|
-
description: 'Duration to verify chonk proofs',
|
|
42
|
-
valueType: ValueType.INT,
|
|
43
|
-
});
|
|
37
|
+
this.ivcVerificationHistogram = meter.createHistogram(Metrics.IVC_VERIFIER_TIME);
|
|
44
38
|
|
|
45
|
-
this.ivcTotalVerificationHistogram = meter.createHistogram(Metrics.IVC_VERIFIER_TOTAL_TIME
|
|
46
|
-
unit: 'ms',
|
|
47
|
-
description: 'Total duration to verify chonk proofs, including serde',
|
|
48
|
-
valueType: ValueType.INT,
|
|
49
|
-
});
|
|
39
|
+
this.ivcTotalVerificationHistogram = meter.createHistogram(Metrics.IVC_VERIFIER_TOTAL_TIME);
|
|
50
40
|
|
|
51
|
-
this.ivcFailureCount = meter
|
|
52
|
-
description: 'Count of failed IVC proof verifications',
|
|
53
|
-
valueType: ValueType.INT,
|
|
54
|
-
});
|
|
41
|
+
this.ivcFailureCount = createUpDownCounterWithDefault(meter, Metrics.IVC_VERIFIER_FAILURE_COUNT);
|
|
55
42
|
|
|
56
43
|
this.aggDurationMetrics = {
|
|
57
|
-
avg: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_AVG,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
max: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_MAX, {
|
|
63
|
-
valueType: ValueType.DOUBLE,
|
|
64
|
-
description: 'MAX ivc verification',
|
|
65
|
-
unit: 'ms',
|
|
66
|
-
}),
|
|
67
|
-
min: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_MIN, {
|
|
68
|
-
valueType: ValueType.DOUBLE,
|
|
69
|
-
description: 'MIN ivc verification',
|
|
70
|
-
unit: 'ms',
|
|
71
|
-
}),
|
|
72
|
-
p50: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_P50, {
|
|
73
|
-
valueType: ValueType.DOUBLE,
|
|
74
|
-
description: 'P50 ivc verification',
|
|
75
|
-
unit: 'ms',
|
|
76
|
-
}),
|
|
77
|
-
p90: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_P90, {
|
|
78
|
-
valueType: ValueType.DOUBLE,
|
|
79
|
-
description: 'P90 ivc verification',
|
|
80
|
-
unit: 'ms',
|
|
81
|
-
}),
|
|
44
|
+
avg: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_AVG),
|
|
45
|
+
max: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_MAX),
|
|
46
|
+
min: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_MIN),
|
|
47
|
+
p50: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_P50),
|
|
48
|
+
p90: meter.createObservableGauge(Metrics.IVC_VERIFIER_AGG_DURATION_P90),
|
|
82
49
|
};
|
|
83
50
|
|
|
84
51
|
meter.addBatchObservableCallback(this.aggregate, Object.values(this.aggDurationMetrics));
|
|
@@ -117,15 +84,15 @@ export class QueuedIVCVerifier implements ClientProtocolCircuitVerifier {
|
|
|
117
84
|
private metrics: IVCVerifierMetrics;
|
|
118
85
|
|
|
119
86
|
public constructor(
|
|
120
|
-
config: BBConfig,
|
|
121
87
|
private verifier: ClientProtocolCircuitVerifier,
|
|
88
|
+
concurrency: number,
|
|
122
89
|
private telemetry: TelemetryClient = getTelemetryClient(),
|
|
123
90
|
private logger = createLogger('bb-prover:queued_chonk_verifier'),
|
|
124
91
|
) {
|
|
125
92
|
this.metrics = new IVCVerifierMetrics(this.telemetry, 'QueuedIVCVerifier');
|
|
126
93
|
this.queue = new SerialQueue();
|
|
127
|
-
this.logger.info(`Starting QueuedIVCVerifier with ${
|
|
128
|
-
this.queue.start(
|
|
94
|
+
this.logger.info(`Starting QueuedIVCVerifier with ${concurrency} concurrent verifiers`);
|
|
95
|
+
this.queue.start(concurrency);
|
|
129
96
|
}
|
|
130
97
|
|
|
131
98
|
public async verifyProof(tx: Tx): Promise<IVCProofVerificationResult> {
|
|
@@ -134,7 +101,8 @@ export class QueuedIVCVerifier implements ClientProtocolCircuitVerifier {
|
|
|
134
101
|
return result;
|
|
135
102
|
}
|
|
136
103
|
|
|
137
|
-
stop(): Promise<void> {
|
|
138
|
-
|
|
104
|
+
async stop(): Promise<void> {
|
|
105
|
+
await this.queue.end();
|
|
106
|
+
await this.verifier.stop();
|
|
139
107
|
}
|
|
140
108
|
}
|