@aztec/stdlib 3.0.0-nightly.20250918 → 3.0.0-nightly.20250919
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/interfaces/block-builder.d.ts +1 -0
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/epoch-prover.d.ts +1 -1
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +69 -70
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +40 -84
- package/dest/interfaces/pxe.d.ts +192 -90
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +5 -31
- package/dest/interfaces/server_circuit_prover.d.ts +18 -17
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/parity/index.d.ts +2 -3
- package/dest/parity/index.d.ts.map +1 -1
- package/dest/parity/index.js +2 -3
- package/dest/parity/{base_parity_inputs.d.ts → parity_base_private_inputs.d.ts} +6 -6
- package/dest/parity/parity_base_private_inputs.d.ts.map +1 -0
- package/dest/parity/{base_parity_inputs.js → parity_base_private_inputs.js} +5 -5
- package/dest/parity/parity_root_private_inputs.d.ts +39 -0
- package/dest/parity/parity_root_private_inputs.d.ts.map +1 -0
- package/dest/parity/{root_parity_inputs.js → parity_root_private_inputs.js} +12 -13
- package/dest/proofs/proof_data.d.ts +3 -2
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.d.ts +5 -5
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +5 -5
- package/dest/rollup/{block_merge_rollup.d.ts → block_merge_rollup_private_inputs.d.ts} +10 -4
- package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_merge_rollup.js → block_merge_rollup_private_inputs.js} +1 -1
- package/dest/rollup/{block_root_rollup.d.ts → block_root_rollup_private_inputs.d.ts} +23 -34
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{block_root_rollup.js → block_root_rollup_private_inputs.js} +7 -7
- package/dest/rollup/{checkpoint_merge_rollup.d.ts → checkpoint_merge_rollup_private_inputs.d.ts} +6 -6
- package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{checkpoint_root_rollup.d.ts → checkpoint_root_rollup_private_inputs.d.ts} +14 -8
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/index.d.ts +10 -11
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +10 -11
- package/dest/rollup/{private_base_rollup_inputs.d.ts → private_tx_base_rollup_private_inputs.d.ts} +7 -7
- package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{private_base_rollup_inputs.js → private_tx_base_rollup_private_inputs.js} +6 -6
- package/dest/rollup/{public_base_rollup_inputs.d.ts → public_tx_base_rollup_private_inputs.d.ts} +7 -7
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{public_base_rollup_inputs.js → public_tx_base_rollup_private_inputs.js} +6 -6
- package/dest/rollup/root_rollup_private_inputs.d.ts +67 -0
- package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/root_rollup_private_inputs.js +69 -0
- package/dest/rollup/{root_rollup.d.ts → root_rollup_public_inputs.d.ts} +2 -65
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{root_rollup.js → root_rollup_public_inputs.js} +1 -66
- package/dest/rollup/{merge_rollup.d.ts → tx_merge_rollup_private_inputs.d.ts} +11 -10
- package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -0
- package/dest/rollup/{merge_rollup.js → tx_merge_rollup_private_inputs.js} +14 -13
- package/dest/rollup/{base_or_merge_rollup_public_inputs.d.ts → tx_rollup_public_inputs.d.ts} +11 -11
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/{base_or_merge_rollup_public_inputs.js → tx_rollup_public_inputs.js} +13 -13
- package/dest/stats/stats.d.ts +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +16 -31
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +28 -45
- package/package.json +8 -8
- package/src/interfaces/block-builder.ts +1 -0
- package/src/interfaces/epoch-prover.ts +1 -1
- package/src/interfaces/proving-job.ts +54 -93
- package/src/interfaces/pxe.ts +3 -138
- package/src/interfaces/server_circuit_prover.ts +24 -29
- package/src/parity/index.ts +2 -3
- package/src/parity/{base_parity_inputs.ts → parity_base_private_inputs.ts} +6 -6
- package/src/parity/{root_parity_inputs.ts → parity_root_private_inputs.ts} +16 -18
- package/src/proofs/proof_data.ts +4 -2
- package/src/proofs/proving_request_type.ts +6 -5
- package/src/rollup/{block_merge_rollup.ts → block_merge_rollup_private_inputs.ts} +5 -3
- package/src/rollup/{block_root_rollup.ts → block_root_rollup_private_inputs.ts} +13 -26
- package/src/rollup/{checkpoint_merge_rollup.ts → checkpoint_merge_rollup_private_inputs.ts} +3 -4
- package/src/rollup/{checkpoint_root_rollup.ts → checkpoint_root_rollup_private_inputs.ts} +6 -4
- package/src/rollup/index.ts +10 -11
- package/src/rollup/{private_base_rollup_inputs.ts → private_tx_base_rollup_private_inputs.ts} +9 -9
- package/src/rollup/{public_base_rollup_inputs.ts → public_tx_base_rollup_private_inputs.ts} +9 -9
- package/src/rollup/root_rollup_private_inputs.ts +90 -0
- package/src/rollup/{root_rollup.ts → root_rollup_public_inputs.ts} +1 -86
- package/src/rollup/{merge_rollup.ts → tx_merge_rollup_private_inputs.ts} +13 -9
- package/src/rollup/{base_or_merge_rollup_public_inputs.ts → tx_rollup_public_inputs.ts} +11 -11
- package/src/stats/stats.ts +18 -17
- package/src/tests/factories.ts +29 -73
- package/dest/parity/base_parity_inputs.d.ts.map +0 -1
- package/dest/parity/root_parity_input.d.ts +0 -52
- package/dest/parity/root_parity_input.d.ts.map +0 -1
- package/dest/parity/root_parity_input.js +0 -50
- package/dest/parity/root_parity_inputs.d.ts +0 -37
- package/dest/parity/root_parity_inputs.d.ts.map +0 -1
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/block_root_rollup.d.ts.map +0 -1
- package/dest/rollup/checkpoint_merge_rollup.d.ts.map +0 -1
- package/dest/rollup/checkpoint_root_rollup.d.ts.map +0 -1
- package/dest/rollup/merge_rollup.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_data.js +0 -37
- package/dest/rollup/private_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/public_base_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/rollup_proof_data.d.ts +0 -10
- package/dest/rollup/rollup_proof_data.d.ts.map +0 -1
- package/dest/rollup/rollup_proof_data.js +0 -1
- package/dest/rollup/root_rollup.d.ts.map +0 -1
- package/src/parity/root_parity_input.ts +0 -71
- package/src/rollup/previous_rollup_data.ts +0 -48
- package/src/rollup/rollup_proof_data.ts +0 -12
- /package/dest/rollup/{checkpoint_merge_rollup.js → checkpoint_merge_rollup_private_inputs.js} +0 -0
- /package/dest/rollup/{checkpoint_root_rollup.js → checkpoint_root_rollup_private_inputs.js} +0 -0
|
@@ -11,13 +11,12 @@ import { z } from 'zod';
|
|
|
11
11
|
import { AvmCircuitInputs } from '../avm/avm.js';
|
|
12
12
|
import { AvmProvingRequestSchema } from '../avm/avm_proving_request.js';
|
|
13
13
|
import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js';
|
|
14
|
-
import {
|
|
14
|
+
import { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
|
|
15
15
|
import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
|
|
16
|
-
import {
|
|
16
|
+
import { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
|
|
17
17
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
18
18
|
import { RecursiveProof } from '../proofs/recursive_proof.js';
|
|
19
|
-
import {
|
|
20
|
-
import { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup.js';
|
|
19
|
+
import { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
|
|
21
20
|
import { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
|
|
22
21
|
import {
|
|
23
22
|
BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
@@ -25,20 +24,21 @@ import {
|
|
|
25
24
|
BlockRootRollupPrivateInputs,
|
|
26
25
|
BlockRootSingleTxFirstRollupPrivateInputs,
|
|
27
26
|
BlockRootSingleTxRollupPrivateInputs,
|
|
28
|
-
} from '../rollup/
|
|
29
|
-
import { CheckpointMergeRollupPrivateInputs } from '../rollup/
|
|
27
|
+
} from '../rollup/block_root_rollup_private_inputs.js';
|
|
28
|
+
import { CheckpointMergeRollupPrivateInputs } from '../rollup/checkpoint_merge_rollup_private_inputs.js';
|
|
30
29
|
import { CheckpointRollupPublicInputs } from '../rollup/checkpoint_rollup_public_inputs.js';
|
|
31
30
|
import {
|
|
32
31
|
CheckpointPaddingRollupPrivateInputs,
|
|
33
32
|
CheckpointRootRollupPrivateInputs,
|
|
34
33
|
CheckpointRootSingleBlockRollupPrivateInputs,
|
|
35
|
-
} from '../rollup/
|
|
34
|
+
} from '../rollup/checkpoint_root_rollup_private_inputs.js';
|
|
36
35
|
import { PublicTubePrivateInputs } from '../rollup/index.js';
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import
|
|
36
|
+
import { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
|
|
37
|
+
import { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
|
|
38
|
+
import { RootRollupPrivateInputs } from '../rollup/root_rollup_private_inputs.js';
|
|
39
|
+
import { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
40
|
+
import { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
|
|
41
|
+
import { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
|
|
42
42
|
import { VerificationKeyData } from '../vks/verification_key.js';
|
|
43
43
|
|
|
44
44
|
export type ProofAndVerificationKey<N extends number> = {
|
|
@@ -87,59 +87,20 @@ export function makePublicInputsAndRecursiveProof<T, N extends number = typeof N
|
|
|
87
87
|
return { inputs, proof, verificationKey };
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
export function mapProvingRequestTypeToCircuitName(type: ProvingRequestType): ServerCircuitName {
|
|
91
|
-
switch (type) {
|
|
92
|
-
case ProvingRequestType.PUBLIC_VM:
|
|
93
|
-
return 'avm-circuit';
|
|
94
|
-
case ProvingRequestType.PUBLIC_TUBE:
|
|
95
|
-
return 'public-tube';
|
|
96
|
-
case ProvingRequestType.PRIVATE_BASE_ROLLUP:
|
|
97
|
-
return 'private-base-rollup';
|
|
98
|
-
case ProvingRequestType.PUBLIC_BASE_ROLLUP:
|
|
99
|
-
return 'public-base-rollup';
|
|
100
|
-
case ProvingRequestType.MERGE_ROLLUP:
|
|
101
|
-
return 'merge-rollup';
|
|
102
|
-
case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP:
|
|
103
|
-
return 'block-root-first-rollup';
|
|
104
|
-
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP:
|
|
105
|
-
return 'block-root-single-tx-first-rollup';
|
|
106
|
-
case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP:
|
|
107
|
-
return 'block-root-empty-tx-first-rollup';
|
|
108
|
-
case ProvingRequestType.BLOCK_ROOT_ROLLUP:
|
|
109
|
-
return 'block-root-rollup';
|
|
110
|
-
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP:
|
|
111
|
-
return 'block-root-single-tx-rollup';
|
|
112
|
-
case ProvingRequestType.BLOCK_MERGE_ROLLUP:
|
|
113
|
-
return 'block-merge-rollup';
|
|
114
|
-
case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP:
|
|
115
|
-
return 'checkpoint-root-rollup';
|
|
116
|
-
case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP:
|
|
117
|
-
return 'checkpoint-root-single-block-rollup';
|
|
118
|
-
case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP:
|
|
119
|
-
return 'checkpoint-padding-rollup';
|
|
120
|
-
case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP:
|
|
121
|
-
return 'checkpoint-merge-rollup';
|
|
122
|
-
case ProvingRequestType.ROOT_ROLLUP:
|
|
123
|
-
return 'root-rollup';
|
|
124
|
-
case ProvingRequestType.BASE_PARITY:
|
|
125
|
-
return 'base-parity';
|
|
126
|
-
case ProvingRequestType.ROOT_PARITY:
|
|
127
|
-
return 'root-parity';
|
|
128
|
-
default: {
|
|
129
|
-
const _exhaustive: never = type;
|
|
130
|
-
throw new Error(`Cannot find circuit name for proving request type: ${type}`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
90
|
export const ProvingJobInputs = z.discriminatedUnion('type', [
|
|
136
91
|
AvmProvingRequestSchema,
|
|
137
|
-
z.object({ type: z.literal(ProvingRequestType.
|
|
138
|
-
z.object({ type: z.literal(ProvingRequestType.
|
|
92
|
+
z.object({ type: z.literal(ProvingRequestType.PARITY_BASE), inputs: ParityBasePrivateInputs.schema }),
|
|
93
|
+
z.object({ type: z.literal(ProvingRequestType.PARITY_ROOT), inputs: ParityRootPrivateInputs.schema }),
|
|
139
94
|
z.object({ type: z.literal(ProvingRequestType.PUBLIC_TUBE), inputs: PublicTubePrivateInputs.schema }),
|
|
140
|
-
z.object({
|
|
141
|
-
|
|
142
|
-
|
|
95
|
+
z.object({
|
|
96
|
+
type: z.literal(ProvingRequestType.PRIVATE_TX_BASE_ROLLUP),
|
|
97
|
+
inputs: PrivateTxBaseRollupPrivateInputs.schema,
|
|
98
|
+
}),
|
|
99
|
+
z.object({
|
|
100
|
+
type: z.literal(ProvingRequestType.PUBLIC_TX_BASE_ROLLUP),
|
|
101
|
+
inputs: PublicTxBaseRollupPrivateInputs.schema,
|
|
102
|
+
}),
|
|
103
|
+
z.object({ type: z.literal(ProvingRequestType.TX_MERGE_ROLLUP), inputs: TxMergeRollupPrivateInputs.schema }),
|
|
143
104
|
z.object({
|
|
144
105
|
type: z.literal(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP),
|
|
145
106
|
inputs: BlockRootFirstRollupPrivateInputs.schema,
|
|
@@ -183,12 +144,12 @@ export function getProvingJobInputClassFor(type: ProvingRequestType) {
|
|
|
183
144
|
return AvmCircuitInputs;
|
|
184
145
|
case ProvingRequestType.PUBLIC_TUBE:
|
|
185
146
|
return PublicTubePrivateInputs;
|
|
186
|
-
case ProvingRequestType.
|
|
187
|
-
return
|
|
188
|
-
case ProvingRequestType.
|
|
189
|
-
return
|
|
190
|
-
case ProvingRequestType.
|
|
191
|
-
return
|
|
147
|
+
case ProvingRequestType.PRIVATE_TX_BASE_ROLLUP:
|
|
148
|
+
return PrivateTxBaseRollupPrivateInputs;
|
|
149
|
+
case ProvingRequestType.PUBLIC_TX_BASE_ROLLUP:
|
|
150
|
+
return PublicTxBaseRollupPrivateInputs;
|
|
151
|
+
case ProvingRequestType.TX_MERGE_ROLLUP:
|
|
152
|
+
return TxMergeRollupPrivateInputs;
|
|
192
153
|
case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP:
|
|
193
154
|
return BlockRootFirstRollupPrivateInputs;
|
|
194
155
|
case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP:
|
|
@@ -211,10 +172,10 @@ export function getProvingJobInputClassFor(type: ProvingRequestType) {
|
|
|
211
172
|
return CheckpointMergeRollupPrivateInputs;
|
|
212
173
|
case ProvingRequestType.ROOT_ROLLUP:
|
|
213
174
|
return RootRollupPrivateInputs;
|
|
214
|
-
case ProvingRequestType.
|
|
215
|
-
return
|
|
216
|
-
case ProvingRequestType.
|
|
217
|
-
return
|
|
175
|
+
case ProvingRequestType.PARITY_BASE:
|
|
176
|
+
return ParityBasePrivateInputs;
|
|
177
|
+
case ProvingRequestType.PARITY_ROOT:
|
|
178
|
+
return ParityRootPrivateInputs;
|
|
218
179
|
default: {
|
|
219
180
|
const _exhaustive: never = type;
|
|
220
181
|
throw new Error(`Cannot find circuit inputs class for proving type ${type}`);
|
|
@@ -227,9 +188,9 @@ export type ProvingJobInputs = z.infer<typeof ProvingJobInputs>;
|
|
|
227
188
|
export type ProvingJobInputsMap = {
|
|
228
189
|
[ProvingRequestType.PUBLIC_VM]: AvmCircuitInputs;
|
|
229
190
|
[ProvingRequestType.PUBLIC_TUBE]: PublicTubePrivateInputs;
|
|
230
|
-
[ProvingRequestType.
|
|
231
|
-
[ProvingRequestType.
|
|
232
|
-
[ProvingRequestType.
|
|
191
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: PrivateTxBaseRollupPrivateInputs;
|
|
192
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: PublicTxBaseRollupPrivateInputs;
|
|
193
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: TxMergeRollupPrivateInputs;
|
|
233
194
|
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: BlockRootFirstRollupPrivateInputs;
|
|
234
195
|
[ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP]: BlockRootSingleTxFirstRollupPrivateInputs;
|
|
235
196
|
[ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP]: BlockRootEmptyTxFirstRollupPrivateInputs;
|
|
@@ -241,8 +202,8 @@ export type ProvingJobInputsMap = {
|
|
|
241
202
|
[ProvingRequestType.CHECKPOINT_PADDING_ROLLUP]: CheckpointPaddingRollupPrivateInputs;
|
|
242
203
|
[ProvingRequestType.CHECKPOINT_MERGE_ROLLUP]: CheckpointMergeRollupPrivateInputs;
|
|
243
204
|
[ProvingRequestType.ROOT_ROLLUP]: RootRollupPrivateInputs;
|
|
244
|
-
[ProvingRequestType.
|
|
245
|
-
[ProvingRequestType.
|
|
205
|
+
[ProvingRequestType.PARITY_BASE]: ParityBasePrivateInputs;
|
|
206
|
+
[ProvingRequestType.PARITY_ROOT]: ParityRootPrivateInputs;
|
|
246
207
|
};
|
|
247
208
|
|
|
248
209
|
export const ProvingJobResult = z.discriminatedUnion('type', [
|
|
@@ -258,23 +219,23 @@ export const ProvingJobResult = z.discriminatedUnion('type', [
|
|
|
258
219
|
),
|
|
259
220
|
}),
|
|
260
221
|
z.object({
|
|
261
|
-
type: z.literal(ProvingRequestType.
|
|
222
|
+
type: z.literal(ProvingRequestType.PRIVATE_TX_BASE_ROLLUP),
|
|
262
223
|
result: schemaForPublicInputsAndRecursiveProof(
|
|
263
|
-
|
|
224
|
+
TxRollupPublicInputs.schema,
|
|
264
225
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
265
226
|
),
|
|
266
227
|
}),
|
|
267
228
|
z.object({
|
|
268
|
-
type: z.literal(ProvingRequestType.
|
|
229
|
+
type: z.literal(ProvingRequestType.PUBLIC_TX_BASE_ROLLUP),
|
|
269
230
|
result: schemaForPublicInputsAndRecursiveProof(
|
|
270
|
-
|
|
231
|
+
TxRollupPublicInputs.schema,
|
|
271
232
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
272
233
|
),
|
|
273
234
|
}),
|
|
274
235
|
z.object({
|
|
275
|
-
type: z.literal(ProvingRequestType.
|
|
236
|
+
type: z.literal(ProvingRequestType.TX_MERGE_ROLLUP),
|
|
276
237
|
result: schemaForPublicInputsAndRecursiveProof(
|
|
277
|
-
|
|
238
|
+
TxRollupPublicInputs.schema,
|
|
278
239
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
279
240
|
),
|
|
280
241
|
}),
|
|
@@ -353,11 +314,11 @@ export const ProvingJobResult = z.discriminatedUnion('type', [
|
|
|
353
314
|
result: schemaForPublicInputsAndRecursiveProof(RootRollupPublicInputs.schema, NESTED_RECURSIVE_PROOF_LENGTH),
|
|
354
315
|
}),
|
|
355
316
|
z.object({
|
|
356
|
-
type: z.literal(ProvingRequestType.
|
|
317
|
+
type: z.literal(ProvingRequestType.PARITY_BASE),
|
|
357
318
|
result: schemaForPublicInputsAndRecursiveProof(ParityPublicInputs.schema, RECURSIVE_PROOF_LENGTH),
|
|
358
319
|
}),
|
|
359
320
|
z.object({
|
|
360
|
-
type: z.literal(ProvingRequestType.
|
|
321
|
+
type: z.literal(ProvingRequestType.PARITY_ROOT),
|
|
361
322
|
result: schemaForPublicInputsAndRecursiveProof(ParityPublicInputs.schema, NESTED_RECURSIVE_PROOF_LENGTH),
|
|
362
323
|
}),
|
|
363
324
|
]);
|
|
@@ -368,16 +329,16 @@ export type ProvingJobResultsMap = {
|
|
|
368
329
|
PrivateToPublicKernelCircuitPublicInputs,
|
|
369
330
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
370
331
|
>;
|
|
371
|
-
[ProvingRequestType.
|
|
372
|
-
|
|
332
|
+
[ProvingRequestType.PRIVATE_TX_BASE_ROLLUP]: PublicInputsAndRecursiveProof<
|
|
333
|
+
TxRollupPublicInputs,
|
|
373
334
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
374
335
|
>;
|
|
375
|
-
[ProvingRequestType.
|
|
376
|
-
|
|
336
|
+
[ProvingRequestType.PUBLIC_TX_BASE_ROLLUP]: PublicInputsAndRecursiveProof<
|
|
337
|
+
TxRollupPublicInputs,
|
|
377
338
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
378
339
|
>;
|
|
379
|
-
[ProvingRequestType.
|
|
380
|
-
|
|
340
|
+
[ProvingRequestType.TX_MERGE_ROLLUP]: PublicInputsAndRecursiveProof<
|
|
341
|
+
TxRollupPublicInputs,
|
|
381
342
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
382
343
|
>;
|
|
383
344
|
[ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP]: PublicInputsAndRecursiveProof<
|
|
@@ -421,8 +382,8 @@ export type ProvingJobResultsMap = {
|
|
|
421
382
|
typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH
|
|
422
383
|
>;
|
|
423
384
|
[ProvingRequestType.ROOT_ROLLUP]: PublicInputsAndRecursiveProof<RootRollupPublicInputs>;
|
|
424
|
-
[ProvingRequestType.
|
|
425
|
-
[ProvingRequestType.
|
|
385
|
+
[ProvingRequestType.PARITY_BASE]: PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>;
|
|
386
|
+
[ProvingRequestType.PARITY_ROOT]: PublicInputsAndRecursiveProof<
|
|
426
387
|
ParityPublicInputs,
|
|
427
388
|
typeof NESTED_RECURSIVE_PROOF_LENGTH
|
|
428
389
|
>;
|
package/src/interfaces/pxe.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
|
|
2
1
|
import type { Fr } from '@aztec/foundation/fields';
|
|
3
2
|
import type { ApiSchemaFor, ZodFor } from '@aztec/foundation/schemas';
|
|
4
|
-
import { SiblingPath } from '@aztec/foundation/trees';
|
|
5
3
|
|
|
6
4
|
import { z } from 'zod';
|
|
7
5
|
|
|
@@ -9,7 +7,6 @@ import { type AbiType, AbiTypeSchema, type ContractArtifact, ContractArtifactSch
|
|
|
9
7
|
import type { EventSelector } from '../abi/event_selector.js';
|
|
10
8
|
import { AuthWitness } from '../auth_witness/auth_witness.js';
|
|
11
9
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
12
|
-
import { L2Block } from '../block/l2_block.js';
|
|
13
10
|
import {
|
|
14
11
|
CompleteAddress,
|
|
15
12
|
type ContractClassWithId,
|
|
@@ -23,12 +20,10 @@ import {
|
|
|
23
20
|
ProtocolContractAddressesSchema,
|
|
24
21
|
} from '../contract/index.js';
|
|
25
22
|
import { GasFees } from '../gas/gas_fees.js';
|
|
26
|
-
import { type LogFilter, LogFilterSchema } from '../logs/log_filter.js';
|
|
27
23
|
import { UniqueNote } from '../note/extended_note.js';
|
|
28
24
|
import { type NotesFilter, NotesFilterSchema } from '../note/notes_filter.js';
|
|
29
25
|
import { AbiDecodedSchema, optional, schemas } from '../schemas/schemas.js';
|
|
30
26
|
import {
|
|
31
|
-
type IndexedTxEffect,
|
|
32
27
|
PrivateExecutionResult,
|
|
33
28
|
SimulationOverrides,
|
|
34
29
|
Tx,
|
|
@@ -36,16 +31,9 @@ import {
|
|
|
36
31
|
TxHash,
|
|
37
32
|
TxReceipt,
|
|
38
33
|
TxSimulationResult,
|
|
39
|
-
indexedTxSchema,
|
|
40
34
|
} from '../tx/index.js';
|
|
41
35
|
import { TxProfileResult, UtilitySimulationResult } from '../tx/profiling.js';
|
|
42
36
|
import { TxProvingResult } from '../tx/proven_tx.js';
|
|
43
|
-
import {
|
|
44
|
-
type GetContractClassLogsResponse,
|
|
45
|
-
GetContractClassLogsResponseSchema,
|
|
46
|
-
type GetPublicLogsResponse,
|
|
47
|
-
GetPublicLogsResponseSchema,
|
|
48
|
-
} from './get_logs_response.js';
|
|
49
37
|
|
|
50
38
|
// docs:start:pxe-interface
|
|
51
39
|
/**
|
|
@@ -55,21 +43,6 @@ import {
|
|
|
55
43
|
* is exposed to dapps for interacting with the network on behalf of the user.
|
|
56
44
|
*/
|
|
57
45
|
export interface PXE {
|
|
58
|
-
/**
|
|
59
|
-
* Returns whether an L1 to L2 message is synced by archiver.
|
|
60
|
-
* @param l1ToL2Message - The L1 to L2 message to check.
|
|
61
|
-
* @returns Whether the message is synced and ready to be included in a block.
|
|
62
|
-
* @deprecated Use `waitForL1ToL2MessageReady` and `isL1ToL2MessageReady` instead.
|
|
63
|
-
*/
|
|
64
|
-
isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Returns the L2 block number in which this L1 to L2 message becomes available, or undefined if not found.
|
|
68
|
-
* @param l1ToL2Message - The L1 to L2 message to check.
|
|
69
|
-
* @returns The L2 block number or undefined if not synced yet.
|
|
70
|
-
*/
|
|
71
|
-
getL1ToL2MessageBlock(l1ToL2Message: Fr): Promise<number | undefined>;
|
|
72
|
-
|
|
73
46
|
/**
|
|
74
47
|
* Registers a user account in PXE given its master encryption private key.
|
|
75
48
|
* Once a new account is registered, the PXE Service will trial-decrypt all published notes on
|
|
@@ -220,26 +193,6 @@ export interface PXE {
|
|
|
220
193
|
*/
|
|
221
194
|
getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
|
|
222
195
|
|
|
223
|
-
/**
|
|
224
|
-
* Gets a tx effect.
|
|
225
|
-
* @param txHash - The hash of the tx corresponding to the tx effect.
|
|
226
|
-
* @returns The requested tx effect with block info (or undefined if not found).
|
|
227
|
-
*/
|
|
228
|
-
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
229
|
-
|
|
230
|
-
/**
|
|
231
|
-
* Gets the storage value at the given contract storage slot.
|
|
232
|
-
*
|
|
233
|
-
* @remarks The storage slot here refers to the slot as it is defined in Noir not the index in the merkle tree.
|
|
234
|
-
* Aztec's version of `eth_getStorageAt`.
|
|
235
|
-
*
|
|
236
|
-
* @param contract - Address of the contract to query.
|
|
237
|
-
* @param slot - Slot to query.
|
|
238
|
-
* @returns Storage value at the given contract slot.
|
|
239
|
-
* @throws If the contract is not deployed.
|
|
240
|
-
*/
|
|
241
|
-
getPublicStorageAt(contract: AztecAddress, slot: Fr): Promise<Fr>;
|
|
242
|
-
|
|
243
196
|
/**
|
|
244
197
|
* Gets notes registered in this PXE based on the provided filter.
|
|
245
198
|
* @param filter - The filter to apply to the notes.
|
|
@@ -247,35 +200,6 @@ export interface PXE {
|
|
|
247
200
|
*/
|
|
248
201
|
getNotes(filter: NotesFilter): Promise<UniqueNote[]>;
|
|
249
202
|
|
|
250
|
-
/**
|
|
251
|
-
* Fetches an L1 to L2 message from the node.
|
|
252
|
-
* @param contractAddress - Address of a contract by which the message was emitted.
|
|
253
|
-
* @param messageHash - Hash of the message.
|
|
254
|
-
* @param secret - Secret used to compute a nullifier.
|
|
255
|
-
* @dev Contract address and secret are only used to compute the nullifier to get non-nullified messages
|
|
256
|
-
* @returns The l1 to l2 membership witness (index of message in the tree and sibling path).
|
|
257
|
-
*/
|
|
258
|
-
getL1ToL2MembershipWitness(
|
|
259
|
-
contractAddress: AztecAddress,
|
|
260
|
-
messageHash: Fr,
|
|
261
|
-
secret: Fr,
|
|
262
|
-
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
|
|
263
|
-
|
|
264
|
-
/**
|
|
265
|
-
* Gets the membership witness for a message that was emitted at a particular block
|
|
266
|
-
* @param blockNumber - The block number in which to search for the message
|
|
267
|
-
* @param l2Tol1Message - The message to search for
|
|
268
|
-
* @returns The membership witness for the message
|
|
269
|
-
*/
|
|
270
|
-
getL2ToL1MembershipWitness(blockNumber: number, l2Tol1Message: Fr): Promise<[bigint, SiblingPath<number>]>;
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Get the given block.
|
|
274
|
-
* @param number - The block number being requested.
|
|
275
|
-
* @returns The blocks requested.
|
|
276
|
-
*/
|
|
277
|
-
getBlock(number: number): Promise<L2Block | undefined>;
|
|
278
|
-
|
|
279
203
|
/**
|
|
280
204
|
* Method to fetch the current base fees.
|
|
281
205
|
* @returns The current base fees.
|
|
@@ -303,32 +227,6 @@ export interface PXE {
|
|
|
303
227
|
scopes?: AztecAddress[],
|
|
304
228
|
): Promise<UtilitySimulationResult>;
|
|
305
229
|
|
|
306
|
-
/**
|
|
307
|
-
* Gets public logs based on the provided filter.
|
|
308
|
-
* @param filter - The filter to apply to the logs.
|
|
309
|
-
* @returns The requested logs.
|
|
310
|
-
*/
|
|
311
|
-
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
312
|
-
|
|
313
|
-
/**
|
|
314
|
-
* Gets contract class logs based on the provided filter.
|
|
315
|
-
* @param filter - The filter to apply to the logs.
|
|
316
|
-
* @returns The requested logs.
|
|
317
|
-
*/
|
|
318
|
-
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Fetches the current block number.
|
|
322
|
-
* @returns The block number.
|
|
323
|
-
*/
|
|
324
|
-
getBlockNumber(): Promise<number>;
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* Fetches the current proven block number.
|
|
328
|
-
* @returns The block number.
|
|
329
|
-
*/
|
|
330
|
-
getProvenBlockNumber(): Promise<number>;
|
|
331
|
-
|
|
332
230
|
/**
|
|
333
231
|
* Returns the information about the server's node. Includes current Node version, compatible Noir version,
|
|
334
232
|
* L1 chain identifier, rollup version, and L1 address of the rollup contract.
|
|
@@ -386,15 +284,6 @@ export interface PXE {
|
|
|
386
284
|
numBlocks: number,
|
|
387
285
|
recipients: AztecAddress[],
|
|
388
286
|
): Promise<T[]>;
|
|
389
|
-
|
|
390
|
-
/**
|
|
391
|
-
* Returns the public events given search parameters.
|
|
392
|
-
* @param eventMetadata - Metadata of the event. This should be the class generated from the contract. e.g. Contract.events.Event
|
|
393
|
-
* @param from - The block number to search from.
|
|
394
|
-
* @param limit - The amount of blocks to search.
|
|
395
|
-
* @returns - The deserialized events.
|
|
396
|
-
*/
|
|
397
|
-
getPublicEvents<T>(eventMetadata: EventMetadataDefinition, from: number, limit: number): Promise<T[]>;
|
|
398
287
|
}
|
|
399
288
|
// docs:end:pxe-interface
|
|
400
289
|
|
|
@@ -404,7 +293,7 @@ export type EventMetadataDefinition = {
|
|
|
404
293
|
fieldNames: string[];
|
|
405
294
|
};
|
|
406
295
|
|
|
407
|
-
const EventMetadataDefinitionSchema = z.object({
|
|
296
|
+
export const EventMetadataDefinitionSchema = z.object({
|
|
408
297
|
eventSelector: schemas.EventSelector,
|
|
409
298
|
abiType: AbiTypeSchema,
|
|
410
299
|
fieldNames: z.array(z.string()),
|
|
@@ -436,13 +325,13 @@ export interface ContractClassMetadata {
|
|
|
436
325
|
artifact?: ContractArtifact | undefined;
|
|
437
326
|
}
|
|
438
327
|
|
|
439
|
-
const ContractMetadataSchema = z.object({
|
|
328
|
+
export const ContractMetadataSchema = z.object({
|
|
440
329
|
contractInstance: z.union([ContractInstanceWithAddressSchema, z.undefined()]),
|
|
441
330
|
isContractInitialized: z.boolean(),
|
|
442
331
|
isContractPublished: z.boolean(),
|
|
443
332
|
}) satisfies ZodFor<ContractMetadata>;
|
|
444
333
|
|
|
445
|
-
const ContractClassMetadataSchema = z.object({
|
|
334
|
+
export const ContractClassMetadataSchema = z.object({
|
|
446
335
|
contractClass: z.union([ContractClassWithIdSchema, z.undefined()]),
|
|
447
336
|
isContractClassPubliclyRegistered: z.boolean(),
|
|
448
337
|
artifact: z.union([ContractArtifactSchema, z.undefined()]),
|
|
@@ -454,8 +343,6 @@ const PXEInfoSchema = z.object({
|
|
|
454
343
|
}) satisfies ZodFor<PXEInfo>;
|
|
455
344
|
|
|
456
345
|
export const PXESchema: ApiSchemaFor<PXE> = {
|
|
457
|
-
isL1ToL2MessageSynced: z.function().args(schemas.Fr).returns(z.boolean()),
|
|
458
|
-
getL1ToL2MessageBlock: z.function().args(schemas.Fr).returns(z.number().optional()),
|
|
459
346
|
registerAccount: z.function().args(schemas.Fr, schemas.Fr).returns(CompleteAddress.schema),
|
|
460
347
|
getRegisteredAccounts: z.function().returns(z.array(CompleteAddress.schema)),
|
|
461
348
|
registerSender: z.function().args(schemas.AztecAddress).returns(schemas.AztecAddress),
|
|
@@ -494,21 +381,7 @@ export const PXESchema: ApiSchemaFor<PXE> = {
|
|
|
494
381
|
.returns(TxSimulationResult.schema),
|
|
495
382
|
sendTx: z.function().args(Tx.schema).returns(TxHash.schema),
|
|
496
383
|
getTxReceipt: z.function().args(TxHash.schema).returns(TxReceipt.schema),
|
|
497
|
-
getTxEffect: z.function().args(TxHash.schema).returns(indexedTxSchema().optional()),
|
|
498
|
-
getPublicStorageAt: z.function().args(schemas.AztecAddress, schemas.Fr).returns(schemas.Fr),
|
|
499
384
|
getNotes: z.function().args(NotesFilterSchema).returns(z.array(UniqueNote.schema)),
|
|
500
|
-
getL1ToL2MembershipWitness: z
|
|
501
|
-
.function()
|
|
502
|
-
.args(schemas.AztecAddress, schemas.Fr, schemas.Fr)
|
|
503
|
-
.returns(z.tuple([schemas.BigInt, SiblingPath.schemaFor(L1_TO_L2_MSG_TREE_HEIGHT)])),
|
|
504
|
-
getL2ToL1MembershipWitness: z
|
|
505
|
-
.function()
|
|
506
|
-
.args(z.number(), schemas.Fr)
|
|
507
|
-
.returns(z.tuple([schemas.BigInt, SiblingPath.schema])),
|
|
508
|
-
getBlock: z
|
|
509
|
-
.function()
|
|
510
|
-
.args(z.number())
|
|
511
|
-
.returns(z.union([L2Block.schema, z.undefined()])),
|
|
512
385
|
getCurrentBaseFees: z.function().returns(GasFees.schema),
|
|
513
386
|
|
|
514
387
|
simulateUtility: z
|
|
@@ -522,10 +395,6 @@ export const PXESchema: ApiSchemaFor<PXE> = {
|
|
|
522
395
|
optional(z.array(schemas.AztecAddress)),
|
|
523
396
|
)
|
|
524
397
|
.returns(UtilitySimulationResult.schema),
|
|
525
|
-
getPublicLogs: z.function().args(LogFilterSchema).returns(GetPublicLogsResponseSchema),
|
|
526
|
-
getContractClassLogs: z.function().args(LogFilterSchema).returns(GetContractClassLogsResponseSchema),
|
|
527
|
-
getBlockNumber: z.function().returns(z.number()),
|
|
528
|
-
getProvenBlockNumber: z.function().returns(z.number()),
|
|
529
398
|
getNodeInfo: z.function().returns(NodeInfoSchema),
|
|
530
399
|
getPXEInfo: z.function().returns(PXEInfoSchema),
|
|
531
400
|
getContractMetadata: z.function().args(schemas.AztecAddress).returns(ContractMetadataSchema),
|
|
@@ -534,8 +403,4 @@ export const PXESchema: ApiSchemaFor<PXE> = {
|
|
|
534
403
|
.function()
|
|
535
404
|
.args(schemas.AztecAddress, EventMetadataDefinitionSchema, z.number(), z.number(), z.array(schemas.AztecAddress))
|
|
536
405
|
.returns(z.array(AbiDecodedSchema)),
|
|
537
|
-
getPublicEvents: z
|
|
538
|
-
.function()
|
|
539
|
-
.args(EventMetadataDefinitionSchema, z.number(), z.number())
|
|
540
|
-
.returns(z.array(AbiDecodedSchema)),
|
|
541
406
|
};
|
|
@@ -7,11 +7,10 @@ import type {
|
|
|
7
7
|
|
|
8
8
|
import type { AvmCircuitInputs } from '../avm/avm.js';
|
|
9
9
|
import type { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js';
|
|
10
|
-
import type {
|
|
10
|
+
import type { ParityBasePrivateInputs } from '../parity/parity_base_private_inputs.js';
|
|
11
11
|
import type { ParityPublicInputs } from '../parity/parity_public_inputs.js';
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
14
|
-
import type { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup.js';
|
|
12
|
+
import type { ParityRootPrivateInputs } from '../parity/parity_root_private_inputs.js';
|
|
13
|
+
import type { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
|
|
15
14
|
import type { BlockRollupPublicInputs } from '../rollup/block_rollup_public_inputs.js';
|
|
16
15
|
import type {
|
|
17
16
|
BlockRootEmptyTxFirstRollupPrivateInputs,
|
|
@@ -19,19 +18,21 @@ import type {
|
|
|
19
18
|
BlockRootRollupPrivateInputs,
|
|
20
19
|
BlockRootSingleTxFirstRollupPrivateInputs,
|
|
21
20
|
BlockRootSingleTxRollupPrivateInputs,
|
|
22
|
-
} from '../rollup/
|
|
23
|
-
import type { CheckpointMergeRollupPrivateInputs } from '../rollup/
|
|
21
|
+
} from '../rollup/block_root_rollup_private_inputs.js';
|
|
22
|
+
import type { CheckpointMergeRollupPrivateInputs } from '../rollup/checkpoint_merge_rollup_private_inputs.js';
|
|
24
23
|
import type { CheckpointRollupPublicInputs } from '../rollup/checkpoint_rollup_public_inputs.js';
|
|
25
24
|
import type {
|
|
26
25
|
CheckpointPaddingRollupPrivateInputs,
|
|
27
26
|
CheckpointRootRollupPrivateInputs,
|
|
28
27
|
CheckpointRootSingleBlockRollupPrivateInputs,
|
|
29
|
-
} from '../rollup/
|
|
30
|
-
import type {
|
|
31
|
-
import type {
|
|
32
|
-
import type {
|
|
33
|
-
import type {
|
|
34
|
-
import type {
|
|
28
|
+
} from '../rollup/checkpoint_root_rollup_private_inputs.js';
|
|
29
|
+
import type { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
|
|
30
|
+
import type { PublicTubePrivateInputs } from '../rollup/public_tube_private_inputs.js';
|
|
31
|
+
import type { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
|
|
32
|
+
import type { RootRollupPrivateInputs } from '../rollup/root_rollup_private_inputs.js';
|
|
33
|
+
import type { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
34
|
+
import type { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
|
|
35
|
+
import type { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
|
|
35
36
|
import type { Tx } from '../tx/tx.js';
|
|
36
37
|
import type { ProofAndVerificationKey, PublicInputsAndRecursiveProof } from './proving-job.js';
|
|
37
38
|
|
|
@@ -44,7 +45,7 @@ export interface ServerCircuitProver {
|
|
|
44
45
|
* @param input - Input to the circuit.
|
|
45
46
|
*/
|
|
46
47
|
getBaseParityProof(
|
|
47
|
-
inputs:
|
|
48
|
+
inputs: ParityBasePrivateInputs,
|
|
48
49
|
signal?: AbortSignal,
|
|
49
50
|
epochNumber?: number,
|
|
50
51
|
): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
@@ -54,7 +55,7 @@ export interface ServerCircuitProver {
|
|
|
54
55
|
* @param input - Input to the circuit.
|
|
55
56
|
*/
|
|
56
57
|
getRootParityProof(
|
|
57
|
-
inputs:
|
|
58
|
+
inputs: ParityRootPrivateInputs,
|
|
58
59
|
signal?: AbortSignal,
|
|
59
60
|
epochNumber?: number,
|
|
60
61
|
): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
|
|
@@ -74,33 +75,27 @@ export interface ServerCircuitProver {
|
|
|
74
75
|
* Creates a proof for the given input.
|
|
75
76
|
* @param input - Input to the circuit.
|
|
76
77
|
*/
|
|
77
|
-
|
|
78
|
-
baseRollupInput:
|
|
78
|
+
getPrivateTxBaseRollupProof(
|
|
79
|
+
baseRollupInput: PrivateTxBaseRollupPrivateInputs,
|
|
79
80
|
signal?: AbortSignal,
|
|
80
81
|
epochNumber?: number,
|
|
81
|
-
): Promise<
|
|
82
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
83
|
-
>;
|
|
82
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
84
83
|
|
|
85
|
-
|
|
86
|
-
inputs:
|
|
84
|
+
getPublicTxBaseRollupProof(
|
|
85
|
+
inputs: PublicTxBaseRollupPrivateInputs,
|
|
87
86
|
signal?: AbortSignal,
|
|
88
87
|
epochNumber?: number,
|
|
89
|
-
): Promise<
|
|
90
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
91
|
-
>;
|
|
88
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
92
89
|
|
|
93
90
|
/**
|
|
94
91
|
* Creates a proof for the given input.
|
|
95
92
|
* @param input - Input to the circuit.
|
|
96
93
|
*/
|
|
97
|
-
|
|
98
|
-
input:
|
|
94
|
+
getTxMergeRollupProof(
|
|
95
|
+
input: TxMergeRollupPrivateInputs,
|
|
99
96
|
signal?: AbortSignal,
|
|
100
97
|
epochNumber?: number,
|
|
101
|
-
): Promise<
|
|
102
|
-
PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
|
|
103
|
-
>;
|
|
98
|
+
): Promise<PublicInputsAndRecursiveProof<TxRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
104
99
|
|
|
105
100
|
/**
|
|
106
101
|
* Creates a proof for the given input.
|
package/src/parity/index.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './parity_base_private_inputs.js';
|
|
2
2
|
export * from './parity_public_inputs.js';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './root_parity_inputs.js';
|
|
3
|
+
export * from './parity_root_private_inputs.js';
|
|
@@ -4,7 +4,7 @@ import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
|
4
4
|
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
6
6
|
|
|
7
|
-
export class
|
|
7
|
+
export class ParityBasePrivateInputs {
|
|
8
8
|
constructor(
|
|
9
9
|
/** Aggregated proof of all the parity circuit iterations. */
|
|
10
10
|
public readonly msgs: Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>,
|
|
@@ -16,11 +16,11 @@ export class BaseParityInputs {
|
|
|
16
16
|
array: Tuple<Fr, typeof NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP>,
|
|
17
17
|
index: number,
|
|
18
18
|
vkTreeRoot: Fr,
|
|
19
|
-
):
|
|
19
|
+
): ParityBasePrivateInputs {
|
|
20
20
|
const start = index * NUM_MSGS_PER_BASE_PARITY;
|
|
21
21
|
const end = start + NUM_MSGS_PER_BASE_PARITY;
|
|
22
22
|
const msgs = array.slice(start, end);
|
|
23
|
-
return new
|
|
23
|
+
return new ParityBasePrivateInputs(msgs as Tuple<Fr, typeof NUM_MSGS_PER_BASE_PARITY>, vkTreeRoot);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
/** Serializes the inputs to a buffer. */
|
|
@@ -39,7 +39,7 @@ export class BaseParityInputs {
|
|
|
39
39
|
*/
|
|
40
40
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
41
41
|
const reader = BufferReader.asReader(buffer);
|
|
42
|
-
return new
|
|
42
|
+
return new ParityBasePrivateInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr), Fr.fromBuffer(reader));
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
@@ -48,7 +48,7 @@ export class BaseParityInputs {
|
|
|
48
48
|
* @returns - The deserialized inputs.
|
|
49
49
|
*/
|
|
50
50
|
static fromString(str: string) {
|
|
51
|
-
return
|
|
51
|
+
return ParityBasePrivateInputs.fromBuffer(hexToBuffer(str));
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/** Returns a buffer representation for JSON serialization. */
|
|
@@ -58,6 +58,6 @@ export class BaseParityInputs {
|
|
|
58
58
|
|
|
59
59
|
/** Creates an instance from a hex string. */
|
|
60
60
|
static get schema() {
|
|
61
|
-
return bufferSchemaFor(
|
|
61
|
+
return bufferSchemaFor(ParityBasePrivateInputs);
|
|
62
62
|
}
|
|
63
63
|
}
|