@aztec/stdlib 0.87.0 → 0.87.2-nightly.20250523

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dest/abi/abi.d.ts +3 -0
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +38 -0
  4. package/dest/avm/avm.d.ts +92 -0
  5. package/dest/avm/avm.d.ts.map +1 -1
  6. package/dest/avm/avm_accumulated_data.d.ts +77 -0
  7. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  8. package/dest/avm/avm_accumulated_data.js +67 -0
  9. package/dest/avm/avm_circuit_public_inputs.d.ts +73 -3
  10. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  11. package/dest/avm/avm_circuit_public_inputs.js +19 -9
  12. package/dest/avm/avm_proving_request.d.ts +104 -0
  13. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  14. package/dest/block/body.d.ts +1 -1
  15. package/dest/block/body.d.ts.map +1 -1
  16. package/dest/block/body.js +2 -2
  17. package/dest/block/l2_block.d.ts +1 -1
  18. package/dest/block/l2_block.d.ts.map +1 -1
  19. package/dest/block/l2_block.js +2 -2
  20. package/dest/interfaces/proving-job.d.ts +108 -4
  21. package/dest/interfaces/proving-job.d.ts.map +1 -1
  22. package/dest/interfaces/proving-job.js +2 -2
  23. package/dest/interfaces/server_circuit_prover.d.ts +3 -2
  24. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  25. package/dest/kernel/public_call_request.d.ts +54 -0
  26. package/dest/kernel/public_call_request.d.ts.map +1 -1
  27. package/dest/kernel/public_call_request.js +58 -0
  28. package/dest/logs/pending_tagged_log.d.ts +1 -1
  29. package/dest/logs/pending_tagged_log.js +1 -1
  30. package/dest/rollup/avm_proof_data.d.ts +5 -3
  31. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  32. package/dest/rollup/avm_proof_data.js +10 -2
  33. package/dest/rollup/root_rollup.d.ts +9 -10
  34. package/dest/rollup/root_rollup.d.ts.map +1 -1
  35. package/dest/rollup/root_rollup.js +9 -20
  36. package/dest/tests/factories.d.ts +2 -1
  37. package/dest/tests/factories.d.ts.map +1 -1
  38. package/dest/tests/factories.js +12 -6
  39. package/dest/tx/tx_effect.d.ts +1 -1
  40. package/dest/tx/tx_effect.d.ts.map +1 -1
  41. package/dest/tx/tx_effect.js +2 -2
  42. package/dest/tx/validator/error_texts.d.ts +1 -1
  43. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  44. package/dest/tx/validator/error_texts.js +1 -1
  45. package/package.json +7 -7
  46. package/src/abi/abi.ts +37 -0
  47. package/src/avm/avm_accumulated_data.ts +93 -0
  48. package/src/avm/avm_circuit_public_inputs.ts +22 -2
  49. package/src/block/body.ts +7 -2
  50. package/src/block/l2_block.ts +2 -1
  51. package/src/interfaces/proving-job.ts +3 -3
  52. package/src/interfaces/server_circuit_prover.ts +3 -2
  53. package/src/kernel/public_call_request.ts +66 -0
  54. package/src/logs/pending_tagged_log.ts +1 -1
  55. package/src/rollup/avm_proof_data.ts +10 -3
  56. package/src/rollup/root_rollup.ts +6 -19
  57. package/src/tests/factories.ts +22 -10
  58. package/src/tx/tx_effect.ts +23 -5
  59. package/src/tx/validator/error_texts.ts +1 -1
@@ -5,7 +5,6 @@ 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 { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
8
  import { FeeRecipient } from './block_root_or_block_merge_public_inputs.js';
10
9
  import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
11
10
  /**
@@ -80,11 +79,8 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
80
79
  *
81
80
  * NOTE: in practice, we'll hash all of this up into a single public input, for cheap on-chain verification.
82
81
  */ export class RootRollupPublicInputs {
83
- previousArchive;
84
- endArchive;
85
- endTimestamp;
86
- endBlockNumber;
87
- outHash;
82
+ previousArchiveRoot;
83
+ endArchiveRoot;
88
84
  proposedBlockHeaderHashes;
89
85
  fees;
90
86
  chainId;
@@ -93,13 +89,9 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
93
89
  protocolContractTreeRoot;
94
90
  proverId;
95
91
  blobPublicInputs;
96
- constructor(/** Snapshot of archive tree before/after this rollup been processed */ previousArchive, endArchive, // This is a u64 in nr, but GlobalVariables contains this as a u64 and is mapped to ts as a field, so I'm doing the same here
97
- endTimestamp, endBlockNumber, outHash, proposedBlockHeaderHashes, fees, chainId, version, vkTreeRoot, protocolContractTreeRoot, proverId, blobPublicInputs){
98
- this.previousArchive = previousArchive;
99
- this.endArchive = endArchive;
100
- this.endTimestamp = endTimestamp;
101
- this.endBlockNumber = endBlockNumber;
102
- this.outHash = outHash;
92
+ constructor(/** Root of the archive tree before this rollup is processed */ previousArchiveRoot, /** Root of the archive tree after this rollup is processed */ endArchiveRoot, proposedBlockHeaderHashes, fees, chainId, version, vkTreeRoot, protocolContractTreeRoot, proverId, blobPublicInputs){
93
+ this.previousArchiveRoot = previousArchiveRoot;
94
+ this.endArchiveRoot = endArchiveRoot;
103
95
  this.proposedBlockHeaderHashes = proposedBlockHeaderHashes;
104
96
  this.fees = fees;
105
97
  this.chainId = chainId;
@@ -111,11 +103,8 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
111
103
  }
112
104
  static getFields(fields) {
113
105
  return [
114
- fields.previousArchive,
115
- fields.endArchive,
116
- fields.endTimestamp,
117
- fields.endBlockNumber,
118
- fields.outHash,
106
+ fields.previousArchiveRoot,
107
+ fields.endArchiveRoot,
119
108
  fields.proposedBlockHeaderHashes,
120
109
  fields.fees,
121
110
  fields.chainId,
@@ -141,7 +130,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
141
130
  * @returns The deserialized `RootRollupPublicInputs` object.
142
131
  */ static fromBuffer(buffer) {
143
132
  const reader = BufferReader.asReader(buffer);
144
- return new RootRollupPublicInputs(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs));
133
+ return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs));
145
134
  }
146
135
  toString() {
147
136
  return bufferToHex(this.toBuffer());
@@ -156,6 +145,6 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
156
145
  return bufferSchemaFor(RootRollupPublicInputs);
157
146
  }
158
147
  /** Creates a random instance. */ static random() {
159
- return new RootRollupPublicInputs(AppendOnlyTreeSnapshot.random(), AppendOnlyTreeSnapshot.random(), Fr.random(), 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(), makeTuple(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs.empty));
148
+ 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(), makeTuple(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs.empty));
160
149
  }
161
150
  }
@@ -18,7 +18,7 @@ import { RollupValidationRequests } from '../kernel/hints/rollup_validation_requ
18
18
  import { CombinedConstantData, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PrivateToRollupAccumulatedData } from '../kernel/index.js';
19
19
  import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
20
20
  import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
21
- import { PublicCallRequest } from '../kernel/public_call_request.js';
21
+ import { PublicCallRequest, PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
22
22
  import { PublicKeys } from '../keys/index.js';
23
23
  import { L2ToL1Message, ScopedL2ToL1Message } from '../messaging/l2_to_l1_message.js';
24
24
  import { BaseParityInputs } from '../parity/base_parity_inputs.js';
@@ -155,6 +155,7 @@ export declare function makeGrumpkinScalar(seed?: number): GrumpkinScalar;
155
155
  */
156
156
  export declare function makeProof(seed?: number): Proof;
157
157
  export declare function makePublicCallRequest(seed?: number): PublicCallRequest;
158
+ export declare function makePublicCallRequestArrayLengths(seed?: number): PublicCallRequestArrayLengths;
158
159
  /**
159
160
  * Makes arbitrary tx request.
160
161
  * @param seed - The seed to use for generating the tx request.
@@ -1 +1 @@
1
- {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/tests/factories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/tests/factories.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { makeBlockBlobPublicInputs, makeSpongeBlob } from '@aztec/blob-lib/testing';
2
- import { ARCHIVE_HEIGHT, AVM_PROOF_LENGTH_IN_FIELDS, AZTEC_MAX_EPOCH_DURATION, BLOBS_PER_BLOCK, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, FIELDS_PER_BLOB, FIXED_DA_GAS, FIXED_L2_GAS, GeneratorIndex, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_SIZE_IN_FIELDS, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
2
+ import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, AZTEC_MAX_EPOCH_DURATION, BLOBS_PER_BLOCK, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, FIELDS_PER_BLOB, FIXED_DA_GAS, FIXED_L2_GAS, GeneratorIndex, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PUBLIC_LOGS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, PUBLIC_LOG_SIZE_IN_FIELDS, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
3
3
  import { makeHalfFullTuple, makeTuple } from '@aztec/foundation/array';
4
4
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
5
5
  import { compact } from '@aztec/foundation/collection';
@@ -10,7 +10,7 @@ import { MembershipWitness } from '@aztec/foundation/trees';
10
10
  import { FunctionSelector } from '../abi/function_selector.js';
11
11
  import { ContractStorageRead } from '../avm/contract_storage_read.js';
12
12
  import { ContractStorageUpdateRequest } from '../avm/contract_storage_update_request.js';
13
- import { AvmAccumulatedData, AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCircuitPublicInputs, AvmCommitCheckpointHint, AvmContractClassHint, AvmContractInstanceHint, AvmCreateCheckpointHint, AvmEnqueuedCallHint, AvmExecutionHints, AvmGetLeafPreimageHintNullifierTree, AvmGetLeafPreimageHintPublicDataTree, AvmGetLeafValueHint, AvmGetPreviousValueIndexHint, AvmGetSiblingPathHint, AvmRevertCheckpointHint, AvmSequentialInsertHintNullifierTree, AvmSequentialInsertHintPublicDataTree, AvmTxHint, RevertCode } from '../avm/index.js';
13
+ import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths, AvmAppendLeavesHint, AvmBytecodeCommitmentHint, AvmCircuitInputs, AvmCircuitPublicInputs, AvmCommitCheckpointHint, AvmContractClassHint, AvmContractInstanceHint, AvmCreateCheckpointHint, AvmEnqueuedCallHint, AvmExecutionHints, AvmGetLeafPreimageHintNullifierTree, AvmGetLeafPreimageHintPublicDataTree, AvmGetLeafValueHint, AvmGetPreviousValueIndexHint, AvmGetSiblingPathHint, AvmRevertCheckpointHint, AvmSequentialInsertHintNullifierTree, AvmSequentialInsertHintPublicDataTree, AvmTxHint, RevertCode } from '../avm/index.js';
14
14
  import { PublicDataHint } from '../avm/public_data_hint.js';
15
15
  import { PublicDataRead } from '../avm/public_data_read.js';
16
16
  import { PublicDataWrite } from '../avm/public_data_write.js';
@@ -29,7 +29,7 @@ import { PrivateCallRequest } from '../kernel/private_call_request.js';
29
29
  import { PrivateCircuitPublicInputs } from '../kernel/private_circuit_public_inputs.js';
30
30
  import { PrivateLogData } from '../kernel/private_log_data.js';
31
31
  import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
32
- import { CountedPublicCallRequest, PublicCallRequest } from '../kernel/public_call_request.js';
32
+ import { CountedPublicCallRequest, PublicCallRequest, PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
33
33
  import { PublicKeys, computeAddress } from '../keys/index.js';
34
34
  import { ContractClassLogFields } from '../logs/index.js';
35
35
  import { PrivateLog } from '../logs/private_log.js';
@@ -206,6 +206,9 @@ function makePrivateToAvmAccumulatedDataArrayLengths(seed = 1) {
206
206
  function makeAvmAccumulatedData(seed = 1) {
207
207
  return new AvmAccumulatedData(makeTuple(MAX_NOTE_HASHES_PER_TX, fr, seed), makeTuple(MAX_NULLIFIERS_PER_TX, fr, seed + 0x100), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, makeScopedL2ToL1Message, seed + 0x200), makeTuple(MAX_PUBLIC_LOGS_PER_TX, makePublicLog, seed + 0x300), makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, makePublicDataWrite, seed + 0x400));
208
208
  }
209
+ function makeAvmAccumulatedDataArrayLengths(seed = 1) {
210
+ return new AvmAccumulatedDataArrayLengths(seed, seed + 1, seed + 2, seed + 3, seed + 4);
211
+ }
209
212
  export function makeGas(seed = 1) {
210
213
  return new Gas(seed, seed + 1);
211
214
  }
@@ -242,7 +245,7 @@ function makePrivateToPublicKernelCircuitPublicInputs(seed = 1) {
242
245
  return new PrivateToRollupKernelCircuitPublicInputs(makeTxConstantData(seed + 0x100), makeRollupValidationRequests(seed), makePrivateToRollupAccumulatedData(seed, fullAccumulatedData), makeGas(seed + 0x600), makeAztecAddress(seed + 0x700));
243
246
  }
244
247
  function makeAvmCircuitPublicInputs(seed = 1) {
245
- return new AvmCircuitPublicInputs(makeGlobalVariables(seed), makeTreeSnapshots(seed + 0x10), makeGas(seed + 0x20), makeGasSettings(), makeAztecAddress(seed + 0x40), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x100), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x200), makePublicCallRequest(seed + 0x300), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x400), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x410), makePrivateToAvmAccumulatedData(seed + 0x500), makePrivateToAvmAccumulatedData(seed + 0x600), makeTreeSnapshots(seed + 0x700), makeGas(seed + 0x750), makeAvmAccumulatedData(seed + 0x800), fr(seed + 0x900), false);
248
+ return new AvmCircuitPublicInputs(makeGlobalVariables(seed), makeTreeSnapshots(seed + 0x10), makeGas(seed + 0x20), makeGasSettings(), makeAztecAddress(seed + 0x40), makePublicCallRequestArrayLengths(seed + 0x40), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x100), makeTuple(MAX_ENQUEUED_CALLS_PER_TX, makePublicCallRequest, seed + 0x200), makePublicCallRequest(seed + 0x300), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x400), makePrivateToAvmAccumulatedDataArrayLengths(seed + 0x410), makePrivateToAvmAccumulatedData(seed + 0x500), makePrivateToAvmAccumulatedData(seed + 0x600), makeTreeSnapshots(seed + 0x700), makeGas(seed + 0x750), makeAvmAccumulatedDataArrayLengths(seed + 0x800), makeAvmAccumulatedData(seed + 0x800), fr(seed + 0x900), false);
246
249
  }
247
250
  function makeSiblingPath(seed, size) {
248
251
  return makeTuple(size, fr, seed);
@@ -294,6 +297,9 @@ function makePrivateCallRequest(seed = 1) {
294
297
  export function makePublicCallRequest(seed = 1) {
295
298
  return new PublicCallRequest(makeAztecAddress(seed), makeAztecAddress(seed + 1), false, fr(seed + 0x3));
296
299
  }
300
+ export function makePublicCallRequestArrayLengths(seed = 1) {
301
+ return new PublicCallRequestArrayLengths(seed, seed + 1, seed % 2 === 0);
302
+ }
297
303
  function makeCountedPublicCallRequest(seed = 1) {
298
304
  return new CountedPublicCallRequest(makePublicCallRequest(seed), seed + 0x100);
299
305
  }
@@ -503,7 +509,7 @@ export function makeRootParityInputs(seed = 0) {
503
509
  * @param blockNumber - The block number to use in the global variables of a header.
504
510
  * @returns A root rollup public inputs.
505
511
  */ export function makeRootRollupPublicInputs(seed = 0) {
506
- return new RootRollupPublicInputs(makeAppendOnlyTreeSnapshot(seed + 0x100), makeAppendOnlyTreeSnapshot(seed + 0x200), fr(seed + 0x300), fr(seed + 0x400), fr(seed + 0x500), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x650), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x600), fr(seed + 0x700), fr(seed + 0x701), fr(seed + 0x702), fr(seed + 0x703), fr(seed + 0x704), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeBlockBlobPublicInputs(seed), 0x800));
512
+ return new RootRollupPublicInputs(fr(seed + 0x100), fr(seed + 0x200), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>fr(seed), 0x300), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeFeeRecipient(seed), 0x500), fr(seed + 0x700), fr(seed + 0x701), fr(seed + 0x702), fr(seed + 0x703), fr(seed + 0x704), makeTuple(AZTEC_MAX_EPOCH_DURATION, ()=>makeBlockBlobPublicInputs(seed), 0x800));
507
513
  }
508
514
  /**
509
515
  * Makes content commitment
@@ -663,7 +669,7 @@ function makePublicTubeData(seed = 1) {
663
669
  return new PublicTubeData(makePrivateToPublicKernelCircuitPublicInputs(seed), makeRecursiveProof(TUBE_PROOF_LENGTH, seed + 0x100), makeVkWitnessData(seed + 0x200));
664
670
  }
665
671
  function makeAvmProofData(seed = 1) {
666
- return new AvmProofData(makeAvmCircuitPublicInputs(seed), makeRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS, seed + 0x100), makeVkWitnessData(seed + 0x200));
672
+ return new AvmProofData(makeAvmCircuitPublicInputs(seed), makeRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, seed + 0x100), makeVkWitnessData(seed + 0x200));
667
673
  }
668
674
  export function makePublicBaseRollupInputs(seed = 0) {
669
675
  const tubeData = makePublicTubeData(seed);
@@ -112,7 +112,7 @@ export declare class TxEffect {
112
112
  * @dev Follows new_sha in variable_merkle_tree.nr
113
113
  */
114
114
  txOutHash(): Buffer<ArrayBufferLike>;
115
- static random(numPublicCallsPerTx?: number, numPublicLogsPerCall?: number): Promise<TxEffect>;
115
+ static random(numPublicCallsPerTx?: number, numPublicLogsPerCall?: number, maxEffects?: number | undefined): Promise<TxEffect>;
116
116
  static empty(): TxEffect;
117
117
  isEmpty(): boolean;
118
118
  /** Returns a hex representation of the TxEffect object. */
@@ -1 +1 @@
1
- {"version":3,"file":"tx_effect.d.ts","sourceRoot":"","sources":["../../src/tx/tx_effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx_effect.d.ts","sourceRoot":"","sources":["../../src/tx/tx_effect.ts"],"names":[],"mappings":"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"}
@@ -160,8 +160,8 @@ export class TxEffect {
160
160
  }
161
161
  return thisLayer[0];
162
162
  }
163
- static async random(numPublicCallsPerTx = 3, numPublicLogsPerCall = 1) {
164
- return new TxEffect(RevertCode.random(), TxHash.random(), new Fr(Math.floor(Math.random() * 100_000)), makeTuple(MAX_NOTE_HASHES_PER_TX, Fr.random), makeTuple(MAX_NULLIFIERS_PER_TX, Fr.random), makeTuple(MAX_L2_TO_L1_MSGS_PER_TX, Fr.random), makeTuple(MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, PublicDataWrite.random), makeTuple(MAX_PRIVATE_LOGS_PER_TX, ()=>PrivateLog.random()), await makeTupleAsync(numPublicCallsPerTx * numPublicLogsPerCall, async ()=>await PublicLog.random()), await makeTupleAsync(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLog.random));
163
+ static async random(numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, maxEffects = undefined) {
164
+ return new TxEffect(RevertCode.random(), TxHash.random(), new Fr(Math.floor(Math.random() * 100_000)), makeTuple(maxEffects === undefined ? MAX_NOTE_HASHES_PER_TX : Math.min(maxEffects, MAX_NOTE_HASHES_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_NULLIFIERS_PER_TX : Math.min(maxEffects, MAX_NULLIFIERS_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_L2_TO_L1_MSGS_PER_TX : Math.min(maxEffects, MAX_L2_TO_L1_MSGS_PER_TX), Fr.random), makeTuple(maxEffects === undefined ? MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX : Math.min(maxEffects, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX), PublicDataWrite.random), makeTuple(MAX_PRIVATE_LOGS_PER_TX, ()=>PrivateLog.random()), await makeTupleAsync(numPublicCallsPerTx * numPublicLogsPerCall, async ()=>await PublicLog.random()), await makeTupleAsync(MAX_CONTRACT_CLASS_LOGS_PER_TX, ContractClassLog.random));
165
165
  }
166
166
  static empty() {
167
167
  return new TxEffect(RevertCode.OK, TxHash.zero(), Fr.ZERO, [], [], [], [], [], [], []);
@@ -4,7 +4,7 @@ export declare const TX_ERROR_INSUFFICIENT_GAS_LIMIT = "Gas limit is below the m
4
4
  export declare const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = "Setup function not on allow list";
5
5
  export declare const TX_ERROR_DUPLICATE_NULLIFIER_IN_TX = "Duplicate nullifier in tx";
6
6
  export declare const TX_ERROR_EXISTING_NULLIFIER = "Existing nullifier";
7
- export declare const TX_ERROR_INVALID_BLOCK_NUMBER = "Invalid block number";
7
+ export declare const TX_ERROR_INVALID_MAX_BLOCK_NUMBER = "Invalid max block number";
8
8
  export declare const TX_ERROR_INCORRECT_L1_CHAIN_ID = "Incorrect L1 chain id";
9
9
  export declare const TX_ERROR_INCORRECT_ROLLUP_VERSION = "Incorrect rollup version";
10
10
  export declare const TX_ERROR_INCORRECT_VK_TREE_ROOT = "Incorrect protocol circuits tree root";
@@ -1 +1 @@
1
- {"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAG3F,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AAGtF,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AACpE,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,8CAA8C,2CAA2C,CAAC;AAGvG,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,iCAAiC,uDAAuD,CAAC;AACtG,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAC5F,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AACzF,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,mCAAmC,2CAA2C,CAAC;AAG5F,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
1
+ {"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAG3F,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AAGtF,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,8CAA8C,2CAA2C,CAAC;AAGvG,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,iCAAiC,uDAAuD,CAAC;AACtG,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAC5F,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AACzF,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,mCAAmC,2CAA2C,CAAC;AAG5F,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
@@ -8,7 +8,7 @@ export const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = 'Setup function not on allow
8
8
  export const TX_ERROR_DUPLICATE_NULLIFIER_IN_TX = 'Duplicate nullifier in tx';
9
9
  export const TX_ERROR_EXISTING_NULLIFIER = 'Existing nullifier';
10
10
  // Metadata
11
- export const TX_ERROR_INVALID_BLOCK_NUMBER = 'Invalid block number';
11
+ export const TX_ERROR_INVALID_MAX_BLOCK_NUMBER = 'Invalid max block number';
12
12
  export const TX_ERROR_INCORRECT_L1_CHAIN_ID = 'Incorrect L1 chain id';
13
13
  export const TX_ERROR_INCORRECT_ROLLUP_VERSION = 'Incorrect rollup version';
14
14
  export const TX_ERROR_INCORRECT_VK_TREE_ROOT = 'Incorrect protocol circuits tree root';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "0.87.0",
3
+ "version": "0.87.2-nightly.20250523",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -67,12 +67,12 @@
67
67
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
68
68
  },
69
69
  "dependencies": {
70
- "@aztec/bb.js": "0.87.0",
71
- "@aztec/blob-lib": "0.87.0",
72
- "@aztec/constants": "0.87.0",
73
- "@aztec/ethereum": "0.87.0",
74
- "@aztec/foundation": "0.87.0",
75
- "@aztec/noir-noirc_abi": "0.87.0",
70
+ "@aztec/bb.js": "0.87.2-nightly.20250523",
71
+ "@aztec/blob-lib": "0.87.2-nightly.20250523",
72
+ "@aztec/constants": "0.87.2-nightly.20250523",
73
+ "@aztec/ethereum": "0.87.2-nightly.20250523",
74
+ "@aztec/foundation": "0.87.2-nightly.20250523",
75
+ "@aztec/noir-noirc_abi": "0.87.2-nightly.20250523",
76
76
  "@google-cloud/storage": "^7.15.0",
77
77
  "axios": "^1.9.0",
78
78
  "json-stringify-deterministic": "1.0.12",
package/src/abi/abi.ts CHANGED
@@ -533,3 +533,40 @@ export function getInitializer(
533
533
  return initializerNameOrArtifact;
534
534
  }
535
535
  }
536
+
537
+ export function emptyFunctionAbi(): FunctionAbi {
538
+ return {
539
+ name: '',
540
+ functionType: FunctionType.PRIVATE,
541
+ isInternal: false,
542
+ isStatic: false,
543
+ parameters: [],
544
+ returnTypes: [],
545
+ errorTypes: {},
546
+ isInitializer: false,
547
+ };
548
+ }
549
+
550
+ export function emptyFunctionArtifact(): FunctionArtifact {
551
+ const abi = emptyFunctionAbi();
552
+ return {
553
+ ...abi,
554
+ bytecode: Buffer.from([]),
555
+ debugSymbols: '',
556
+ };
557
+ }
558
+
559
+ export function emptyContractArtifact(): ContractArtifact {
560
+ return {
561
+ name: '',
562
+ functions: [emptyFunctionArtifact()],
563
+ nonDispatchPublicFunctions: [emptyFunctionAbi()],
564
+ outputs: {
565
+ structs: {},
566
+ globals: {},
567
+ },
568
+ storageLayout: {},
569
+ fileMap: {},
570
+ notes: {},
571
+ };
572
+ }
@@ -185,3 +185,96 @@ export class AvmAccumulatedData {
185
185
  }`;
186
186
  }
187
187
  }
188
+
189
+ /**
190
+ * Represents the lengths of arrays in AVM accumulated data
191
+ */
192
+ export class AvmAccumulatedDataArrayLengths {
193
+ constructor(
194
+ /**
195
+ * Number of note hashes
196
+ */
197
+ public noteHashes: number,
198
+ /**
199
+ * Number of nullifiers
200
+ */
201
+ public nullifiers: number,
202
+ /**
203
+ * Number of L2 to L1 messages
204
+ */
205
+ public l2ToL1Msgs: number,
206
+ /**
207
+ * Number of public logs
208
+ */
209
+ public publicLogs: number,
210
+ /**
211
+ * Number of public data writes
212
+ */
213
+ public publicDataWrites: number,
214
+ ) {}
215
+
216
+ static get schema() {
217
+ return z
218
+ .object({
219
+ noteHashes: z.number(),
220
+ nullifiers: z.number(),
221
+ l2ToL1Msgs: z.number(),
222
+ publicLogs: z.number(),
223
+ publicDataWrites: z.number(),
224
+ })
225
+ .transform(
226
+ ({ noteHashes, nullifiers, l2ToL1Msgs, publicLogs, publicDataWrites }) =>
227
+ new AvmAccumulatedDataArrayLengths(noteHashes, nullifiers, l2ToL1Msgs, publicLogs, publicDataWrites),
228
+ );
229
+ }
230
+
231
+ static fromBuffer(buffer: Buffer | BufferReader) {
232
+ const reader = BufferReader.asReader(buffer);
233
+ return new AvmAccumulatedDataArrayLengths(
234
+ reader.readNumber(),
235
+ reader.readNumber(),
236
+ reader.readNumber(),
237
+ reader.readNumber(),
238
+ reader.readNumber(),
239
+ );
240
+ }
241
+
242
+ toBuffer() {
243
+ return serializeToBuffer(this.noteHashes, this.nullifiers, this.l2ToL1Msgs, this.publicLogs, this.publicDataWrites);
244
+ }
245
+
246
+ static fromFields(fields: Fr[] | FieldReader) {
247
+ const reader = FieldReader.asReader(fields);
248
+ return new AvmAccumulatedDataArrayLengths(
249
+ Number(reader.readField()),
250
+ Number(reader.readField()),
251
+ Number(reader.readField()),
252
+ Number(reader.readField()),
253
+ Number(reader.readField()),
254
+ );
255
+ }
256
+
257
+ toFields(): Fr[] {
258
+ return [
259
+ new Fr(this.noteHashes),
260
+ new Fr(this.nullifiers),
261
+ new Fr(this.l2ToL1Msgs),
262
+ new Fr(this.publicLogs),
263
+ new Fr(this.publicDataWrites),
264
+ ];
265
+ }
266
+
267
+ static empty() {
268
+ return new AvmAccumulatedDataArrayLengths(0, 0, 0, 0, 0);
269
+ }
270
+
271
+ [inspect.custom]() {
272
+ return `AvmAccumulatedDataArrayLengths {
273
+ noteHashes: ${this.noteHashes},
274
+ nullifiers: ${this.nullifiers},
275
+ l2ToL1Msgs: ${this.l2ToL1Msgs},
276
+ publicLogs: ${this.publicLogs},
277
+ publicDataWrites: ${this.publicDataWrites},
278
+ }`;
279
+ }
280
+ }
@@ -14,10 +14,10 @@ import {
14
14
  PrivateToAvmAccumulatedData,
15
15
  PrivateToAvmAccumulatedDataArrayLengths,
16
16
  } from '../kernel/private_to_avm_accumulated_data.js';
17
- import { PublicCallRequest } from '../kernel/public_call_request.js';
17
+ import { PublicCallRequest, PublicCallRequestArrayLengths } from '../kernel/public_call_request.js';
18
18
  import { GlobalVariables } from '../tx/global_variables.js';
19
19
  import { TreeSnapshots } from '../tx/tree_snapshots.js';
20
- import { AvmAccumulatedData } from './avm_accumulated_data.js';
20
+ import { AvmAccumulatedData, AvmAccumulatedDataArrayLengths } from './avm_accumulated_data.js';
21
21
  import { serializeWithMessagePack } from './message_pack.js';
22
22
 
23
23
  // Note: the {from,to}{Buffer,Fields,String} methods are needed by AvmProofData and PublicBaseRollupInputs.
@@ -31,6 +31,7 @@ export class AvmCircuitPublicInputs {
31
31
  public startGasUsed: Gas,
32
32
  public gasSettings: GasSettings,
33
33
  public feePayer: AztecAddress,
34
+ public publicCallRequestArrayLengths: PublicCallRequestArrayLengths,
34
35
  public publicSetupCallRequests: Tuple<PublicCallRequest, typeof MAX_ENQUEUED_CALLS_PER_TX>,
35
36
  public publicAppLogicCallRequests: Tuple<PublicCallRequest, typeof MAX_ENQUEUED_CALLS_PER_TX>,
36
37
  public publicTeardownCallRequest: PublicCallRequest,
@@ -42,6 +43,7 @@ export class AvmCircuitPublicInputs {
42
43
  // Outputs.
43
44
  public endTreeSnapshots: TreeSnapshots,
44
45
  public endGasUsed: Gas,
46
+ public accumulatedDataArrayLengths: AvmAccumulatedDataArrayLengths,
45
47
  public accumulatedData: AvmAccumulatedData,
46
48
  public transactionFee: Fr,
47
49
  public reverted: boolean,
@@ -55,6 +57,7 @@ export class AvmCircuitPublicInputs {
55
57
  startGasUsed: Gas.schema,
56
58
  gasSettings: GasSettings.schema,
57
59
  feePayer: AztecAddress.schema,
60
+ publicCallRequestArrayLengths: PublicCallRequestArrayLengths.schema,
58
61
  publicSetupCallRequests: PublicCallRequest.schema.array().max(MAX_ENQUEUED_CALLS_PER_TX),
59
62
  publicAppLogicCallRequests: PublicCallRequest.schema.array().max(MAX_ENQUEUED_CALLS_PER_TX),
60
63
  publicTeardownCallRequest: PublicCallRequest.schema,
@@ -64,6 +67,7 @@ export class AvmCircuitPublicInputs {
64
67
  previousRevertibleAccumulatedData: PrivateToAvmAccumulatedData.schema,
65
68
  endTreeSnapshots: TreeSnapshots.schema,
66
69
  endGasUsed: Gas.schema,
70
+ accumulatedDataArrayLengths: AvmAccumulatedDataArrayLengths.schema,
67
71
  accumulatedData: AvmAccumulatedData.schema,
68
72
  transactionFee: schemas.Fr,
69
73
  reverted: z.boolean(),
@@ -75,6 +79,7 @@ export class AvmCircuitPublicInputs {
75
79
  startGasUsed,
76
80
  gasSettings,
77
81
  feePayer,
82
+ publicCallRequestArrayLengths,
78
83
  publicSetupCallRequests,
79
84
  publicAppLogicCallRequests,
80
85
  publicTeardownCallRequest,
@@ -84,6 +89,7 @@ export class AvmCircuitPublicInputs {
84
89
  previousRevertibleAccumulatedData,
85
90
  endTreeSnapshots,
86
91
  endGasUsed,
92
+ accumulatedDataArrayLengths,
87
93
  accumulatedData,
88
94
  transactionFee,
89
95
  reverted,
@@ -94,6 +100,7 @@ export class AvmCircuitPublicInputs {
94
100
  startGasUsed,
95
101
  gasSettings,
96
102
  feePayer,
103
+ publicCallRequestArrayLengths,
97
104
  assertLength(publicSetupCallRequests, MAX_ENQUEUED_CALLS_PER_TX),
98
105
  assertLength(publicAppLogicCallRequests, MAX_ENQUEUED_CALLS_PER_TX),
99
106
  publicTeardownCallRequest,
@@ -103,6 +110,7 @@ export class AvmCircuitPublicInputs {
103
110
  previousRevertibleAccumulatedData,
104
111
  endTreeSnapshots,
105
112
  endGasUsed,
113
+ accumulatedDataArrayLengths,
106
114
  accumulatedData,
107
115
  transactionFee,
108
116
  reverted,
@@ -118,6 +126,7 @@ export class AvmCircuitPublicInputs {
118
126
  reader.readObject(Gas),
119
127
  reader.readObject(GasSettings),
120
128
  reader.readObject(AztecAddress),
129
+ reader.readObject(PublicCallRequestArrayLengths),
121
130
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
122
131
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
123
132
  reader.readObject(PublicCallRequest),
@@ -127,6 +136,7 @@ export class AvmCircuitPublicInputs {
127
136
  reader.readObject(PrivateToAvmAccumulatedData),
128
137
  reader.readObject(TreeSnapshots),
129
138
  reader.readObject(Gas),
139
+ reader.readObject(AvmAccumulatedDataArrayLengths),
130
140
  reader.readObject(AvmAccumulatedData),
131
141
  reader.readObject(Fr),
132
142
  reader.readBoolean(),
@@ -140,6 +150,7 @@ export class AvmCircuitPublicInputs {
140
150
  this.startGasUsed,
141
151
  this.gasSettings,
142
152
  this.feePayer,
153
+ this.publicCallRequestArrayLengths,
143
154
  this.publicSetupCallRequests,
144
155
  this.publicAppLogicCallRequests,
145
156
  this.publicTeardownCallRequest,
@@ -149,6 +160,7 @@ export class AvmCircuitPublicInputs {
149
160
  this.previousRevertibleAccumulatedData,
150
161
  this.endTreeSnapshots,
151
162
  this.endGasUsed,
163
+ this.accumulatedDataArrayLengths,
152
164
  this.accumulatedData,
153
165
  this.transactionFee,
154
166
  this.reverted,
@@ -171,6 +183,7 @@ export class AvmCircuitPublicInputs {
171
183
  Gas.fromFields(reader),
172
184
  GasSettings.fromFields(reader),
173
185
  AztecAddress.fromFields(reader),
186
+ PublicCallRequestArrayLengths.fromFields(reader),
174
187
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
175
188
  reader.readArray(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest),
176
189
  PublicCallRequest.fromFields(reader),
@@ -180,6 +193,7 @@ export class AvmCircuitPublicInputs {
180
193
  PrivateToAvmAccumulatedData.fromFields(reader),
181
194
  TreeSnapshots.fromFields(reader),
182
195
  Gas.fromFields(reader),
196
+ AvmAccumulatedDataArrayLengths.fromFields(reader),
183
197
  AvmAccumulatedData.fromFields(reader),
184
198
  reader.readField(),
185
199
  reader.readBoolean(),
@@ -193,6 +207,7 @@ export class AvmCircuitPublicInputs {
193
207
  ...this.startGasUsed.toFields(),
194
208
  ...this.gasSettings.toFields(),
195
209
  this.feePayer,
210
+ ...this.publicCallRequestArrayLengths.toFields(),
196
211
  ...this.publicSetupCallRequests.map(request => request.toFields()),
197
212
  ...this.publicAppLogicCallRequests.map(request => request.toFields()),
198
213
  ...this.publicTeardownCallRequest.toFields(),
@@ -202,6 +217,7 @@ export class AvmCircuitPublicInputs {
202
217
  ...this.previousRevertibleAccumulatedData.toFields(),
203
218
  ...this.endTreeSnapshots.toFields(),
204
219
  ...this.endGasUsed.toFields(),
220
+ ...this.accumulatedDataArrayLengths.toFields(),
205
221
  ...this.accumulatedData.toFields(),
206
222
  this.transactionFee,
207
223
  this.reverted,
@@ -215,6 +231,7 @@ export class AvmCircuitPublicInputs {
215
231
  Gas.empty(),
216
232
  GasSettings.empty(),
217
233
  AztecAddress.zero(),
234
+ PublicCallRequestArrayLengths.empty(),
218
235
  makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty),
219
236
  makeTuple(MAX_ENQUEUED_CALLS_PER_TX, PublicCallRequest.empty),
220
237
  PublicCallRequest.empty(),
@@ -224,6 +241,7 @@ export class AvmCircuitPublicInputs {
224
241
  PrivateToAvmAccumulatedData.empty(),
225
242
  TreeSnapshots.empty(),
226
243
  Gas.empty(),
244
+ AvmAccumulatedDataArrayLengths.empty(),
227
245
  AvmAccumulatedData.empty(),
228
246
  Fr.zero(),
229
247
  false,
@@ -241,6 +259,7 @@ export class AvmCircuitPublicInputs {
241
259
  startGasUsed: ${inspect(this.startGasUsed)},
242
260
  gasSettings: ${inspect(this.gasSettings)},
243
261
  feePayer: ${inspect(this.feePayer)},
262
+ publicCallRequestArrayLengths: ${inspect(this.publicCallRequestArrayLengths)},
244
263
  publicSetupCallRequests: [${this.publicSetupCallRequests
245
264
  .filter(x => !x.isEmpty())
246
265
  .map(h => inspect(h))
@@ -258,6 +277,7 @@ export class AvmCircuitPublicInputs {
258
277
  previousRevertibleAccumulatedData: ${inspect(this.previousRevertibleAccumulatedData)},
259
278
  endTreeSnapshots: ${inspect(this.endTreeSnapshots)},
260
279
  endGasUsed: ${inspect(this.endGasUsed)},
280
+ accumulatedDataArrayLengths: ${inspect(this.accumulatedDataArrayLengths)},
261
281
  accumulatedData: ${inspect(this.accumulatedData)},
262
282
  transactionFee: ${inspect(this.transactionFee)},
263
283
  reverted: ${this.reverted},
package/src/block/body.ts CHANGED
@@ -87,9 +87,14 @@ export class Body {
87
87
  }`;
88
88
  }
89
89
 
90
- static async random(txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1) {
90
+ static async random(
91
+ txsPerBlock = 4,
92
+ numPublicCallsPerTx = 3,
93
+ numPublicLogsPerCall = 1,
94
+ maxEffects: number | undefined = undefined,
95
+ ) {
91
96
  const txEffects = await timesParallel(txsPerBlock, () =>
92
- TxEffect.random(numPublicCallsPerTx, numPublicLogsPerCall),
97
+ TxEffect.random(numPublicCallsPerTx, numPublicLogsPerCall, maxEffects),
93
98
  );
94
99
 
95
100
  return new Body(txEffects);