@aztec/archiver 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1

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 (127) hide show
  1. package/README.md +27 -6
  2. package/dest/archiver/archiver.d.ts +87 -64
  3. package/dest/archiver/archiver.d.ts.map +1 -1
  4. package/dest/archiver/archiver.js +463 -278
  5. package/dest/archiver/archiver_store.d.ts +46 -28
  6. package/dest/archiver/archiver_store.d.ts.map +1 -1
  7. package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
  8. package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
  9. package/dest/archiver/archiver_store_test_suite.js +316 -143
  10. package/dest/archiver/config.d.ts +6 -23
  11. package/dest/archiver/config.d.ts.map +1 -1
  12. package/dest/archiver/config.js +19 -12
  13. package/dest/archiver/errors.d.ts +1 -1
  14. package/dest/archiver/errors.d.ts.map +1 -1
  15. package/dest/archiver/index.d.ts +1 -1
  16. package/dest/archiver/instrumentation.d.ts +5 -3
  17. package/dest/archiver/instrumentation.d.ts.map +1 -1
  18. package/dest/archiver/instrumentation.js +14 -0
  19. package/dest/archiver/kv_archiver_store/block_store.d.ts +45 -9
  20. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  21. package/dest/archiver/kv_archiver_store/block_store.js +99 -12
  22. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -2
  23. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
  24. package/dest/archiver/kv_archiver_store/contract_class_store.js +1 -1
  25. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
  26. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
  27. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +30 -30
  28. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  29. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +26 -15
  30. package/dest/archiver/kv_archiver_store/log_store.d.ts +3 -10
  31. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  32. package/dest/archiver/kv_archiver_store/log_store.js +4 -26
  33. package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -5
  34. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
  35. package/dest/archiver/kv_archiver_store/message_store.js +15 -14
  36. package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
  37. package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
  38. package/dest/archiver/l1/bin/retrieve-calldata.js +147 -0
  39. package/dest/archiver/l1/calldata_retriever.d.ts +98 -0
  40. package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
  41. package/dest/archiver/l1/calldata_retriever.js +403 -0
  42. package/dest/archiver/l1/data_retrieval.d.ts +87 -0
  43. package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
  44. package/dest/archiver/{data_retrieval.js → l1/data_retrieval.js} +118 -154
  45. package/dest/archiver/l1/debug_tx.d.ts +19 -0
  46. package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
  47. package/dest/archiver/l1/debug_tx.js +73 -0
  48. package/dest/archiver/l1/spire_proposer.d.ts +70 -0
  49. package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
  50. package/dest/archiver/l1/spire_proposer.js +157 -0
  51. package/dest/archiver/l1/trace_tx.d.ts +97 -0
  52. package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
  53. package/dest/archiver/l1/trace_tx.js +91 -0
  54. package/dest/archiver/l1/types.d.ts +12 -0
  55. package/dest/archiver/l1/types.d.ts.map +1 -0
  56. package/dest/archiver/l1/types.js +3 -0
  57. package/dest/archiver/l1/validate_trace.d.ts +29 -0
  58. package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
  59. package/dest/archiver/l1/validate_trace.js +150 -0
  60. package/dest/archiver/structs/data_retrieval.d.ts +1 -1
  61. package/dest/archiver/structs/inbox_message.d.ts +4 -4
  62. package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
  63. package/dest/archiver/structs/inbox_message.js +6 -5
  64. package/dest/archiver/structs/published.d.ts +3 -2
  65. package/dest/archiver/structs/published.d.ts.map +1 -1
  66. package/dest/archiver/validation.d.ts +10 -4
  67. package/dest/archiver/validation.d.ts.map +1 -1
  68. package/dest/archiver/validation.js +66 -44
  69. package/dest/factory.d.ts +3 -11
  70. package/dest/factory.d.ts.map +1 -1
  71. package/dest/factory.js +5 -17
  72. package/dest/index.d.ts +2 -2
  73. package/dest/index.d.ts.map +1 -1
  74. package/dest/index.js +1 -1
  75. package/dest/rpc/index.d.ts +2 -2
  76. package/dest/test/index.d.ts +1 -1
  77. package/dest/test/mock_archiver.d.ts +16 -8
  78. package/dest/test/mock_archiver.d.ts.map +1 -1
  79. package/dest/test/mock_archiver.js +19 -14
  80. package/dest/test/mock_l1_to_l2_message_source.d.ts +7 -6
  81. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  82. package/dest/test/mock_l1_to_l2_message_source.js +10 -9
  83. package/dest/test/mock_l2_block_source.d.ts +24 -20
  84. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  85. package/dest/test/mock_l2_block_source.js +79 -13
  86. package/dest/test/mock_structs.d.ts +3 -2
  87. package/dest/test/mock_structs.d.ts.map +1 -1
  88. package/dest/test/mock_structs.js +9 -8
  89. package/package.json +18 -17
  90. package/src/archiver/archiver.ts +610 -363
  91. package/src/archiver/archiver_store.ts +55 -28
  92. package/src/archiver/archiver_store_test_suite.ts +369 -143
  93. package/src/archiver/config.ts +26 -51
  94. package/src/archiver/instrumentation.ts +19 -2
  95. package/src/archiver/kv_archiver_store/block_store.ts +139 -21
  96. package/src/archiver/kv_archiver_store/contract_class_store.ts +1 -1
  97. package/src/archiver/kv_archiver_store/contract_instance_store.ts +1 -1
  98. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +48 -33
  99. package/src/archiver/kv_archiver_store/log_store.ts +4 -30
  100. package/src/archiver/kv_archiver_store/message_store.ts +21 -18
  101. package/src/archiver/l1/README.md +98 -0
  102. package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
  103. package/src/archiver/l1/calldata_retriever.ts +531 -0
  104. package/src/archiver/{data_retrieval.ts → l1/data_retrieval.ts} +198 -242
  105. package/src/archiver/l1/debug_tx.ts +99 -0
  106. package/src/archiver/l1/spire_proposer.ts +160 -0
  107. package/src/archiver/l1/trace_tx.ts +128 -0
  108. package/src/archiver/l1/types.ts +13 -0
  109. package/src/archiver/l1/validate_trace.ts +211 -0
  110. package/src/archiver/structs/inbox_message.ts +8 -8
  111. package/src/archiver/structs/published.ts +2 -1
  112. package/src/archiver/validation.ts +86 -32
  113. package/src/factory.ts +6 -26
  114. package/src/index.ts +1 -1
  115. package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
  116. package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
  117. package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
  118. package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
  119. package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
  120. package/src/test/fixtures/trace_transaction-proxied.json +128 -0
  121. package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
  122. package/src/test/mock_archiver.ts +22 -16
  123. package/src/test/mock_l1_to_l2_message_source.ts +10 -9
  124. package/src/test/mock_l2_block_source.ts +110 -27
  125. package/src/test/mock_structs.ts +10 -9
  126. package/dest/archiver/data_retrieval.d.ts +0 -78
  127. package/dest/archiver/data_retrieval.d.ts.map +0 -1
@@ -1,8 +1,10 @@
1
+ import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
1
3
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import type { Fr } from '@aztec/foundation/fields';
3
4
  import type { FunctionSelector } from '@aztec/stdlib/abi';
4
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import { L2Block, L2BlockHash, type L2BlockSource, type L2Tips, type ValidateBlockResult } from '@aztec/stdlib/block';
6
+ import { L2Block, L2BlockHash, type L2BlockSource, type L2Tips, PublishedL2Block, type ValidateBlockResult } from '@aztec/stdlib/block';
7
+ import type { Checkpoint } from '@aztec/stdlib/checkpoint';
6
8
  import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
7
9
  import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
8
10
  import { type BlockHeader, TxHash, TxReceipt } from '@aztec/stdlib/tx';
@@ -34,8 +36,8 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
34
36
  * Gets the number of the latest L2 block processed by the block source implementation.
35
37
  * @returns In this mock instance, returns the number of L2 blocks that we've mocked.
36
38
  */
37
- getBlockNumber(): Promise<number>;
38
- getProvenBlockNumber(): Promise<number>;
39
+ getBlockNumber(): Promise<BlockNumber>;
40
+ getProvenBlockNumber(): Promise<BlockNumber>;
39
41
  /**
40
42
  * Gets an l2 block.
41
43
  * @param number - The block number to return (inclusive).
@@ -49,18 +51,17 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
49
51
  * @returns The requested mocked L2 blocks.
50
52
  */
51
53
  getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
52
- getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<{
53
- block: L2Block;
54
- l1: {
55
- blockNumber: bigint;
56
- blockHash: `0x${string}`;
57
- timestamp: bigint;
58
- };
59
- attestations: never[];
60
- }[]>;
54
+ getPublishedCheckpoints(from: CheckpointNumber, limit: number): Promise<import("@aztec/stdlib/checkpoint").PublishedCheckpoint[]>;
55
+ getCheckpointByArchive(archive: Fr): Promise<Checkpoint | undefined>;
56
+ getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
57
+ getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
58
+ getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
59
+ getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
60
+ getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
61
61
  getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
62
- getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
63
- getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
62
+ getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
63
+ getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
64
+ getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
64
65
  /**
65
66
  * Gets a tx effect.
66
67
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -68,7 +69,7 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
68
69
  */
69
70
  getTxEffect(txHash: TxHash): Promise<{
70
71
  data: import("@aztec/stdlib/tx").TxEffect;
71
- l2BlockNumber: number;
72
+ l2BlockNumber: BlockNumber;
72
73
  l2BlockHash: L2BlockHash;
73
74
  txIndexInBlock: number;
74
75
  } | undefined>;
@@ -79,10 +80,13 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
79
80
  */
80
81
  getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
81
82
  getL2Tips(): Promise<L2Tips>;
82
- getL2EpochNumber(): Promise<bigint>;
83
- getL2SlotNumber(): Promise<bigint>;
84
- isEpochComplete(_epochNumber: bigint): Promise<boolean>;
83
+ getL2EpochNumber(): Promise<EpochNumber>;
84
+ getL2SlotNumber(): Promise<SlotNumber>;
85
+ isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
85
86
  getL1Constants(): Promise<L1RollupConstants>;
87
+ getGenesisValues(): Promise<{
88
+ genesisArchiveRoot: Fr;
89
+ }>;
86
90
  getL1Timestamp(): Promise<bigint>;
87
91
  /**
88
92
  * Starts the block source. In this mock implementation, this is a noop.
@@ -104,4 +108,4 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
104
108
  isPendingChainInvalid(): Promise<boolean>;
105
109
  getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
106
110
  }
107
- //# sourceMappingURL=mock_l2_block_source.d.ts.map
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxNQUFNLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssbUJBQW1CLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuSCxPQUFPLEVBQTBCLEtBQUssaUJBQWlCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7QUFDbkgsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLGFBQWEsRUFBRSxrQkFBa0I7SUFDekUsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBTTtJQUVu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
@@ -1 +1 @@
1
- {"version":3,"file":"mock_l2_block_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l2_block_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock_l2_block_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l2_block_source.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
- import { DefaultL1ContractsConfig } from '@aztec/ethereum';
1
+ import { GENESIS_ARCHIVE_ROOT } from '@aztec/constants';
2
+ import { DefaultL1ContractsConfig } from '@aztec/ethereum/config';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
4
  import { Buffer32 } from '@aztec/foundation/buffer';
5
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
6
  import { EthAddress } from '@aztec/foundation/eth-address';
4
7
  import { createLogger } from '@aztec/foundation/log';
5
- import { L2Block, L2BlockHash } from '@aztec/stdlib/block';
8
+ import { L2Block, L2BlockHash, PublishedL2Block } from '@aztec/stdlib/block';
6
9
  import { EmptyL1RollupConstants, getSlotRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
7
10
  import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
8
11
  /**
@@ -15,7 +18,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
15
18
  async createBlocks(numBlocks) {
16
19
  for(let i = 0; i < numBlocks; i++){
17
20
  const blockNum = this.l2Blocks.length + 1;
18
- const block = await L2Block.random(blockNum);
21
+ const block = await L2Block.random(BlockNumber(blockNum));
19
22
  this.l2Blocks.push(block);
20
23
  }
21
24
  this.log.verbose(`Created ${numBlocks} blocks in the mock L2 block source`);
@@ -53,10 +56,10 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
53
56
  * Gets the number of the latest L2 block processed by the block source implementation.
54
57
  * @returns In this mock instance, returns the number of L2 blocks that we've mocked.
55
58
  */ getBlockNumber() {
56
- return Promise.resolve(this.l2Blocks.length);
59
+ return Promise.resolve(BlockNumber(this.l2Blocks.length));
57
60
  }
58
61
  getProvenBlockNumber() {
59
- return Promise.resolve(this.provenBlockNumber);
62
+ return Promise.resolve(BlockNumber(this.provenBlockNumber));
60
63
  }
61
64
  /**
62
65
  * Gets an l2 block.
@@ -73,9 +76,17 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
73
76
  */ getBlocks(from, limit, proven) {
74
77
  return Promise.resolve(this.l2Blocks.slice(from - 1, from - 1 + limit).filter((b)=>!proven || this.provenBlockNumber === undefined || b.number <= this.provenBlockNumber));
75
78
  }
79
+ async getPublishedCheckpoints(from, limit) {
80
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
81
+ return (await this.getPublishedBlocks(from, limit)).map((block)=>block.toPublishedCheckpoint());
82
+ }
83
+ async getCheckpointByArchive(archive) {
84
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
85
+ return (await this.getPublishedBlockByArchive(archive))?.block.toCheckpoint();
86
+ }
76
87
  async getPublishedBlocks(from, limit, proven) {
77
88
  const blocks = await this.getBlocks(from, limit, proven);
78
- return blocks.map((block)=>({
89
+ return blocks.map((block)=>PublishedL2Block.fromFields({
79
90
  block,
80
91
  l1: {
81
92
  blockNumber: BigInt(block.number),
@@ -85,8 +96,57 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
85
96
  attestations: []
86
97
  }));
87
98
  }
99
+ async getPublishedBlockByHash(blockHash) {
100
+ for (const block of this.l2Blocks){
101
+ const hash = await block.hash();
102
+ if (hash.equals(blockHash)) {
103
+ return PublishedL2Block.fromFields({
104
+ block,
105
+ l1: {
106
+ blockNumber: BigInt(block.number),
107
+ blockHash: Buffer32.random().toString(),
108
+ timestamp: BigInt(block.number)
109
+ },
110
+ attestations: []
111
+ });
112
+ }
113
+ }
114
+ return undefined;
115
+ }
116
+ getPublishedBlockByArchive(archive) {
117
+ const block = this.l2Blocks.find((b)=>b.archive.root.equals(archive));
118
+ if (!block) {
119
+ return Promise.resolve(undefined);
120
+ }
121
+ return Promise.resolve(PublishedL2Block.fromFields({
122
+ block,
123
+ l1: {
124
+ blockNumber: BigInt(block.number),
125
+ blockHash: Buffer32.random().toString(),
126
+ timestamp: BigInt(block.number)
127
+ },
128
+ attestations: []
129
+ }));
130
+ }
131
+ async getBlockHeaderByHash(blockHash) {
132
+ for (const block of this.l2Blocks){
133
+ const hash = await block.hash();
134
+ if (hash.equals(blockHash)) {
135
+ return block.getBlockHeader();
136
+ }
137
+ }
138
+ return undefined;
139
+ }
140
+ getBlockHeaderByArchive(archive) {
141
+ const block = this.l2Blocks.find((b)=>b.archive.root.equals(archive));
142
+ return Promise.resolve(block?.getBlockHeader());
143
+ }
88
144
  getBlockHeader(number) {
89
- return Promise.resolve(this.l2Blocks.at(typeof number === 'number' ? number - 1 : -1)?.header);
145
+ return Promise.resolve(this.l2Blocks.at(typeof number === 'number' ? number - 1 : -1)?.getBlockHeader());
146
+ }
147
+ getCheckpointsForEpoch(epochNumber) {
148
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
149
+ return this.getBlocksForEpoch(epochNumber).then((blocks)=>blocks.map((b)=>b.toCheckpoint()));
90
150
  }
91
151
  getBlocksForEpoch(epochNumber) {
92
152
  const epochDuration = DefaultL1ContractsConfig.aztecEpochDuration;
@@ -94,13 +154,14 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
94
154
  epochDuration
95
155
  });
96
156
  const blocks = this.l2Blocks.filter((b)=>{
97
- const slot = b.header.globalVariables.slotNumber.toBigInt();
157
+ const slot = b.header.globalVariables.slotNumber;
98
158
  return slot >= start && slot <= end;
99
159
  });
100
160
  return Promise.resolve(blocks);
101
161
  }
102
- getBlockHeadersForEpoch(epochNumber) {
103
- return this.getBlocksForEpoch(epochNumber).then((blocks)=>blocks.map((b)=>b.header));
162
+ async getBlockHeadersForEpoch(epochNumber) {
163
+ const blocks = await this.getBlocksForEpoch(epochNumber);
164
+ return blocks.map((b)=>b.getBlockHeader());
104
165
  }
105
166
  /**
106
167
  * Gets a tx effect.
@@ -147,15 +208,15 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
147
208
  const finalizedBlock = this.l2Blocks[finalized - 1];
148
209
  return {
149
210
  latest: {
150
- number: latest,
211
+ number: BlockNumber(latest),
151
212
  hash: (await latestBlock?.hash())?.toString()
152
213
  },
153
214
  proven: {
154
- number: proven,
215
+ number: BlockNumber(proven),
155
216
  hash: (await provenBlock?.hash())?.toString()
156
217
  },
157
218
  finalized: {
158
- number: finalized,
219
+ number: BlockNumber(finalized),
159
220
  hash: (await finalizedBlock?.hash())?.toString()
160
221
  }
161
222
  };
@@ -172,6 +233,11 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
172
233
  getL1Constants() {
173
234
  return Promise.resolve(EmptyL1RollupConstants);
174
235
  }
236
+ getGenesisValues() {
237
+ return Promise.resolve({
238
+ genesisArchiveRoot: new Fr(GENESIS_ARCHIVE_ROOT)
239
+ });
240
+ }
175
241
  getL1Timestamp() {
176
242
  throw new Error('Method not implemented.');
177
243
  }
@@ -1,9 +1,10 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import { Buffer16 } from '@aztec/foundation/buffer';
2
3
  import { type InboxMessage } from '../archiver/structs/inbox_message.js';
3
4
  export declare function makeInboxMessage(previousRollingHash?: Buffer16, overrides?: Partial<InboxMessage>): InboxMessage;
4
5
  export declare function makeInboxMessages(count: number, opts?: {
5
6
  initialHash?: Buffer16;
6
- initialL2BlockNumber?: number;
7
+ initialCheckpointNumber?: CheckpointNumber;
7
8
  overrideFn?: (msg: InboxMessage, index: number) => InboxMessage;
8
9
  }): InboxMessage[];
9
- //# sourceMappingURL=mock_structs.d.ts.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19zdHJ1Y3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3N0cnVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBSzlELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBcUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1Rix3QkFBZ0IsZ0JBQWdCLENBQzlCLG1CQUFtQixXQUFnQixFQUNuQyxTQUFTLEdBQUUsT0FBTyxDQUFDLFlBQVksQ0FBTSxHQUNwQyxZQUFZLENBZ0JkO0FBRUQsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsTUFBTSxFQUNiLElBQUksR0FBRTtJQUNKLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUN2Qix1QkFBdUIsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0lBQzNDLFVBQVUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLFlBQVksQ0FBQztDQUM1RCxHQUNMLFlBQVksRUFBRSxDQWFoQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"mock_structs.d.ts","sourceRoot":"","sources":["../../src/test/mock_structs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,sCAAsC,CAAC;AAE5F,wBAAgB,gBAAgB,CAC9B,mBAAmB,WAAgB,EACnC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GACpC,YAAY,CAgBd;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;CAC5D,GACL,YAAY,EAAE,CAahB"}
1
+ {"version":3,"file":"mock_structs.d.ts","sourceRoot":"","sources":["../../src/test/mock_structs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,sCAAsC,CAAC;AAE5F,wBAAgB,gBAAgB,CAC9B,mBAAmB,WAAgB,EACnC,SAAS,GAAE,OAAO,CAAC,YAAY,CAAM,GACpC,YAAY,CAgBd;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IACJ,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;IAC3C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC;CAC5D,GACL,YAAY,EAAE,CAahB"}
@@ -1,34 +1,35 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
2
- import { randomBigInt, randomInt } from '@aztec/foundation/crypto';
3
- import { Fr } from '@aztec/foundation/fields';
3
+ import { randomBigInt, randomInt } from '@aztec/foundation/crypto/random';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
5
  import { InboxLeaf } from '@aztec/stdlib/messaging';
5
6
  import { updateRollingHash } from '../archiver/structs/inbox_message.js';
6
7
  export function makeInboxMessage(previousRollingHash = Buffer16.ZERO, overrides = {}) {
7
- const { l2BlockNumber = randomInt(100) + 1 } = overrides;
8
+ const { checkpointNumber = CheckpointNumber(randomInt(100) + 1) } = overrides;
8
9
  const { l1BlockNumber = randomBigInt(100n) + 1n } = overrides;
9
10
  const { l1BlockHash = Buffer32.random() } = overrides;
10
11
  const { leaf = Fr.random() } = overrides;
11
12
  const { rollingHash = updateRollingHash(previousRollingHash, leaf) } = overrides;
12
- const { index = InboxLeaf.smallestIndexFromL2Block(l2BlockNumber) } = overrides;
13
+ const { index = InboxLeaf.smallestIndexForCheckpoint(checkpointNumber) } = overrides;
13
14
  return {
14
15
  index,
15
16
  leaf,
16
- l2BlockNumber,
17
+ checkpointNumber,
17
18
  l1BlockNumber,
18
19
  l1BlockHash,
19
20
  rollingHash
20
21
  };
21
22
  }
22
23
  export function makeInboxMessages(count, opts = {}) {
23
- const { initialHash = Buffer16.ZERO, overrideFn = (msg)=>msg, initialL2BlockNumber = 1 } = opts;
24
+ const { initialHash = Buffer16.ZERO, overrideFn = (msg)=>msg, initialCheckpointNumber = 1 } = opts;
24
25
  const messages = [];
25
26
  let rollingHash = initialHash;
26
27
  for(let i = 0; i < count; i++){
27
28
  const leaf = Fr.random();
28
- const l2BlockNumber = i + initialL2BlockNumber;
29
+ const checkpointNumber = CheckpointNumber(i + initialCheckpointNumber);
29
30
  const message = overrideFn(makeInboxMessage(rollingHash, {
30
31
  leaf,
31
- l2BlockNumber
32
+ checkpointNumber
32
33
  }), i);
33
34
  rollingHash = message.rollingHash;
34
35
  messages.push(message);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/archiver",
3
- "version": "3.0.0-canary.a9708bd",
3
+ "version": "3.0.0-devnet.2-patch.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -17,8 +17,8 @@
17
17
  "tsconfig": "./tsconfig.json"
18
18
  },
19
19
  "scripts": {
20
- "build": "yarn clean && tsc -b",
21
- "build:dev": "tsc -b --watch",
20
+ "build": "yarn clean && ../scripts/tsc.sh",
21
+ "build:dev": "../scripts/tsc.sh --watch",
22
22
  "clean": "rm -rf ./dest .tsbuildinfo",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
24
24
  "test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
@@ -66,23 +66,23 @@
66
66
  ]
67
67
  },
68
68
  "dependencies": {
69
- "@aztec/blob-lib": "3.0.0-canary.a9708bd",
70
- "@aztec/blob-sink": "3.0.0-canary.a9708bd",
71
- "@aztec/constants": "3.0.0-canary.a9708bd",
72
- "@aztec/epoch-cache": "3.0.0-canary.a9708bd",
73
- "@aztec/ethereum": "3.0.0-canary.a9708bd",
74
- "@aztec/foundation": "3.0.0-canary.a9708bd",
75
- "@aztec/kv-store": "3.0.0-canary.a9708bd",
76
- "@aztec/l1-artifacts": "3.0.0-canary.a9708bd",
77
- "@aztec/noir-protocol-circuits-types": "3.0.0-canary.a9708bd",
78
- "@aztec/protocol-contracts": "3.0.0-canary.a9708bd",
79
- "@aztec/stdlib": "3.0.0-canary.a9708bd",
80
- "@aztec/telemetry-client": "3.0.0-canary.a9708bd",
69
+ "@aztec/blob-lib": "3.0.0-devnet.2-patch.1",
70
+ "@aztec/blob-sink": "3.0.0-devnet.2-patch.1",
71
+ "@aztec/constants": "3.0.0-devnet.2-patch.1",
72
+ "@aztec/epoch-cache": "3.0.0-devnet.2-patch.1",
73
+ "@aztec/ethereum": "3.0.0-devnet.2-patch.1",
74
+ "@aztec/foundation": "3.0.0-devnet.2-patch.1",
75
+ "@aztec/kv-store": "3.0.0-devnet.2-patch.1",
76
+ "@aztec/l1-artifacts": "3.0.0-devnet.2-patch.1",
77
+ "@aztec/noir-protocol-circuits-types": "3.0.0-devnet.2-patch.1",
78
+ "@aztec/protocol-contracts": "3.0.0-devnet.2-patch.1",
79
+ "@aztec/stdlib": "3.0.0-devnet.2-patch.1",
80
+ "@aztec/telemetry-client": "3.0.0-devnet.2-patch.1",
81
81
  "lodash.groupby": "^4.6.0",
82
82
  "lodash.omit": "^4.5.0",
83
- "tsc-watch": "^6.0.0",
84
83
  "tslib": "^2.5.0",
85
- "viem": "2.23.7"
84
+ "viem": "npm:@aztec/viem@2.38.2",
85
+ "zod": "^3.23.8"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@jest/globals": "^30.0.0",
@@ -90,6 +90,7 @@
90
90
  "@types/lodash.groupby": "^4.6.9",
91
91
  "@types/lodash.omit": "^4.5.7",
92
92
  "@types/node": "^22.15.17",
93
+ "@typescript/native-preview": "7.0.0-dev.20251126.1",
93
94
  "concurrently": "^8.0.1",
94
95
  "jest": "^30.0.0",
95
96
  "jest-mock-extended": "^4.0.0",