@aztec/bb-prover 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1

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 (90) hide show
  1. package/dest/avm_proving_tests/avm_proving_tester.d.ts +7 -6
  2. package/dest/avm_proving_tests/avm_proving_tester.d.ts.map +1 -1
  3. package/dest/avm_proving_tests/avm_proving_tester.js +33 -13
  4. package/dest/bb/cli.d.ts +1 -1
  5. package/dest/bb/execute.d.ts +5 -13
  6. package/dest/bb/execute.d.ts.map +1 -1
  7. package/dest/bb/execute.js +30 -92
  8. package/dest/bb/index.d.ts +1 -1
  9. package/dest/config.d.ts +1 -1
  10. package/dest/honk.d.ts +2 -2
  11. package/dest/honk.js +2 -2
  12. package/dest/index.d.ts +1 -1
  13. package/dest/instrumentation.d.ts +3 -3
  14. package/dest/instrumentation.d.ts.map +1 -1
  15. package/dest/prover/client/bb_private_kernel_prover.d.ts +12 -6
  16. package/dest/prover/client/bb_private_kernel_prover.d.ts.map +1 -1
  17. package/dest/prover/client/bb_private_kernel_prover.js +36 -7
  18. package/dest/prover/client/bundle.d.ts +6 -0
  19. package/dest/prover/client/bundle.d.ts.map +1 -0
  20. package/dest/prover/client/bundle.js +7 -0
  21. package/dest/prover/client/lazy.d.ts +6 -0
  22. package/dest/prover/client/lazy.d.ts.map +1 -0
  23. package/dest/prover/client/lazy.js +7 -0
  24. package/dest/prover/index.d.ts +1 -1
  25. package/dest/prover/proof_utils.d.ts +9 -9
  26. package/dest/prover/proof_utils.d.ts.map +1 -1
  27. package/dest/prover/proof_utils.js +42 -25
  28. package/dest/prover/server/bb_prover.d.ts +22 -42
  29. package/dest/prover/server/bb_prover.d.ts.map +1 -1
  30. package/dest/prover/server/bb_prover.js +66 -143
  31. package/dest/test/delay_values.d.ts +1 -1
  32. package/dest/test/delay_values.d.ts.map +1 -1
  33. package/dest/test/delay_values.js +33 -23
  34. package/dest/test/index.d.ts +1 -1
  35. package/dest/test/test_circuit_prover.d.ts +21 -31
  36. package/dest/test/test_circuit_prover.d.ts.map +1 -1
  37. package/dest/test/test_circuit_prover.js +74 -56
  38. package/dest/test/test_verifier.d.ts +3 -1
  39. package/dest/test/test_verifier.d.ts.map +1 -1
  40. package/dest/test/test_verifier.js +15 -0
  41. package/dest/verification_key/verification_key_data.d.ts +1 -1
  42. package/dest/verification_key/verification_key_data.js +1 -1
  43. package/dest/verifier/bb_verifier.d.ts +3 -5
  44. package/dest/verifier/bb_verifier.d.ts.map +1 -1
  45. package/dest/verifier/bb_verifier.js +24 -26
  46. package/dest/verifier/index.d.ts +2 -2
  47. package/dest/verifier/index.d.ts.map +1 -1
  48. package/dest/verifier/index.js +1 -1
  49. package/dest/verifier/queued_chonk_verifier.d.ts +15 -0
  50. package/dest/verifier/queued_chonk_verifier.d.ts.map +1 -0
  51. package/dest/verifier/{queued_ivc_verifier.js → queued_chonk_verifier.js} +3 -3
  52. package/package.json +23 -23
  53. package/src/avm_proving_tests/avm_proving_tester.ts +43 -19
  54. package/src/bb/execute.ts +20 -90
  55. package/src/honk.ts +1 -1
  56. package/src/instrumentation.ts +2 -2
  57. package/src/prover/client/bb_private_kernel_prover.ts +49 -10
  58. package/src/prover/client/bundle.ts +10 -0
  59. package/src/prover/client/lazy.ts +10 -0
  60. package/src/prover/proof_utils.ts +53 -31
  61. package/src/prover/server/bb_prover.ts +231 -288
  62. package/src/test/delay_values.ts +33 -23
  63. package/src/test/test_circuit_prover.ts +219 -142
  64. package/src/test/test_verifier.ts +8 -0
  65. package/src/verification_key/verification_key_data.ts +1 -1
  66. package/src/verifier/bb_verifier.ts +34 -33
  67. package/src/verifier/index.ts +1 -1
  68. package/src/verifier/{queued_ivc_verifier.ts → queued_chonk_verifier.ts} +3 -3
  69. package/dest/prover/client/native/bb_native_private_kernel_prover.d.ts +0 -23
  70. package/dest/prover/client/native/bb_native_private_kernel_prover.d.ts.map +0 -1
  71. package/dest/prover/client/native/bb_native_private_kernel_prover.js +0 -66
  72. package/dest/prover/client/wasm/bb_wasm_private_kernel_prover.d.ts +0 -15
  73. package/dest/prover/client/wasm/bb_wasm_private_kernel_prover.d.ts.map +0 -1
  74. package/dest/prover/client/wasm/bb_wasm_private_kernel_prover.js +0 -48
  75. package/dest/prover/client/wasm/bundle.d.ts +0 -6
  76. package/dest/prover/client/wasm/bundle.d.ts.map +0 -1
  77. package/dest/prover/client/wasm/bundle.js +0 -8
  78. package/dest/prover/client/wasm/lazy.d.ts +0 -6
  79. package/dest/prover/client/wasm/lazy.d.ts.map +0 -1
  80. package/dest/prover/client/wasm/lazy.js +0 -8
  81. package/dest/stats.d.ts +0 -4
  82. package/dest/stats.d.ts.map +0 -1
  83. package/dest/stats.js +0 -45
  84. package/dest/verifier/queued_ivc_verifier.d.ts +0 -15
  85. package/dest/verifier/queued_ivc_verifier.d.ts.map +0 -1
  86. package/src/prover/client/native/bb_native_private_kernel_prover.ts +0 -105
  87. package/src/prover/client/wasm/bb_wasm_private_kernel_prover.ts +0 -60
  88. package/src/prover/client/wasm/bundle.ts +0 -11
  89. package/src/prover/client/wasm/lazy.ts +0 -11
  90. package/src/stats.ts +0 -47
@@ -4,29 +4,27 @@ function _ts_decorate(decorators, target, key, desc) {
4
4
  else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  }
7
- import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PAIRING_POINTS_SIZE, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, ULTRA_KECCAK_PROOF_LENGTH } from '@aztec/constants';
8
- import { Fr } from '@aztec/foundation/fields';
7
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, PAIRING_POINTS_SIZE, RECURSIVE_PROOF_LENGTH, ULTRA_KECCAK_PROOF_LENGTH } from '@aztec/constants';
8
+ import { Fr } from '@aztec/foundation/curves/bn254';
9
9
  import { runInDirectory } from '@aztec/foundation/fs';
10
10
  import { createLogger } from '@aztec/foundation/log';
11
11
  import { BufferReader } from '@aztec/foundation/serialize';
12
- import { convertBaseParityInputsToWitnessMap, convertBaseParityOutputsFromWitnessMap, convertBlockMergeRollupInputsToWitnessMap, convertBlockMergeRollupOutputsFromWitnessMap, convertBlockRootRollupInputsToWitnessMap, convertBlockRootRollupOutputsFromWitnessMap, convertEmptyBlockRootRollupInputsToWitnessMap, convertEmptyBlockRootRollupOutputsFromWitnessMap, convertMergeRollupInputsToWitnessMap, convertMergeRollupOutputsFromWitnessMap, convertPaddingBlockRootRollupInputsToWitnessMap, convertPaddingBlockRootRollupOutputsFromWitnessMap, convertPrivateBaseRollupInputsToWitnessMap, convertPrivateBaseRollupOutputsFromWitnessMap, convertPublicBaseRollupInputsToWitnessMap, convertPublicBaseRollupOutputsFromWitnessMap, convertRootParityInputsToWitnessMap, convertRootParityOutputsFromWitnessMap, convertRootRollupInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap, convertSingleTxBlockRootRollupInputsToWitnessMap, convertSingleTxBlockRootRollupOutputsFromWitnessMap, getServerCircuitArtifact } from '@aztec/noir-protocol-circuits-types/server';
12
+ import { convertBlockMergeRollupOutputsFromWitnessMap, convertBlockMergeRollupPrivateInputsToWitnessMap, convertBlockRootEmptyTxFirstRollupOutputsFromWitnessMap, convertBlockRootEmptyTxFirstRollupPrivateInputsToWitnessMap, convertBlockRootFirstRollupOutputsFromWitnessMap, convertBlockRootFirstRollupPrivateInputsToWitnessMap, convertBlockRootRollupOutputsFromWitnessMap, convertBlockRootRollupPrivateInputsToWitnessMap, convertBlockRootSingleTxFirstRollupOutputsFromWitnessMap, convertBlockRootSingleTxFirstRollupPrivateInputsToWitnessMap, convertBlockRootSingleTxRollupOutputsFromWitnessMap, convertBlockRootSingleTxRollupPrivateInputsToWitnessMap, convertCheckpointMergeRollupOutputsFromWitnessMap, convertCheckpointMergeRollupPrivateInputsToWitnessMap, convertCheckpointPaddingRollupOutputsFromWitnessMap, convertCheckpointPaddingRollupPrivateInputsToWitnessMap, convertCheckpointRootRollupOutputsFromWitnessMap, convertCheckpointRootRollupPrivateInputsToWitnessMap, convertCheckpointRootSingleBlockRollupOutputsFromWitnessMap, convertCheckpointRootSingleBlockRollupPrivateInputsToWitnessMap, convertParityBaseOutputsFromWitnessMap, convertParityBasePrivateInputsToWitnessMap, convertParityRootOutputsFromWitnessMap, convertParityRootPrivateInputsToWitnessMap, convertPrivateTxBaseRollupOutputsFromWitnessMap, convertPrivateTxBaseRollupPrivateInputsToWitnessMap, convertPublicChonkVerifierOutputsFromWitnessMap, convertPublicChonkVerifierPrivateInputsToWitnessMap, convertPublicTxBaseRollupOutputsFromWitnessMap, convertPublicTxBaseRollupPrivateInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap, convertRootRollupPrivateInputsToWitnessMap, convertTxMergeRollupOutputsFromWitnessMap, convertTxMergeRollupPrivateInputsToWitnessMap, getServerCircuitArtifact } from '@aztec/noir-protocol-circuits-types/server';
13
13
  import { ServerCircuitVks } from '@aztec/noir-protocol-circuits-types/server/vks';
14
+ import { mapProtocolArtifactNameToCircuitName } from '@aztec/noir-protocol-circuits-types/types';
14
15
  import { NativeACVMSimulator } from '@aztec/simulator/server';
15
16
  import { ProvingError } from '@aztec/stdlib/errors';
16
17
  import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
17
18
  import { Proof, RecursiveProof, makeRecursiveProofFromBinary } from '@aztec/stdlib/proofs';
18
19
  import { enhanceProofWithPiValidationFlag } from '@aztec/stdlib/rollup';
19
20
  import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
20
- import crypto from 'crypto';
21
21
  import { promises as fs } from 'fs';
22
22
  import * as path from 'path';
23
- import { BB_RESULT, PROOF_FILENAME, PUBLIC_INPUTS_FILENAME, VK_FILENAME, generateAvmProof, generateProof, generateTubeProof, verifyAvmProof, verifyProof } from '../../bb/execute.js';
23
+ import { BB_RESULT, PROOF_FILENAME, PUBLIC_INPUTS_FILENAME, VK_FILENAME, generateAvmProof, generateProof, verifyAvmProof, verifyProof } from '../../bb/execute.js';
24
24
  import { getUltraHonkFlavorForCircuit } from '../../honk.js';
25
25
  import { ProverInstrumentation } from '../../instrumentation.js';
26
- import { mapProtocolArtifactNameToCircuitName } from '../../stats.js';
27
- import { extractAvmVkData, extractVkData } from '../../verification_key/verification_key_data.js';
28
- import { PRIVATE_TAIL_CIVC_VK, PUBLIC_TAIL_CIVC_VK } from '../../verifier/bb_verifier.js';
29
- import { readProofAsFields, writeClientIVCProofToOutputDirectory } from '../proof_utils.js';
26
+ import { extractAvmVkData } from '../../verification_key/verification_key_data.js';
27
+ import { readProofsFromOutputDirectory } from '../proof_utils.js';
30
28
  const logger = createLogger('bb-prover');
31
29
  /**
32
30
  * Prover implementation that uses barretenberg native proving
@@ -57,21 +55,15 @@ const logger = createLogger('bb-prover');
57
55
  * Simulates the base parity circuit from its inputs.
58
56
  * @param inputs - Inputs to the circuit.
59
57
  * @returns The public inputs of the parity circuit.
60
- */ async getBaseParityProof(inputs) {
61
- const { circuitOutput, proof } = await this.createRecursiveProof(inputs, 'BaseParityArtifact', RECURSIVE_PROOF_LENGTH, convertBaseParityInputsToWitnessMap, convertBaseParityOutputsFromWitnessMap);
62
- const verificationKey = this.getVerificationKeyDataForCircuit('BaseParityArtifact');
63
- await this.verifyProof('BaseParityArtifact', proof.binaryProof);
64
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
58
+ */ getBaseParityProof(inputs) {
59
+ return this.createRecursiveProofAndVerify(inputs, 'ParityBaseArtifact', RECURSIVE_PROOF_LENGTH, convertParityBasePrivateInputsToWitnessMap, convertParityBaseOutputsFromWitnessMap);
65
60
  }
66
61
  /**
67
62
  * Simulates the root parity circuit from its inputs.
68
63
  * @param inputs - Inputs to the circuit.
69
64
  * @returns The public inputs of the parity circuit.
70
- */ async getRootParityProof(inputs) {
71
- const { circuitOutput, proof } = await this.createRecursiveProof(inputs, 'RootParityArtifact', NESTED_RECURSIVE_PROOF_LENGTH, convertRootParityInputsToWitnessMap, convertRootParityOutputsFromWitnessMap);
72
- const verificationKey = this.getVerificationKeyDataForCircuit('RootParityArtifact');
73
- await this.verifyProof('RootParityArtifact', proof.binaryProof);
74
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
65
+ */ getRootParityProof(inputs) {
66
+ return this.createRecursiveProofAndVerify(inputs, 'ParityRootArtifact', NESTED_RECURSIVE_PROOF_LENGTH, convertParityRootPrivateInputsToWitnessMap, convertParityRootOutputsFromWitnessMap);
75
67
  }
76
68
  /**
77
69
  * Creates an AVM proof and verifies it.
@@ -84,92 +76,83 @@ const logger = createLogger('bb-prover');
84
76
  proofAndVk.proof.proof = enhanceProofWithPiValidationFlag(proofAndVk.proof.proof, skipPublicInputsValidation);
85
77
  return proofAndVk;
86
78
  }
79
+ async getPublicChonkVerifierProof(inputs) {
80
+ const artifactName = 'PublicChonkVerifier';
81
+ const { circuitOutput, proof } = await this.createRecursiveProof(inputs, artifactName, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertPublicChonkVerifierPrivateInputsToWitnessMap, convertPublicChonkVerifierOutputsFromWitnessMap);
82
+ const verificationKey = this.getVerificationKeyDataForCircuit(artifactName);
83
+ await this.verifyProof(artifactName, proof.binaryProof);
84
+ return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
85
+ }
87
86
  /**
88
87
  * Simulates the base rollup circuit from its inputs.
89
88
  * @param inputs - Inputs to the circuit.
90
89
  * @returns The public inputs as outputs of the simulation.
91
- */ async getPrivateBaseRollupProof(inputs) {
92
- const artifactName = 'PrivateBaseRollupArtifact';
93
- const { circuitOutput, proof } = await this.createRecursiveProof(inputs, artifactName, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertPrivateBaseRollupInputsToWitnessMap, convertPrivateBaseRollupOutputsFromWitnessMap);
94
- const verificationKey = this.getVerificationKeyDataForCircuit(artifactName);
95
- await this.verifyProof(artifactName, proof.binaryProof);
96
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
90
+ */ getPrivateTxBaseRollupProof(inputs) {
91
+ return this.createRecursiveProofAndVerify(inputs, 'PrivateTxBaseRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertPrivateTxBaseRollupPrivateInputsToWitnessMap, convertPrivateTxBaseRollupOutputsFromWitnessMap);
97
92
  }
98
93
  /**
99
94
  * Requests that the public kernel tail circuit be executed and the proof generated
100
95
  * @param kernelRequest - The object encapsulating the request for a proof
101
96
  * @returns The requested circuit's public inputs and proof
102
- */ async getPublicBaseRollupProof(inputs) {
103
- const artifactName = 'PublicBaseRollupArtifact';
104
- const { circuitOutput, proof } = await this.createRecursiveProof(inputs, artifactName, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertPublicBaseRollupInputsToWitnessMap, convertPublicBaseRollupOutputsFromWitnessMap);
105
- const verificationKey = this.getVerificationKeyDataForCircuit(artifactName);
106
- await this.verifyProof(artifactName, proof.binaryProof);
107
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
97
+ */ getPublicTxBaseRollupProof(inputs) {
98
+ return this.createRecursiveProofAndVerify(inputs, 'PublicTxBaseRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertPublicTxBaseRollupPrivateInputsToWitnessMap, convertPublicTxBaseRollupOutputsFromWitnessMap);
108
99
  }
109
100
  /**
110
101
  * Simulates the merge rollup circuit from its inputs.
111
102
  * @param input - Inputs to the circuit.
112
103
  * @returns The public inputs as outputs of the simulation.
113
- */ async getMergeRollupProof(input) {
114
- const { circuitOutput, proof } = await this.createRecursiveProof(input, 'MergeRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertMergeRollupInputsToWitnessMap, convertMergeRollupOutputsFromWitnessMap);
115
- const verificationKey = this.getVerificationKeyDataForCircuit('MergeRollupArtifact');
116
- await this.verifyProof('MergeRollupArtifact', proof.binaryProof);
117
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
104
+ */ getTxMergeRollupProof(input) {
105
+ return this.createRecursiveProofAndVerify(input, 'TxMergeRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertTxMergeRollupPrivateInputsToWitnessMap, convertTxMergeRollupOutputsFromWitnessMap);
118
106
  }
119
- /**
120
- * Simulates the block root rollup circuit from its inputs.
121
- * @param input - Inputs to the circuit.
122
- * @returns The public inputs as outputs of the simulation.
123
- */ async getBlockRootRollupProof(input) {
124
- const { circuitOutput, proof } = await this.createRecursiveProof(input, 'BlockRootRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockRootRollupInputsToWitnessMap, convertBlockRootRollupOutputsFromWitnessMap);
125
- const verificationKey = this.getVerificationKeyDataForCircuit('BlockRootRollupArtifact');
126
- await this.verifyProof('BlockRootRollupArtifact', proof.binaryProof);
127
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
107
+ getBlockRootFirstRollupProof(input) {
108
+ return this.createRecursiveProofAndVerify(input, 'BlockRootFirstRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockRootFirstRollupPrivateInputsToWitnessMap, convertBlockRootFirstRollupOutputsFromWitnessMap);
128
109
  }
129
- async getSingleTxBlockRootRollupProof(input) {
130
- const { circuitOutput, proof } = await this.createRecursiveProof(input, 'SingleTxBlockRootRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertSingleTxBlockRootRollupInputsToWitnessMap, convertSingleTxBlockRootRollupOutputsFromWitnessMap);
131
- const verificationKey = this.getVerificationKeyDataForCircuit('SingleTxBlockRootRollupArtifact');
132
- await this.verifyProof('SingleTxBlockRootRollupArtifact', proof.binaryProof);
133
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
110
+ getBlockRootSingleTxFirstRollupProof(input) {
111
+ return this.createRecursiveProofAndVerify(input, 'BlockRootSingleTxFirstRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockRootSingleTxFirstRollupPrivateInputsToWitnessMap, convertBlockRootSingleTxFirstRollupOutputsFromWitnessMap);
134
112
  }
135
- /**
136
- * Simulates the empty block root rollup circuit from its inputs.
137
- * @param input - Inputs to the circuit.
138
- * @returns The public inputs as outputs of the simulation.
139
- */ async getEmptyBlockRootRollupProof(input) {
140
- const { circuitOutput, proof } = await this.createRecursiveProof(input, 'EmptyBlockRootRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertEmptyBlockRootRollupInputsToWitnessMap, convertEmptyBlockRootRollupOutputsFromWitnessMap);
141
- const verificationKey = this.getVerificationKeyDataForCircuit('EmptyBlockRootRollupArtifact');
142
- await this.verifyProof('EmptyBlockRootRollupArtifact', proof.binaryProof);
143
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
113
+ getBlockRootEmptyTxFirstRollupProof(input) {
114
+ return this.createRecursiveProofAndVerify(input, 'BlockRootEmptyTxFirstRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockRootEmptyTxFirstRollupPrivateInputsToWitnessMap, convertBlockRootEmptyTxFirstRollupOutputsFromWitnessMap);
144
115
  }
145
- async getPaddingBlockRootRollupProof(input) {
146
- const { circuitOutput, proof } = await this.createRecursiveProof(input, 'PaddingBlockRootRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertPaddingBlockRootRollupInputsToWitnessMap, convertPaddingBlockRootRollupOutputsFromWitnessMap);
147
- const verificationKey = this.getVerificationKeyDataForCircuit('PaddingBlockRootRollupArtifact');
148
- await this.verifyProof('PaddingBlockRootRollupArtifact', proof.binaryProof);
149
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
116
+ getBlockRootRollupProof(input) {
117
+ return this.createRecursiveProofAndVerify(input, 'BlockRootRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockRootRollupPrivateInputsToWitnessMap, convertBlockRootRollupOutputsFromWitnessMap);
150
118
  }
151
- /**
152
- * Simulates the block merge rollup circuit from its inputs.
153
- * @param input - Inputs to the circuit.
154
- * @returns The public inputs as outputs of the simulation.
155
- */ async getBlockMergeRollupProof(input) {
156
- const { circuitOutput, proof } = await this.createRecursiveProof(input, 'BlockMergeRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockMergeRollupInputsToWitnessMap, convertBlockMergeRollupOutputsFromWitnessMap);
157
- const verificationKey = this.getVerificationKeyDataForCircuit('BlockMergeRollupArtifact');
158
- await this.verifyProof('BlockMergeRollupArtifact', proof.binaryProof);
159
- return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
119
+ getBlockRootSingleTxRollupProof(input) {
120
+ return this.createRecursiveProofAndVerify(input, 'BlockRootSingleTxRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockRootSingleTxRollupPrivateInputsToWitnessMap, convertBlockRootSingleTxRollupOutputsFromWitnessMap);
121
+ }
122
+ getBlockMergeRollupProof(input) {
123
+ return this.createRecursiveProofAndVerify(input, 'BlockMergeRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertBlockMergeRollupPrivateInputsToWitnessMap, convertBlockMergeRollupOutputsFromWitnessMap);
124
+ }
125
+ getCheckpointRootRollupProof(input) {
126
+ return this.createRecursiveProofAndVerify(input, 'CheckpointRootRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertCheckpointRootRollupPrivateInputsToWitnessMap, convertCheckpointRootRollupOutputsFromWitnessMap);
127
+ }
128
+ getCheckpointRootSingleBlockRollupProof(input) {
129
+ return this.createRecursiveProofAndVerify(input, 'CheckpointRootSingleBlockRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertCheckpointRootSingleBlockRollupPrivateInputsToWitnessMap, convertCheckpointRootSingleBlockRollupOutputsFromWitnessMap);
130
+ }
131
+ getCheckpointPaddingRollupProof(input) {
132
+ return this.createRecursiveProofAndVerify(input, 'CheckpointPaddingRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertCheckpointPaddingRollupPrivateInputsToWitnessMap, convertCheckpointPaddingRollupOutputsFromWitnessMap);
133
+ }
134
+ getCheckpointMergeRollupProof(input) {
135
+ return this.createRecursiveProofAndVerify(input, 'CheckpointMergeRollupArtifact', NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, convertCheckpointMergeRollupPrivateInputsToWitnessMap, convertCheckpointMergeRollupOutputsFromWitnessMap);
160
136
  }
161
137
  /**
162
138
  * Simulates the root rollup circuit from its inputs.
163
139
  * @param input - Inputs to the circuit.
164
140
  * @returns The public inputs as outputs of the simulation.
165
141
  */ async getRootRollupProof(input) {
166
- const { circuitOutput, proof } = await this.createProof(input, 'RootRollupArtifact', convertRootRollupInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap);
167
- const recursiveProof = makeRecursiveProofFromBinary(proof, NESTED_RECURSIVE_PROOF_LENGTH);
168
- const verificationKey = this.getVerificationKeyDataForCircuit('RootRollupArtifact');
169
- await this.verifyProof('RootRollupArtifact', proof);
142
+ const { proof, ...output } = await this.createRecursiveProofAndVerify(input, 'RootRollupArtifact', ULTRA_KECCAK_PROOF_LENGTH, convertRootRollupPrivateInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap);
143
+ const recursiveProof = makeRecursiveProofFromBinary(proof.binaryProof, NESTED_RECURSIVE_PROOF_LENGTH);
170
144
  // TODO(https://github.com/AztecProtocol/aztec-packages/issues/13188): Remove this hack.
171
145
  recursiveProof.binaryProof.numPublicInputs += PAIRING_POINTS_SIZE;
172
- return makePublicInputsAndRecursiveProof(circuitOutput, recursiveProof, verificationKey);
146
+ return {
147
+ ...output,
148
+ proof: recursiveProof
149
+ };
150
+ }
151
+ async createRecursiveProofAndVerify(input, artifactName, proofLength, convertInput, convertOutput) {
152
+ const { circuitOutput, proof } = await this.createRecursiveProof(input, artifactName, proofLength, convertInput, convertOutput);
153
+ await this.verifyProof(artifactName, proof.binaryProof);
154
+ const verificationKey = this.getVerificationKeyDataForCircuit(artifactName);
155
+ return makePublicInputsAndRecursiveProof(circuitOutput, proof, verificationKey);
173
156
  }
174
157
  async generateProofWithBB(input, circuitType, convertInput, convertOutput, workingDirectory) {
175
158
  // Have the ACVM write the partial witness here
@@ -196,7 +179,7 @@ const logger = createLogger('bb-prover');
196
179
  });
197
180
  // Now prove the circuit from the generated witness
198
181
  logger.debug(`Proving ${circuitType}...`);
199
- const provingResult = await generateProof(this.config.bbBinaryPath, workingDirectory, circuitType, Buffer.from(artifact.bytecode, 'base64'), outputWitnessFile, getUltraHonkFlavorForCircuit(circuitType), logger);
182
+ const provingResult = await generateProof(this.config.bbBinaryPath, workingDirectory, circuitType, Buffer.from(artifact.bytecode, 'base64'), this.getVerificationKeyDataForCircuit(circuitType).keyAsBytes, outputWitnessFile, getUltraHonkFlavorForCircuit(circuitType), logger);
200
183
  if (provingResult.status === BB_RESULT.FAILURE) {
201
184
  logger.error(`Failed to generate proof for ${circuitType}: ${provingResult.reason}`);
202
185
  throw new ProvingError(provingResult.reason, provingResult, provingResult.retry);
@@ -206,35 +189,6 @@ const logger = createLogger('bb-prover');
206
189
  provingResult
207
190
  };
208
191
  }
209
- async createProof(input, circuitType, convertInput, convertOutput) {
210
- const operation = async (bbWorkingDirectory)=>{
211
- const { provingResult, circuitOutput: output } = await this.generateProofWithBB(input, circuitType, convertInput, convertOutput, bbWorkingDirectory);
212
- const vkData = this.getVerificationKeyDataForCircuit(circuitType);
213
- const PROOF_LENGTH = circuitType == 'RootRollupArtifact' ? ULTRA_KECCAK_PROOF_LENGTH : RECURSIVE_PROOF_LENGTH;
214
- const proof = await readProofAsFields(provingResult.proofPath, vkData, PROOF_LENGTH, logger);
215
- const circuitName = mapProtocolArtifactNameToCircuitName(circuitType);
216
- this.instrumentation.recordDuration('provingDuration', circuitName, provingResult.durationMs);
217
- this.instrumentation.recordSize('proofSize', circuitName, proof.binaryProof.buffer.length);
218
- this.instrumentation.recordSize('circuitPublicInputCount', circuitName, vkData.numPublicInputs);
219
- this.instrumentation.recordSize('circuitSize', circuitName, vkData.circuitSize);
220
- logger.info(`Generated proof for ${circuitType} in ${Math.ceil(provingResult.durationMs)} ms`, {
221
- circuitName,
222
- // does not include reading the proof from disk
223
- duration: provingResult.durationMs,
224
- proofSize: proof.binaryProof.buffer.length,
225
- eventName: 'circuit-proving',
226
- // circuitOutput is the partial witness that became the input to the proof
227
- inputSize: output.toBuffer().length,
228
- circuitSize: vkData.circuitSize,
229
- numPublicInputs: vkData.numPublicInputs
230
- });
231
- return {
232
- circuitOutput: output,
233
- proof: proof.binaryProof
234
- };
235
- };
236
- return await this.runInDirectory(operation);
237
- }
238
192
  async generateAvmProofWithBB(input, workingDirectory) {
239
193
  logger.info(`Proving avm-circuit for TX ${input.hints.tx.hash}...`);
240
194
  const provingResult = await generateAvmProof(this.config.bbBinaryPath, workingDirectory, input, logger);
@@ -244,18 +198,6 @@ const logger = createLogger('bb-prover');
244
198
  }
245
199
  return provingResult;
246
200
  }
247
- async generateTubeProofWithBB(bbWorkingDirectory, input) {
248
- logger.debug(`Proving tube...`);
249
- const hasher = crypto.createHash('sha256');
250
- hasher.update(input.toBuffer());
251
- await writeClientIVCProofToOutputDirectory(input.clientIVCData, bbWorkingDirectory);
252
- const provingResult = await generateTubeProof(this.config.bbBinaryPath, bbWorkingDirectory, input.usePublicTailVk ? PUBLIC_TAIL_CIVC_VK : PRIVATE_TAIL_CIVC_VK, logger.verbose);
253
- if (provingResult.status === BB_RESULT.FAILURE) {
254
- logger.error(`Failed to generate proof for tube circuit: ${provingResult.reason}`);
255
- throw new ProvingError(provingResult.reason, provingResult, provingResult.retry);
256
- }
257
- return provingResult;
258
- }
259
201
  async createAvmProof(input) {
260
202
  const operation = async (bbWorkingDirectory)=>{
261
203
  const provingResult = await this.generateAvmProofWithBB(input, bbWorkingDirectory);
@@ -280,25 +222,6 @@ const logger = createLogger('bb-prover');
280
222
  };
281
223
  return await this.runInDirectory(operation);
282
224
  }
283
- async getTubeProof(input) {
284
- const operation = async (bbWorkingDirectory)=>{
285
- logger.debug(`createTubeProof: ${bbWorkingDirectory}`);
286
- const provingResult = await this.generateTubeProofWithBB(bbWorkingDirectory, input);
287
- // Read the proof as fields
288
- // TODO(AD): this is the only remaining use of extractVkData.
289
- const tubeVK = await extractVkData(provingResult.vkDirectoryPath);
290
- const tubeProof = await readProofAsFields(provingResult.proofPath, tubeVK, TUBE_PROOF_LENGTH, logger);
291
- this.instrumentation.recordDuration('provingDuration', 'tubeCircuit', provingResult.durationMs);
292
- this.instrumentation.recordSize('proofSize', 'tubeCircuit', tubeProof.binaryProof.buffer.length);
293
- this.instrumentation.recordSize('circuitPublicInputCount', 'tubeCircuit', tubeVK.numPublicInputs);
294
- this.instrumentation.recordSize('circuitSize', 'tubeCircuit', tubeVK.circuitSize);
295
- // Sanity check the tube proof (can be removed later)
296
- await this.verifyWithKey('ultra_rollup_honk', tubeVK, tubeProof.binaryProof);
297
- logger.info(`Generated proof for tubeCircuit in ${Math.ceil(provingResult.durationMs)} ms, size: ${tubeProof.proof.length} fields`);
298
- return makeProofAndVerificationKey(tubeProof, tubeVK);
299
- };
300
- return await this.runInDirectory(operation);
301
- }
302
225
  /**
303
226
  * Executes a circuit and returns its outputs and corresponding proof with embedded aggregation object
304
227
  * @param witnessMap - The input witness
@@ -308,12 +231,12 @@ const logger = createLogger('bb-prover');
308
231
  * @param convertOutput - Function for parsing the output witness to it's corresponding object
309
232
  * @returns The circuits output object and it's proof
310
233
  */ async createRecursiveProof(input, circuitType, proofLength, convertInput, convertOutput) {
311
- // this probably is gonna need to call client ivc
234
+ // this probably is gonna need to call chonk
312
235
  const operation = async (bbWorkingDirectory)=>{
313
236
  const { provingResult, circuitOutput: output } = await this.generateProofWithBB(input, circuitType, convertInput, convertOutput, bbWorkingDirectory);
314
237
  const vkData = this.getVerificationKeyDataForCircuit(circuitType);
315
238
  // Read the proof as fields
316
- const proof = await readProofAsFields(provingResult.proofPath, vkData, proofLength, logger);
239
+ const proof = await readProofsFromOutputDirectory(provingResult.proofPath, vkData, proofLength, logger);
317
240
  const circuitName = mapProtocolArtifactNameToCircuitName(circuitType);
318
241
  this.instrumentation.recordDuration('provingDuration', circuitName, provingResult.durationMs);
319
242
  this.instrumentation.recordSize('proofSize', circuitName, proof.binaryProof.buffer.length);
@@ -401,12 +324,12 @@ const logger = createLogger('bb-prover');
401
324
  }
402
325
  _ts_decorate([
403
326
  trackSpan('BBNativeRollupProver.getBaseParityProof', {
404
- [Attributes.PROTOCOL_CIRCUIT_NAME]: 'base-parity'
327
+ [Attributes.PROTOCOL_CIRCUIT_NAME]: 'parity-base'
405
328
  })
406
329
  ], BBNativeRollupProver.prototype, "getBaseParityProof", null);
407
330
  _ts_decorate([
408
331
  trackSpan('BBNativeRollupProver.getRootParityProof', {
409
- [Attributes.PROTOCOL_CIRCUIT_NAME]: 'root-parity'
332
+ [Attributes.PROTOCOL_CIRCUIT_NAME]: 'parity-root'
410
333
  })
411
334
  ], BBNativeRollupProver.prototype, "getRootParityProof", null);
412
335
  _ts_decorate([
@@ -1,4 +1,4 @@
1
1
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
2
2
  export declare const WITGEN_DELAY_MS: Record<ProvingRequestType, number>;
3
3
  export declare const PROOF_DELAY_MS: Record<ProvingRequestType, number>;
4
- //# sourceMappingURL=delay_values.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXlfdmFsdWVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9kZWxheV92YWx1ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFMUQsZUFBTyxNQUFNLGVBQWUsRUFBRSxNQUFNLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQW1COUQsQ0FBQztBQUVGLGVBQU8sTUFBTSxjQUFjLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FtQjdELENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"delay_values.d.ts","sourceRoot":"","sources":["../../src/test/delay_values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAc9D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAc7D,CAAC"}
1
+ {"version":3,"file":"delay_values.d.ts","sourceRoot":"","sources":["../../src/test/delay_values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAmB9D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAmB7D,CAAC"}
@@ -1,31 +1,41 @@
1
1
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
2
2
  export const WITGEN_DELAY_MS = {
3
- [ProvingRequestType.BASE_PARITY]: 60,
4
- [ProvingRequestType.BLOCK_MERGE_ROLLUP]: 650,
5
- [ProvingRequestType.BLOCK_ROOT_ROLLUP]: 60_000,
6
- [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: 0,
7
- [ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP]: 0,
8
- [ProvingRequestType.MERGE_ROLLUP]: 0,
9
- [ProvingRequestType.PRIVATE_BASE_ROLLUP]: 400_000,
10
- [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: 0,
11
- [ProvingRequestType.PUBLIC_BASE_ROLLUP]: 470_000,
12
- [ProvingRequestType.ROOT_PARITY]: 100,
13
- [ProvingRequestType.ROOT_ROLLUP]: 650,
14
- [ProvingRequestType.TUBE_PROOF]: 0,
3
+ [ProvingRequestType.PARITY_BASE]: 2_000,
4
+ [ProvingRequestType.BLOCK_MERGE_ROLLUP]: 30,
5
+ [ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 45,
6
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 27,
7
+ [ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 18,
8
+ [ProvingRequestType.BLOCK_ROOT_ROLLUP]: 40_000,
9
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: 20_000,
10
+ [ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: 40_000,
11
+ [ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 36_600,
12
+ [ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
13
+ [ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 30,
14
+ [ProvingRequestType.TX_MERGE_ROLLUP]: 0,
15
+ [ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 2_500,
16
+ [ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 2_500,
17
+ [ProvingRequestType.PARITY_ROOT]: 40,
18
+ [ProvingRequestType.ROOT_ROLLUP]: 35,
19
+ [ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 60,
15
20
  [ProvingRequestType.PUBLIC_VM]: 0
16
21
  };
17
22
  export const PROOF_DELAY_MS = {
18
- [ProvingRequestType.BASE_PARITY]: 3_000,
23
+ [ProvingRequestType.PARITY_BASE]: 16_300,
19
24
  [ProvingRequestType.BLOCK_MERGE_ROLLUP]: 15_000,
20
- [ProvingRequestType.BLOCK_ROOT_ROLLUP]: 55_000,
21
- [ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP]: 0,
22
- [ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP]: 0,
23
- [ProvingRequestType.MERGE_ROLLUP]: 0,
24
- [ProvingRequestType.PRIVATE_BASE_ROLLUP]: 145_000,
25
- [ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP]: 0,
26
- [ProvingRequestType.PUBLIC_BASE_ROLLUP]: 160_000,
27
- [ProvingRequestType.ROOT_PARITY]: 30_000,
28
- [ProvingRequestType.ROOT_ROLLUP]: 15_000,
29
- [ProvingRequestType.TUBE_PROOF]: 30_000,
25
+ [ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: 16_500,
26
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: 9_210,
27
+ [ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: 4_560,
28
+ [ProvingRequestType.BLOCK_ROOT_ROLLUP]: 35_000,
29
+ [ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP]: 15_000,
30
+ [ProvingRequestType.CHECKPOINT_ROOT_ROLLUP]: 35_000,
31
+ [ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP]: 38_800,
32
+ [ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: 0,
33
+ [ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: 9_760,
34
+ [ProvingRequestType.TX_MERGE_ROLLUP]: 0,
35
+ [ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: 45_000,
36
+ [ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: 45_000,
37
+ [ProvingRequestType.PARITY_ROOT]: 18_600,
38
+ [ProvingRequestType.ROOT_ROLLUP]: 84_000,
39
+ [ProvingRequestType.PUBLIC_CHONK_VERIFIER]: 16_300,
30
40
  [ProvingRequestType.PUBLIC_VM]: 0
31
41
  };
@@ -1,3 +1,3 @@
1
1
  export * from './test_circuit_prover.js';
2
2
  export * from './test_verifier.js';
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxvQkFBb0IsQ0FBQyJ9
@@ -1,11 +1,11 @@
1
- import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH } from '@aztec/constants';
1
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { type ServerProtocolArtifact } from '@aztec/noir-protocol-circuits-types/server';
3
3
  import { type CircuitSimulator } from '@aztec/simulator/server';
4
4
  import type { AvmCircuitInputs } from '@aztec/stdlib/avm';
5
5
  import { type ProofAndVerificationKey, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
6
- import type { BaseParityInputs, ParityPublicInputs, RootParityInputs } from '@aztec/stdlib/parity';
6
+ import type { ParityBasePrivateInputs, ParityPublicInputs, ParityRootPrivateInputs } from '@aztec/stdlib/parity';
7
7
  import { type Proof } from '@aztec/stdlib/proofs';
8
- import type { BaseOrMergeRollupPublicInputs, BlockMergeRollupInputs, BlockRootOrBlockMergePublicInputs, BlockRootRollupInputs, EmptyBlockRootRollupInputs, MergeRollupInputs, PaddingBlockRootRollupInputs, PrivateBaseRollupInputs, PublicBaseRollupInputs, RootRollupInputs, RootRollupPublicInputs, SingleTxBlockRootRollupInputs, TubeInputs } from '@aztec/stdlib/rollup';
8
+ import { type BlockMergeRollupPrivateInputs, type BlockRollupPublicInputs, type BlockRootEmptyTxFirstRollupPrivateInputs, type BlockRootFirstRollupPrivateInputs, type BlockRootRollupPrivateInputs, type BlockRootSingleTxFirstRollupPrivateInputs, type BlockRootSingleTxRollupPrivateInputs, type CheckpointMergeRollupPrivateInputs, type CheckpointPaddingRollupPrivateInputs, type CheckpointRollupPublicInputs, type CheckpointRootRollupPrivateInputs, type CheckpointRootSingleBlockRollupPrivateInputs, type PrivateTxBaseRollupPrivateInputs, type PublicChonkVerifierPrivateInputs, PublicChonkVerifierPublicInputs, type PublicTxBaseRollupPrivateInputs, type RootRollupPrivateInputs, type RootRollupPublicInputs, type TxMergeRollupPrivateInputs, type TxRollupPublicInputs } from '@aztec/stdlib/rollup';
9
9
  import { type TelemetryClient } from '@aztec/telemetry-client';
10
10
  type TestDelay = {
11
11
  proverTestDelayType: 'fixed';
@@ -31,52 +31,42 @@ export declare class TestCircuitProver implements ServerCircuitProver {
31
31
  * @param inputs - Inputs to the circuit.
32
32
  * @returns The public inputs of the parity circuit.
33
33
  */
34
- getBaseParityProof(inputs: BaseParityInputs): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
34
+ getBaseParityProof(inputs: ParityBasePrivateInputs): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
35
35
  /**
36
36
  * Simulates the root parity circuit from its inputs.
37
37
  * @param inputs - Inputs to the circuit.
38
38
  * @returns The public inputs of the parity circuit.
39
39
  */
40
- getRootParityProof(inputs: RootParityInputs): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
41
- getTubeProof(_tubeInput: TubeInputs): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
42
- getPrivateBaseRollupProof(inputs: PrivateBaseRollupInputs): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
43
- getPublicBaseRollupProof(inputs: PublicBaseRollupInputs): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
40
+ getRootParityProof(inputs: ParityRootPrivateInputs): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
41
+ getPublicChonkVerifierProof(inputs: PublicChonkVerifierPrivateInputs): Promise<PublicInputsAndRecursiveProof<PublicChonkVerifierPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
42
+ getPrivateTxBaseRollupProof(inputs: PrivateTxBaseRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
43
+ getPublicTxBaseRollupProof(inputs: PublicTxBaseRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
44
44
  /**
45
45
  * Simulates the merge rollup circuit from its inputs.
46
46
  * @param input - Inputs to the circuit.
47
47
  * @returns The public inputs as outputs of the simulation.
48
48
  */
49
- getMergeRollupProof(input: MergeRollupInputs): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
50
- /**
51
- * Simulates the block root rollup circuit from its inputs.
52
- * @param input - Inputs to the circuit.
53
- * @returns The public inputs as outputs of the simulation.
54
- */
55
- getBlockRootRollupProof(input: BlockRootRollupInputs): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
56
- getSingleTxBlockRootRollupProof(input: SingleTxBlockRootRollupInputs): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
57
- /**
58
- * Simulates the empty block root rollup circuit from its inputs.
59
- * @param input - Inputs to the circuit.
60
- * @returns The public inputs as outputs of the simulation.
61
- */
62
- getEmptyBlockRootRollupProof(input: EmptyBlockRootRollupInputs): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
63
- getPaddingBlockRootRollupProof(input: PaddingBlockRootRollupInputs): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
64
- /**
65
- * Simulates the block merge rollup circuit from its inputs.
66
- * @param input - Inputs to the circuit.
67
- * @returns The public inputs as outputs of the simulation.
68
- */
69
- getBlockMergeRollupProof(input: BlockMergeRollupInputs): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
49
+ getTxMergeRollupProof(input: TxMergeRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
50
+ getBlockRootFirstRollupProof(input: BlockRootFirstRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
51
+ getBlockRootSingleTxFirstRollupProof(input: BlockRootSingleTxFirstRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
52
+ getBlockRootEmptyTxFirstRollupProof(input: BlockRootEmptyTxFirstRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
53
+ getBlockRootRollupProof(input: BlockRootRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
54
+ getBlockRootSingleTxRollupProof(input: BlockRootSingleTxRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
55
+ getBlockMergeRollupProof(input: BlockMergeRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
56
+ getCheckpointRootRollupProof(input: CheckpointRootRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
57
+ getCheckpointRootSingleBlockRollupProof(input: CheckpointRootSingleBlockRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
58
+ getCheckpointPaddingRollupProof(input: CheckpointPaddingRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
59
+ getCheckpointMergeRollupProof(input: CheckpointMergeRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
70
60
  /**
71
61
  * Simulates the root rollup circuit from its inputs.
72
62
  * @param input - Inputs to the circuit.
73
63
  * @returns The public inputs as outputs of the simulation.
74
64
  */
75
- getRootRollupProof(input: RootRollupInputs): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
65
+ getRootRollupProof(input: RootRollupPrivateInputs): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
76
66
  getAvmProof(_inputs: AvmCircuitInputs): Promise<ProofAndVerificationKey<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>>;
77
67
  private applyDelay;
78
68
  verifyProof(_1: ServerProtocolArtifact, _2: Proof): Promise<void>;
79
69
  private simulate;
80
70
  }
81
71
  export {};
82
- //# sourceMappingURL=test_circuit_prover.d.ts.map
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jaXJjdWl0X3Byb3Zlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvdGVzdF9jaXJjdWl0X3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0NBQW9DLEVBRXBDLDZCQUE2QixFQUM3Qix5Q0FBeUMsRUFDekMsc0JBQXNCLEVBQ3ZCLE1BQU0sa0JBQWtCLENBQUM7QUFJMUIsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBbUM1QixNQUFNLDRDQUE0QyxDQUFDO0FBSXBELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFzRCxNQUFNLHlCQUF5QixDQUFDO0FBQ3BILE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUNMLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssNkJBQTZCLEVBQ2xDLEtBQUssbUJBQW1CLEVBR3pCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQW1FLE1BQU0sc0JBQXNCLENBQUM7QUFDbkgsT0FBTyxFQUNMLEtBQUssNkJBQTZCLEVBQ2xDLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssd0NBQXdDLEVBQzdDLEtBQUssaUNBQWlDLEVBQ3RDLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUsseUNBQXlDLEVBQzlDLEtBQUssb0NBQW9DLEVBQ3pDLEtBQUssa0NBQWtDLEVBQ3ZDLEtBQUssb0NBQW9DLEVBQ3pDLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUssaUNBQWlDLEVBQ3RDLEtBQUssNENBQTRDLEVBQ2pELEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUssZ0NBQWdDLEVBQ3JDLCtCQUErQixFQUMvQixLQUFLLCtCQUErQixFQUNwQyxLQUFLLHVCQUF1QixFQUM1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
@@ -1 +1 @@
1
- {"version":3,"file":"test_circuit_prover.d.ts","sourceRoot":"","sources":["../../src/test/test_circuit_prover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_circuit_prover.d.ts","sourceRoot":"","sources":["../../src/test/test_circuit_prover.ts"],"names":[],"mappings":"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"}