@aztec/stdlib 3.0.0-nightly.20250924 → 3.0.0-nightly.20250926
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_accumulated_data.d.ts +1 -0
- package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
- package/dest/avm/avm_accumulated_data.js +4 -0
- package/dest/avm/index.d.ts +0 -1
- package/dest/avm/index.d.ts.map +1 -1
- package/dest/avm/index.js +0 -1
- package/dest/file-store/factory.d.ts.map +1 -1
- package/dest/file-store/factory.js +18 -0
- package/dest/file-store/s3.d.ts +25 -0
- package/dest/file-store/s3.d.ts.map +1 -0
- package/dest/file-store/s3.js +187 -0
- package/dest/interfaces/aztec-node-admin.d.ts +6 -0
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/pxe.d.ts +5 -179
- package/dest/interfaces/pxe.d.ts.map +1 -1
- package/dest/interfaces/pxe.js +2 -59
- package/dest/interfaces/slasher.d.ts +4 -0
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +1 -0
- package/dest/interfaces/validator.d.ts +6 -1
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +2 -1
- package/dest/rollup/avm_proof_data.d.ts +2 -12
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/rollup/avm_proof_data.js +0 -24
- package/dest/rollup/base_rollup_hints.d.ts +15 -16
- package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
- package/dest/rollup/base_rollup_hints.js +24 -25
- package/dest/rollup/block_root_rollup_private_inputs.d.ts +13 -13
- package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/block_root_rollup_private_inputs.js +20 -20
- package/dest/rollup/index.d.ts +1 -1
- package/dest/rollup/index.d.ts.map +1 -1
- package/dest/rollup/index.js +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/public_tx_base_rollup_private_inputs.js +2 -2
- package/dest/rollup/{state_diff_hints.d.ts → tree_snapshot_diff_hints.d.ts} +22 -38
- package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -0
- package/dest/rollup/tree_snapshot_diff_hints.js +75 -0
- package/dest/rollup/tx_rollup_public_inputs.d.ts +4 -4
- package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/tx_rollup_public_inputs.js +7 -7
- package/dest/tests/factories.d.ts +4 -4
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +20 -25
- package/package.json +9 -8
- package/src/avm/avm_accumulated_data.ts +10 -0
- package/src/avm/index.ts +0 -1
- package/src/file-store/factory.ts +15 -0
- package/src/file-store/s3.ts +186 -0
- package/src/interfaces/pxe.ts +8 -80
- package/src/interfaces/slasher.ts +2 -0
- package/src/interfaces/validator.ts +5 -1
- package/src/rollup/avm_proof_data.ts +2 -31
- package/src/rollup/base_rollup_hints.ts +20 -21
- package/src/rollup/block_root_rollup_private_inputs.ts +14 -14
- package/src/rollup/index.ts +1 -1
- package/src/rollup/public_tx_base_rollup_private_inputs.ts +3 -2
- package/src/rollup/{state_diff_hints.ts → tree_snapshot_diff_hints.ts} +26 -41
- package/src/rollup/tx_rollup_public_inputs.ts +4 -4
- package/src/tests/factories.ts +25 -37
- package/dest/avm/public_data_hint.d.ts +0 -16
- package/dest/avm/public_data_hint.d.ts.map +0 -1
- package/dest/avm/public_data_hint.js +0 -27
- package/dest/rollup/state_diff_hints.d.ts.map +0 -1
- package/dest/rollup/state_diff_hints.js +0 -85
- package/src/avm/public_data_hint.ts +0 -38
|
@@ -4,15 +4,14 @@ import { makeTuple } from '@aztec/foundation/array';
|
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
6
6
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
7
|
-
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
8
7
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
9
8
|
|
|
10
|
-
import { PublicDataHint } from '../avm/public_data_hint.js';
|
|
11
9
|
import { ContractClassLogFields } from '../logs/index.js';
|
|
12
|
-
import { AppendOnlyTreeSnapshot } from '../trees/
|
|
10
|
+
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
11
|
+
import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
|
|
13
12
|
import { PartialStateReference } from '../tx/partial_state_reference.js';
|
|
14
13
|
import { BlockConstantData } from './block_constant_data.js';
|
|
15
|
-
import {
|
|
14
|
+
import { TreeSnapshotDiffHints } from './tree_snapshot_diff_hints.js';
|
|
16
15
|
|
|
17
16
|
export type BaseRollupHints = PrivateBaseRollupHints | PublicBaseRollupHints;
|
|
18
17
|
|
|
@@ -29,15 +28,15 @@ export class PrivateBaseRollupHints {
|
|
|
29
28
|
/**
|
|
30
29
|
* Hints used while proving state diff validity.
|
|
31
30
|
*/
|
|
32
|
-
public
|
|
31
|
+
public treeSnapshotDiffHints: TreeSnapshotDiffHints,
|
|
33
32
|
/**
|
|
34
|
-
* Public data
|
|
33
|
+
* Public data tree leaf preimage for accessing the balance of the fee payer.
|
|
35
34
|
*/
|
|
36
|
-
public
|
|
35
|
+
public feePayerBalanceLeafPreimage: PublicDataTreeLeafPreimage,
|
|
37
36
|
/**
|
|
38
37
|
* Membership witnesses of blocks referred by each of the 2 kernels.
|
|
39
38
|
*/
|
|
40
|
-
public
|
|
39
|
+
public anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
41
40
|
/**
|
|
42
41
|
* Preimages to the kernel's contractClassLogsHashes.
|
|
43
42
|
*/
|
|
@@ -56,9 +55,9 @@ export class PrivateBaseRollupHints {
|
|
|
56
55
|
return [
|
|
57
56
|
fields.start,
|
|
58
57
|
fields.startSpongeBlob,
|
|
59
|
-
fields.
|
|
60
|
-
fields.
|
|
61
|
-
fields.
|
|
58
|
+
fields.treeSnapshotDiffHints,
|
|
59
|
+
fields.feePayerBalanceLeafPreimage,
|
|
60
|
+
fields.anchorBlockArchiveSiblingPath,
|
|
62
61
|
fields.contractClassLogsFields,
|
|
63
62
|
fields.constants,
|
|
64
63
|
] as const;
|
|
@@ -85,9 +84,9 @@ export class PrivateBaseRollupHints {
|
|
|
85
84
|
return new PrivateBaseRollupHints(
|
|
86
85
|
reader.readObject(PartialStateReference),
|
|
87
86
|
reader.readObject(SpongeBlob),
|
|
88
|
-
reader.readObject(
|
|
89
|
-
reader.readObject(
|
|
90
|
-
|
|
87
|
+
reader.readObject(TreeSnapshotDiffHints),
|
|
88
|
+
reader.readObject(PublicDataTreeLeafPreimage),
|
|
89
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
91
90
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
|
|
92
91
|
reader.readObject(BlockConstantData),
|
|
93
92
|
);
|
|
@@ -101,9 +100,9 @@ export class PrivateBaseRollupHints {
|
|
|
101
100
|
return new PrivateBaseRollupHints(
|
|
102
101
|
PartialStateReference.empty(),
|
|
103
102
|
SpongeBlob.empty(),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
103
|
+
TreeSnapshotDiffHints.empty(),
|
|
104
|
+
PublicDataTreeLeafPreimage.empty(),
|
|
105
|
+
makeTuple(ARCHIVE_HEIGHT, Fr.zero),
|
|
107
106
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
|
|
108
107
|
BlockConstantData.empty(),
|
|
109
108
|
);
|
|
@@ -123,7 +122,7 @@ export class PublicBaseRollupHints {
|
|
|
123
122
|
/**
|
|
124
123
|
* Membership witnesses of blocks referred by each of the 2 kernels.
|
|
125
124
|
*/
|
|
126
|
-
public
|
|
125
|
+
public anchorBlockArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>,
|
|
127
126
|
/**
|
|
128
127
|
* Preimages to the kernel's contractClassLogsHashes.
|
|
129
128
|
*/
|
|
@@ -142,7 +141,7 @@ export class PublicBaseRollupHints {
|
|
|
142
141
|
return [
|
|
143
142
|
fields.startSpongeBlob,
|
|
144
143
|
fields.lastArchive,
|
|
145
|
-
fields.
|
|
144
|
+
fields.anchorBlockArchiveSiblingPath,
|
|
146
145
|
fields.contractClassLogsFields,
|
|
147
146
|
fields.proverId,
|
|
148
147
|
] as const;
|
|
@@ -169,7 +168,7 @@ export class PublicBaseRollupHints {
|
|
|
169
168
|
return new PublicBaseRollupHints(
|
|
170
169
|
reader.readObject(SpongeBlob),
|
|
171
170
|
reader.readObject(AppendOnlyTreeSnapshot),
|
|
172
|
-
|
|
171
|
+
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
173
172
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, () => reader.readObject(ContractClassLogFields)),
|
|
174
173
|
reader.readObject(Fr),
|
|
175
174
|
);
|
|
@@ -183,7 +182,7 @@ export class PublicBaseRollupHints {
|
|
|
183
182
|
return new PublicBaseRollupHints(
|
|
184
183
|
SpongeBlob.empty(),
|
|
185
184
|
AppendOnlyTreeSnapshot.empty(),
|
|
186
|
-
|
|
185
|
+
makeTuple(ARCHIVE_HEIGHT, Fr.zero),
|
|
187
186
|
makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLogFields.empty),
|
|
188
187
|
Fr.ZERO,
|
|
189
188
|
);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SpongeBlob } from '@aztec/blob-lib/types';
|
|
2
|
-
import { ARCHIVE_HEIGHT,
|
|
2
|
+
import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH } from '@aztec/constants';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
5
5
|
import { BufferReader, type Tuple, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
@@ -28,9 +28,9 @@ export class BlockRootFirstRollupPrivateInputs {
|
|
|
28
28
|
*/
|
|
29
29
|
public previousL1ToL2: AppendOnlyTreeSnapshot,
|
|
30
30
|
/**
|
|
31
|
-
* Hint for inserting the new l1 to l2 message subtree into `previousL1ToL2`.
|
|
31
|
+
* Hint for inserting the new l1 to l2 message subtree root into `previousL1ToL2`.
|
|
32
32
|
*/
|
|
33
|
-
public
|
|
33
|
+
public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
34
34
|
/**
|
|
35
35
|
* Hint for inserting the new block hash to the last archive.
|
|
36
36
|
*/
|
|
@@ -46,7 +46,7 @@ export class BlockRootFirstRollupPrivateInputs {
|
|
|
46
46
|
fields.l1ToL2Roots,
|
|
47
47
|
fields.previousRollups,
|
|
48
48
|
fields.previousL1ToL2,
|
|
49
|
-
fields.
|
|
49
|
+
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
50
50
|
fields.newArchiveSiblingPath,
|
|
51
51
|
] as const;
|
|
52
52
|
}
|
|
@@ -61,7 +61,7 @@ export class BlockRootFirstRollupPrivateInputs {
|
|
|
61
61
|
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
62
62
|
[ProofData.fromBuffer(reader, TxRollupPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs)],
|
|
63
63
|
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
64
|
-
reader.readArray(
|
|
64
|
+
reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
65
65
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
66
66
|
);
|
|
67
67
|
}
|
|
@@ -90,9 +90,9 @@ export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
|
90
90
|
*/
|
|
91
91
|
public previousL1ToL2: AppendOnlyTreeSnapshot,
|
|
92
92
|
/**
|
|
93
|
-
* Hint for inserting the new l1 to l2 message subtree.
|
|
93
|
+
* Hint for inserting the new l1 to l2 message subtree root.
|
|
94
94
|
*/
|
|
95
|
-
public
|
|
95
|
+
public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
96
96
|
/**
|
|
97
97
|
* Hint for inserting the new block hash to the last archive.
|
|
98
98
|
*/
|
|
@@ -110,7 +110,7 @@ export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
|
110
110
|
fields.l1ToL2Roots,
|
|
111
111
|
fields.previousRollup,
|
|
112
112
|
fields.previousL1ToL2,
|
|
113
|
-
fields.
|
|
113
|
+
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
114
114
|
fields.newArchiveSiblingPath,
|
|
115
115
|
] as const;
|
|
116
116
|
}
|
|
@@ -125,7 +125,7 @@ export class BlockRootSingleTxFirstRollupPrivateInputs {
|
|
|
125
125
|
ProofData.fromBuffer(reader, ParityPublicInputs),
|
|
126
126
|
ProofData.fromBuffer(reader, TxRollupPublicInputs),
|
|
127
127
|
AppendOnlyTreeSnapshot.fromBuffer(reader),
|
|
128
|
-
reader.readArray(
|
|
128
|
+
reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
129
129
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
130
130
|
);
|
|
131
131
|
}
|
|
@@ -167,9 +167,9 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
|
167
167
|
*/
|
|
168
168
|
public timestamp: UInt64,
|
|
169
169
|
/**
|
|
170
|
-
* Hint for inserting the new l1 to l2 message subtree.
|
|
170
|
+
* Hint for inserting the new l1 to l2 message subtree root.
|
|
171
171
|
*/
|
|
172
|
-
public
|
|
172
|
+
public newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
173
173
|
/**
|
|
174
174
|
* Hint for inserting the new block hash to the last archive.
|
|
175
175
|
*/
|
|
@@ -188,7 +188,7 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
|
188
188
|
fields.constants,
|
|
189
189
|
fields.startSpongeBlob,
|
|
190
190
|
fields.timestamp,
|
|
191
|
-
fields.
|
|
191
|
+
fields.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
192
192
|
fields.newArchiveSiblingPath,
|
|
193
193
|
] as const;
|
|
194
194
|
}
|
|
@@ -201,7 +201,7 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
|
201
201
|
this.constants,
|
|
202
202
|
this.startSpongeBlob,
|
|
203
203
|
bigintToUInt64BE(this.timestamp),
|
|
204
|
-
this.
|
|
204
|
+
this.newL1ToL2MessageSubtreeRootSiblingPath,
|
|
205
205
|
this.newArchiveSiblingPath,
|
|
206
206
|
]);
|
|
207
207
|
}
|
|
@@ -215,7 +215,7 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
|
|
|
215
215
|
CheckpointConstantData.fromBuffer(reader),
|
|
216
216
|
SpongeBlob.fromBuffer(reader),
|
|
217
217
|
reader.readUInt64(),
|
|
218
|
-
reader.readArray(
|
|
218
|
+
reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
219
219
|
reader.readArray(ARCHIVE_HEIGHT, Fr),
|
|
220
220
|
);
|
|
221
221
|
}
|
package/src/rollup/index.ts
CHANGED
|
@@ -15,6 +15,6 @@ export * from './public_tx_base_rollup_private_inputs.js';
|
|
|
15
15
|
export * from './public_tube_private_inputs.js';
|
|
16
16
|
export * from './root_rollup_private_inputs.js';
|
|
17
17
|
export * from './root_rollup_public_inputs.js';
|
|
18
|
-
export * from './
|
|
18
|
+
export * from './tree_snapshot_diff_hints.js';
|
|
19
19
|
export * from './tx_merge_rollup_private_inputs.js';
|
|
20
20
|
export * from './tx_rollup_public_inputs.js';
|
|
@@ -3,9 +3,10 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
|
3
3
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
4
4
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
5
|
|
|
6
|
+
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
6
7
|
import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js';
|
|
7
8
|
import { ProofData, type RollupHonkProofData } from '../proofs/proof_data.js';
|
|
8
|
-
import { AvmProofData } from './avm_proof_data.js';
|
|
9
|
+
import type { AvmProofData } from './avm_proof_data.js';
|
|
9
10
|
import { PublicBaseRollupHints } from './base_rollup_hints.js';
|
|
10
11
|
|
|
11
12
|
export class PublicTxBaseRollupPrivateInputs {
|
|
@@ -27,7 +28,7 @@ export class PublicTxBaseRollupPrivateInputs {
|
|
|
27
28
|
const reader = BufferReader.asReader(buffer);
|
|
28
29
|
return new PublicTxBaseRollupPrivateInputs(
|
|
29
30
|
ProofData.fromBuffer(reader, PrivateToPublicKernelCircuitPublicInputs),
|
|
30
|
-
|
|
31
|
+
ProofData.fromBuffer(reader, AvmCircuitPublicInputs),
|
|
31
32
|
reader.readObject(PublicBaseRollupHints),
|
|
32
33
|
);
|
|
33
34
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MAX_NULLIFIERS_PER_TX,
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
|
|
4
|
+
NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
|
|
5
5
|
NULLIFIER_TREE_HEIGHT,
|
|
6
6
|
PUBLIC_DATA_TREE_HEIGHT,
|
|
7
7
|
} from '@aztec/constants';
|
|
@@ -11,13 +11,17 @@ import { BufferReader, type Tuple, serializeToBuffer } from '@aztec/foundation/s
|
|
|
11
11
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
12
12
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
13
13
|
|
|
14
|
-
import { NullifierLeafPreimage
|
|
14
|
+
import { NullifierLeafPreimage } from '../trees/index.js';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Hints used while proving state diff validity for the private base rollup.
|
|
18
18
|
*/
|
|
19
|
-
export class
|
|
19
|
+
export class TreeSnapshotDiffHints {
|
|
20
20
|
constructor(
|
|
21
|
+
/**
|
|
22
|
+
* Sibling path "pointing to" where the new note hash subtree should be inserted into the note hash tree.
|
|
23
|
+
*/
|
|
24
|
+
public noteHashSubtreeRootSiblingPath: Tuple<Fr, typeof NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
21
25
|
/**
|
|
22
26
|
* The nullifiers which need to be updated to perform the batch insertion of the new nullifiers.
|
|
23
27
|
* See `StandardIndexedTree.batchInsert` function for more details.
|
|
@@ -39,44 +43,29 @@ export class PrivateBaseStateDiffHints {
|
|
|
39
43
|
* The indexes of the sorted nullifiers to the original ones.
|
|
40
44
|
*/
|
|
41
45
|
public sortedNullifierIndexes: Tuple<number, typeof MAX_NULLIFIERS_PER_TX>,
|
|
42
|
-
/**
|
|
43
|
-
* Sibling path "pointing to" where the new note hash subtree should be inserted into the note hash tree.
|
|
44
|
-
*/
|
|
45
|
-
public noteHashSubtreeSiblingPath: Tuple<Fr, typeof NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH>,
|
|
46
46
|
/**
|
|
47
47
|
* Sibling path "pointing to" where the new nullifiers subtree should be inserted into the nullifier tree.
|
|
48
48
|
*/
|
|
49
|
-
public
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Low leaf for the fee write in the public data tree.
|
|
53
|
-
*/
|
|
54
|
-
public feeWriteLowLeafPreimage: PublicDataTreeLeafPreimage,
|
|
55
|
-
/**
|
|
56
|
-
* Membership witness for the low leaf for the fee write in the public data tree.
|
|
57
|
-
*/
|
|
58
|
-
public feeWriteLowLeafMembershipWitness: MembershipWitness<typeof PUBLIC_DATA_TREE_HEIGHT>,
|
|
49
|
+
public nullifierSubtreeRootSiblingPath: Tuple<Fr, typeof NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH>,
|
|
59
50
|
/**
|
|
60
|
-
*
|
|
51
|
+
* Membership witness for the fee payer's balance leaf in the public data tree.
|
|
61
52
|
*/
|
|
62
|
-
public
|
|
53
|
+
public feePayerBalanceMembershipWitness: MembershipWitness<typeof PUBLIC_DATA_TREE_HEIGHT>,
|
|
63
54
|
) {}
|
|
64
55
|
|
|
65
|
-
static from(fields: FieldsOf<
|
|
66
|
-
return new
|
|
56
|
+
static from(fields: FieldsOf<TreeSnapshotDiffHints>): TreeSnapshotDiffHints {
|
|
57
|
+
return new TreeSnapshotDiffHints(...TreeSnapshotDiffHints.getFields(fields));
|
|
67
58
|
}
|
|
68
59
|
|
|
69
|
-
static getFields(fields: FieldsOf<
|
|
60
|
+
static getFields(fields: FieldsOf<TreeSnapshotDiffHints>) {
|
|
70
61
|
return [
|
|
62
|
+
fields.noteHashSubtreeRootSiblingPath,
|
|
71
63
|
fields.nullifierPredecessorPreimages,
|
|
72
64
|
fields.nullifierPredecessorMembershipWitnesses,
|
|
73
65
|
fields.sortedNullifiers,
|
|
74
66
|
fields.sortedNullifierIndexes,
|
|
75
|
-
fields.
|
|
76
|
-
fields.
|
|
77
|
-
fields.feeWriteLowLeafPreimage,
|
|
78
|
-
fields.feeWriteLowLeafMembershipWitness,
|
|
79
|
-
fields.feeWriteSiblingPath,
|
|
67
|
+
fields.nullifierSubtreeRootSiblingPath,
|
|
68
|
+
fields.feePayerBalanceMembershipWitness,
|
|
80
69
|
] as const;
|
|
81
70
|
}
|
|
82
71
|
|
|
@@ -85,42 +74,38 @@ export class PrivateBaseStateDiffHints {
|
|
|
85
74
|
* @returns A buffer of the serialized state diff hints.
|
|
86
75
|
*/
|
|
87
76
|
toBuffer(): Buffer {
|
|
88
|
-
return serializeToBuffer(...
|
|
77
|
+
return serializeToBuffer(...TreeSnapshotDiffHints.getFields(this));
|
|
89
78
|
}
|
|
90
79
|
|
|
91
80
|
/**
|
|
92
81
|
* Deserializes the state diff hints from a buffer.
|
|
93
82
|
* @param buffer - A buffer to deserialize from.
|
|
94
|
-
* @returns A new
|
|
83
|
+
* @returns A new TreeSnapshotDiffHints instance.
|
|
95
84
|
*/
|
|
96
|
-
static fromBuffer(buffer: Buffer | BufferReader):
|
|
85
|
+
static fromBuffer(buffer: Buffer | BufferReader): TreeSnapshotDiffHints {
|
|
97
86
|
const reader = BufferReader.asReader(buffer);
|
|
98
|
-
return new
|
|
87
|
+
return new TreeSnapshotDiffHints(
|
|
88
|
+
reader.readArray(NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
99
89
|
reader.readArray(MAX_NULLIFIERS_PER_TX, NullifierLeafPreimage),
|
|
100
90
|
reader.readArray(MAX_NULLIFIERS_PER_TX, {
|
|
101
91
|
fromBuffer: buffer => MembershipWitness.fromBuffer(buffer, NULLIFIER_TREE_HEIGHT),
|
|
102
92
|
}),
|
|
103
93
|
reader.readArray(MAX_NULLIFIERS_PER_TX, Fr),
|
|
104
94
|
reader.readNumbers(MAX_NULLIFIERS_PER_TX),
|
|
105
|
-
reader.readArray(
|
|
106
|
-
reader.readArray(NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, Fr),
|
|
107
|
-
reader.readObject(PublicDataTreeLeafPreimage),
|
|
95
|
+
reader.readArray(NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr),
|
|
108
96
|
MembershipWitness.fromBuffer(reader, PUBLIC_DATA_TREE_HEIGHT),
|
|
109
|
-
reader.readArray(PUBLIC_DATA_TREE_HEIGHT, Fr),
|
|
110
97
|
);
|
|
111
98
|
}
|
|
112
99
|
|
|
113
100
|
static empty() {
|
|
114
|
-
return new
|
|
101
|
+
return new TreeSnapshotDiffHints(
|
|
102
|
+
makeTuple(NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr.zero),
|
|
115
103
|
makeTuple(MAX_NULLIFIERS_PER_TX, NullifierLeafPreimage.empty),
|
|
116
104
|
makeTuple(MAX_NULLIFIERS_PER_TX, () => MembershipWitness.empty(NULLIFIER_TREE_HEIGHT)),
|
|
117
105
|
makeTuple(MAX_NULLIFIERS_PER_TX, Fr.zero),
|
|
118
106
|
makeTuple(MAX_NULLIFIERS_PER_TX, () => 0),
|
|
119
|
-
makeTuple(
|
|
120
|
-
makeTuple(NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, Fr.zero),
|
|
121
|
-
PublicDataTreeLeafPreimage.empty(),
|
|
107
|
+
makeTuple(NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr.zero),
|
|
122
108
|
MembershipWitness.empty(PUBLIC_DATA_TREE_HEIGHT),
|
|
123
|
-
makeTuple(PUBLIC_DATA_TREE_HEIGHT, Fr.zero),
|
|
124
109
|
);
|
|
125
110
|
}
|
|
126
111
|
}
|
|
@@ -23,11 +23,11 @@ export class TxRollupPublicInputs {
|
|
|
23
23
|
/**
|
|
24
24
|
* Partial state reference at the start of the rollup circuit.
|
|
25
25
|
*/
|
|
26
|
-
public
|
|
26
|
+
public startTreeSnapshots: PartialStateReference,
|
|
27
27
|
/**
|
|
28
28
|
* Partial state reference at the end of the rollup circuit.
|
|
29
29
|
*/
|
|
30
|
-
public
|
|
30
|
+
public endTreeSnapshots: PartialStateReference,
|
|
31
31
|
/**
|
|
32
32
|
* Sponge state to absorb blob inputs at the start of the rollup circuit.
|
|
33
33
|
*/
|
|
@@ -96,8 +96,8 @@ export class TxRollupPublicInputs {
|
|
|
96
96
|
this.numTxs,
|
|
97
97
|
this.constants,
|
|
98
98
|
|
|
99
|
-
this.
|
|
100
|
-
this.
|
|
99
|
+
this.startTreeSnapshots,
|
|
100
|
+
this.endTreeSnapshots,
|
|
101
101
|
|
|
102
102
|
this.startSpongeBlob,
|
|
103
103
|
this.endSpongeBlob,
|
package/src/tests/factories.ts
CHANGED
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
FIXED_DA_GAS,
|
|
10
10
|
FIXED_L2_GAS,
|
|
11
11
|
GeneratorIndex,
|
|
12
|
-
|
|
12
|
+
L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
|
|
13
13
|
MAX_CONTRACT_CLASS_LOGS_PER_TX,
|
|
14
14
|
MAX_ENQUEUED_CALLS_PER_CALL,
|
|
15
15
|
MAX_ENQUEUED_CALLS_PER_TX,
|
|
@@ -29,8 +29,8 @@ import {
|
|
|
29
29
|
MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
30
30
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
31
31
|
NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
|
|
33
|
+
NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH,
|
|
34
34
|
NULLIFIER_TREE_HEIGHT,
|
|
35
35
|
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
36
36
|
NUM_BASE_PARITY_PER_ROOT_PARITY,
|
|
@@ -75,7 +75,6 @@ import {
|
|
|
75
75
|
AvmTxHint,
|
|
76
76
|
RevertCode,
|
|
77
77
|
} from '../avm/index.js';
|
|
78
|
-
import { PublicDataHint } from '../avm/public_data_hint.js';
|
|
79
78
|
import { PublicDataRead } from '../avm/public_data_read.js';
|
|
80
79
|
import { PublicDataWrite } from '../avm/public_data_write.js';
|
|
81
80
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
@@ -131,7 +130,6 @@ import { ProofData } from '../proofs/index.js';
|
|
|
131
130
|
import { Proof } from '../proofs/proof.js';
|
|
132
131
|
import { ProvingRequestType } from '../proofs/proving_request_type.js';
|
|
133
132
|
import { makeRecursiveProof } from '../proofs/recursive_proof.js';
|
|
134
|
-
import { AvmProofData } from '../rollup/avm_proof_data.js';
|
|
135
133
|
import { PrivateBaseRollupHints, PublicBaseRollupHints } from '../rollup/base_rollup_hints.js';
|
|
136
134
|
import { BlockConstantData } from '../rollup/block_constant_data.js';
|
|
137
135
|
import { BlockMergeRollupPrivateInputs } from '../rollup/block_merge_rollup_private_inputs.js';
|
|
@@ -147,7 +145,7 @@ import { EpochConstantData } from '../rollup/epoch_constant_data.js';
|
|
|
147
145
|
import { PrivateTxBaseRollupPrivateInputs } from '../rollup/private_tx_base_rollup_private_inputs.js';
|
|
148
146
|
import { PublicTxBaseRollupPrivateInputs } from '../rollup/public_tx_base_rollup_private_inputs.js';
|
|
149
147
|
import { RootRollupPublicInputs } from '../rollup/root_rollup_public_inputs.js';
|
|
150
|
-
import {
|
|
148
|
+
import { TreeSnapshotDiffHints } from '../rollup/tree_snapshot_diff_hints.js';
|
|
151
149
|
import { TxMergeRollupPrivateInputs } from '../rollup/tx_merge_rollup_private_inputs.js';
|
|
152
150
|
import { TxRollupPublicInputs } from '../rollup/tx_rollup_public_inputs.js';
|
|
153
151
|
import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
|
|
@@ -919,7 +917,7 @@ export function makeBlockRootFirstRollupPrivateInputs(seed = 0) {
|
|
|
919
917
|
makeProofData(seed, makeParityPublicInputs),
|
|
920
918
|
[makeProofData(seed + 0x1000, makeTxRollupPublicInputs), makeProofData(seed + 0x2000, makeTxRollupPublicInputs)],
|
|
921
919
|
makeAppendOnlyTreeSnapshot(seed + 0x3000),
|
|
922
|
-
makeSiblingPath(seed + 0x4000,
|
|
920
|
+
makeSiblingPath(seed + 0x4000, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH),
|
|
923
921
|
makeSiblingPath(seed + 0x5000, ARCHIVE_HEIGHT),
|
|
924
922
|
);
|
|
925
923
|
}
|
|
@@ -980,11 +978,11 @@ export function makePublicDataTreeLeafPreimage(seed = 0): PublicDataTreeLeafPrei
|
|
|
980
978
|
}
|
|
981
979
|
|
|
982
980
|
/**
|
|
983
|
-
* Creates an instance of
|
|
981
|
+
* Creates an instance of TreeSnapshotDiffHints with arbitrary values based on the provided seed.
|
|
984
982
|
* @param seed - The seed to use for generating the hints.
|
|
985
|
-
* @returns A
|
|
983
|
+
* @returns A TreeSnapshotDiffHints object.
|
|
986
984
|
*/
|
|
987
|
-
export function
|
|
985
|
+
export function makeTreeSnapshotDiffHints(seed = 1): TreeSnapshotDiffHints {
|
|
988
986
|
const nullifierPredecessorPreimages = makeTuple(
|
|
989
987
|
MAX_NULLIFIERS_PER_TX,
|
|
990
988
|
x => makeNullifierLeafPreimage(x),
|
|
@@ -1001,24 +999,20 @@ export function makePrivateBaseStateDiffHints(seed = 1): PrivateBaseStateDiffHin
|
|
|
1001
999
|
|
|
1002
1000
|
const sortedNullifierIndexes = makeTuple(MAX_NULLIFIERS_PER_TX, i => i, seed + 0x4000);
|
|
1003
1001
|
|
|
1004
|
-
const
|
|
1002
|
+
const noteHashSubtreeRootSiblingPath = makeTuple(NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, fr, seed + 0x5000);
|
|
1005
1003
|
|
|
1006
|
-
const
|
|
1004
|
+
const nullifierSubtreeRootSiblingPath = makeTuple(NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, fr, seed + 0x6000);
|
|
1007
1005
|
|
|
1008
|
-
const
|
|
1009
|
-
const feeWriteLowLeafMembershipWitness = makeMembershipWitness(PUBLIC_DATA_TREE_HEIGHT, seed + 0x8000);
|
|
1010
|
-
const feeWriteSiblingPath = makeTuple(PUBLIC_DATA_TREE_HEIGHT, fr, seed + 0x9000);
|
|
1006
|
+
const feePayerBalanceMembershipWitness = makeMembershipWitness(PUBLIC_DATA_TREE_HEIGHT, seed + 0x8000);
|
|
1011
1007
|
|
|
1012
|
-
return new
|
|
1008
|
+
return new TreeSnapshotDiffHints(
|
|
1009
|
+
noteHashSubtreeRootSiblingPath,
|
|
1013
1010
|
nullifierPredecessorPreimages,
|
|
1014
1011
|
nullifierPredecessorMembershipWitnesses,
|
|
1015
1012
|
sortedNullifiers,
|
|
1016
1013
|
sortedNullifierIndexes,
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
feeWriteLowLeafPreimage,
|
|
1020
|
-
feeWriteLowLeafMembershipWitness,
|
|
1021
|
-
feeWriteSiblingPath,
|
|
1014
|
+
nullifierSubtreeRootSiblingPath,
|
|
1015
|
+
feePayerBalanceMembershipWitness,
|
|
1022
1016
|
);
|
|
1023
1017
|
}
|
|
1024
1018
|
|
|
@@ -1047,22 +1041,22 @@ function makePrivateBaseRollupHints(seed = 1) {
|
|
|
1047
1041
|
|
|
1048
1042
|
const startSpongeBlob = makeSpongeBlob(seed + 0x200);
|
|
1049
1043
|
|
|
1050
|
-
const
|
|
1044
|
+
const treeSnapshotDiffHints = makeTreeSnapshotDiffHints(seed + 0x600);
|
|
1051
1045
|
|
|
1052
|
-
const
|
|
1046
|
+
const anchorBlockArchiveSiblingPath = makeSiblingPath(seed + 0x9000, ARCHIVE_HEIGHT);
|
|
1053
1047
|
|
|
1054
1048
|
const contractClassLogsFields = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x800);
|
|
1055
1049
|
|
|
1056
1050
|
const constants = makeBlockConstantData(0x100);
|
|
1057
1051
|
|
|
1058
|
-
const
|
|
1052
|
+
const feePayerBalanceLeafPreimage = PublicDataTreeLeafPreimage.empty();
|
|
1059
1053
|
|
|
1060
1054
|
return PrivateBaseRollupHints.from({
|
|
1061
1055
|
start,
|
|
1062
1056
|
startSpongeBlob,
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1057
|
+
treeSnapshotDiffHints,
|
|
1058
|
+
feePayerBalanceLeafPreimage,
|
|
1059
|
+
anchorBlockArchiveSiblingPath,
|
|
1066
1060
|
contractClassLogsFields,
|
|
1067
1061
|
constants,
|
|
1068
1062
|
});
|
|
@@ -1072,7 +1066,7 @@ function makePublicBaseRollupHints(seed = 1) {
|
|
|
1072
1066
|
return PublicBaseRollupHints.from({
|
|
1073
1067
|
startSpongeBlob: makeSpongeBlob(seed),
|
|
1074
1068
|
lastArchive: makeAppendOnlyTreeSnapshot(seed + 0x1000),
|
|
1075
|
-
|
|
1069
|
+
anchorBlockArchiveSiblingPath: makeSiblingPath(seed + 0x2000, ARCHIVE_HEIGHT),
|
|
1076
1070
|
contractClassLogsFields: makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, makeContractClassLogFields, seed + 0x3000),
|
|
1077
1071
|
proverId: fr(seed + 0x4000),
|
|
1078
1072
|
});
|
|
@@ -1085,21 +1079,13 @@ export function makePrivateTxBaseRollupPrivateInputs(seed = 0) {
|
|
|
1085
1079
|
});
|
|
1086
1080
|
}
|
|
1087
1081
|
|
|
1088
|
-
function makeAvmProofData(seed = 1) {
|
|
1089
|
-
return new AvmProofData(
|
|
1090
|
-
makeAvmCircuitPublicInputs(seed),
|
|
1091
|
-
makeRecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, seed + 0x100),
|
|
1092
|
-
makeVkData(seed + 0x200),
|
|
1093
|
-
);
|
|
1094
|
-
}
|
|
1095
|
-
|
|
1096
1082
|
export function makePublicTxBaseRollupPrivateInputs(seed = 0) {
|
|
1097
1083
|
const publicTubeProofData = makeProofData(
|
|
1098
1084
|
seed,
|
|
1099
1085
|
makePrivateToPublicKernelCircuitPublicInputs,
|
|
1100
1086
|
RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
|
|
1101
1087
|
);
|
|
1102
|
-
const avmProofData =
|
|
1088
|
+
const avmProofData = makeProofData(seed + 0x100, makeAvmCircuitPublicInputs, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED);
|
|
1103
1089
|
const hints = makePublicBaseRollupHints(seed + 0x200);
|
|
1104
1090
|
|
|
1105
1091
|
return PublicTxBaseRollupPrivateInputs.from({
|
|
@@ -1629,6 +1615,7 @@ export async function makeBloatedProcessedTx({
|
|
|
1629
1615
|
// Create avm output.
|
|
1630
1616
|
const avmOutput = AvmCircuitPublicInputs.empty();
|
|
1631
1617
|
// Assign data from hints.
|
|
1618
|
+
avmOutput.protocolContractTreeRoot = protocolContractTreeRoot;
|
|
1632
1619
|
avmOutput.startTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
|
|
1633
1620
|
avmOutput.endTreeSnapshots.l1ToL2MessageTree = newL1ToL2Snapshot;
|
|
1634
1621
|
// Assign data from private.
|
|
@@ -1671,6 +1658,7 @@ export async function makeBloatedProcessedTx({
|
|
|
1671
1658
|
i => new PublicDataWrite(new Fr(i), new Fr(i + 10)),
|
|
1672
1659
|
seed + 0x2000,
|
|
1673
1660
|
);
|
|
1661
|
+
avmOutput.accumulatedDataArrayLengths = avmOutput.accumulatedData.getArrayLengths();
|
|
1674
1662
|
avmOutput.gasSettings = gasSettings;
|
|
1675
1663
|
|
|
1676
1664
|
const avmCircuitInputs = await makeAvmCircuitInputs(seed + 0x3000, { publicInputs: avmOutput });
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
import { BufferReader } from '@aztec/foundation/serialize';
|
|
4
|
-
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
5
|
-
import { PublicDataTreeLeafPreimage } from '../trees/index.js';
|
|
6
|
-
export declare class PublicDataHint {
|
|
7
|
-
leafSlot: Fr;
|
|
8
|
-
value: Fr;
|
|
9
|
-
membershipWitness: MembershipWitness<typeof PUBLIC_DATA_TREE_HEIGHT>;
|
|
10
|
-
leafPreimage: PublicDataTreeLeafPreimage;
|
|
11
|
-
constructor(leafSlot: Fr, value: Fr, membershipWitness: MembershipWitness<typeof PUBLIC_DATA_TREE_HEIGHT>, leafPreimage: PublicDataTreeLeafPreimage);
|
|
12
|
-
static empty(): PublicDataHint;
|
|
13
|
-
static fromBuffer(buffer: Buffer | BufferReader): PublicDataHint;
|
|
14
|
-
toBuffer(): Buffer<ArrayBufferLike>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=public_data_hint.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"public_data_hint.d.ts","sourceRoot":"","sources":["../../src/avm/public_data_hint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,qBAAa,cAAc;IAEhB,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,uBAAuB,CAAC;IACpE,YAAY,EAAE,0BAA0B;gBAHxC,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAE,EAAE,EACT,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,uBAAuB,CAAC,EACpE,YAAY,EAAE,0BAA0B;IAGjD,MAAM,CAAC,KAAK;IASZ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAU/C,QAAQ;CAGT"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
3
|
-
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
|
-
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
5
|
-
import { PublicDataTreeLeafPreimage } from '../trees/index.js';
|
|
6
|
-
export class PublicDataHint {
|
|
7
|
-
leafSlot;
|
|
8
|
-
value;
|
|
9
|
-
membershipWitness;
|
|
10
|
-
leafPreimage;
|
|
11
|
-
constructor(leafSlot, value, membershipWitness, leafPreimage){
|
|
12
|
-
this.leafSlot = leafSlot;
|
|
13
|
-
this.value = value;
|
|
14
|
-
this.membershipWitness = membershipWitness;
|
|
15
|
-
this.leafPreimage = leafPreimage;
|
|
16
|
-
}
|
|
17
|
-
static empty() {
|
|
18
|
-
return new PublicDataHint(Fr.ZERO, Fr.ZERO, MembershipWitness.empty(PUBLIC_DATA_TREE_HEIGHT), PublicDataTreeLeafPreimage.empty());
|
|
19
|
-
}
|
|
20
|
-
static fromBuffer(buffer) {
|
|
21
|
-
const reader = BufferReader.asReader(buffer);
|
|
22
|
-
return new PublicDataHint(reader.readObject(Fr), reader.readObject(Fr), MembershipWitness.fromBuffer(reader, PUBLIC_DATA_TREE_HEIGHT), reader.readObject(PublicDataTreeLeafPreimage));
|
|
23
|
-
}
|
|
24
|
-
toBuffer() {
|
|
25
|
-
return serializeToBuffer(this.leafSlot, this.value, this.membershipWitness, this.leafPreimage);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state_diff_hints.d.ts","sourceRoot":"","sources":["../../src/rollup/state_diff_hints.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,qCAAqC,EACrC,qCAAqC,EACrC,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAEtF;;GAEG;AACH,qBAAa,yBAAyB;IAElC;;;OAGG;IACI,6BAA6B,EAAE,KAAK,CAAC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAChG;;;OAGG;IACI,uCAAuC,EAAE,KAAK,CACnD,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,EAC/C,OAAO,qBAAqB,CAC7B;IACD;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC;IAChE;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,qBAAqB,CAAC;IAC1E;;OAEG;IACI,0BAA0B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qCAAqC,CAAC;IAC1F;;OAEG;IACI,2BAA2B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qCAAqC,CAAC;IAE3F;;OAEG;IACI,uBAAuB,EAAE,0BAA0B;IAC1D;;OAEG;IACI,gCAAgC,EAAE,iBAAiB,CAAC,OAAO,uBAAuB,CAAC;IAC1F;;OAEG;IACI,mBAAmB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,uBAAuB,CAAC;;IAzCrE;;;OAGG;IACI,6BAA6B,EAAE,KAAK,CAAC,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IAChG;;;OAGG;IACI,uCAAuC,EAAE,KAAK,CACnD,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,EAC/C,OAAO,qBAAqB,CAC7B;IACD;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qBAAqB,CAAC;IAChE;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,qBAAqB,CAAC;IAC1E;;OAEG;IACI,0BAA0B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qCAAqC,CAAC;IAC1F;;OAEG;IACI,2BAA2B,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,qCAAqC,CAAC;IAE3F;;OAEG;IACI,uBAAuB,EAAE,0BAA0B;IAC1D;;OAEG;IACI,gCAAgC,EAAE,iBAAiB,CAAC,OAAO,uBAAuB,CAAC;IAC1F;;OAEG;IACI,mBAAmB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,uBAAuB,CAAC;IAGvE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAAG,yBAAyB;IAInF,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,yBAAyB,CAAC;IAc5D;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,yBAAyB;IAiB3E,MAAM,CAAC,KAAK;CAab"}
|