@aztec/bb-prover 0.0.0-test.1 → 0.0.1-commit.017a351

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 (130) hide show
  1. package/dest/avm_proving_tests/avm_proving_tester.d.ts +21 -20
  2. package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
  3. package/dest/avm_proving_tests/avm_proving_tester.js +196 -87
  4. package/dest/bb/bb_js_backend.d.ts +196 -0
  5. package/dest/bb/bb_js_backend.d.ts.map +1 -0
  6. package/dest/bb/bb_js_backend.js +379 -0
  7. package/dest/bb/bb_js_debug.d.ts +52 -0
  8. package/dest/bb/bb_js_debug.d.ts.map +1 -0
  9. package/dest/bb/bb_js_debug.js +176 -0
  10. package/dest/bb/cli.d.ts +1 -1
  11. package/dest/bb/file_names.d.ts +4 -0
  12. package/dest/bb/file_names.d.ts.map +1 -0
  13. package/dest/bb/file_names.js +5 -0
  14. package/dest/bb/index.d.ts +1 -1
  15. package/dest/config.d.ts +19 -1
  16. package/dest/config.d.ts.map +1 -1
  17. package/dest/honk.d.ts +3 -3
  18. package/dest/honk.d.ts.map +1 -1
  19. package/dest/honk.js +3 -2
  20. package/dest/index.d.ts +4 -2
  21. package/dest/index.d.ts.map +1 -1
  22. package/dest/index.js +3 -1
  23. package/dest/instrumentation.d.ts +3 -3
  24. package/dest/instrumentation.d.ts.map +1 -1
  25. package/dest/instrumentation.js +22 -46
  26. package/dest/prover/client/bb_private_kernel_prover.d.ts +46 -0
  27. package/dest/prover/client/bb_private_kernel_prover.d.ts.map +1 -0
  28. package/dest/prover/client/bb_private_kernel_prover.js +177 -0
  29. package/dest/prover/client/bundle.d.ts +6 -0
  30. package/dest/prover/client/bundle.d.ts.map +1 -0
  31. package/dest/prover/client/bundle.js +7 -0
  32. package/dest/prover/client/lazy.d.ts +6 -0
  33. package/dest/prover/client/lazy.d.ts.map +1 -0
  34. package/dest/prover/client/lazy.js +7 -0
  35. package/dest/prover/index.d.ts +3 -4
  36. package/dest/prover/index.d.ts.map +1 -1
  37. package/dest/prover/index.js +2 -3
  38. package/dest/prover/proof_utils.d.ts +29 -0
  39. package/dest/prover/proof_utils.d.ts.map +1 -0
  40. package/dest/prover/proof_utils.js +95 -0
  41. package/dest/prover/server/bb_prover.d.ts +96 -0
  42. package/dest/prover/server/bb_prover.d.ts.map +1 -0
  43. package/dest/prover/server/bb_prover.js +841 -0
  44. package/dest/test/delay_values.d.ts +1 -1
  45. package/dest/test/delay_values.d.ts.map +1 -1
  46. package/dest/test/delay_values.js +37 -23
  47. package/dest/test/index.d.ts +2 -1
  48. package/dest/test/index.d.ts.map +1 -1
  49. package/dest/test/index.js +1 -0
  50. package/dest/test/test_circuit_prover.d.ts +27 -36
  51. package/dest/test/test_circuit_prover.d.ts.map +1 -1
  52. package/dest/test/test_circuit_prover.js +517 -88
  53. package/dest/test/test_verifier.d.ts +6 -3
  54. package/dest/test/test_verifier.d.ts.map +1 -1
  55. package/dest/test/test_verifier.js +23 -1
  56. package/dest/verification_key/verification_key_data.d.ts +1 -2
  57. package/dest/verification_key/verification_key_data.d.ts.map +1 -1
  58. package/dest/verification_key/verification_key_data.js +9 -34
  59. package/dest/verifier/batch_chonk_verifier.d.ts +56 -0
  60. package/dest/verifier/batch_chonk_verifier.d.ts.map +1 -0
  61. package/dest/verifier/batch_chonk_verifier.js +384 -0
  62. package/dest/verifier/bb_verifier.d.ts +9 -5
  63. package/dest/verifier/bb_verifier.d.ts.map +1 -1
  64. package/dest/verifier/bb_verifier.js +156 -49
  65. package/dest/verifier/index.d.ts +3 -1
  66. package/dest/verifier/index.d.ts.map +1 -1
  67. package/dest/verifier/index.js +2 -0
  68. package/dest/verifier/queued_chonk_verifier.d.ts +14 -0
  69. package/dest/verifier/queued_chonk_verifier.d.ts.map +1 -0
  70. package/dest/verifier/queued_chonk_verifier.js +102 -0
  71. package/package.json +38 -34
  72. package/src/avm_proving_tests/avm_proving_tester.ts +163 -126
  73. package/src/bb/bb_js_backend.ts +435 -0
  74. package/src/bb/bb_js_debug.ts +227 -0
  75. package/src/bb/file_names.ts +6 -0
  76. package/src/config.ts +18 -0
  77. package/src/honk.ts +3 -2
  78. package/src/index.ts +3 -1
  79. package/src/instrumentation.ts +22 -47
  80. package/src/prover/client/bb_private_kernel_prover.ts +423 -0
  81. package/src/prover/client/bundle.ts +10 -0
  82. package/src/prover/client/lazy.ts +10 -0
  83. package/src/prover/index.ts +2 -3
  84. package/src/prover/proof_utils.ts +155 -0
  85. package/src/prover/server/bb_prover.ts +713 -0
  86. package/src/test/delay_values.ts +38 -22
  87. package/src/test/index.ts +1 -0
  88. package/src/test/test_circuit_prover.ts +264 -154
  89. package/src/test/test_verifier.ts +15 -3
  90. package/src/verification_key/verification_key_data.ts +11 -31
  91. package/src/verifier/batch_chonk_verifier.ts +415 -0
  92. package/src/verifier/bb_verifier.ts +93 -76
  93. package/src/verifier/index.ts +2 -0
  94. package/src/verifier/queued_chonk_verifier.ts +108 -0
  95. package/dest/bb/execute.d.ts +0 -140
  96. package/dest/bb/execute.d.ts.map +0 -1
  97. package/dest/bb/execute.js +0 -780
  98. package/dest/prover/bb_native_private_kernel_prover.d.ts +0 -25
  99. package/dest/prover/bb_native_private_kernel_prover.d.ts.map +0 -1
  100. package/dest/prover/bb_native_private_kernel_prover.js +0 -69
  101. package/dest/prover/bb_private_kernel_prover.d.ts +0 -32
  102. package/dest/prover/bb_private_kernel_prover.d.ts.map +0 -1
  103. package/dest/prover/bb_private_kernel_prover.js +0 -109
  104. package/dest/prover/bb_prover.d.ts +0 -120
  105. package/dest/prover/bb_prover.d.ts.map +0 -1
  106. package/dest/prover/bb_prover.js +0 -423
  107. package/dest/prover/client_ivc_proof_utils.d.ts +0 -25
  108. package/dest/prover/client_ivc_proof_utils.d.ts.map +0 -1
  109. package/dest/prover/client_ivc_proof_utils.js +0 -43
  110. package/dest/stats.d.ts +0 -5
  111. package/dest/stats.d.ts.map +0 -1
  112. package/dest/stats.js +0 -62
  113. package/dest/wasm/bb_wasm_private_kernel_prover.d.ts +0 -17
  114. package/dest/wasm/bb_wasm_private_kernel_prover.d.ts.map +0 -1
  115. package/dest/wasm/bb_wasm_private_kernel_prover.js +0 -46
  116. package/dest/wasm/bundle.d.ts +0 -6
  117. package/dest/wasm/bundle.d.ts.map +0 -1
  118. package/dest/wasm/bundle.js +0 -8
  119. package/dest/wasm/lazy.d.ts +0 -6
  120. package/dest/wasm/lazy.d.ts.map +0 -1
  121. package/dest/wasm/lazy.js +0 -8
  122. package/src/bb/execute.ts +0 -853
  123. package/src/prover/bb_native_private_kernel_prover.ts +0 -119
  124. package/src/prover/bb_private_kernel_prover.ts +0 -249
  125. package/src/prover/bb_prover.ts +0 -781
  126. package/src/prover/client_ivc_proof_utils.ts +0 -42
  127. package/src/stats.ts +0 -64
  128. package/src/wasm/bb_wasm_private_kernel_prover.ts +0 -55
  129. package/src/wasm/bundle.ts +0 -11
  130. package/src/wasm/lazy.ts +0 -11
@@ -1,78 +1,124 @@
1
- import { PublicTxSimulationTester, type TestEnqueuedCall } from '@aztec/simulator/public/fixtures';
2
- import { SimpleContractDataSource, WorldStateDB } from '@aztec/simulator/server';
3
- import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
1
+ import type { AvmStat } from '@aztec/bb.js';
2
+ import { Timer } from '@aztec/foundation/timer';
3
+ import {
4
+ PublicTxSimulationTester,
5
+ SimpleContractDataSource,
6
+ type TestEnqueuedCall,
7
+ type TestExecutorMetrics,
8
+ type TestPrivateInsertions,
9
+ } from '@aztec/simulator/public/fixtures';
10
+ import type { PublicTxResult } from '@aztec/simulator/server';
11
+ import { AvmCircuitInputs, AvmCircuitPublicInputs, PublicSimulatorConfig } from '@aztec/stdlib/avm';
4
12
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
13
+ import type { Gas } from '@aztec/stdlib/gas';
5
14
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
6
- import { makeAvmCircuitInputs } from '@aztec/stdlib/testing';
7
- import { VerificationKeyData } from '@aztec/stdlib/vks';
15
+ import type { GlobalVariables } from '@aztec/stdlib/tx';
8
16
  import { NativeWorldStateService } from '@aztec/world-state';
9
17
 
10
- import fs from 'node:fs/promises';
11
- import { tmpdir } from 'node:os';
12
18
  import path from 'path';
13
19
 
14
- import {
15
- type BBResult,
16
- type BBSuccess,
17
- BB_RESULT,
18
- generateAvmProof,
19
- generateAvmProofV2,
20
- verifyAvmProof,
21
- verifyAvmProofV2,
22
- } from '../bb/execute.js';
23
- import { extractAvmVkData } from '../verification_key/verification_key_data.js';
24
-
25
- const BB_PATH = path.resolve('../../barretenberg/cpp/build/bin/bb');
20
+ import { BBJsFactory } from '../bb/bb_js_backend.js';
21
+
22
+ const BB_PATH = path.resolve('../../barretenberg/cpp/build/bin/bb-avm');
23
+
24
+ // Config with collectHints enabled for proving tests
25
+ const provingConfig: PublicSimulatorConfig = PublicSimulatorConfig.from({
26
+ skipFeeEnforcement: false,
27
+ collectCallMetadata: true, // For results.
28
+ collectDebugLogs: false,
29
+ collectHints: true, // Required for proving!
30
+ collectPublicInputs: true, // Required for proving!
31
+ collectStatistics: false,
32
+ });
26
33
 
27
34
  export class AvmProvingTester extends PublicTxSimulationTester {
35
+ private readonly bbJsFactory = new BBJsFactory(BB_PATH);
36
+
28
37
  constructor(
29
- private bbWorkingDirectory: string,
30
38
  private checkCircuitOnly: boolean,
31
- worldStateDB: WorldStateDB,
32
39
  contractDataSource: SimpleContractDataSource,
33
40
  merkleTrees: MerkleTreeWriteOperations,
41
+ globals?: GlobalVariables,
42
+ metrics?: TestExecutorMetrics,
34
43
  ) {
35
- super(worldStateDB, contractDataSource, merkleTrees);
44
+ // simulator factory is undefined because for proving, we use the default C++ simulator
45
+ super(merkleTrees, contractDataSource, globals, metrics, /*simulatorFactory=*/ undefined, provingConfig);
36
46
  }
37
47
 
38
- static override async create(checkCircuitOnly: boolean = false) {
39
- const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
40
-
48
+ static async new(
49
+ worldStateService: NativeWorldStateService, // make sure to close this later
50
+ checkCircuitOnly: boolean = false,
51
+ globals?: GlobalVariables,
52
+ metrics?: TestExecutorMetrics,
53
+ ) {
41
54
  const contractDataSource = new SimpleContractDataSource();
42
- const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
43
- const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
44
- return new AvmProvingTester(bbWorkingDirectory, checkCircuitOnly, worldStateDB, contractDataSource, merkleTrees);
55
+ const merkleTrees = await worldStateService.fork();
56
+ return new AvmProvingTester(checkCircuitOnly, contractDataSource, merkleTrees, globals, metrics);
45
57
  }
46
58
 
47
- async prove(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
48
- // Then we prove.
49
- const proofRes = await generateAvmProof(
50
- BB_PATH,
51
- this.bbWorkingDirectory,
52
- avmCircuitInputs,
53
- this.logger,
54
- this.checkCircuitOnly,
55
- );
56
- if (proofRes.status === BB_RESULT.FAILURE) {
57
- this.logger.error(`Proof generation failed: ${proofRes.reason}`);
59
+ /**
60
+ * Generate an AVM proof (or run check-circuit if configured). Records per-stage timings in the test metrics.
61
+ * Returns the in-memory proof fields on success; throws via jest expect() on failure.
62
+ */
63
+ async prove(avmCircuitInputs: AvmCircuitInputs, txLabel: string = 'unlabeledTx'): Promise<Uint8Array[]> {
64
+ const inputsBuffer = avmCircuitInputs.serializeWithMessagePack();
65
+
66
+ if (this.checkCircuitOnly) {
67
+ await using instance = await this.bbJsFactory.getInstance();
68
+ const { passed, stats } = await instance.checkAvmCircuit(inputsBuffer);
69
+ this.recordProverMetrics(stats, txLabel);
70
+ expect(passed).toBe(true);
71
+ return [];
58
72
  }
59
- return proofRes;
73
+
74
+ await using instance = await this.bbJsFactory.getInstance();
75
+ const { proof, stats } = await instance.generateAvmProof(inputsBuffer);
76
+ this.recordProverMetrics(stats, txLabel);
77
+ return proof;
60
78
  }
61
79
 
62
- async verify(proofRes: BBSuccess): Promise<BBResult> {
80
+ async verify(proof: Uint8Array[], publicInputs: AvmCircuitPublicInputs): Promise<void> {
63
81
  if (this.checkCircuitOnly) {
64
- // Skip verification if we're only checking the circuit.
65
- // Check-circuit doesn't generate a proof to verify.
66
- return proofRes;
82
+ // Check-circuit did not generate a proof; nothing to verify.
83
+ return;
67
84
  }
68
- // Then we test VK extraction and serialization.
69
- const succeededRes = proofRes as BBSuccess;
70
- const vkData = await extractAvmVkData(succeededRes.vkPath!);
71
- VerificationKeyData.fromBuffer(vkData.toBuffer());
72
-
73
- // Then we verify.
74
- const rawVkPath = path.join(succeededRes.vkPath!, 'vk');
75
- return await verifyAvmProof(BB_PATH, succeededRes.proofPath!, rawVkPath, this.logger);
85
+ const piBuffer = publicInputs.serializeWithMessagePack();
86
+ await using instance = await this.bbJsFactory.getInstance();
87
+ const { verified } = await instance.verifyAvmProof(proof, piBuffer);
88
+ expect(verified).toBe(true);
89
+ }
90
+
91
+ public async proveVerify(avmCircuitInputs: AvmCircuitInputs, txLabel: string = 'unlabeledTx') {
92
+ const proof = await this.prove(avmCircuitInputs, txLabel);
93
+ await this.verify(proof, avmCircuitInputs.publicInputs);
94
+ }
95
+
96
+ private recordProverMetrics(stats: AvmStat[], txLabel: string) {
97
+ // Build a lookup keyed on the stage name with the `_ms` suffix stripped, matching the legacy
98
+ // stdout-scraped shape. bb::avm2::Stats::time() stores keys with `_ms` appended.
99
+ const times: { [key: string]: number } = {};
100
+ for (const { name, valueMs } of stats) {
101
+ const key = name.endsWith('_ms') ? name.slice(0, -'_ms'.length) : name;
102
+ times[key] = valueMs;
103
+ }
104
+ if (Object.keys(times).length === 0) {
105
+ throw new Error('AVM response did not contain any proving-stage timings!');
106
+ }
107
+ // Hack to make labels match.
108
+ const txLabelWithCount = `${txLabel}/${this.txCount - 1}`;
109
+ // Cast because TS doesn't realize `metrics` is protected, not private on the parent class.
110
+ (this as any).metrics?.recordProverMetrics(txLabelWithCount, {
111
+ proverSimulationStepMs: times['simulation/all'],
112
+ proverProvingStepMs: times['proving/all'],
113
+ proverTraceGenerationStepMs: times['tracegen/all'],
114
+ traceGenerationInteractionsMs: times['tracegen/interactions'],
115
+ traceGenerationTracesMs: times['tracegen/traces'],
116
+ provingSumcheckMs: times['prove/sumcheck'],
117
+ provingPcsMs: times['prove/pcs_rounds'],
118
+ provingLogDerivativeInverseMs: times['prove/log_derivative_inverse_round'],
119
+ provingLogDerivativeInverseCommitmentsMs: times['prove/log_derivative_inverse_commitments_round'],
120
+ provingWireCommitmentsMs: times['prove/wire_commitments_round'],
121
+ });
76
122
  }
77
123
 
78
124
  public async simProveVerify(
@@ -82,89 +128,80 @@ export class AvmProvingTester extends PublicTxSimulationTester {
82
128
  teardownCall: TestEnqueuedCall | undefined,
83
129
  expectRevert: boolean | undefined,
84
130
  feePayer = sender,
85
- ) {
86
- const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer);
87
- expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
88
- const avmCircuitInputs = simRes.avmProvingRequest.inputs;
89
- const provingRes = await this.prove(avmCircuitInputs);
90
- expect(provingRes.status).toEqual(BB_RESULT.SUCCESS);
91
- const verificationRes = await this.verify(provingRes as BBSuccess);
92
- expect(verificationRes.status).toBe(BB_RESULT.SUCCESS);
93
- }
94
-
95
- public async simProveVerifyAppLogic(appCall: TestEnqueuedCall, expectRevert?: boolean) {
96
- const simRes = await this.simulateTx(/*sender=*/ AztecAddress.fromNumber(42), /*setupCalls=*/ [], [appCall]);
97
- expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
98
-
99
- const avmCircuitInputs = simRes.avmProvingRequest.inputs;
100
- const provingRes = await this.prove(avmCircuitInputs);
101
- expect(provingRes.status).toEqual(BB_RESULT.SUCCESS);
102
-
103
- const verificationRes = await this.verify(provingRes as BBSuccess);
104
- expect(verificationRes.status).toBe(BB_RESULT.SUCCESS);
105
- }
106
- }
131
+ privateInsertions?: TestPrivateInsertions,
132
+ txLabel: string = 'unlabeledTx',
133
+ disableRevertCheck: boolean = false,
134
+ gasLimits?: Gas,
135
+ ): Promise<PublicTxResult> {
136
+ const simTimer = new Timer();
137
+ const simRes = await this.simulateTx(
138
+ sender,
139
+ setupCalls,
140
+ appCalls,
141
+ teardownCall,
142
+ feePayer,
143
+ privateInsertions,
144
+ txLabel,
145
+ gasLimits,
146
+ );
147
+ const simDuration = simTimer.ms();
148
+ this.logger.info(`Simulation took ${simDuration} ms for tx ${txLabel}`);
107
149
 
108
- export class AvmProvingTesterV2 extends PublicTxSimulationTester {
109
- constructor(
110
- private bbWorkingDirectory: string,
111
- worldStateDB: WorldStateDB,
112
- contractDataSource: SimpleContractDataSource,
113
- merkleTrees: MerkleTreeWriteOperations,
114
- ) {
115
- super(worldStateDB, contractDataSource, merkleTrees);
116
- }
150
+ if (!disableRevertCheck) {
151
+ expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
152
+ }
117
153
 
118
- static override async create() {
119
- const bbWorkingDirectory = await fs.mkdtemp(path.join(tmpdir(), 'bb-'));
154
+ const opString = this.checkCircuitOnly ? 'Check circuit' : 'Proving and verification';
120
155
 
121
- const contractDataSource = new SimpleContractDataSource();
122
- const merkleTrees = await (await NativeWorldStateService.tmp()).fork();
123
- const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
124
- return new AvmProvingTesterV2(bbWorkingDirectory, worldStateDB, contractDataSource, merkleTrees);
125
- }
156
+ const avmCircuitInputs = new AvmCircuitInputs(simRes.hints!, simRes.publicInputs!);
157
+ const timer = new Timer();
158
+ await this.proveVerify(avmCircuitInputs, txLabel);
159
+ this.logger.info(`${opString} took ${timer.ms()} ms for tx ${txLabel}`);
126
160
 
127
- async proveV2(avmCircuitInputs: AvmCircuitInputs): Promise<BBResult> {
128
- // Then we prove.
129
- const proofRes = await generateAvmProofV2(BB_PATH, this.bbWorkingDirectory, avmCircuitInputs, this.logger);
130
- if (proofRes.status === BB_RESULT.FAILURE) {
131
- this.logger.error(`Proof generation failed: ${proofRes.reason}`);
132
- }
133
- expect(proofRes.status).toEqual(BB_RESULT.SUCCESS);
134
- return proofRes as BBSuccess;
161
+ return simRes;
135
162
  }
136
163
 
137
- async verifyV2(proofRes: BBSuccess): Promise<BBResult> {
138
- // TODO: Placeholder for now. They get ignored in C++.
139
- const inputs = await makeAvmCircuitInputs();
140
-
141
- const rawVkPath = path.join(proofRes.vkPath!, 'vk');
142
- return await verifyAvmProofV2(
143
- BB_PATH,
144
- this.bbWorkingDirectory,
145
- proofRes.proofPath!,
146
- inputs.publicInputs,
147
- rawVkPath,
148
- this.logger,
164
+ public override async executeTxWithLabel(
165
+ txLabel: string,
166
+ sender: AztecAddress,
167
+ setupCalls?: TestEnqueuedCall[],
168
+ appCalls?: TestEnqueuedCall[],
169
+ teardownCall?: TestEnqueuedCall,
170
+ feePayer?: AztecAddress,
171
+ privateInsertions?: TestPrivateInsertions,
172
+ gasLimits?: Gas,
173
+ ) {
174
+ return await this.simProveVerify(
175
+ sender,
176
+ setupCalls ?? [],
177
+ appCalls ?? [],
178
+ teardownCall,
179
+ undefined,
180
+ feePayer,
181
+ privateInsertions,
182
+ txLabel,
183
+ true,
184
+ gasLimits,
149
185
  );
150
186
  }
151
187
 
152
- public async simProveVerifyV2(
153
- sender: AztecAddress,
154
- setupCalls: TestEnqueuedCall[],
155
- appCalls: TestEnqueuedCall[],
156
- teardownCall: TestEnqueuedCall | undefined,
157
- expectRevert: boolean | undefined,
158
- feePayer = sender,
188
+ public async simProveVerifyAppLogic(
189
+ appCall: TestEnqueuedCall,
190
+ expectRevert?: boolean,
191
+ txLabel: string = 'unlabeledTx',
192
+ gasLimits?: Gas,
159
193
  ) {
160
- const simRes = await this.simulateTx(sender, setupCalls, appCalls, teardownCall, feePayer);
161
- expect(simRes.revertCode.isOK()).toBe(expectRevert ? false : true);
162
-
163
- const avmCircuitInputs = simRes.avmProvingRequest.inputs;
164
- const provingRes = await this.proveV2(avmCircuitInputs);
165
- expect(provingRes.status).toEqual(BB_RESULT.SUCCESS);
166
-
167
- const verificationRes = await this.verifyV2(provingRes as BBSuccess);
168
- expect(verificationRes.status).toBe(BB_RESULT.SUCCESS);
194
+ await this.simProveVerify(
195
+ /*sender=*/ AztecAddress.fromNumber(42),
196
+ /*setupCalls=*/ [],
197
+ [appCall],
198
+ undefined,
199
+ expectRevert,
200
+ /*feePayer=*/ undefined,
201
+ /*privateInsertions=*/ undefined,
202
+ txLabel,
203
+ /*disableRevertCheck=*/ false,
204
+ gasLimits,
205
+ );
169
206
  }
170
207
  }