@aztec/stdlib 4.0.0-nightly.20260119 → 4.0.0-nightly.20260120

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 (85) hide show
  1. package/dest/avm/avm.d.ts +300 -300
  2. package/dest/block/block_parameter.d.ts +4 -3
  3. package/dest/block/block_parameter.d.ts.map +1 -1
  4. package/dest/block/block_parameter.js +2 -0
  5. package/dest/block/checkpointed_l2_block.d.ts +10 -127
  6. package/dest/block/checkpointed_l2_block.d.ts.map +1 -1
  7. package/dest/block/checkpointed_l2_block.js +2 -41
  8. package/dest/block/in_block.d.ts +3 -3
  9. package/dest/block/in_block.d.ts.map +1 -1
  10. package/dest/block/index.d.ts +1 -3
  11. package/dest/block/index.d.ts.map +1 -1
  12. package/dest/block/index.js +0 -2
  13. package/dest/block/l2_block_new.d.ts +11 -9
  14. package/dest/block/l2_block_new.d.ts.map +1 -1
  15. package/dest/block/l2_block_new.js +5 -5
  16. package/dest/block/l2_block_source.d.ts +20 -11
  17. package/dest/block/l2_block_source.d.ts.map +1 -1
  18. package/dest/checkpoint/checkpoint.d.ts +10 -8
  19. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  20. package/dest/checkpoint/checkpoint.js +2 -2
  21. package/dest/checkpoint/published_checkpoint.d.ts +11 -9
  22. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  23. package/dest/interfaces/archiver.d.ts +1 -1
  24. package/dest/interfaces/archiver.d.ts.map +1 -1
  25. package/dest/interfaces/archiver.js +9 -8
  26. package/dest/interfaces/aztec-node.d.ts +35 -40
  27. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  28. package/dest/interfaces/aztec-node.js +6 -8
  29. package/dest/interfaces/block-builder.d.ts +18 -17
  30. package/dest/interfaces/block-builder.d.ts.map +1 -1
  31. package/dest/interfaces/proving-job.d.ts +166 -166
  32. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +1 -1
  33. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  34. package/dest/kernel/hints/build_note_hash_read_request_hints.js +16 -6
  35. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +1 -1
  36. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  37. package/dest/kernel/hints/build_nullifier_read_request_hints.js +14 -4
  38. package/dest/p2p/block_proposal.d.ts +9 -9
  39. package/dest/p2p/block_proposal.d.ts.map +1 -1
  40. package/dest/p2p/block_proposal.js +6 -5
  41. package/dest/p2p/checkpoint_proposal.d.ts +4 -4
  42. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  43. package/dest/p2p/checkpoint_proposal.js +3 -3
  44. package/dest/p2p/consensus_payload.d.ts +1 -3
  45. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  46. package/dest/p2p/consensus_payload.js +0 -3
  47. package/dest/tests/factories.d.ts +2 -4
  48. package/dest/tests/factories.d.ts.map +1 -1
  49. package/dest/tests/factories.js +3 -13
  50. package/dest/tests/jest.d.ts +4 -4
  51. package/dest/tests/jest.js +9 -9
  52. package/dest/tests/mocks.d.ts +12 -12
  53. package/dest/tests/mocks.d.ts.map +1 -1
  54. package/dest/tests/mocks.js +33 -21
  55. package/package.json +9 -9
  56. package/src/block/block_parameter.ts +4 -2
  57. package/src/block/checkpointed_l2_block.ts +2 -53
  58. package/src/block/in_block.ts +2 -2
  59. package/src/block/index.ts +0 -2
  60. package/src/block/l2_block_new.ts +14 -7
  61. package/src/block/l2_block_source.ts +21 -11
  62. package/src/checkpoint/checkpoint.ts +8 -2
  63. package/src/interfaces/archiver.ts +9 -8
  64. package/src/interfaces/aztec-node.ts +39 -57
  65. package/src/interfaces/block-builder.ts +33 -28
  66. package/src/kernel/hints/build_note_hash_read_request_hints.ts +17 -6
  67. package/src/kernel/hints/build_nullifier_read_request_hints.ts +22 -10
  68. package/src/p2p/block_proposal.ts +10 -10
  69. package/src/p2p/checkpoint_proposal.ts +4 -4
  70. package/src/p2p/consensus_payload.ts +0 -5
  71. package/src/tests/factories.ts +2 -25
  72. package/src/tests/jest.ts +9 -9
  73. package/src/tests/mocks.ts +35 -28
  74. package/dest/block/l2_block.d.ts +0 -150
  75. package/dest/block/l2_block.d.ts.map +0 -1
  76. package/dest/block/l2_block.js +0 -201
  77. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  78. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  79. package/dest/block/l2_block_code_to_purge.js +0 -55
  80. package/dest/block/l2_block_header.d.ts +0 -106
  81. package/dest/block/l2_block_header.d.ts.map +0 -1
  82. package/dest/block/l2_block_header.js +0 -167
  83. package/src/block/l2_block.ts +0 -274
  84. package/src/block/l2_block_code_to_purge.ts +0 -81
  85. package/src/block/l2_block_header.ts +0 -268
@@ -1,23 +1,23 @@
1
- import { L2Block } from '../block/l2_block.js';
1
+ import { L2BlockNew } from '../block/l2_block_new.js';
2
2
  /**
3
- * Checks if two objects are the same L2Block.
3
+ * Checks if two objects are the same L2BlockNew.
4
4
  *
5
- * Sometimes we might be comparing two L2Block instances that represent the same block but one of them might not have
5
+ * Sometimes we might be comparing two L2BlockNew instances that represent the same block but one of them might not have
6
6
  * calculated and filled its `blockHash` property (which is computed on demand). This function ensures both objects
7
- * are really the same L2Block.
7
+ * are really the same L2BlockNew.
8
8
  *
9
9
  * @param a - An object
10
10
  * @param b - Another object
11
- * @returns True if both a and b are the same L2Block
11
+ * @returns True if both a and b are the same L2BlockNew
12
12
  */ export function equalL2Blocks(a, b) {
13
- const aAsL2Block = a && a instanceof L2Block ? a : undefined;
14
- const bAsL2Block = b && b instanceof L2Block ? b : undefined;
13
+ const aAsL2Block = a && a instanceof L2BlockNew ? a : undefined;
14
+ const bAsL2Block = b && b instanceof L2BlockNew ? b : undefined;
15
15
  if (aAsL2Block && bAsL2Block) {
16
- // we got two L2Block instances, so we can compare them
16
+ // we got two L2BlockNew instances, so we can compare them
17
17
  // use a custom comparator because the blockHash property is lazily computed and one instance might not have it
18
18
  return aAsL2Block.toBuffer().equals(bAsL2Block.toBuffer());
19
19
  } else if (aAsL2Block || bAsL2Block) {
20
- // one value is an L2block and the other isn't. Definitely not equal.
20
+ // one value is an L2BlockNew and the other isn't. Definitely not equal.
21
21
  return false;
22
22
  } else {
23
23
  // we don't know what they are, tell Jest to keep looking
@@ -1,5 +1,5 @@
1
1
  import { type FieldsOf } from '@aztec/foundation/array';
2
- import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
3
  import { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
@@ -7,8 +7,7 @@ import type { ContractArtifact } from '../abi/abi.js';
7
7
  import type { AvmAccumulatedData } from '../avm/avm_accumulated_data.js';
8
8
  import { PublicDataWrite } from '../avm/public_data_write.js';
9
9
  import { AztecAddress } from '../aztec-address/index.js';
10
- import { L2BlockHeader, L2BlockNew, PublishedL2Block } from '../block/index.js';
11
- import { L2Block } from '../block/l2_block.js';
10
+ import { CheckpointedL2Block, L2BlockNew } from '../block/index.js';
12
11
  import type { CommitteeAttestationsAndSigners } from '../block/proposal/attestations_and_signers.js';
13
12
  import { Checkpoint } from '../checkpoint/checkpoint.js';
14
13
  import type { ContractInstanceWithAddress } from '../contract/index.js';
@@ -96,15 +95,15 @@ export interface MakeConsensusPayloadOptions {
96
95
  signer?: Secp256k1Signer;
97
96
  attesterSigner?: Secp256k1Signer;
98
97
  proposerSigner?: Secp256k1Signer;
99
- header?: L2BlockHeader;
98
+ header?: CheckpointHeader;
100
99
  archive?: Fr;
101
100
  txHashes?: TxHash[];
102
101
  txs?: Tx[];
103
102
  }
104
103
  export interface MakeBlockProposalOptions {
105
104
  signer?: Secp256k1Signer;
106
- blockHeader?: L2BlockHeader;
107
- indexWithinCheckpoint?: number;
105
+ blockHeader?: BlockHeader;
106
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
108
107
  inHash?: Fr;
109
108
  archiveRoot?: Fr;
110
109
  txHashes?: TxHash[];
@@ -116,8 +115,8 @@ export interface MakeCheckpointProposalOptions {
116
115
  archiveRoot?: Fr;
117
116
  /** Options for the lastBlock - if undefined, no lastBlock is included */
118
117
  lastBlock?: {
119
- blockHeader?: L2BlockHeader;
120
- indexWithinCheckpoint?: number;
118
+ blockHeader?: BlockHeader;
119
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
121
120
  txHashes?: TxHash[];
122
121
  txs?: Tx[];
123
122
  };
@@ -148,10 +147,11 @@ export declare const makeCheckpointAttestationFromProposal: (proposal: Checkpoin
148
147
  */
149
148
  export declare const makeCheckpointAttestationFromCheckpoint: (checkpoint: Checkpoint, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
150
149
  /**
151
- * Create a checkpoint attestation from an L2Block
150
+ * Create a checkpoint attestation from an L2BlockNew
151
+ * Note: This is a compatibility function for tests. L2BlockNew doesn't have a checkpoint header directly.
152
152
  */
153
- export declare const makeCheckpointAttestationFromBlock: (block: L2Block, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
153
+ export declare const makeCheckpointAttestationFromBlock: (block: L2BlockNew, attesterSigner?: Secp256k1Signer | undefined, proposerSigner?: Secp256k1Signer | undefined) => CheckpointAttestation;
154
154
  export declare function randomPublishedL2Block(l2BlockNumber: number, opts?: {
155
155
  signers?: Secp256k1Signer[];
156
- }): Promise<PublishedL2Block>;
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJNUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBd0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEtBQUssRUFBRSwrQkFBK0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUt6RCxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0Is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
156
+ }): Promise<CheckpointedL2Block>;
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0cy9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFjLE1BQU0saUNBQWlDLENBQUM7QUFJbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBd0IsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUYsT0FBTyxLQUFLLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLekQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { FIXED_DA_GAS, FIXED_L2_GAS, MAX_ENQUEUED_CALLS_PER_TX, MAX_INCLUDE_BY_TIMESTAMP_DURATION, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
- import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
3
+ import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
4
4
  import { Buffer32 } from '@aztec/foundation/buffer';
5
5
  import { padArrayEnd, times } from '@aztec/foundation/collection';
6
6
  import { randomBytes } from '@aztec/foundation/crypto/random';
@@ -12,8 +12,7 @@ import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
12
12
  import { PublicDataWrite } from '../avm/public_data_write.js';
13
13
  import { RevertCode } from '../avm/revert_code.js';
14
14
  import { AztecAddress } from '../aztec-address/index.js';
15
- import { CommitteeAttestation, L2BlockNew, PublishedL2Block } from '../block/index.js';
16
- import { L2Block } from '../block/l2_block.js';
15
+ import { CheckpointedL2Block, CommitteeAttestation, L2BlockNew } from '../block/index.js';
17
16
  import { Checkpoint } from '../checkpoint/checkpoint.js';
18
17
  import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
19
18
  import { computeContractAddressFromInstance } from '../contract/contract_address.js';
@@ -37,13 +36,14 @@ import { ConsensusPayload } from '../p2p/consensus_payload.js';
37
36
  import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '../p2p/signature_utils.js';
38
37
  import { ChonkProof } from '../proofs/chonk_proof.js';
39
38
  import { ProvingRequestType } from '../proofs/proving_request_type.js';
39
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
40
40
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
41
41
  import { GlobalVariables, HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, TxConstantData, makeProcessedTxFromPrivateOnlyTx, makeProcessedTxFromTxWithPublicCalls } from '../tx/index.js';
42
42
  import { NestedProcessReturnValues, PublicSimulationOutput } from '../tx/public_simulation_output.js';
43
43
  import { TxSimulationResult } from '../tx/simulated_tx.js';
44
44
  import { TxEffect } from '../tx/tx_effect.js';
45
45
  import { TxHash } from '../tx/tx_hash.js';
46
- import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeGas, makeGlobalVariables, makeL2BlockHeader, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
46
+ import { makeAvmCircuitInputs, makeAztecAddress, makeBlockHeader, makeCheckpointHeader, makeGas, makeGlobalVariables, makePrivateToPublicAccumulatedData, makePrivateToRollupAccumulatedData, makeProtocolContracts, makePublicCallRequest, makePublicDataWrite } from './factories.js';
47
47
  export const randomTxHash = ()=>TxHash.random();
48
48
  export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertiblePublicCallRequests = MAX_ENQUEUED_CALLS_PER_TX / 2, numberOfRevertibleNullifiers = 0, hasPublicTeardownCallRequest = false, publicCalldataSize = 2, feePayer, chonkProof = ChonkProof.random(), maxPriorityFeesPerGas, gasUsed = Gas.empty(), chainId = Fr.ZERO, version = Fr.ZERO, vkTreeRoot = Fr.ZERO, protocolContractsHash = Fr.ZERO } = {})=>{
49
49
  const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
@@ -223,7 +223,7 @@ export async function mockCheckpointAndMessages(checkpointNumber, { startBlockNu
223
223
  const { block, messages } = {
224
224
  block: blocks?.[i] ?? await L2BlockNew.random(blockNumber, {
225
225
  checkpointNumber,
226
- indexWithinCheckpoint: i,
226
+ indexWithinCheckpoint: IndexWithinCheckpoint(i),
227
227
  txsPerBlock: numTxsPerBlock,
228
228
  slotNumber,
229
229
  ...options,
@@ -291,16 +291,16 @@ export const randomDeployedContract = async ()=>{
291
291
  };
292
292
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
293
293
  const makeAndSignConsensusPayload = (domainSeparator, options)=>{
294
- const header = options?.header ?? makeL2BlockHeader(1);
294
+ const header = options?.header ?? makeCheckpointHeader(1);
295
295
  const { signer = Secp256k1Signer.random(), archive = Fr.random() } = options ?? {};
296
296
  const payload = ConsensusPayload.fromFields({
297
- header: header.toCheckpointHeader(),
297
+ header,
298
298
  archive
299
299
  });
300
300
  const hash = getHashedSignaturePayloadEthSignedMessage(payload, domainSeparator);
301
301
  const signature = signer.sign(hash);
302
302
  return {
303
- blockNumber: header.globalVariables.blockNumber,
303
+ blockNumber: header.slotNumber,
304
304
  payload,
305
305
  signature
306
306
  };
@@ -310,9 +310,8 @@ export const makeAndSignCommitteeAttestationsAndSigners = (attestationsAndSigner
310
310
  return signer.sign(hash);
311
311
  };
312
312
  export const makeBlockProposal = (options)=>{
313
- const l2BlockHeader = options?.blockHeader ?? makeL2BlockHeader(1);
314
- const blockHeader = l2BlockHeader.toBlockHeader();
315
- const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? 0;
313
+ const blockHeader = options?.blockHeader ?? makeBlockHeader(1);
314
+ const indexWithinCheckpoint = options?.indexWithinCheckpoint ?? IndexWithinCheckpoint(0);
316
315
  const inHash = options?.inHash ?? Fr.random();
317
316
  const archiveRoot = options?.archiveRoot ?? Fr.random();
318
317
  const txHashes = options?.txHashes ?? [
@@ -328,14 +327,14 @@ export const makeBlockProposal = (options)=>{
328
327
  return BlockProposal.createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, (_payload, _context)=>Promise.resolve(signer.signMessage(_payload)));
329
328
  };
330
329
  export const makeCheckpointProposal = (options)=>{
331
- const l2BlockHeader = options?.lastBlock?.blockHeader ?? makeL2BlockHeader(1);
332
- const checkpointHeader = options?.checkpointHeader ?? l2BlockHeader.toCheckpointHeader();
330
+ const blockHeader = options?.lastBlock?.blockHeader ?? makeBlockHeader(1);
331
+ const checkpointHeader = options?.checkpointHeader ?? makeCheckpointHeader(1);
333
332
  const archiveRoot = options?.archiveRoot ?? Fr.random();
334
333
  const signer = options?.signer ?? Secp256k1Signer.random();
335
334
  // Build lastBlock info if provided
336
335
  const lastBlockInfo = options?.lastBlock ? {
337
- blockHeader: l2BlockHeader.toBlockHeader(),
338
- indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? 4,
336
+ blockHeader,
337
+ indexWithinCheckpoint: options.lastBlock.indexWithinCheckpoint ?? IndexWithinCheckpoint(4),
339
338
  txHashes: options.lastBlock.txHashes ?? [
340
339
  0,
341
340
  1,
@@ -351,7 +350,7 @@ export const makeCheckpointProposal = (options)=>{
351
350
  /**
352
351
  * Create a checkpoint attestation for testing
353
352
  */ export const makeCheckpointAttestation = (options = {})=>{
354
- const header = options.header ?? makeL2BlockHeader(1).toCheckpointHeader();
353
+ const header = options.header ?? makeCheckpointHeader(1);
355
354
  const archive = options.archive ?? Fr.random();
356
355
  const { signer, attesterSigner = signer, proposerSigner = signer } = options;
357
356
  const payload = new ConsensusPayload(header, archive);
@@ -391,9 +390,16 @@ export const makeCheckpointProposal = (options)=>{
391
390
  });
392
391
  };
393
392
  /**
394
- * Create a checkpoint attestation from an L2Block
393
+ * Create a checkpoint attestation from an L2BlockNew
394
+ * Note: This is a compatibility function for tests. L2BlockNew doesn't have a checkpoint header directly.
395
395
  */ export const makeCheckpointAttestationFromBlock = (block, attesterSigner, proposerSigner)=>{
396
- const header = block.header.toCheckpointHeader();
396
+ // For L2BlockNew, we create a minimal checkpoint header for testing purposes
397
+ const header = CheckpointHeader.empty({
398
+ lastArchiveRoot: block.header.lastArchive.root,
399
+ slotNumber: block.slot,
400
+ timestamp: block.timestamp,
401
+ blockHeadersHash: Fr.ZERO
402
+ });
397
403
  const archive = block.archive.root;
398
404
  return makeCheckpointAttestation({
399
405
  header,
@@ -403,18 +409,24 @@ export const makeCheckpointProposal = (options)=>{
403
409
  });
404
410
  };
405
411
  export async function randomPublishedL2Block(l2BlockNumber, opts = {}) {
406
- const block = await L2Block.random(BlockNumber(l2BlockNumber));
412
+ const block = await L2BlockNew.random(BlockNumber(l2BlockNumber));
407
413
  const l1 = L1PublishedData.fromFields({
408
414
  blockNumber: BigInt(block.number),
409
415
  timestamp: block.header.globalVariables.timestamp,
410
416
  blockHash: Buffer32.random().toString()
411
417
  });
412
418
  const signers = opts.signers ?? times(3, ()=>Secp256k1Signer.random());
419
+ const checkpoint = await Checkpoint.random(CheckpointNumber(l2BlockNumber), {
420
+ numBlocks: 0
421
+ });
422
+ checkpoint.blocks = [
423
+ block
424
+ ];
413
425
  const atts = signers.map((signer)=>makeCheckpointAttestation({
414
426
  signer,
415
427
  archive: block.archive.root,
416
- header: block.header.toCheckpointHeader()
428
+ header: checkpoint.header
417
429
  }));
418
430
  const attestations = atts.map((attestation, i)=>new CommitteeAttestation(signers[i].address, attestation.signature));
419
- return new PublishedL2Block(block, l1, attestations);
431
+ return new CheckpointedL2Block(CheckpointNumber(l2BlockNumber), block, l1, attestations);
420
432
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "4.0.0-nightly.20260119",
3
+ "version": "4.0.0-nightly.20260120",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -78,14 +78,14 @@
78
78
  },
79
79
  "dependencies": {
80
80
  "@aws-sdk/client-s3": "^3.892.0",
81
- "@aztec/bb.js": "4.0.0-nightly.20260119",
82
- "@aztec/blob-lib": "4.0.0-nightly.20260119",
83
- "@aztec/constants": "4.0.0-nightly.20260119",
84
- "@aztec/ethereum": "4.0.0-nightly.20260119",
85
- "@aztec/foundation": "4.0.0-nightly.20260119",
86
- "@aztec/l1-artifacts": "4.0.0-nightly.20260119",
87
- "@aztec/noir-noirc_abi": "4.0.0-nightly.20260119",
88
- "@aztec/validator-ha-signer": "4.0.0-nightly.20260119",
81
+ "@aztec/bb.js": "4.0.0-nightly.20260120",
82
+ "@aztec/blob-lib": "4.0.0-nightly.20260120",
83
+ "@aztec/constants": "4.0.0-nightly.20260120",
84
+ "@aztec/ethereum": "4.0.0-nightly.20260120",
85
+ "@aztec/foundation": "4.0.0-nightly.20260120",
86
+ "@aztec/l1-artifacts": "4.0.0-nightly.20260120",
87
+ "@aztec/noir-noirc_abi": "4.0.0-nightly.20260120",
88
+ "@aztec/validator-ha-signer": "4.0.0-nightly.20260120",
89
89
  "@google-cloud/storage": "^7.15.0",
90
90
  "axios": "^1.12.0",
91
91
  "json-stringify-deterministic": "1.0.12",
@@ -2,7 +2,9 @@ import { BlockNumberSchema } from '@aztec/foundation/branded-types';
2
2
 
3
3
  import { z } from 'zod';
4
4
 
5
- export const BlockParameterSchema = z.union([BlockNumberSchema, z.literal('latest')]);
5
+ import { L2BlockHash } from './block_hash.js';
6
6
 
7
- /** Block parameter - either a specific BlockNumber or 'latest' */
7
+ export const BlockParameterSchema = z.union([L2BlockHash.schema, BlockNumberSchema, z.literal('latest')]);
8
+
9
+ /** Block parameter - either a specific BlockNumber, block hash (L2BlockHash), or 'latest' */
8
10
  export type BlockParameter = z.infer<typeof BlockParameterSchema>;
@@ -5,9 +5,8 @@ import type { FieldsOf } from '@aztec/foundation/types';
5
5
 
6
6
  import { z } from 'zod';
7
7
 
8
- import { L1PublishedData, PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
8
+ import { L1PublishedData } from '../checkpoint/published_checkpoint.js';
9
9
  import { MAX_BLOCK_HASH_STRING_LENGTH, MAX_COMMITTEE_SIZE } from '../deserialization/index.js';
10
- import { L2Block } from './l2_block.js';
11
10
  import { L2BlockNew } from './l2_block_new.js';
12
11
  import { CommitteeAttestation } from './proposal/committee_attestation.js';
13
12
 
@@ -59,6 +58,7 @@ export class CheckpointedL2Block {
59
58
 
60
59
  public toBuffer(): Buffer {
61
60
  return serializeToBuffer(
61
+ this.checkpointNumber,
62
62
  this.block,
63
63
  this.l1.blockNumber,
64
64
  this.l1.blockHash,
@@ -68,54 +68,3 @@ export class CheckpointedL2Block {
68
68
  );
69
69
  }
70
70
  }
71
-
72
- export class PublishedL2Block {
73
- constructor(
74
- public block: L2Block,
75
- public l1: L1PublishedData,
76
- public attestations: CommitteeAttestation[],
77
- ) {}
78
-
79
- static get schema() {
80
- return z
81
- .object({
82
- block: L2Block.schema,
83
- l1: L1PublishedData.schema,
84
- attestations: z.array(CommitteeAttestation.schema),
85
- })
86
- .transform(obj => PublishedL2Block.fromFields(obj));
87
- }
88
-
89
- static fromBuffer(bufferOrReader: Buffer | BufferReader): PublishedL2Block {
90
- const reader = BufferReader.asReader(bufferOrReader);
91
- const block = reader.readObject(L2Block);
92
- const l1BlockNumber = reader.readBigInt();
93
- const l1BlockHash = reader.readString(MAX_BLOCK_HASH_STRING_LENGTH);
94
- const l1Timestamp = reader.readBigInt();
95
- const attestations = reader.readVector(CommitteeAttestation, MAX_COMMITTEE_SIZE);
96
- return new PublishedL2Block(block, new L1PublishedData(l1BlockNumber, l1Timestamp, l1BlockHash), attestations);
97
- }
98
-
99
- static fromFields(fields: FieldsOf<PublishedL2Block>) {
100
- return new PublishedL2Block(fields.block, fields.l1, fields.attestations);
101
- }
102
-
103
- public toBuffer(): Buffer {
104
- return serializeToBuffer(
105
- this.block,
106
- this.l1.blockNumber,
107
- this.l1.blockHash,
108
- this.l1.timestamp,
109
- this.attestations.length,
110
- this.attestations,
111
- );
112
- }
113
-
114
- public toPublishedCheckpoint() {
115
- return new PublishedCheckpoint(this.block.toCheckpoint(), this.l1, this.attestations);
116
- }
117
-
118
- static fromPublishedCheckpoint(checkpoint: PublishedCheckpoint) {
119
- return new PublishedL2Block(L2Block.fromCheckpoint(checkpoint.checkpoint), checkpoint.l1, checkpoint.attestations);
120
- }
121
- }
@@ -3,7 +3,7 @@ import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types'
3
3
  import { type ZodTypeAny, z } from 'zod';
4
4
 
5
5
  import { L2BlockHash } from './block_hash.js';
6
- import type { L2Block } from './l2_block.js';
6
+ import type { L2BlockNew } from './l2_block_new.js';
7
7
 
8
8
  export type InBlock = {
9
9
  l2BlockNumber: BlockNumber;
@@ -29,7 +29,7 @@ export function randomDataInBlock<T>(data: T): DataInBlock<T> {
29
29
  };
30
30
  }
31
31
 
32
- export async function wrapDataInBlock<T>(data: T, block: L2Block): Promise<DataInBlock<T>> {
32
+ export async function wrapDataInBlock<T>(data: T, block: L2BlockNew): Promise<DataInBlock<T>> {
33
33
  return {
34
34
  data,
35
35
  l2BlockNumber: block.number,
@@ -1,6 +1,4 @@
1
- export * from './l2_block.js';
2
1
  export * from './l2_block_new.js';
3
- export * from './l2_block_header.js';
4
2
  export * from './l2_block_stream/index.js';
5
3
  export * from './in_block.js';
6
4
  export * from './body.js';
@@ -1,5 +1,12 @@
1
1
  import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, CheckpointNumberSchema, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import {
3
+ BlockNumber,
4
+ CheckpointNumber,
5
+ CheckpointNumberSchema,
6
+ IndexWithinCheckpoint,
7
+ IndexWithinCheckpointSchema,
8
+ SlotNumber,
9
+ } from '@aztec/foundation/branded-types';
3
10
  import { Fr } from '@aztec/foundation/curves/bn254';
4
11
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
12
 
@@ -30,7 +37,7 @@ export class L2BlockNew {
30
37
  /** Number of the checkpoint that the block belongs to. */
31
38
  public checkpointNumber: CheckpointNumber,
32
39
  /** Index of the block within the checkpoint. */
33
- public indexWithinCheckpoint: number,
40
+ public indexWithinCheckpoint: IndexWithinCheckpoint,
34
41
  ) {}
35
42
 
36
43
  get number(): BlockNumber {
@@ -52,7 +59,7 @@ export class L2BlockNew {
52
59
  header: BlockHeader.schema,
53
60
  body: Body.schema,
54
61
  checkpointNumber: CheckpointNumberSchema,
55
- indexWithinCheckpoint: z.number(),
62
+ indexWithinCheckpoint: IndexWithinCheckpointSchema,
56
63
  })
57
64
  .transform(
58
65
  ({ archive, header, body, checkpointNumber, indexWithinCheckpoint }) =>
@@ -70,7 +77,7 @@ export class L2BlockNew {
70
77
  const archive = reader.readObject(AppendOnlyTreeSnapshot);
71
78
  const body = reader.readObject(Body);
72
79
  const checkpointNumber = CheckpointNumber(reader.readNumber());
73
- const indexWithinCheckpoint = reader.readNumber();
80
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
74
81
 
75
82
  return new L2BlockNew(archive, header, body, checkpointNumber, indexWithinCheckpoint);
76
83
  }
@@ -141,7 +148,7 @@ export class L2BlockNew {
141
148
  header ?? BlockHeader.empty(),
142
149
  Body.empty(),
143
150
  CheckpointNumber(0),
144
- 0,
151
+ IndexWithinCheckpoint(0),
145
152
  );
146
153
  }
147
154
 
@@ -158,14 +165,14 @@ export class L2BlockNew {
158
165
  blockNumber: BlockNumber,
159
166
  {
160
167
  checkpointNumber = CheckpointNumber(Number(blockNumber)),
161
- indexWithinCheckpoint = 0,
168
+ indexWithinCheckpoint = IndexWithinCheckpoint(0),
162
169
  txsPerBlock = 1,
163
170
  txOptions = {},
164
171
  makeTxOptions,
165
172
  ...blockHeaderOverrides
166
173
  }: {
167
174
  checkpointNumber?: CheckpointNumber;
168
- indexWithinCheckpoint?: number;
175
+ indexWithinCheckpoint?: IndexWithinCheckpoint;
169
176
  txsPerBlock?: number;
170
177
  txOptions?: Partial<Parameters<typeof Body.random>[0]>;
171
178
  makeTxOptions?: (txIndex: number) => Partial<Parameters<typeof Body.random>[0]>;
@@ -20,8 +20,7 @@ import type { BlockHeader } from '../tx/block_header.js';
20
20
  import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
21
21
  import type { TxHash } from '../tx/tx_hash.js';
22
22
  import type { TxReceipt } from '../tx/tx_receipt.js';
23
- import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
24
- import type { L2Block } from './l2_block.js';
23
+ import type { CheckpointedL2Block } from './checkpointed_l2_block.js';
25
24
  import type { L2BlockNew } from './l2_block_new.js';
26
25
  import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
27
26
 
@@ -105,6 +104,20 @@ export interface L2BlockSource {
105
104
  */
106
105
  getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
107
106
 
107
+ /**
108
+ * Gets an L2 block by its hash.
109
+ * @param blockHash - The block hash to retrieve.
110
+ * @returns The requested L2 block (or undefined if not found).
111
+ */
112
+ getL2BlockNewByHash(blockHash: Fr): Promise<L2BlockNew | undefined>;
113
+
114
+ /**
115
+ * Gets an L2 block by its archive root.
116
+ * @param archive - The archive root to retrieve.
117
+ * @returns The requested L2 block (or undefined if not found).
118
+ */
119
+ getL2BlockNewByArchive(archive: Fr): Promise<L2BlockNew | undefined>;
120
+
108
121
  /**
109
122
  * Gets a tx effect.
110
123
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -179,11 +192,8 @@ export interface L2BlockSource {
179
192
  * Gets an l2 block. If a negative number is passed, the block returned is the most recent.
180
193
  * @param number - The block number to return (inclusive).
181
194
  * @returns The requested L2 block.
182
- * @deprecated Use getL2BlockNew instead.
183
195
  */
184
- getBlock(number: BlockNumber): Promise<L2Block | undefined>;
185
-
186
- getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
196
+ getBlock(number: BlockNumber): Promise<L2BlockNew | undefined>;
187
197
 
188
198
  getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
189
199
 
@@ -192,7 +202,7 @@ export interface L2BlockSource {
192
202
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
193
203
  * @param epochNumber - The epoch number to return blocks for.
194
204
  */
195
- getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
205
+ getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2BlockNew[]>;
196
206
 
197
207
  /**
198
208
  * Returns all blocks for a given slot.
@@ -206,14 +216,14 @@ export interface L2BlockSource {
206
216
  * @param blockHash - The block hash to retrieve.
207
217
  * @returns The requested block (or undefined if not found).
208
218
  */
209
- getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
219
+ getPublishedBlockByHash(blockHash: Fr): Promise<CheckpointedL2Block | undefined>;
210
220
 
211
221
  /**
212
222
  * Gets a published block by its archive root.
213
223
  * @param archive - The archive root to retrieve.
214
224
  * @returns The requested block (or undefined if not found).
215
225
  */
216
- getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
226
+ getPublishedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
217
227
 
218
228
  /**
219
229
  * Gets up to `limit` amount of L2 blocks starting from `from`.
@@ -222,10 +232,10 @@ export interface L2BlockSource {
222
232
  * @param proven - If true, only return blocks that have been proven.
223
233
  * @returns The requested L2 blocks.
224
234
  */
225
- getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
235
+ getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
226
236
 
227
237
  /** Equivalent to getBlocks but includes publish data. */
228
- getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
238
+ getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
229
239
  }
230
240
 
231
241
  /**
@@ -1,5 +1,11 @@
1
1
  import { encodeCheckpointBlobDataFromBlocks } from '@aztec/blob-lib/encoding';
2
- import { BlockNumber, CheckpointNumber, CheckpointNumberSchema, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import {
3
+ BlockNumber,
4
+ CheckpointNumber,
5
+ CheckpointNumberSchema,
6
+ IndexWithinCheckpoint,
7
+ SlotNumber,
8
+ } from '@aztec/foundation/branded-types';
3
9
  import { sum } from '@aztec/foundation/collection';
4
10
  import { Fr } from '@aztec/foundation/curves/bn254';
5
11
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -139,7 +145,7 @@ export class Checkpoint {
139
145
  let lastArchive = previousArchive;
140
146
  for (let i = 0; i < numBlocks; i++) {
141
147
  const block = await L2BlockNew.random(BlockNumber(startBlockNumber + i), {
142
- indexWithinCheckpoint: i,
148
+ indexWithinCheckpoint: IndexWithinCheckpoint(i),
143
149
  ...options,
144
150
  ...(lastArchive ? { lastArchive } : {}),
145
151
  });