@aztec/stdlib 3.0.0-nightly.20250917 → 3.0.0-nightly.20250918
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/avm/avm.d.ts +6 -0
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +6 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.js +11 -6
- package/dest/avm/avm_proving_request.d.ts +7 -0
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/body.d.ts +4 -1
- package/dest/block/body.d.ts.map +1 -1
- package/dest/block/body.js +16 -5
- package/dest/block/index.d.ts +1 -0
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block.d.ts +8 -5
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +14 -7
- package/dest/block/l2_block_code_to_purge.d.ts +3 -14
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +23 -13
- package/dest/block/l2_block_header.d.ts +100 -0
- package/dest/block/l2_block_header.d.ts.map +1 -0
- package/dest/block/l2_block_header.js +146 -0
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
- package/dest/block/published_l2_block.d.ts +2 -2
- package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
- package/dest/block/test/l2_tips_store_test_suite.js +1 -3
- package/dest/interfaces/block-builder.d.ts +1 -2
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/epoch-prover.d.ts +25 -8
- package/dest/interfaces/epoch-prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +170 -61
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +101 -39
- package/dest/interfaces/server_circuit_prover.d.ts +19 -16
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +3 -2
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +4 -4
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_context_inputs.d.ts +2 -2
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
- package/dest/p2p/consensus_payload.d.ts +7 -6
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +7 -6
- package/dest/parity/root_parity_input.d.ts +1 -1
- package/dest/proofs/proof_data.d.ts +1 -1
- package/dest/proofs/proof_data.d.ts.map +1 -1
- package/dest/proofs/proof_data.js +2 -2
- package/dest/proofs/proving_request_type.d.ts +13 -8
- package/dest/proofs/proving_request_type.d.ts.map +1 -1
- package/dest/proofs/proving_request_type.js +13 -8
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +1 -1
- package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/base_or_merge_rollup_public_inputs.js +1 -1
- package/dest/rollup/base_rollup_hints.d.ts +12 -3
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +11 -5
- package/dest/rollup/block_constant_data.d.ts +20 -6
- package/dest/rollup/block_constant_data.d.ts.map +1 -1
- package/dest/rollup/block_constant_data.js +15 -7
- package/dest/rollup/block_merge_rollup.d.ts +10 -9
- package/dest/rollup/block_merge_rollup.d.ts.map +1 -1
- package/dest/rollup/block_merge_rollup.js +14 -13
- package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
- package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/block_rollup_public_inputs.js +85 -0
- package/dest/rollup/block_root_rollup.d.ts +148 -184
- package/dest/rollup/block_root_rollup.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup.js +211 -260
- package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
- package/dest/rollup/checkpoint_constant_data.js +55 -0
- package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +11 -12
- package/dest/rollup/checkpoint_header.d.ts.map +1 -0
- package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
- package/dest/rollup/checkpoint_merge_rollup.d.ts +30 -0
- package/dest/rollup/checkpoint_merge_rollup.d.ts.map +1 -0
- package/dest/rollup/checkpoint_merge_rollup.js +37 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +105 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.js +105 -0
- package/dest/rollup/checkpoint_root_rollup.d.ts +117 -0
- package/dest/rollup/checkpoint_root_rollup.d.ts.map +1 -0
- package/dest/rollup/checkpoint_root_rollup.js +178 -0
- package/dest/rollup/epoch_constant_data.d.ts +19 -2
- package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
- package/dest/rollup/epoch_constant_data.js +20 -7
- package/dest/rollup/index.d.ts +8 -5
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +8 -5
- package/dest/rollup/rollup_proof_data.d.ts +10 -0
- package/dest/rollup/rollup_proof_data.d.ts.map +1 -0
- package/dest/rollup/rollup_proof_data.js +1 -0
- package/dest/rollup/root_rollup.d.ts +26 -23
- package/dest/rollup/root_rollup.d.ts.map +1 -1
- package/dest/rollup/root_rollup.js +28 -39
- package/dest/stats/stats.d.ts +1 -1
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +15 -40
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +70 -78
- package/dest/tests/mocks.d.ts +3 -2
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -3
- package/dest/tx/block_header.d.ts +12 -13
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +16 -21
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +0 -1
- package/dest/tx/index.d.ts +0 -1
- package/dest/tx/index.d.ts.map +1 -1
- package/dest/tx/index.js +0 -1
- package/dest/tx/private_execution_result.d.ts +2 -2
- package/dest/tx/private_execution_result.d.ts.map +1 -1
- package/dest/tx/private_execution_result.js +3 -3
- package/dest/tx/tx_constant_data.d.ts +4 -4
- package/dest/tx/tx_constant_data.d.ts.map +1 -1
- package/dest/tx/tx_constant_data.js +6 -6
- package/dest/tx/tx_effect.d.ts +0 -3
- package/dest/tx/tx_effect.d.ts.map +1 -1
- package/dest/tx/tx_effect.js +2 -7
- package/package.json +8 -8
- package/src/avm/avm_circuit_public_inputs.ts +10 -0
- package/src/block/body.ts +23 -6
- package/src/block/index.ts +1 -0
- package/src/block/l2_block.ts +18 -8
- package/src/block/l2_block_code_to_purge.ts +30 -31
- package/src/block/l2_block_header.ts +232 -0
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
- package/src/block/test/l2_tips_store_test_suite.ts +1 -2
- package/src/interfaces/block-builder.ts +1 -6
- package/src/interfaces/epoch-prover.ts +34 -10
- package/src/interfaces/proving-job.ts +166 -51
- package/src/interfaces/server_circuit_prover.ts +65 -29
- package/src/interfaces/validator.ts +3 -2
- package/src/kernel/private_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_context_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
- package/src/p2p/consensus_payload.ts +8 -7
- package/src/proofs/proof_data.ts +1 -6
- package/src/proofs/proving_request_type.ts +8 -3
- package/src/rollup/base_or_merge_rollup_public_inputs.ts +1 -1
- package/src/rollup/base_rollup_hints.ts +9 -1
- package/src/rollup/block_constant_data.ts +13 -3
- package/src/rollup/block_merge_rollup.ts +13 -11
- package/src/rollup/block_rollup_public_inputs.ts +123 -0
- package/src/rollup/block_root_rollup.ts +209 -264
- package/src/rollup/checkpoint_constant_data.ts +84 -0
- package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +16 -17
- package/src/rollup/checkpoint_merge_rollup.ts +50 -0
- package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +26 -52
- package/src/rollup/checkpoint_root_rollup.ts +216 -0
- package/src/rollup/epoch_constant_data.ts +32 -8
- package/src/rollup/index.ts +8 -5
- package/src/rollup/rollup_proof_data.ts +12 -0
- package/src/rollup/root_rollup.ts +30 -41
- package/src/stats/stats.ts +8 -3
- package/src/tests/factories.ts +124 -135
- package/src/tests/mocks.ts +6 -13
- package/src/tx/block_header.ts +17 -32
- package/src/tx/global_variables.ts +0 -1
- package/src/tx/index.ts +0 -1
- package/src/tx/private_execution_result.ts +3 -3
- package/src/tx/tx_constant_data.ts +4 -4
- package/src/tx/tx_effect.ts +2 -7
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
- package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
- package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
- package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
- package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
- package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
- package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
- package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
- package/dest/rollup/previous_rollup_block_data.js +0 -37
- package/dest/tx/proposed_block_header.d.ts.map +0 -1
- package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
- package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
- package/src/rollup/previous_rollup_block_data.ts +0 -48
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { BlobAccumulatorPublicInputs, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
|
|
2
|
+
import { ARCHIVE_HEIGHT, BLOBS_PER_BLOCK, FIELDS_PER_BLOB } from '@aztec/constants';
|
|
3
|
+
import { BLS12Point, Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
|
+
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
|
+
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
|
+
import { ProofData } from '../proofs/proof_data.js';
|
|
8
|
+
import { BlockHeader } from '../tx/block_header.js';
|
|
9
|
+
import { BlockRollupPublicInputs } from './block_rollup_public_inputs.js';
|
|
10
|
+
export class CheckpointRootRollupHints {
|
|
11
|
+
previousBlockHeader;
|
|
12
|
+
previousArchiveSiblingPath;
|
|
13
|
+
startBlobAccumulator;
|
|
14
|
+
finalBlobChallenges;
|
|
15
|
+
blobFields;
|
|
16
|
+
blobCommitments;
|
|
17
|
+
blobsHash;
|
|
18
|
+
constructor(/**
|
|
19
|
+
* The header of the previous block before this checkpoint.
|
|
20
|
+
*/ previousBlockHeader, /**
|
|
21
|
+
* Hint for checking the hash of previous_block_header is the last leaf of the previous archive.
|
|
22
|
+
*/ previousArchiveSiblingPath, /**
|
|
23
|
+
* The current blob accumulation state across the epoch.
|
|
24
|
+
*/ startBlobAccumulator, /**
|
|
25
|
+
* Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
|
|
26
|
+
*/ finalBlobChallenges, /**
|
|
27
|
+
* Flat list of all tx effects which will be added to the blob.
|
|
28
|
+
* Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
29
|
+
* Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_BLOCK>
|
|
30
|
+
*/ blobFields, /**
|
|
31
|
+
* KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
|
|
32
|
+
*/ blobCommitments, /**
|
|
33
|
+
* The hash of eth blob hashes for this block
|
|
34
|
+
* See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
|
|
35
|
+
*/ blobsHash){
|
|
36
|
+
this.previousBlockHeader = previousBlockHeader;
|
|
37
|
+
this.previousArchiveSiblingPath = previousArchiveSiblingPath;
|
|
38
|
+
this.startBlobAccumulator = startBlobAccumulator;
|
|
39
|
+
this.finalBlobChallenges = finalBlobChallenges;
|
|
40
|
+
this.blobFields = blobFields;
|
|
41
|
+
this.blobCommitments = blobCommitments;
|
|
42
|
+
this.blobsHash = blobsHash;
|
|
43
|
+
}
|
|
44
|
+
static from(fields) {
|
|
45
|
+
return new CheckpointRootRollupHints(...CheckpointRootRollupHints.getFields(fields));
|
|
46
|
+
}
|
|
47
|
+
static getFields(fields) {
|
|
48
|
+
return [
|
|
49
|
+
fields.previousBlockHeader,
|
|
50
|
+
fields.previousArchiveSiblingPath,
|
|
51
|
+
fields.startBlobAccumulator,
|
|
52
|
+
fields.finalBlobChallenges,
|
|
53
|
+
fields.blobFields,
|
|
54
|
+
fields.blobCommitments,
|
|
55
|
+
fields.blobsHash
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
toBuffer() {
|
|
59
|
+
return serializeToBuffer(...CheckpointRootRollupHints.getFields(this));
|
|
60
|
+
}
|
|
61
|
+
static fromBuffer(buffer) {
|
|
62
|
+
const reader = BufferReader.asReader(buffer);
|
|
63
|
+
return new CheckpointRootRollupHints(BlockHeader.fromBuffer(reader), reader.readArray(ARCHIVE_HEIGHT, Fr), reader.readObject(BlobAccumulatorPublicInputs), reader.readObject(FinalBlobBatchingChallenges), // Below line gives error 'Type instantiation is excessively deep and possibly infinite. ts(2589)'
|
|
64
|
+
// reader.readArray(FIELDS_PER_BLOB, Fr),
|
|
65
|
+
Array.from({
|
|
66
|
+
length: FIELDS_PER_BLOB * BLOBS_PER_BLOCK
|
|
67
|
+
}, ()=>Fr.fromBuffer(reader)), reader.readArray(BLOBS_PER_BLOCK, BLS12Point), Fr.fromBuffer(reader));
|
|
68
|
+
}
|
|
69
|
+
toString() {
|
|
70
|
+
return bufferToHex(this.toBuffer());
|
|
71
|
+
}
|
|
72
|
+
static fromString(str) {
|
|
73
|
+
return CheckpointRootRollupHints.fromBuffer(hexToBuffer(str));
|
|
74
|
+
}
|
|
75
|
+
toJSON() {
|
|
76
|
+
return this.toBuffer();
|
|
77
|
+
}
|
|
78
|
+
static get schema() {
|
|
79
|
+
return bufferSchemaFor(CheckpointRootRollupHints);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export class CheckpointRootRollupPrivateInputs {
|
|
83
|
+
previousRollups;
|
|
84
|
+
hints;
|
|
85
|
+
constructor(previousRollups, hints){
|
|
86
|
+
this.previousRollups = previousRollups;
|
|
87
|
+
this.hints = hints;
|
|
88
|
+
}
|
|
89
|
+
static from(fields) {
|
|
90
|
+
return new CheckpointRootRollupPrivateInputs(...CheckpointRootRollupPrivateInputs.getFields(fields));
|
|
91
|
+
}
|
|
92
|
+
static getFields(fields) {
|
|
93
|
+
return [
|
|
94
|
+
fields.previousRollups,
|
|
95
|
+
fields.hints
|
|
96
|
+
];
|
|
97
|
+
}
|
|
98
|
+
toBuffer() {
|
|
99
|
+
return serializeToBuffer(...CheckpointRootRollupPrivateInputs.getFields(this));
|
|
100
|
+
}
|
|
101
|
+
static fromBuffer(buffer) {
|
|
102
|
+
const reader = BufferReader.asReader(buffer);
|
|
103
|
+
return new CheckpointRootRollupPrivateInputs([
|
|
104
|
+
ProofData.fromBuffer(reader, BlockRollupPublicInputs),
|
|
105
|
+
ProofData.fromBuffer(reader, BlockRollupPublicInputs)
|
|
106
|
+
], CheckpointRootRollupHints.fromBuffer(reader));
|
|
107
|
+
}
|
|
108
|
+
toString() {
|
|
109
|
+
return bufferToHex(this.toBuffer());
|
|
110
|
+
}
|
|
111
|
+
static fromString(str) {
|
|
112
|
+
return CheckpointRootRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
113
|
+
}
|
|
114
|
+
toJSON() {
|
|
115
|
+
return this.toBuffer();
|
|
116
|
+
}
|
|
117
|
+
static get schema() {
|
|
118
|
+
return bufferSchemaFor(CheckpointRootRollupPrivateInputs);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
export class CheckpointRootSingleBlockRollupPrivateInputs {
|
|
122
|
+
previousRollup;
|
|
123
|
+
hints;
|
|
124
|
+
constructor(previousRollup, hints){
|
|
125
|
+
this.previousRollup = previousRollup;
|
|
126
|
+
this.hints = hints;
|
|
127
|
+
}
|
|
128
|
+
static from(fields) {
|
|
129
|
+
return new CheckpointRootSingleBlockRollupPrivateInputs(...CheckpointRootSingleBlockRollupPrivateInputs.getFields(fields));
|
|
130
|
+
}
|
|
131
|
+
static getFields(fields) {
|
|
132
|
+
return [
|
|
133
|
+
fields.previousRollup,
|
|
134
|
+
fields.hints
|
|
135
|
+
];
|
|
136
|
+
}
|
|
137
|
+
toBuffer() {
|
|
138
|
+
return serializeToBuffer(...CheckpointRootSingleBlockRollupPrivateInputs.getFields(this));
|
|
139
|
+
}
|
|
140
|
+
static fromBuffer(buffer) {
|
|
141
|
+
const reader = BufferReader.asReader(buffer);
|
|
142
|
+
return new CheckpointRootSingleBlockRollupPrivateInputs(ProofData.fromBuffer(reader, BlockRollupPublicInputs), CheckpointRootRollupHints.fromBuffer(reader));
|
|
143
|
+
}
|
|
144
|
+
toString() {
|
|
145
|
+
return bufferToHex(this.toBuffer());
|
|
146
|
+
}
|
|
147
|
+
static fromString(str) {
|
|
148
|
+
return CheckpointRootSingleBlockRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
149
|
+
}
|
|
150
|
+
toJSON() {
|
|
151
|
+
return this.toBuffer();
|
|
152
|
+
}
|
|
153
|
+
static get schema() {
|
|
154
|
+
return bufferSchemaFor(CheckpointRootSingleBlockRollupPrivateInputs);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// Checkpoint padding circuit does not have any private inputs.
|
|
158
|
+
export class CheckpointPaddingRollupPrivateInputs {
|
|
159
|
+
constructor(){}
|
|
160
|
+
toBuffer() {
|
|
161
|
+
return Buffer.alloc(0);
|
|
162
|
+
}
|
|
163
|
+
static fromBuffer(_buffer) {
|
|
164
|
+
return new CheckpointPaddingRollupPrivateInputs();
|
|
165
|
+
}
|
|
166
|
+
toString() {
|
|
167
|
+
return '0x';
|
|
168
|
+
}
|
|
169
|
+
static fromString(_str) {
|
|
170
|
+
return new CheckpointPaddingRollupPrivateInputs();
|
|
171
|
+
}
|
|
172
|
+
toJSON() {
|
|
173
|
+
return this.toBuffer();
|
|
174
|
+
}
|
|
175
|
+
static get schema() {
|
|
176
|
+
return bufferSchemaFor(CheckpointPaddingRollupPrivateInputs);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
@@ -5,6 +5,14 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
5
5
|
* Constants that are the same for the entire epoch.
|
|
6
6
|
*/
|
|
7
7
|
export declare class EpochConstantData {
|
|
8
|
+
/**
|
|
9
|
+
* ChainId of the rollup.
|
|
10
|
+
*/
|
|
11
|
+
chainId: Fr;
|
|
12
|
+
/**
|
|
13
|
+
* Version of the rollup.
|
|
14
|
+
*/
|
|
15
|
+
version: Fr;
|
|
8
16
|
/**
|
|
9
17
|
* Root of the verification key tree.
|
|
10
18
|
*/
|
|
@@ -18,6 +26,14 @@ export declare class EpochConstantData {
|
|
|
18
26
|
*/
|
|
19
27
|
proverId: Fr;
|
|
20
28
|
constructor(
|
|
29
|
+
/**
|
|
30
|
+
* ChainId of the rollup.
|
|
31
|
+
*/
|
|
32
|
+
chainId: Fr,
|
|
33
|
+
/**
|
|
34
|
+
* Version of the rollup.
|
|
35
|
+
*/
|
|
36
|
+
version: Fr,
|
|
21
37
|
/**
|
|
22
38
|
* Root of the verification key tree.
|
|
23
39
|
*/
|
|
@@ -31,9 +47,10 @@ export declare class EpochConstantData {
|
|
|
31
47
|
*/
|
|
32
48
|
proverId: Fr);
|
|
33
49
|
static from(fields: FieldsOf<EpochConstantData>): EpochConstantData;
|
|
50
|
+
static getFields(fields: FieldsOf<EpochConstantData>): readonly [Fr, Fr, Fr, Fr, Fr];
|
|
51
|
+
toFields(): Fr[];
|
|
34
52
|
static fromBuffer(buffer: Buffer | BufferReader): EpochConstantData;
|
|
35
|
-
static getFields(fields: FieldsOf<EpochConstantData>): readonly [Fr, Fr, Fr];
|
|
36
|
-
static empty(): EpochConstantData;
|
|
37
53
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
54
|
+
static empty(): EpochConstantData;
|
|
38
55
|
}
|
|
39
56
|
//# sourceMappingURL=epoch_constant_data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/epoch_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"epoch_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/epoch_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAwC,MAAM,6BAA6B,CAAC;AACjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;;IAnBnB;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;IAGrB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB;IAInE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAUpD,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB;IAWnE,QAAQ;IAIR,MAAM,CAAC,KAAK;CAGb"}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
|
-
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
+
import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
3
3
|
/**
|
|
4
4
|
* Constants that are the same for the entire epoch.
|
|
5
5
|
*/ export class EpochConstantData {
|
|
6
|
+
chainId;
|
|
7
|
+
version;
|
|
6
8
|
vkTreeRoot;
|
|
7
9
|
protocolContractTreeRoot;
|
|
8
10
|
proverId;
|
|
9
11
|
constructor(/**
|
|
12
|
+
* ChainId of the rollup.
|
|
13
|
+
*/ chainId, /**
|
|
14
|
+
* Version of the rollup.
|
|
15
|
+
*/ version, /**
|
|
10
16
|
* Root of the verification key tree.
|
|
11
17
|
*/ vkTreeRoot, /**
|
|
12
18
|
* Root of the protocol contract tree.
|
|
13
19
|
*/ protocolContractTreeRoot, /**
|
|
14
20
|
* Identifier of the prover of the epoch.
|
|
15
21
|
*/ proverId){
|
|
22
|
+
this.chainId = chainId;
|
|
23
|
+
this.version = version;
|
|
16
24
|
this.vkTreeRoot = vkTreeRoot;
|
|
17
25
|
this.protocolContractTreeRoot = protocolContractTreeRoot;
|
|
18
26
|
this.proverId = proverId;
|
|
@@ -20,21 +28,26 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
20
28
|
static from(fields) {
|
|
21
29
|
return new EpochConstantData(...EpochConstantData.getFields(fields));
|
|
22
30
|
}
|
|
23
|
-
static fromBuffer(buffer) {
|
|
24
|
-
const reader = BufferReader.asReader(buffer);
|
|
25
|
-
return new EpochConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
26
|
-
}
|
|
27
31
|
static getFields(fields) {
|
|
28
32
|
return [
|
|
33
|
+
fields.chainId,
|
|
34
|
+
fields.version,
|
|
29
35
|
fields.vkTreeRoot,
|
|
30
36
|
fields.protocolContractTreeRoot,
|
|
31
37
|
fields.proverId
|
|
32
38
|
];
|
|
33
39
|
}
|
|
34
|
-
|
|
35
|
-
return
|
|
40
|
+
toFields() {
|
|
41
|
+
return serializeToFields(...EpochConstantData.getFields(this));
|
|
42
|
+
}
|
|
43
|
+
static fromBuffer(buffer) {
|
|
44
|
+
const reader = BufferReader.asReader(buffer);
|
|
45
|
+
return new EpochConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
36
46
|
}
|
|
37
47
|
toBuffer() {
|
|
38
48
|
return serializeToBuffer(...EpochConstantData.getFields(this));
|
|
39
49
|
}
|
|
50
|
+
static empty() {
|
|
51
|
+
return new EpochConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO);
|
|
52
|
+
}
|
|
40
53
|
}
|
package/dest/rollup/index.d.ts
CHANGED
|
@@ -3,16 +3,19 @@ export * from './base_or_merge_rollup_public_inputs.js';
|
|
|
3
3
|
export * from './base_rollup_hints.js';
|
|
4
4
|
export * from './block_constant_data.js';
|
|
5
5
|
export * from './block_merge_rollup.js';
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './empty_block_root_rollup_inputs.js';
|
|
8
|
-
export * from './epoch_constant_data.js';
|
|
6
|
+
export * from './block_rollup_public_inputs.js';
|
|
9
7
|
export * from './block_root_rollup.js';
|
|
8
|
+
export * from './checkpoint_constant_data.js';
|
|
9
|
+
export * from './checkpoint_header.js';
|
|
10
|
+
export * from './checkpoint_merge_rollup.js';
|
|
11
|
+
export * from './checkpoint_rollup_public_inputs.js';
|
|
12
|
+
export * from './checkpoint_root_rollup.js';
|
|
13
|
+
export * from './epoch_constant_data.js';
|
|
10
14
|
export * from './merge_rollup.js';
|
|
11
|
-
export * from './padding_block_root_rollup_inputs.js';
|
|
12
|
-
export * from './previous_rollup_block_data.js';
|
|
13
15
|
export * from './previous_rollup_data.js';
|
|
14
16
|
export * from './private_base_rollup_inputs.js';
|
|
15
17
|
export * from './public_base_rollup_inputs.js';
|
|
18
|
+
export * from './rollup_proof_data.js';
|
|
16
19
|
export * from './public_tube_private_inputs.js';
|
|
17
20
|
export * from './root_rollup.js';
|
|
18
21
|
export * from './state_diff_hints.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rollup/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rollup/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
|
package/dest/rollup/index.js
CHANGED
|
@@ -3,16 +3,19 @@ export * from './base_or_merge_rollup_public_inputs.js';
|
|
|
3
3
|
export * from './base_rollup_hints.js';
|
|
4
4
|
export * from './block_constant_data.js';
|
|
5
5
|
export * from './block_merge_rollup.js';
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './empty_block_root_rollup_inputs.js';
|
|
8
|
-
export * from './epoch_constant_data.js';
|
|
6
|
+
export * from './block_rollup_public_inputs.js';
|
|
9
7
|
export * from './block_root_rollup.js';
|
|
8
|
+
export * from './checkpoint_constant_data.js';
|
|
9
|
+
export * from './checkpoint_header.js';
|
|
10
|
+
export * from './checkpoint_merge_rollup.js';
|
|
11
|
+
export * from './checkpoint_rollup_public_inputs.js';
|
|
12
|
+
export * from './checkpoint_root_rollup.js';
|
|
13
|
+
export * from './epoch_constant_data.js';
|
|
10
14
|
export * from './merge_rollup.js';
|
|
11
|
-
export * from './padding_block_root_rollup_inputs.js';
|
|
12
|
-
export * from './previous_rollup_block_data.js';
|
|
13
15
|
export * from './previous_rollup_data.js';
|
|
14
16
|
export * from './private_base_rollup_inputs.js';
|
|
15
17
|
export * from './public_base_rollup_inputs.js';
|
|
18
|
+
export * from './rollup_proof_data.js';
|
|
16
19
|
export * from './public_tube_private_inputs.js';
|
|
17
20
|
export * from './root_rollup.js';
|
|
18
21
|
export * from './state_diff_hints.js';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
|
|
2
|
+
import type { Bufferable } from '@aztec/foundation/serialize';
|
|
3
|
+
import type { ParityPublicInputs } from '../parity/index.js';
|
|
4
|
+
import { ProofData } from '../proofs/index.js';
|
|
5
|
+
/**
|
|
6
|
+
* Represents the data of a nested recursive rollup proof.
|
|
7
|
+
*/
|
|
8
|
+
export type RollupProofData<T extends Bufferable> = ProofData<T, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
|
|
9
|
+
export type RootParityProofData = ProofData<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>;
|
|
10
|
+
//# sourceMappingURL=rollup_proof_data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rollup_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/rollup_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,yCAAyC,CAAC,CAAC;AAEnH,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,kBAAkB,EAAE,OAAO,6BAA6B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -3,25 +3,32 @@ import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
|
|
5
5
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
6
|
-
import { FeeRecipient } from './
|
|
7
|
-
import {
|
|
6
|
+
import { CheckpointRollupPublicInputs, FeeRecipient } from './checkpoint_rollup_public_inputs.js';
|
|
7
|
+
import { EpochConstantData } from './epoch_constant_data.js';
|
|
8
|
+
import type { RollupProofData } from './rollup_proof_data.js';
|
|
8
9
|
/**
|
|
9
10
|
* Represents inputs of the root rollup circuit.
|
|
10
11
|
*/
|
|
11
|
-
export declare class
|
|
12
|
+
export declare class RootRollupPrivateInputs {
|
|
12
13
|
/**
|
|
13
14
|
* The previous rollup data.
|
|
14
15
|
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
15
|
-
* from 2
|
|
16
|
+
* from 2 checkpoint root/merge/padding circuits.
|
|
16
17
|
*/
|
|
17
|
-
|
|
18
|
+
previousRollups: [
|
|
19
|
+
RollupProofData<CheckpointRollupPublicInputs>,
|
|
20
|
+
RollupProofData<CheckpointRollupPublicInputs>
|
|
21
|
+
];
|
|
18
22
|
constructor(
|
|
19
23
|
/**
|
|
20
24
|
* The previous rollup data.
|
|
21
25
|
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
22
|
-
* from 2
|
|
26
|
+
* from 2 checkpoint root/merge/padding circuits.
|
|
23
27
|
*/
|
|
24
|
-
|
|
28
|
+
previousRollups: [
|
|
29
|
+
RollupProofData<CheckpointRollupPublicInputs>,
|
|
30
|
+
RollupProofData<CheckpointRollupPublicInputs>
|
|
31
|
+
]);
|
|
25
32
|
/**
|
|
26
33
|
* Serializes the inputs to a buffer.
|
|
27
34
|
* @returns - The inputs serialized to a buffer.
|
|
@@ -35,31 +42,31 @@ export declare class RootRollupInputs {
|
|
|
35
42
|
/**
|
|
36
43
|
* Creates a new instance from fields.
|
|
37
44
|
* @param fields - Fields to create the instance from.
|
|
38
|
-
* @returns A new
|
|
45
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
39
46
|
*/
|
|
40
|
-
static from(fields: FieldsOf<
|
|
47
|
+
static from(fields: FieldsOf<RootRollupPrivateInputs>): RootRollupPrivateInputs;
|
|
41
48
|
/**
|
|
42
49
|
* Extracts fields from an instance.
|
|
43
50
|
* @param fields - Fields to create the instance from.
|
|
44
51
|
* @returns An array of fields.
|
|
45
52
|
*/
|
|
46
|
-
static getFields(fields: FieldsOf<
|
|
53
|
+
static getFields(fields: FieldsOf<RootRollupPrivateInputs>): readonly [[RollupProofData<CheckpointRollupPublicInputs>, RollupProofData<CheckpointRollupPublicInputs>]];
|
|
47
54
|
/**
|
|
48
55
|
* Deserializes the inputs from a buffer.
|
|
49
56
|
* @param buffer - A buffer to deserialize from.
|
|
50
|
-
* @returns A new
|
|
57
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
51
58
|
*/
|
|
52
|
-
static fromBuffer(buffer: Buffer | BufferReader):
|
|
59
|
+
static fromBuffer(buffer: Buffer | BufferReader): RootRollupPrivateInputs;
|
|
53
60
|
/**
|
|
54
61
|
* Deserializes the inputs from a hex string.
|
|
55
62
|
* @param str - A hex string to deserialize from.
|
|
56
|
-
* @returns A new
|
|
63
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
57
64
|
*/
|
|
58
|
-
static fromString(str: string):
|
|
65
|
+
static fromString(str: string): RootRollupPrivateInputs;
|
|
59
66
|
/** Returns a representation for JSON serialization. */
|
|
60
67
|
toJSON(): Buffer<ArrayBufferLike>;
|
|
61
68
|
/** Creates an instance from a string. */
|
|
62
|
-
static get schema(): import("zod").ZodType<
|
|
69
|
+
static get schema(): import("zod").ZodType<RootRollupPrivateInputs, any, string>;
|
|
63
70
|
}
|
|
64
71
|
/**
|
|
65
72
|
* Represents public inputs of the root rollup circuit.
|
|
@@ -71,20 +78,16 @@ export declare class RootRollupPublicInputs {
|
|
|
71
78
|
previousArchiveRoot: Fr;
|
|
72
79
|
/** Root of the archive tree after this rollup is processed */
|
|
73
80
|
endArchiveRoot: Fr;
|
|
74
|
-
|
|
81
|
+
checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>;
|
|
75
82
|
fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>;
|
|
76
|
-
|
|
77
|
-
version: Fr;
|
|
78
|
-
vkTreeRoot: Fr;
|
|
79
|
-
protocolContractTreeRoot: Fr;
|
|
80
|
-
proverId: Fr;
|
|
83
|
+
constants: EpochConstantData;
|
|
81
84
|
blobPublicInputs: FinalBlobAccumulatorPublicInputs;
|
|
82
85
|
constructor(
|
|
83
86
|
/** Root of the archive tree before this rollup is processed */
|
|
84
87
|
previousArchiveRoot: Fr,
|
|
85
88
|
/** Root of the archive tree after this rollup is processed */
|
|
86
|
-
endArchiveRoot: Fr,
|
|
87
|
-
static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient],
|
|
89
|
+
endArchiveRoot: Fr, checkpointHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>, fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>, constants: EpochConstantData, blobPublicInputs: FinalBlobAccumulatorPublicInputs);
|
|
90
|
+
static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient], EpochConstantData, FinalBlobAccumulatorPublicInputs];
|
|
88
91
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
89
92
|
toFields(): Fr[];
|
|
90
93
|
static from(fields: FieldsOf<RootRollupPublicInputs>): RootRollupPublicInputs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,4BAA4B,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,qBAAa,uBAAuB;IAEhC;;;;OAIG;IACI,eAAe,EAAE;QACtB,eAAe,CAAC,4BAA4B,CAAC;QAC7C,eAAe,CAAC,4BAA4B,CAAC;KAC9C;;IARD;;;;OAIG;IACI,eAAe,EAAE;QACtB,eAAe,CAAC,4BAA4B,CAAC;QAC7C,eAAe,CAAC,4BAA4B,CAAC;KAC9C;IAGH;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC;IAIrD;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,uBAAuB,CAAC;IAI1D;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAQ/C;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,gEAEhB;CACF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAE/B,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE;IAClB,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAClE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IAC1D,SAAS,EAAE,iBAAiB;IAC5B,gBAAgB,EAAE,gCAAgC;;IAPzD,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE,EAClB,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC,EAClE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC,EAC1D,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,gCAAgC;IAG3D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAWzD,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,sBAAsB;IAI7E;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB;IAY/E,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,+DAEhB;IAED,gFAAgF;IAChF,MAAM,CAAC,MAAM;CAUd"}
|
|
@@ -5,24 +5,25 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
5
5
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
6
6
|
import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
7
7
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { ProofData } from '../proofs/proof_data.js';
|
|
9
|
+
import { CheckpointRollupPublicInputs, FeeRecipient } from './checkpoint_rollup_public_inputs.js';
|
|
10
|
+
import { EpochConstantData } from './epoch_constant_data.js';
|
|
10
11
|
/**
|
|
11
12
|
* Represents inputs of the root rollup circuit.
|
|
12
|
-
*/ export class
|
|
13
|
-
|
|
13
|
+
*/ export class RootRollupPrivateInputs {
|
|
14
|
+
previousRollups;
|
|
14
15
|
constructor(/**
|
|
15
16
|
* The previous rollup data.
|
|
16
17
|
* Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
|
|
17
|
-
* from 2
|
|
18
|
-
*/
|
|
19
|
-
this.
|
|
18
|
+
* from 2 checkpoint root/merge/padding circuits.
|
|
19
|
+
*/ previousRollups){
|
|
20
|
+
this.previousRollups = previousRollups;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Serializes the inputs to a buffer.
|
|
23
24
|
* @returns - The inputs serialized to a buffer.
|
|
24
25
|
*/ toBuffer() {
|
|
25
|
-
return serializeToBuffer(...
|
|
26
|
+
return serializeToBuffer(...RootRollupPrivateInputs.getFields(this));
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
29
|
* Serializes the inputs to a hex string.
|
|
@@ -33,9 +34,9 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
|
33
34
|
/**
|
|
34
35
|
* Creates a new instance from fields.
|
|
35
36
|
* @param fields - Fields to create the instance from.
|
|
36
|
-
* @returns A new
|
|
37
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
37
38
|
*/ static from(fields) {
|
|
38
|
-
return new
|
|
39
|
+
return new RootRollupPrivateInputs(...RootRollupPrivateInputs.getFields(fields));
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
42
|
* Extracts fields from an instance.
|
|
@@ -43,32 +44,32 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
|
43
44
|
* @returns An array of fields.
|
|
44
45
|
*/ static getFields(fields) {
|
|
45
46
|
return [
|
|
46
|
-
fields.
|
|
47
|
+
fields.previousRollups
|
|
47
48
|
];
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* Deserializes the inputs from a buffer.
|
|
51
52
|
* @param buffer - A buffer to deserialize from.
|
|
52
|
-
* @returns A new
|
|
53
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
53
54
|
*/ static fromBuffer(buffer) {
|
|
54
55
|
const reader = BufferReader.asReader(buffer);
|
|
55
|
-
return new
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
return new RootRollupPrivateInputs([
|
|
57
|
+
ProofData.fromBuffer(reader, CheckpointRollupPublicInputs),
|
|
58
|
+
ProofData.fromBuffer(reader, CheckpointRollupPublicInputs)
|
|
58
59
|
]);
|
|
59
60
|
}
|
|
60
61
|
/**
|
|
61
62
|
* Deserializes the inputs from a hex string.
|
|
62
63
|
* @param str - A hex string to deserialize from.
|
|
63
|
-
* @returns A new
|
|
64
|
+
* @returns A new RootRollupPrivateInputs instance.
|
|
64
65
|
*/ static fromString(str) {
|
|
65
|
-
return
|
|
66
|
+
return RootRollupPrivateInputs.fromBuffer(hexToBuffer(str));
|
|
66
67
|
}
|
|
67
68
|
/** Returns a representation for JSON serialization. */ toJSON() {
|
|
68
69
|
return this.toBuffer();
|
|
69
70
|
}
|
|
70
71
|
/** Creates an instance from a string. */ static get schema() {
|
|
71
|
-
return bufferSchemaFor(
|
|
72
|
+
return bufferSchemaFor(RootRollupPrivateInputs);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
@@ -78,37 +79,25 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
|
78
79
|
*/ export class RootRollupPublicInputs {
|
|
79
80
|
previousArchiveRoot;
|
|
80
81
|
endArchiveRoot;
|
|
81
|
-
|
|
82
|
+
checkpointHeaderHashes;
|
|
82
83
|
fees;
|
|
83
|
-
|
|
84
|
-
version;
|
|
85
|
-
vkTreeRoot;
|
|
86
|
-
protocolContractTreeRoot;
|
|
87
|
-
proverId;
|
|
84
|
+
constants;
|
|
88
85
|
blobPublicInputs;
|
|
89
|
-
constructor(/** Root of the archive tree before this rollup is processed */ previousArchiveRoot, /** Root of the archive tree after this rollup is processed */ endArchiveRoot,
|
|
86
|
+
constructor(/** Root of the archive tree before this rollup is processed */ previousArchiveRoot, /** Root of the archive tree after this rollup is processed */ endArchiveRoot, checkpointHeaderHashes, fees, constants, blobPublicInputs){
|
|
90
87
|
this.previousArchiveRoot = previousArchiveRoot;
|
|
91
88
|
this.endArchiveRoot = endArchiveRoot;
|
|
92
|
-
this.
|
|
89
|
+
this.checkpointHeaderHashes = checkpointHeaderHashes;
|
|
93
90
|
this.fees = fees;
|
|
94
|
-
this.
|
|
95
|
-
this.version = version;
|
|
96
|
-
this.vkTreeRoot = vkTreeRoot;
|
|
97
|
-
this.protocolContractTreeRoot = protocolContractTreeRoot;
|
|
98
|
-
this.proverId = proverId;
|
|
91
|
+
this.constants = constants;
|
|
99
92
|
this.blobPublicInputs = blobPublicInputs;
|
|
100
93
|
}
|
|
101
94
|
static getFields(fields) {
|
|
102
95
|
return [
|
|
103
96
|
fields.previousArchiveRoot,
|
|
104
97
|
fields.endArchiveRoot,
|
|
105
|
-
fields.
|
|
98
|
+
fields.checkpointHeaderHashes,
|
|
106
99
|
fields.fees,
|
|
107
|
-
fields.
|
|
108
|
-
fields.version,
|
|
109
|
-
fields.vkTreeRoot,
|
|
110
|
-
fields.protocolContractTreeRoot,
|
|
111
|
-
fields.proverId,
|
|
100
|
+
fields.constants,
|
|
112
101
|
fields.blobPublicInputs
|
|
113
102
|
];
|
|
114
103
|
}
|
|
@@ -127,7 +116,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
|
127
116
|
* @returns The deserialized `RootRollupPublicInputs` object.
|
|
128
117
|
*/ static fromBuffer(buffer) {
|
|
129
118
|
const reader = BufferReader.asReader(buffer);
|
|
130
|
-
return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient),
|
|
119
|
+
return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), EpochConstantData.fromBuffer(reader), reader.readObject(FinalBlobAccumulatorPublicInputs));
|
|
131
120
|
}
|
|
132
121
|
toString() {
|
|
133
122
|
return bufferToHex(this.toBuffer());
|
|
@@ -142,6 +131,6 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
|
|
|
142
131
|
return bufferSchemaFor(RootRollupPublicInputs);
|
|
143
132
|
}
|
|
144
133
|
/** Creates a random instance. Used for testing only - will not prove/verify. */ static random() {
|
|
145
|
-
return new RootRollupPublicInputs(Fr.random(), Fr.random(), makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random), makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random), Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random(), FinalBlobAccumulatorPublicInputs.random());
|
|
134
|
+
return new RootRollupPublicInputs(Fr.random(), Fr.random(), makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random), makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random), new EpochConstantData(Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random()), FinalBlobAccumulatorPublicInputs.random());
|
|
146
135
|
}
|
|
147
136
|
}
|
package/dest/stats/stats.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export type NodeSyncedChainHistoryStats = {
|
|
|
69
69
|
dbSize: number;
|
|
70
70
|
};
|
|
71
71
|
export type ClientCircuitName = 'private-kernel-init' | 'private-kernel-inner' | 'private-kernel-reset' | 'private-kernel-tail' | 'private-kernel-tail-to-public' | 'hiding-kernel-to-rollup' | 'hiding-kernel-to-public' | 'app-circuit';
|
|
72
|
-
export type ServerCircuitName = 'base-parity' | 'root-parity' | 'public-tube' | 'private-base-rollup' | 'public-base-rollup' | 'merge-rollup' | 'block-root-rollup' | 'single-tx-block-root-rollup' | '
|
|
72
|
+
export type ServerCircuitName = 'base-parity' | 'root-parity' | 'public-tube' | 'private-base-rollup' | 'public-base-rollup' | 'merge-rollup' | 'block-root-first-rollup' | 'block-root-single-tx-first-rollup' | 'block-root-empty-tx-first-rollup' | 'block-root-rollup' | 'block-root-single-tx-rollup' | 'block-merge-rollup' | 'checkpoint-root-rollup' | 'checkpoint-root-single-block-rollup' | 'checkpoint-padding-rollup' | 'checkpoint-merge-rollup' | 'root-rollup' | 'avm-circuit';
|
|
73
73
|
export type CircuitName = ClientCircuitName | ServerCircuitName;
|
|
74
74
|
/** Stats for circuit simulation. */
|
|
75
75
|
export type CircuitSimulationStats = {
|