@aztec/archiver 0.0.1-commit.9b94fc1 → 0.0.1-commit.c7c42ec

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 (123) hide show
  1. package/dest/archiver/archiver.d.ts +96 -79
  2. package/dest/archiver/archiver.d.ts.map +1 -1
  3. package/dest/archiver/archiver.js +451 -214
  4. package/dest/archiver/archiver_store.d.ts +100 -47
  5. package/dest/archiver/archiver_store.d.ts.map +1 -1
  6. package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
  7. package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
  8. package/dest/archiver/archiver_store_test_suite.js +1867 -386
  9. package/dest/archiver/config.d.ts +5 -4
  10. package/dest/archiver/config.d.ts.map +1 -1
  11. package/dest/archiver/config.js +10 -3
  12. package/dest/archiver/errors.d.ts +25 -1
  13. package/dest/archiver/errors.d.ts.map +1 -1
  14. package/dest/archiver/errors.js +37 -0
  15. package/dest/archiver/index.d.ts +2 -2
  16. package/dest/archiver/index.d.ts.map +1 -1
  17. package/dest/archiver/instrumentation.d.ts +3 -1
  18. package/dest/archiver/instrumentation.d.ts.map +1 -1
  19. package/dest/archiver/instrumentation.js +11 -0
  20. package/dest/archiver/kv_archiver_store/block_store.d.ts +51 -18
  21. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  22. package/dest/archiver/kv_archiver_store/block_store.js +324 -87
  23. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -2
  24. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
  25. package/dest/archiver/kv_archiver_store/contract_class_store.js +1 -1
  26. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
  27. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
  28. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +46 -56
  29. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  30. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +65 -48
  31. package/dest/archiver/kv_archiver_store/log_store.d.ts +12 -16
  32. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  33. package/dest/archiver/kv_archiver_store/log_store.js +149 -84
  34. package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -5
  35. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
  36. package/dest/archiver/kv_archiver_store/message_store.js +15 -14
  37. package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
  38. package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
  39. package/dest/archiver/l1/bin/retrieve-calldata.js +149 -0
  40. package/dest/archiver/l1/calldata_retriever.d.ts +112 -0
  41. package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
  42. package/dest/archiver/l1/calldata_retriever.js +471 -0
  43. package/dest/archiver/l1/data_retrieval.d.ts +90 -0
  44. package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
  45. package/dest/archiver/{data_retrieval.js → l1/data_retrieval.js} +52 -107
  46. package/dest/archiver/l1/debug_tx.d.ts +19 -0
  47. package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
  48. package/dest/archiver/l1/debug_tx.js +73 -0
  49. package/dest/archiver/l1/spire_proposer.d.ts +70 -0
  50. package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
  51. package/dest/archiver/l1/spire_proposer.js +157 -0
  52. package/dest/archiver/l1/trace_tx.d.ts +97 -0
  53. package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
  54. package/dest/archiver/l1/trace_tx.js +91 -0
  55. package/dest/archiver/l1/types.d.ts +12 -0
  56. package/dest/archiver/l1/types.d.ts.map +1 -0
  57. package/dest/archiver/l1/types.js +3 -0
  58. package/dest/archiver/l1/validate_trace.d.ts +29 -0
  59. package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
  60. package/dest/archiver/l1/validate_trace.js +150 -0
  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 +1 -2
  65. package/dest/archiver/structs/published.d.ts.map +1 -1
  66. package/dest/factory.d.ts +2 -2
  67. package/dest/factory.d.ts.map +1 -1
  68. package/dest/factory.js +4 -3
  69. package/dest/index.d.ts +2 -2
  70. package/dest/index.d.ts.map +1 -1
  71. package/dest/index.js +1 -1
  72. package/dest/test/mock_archiver.d.ts +16 -8
  73. package/dest/test/mock_archiver.d.ts.map +1 -1
  74. package/dest/test/mock_archiver.js +19 -14
  75. package/dest/test/mock_l1_to_l2_message_source.d.ts +7 -6
  76. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  77. package/dest/test/mock_l1_to_l2_message_source.js +10 -9
  78. package/dest/test/mock_l2_block_source.d.ts +18 -7
  79. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  80. package/dest/test/mock_l2_block_source.js +37 -23
  81. package/dest/test/mock_structs.d.ts +3 -2
  82. package/dest/test/mock_structs.d.ts.map +1 -1
  83. package/dest/test/mock_structs.js +9 -8
  84. package/package.json +17 -16
  85. package/src/archiver/archiver.ts +595 -296
  86. package/src/archiver/archiver_store.ts +113 -46
  87. package/src/archiver/archiver_store_test_suite.ts +1932 -353
  88. package/src/archiver/config.ts +15 -10
  89. package/src/archiver/errors.ts +64 -0
  90. package/src/archiver/index.ts +1 -1
  91. package/src/archiver/instrumentation.ts +14 -0
  92. package/src/archiver/kv_archiver_store/block_store.ts +442 -101
  93. package/src/archiver/kv_archiver_store/contract_class_store.ts +1 -1
  94. package/src/archiver/kv_archiver_store/contract_instance_store.ts +1 -1
  95. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +87 -71
  96. package/src/archiver/kv_archiver_store/log_store.ts +209 -99
  97. package/src/archiver/kv_archiver_store/message_store.ts +21 -18
  98. package/src/archiver/l1/README.md +98 -0
  99. package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
  100. package/src/archiver/l1/calldata_retriever.ts +641 -0
  101. package/src/archiver/{data_retrieval.ts → l1/data_retrieval.ts} +101 -165
  102. package/src/archiver/l1/debug_tx.ts +99 -0
  103. package/src/archiver/l1/spire_proposer.ts +160 -0
  104. package/src/archiver/l1/trace_tx.ts +128 -0
  105. package/src/archiver/l1/types.ts +13 -0
  106. package/src/archiver/l1/validate_trace.ts +211 -0
  107. package/src/archiver/structs/inbox_message.ts +8 -8
  108. package/src/archiver/structs/published.ts +0 -1
  109. package/src/factory.ts +4 -3
  110. package/src/index.ts +1 -1
  111. package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
  112. package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
  113. package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
  114. package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
  115. package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
  116. package/src/test/fixtures/trace_transaction-proxied.json +128 -0
  117. package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
  118. package/src/test/mock_archiver.ts +22 -16
  119. package/src/test/mock_l1_to_l2_message_source.ts +10 -9
  120. package/src/test/mock_l2_block_source.ts +45 -25
  121. package/src/test/mock_structs.ts +10 -9
  122. package/dest/archiver/data_retrieval.d.ts +0 -79
  123. package/dest/archiver/data_retrieval.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAuB,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAE7G,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,iCAAiC;AACjC,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC,GAAG,eAAe,gCAQzF;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAA6B,GAC3D,OAAO,CAAC,QAAQ,CAAC,CAInB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAuB,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAE7G,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,iCAAiC;AACjC,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC,GAAG,eAAe,gCAQzF;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAA6B,GAC3D,OAAO,CAAC,QAAQ,CAAC,CAInB"}
package/dest/factory.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { createLogger } from '@aztec/foundation/log';
2
3
  import { createStore } from '@aztec/kv-store/lmdb-v2';
3
4
  import { protocolContractNames } from '@aztec/protocol-contracts';
@@ -18,7 +19,7 @@ export const ARCHIVER_STORE_NAME = 'archiver';
18
19
  /**
19
20
  * Creates a local archiver.
20
21
  * @param config - The archiver configuration.
21
- * @param blobSinkClient - The blob sink client.
22
+ * @param blobClient - The blob client client.
22
23
  * @param opts - The options.
23
24
  * @param telemetry - The telemetry client.
24
25
  * @returns The local archiver.
@@ -46,9 +47,9 @@ async function registerProtocolContracts(store) {
46
47
  contractClassPublic
47
48
  ], [
48
49
  bytecodeCommitment
49
- ], blockNumber);
50
+ ], BlockNumber(blockNumber));
50
51
  await store.addContractInstances([
51
52
  contract.instance
52
- ], blockNumber);
53
+ ], BlockNumber(blockNumber));
53
54
  }
54
55
  }
package/dest/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './archiver/index.js';
2
2
  export * from './factory.js';
3
3
  export * from './rpc/index.js';
4
- export { retrieveL2ProofVerifiedEvents } from './archiver/data_retrieval.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOEJBQThCLENBQUMifQ==
4
+ export { retrieveCheckpointsFromRollup, retrieveL2ProofVerifiedEvents } from './archiver/l1/data_retrieval.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}
package/dest/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './archiver/index.js';
2
2
  export * from './factory.js';
3
3
  export * from './rpc/index.js';
4
- export { retrieveL2ProofVerifiedEvents } from './archiver/data_retrieval.js';
4
+ export { retrieveCheckpointsFromRollup, retrieveL2ProofVerifiedEvents } from './archiver/l1/data_retrieval.js';
@@ -1,5 +1,7 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
- import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
1
+ import type { CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { type L2BlockSource } from '@aztec/stdlib/block';
4
+ import type { Checkpoint } from '@aztec/stdlib/checkpoint';
3
5
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
4
6
  import { MockL2BlockSource } from './mock_l2_block_source.js';
5
7
  /**
@@ -7,17 +9,23 @@ import { MockL2BlockSource } from './mock_l2_block_source.js';
7
9
  */
8
10
  export declare class MockArchiver extends MockL2BlockSource implements L2BlockSource, L1ToL2MessageSource {
9
11
  private messageSource;
10
- setL1ToL2Messages(blockNumber: number, msgs: Fr[]): void;
11
- getL1ToL2Messages(blockNumber: number): Promise<Fr[]>;
12
+ setL1ToL2Messages(checkpointNumber: CheckpointNumber, msgs: Fr[]): void;
13
+ getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
12
14
  getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined>;
13
15
  }
14
16
  /**
15
17
  * A mocked implementation of the archiver with a set of precomputed blocks and messages.
16
18
  */
17
19
  export declare class MockPrefilledArchiver extends MockArchiver {
18
- private precomputed;
19
- constructor(precomputed: L2Block[], messages: Fr[][]);
20
- setPrefilledBlocks(blocks: L2Block[], messages: Fr[][]): void;
20
+ private prefilled;
21
+ constructor(prefilled: {
22
+ checkpoint: Checkpoint;
23
+ messages: Fr[];
24
+ }[]);
25
+ setPrefilled(prefilled: {
26
+ checkpoint: Checkpoint;
27
+ messages: Fr[];
28
+ }[]): void;
21
29
  createBlocks(numBlocks: number): Promise<void>;
22
30
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hcmNoaXZlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvbW9ja19hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUduRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RDs7R0FFRztBQUNILHFCQUFhLFlBQWEsU0FBUSxpQkFBa0IsWUFBVyxhQUFhLEVBQUUsbUJBQW1CO0lBQy9GLE9BQU8sQ0FBQyxhQUFhLENBQWtDO0lBRWhELGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUV2RDtJQUVELGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRXBEO0lBRUQscUJBQXFCLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVyRTtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxxQkFBc0IsU0FBUSxZQUFZO0lBQ3JELE9BQU8sQ0FBQyxXQUFXLENBQVk7SUFFL0IsWUFBWSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBSW5EO0lBRU0sa0JBQWtCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUs1RDtJQUVlLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxpQkFVN0M7Q0FDRiJ9
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hcmNoaXZlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvbW9ja19hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sRUFBVyxLQUFLLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQ7O0dBRUc7QUFDSCxxQkFBYSxZQUFhLFNBQVEsaUJBQWtCLFlBQVcsYUFBYSxFQUFFLG1CQUFtQjtJQUMvRixPQUFPLENBQUMsYUFBYSxDQUFrQztJQUVoRCxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBRXRFO0lBRUQsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRW5FO0lBRUQscUJBQXFCLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVyRTtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxxQkFBc0IsU0FBUSxZQUFZO0lBQ3JELE9BQU8sQ0FBQyxTQUFTLENBQW9CO0lBRXJDLFlBQVksU0FBUyxFQUFFO1FBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQTtLQUFFLEVBQUUsRUFHbEU7SUFFTSxZQUFZLENBQUMsU0FBUyxFQUFFO1FBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQTtLQUFFLEVBQUUsUUFRMUU7SUFFZSxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0saUJBWTdDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"mock_archiver.d.ts","sourceRoot":"","sources":["../../src/test/mock_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAAkB,YAAW,aAAa,EAAE,mBAAmB;IAC/F,OAAO,CAAC,aAAa,CAAkC;IAEhD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAEvD;IAED,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAEpD;IAED,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAErE;CACF;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,WAAW,CAAY;IAE/B,YAAY,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAInD;IAEM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,QAK5D;IAEe,YAAY,CAAC,SAAS,EAAE,MAAM,iBAU7C;CACF"}
1
+ {"version":3,"file":"mock_archiver.d.ts","sourceRoot":"","sources":["../../src/test/mock_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAAkB,YAAW,aAAa,EAAE,mBAAmB;IAC/F,OAAO,CAAC,aAAa,CAAkC;IAEhD,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,QAEtE;IAED,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnE;IAED,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAErE;CACF;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,SAAS,CAAoB;IAErC,YAAY,SAAS,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,EAAE,EAAE,CAAA;KAAE,EAAE,EAGlE;IAEM,YAAY,CAAC,SAAS,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,EAAE,EAAE,CAAA;KAAE,EAAE,QAQ1E;IAEe,YAAY,CAAC,SAAS,EAAE,MAAM,iBAY7C;CACF"}
@@ -1,14 +1,15 @@
1
+ import { L2Block } from '@aztec/stdlib/block';
1
2
  import { MockL1ToL2MessageSource } from './mock_l1_to_l2_message_source.js';
2
3
  import { MockL2BlockSource } from './mock_l2_block_source.js';
3
4
  /**
4
5
  * A mocked implementation of the archiver that implements L2BlockSource and L1ToL2MessageSource.
5
6
  */ export class MockArchiver extends MockL2BlockSource {
6
7
  messageSource = new MockL1ToL2MessageSource(0);
7
- setL1ToL2Messages(blockNumber, msgs) {
8
- this.messageSource.setL1ToL2Messages(blockNumber, msgs);
8
+ setL1ToL2Messages(checkpointNumber, msgs) {
9
+ this.messageSource.setL1ToL2Messages(checkpointNumber, msgs);
9
10
  }
10
- getL1ToL2Messages(blockNumber) {
11
- return this.messageSource.getL1ToL2Messages(blockNumber);
11
+ getL1ToL2Messages(checkpointNumber) {
12
+ return this.messageSource.getL1ToL2Messages(checkpointNumber);
12
13
  }
13
14
  getL1ToL2MessageIndex(_l1ToL2Message) {
14
15
  return this.messageSource.getL1ToL2MessageIndex(_l1ToL2Message);
@@ -17,24 +18,28 @@ import { MockL2BlockSource } from './mock_l2_block_source.js';
17
18
  /**
18
19
  * A mocked implementation of the archiver with a set of precomputed blocks and messages.
19
20
  */ export class MockPrefilledArchiver extends MockArchiver {
20
- precomputed;
21
- constructor(precomputed, messages){
21
+ prefilled = [];
22
+ constructor(prefilled){
22
23
  super();
23
- this.precomputed = precomputed.slice();
24
- messages.forEach((msgs, i)=>this.setL1ToL2Messages(i + 1, msgs));
24
+ this.setPrefilled(prefilled);
25
25
  }
26
- setPrefilledBlocks(blocks, messages) {
27
- for (const block of blocks){
28
- this.precomputed[block.number - 1] = block;
26
+ setPrefilled(prefilled) {
27
+ for (const { checkpoint, messages } of prefilled){
28
+ this.prefilled[checkpoint.number - 1] = checkpoint;
29
+ if (checkpoint.blocks.length !== 1) {
30
+ throw new Error('Prefilled checkpoint must only have 1 block at the moment.');
31
+ }
32
+ this.setL1ToL2Messages(checkpoint.number, messages);
29
33
  }
30
- messages.forEach((msgs, i)=>this.setL1ToL2Messages(blocks[i].number, msgs));
31
34
  }
32
35
  createBlocks(numBlocks) {
33
- if (this.l2Blocks.length + numBlocks > this.precomputed.length) {
36
+ const flattenedBlocks = this.prefilled.flatMap((c)=>c.blocks);
37
+ if (this.l2Blocks.length + numBlocks > flattenedBlocks.length) {
34
38
  throw new Error(`Not enough precomputed blocks to create ${numBlocks} more blocks (already at ${this.l2Blocks.length})`);
35
39
  }
36
40
  const fromBlock = this.l2Blocks.length;
37
- this.addBlocks(this.precomputed.slice(fromBlock, fromBlock + numBlocks));
41
+ // TODO: Add L2 blocks and checkpoints separately once archiver has the apis for that.
42
+ this.addBlocks(this.prefilled.slice(fromBlock, fromBlock + numBlocks).map((c)=>L2Block.fromCheckpoint(c)));
38
43
  return Promise.resolve();
39
44
  }
40
45
  }
@@ -1,4 +1,5 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { BlockNumber, type CheckpointNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import type { L2Tips } from '@aztec/stdlib/block';
3
4
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
4
5
  /**
@@ -6,13 +7,13 @@ import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
6
7
  */
7
8
  export declare class MockL1ToL2MessageSource implements L1ToL2MessageSource {
8
9
  private blockNumber;
9
- private messagesPerBlock;
10
+ private messagesPerCheckpoint;
10
11
  constructor(blockNumber: number);
11
- setL1ToL2Messages(blockNumber: number, msgs: Fr[]): void;
12
+ setL1ToL2Messages(checkpointNumber: CheckpointNumber, msgs: Fr[]): void;
12
13
  setBlockNumber(blockNumber: number): void;
13
- getL1ToL2Messages(blockNumber: number): Promise<Fr[]>;
14
+ getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
14
15
  getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined>;
15
- getBlockNumber(): Promise<number>;
16
+ getBlockNumber(): Promise<BlockNumber>;
16
17
  getL2Tips(): Promise<L2Tips>;
17
18
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvbW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRTs7R0FFRztBQUNILHFCQUFhLHVCQUF3QixZQUFXLG1CQUFtQjtJQUdyRCxPQUFPLENBQUMsV0FBVztJQUYvQixPQUFPLENBQUMsZ0JBQWdCLENBQTJCO0lBRW5ELFlBQW9CLFdBQVcsRUFBRSxNQUFNLEVBQUk7SUFFcEMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBRXZEO0lBRU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxNQUFNLFFBRXhDO0lBRUQsaUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FFcEQ7SUFFRCxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXJFO0lBRUQsY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFaEM7SUFFRCxTQUFTLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQVEzQjtDQUNGIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvbW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRTs7R0FFRztBQUNILHFCQUFhLHVCQUF3QixZQUFXLG1CQUFtQjtJQUdyRCxPQUFPLENBQUMsV0FBVztJQUYvQixPQUFPLENBQUMscUJBQXFCLENBQXFDO0lBRWxFLFlBQW9CLFdBQVcsRUFBRSxNQUFNLEVBQUk7SUFFcEMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUV0RTtJQUVNLGNBQWMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxRQUV4QztJQUVELGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUVuRTtJQUVELHFCQUFxQixDQUFDLGNBQWMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFckU7SUFFRCxjQUFjLHlCQUViO0lBRUQsU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FRM0I7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"mock_l1_to_l2_message_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l1_to_l2_message_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAGrD,OAAO,CAAC,WAAW;IAF/B,OAAO,CAAC,gBAAgB,CAA2B;IAEnD,YAAoB,WAAW,EAAE,MAAM,EAAI;IAEpC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,QAEvD;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM,QAExC;IAED,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAEpD;IAED,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAErE;IAED,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhC;IAED,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3B;CACF"}
1
+ {"version":3,"file":"mock_l1_to_l2_message_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l1_to_l2_message_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAGrD,OAAO,CAAC,WAAW;IAF/B,OAAO,CAAC,qBAAqB,CAAqC;IAElE,YAAoB,WAAW,EAAE,MAAM,EAAI;IAEpC,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,QAEtE;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM,QAExC;IAED,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnE;IAED,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAErE;IAED,cAAc,yBAEb;IAED,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3B;CACF"}
@@ -1,32 +1,33 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  /**
3
4
  * A mocked implementation of L1ToL2MessageSource to be used in tests.
4
5
  */ export class MockL1ToL2MessageSource {
5
6
  blockNumber;
6
- messagesPerBlock;
7
+ messagesPerCheckpoint;
7
8
  constructor(blockNumber){
8
9
  this.blockNumber = blockNumber;
9
- this.messagesPerBlock = new Map();
10
+ this.messagesPerCheckpoint = new Map();
10
11
  }
11
- setL1ToL2Messages(blockNumber, msgs) {
12
- this.messagesPerBlock.set(blockNumber, msgs);
12
+ setL1ToL2Messages(checkpointNumber, msgs) {
13
+ this.messagesPerCheckpoint.set(checkpointNumber, msgs);
13
14
  }
14
15
  setBlockNumber(blockNumber) {
15
16
  this.blockNumber = blockNumber;
16
17
  }
17
- getL1ToL2Messages(blockNumber) {
18
- return Promise.resolve(this.messagesPerBlock.get(blockNumber) ?? []);
18
+ getL1ToL2Messages(checkpointNumber) {
19
+ return Promise.resolve(this.messagesPerCheckpoint.get(checkpointNumber) ?? []);
19
20
  }
20
21
  getL1ToL2MessageIndex(_l1ToL2Message) {
21
22
  throw new Error('Method not implemented.');
22
23
  }
23
24
  getBlockNumber() {
24
- return Promise.resolve(this.blockNumber);
25
+ return Promise.resolve(BlockNumber(this.blockNumber));
25
26
  }
26
27
  getL2Tips() {
27
28
  const number = this.blockNumber;
28
29
  const tip = {
29
- number,
30
+ number: BlockNumber(number),
30
31
  hash: new Fr(number).toString()
31
32
  };
32
33
  return Promise.resolve({
@@ -1,9 +1,10 @@
1
- import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
+ import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { Fr } from '@aztec/foundation/fields';
4
4
  import type { FunctionSelector } from '@aztec/stdlib/abi';
5
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
6
- import { L2Block, L2BlockHash, type L2BlockSource, type L2Tips, PublishedL2Block, type ValidateBlockResult } from '@aztec/stdlib/block';
6
+ import { L2Block, L2BlockHash, L2BlockNew, type L2BlockSource, type L2Tips, PublishedL2Block, type ValidateBlockResult } from '@aztec/stdlib/block';
7
+ import { type Checkpoint } from '@aztec/stdlib/checkpoint';
7
8
  import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
8
9
  import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
9
10
  import { type BlockHeader, TxHash, TxReceipt } from '@aztec/stdlib/tx';
@@ -35,14 +36,21 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
35
36
  * Gets the number of the latest L2 block processed by the block source implementation.
36
37
  * @returns In this mock instance, returns the number of L2 blocks that we've mocked.
37
38
  */
38
- getBlockNumber(): Promise<number>;
39
- getProvenBlockNumber(): Promise<number>;
39
+ getBlockNumber(): Promise<BlockNumber>;
40
+ getProvenBlockNumber(): Promise<BlockNumber>;
41
+ getCheckpointedBlock(_number: BlockNumber): Promise<undefined>;
40
42
  /**
41
43
  * Gets an l2 block.
42
44
  * @param number - The block number to return (inclusive).
43
45
  * @returns The requested L2 block.
44
46
  */
45
47
  getBlock(number: number): Promise<L2Block>;
48
+ /**
49
+ * Gets an L2 block (new format).
50
+ * @param number - The block number to return.
51
+ * @returns The requested L2 block.
52
+ */
53
+ getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
46
54
  /**
47
55
  * Gets up to `limit` amount of L2 blocks starting from `from`.
48
56
  * @param from - Number of the first block to return (inclusive).
@@ -50,12 +58,15 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
50
58
  * @returns The requested mocked L2 blocks.
51
59
  */
52
60
  getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
61
+ getPublishedCheckpoints(from: CheckpointNumber, limit: number): Promise<import("@aztec/stdlib/checkpoint").PublishedCheckpoint[]>;
62
+ getCheckpointByArchive(archive: Fr): Promise<Checkpoint | undefined>;
53
63
  getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
54
64
  getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
55
65
  getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
56
66
  getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
57
67
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
58
68
  getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
69
+ getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
59
70
  getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
60
71
  getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
61
72
  /**
@@ -65,7 +76,7 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
65
76
  */
66
77
  getTxEffect(txHash: TxHash): Promise<{
67
78
  data: import("@aztec/stdlib/tx").TxEffect;
68
- l2BlockNumber: number;
79
+ l2BlockNumber: BlockNumber;
69
80
  l2BlockHash: L2BlockHash;
70
81
  txIndexInBlock: number;
71
82
  } | undefined>;
@@ -104,4 +115,4 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
104
115
  isPendingChainInvalid(): Promise<boolean>;
105
116
  getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
106
117
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxPQUFPLEVBQ1AsV0FBVyxFQUNYLEtBQUssYUFBYSxFQUNsQixLQUFLLE1BQU0sRUFDWCxnQkFBZ0IsRUFDaEIsS0FBSyxtQkFBbUIsRUFDekIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ILE9BQU8sRUFBMEIsS0FBSyxpQkFBaUIsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxEOztHQUVHO0FBQ0gscUJBQWEsaUJBQWtCLFlBQVcsYUFBYSxFQUFFLGtCQUFrQjtJQUN6RSxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFNO0lBRW5DLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBYTtJQUN0QyxPQUFPLENBQUMsb0JBQW9CLENBQWE7SUFFekMsT0FBTyxDQUFDLEdB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
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWCxVQUFVLEVBQ1YsS0FBSyxhQUFhLEVBQ2xCLEtBQUssTUFBTSxFQUNYLGdCQUFnQixFQUNoQixLQUFLLG1CQUFtQixFQUN6QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBbUIsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ILE9BQU8sRUFBMEIsS0FBSyxpQkFBaUIsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNuSCxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxEOztHQUVHO0FBQ0gscUJBQWEsaUJBQWtCLFlBQVcsYUFBYSxFQUFFLGtCQUFrQjtJQUN6RSxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFB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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":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,OAAO,EACP,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,gBAAgB,EAChB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACnH,OAAO,EAA0B,KAAK,iBAAiB,EAAwB,MAAM,6BAA6B,CAAC;AACnH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa,EAAE,kBAAkB;IACzE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,oBAAoB,CAAa;IAEzC,OAAO,CAAC,GAAG,CAAiD;IAE/C,YAAY,CAAC,SAAS,EAAE,MAAM,iBAQ1C;IAEM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAGjC;IAEM,YAAY,CAAC,SAAS,EAAE,MAAM,QAGpC;IAEM,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,QAEpD;IAEM,uBAAuB,CAAC,oBAAoB,EAAE,MAAM,QAK1D;IAED;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAEtC;IAED;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAExC;IAED;;;OAGG;IACI,cAAc,oBAEpB;IAEM,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE7C;IAED;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM,oBAE7B;IAED;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,sBAM7D;IAEY,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,+BAa5E;IAEY,uBAAuB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAgBzF;IAEM,0BAA0B,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAgBpF;IAEY,oBAAoB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAQjF;IAEM,uBAAuB,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAG5E;IAED,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAE1E;IAED,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAQ9D;IAEK,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAG9E;IAED;;;;OAIG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM;;;;;mBActC;IAED;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAgB/E;IAEK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAyBjC;IAED,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC,CAEvC;IAED,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAErC;IAED,eAAe,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3D;IAED,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAE3C;IAED,gBAAgB,IAAI,OAAO,CAAC;QAAE,kBAAkB,EAAE,EAAE,CAAA;KAAE,CAAC,CAEtD;IAED,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhC;IAED;;;OAGG;IACI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5B;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3B;IAED,gBAAgB,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAElE;IAED,qBAAqB,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAEtD;IAED,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAEzG;IAED,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEnC;IAED,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAErG;IAED,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;IAED,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7B;IAED,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExC;IAED,+BAA+B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAE9D;CACF"}
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,10 +1,12 @@
1
1
  import { GENESIS_ARCHIVE_ROOT } from '@aztec/constants';
2
- import { DefaultL1ContractsConfig } from '@aztec/ethereum';
2
+ import { DefaultL1ContractsConfig } from '@aztec/ethereum/config';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
4
  import { Buffer32 } from '@aztec/foundation/buffer';
5
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
6
  import { EthAddress } from '@aztec/foundation/eth-address';
5
- import { Fr } from '@aztec/foundation/fields';
6
7
  import { createLogger } from '@aztec/foundation/log';
7
8
  import { L2Block, L2BlockHash, PublishedL2Block } from '@aztec/stdlib/block';
9
+ import { L1PublishedData } from '@aztec/stdlib/checkpoint';
8
10
  import { EmptyL1RollupConstants, getSlotRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
9
11
  import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
10
12
  /**
@@ -17,7 +19,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
17
19
  async createBlocks(numBlocks) {
18
20
  for(let i = 0; i < numBlocks; i++){
19
21
  const blockNum = this.l2Blocks.length + 1;
20
- const block = await L2Block.random(blockNum);
22
+ const block = await L2Block.random(BlockNumber(blockNum));
21
23
  this.l2Blocks.push(block);
22
24
  }
23
25
  this.log.verbose(`Created ${numBlocks} blocks in the mock L2 block source`);
@@ -55,10 +57,14 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
55
57
  * Gets the number of the latest L2 block processed by the block source implementation.
56
58
  * @returns In this mock instance, returns the number of L2 blocks that we've mocked.
57
59
  */ getBlockNumber() {
58
- return Promise.resolve(this.l2Blocks.length);
60
+ return Promise.resolve(BlockNumber(this.l2Blocks.length));
59
61
  }
60
62
  getProvenBlockNumber() {
61
- return Promise.resolve(this.provenBlockNumber);
63
+ return Promise.resolve(BlockNumber(this.provenBlockNumber));
64
+ }
65
+ getCheckpointedBlock(_number) {
66
+ // In this mock, we don't track checkpointed blocks separately
67
+ return Promise.resolve(undefined);
62
68
  }
63
69
  /**
64
70
  * Gets an l2 block.
@@ -68,6 +74,14 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
68
74
  return Promise.resolve(this.l2Blocks[number - 1]);
69
75
  }
70
76
  /**
77
+ * Gets an L2 block (new format).
78
+ * @param number - The block number to return.
79
+ * @returns The requested L2 block.
80
+ */ getL2BlockNew(number) {
81
+ const block = this.l2Blocks[number - 1];
82
+ return Promise.resolve(block?.toL2Block());
83
+ }
84
+ /**
71
85
  * Gets up to `limit` amount of L2 blocks starting from `from`.
72
86
  * @param from - Number of the first block to return (inclusive).
73
87
  * @param limit - The maximum number of blocks to return.
@@ -75,15 +89,19 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
75
89
  */ getBlocks(from, limit, proven) {
76
90
  return Promise.resolve(this.l2Blocks.slice(from - 1, from - 1 + limit).filter((b)=>!proven || this.provenBlockNumber === undefined || b.number <= this.provenBlockNumber));
77
91
  }
92
+ async getPublishedCheckpoints(from, limit) {
93
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
94
+ return (await this.getPublishedBlocks(from, limit)).map((block)=>block.toPublishedCheckpoint());
95
+ }
96
+ async getCheckpointByArchive(archive) {
97
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
98
+ return (await this.getPublishedBlockByArchive(archive))?.block.toCheckpoint();
99
+ }
78
100
  async getPublishedBlocks(from, limit, proven) {
79
101
  const blocks = await this.getBlocks(from, limit, proven);
80
102
  return blocks.map((block)=>PublishedL2Block.fromFields({
81
103
  block,
82
- l1: {
83
- blockNumber: BigInt(block.number),
84
- blockHash: Buffer32.random().toString(),
85
- timestamp: BigInt(block.number)
86
- },
104
+ l1: new L1PublishedData(BigInt(block.number), BigInt(block.number), Buffer32.random().toString()),
87
105
  attestations: []
88
106
  }));
89
107
  }
@@ -93,11 +111,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
93
111
  if (hash.equals(blockHash)) {
94
112
  return PublishedL2Block.fromFields({
95
113
  block,
96
- l1: {
97
- blockNumber: BigInt(block.number),
98
- blockHash: Buffer32.random().toString(),
99
- timestamp: BigInt(block.number)
100
- },
114
+ l1: new L1PublishedData(BigInt(block.number), BigInt(block.number), Buffer32.random().toString()),
101
115
  attestations: []
102
116
  });
103
117
  }
@@ -111,11 +125,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
111
125
  }
112
126
  return Promise.resolve(PublishedL2Block.fromFields({
113
127
  block,
114
- l1: {
115
- blockNumber: BigInt(block.number),
116
- blockHash: Buffer32.random().toString(),
117
- timestamp: BigInt(block.number)
118
- },
128
+ l1: new L1PublishedData(BigInt(block.number), BigInt(block.number), Buffer32.random().toString()),
119
129
  attestations: []
120
130
  }));
121
131
  }
@@ -135,6 +145,10 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
135
145
  getBlockHeader(number) {
136
146
  return Promise.resolve(this.l2Blocks.at(typeof number === 'number' ? number - 1 : -1)?.getBlockHeader());
137
147
  }
148
+ getCheckpointsForEpoch(epochNumber) {
149
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
150
+ return this.getBlocksForEpoch(epochNumber).then((blocks)=>blocks.map((b)=>b.toCheckpoint()));
151
+ }
138
152
  getBlocksForEpoch(epochNumber) {
139
153
  const epochDuration = DefaultL1ContractsConfig.aztecEpochDuration;
140
154
  const [start, end] = getSlotRangeForEpoch(epochNumber, {
@@ -195,15 +209,15 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
195
209
  const finalizedBlock = this.l2Blocks[finalized - 1];
196
210
  return {
197
211
  latest: {
198
- number: latest,
212
+ number: BlockNumber(latest),
199
213
  hash: (await latestBlock?.hash())?.toString()
200
214
  },
201
215
  proven: {
202
- number: proven,
216
+ number: BlockNumber(proven),
203
217
  hash: (await provenBlock?.hash())?.toString()
204
218
  },
205
219
  finalized: {
206
- number: finalized,
220
+ number: BlockNumber(finalized),
207
221
  hash: (await finalizedBlock?.hash())?.toString()
208
222
  }
209
223
  };
@@ -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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19zdHJ1Y3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3N0cnVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBSzlELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBcUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1Rix3QkFBZ0IsZ0JBQWdCLENBQzlCLG1CQUFtQixXQUFnQixFQUNuQyxTQUFTLEdBQUUsT0FBTyxDQUFDLFlBQVksQ0FBTSxHQUNwQyxZQUFZLENBZ0JkO0FBRUQsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsTUFBTSxFQUNiLElBQUksR0FBRTtJQUNKLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUN2QixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixVQUFVLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSyxZQUFZLENBQUM7Q0FDNUQsR0FDTCxZQUFZLEVBQUUsQ0FhaEIifQ==
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": "0.0.1-commit.9b94fc1",
3
+ "version": "0.0.1-commit.c7c42ec",
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 && tsgo -b",
21
- "build:dev": "tsgo -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,22 +66,23 @@
66
66
  ]
67
67
  },
68
68
  "dependencies": {
69
- "@aztec/blob-lib": "0.0.1-commit.9b94fc1",
70
- "@aztec/blob-sink": "0.0.1-commit.9b94fc1",
71
- "@aztec/constants": "0.0.1-commit.9b94fc1",
72
- "@aztec/epoch-cache": "0.0.1-commit.9b94fc1",
73
- "@aztec/ethereum": "0.0.1-commit.9b94fc1",
74
- "@aztec/foundation": "0.0.1-commit.9b94fc1",
75
- "@aztec/kv-store": "0.0.1-commit.9b94fc1",
76
- "@aztec/l1-artifacts": "0.0.1-commit.9b94fc1",
77
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.9b94fc1",
78
- "@aztec/protocol-contracts": "0.0.1-commit.9b94fc1",
79
- "@aztec/stdlib": "0.0.1-commit.9b94fc1",
80
- "@aztec/telemetry-client": "0.0.1-commit.9b94fc1",
69
+ "@aztec/blob-client": "0.0.1-commit.c7c42ec",
70
+ "@aztec/blob-lib": "0.0.1-commit.c7c42ec",
71
+ "@aztec/constants": "0.0.1-commit.c7c42ec",
72
+ "@aztec/epoch-cache": "0.0.1-commit.c7c42ec",
73
+ "@aztec/ethereum": "0.0.1-commit.c7c42ec",
74
+ "@aztec/foundation": "0.0.1-commit.c7c42ec",
75
+ "@aztec/kv-store": "0.0.1-commit.c7c42ec",
76
+ "@aztec/l1-artifacts": "0.0.1-commit.c7c42ec",
77
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.c7c42ec",
78
+ "@aztec/protocol-contracts": "0.0.1-commit.c7c42ec",
79
+ "@aztec/stdlib": "0.0.1-commit.c7c42ec",
80
+ "@aztec/telemetry-client": "0.0.1-commit.c7c42ec",
81
81
  "lodash.groupby": "^4.6.0",
82
82
  "lodash.omit": "^4.5.0",
83
83
  "tslib": "^2.5.0",
84
- "viem": "npm:@aztec/viem@2.38.2"
84
+ "viem": "npm:@aztec/viem@2.38.2",
85
+ "zod": "^3.23.8"
85
86
  },
86
87
  "devDependencies": {
87
88
  "@jest/globals": "^30.0.0",