@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
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
1
|
+
import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '@aztec/constants';
|
|
2
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
2
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
5
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
6
|
|
|
6
|
-
import {
|
|
7
|
+
import { ProofData, type UltraHonkProofData } from '../proofs/proof_data.js';
|
|
8
|
+
import { ParityPublicInputs } from './parity_public_inputs.js';
|
|
7
9
|
|
|
8
|
-
export
|
|
10
|
+
export type ParityBaseProofData = UltraHonkProofData<ParityPublicInputs>;
|
|
11
|
+
|
|
12
|
+
export class ParityRootPrivateInputs {
|
|
9
13
|
constructor(
|
|
10
|
-
/** Public inputs of
|
|
11
|
-
public readonly children: Tuple<
|
|
12
|
-
RootParityInput<typeof RECURSIVE_PROOF_LENGTH>,
|
|
13
|
-
typeof NUM_BASE_PARITY_PER_ROOT_PARITY
|
|
14
|
-
>,
|
|
14
|
+
/** Public inputs of the parity base circuits and their proofs and vk data. */
|
|
15
|
+
public readonly children: Tuple<ParityBaseProofData, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
|
|
15
16
|
) {}
|
|
16
17
|
|
|
17
18
|
/**
|
|
@@ -19,7 +20,7 @@ export class RootParityInputs {
|
|
|
19
20
|
* @returns The inputs serialized to a buffer.
|
|
20
21
|
*/
|
|
21
22
|
toBuffer() {
|
|
22
|
-
return serializeToBuffer(
|
|
23
|
+
return serializeToBuffer(this.children);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
/**
|
|
@@ -33,25 +34,22 @@ export class RootParityInputs {
|
|
|
33
34
|
/**
|
|
34
35
|
* Deserializes the inputs from a buffer.
|
|
35
36
|
* @param buffer - The buffer to deserialize from.
|
|
36
|
-
* @returns A new
|
|
37
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
37
38
|
*/
|
|
38
39
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
39
40
|
const reader = BufferReader.asReader(buffer);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
);
|
|
43
|
-
return new RootParityInputs(
|
|
44
|
-
tuple as Tuple<RootParityInput<typeof RECURSIVE_PROOF_LENGTH>, typeof NUM_BASE_PARITY_PER_ROOT_PARITY>,
|
|
41
|
+
return new ParityRootPrivateInputs(
|
|
42
|
+
makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, () => ProofData.fromBuffer(reader, ParityPublicInputs)),
|
|
45
43
|
);
|
|
46
44
|
}
|
|
47
45
|
|
|
48
46
|
/**
|
|
49
47
|
* Deserializes the inputs from a hex string.
|
|
50
48
|
* @param str - A hex string to deserialize from.
|
|
51
|
-
* @returns A new
|
|
49
|
+
* @returns A new ParityRootPrivateInputs instance.
|
|
52
50
|
*/
|
|
53
51
|
static fromString(str: string) {
|
|
54
|
-
return
|
|
52
|
+
return ParityRootPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
55
53
|
}
|
|
56
54
|
|
|
57
55
|
/** Returns a buffer representation for JSON serialization. */
|
|
@@ -61,6 +59,6 @@ export class RootParityInputs {
|
|
|
61
59
|
|
|
62
60
|
/** Creates an instance from a hex string. */
|
|
63
61
|
static get schema() {
|
|
64
|
-
return bufferSchemaFor(
|
|
62
|
+
return bufferSchemaFor(ParityRootPrivateInputs);
|
|
65
63
|
}
|
|
66
64
|
}
|
package/src/proofs/proof_data.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CIVC_PROOF_LENGTH,
|
|
1
|
+
import type { CIVC_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
2
|
import { BufferReader, type Bufferable, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
3
|
|
|
4
4
|
import { RecursiveProof } from '../proofs/recursive_proof.js';
|
|
@@ -31,4 +31,6 @@ export class ProofData<T extends Bufferable, PROOF_LENGTH extends number> {
|
|
|
31
31
|
|
|
32
32
|
export type CivcProofData<T extends Bufferable> = ProofData<T, typeof CIVC_PROOF_LENGTH>;
|
|
33
33
|
|
|
34
|
-
export type
|
|
34
|
+
export type UltraHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_PROOF_LENGTH>;
|
|
35
|
+
|
|
36
|
+
export type RollupHonkProofData<T extends Bufferable> = ProofData<T, typeof RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export enum ProvingRequestType {
|
|
2
2
|
PUBLIC_VM,
|
|
3
3
|
PUBLIC_TUBE,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
|
|
5
|
+
PRIVATE_TX_BASE_ROLLUP,
|
|
6
|
+
PUBLIC_TX_BASE_ROLLUP,
|
|
7
|
+
TX_MERGE_ROLLUP,
|
|
7
8
|
BLOCK_ROOT_FIRST_ROLLUP,
|
|
8
9
|
BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP,
|
|
9
10
|
BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP,
|
|
@@ -16,6 +17,6 @@ export enum ProvingRequestType {
|
|
|
16
17
|
CHECKPOINT_MERGE_ROLLUP,
|
|
17
18
|
ROOT_ROLLUP,
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
PARITY_BASE,
|
|
21
|
+
PARITY_ROOT,
|
|
21
22
|
}
|
|
@@ -2,9 +2,8 @@ import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
|
2
2
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
3
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
4
4
|
|
|
5
|
-
import { ProofData } from '../proofs/
|
|
5
|
+
import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
6
6
|
import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
|
|
7
|
-
import type { RollupProofData } from './rollup_proof_data.js';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Represents inputs of the block merge rollup circuit.
|
|
@@ -14,7 +13,10 @@ export class BlockMergeRollupPrivateInputs {
|
|
|
14
13
|
/**
|
|
15
14
|
* Previous rollup data from the 2 block merge or block root rollup circuits that preceded this merge rollup circuit.
|
|
16
15
|
*/
|
|
17
|
-
public previousRollups: [
|
|
16
|
+
public previousRollups: [
|
|
17
|
+
RollupHonkProofData<BlockRollupPublicInputs>,
|
|
18
|
+
RollupHonkProofData<BlockRollupPublicInputs>,
|
|
19
|
+
],
|
|
18
20
|
) {}
|
|
19
21
|
|
|
20
22
|
/**
|
|
@@ -6,27 +6,23 @@ import { BufferReader, type Tuple, bigintToUInt64BE, serializeToBuffer } from '@
|
|
|
6
6
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
7
7
|
|
|
8
8
|
import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
|
|
9
|
-
import { ProofData } from '../proofs/proof_data.js';
|
|
9
|
+
import { ProofData, type RollupHonkProofData, type UltraHonkProofData } from '../proofs/proof_data.js';
|
|
10
10
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
11
11
|
import { StateReference } from '../tx/state_reference.js';
|
|
12
12
|
import type { UInt64 } from '../types/shared.js';
|
|
13
|
-
import { BaseOrMergeRollupPublicInputs } from './base_or_merge_rollup_public_inputs.js';
|
|
14
13
|
import { CheckpointConstantData } from './checkpoint_constant_data.js';
|
|
15
|
-
import
|
|
14
|
+
import { TxRollupPublicInputs } from './tx_rollup_public_inputs.js';
|
|
16
15
|
|
|
17
16
|
export class BlockRootFirstRollupPrivateInputs {
|
|
18
17
|
constructor(
|
|
19
18
|
/**
|
|
20
19
|
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
21
20
|
*/
|
|
22
|
-
public l1ToL2Roots:
|
|
21
|
+
public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
|
|
23
22
|
/**
|
|
24
23
|
* The previous rollup proof data from base or merge rollup circuits.
|
|
25
24
|
*/
|
|
26
|
-
public previousRollups: [
|
|
27
|
-
RollupProofData<BaseOrMergeRollupPublicInputs>,
|
|
28
|
-
RollupProofData<BaseOrMergeRollupPublicInputs>,
|
|
29
|
-
],
|
|
25
|
+
public previousRollups: [RollupHonkProofData<TxRollupPublicInputs>, RollupHonkProofData<TxRollupPublicInputs>],
|
|
30
26
|
/**
|
|
31
27
|
* The l1 to l2 message tree snapshot immediately before this block.
|
|
32
28
|
*/
|
|
@@ -63,10 +59,7 @@ export class BlockRootFirstRollupPrivateInputs {
|
|
|
63
59
|
const reader = BufferReader.asReader(buffer);
|
|
64
60
|
return new BlockRootFirstRollupPrivateInputs(
|
|
65
61
|
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
66
|
-
[
|
|
67
|
-
ProofData.fromBuffer(reader, BaseOrMergeRollupPublicInputs),
|
|
68
|
-
ProofData.fromBuffer(reader, BaseOrMergeRollupPublicInputs),
|
|
69
|
-
],
|
|
62
|
+
[ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
|
|
70
63
|
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
71
64
|
reader.readArray(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, Fr),
|
|
72
65
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
@@ -87,11 +80,11 @@ export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
|
87
80
|
/**
|
|
88
81
|
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
89
82
|
*/
|
|
90
|
-
public l1ToL2Roots:
|
|
83
|
+
public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
|
|
91
84
|
/**
|
|
92
85
|
* The previous rollup proof data from base or merge rollup circuits.
|
|
93
86
|
*/
|
|
94
|
-
public previousRollup:
|
|
87
|
+
public previousRollup: RollupHonkProofData<TxRollupPublicInputs>,
|
|
95
88
|
/**
|
|
96
89
|
* The l1 to l2 message tree snapshot immediately before this block.
|
|
97
90
|
*/
|
|
@@ -130,7 +123,7 @@ export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
|
130
123
|
const reader = BufferReader.asReader(buffer);
|
|
131
124
|
return new BlockRootSingleTxFirstRollupPrivateInputs(
|
|
132
125
|
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
133
|
-
ProofData.fromBuffer(reader,
|
|
126
|
+
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
134
127
|
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
135
128
|
reader.readArray(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, Fr),
|
|
136
129
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
@@ -151,7 +144,7 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
|
151
144
|
/**
|
|
152
145
|
* The original and converted roots of the L1 to L2 messages subtrees.
|
|
153
146
|
*/
|
|
154
|
-
public l1ToL2Roots:
|
|
147
|
+
public l1ToL2Roots: UltraHonkProofData<ParityPublicInputs>,
|
|
155
148
|
/**
|
|
156
149
|
* The archive after applying the previous block.
|
|
157
150
|
*/
|
|
@@ -241,10 +234,7 @@ export class BlockRootRollupPrivateInputs {
|
|
|
241
234
|
/**
|
|
242
235
|
* The previous rollup proof data from base or merge rollup circuits.
|
|
243
236
|
*/
|
|
244
|
-
public previousRollups: [
|
|
245
|
-
RollupProofData<BaseOrMergeRollupPublicInputs>,
|
|
246
|
-
RollupProofData<BaseOrMergeRollupPublicInputs>,
|
|
247
|
-
],
|
|
237
|
+
public previousRollups: [RollupHonkProofData<TxRollupPublicInputs>, RollupHonkProofData<TxRollupPublicInputs>],
|
|
248
238
|
/**
|
|
249
239
|
* Hint for inserting the new block hash to the last archive.
|
|
250
240
|
*/
|
|
@@ -266,10 +256,7 @@ export class BlockRootRollupPrivateInputs {
|
|
|
266
256
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
267
257
|
const reader = BufferReader.asReader(buffer);
|
|
268
258
|
return new BlockRootRollupPrivateInputs(
|
|
269
|
-
[
|
|
270
|
-
ProofData.fromBuffer(reader, BaseOrMergeRollupPublicInputs),
|
|
271
|
-
ProofData.fromBuffer(reader, BaseOrMergeRollupPublicInputs),
|
|
272
|
-
],
|
|
259
|
+
[ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
|
|
273
260
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
274
261
|
);
|
|
275
262
|
}
|
|
@@ -288,7 +275,7 @@ export class BlockRootSingleTxRollupPrivateInputs {
|
|
|
288
275
|
/**
|
|
289
276
|
* The previous rollup proof data from base or merge rollup circuits.
|
|
290
277
|
*/
|
|
291
|
-
public previousRollup:
|
|
278
|
+
public previousRollup: RollupHonkProofData<TxRollupPublicInputs>,
|
|
292
279
|
/**
|
|
293
280
|
* Hint for inserting the new block hash to the last archive.
|
|
294
281
|
*/
|
|
@@ -310,7 +297,7 @@ export class BlockRootSingleTxRollupPrivateInputs {
|
|
|
310
297
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
311
298
|
const reader = BufferReader.asReader(buffer);
|
|
312
299
|
return new BlockRootSingleTxRollupPrivateInputs(
|
|
313
|
-
ProofData.fromBuffer(reader,
|
|
300
|
+
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
314
301
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
315
302
|
);
|
|
316
303
|
}
|
|
@@ -2,9 +2,8 @@ import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
|
2
2
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
3
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
4
4
|
|
|
5
|
-
import { ProofData } from '../proofs/proof_data.js';
|
|
5
|
+
import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
6
6
|
import { CheckpointRollupPublicInputs } from './checkpoint_rollup_public_inputs.js';
|
|
7
|
-
import type { RollupProofData } from './rollup_proof_data.js';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Represents inputs of the checkpoint merge rollup circuit.
|
|
@@ -15,8 +14,8 @@ export class CheckpointMergeRollupPrivateInputs {
|
|
|
15
14
|
* Previous rollup data from the 2 checkpoint root or merge rollup circuits that preceded this checkpoint merge rollup circuit.
|
|
16
15
|
*/
|
|
17
16
|
public previousRollups: [
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
RollupHonkProofData<CheckpointRollupPublicInputs>,
|
|
18
|
+
RollupHonkProofData<CheckpointRollupPublicInputs>,
|
|
20
19
|
],
|
|
21
20
|
) {}
|
|
22
21
|
|
|
@@ -6,10 +6,9 @@ import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/s
|
|
|
6
6
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
7
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
8
8
|
|
|
9
|
-
import { ProofData } from '../proofs/proof_data.js';
|
|
9
|
+
import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
10
10
|
import { BlockHeader } from '../tx/block_header.js';
|
|
11
11
|
import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
|
|
12
|
-
import type { RollupProofData } from './rollup_proof_data.js';
|
|
13
12
|
|
|
14
13
|
export class CheckpointRootRollupHints {
|
|
15
14
|
constructor(
|
|
@@ -100,7 +99,10 @@ export class CheckpointRootRollupHints {
|
|
|
100
99
|
|
|
101
100
|
export class CheckpointRootRollupPrivateInputs {
|
|
102
101
|
constructor(
|
|
103
|
-
public previousRollups: [
|
|
102
|
+
public previousRollups: [
|
|
103
|
+
RollupHonkProofData<BlockRollupPublicInputs>,
|
|
104
|
+
RollupHonkProofData<BlockRollupPublicInputs>,
|
|
105
|
+
],
|
|
104
106
|
public hints: CheckpointRootRollupHints,
|
|
105
107
|
) {}
|
|
106
108
|
|
|
@@ -143,7 +145,7 @@ export class CheckpointRootRollupPrivateInputs {
|
|
|
143
145
|
|
|
144
146
|
export class CheckpointRootSingleBlockRollupPrivateInputs {
|
|
145
147
|
constructor(
|
|
146
|
-
public previousRollup:
|
|
148
|
+
public previousRollup: RollupHonkProofData<BlockRollupPublicInputs>,
|
|
147
149
|
public hints: CheckpointRootRollupHints,
|
|
148
150
|
) {}
|
|
149
151
|
|
package/src/rollup/index.ts
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
export * from './avm_proof_data.js';
|
|
2
|
-
export * from './base_or_merge_rollup_public_inputs.js';
|
|
3
2
|
export * from './base_rollup_hints.js';
|
|
4
3
|
export * from './block_constant_data.js';
|
|
5
|
-
export * from './
|
|
4
|
+
export * from './block_merge_rollup_private_inputs.js';
|
|
6
5
|
export * from './block_rollup_public_inputs.js';
|
|
7
|
-
export * from './
|
|
6
|
+
export * from './block_root_rollup_private_inputs.js';
|
|
8
7
|
export * from './checkpoint_constant_data.js';
|
|
9
8
|
export * from './checkpoint_header.js';
|
|
10
|
-
export * from './
|
|
9
|
+
export * from './checkpoint_merge_rollup_private_inputs.js';
|
|
11
10
|
export * from './checkpoint_rollup_public_inputs.js';
|
|
12
|
-
export * from './
|
|
11
|
+
export * from './checkpoint_root_rollup_private_inputs.js';
|
|
13
12
|
export * from './epoch_constant_data.js';
|
|
14
|
-
export * from './
|
|
15
|
-
export * from './
|
|
16
|
-
export * from './private_base_rollup_inputs.js';
|
|
17
|
-
export * from './public_base_rollup_inputs.js';
|
|
18
|
-
export * from './rollup_proof_data.js';
|
|
13
|
+
export * from './private_tx_base_rollup_private_inputs.js';
|
|
14
|
+
export * from './public_tx_base_rollup_private_inputs.js';
|
|
19
15
|
export * from './public_tube_private_inputs.js';
|
|
20
|
-
export * from './
|
|
16
|
+
export * from './root_rollup_private_inputs.js';
|
|
17
|
+
export * from './root_rollup_public_inputs.js';
|
|
21
18
|
export * from './state_diff_hints.js';
|
|
19
|
+
export * from './tx_merge_rollup_private_inputs.js';
|
|
20
|
+
export * from './tx_rollup_public_inputs.js';
|
package/src/rollup/{private_base_rollup_inputs.ts → private_tx_base_rollup_private_inputs.ts}
RENAMED
|
@@ -7,34 +7,34 @@ import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_r
|
|
|
7
7
|
import { type CivcProofData, ProofData } from '../proofs/proof_data.js';
|
|
8
8
|
import { PrivateBaseRollupHints } from './base_rollup_hints.js';
|
|
9
9
|
|
|
10
|
-
export class
|
|
10
|
+
export class PrivateTxBaseRollupPrivateInputs {
|
|
11
11
|
constructor(
|
|
12
12
|
public hidingKernelProofData: CivcProofData<PrivateToRollupKernelCircuitPublicInputs>,
|
|
13
13
|
public hints: PrivateBaseRollupHints,
|
|
14
14
|
) {}
|
|
15
15
|
|
|
16
|
-
static from(fields: FieldsOf<
|
|
17
|
-
return new
|
|
16
|
+
static from(fields: FieldsOf<PrivateTxBaseRollupPrivateInputs>): PrivateTxBaseRollupPrivateInputs {
|
|
17
|
+
return new PrivateTxBaseRollupPrivateInputs(...PrivateTxBaseRollupPrivateInputs.getFields(fields));
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
static getFields(fields: FieldsOf<
|
|
20
|
+
static getFields(fields: FieldsOf<PrivateTxBaseRollupPrivateInputs>) {
|
|
21
21
|
return [fields.hidingKernelProofData, fields.hints] as const;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
static fromBuffer(buffer: Buffer | BufferReader):
|
|
24
|
+
static fromBuffer(buffer: Buffer | BufferReader): PrivateTxBaseRollupPrivateInputs {
|
|
25
25
|
const reader = BufferReader.asReader(buffer);
|
|
26
|
-
return new
|
|
26
|
+
return new PrivateTxBaseRollupPrivateInputs(
|
|
27
27
|
ProofData.fromBuffer(reader, PrivateToRollupKernelCircuitPublicInputs),
|
|
28
28
|
reader.readObject(PrivateBaseRollupHints),
|
|
29
29
|
);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
toBuffer() {
|
|
33
|
-
return serializeToBuffer(...
|
|
33
|
+
return serializeToBuffer(...PrivateTxBaseRollupPrivateInputs.getFields(this));
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
static fromString(str: string) {
|
|
37
|
-
return
|
|
37
|
+
return PrivateTxBaseRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
toString() {
|
|
@@ -48,6 +48,6 @@ export class PrivateBaseRollupInputs {
|
|
|
48
48
|
|
|
49
49
|
/** Creates an instance from a hex string. */
|
|
50
50
|
static get schema() {
|
|
51
|
-
return bufferSchemaFor(
|
|
51
|
+
return bufferSchemaFor(PrivateTxBaseRollupPrivateInputs);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
@@ -8,24 +8,24 @@ import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
|
8
8
|
import { AvmProofData } from './avm_proof_data.js';
|
|
9
9
|
import { PublicBaseRollupHints } from './base_rollup_hints.js';
|
|
10
10
|
|
|
11
|
-
export class
|
|
11
|
+
export class PublicTxBaseRollupPrivateInputs {
|
|
12
12
|
constructor(
|
|
13
13
|
public publicTubeProofData: RollupHonkProofData<PrivateToPublicKernelCircuitPublicInputs>,
|
|
14
14
|
public avmProofData: AvmProofData,
|
|
15
15
|
public hints: PublicBaseRollupHints,
|
|
16
16
|
) {}
|
|
17
17
|
|
|
18
|
-
static from(fields: FieldsOf<
|
|
19
|
-
return new
|
|
18
|
+
static from(fields: FieldsOf<PublicTxBaseRollupPrivateInputs>): PublicTxBaseRollupPrivateInputs {
|
|
19
|
+
return new PublicTxBaseRollupPrivateInputs(...PublicTxBaseRollupPrivateInputs.getFields(fields));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
static getFields(fields: FieldsOf<
|
|
22
|
+
static getFields(fields: FieldsOf<PublicTxBaseRollupPrivateInputs>) {
|
|
23
23
|
return [fields.publicTubeProofData, fields.avmProofData, fields.hints] as const;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
static fromBuffer(buffer: Buffer | BufferReader):
|
|
26
|
+
static fromBuffer(buffer: Buffer | BufferReader): PublicTxBaseRollupPrivateInputs {
|
|
27
27
|
const reader = BufferReader.asReader(buffer);
|
|
28
|
-
return new
|
|
28
|
+
return new PublicTxBaseRollupPrivateInputs(
|
|
29
29
|
ProofData.fromBuffer(reader, PrivateToPublicKernelCircuitPublicInputs),
|
|
30
30
|
reader.readObject(AvmProofData),
|
|
31
31
|
reader.readObject(PublicBaseRollupHints),
|
|
@@ -33,11 +33,11 @@ export class PublicBaseRollupInputs {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
toBuffer() {
|
|
36
|
-
return serializeToBuffer(...
|
|
36
|
+
return serializeToBuffer(...PublicTxBaseRollupPrivateInputs.getFields(this));
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
static fromString(str: string) {
|
|
40
|
-
return
|
|
40
|
+
return PublicTxBaseRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
toString() {
|
|
@@ -51,6 +51,6 @@ export class PublicBaseRollupInputs {
|
|
|
51
51
|
|
|
52
52
|
/** Creates an instance from a string. */
|
|
53
53
|
static get schema() {
|
|
54
|
-
return bufferSchemaFor(
|
|
54
|
+
return bufferSchemaFor(PublicTxBaseRollupPrivateInputs);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
2
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
|
+
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
4
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
|
+
|
|
6
|
+
import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
7
|
+
import { CheckpointRollupPublicInputs } from './checkpoint_rollup_public_inputs.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Represents inputs of the root rollup circuit.
|
|
11
|
+
*/
|
|
12
|
+
export class RootRollupPrivateInputs {
|
|
13
|
+
constructor(
|
|
14
|
+
/**
|
|
15
|
+
* The previous rollup data.
|
|
16
|
+
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
17
|
+
* from 2 checkpoint root/merge/padding circuits.
|
|
18
|
+
*/
|
|
19
|
+
public previousRollups: [
|
|
20
|
+
RollupHonkProofData<CheckpointRollupPublicInputs>,
|
|
21
|
+
RollupHonkProofData<CheckpointRollupPublicInputs>,
|
|
22
|
+
],
|
|
23
|
+
) {}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Serializes the inputs to a buffer.
|
|
27
|
+
* @returns - The inputs serialized to a buffer.
|
|
28
|
+
*/
|
|
29
|
+
toBuffer() {
|
|
30
|
+
return serializeToBuffer(...RootRollupPrivateInputs.getFields(this));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Serializes the inputs to a hex string.
|
|
35
|
+
* @returns The instance serialized to a hex string.
|
|
36
|
+
*/
|
|
37
|
+
toString() {
|
|
38
|
+
return bufferToHex(this.toBuffer());
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new instance from fields.
|
|
43
|
+
* @param fields - Fields to create the instance from.
|
|
44
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
45
|
+
*/
|
|
46
|
+
static from(fields: FieldsOf<RootRollupPrivateInputs>) {
|
|
47
|
+
return new RootRollupPrivateInputs(...RootRollupPrivateInputs.getFields(fields));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Extracts fields from an instance.
|
|
52
|
+
* @param fields - Fields to create the instance from.
|
|
53
|
+
* @returns An array of fields.
|
|
54
|
+
*/
|
|
55
|
+
static getFields(fields: FieldsOf<RootRollupPrivateInputs>) {
|
|
56
|
+
return [fields.previousRollups] as const;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Deserializes the inputs from a buffer.
|
|
61
|
+
* @param buffer - A buffer to deserialize from.
|
|
62
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
63
|
+
*/
|
|
64
|
+
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
65
|
+
const reader = BufferReader.asReader(buffer);
|
|
66
|
+
return new RootRollupPrivateInputs([
|
|
67
|
+
ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
|
|
68
|
+
ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
|
|
69
|
+
]);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Deserializes the inputs from a hex string.
|
|
74
|
+
* @param str - A hex string to deserialize from.
|
|
75
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
76
|
+
*/
|
|
77
|
+
static fromString(str: string) {
|
|
78
|
+
return RootRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** Returns a representation for JSON serialization. */
|
|
82
|
+
toJSON() {
|
|
83
|
+
return this.toBuffer();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/** Creates an instance from a string. */
|
|
87
|
+
static get schema() {
|
|
88
|
+
return bufferSchemaFor(RootRollupPrivateInputs);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -7,93 +7,8 @@ import { BufferReader, type Tuple, serializeToBuffer, serializeToFields } from '
|
|
|
7
7
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
8
8
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
9
9
|
|
|
10
|
-
import {
|
|
11
|
-
import { CheckpointRollupPublicInputs, FeeRecipient } from './checkpoint_rollup_public_inputs.js';
|
|
10
|
+
import { FeeRecipient } from './checkpoint_rollup_public_inputs.js';
|
|
12
11
|
import { EpochConstantData } from './epoch_constant_data.js';
|
|
13
|
-
import type { RollupProofData } from './rollup_proof_data.js';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Represents inputs of the root rollup circuit.
|
|
17
|
-
*/
|
|
18
|
-
export class RootRollupPrivateInputs {
|
|
19
|
-
constructor(
|
|
20
|
-
/**
|
|
21
|
-
* The previous rollup data.
|
|
22
|
-
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
23
|
-
* from 2 checkpoint root/merge/padding circuits.
|
|
24
|
-
*/
|
|
25
|
-
public previousRollups: [
|
|
26
|
-
RollupProofData<CheckpointRollupPublicInputs>,
|
|
27
|
-
RollupProofData<CheckpointRollupPublicInputs>,
|
|
28
|
-
],
|
|
29
|
-
) {}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Serializes the inputs to a buffer.
|
|
33
|
-
* @returns - The inputs serialized to a buffer.
|
|
34
|
-
*/
|
|
35
|
-
toBuffer() {
|
|
36
|
-
return serializeToBuffer(...RootRollupPrivateInputs.getFields(this));
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Serializes the inputs to a hex string.
|
|
41
|
-
* @returns The instance serialized to a hex string.
|
|
42
|
-
*/
|
|
43
|
-
toString() {
|
|
44
|
-
return bufferToHex(this.toBuffer());
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Creates a new instance from fields.
|
|
49
|
-
* @param fields - Fields to create the instance from.
|
|
50
|
-
* @returns A new RootRollupPrivateInputs instance.
|
|
51
|
-
*/
|
|
52
|
-
static from(fields: FieldsOf<RootRollupPrivateInputs>) {
|
|
53
|
-
return new RootRollupPrivateInputs(...RootRollupPrivateInputs.getFields(fields));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Extracts fields from an instance.
|
|
58
|
-
* @param fields - Fields to create the instance from.
|
|
59
|
-
* @returns An array of fields.
|
|
60
|
-
*/
|
|
61
|
-
static getFields(fields: FieldsOf<RootRollupPrivateInputs>) {
|
|
62
|
-
return [fields.previousRollups] as const;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Deserializes the inputs from a buffer.
|
|
67
|
-
* @param buffer - A buffer to deserialize from.
|
|
68
|
-
* @returns A new RootRollupPrivateInputs instance.
|
|
69
|
-
*/
|
|
70
|
-
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
71
|
-
const reader = BufferReader.asReader(buffer);
|
|
72
|
-
return new RootRollupPrivateInputs([
|
|
73
|
-
ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
|
|
74
|
-
ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
|
|
75
|
-
]);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Deserializes the inputs from a hex string.
|
|
80
|
-
* @param str - A hex string to deserialize from.
|
|
81
|
-
* @returns A new RootRollupPrivateInputs instance.
|
|
82
|
-
*/
|
|
83
|
-
static fromString(str: string) {
|
|
84
|
-
return RootRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/** Returns a representation for JSON serialization. */
|
|
88
|
-
toJSON() {
|
|
89
|
-
return this.toBuffer();
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/** Creates an instance from a string. */
|
|
93
|
-
static get schema() {
|
|
94
|
-
return bufferSchemaFor(RootRollupPrivateInputs);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
12
|
|
|
98
13
|
/**
|
|
99
14
|
* Represents public inputs of the root rollup circuit.
|