@aztec/archiver 0.0.1-commit.b655e406 → 0.0.1-commit.d3ec352c

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 (81) hide show
  1. package/dest/archiver/archiver.d.ts +53 -40
  2. package/dest/archiver/archiver.d.ts.map +1 -1
  3. package/dest/archiver/archiver.js +333 -221
  4. package/dest/archiver/archiver_store.d.ts +16 -15
  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 +85 -84
  9. package/dest/archiver/config.d.ts +1 -1
  10. package/dest/archiver/config.d.ts.map +1 -1
  11. package/dest/archiver/config.js +5 -0
  12. package/dest/archiver/data_retrieval.d.ts +18 -17
  13. package/dest/archiver/data_retrieval.d.ts.map +1 -1
  14. package/dest/archiver/data_retrieval.js +111 -86
  15. package/dest/archiver/errors.d.ts +1 -1
  16. package/dest/archiver/errors.d.ts.map +1 -1
  17. package/dest/archiver/index.d.ts +1 -1
  18. package/dest/archiver/instrumentation.d.ts +3 -3
  19. package/dest/archiver/instrumentation.d.ts.map +1 -1
  20. package/dest/archiver/kv_archiver_store/block_store.d.ts +9 -8
  21. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  22. package/dest/archiver/kv_archiver_store/block_store.js +8 -7
  23. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +1 -1
  24. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
  25. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +1 -1
  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 +18 -17
  28. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  29. package/dest/archiver/kv_archiver_store/log_store.d.ts +1 -1
  30. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  31. package/dest/archiver/kv_archiver_store/log_store.js +3 -2
  32. package/dest/archiver/kv_archiver_store/message_store.d.ts +1 -1
  33. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
  34. package/dest/archiver/structs/data_retrieval.d.ts +1 -1
  35. package/dest/archiver/structs/inbox_message.d.ts +3 -3
  36. package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
  37. package/dest/archiver/structs/inbox_message.js +2 -1
  38. package/dest/archiver/structs/published.d.ts +3 -2
  39. package/dest/archiver/structs/published.d.ts.map +1 -1
  40. package/dest/archiver/validation.d.ts +10 -4
  41. package/dest/archiver/validation.d.ts.map +1 -1
  42. package/dest/archiver/validation.js +29 -21
  43. package/dest/factory.d.ts +1 -1
  44. package/dest/factory.d.ts.map +1 -1
  45. package/dest/factory.js +3 -2
  46. package/dest/index.d.ts +2 -2
  47. package/dest/index.d.ts.map +1 -1
  48. package/dest/index.js +1 -1
  49. package/dest/rpc/index.d.ts +2 -2
  50. package/dest/test/index.d.ts +1 -1
  51. package/dest/test/mock_archiver.d.ts +14 -5
  52. package/dest/test/mock_archiver.d.ts.map +1 -1
  53. package/dest/test/mock_archiver.js +19 -10
  54. package/dest/test/mock_l1_to_l2_message_source.d.ts +4 -2
  55. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  56. package/dest/test/mock_l1_to_l2_message_source.js +7 -2
  57. package/dest/test/mock_l2_block_source.d.ts +14 -9
  58. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  59. package/dest/test/mock_l2_block_source.js +20 -7
  60. package/dest/test/mock_structs.d.ts +1 -1
  61. package/dest/test/mock_structs.d.ts.map +1 -1
  62. package/dest/test/mock_structs.js +3 -2
  63. package/package.json +17 -17
  64. package/src/archiver/archiver.ts +448 -290
  65. package/src/archiver/archiver_store.ts +19 -14
  66. package/src/archiver/archiver_store_test_suite.ts +111 -79
  67. package/src/archiver/config.ts +5 -0
  68. package/src/archiver/data_retrieval.ts +157 -125
  69. package/src/archiver/instrumentation.ts +2 -2
  70. package/src/archiver/kv_archiver_store/block_store.ts +17 -16
  71. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +16 -15
  72. package/src/archiver/kv_archiver_store/log_store.ts +3 -2
  73. package/src/archiver/structs/inbox_message.ts +5 -4
  74. package/src/archiver/structs/published.ts +2 -1
  75. package/src/archiver/validation.ts +52 -27
  76. package/src/factory.ts +3 -2
  77. package/src/index.ts +1 -1
  78. package/src/test/mock_archiver.ts +22 -11
  79. package/src/test/mock_l1_to_l2_message_source.ts +9 -3
  80. package/src/test/mock_l2_block_source.ts +30 -13
  81. package/src/test/mock_structs.ts +3 -2
@@ -1,5 +1,7 @@
1
+ import type { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import type { Fr } from '@aztec/foundation/fields';
2
- import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
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
  /**
@@ -10,14 +12,21 @@ export declare class MockArchiver extends MockL2BlockSource implements L2BlockSo
10
12
  setL1ToL2Messages(blockNumber: number, msgs: Fr[]): void;
11
13
  getL1ToL2Messages(blockNumber: number): Promise<Fr[]>;
12
14
  getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined>;
15
+ getL1ToL2MessagesForCheckpoint(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
13
16
  }
14
17
  /**
15
18
  * A mocked implementation of the archiver with a set of precomputed blocks and messages.
16
19
  */
17
20
  export declare class MockPrefilledArchiver extends MockArchiver {
18
- private precomputed;
19
- constructor(precomputed: L2Block[], messages: Fr[][]);
20
- setPrefilledBlocks(blocks: L2Block[], messages: Fr[][]): void;
21
+ private prefilled;
22
+ constructor(prefilled: {
23
+ checkpoint: Checkpoint;
24
+ messages: Fr[];
25
+ }[]);
26
+ setPrefilled(prefilled: {
27
+ checkpoint: Checkpoint;
28
+ messages: Fr[];
29
+ }[]): void;
21
30
  createBlocks(numBlocks: number): Promise<void>;
22
31
  }
23
- //# sourceMappingURL=mock_archiver.d.ts.map
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hcmNoaXZlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvbW9ja19hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBVyxLQUFLLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQ7O0dBRUc7QUFDSCxxQkFBYSxZQUFhLFNBQVEsaUJBQWtCLFlBQVcsYUFBYSxFQUFFLG1CQUFtQjtJQUMvRixPQUFPLENBQUMsYUFBYSxDQUFrQztJQUVoRCxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsUUFFdkQ7SUFFRCxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUVwRDtJQUVELHFCQUFxQixDQUFDLGNBQWMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FFckU7SUFFRCw4QkFBOEIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FHaEY7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsWUFBWTtJQUNyRCxPQUFPLENBQUMsU0FBUyxDQUFvQjtJQUVyQyxZQUFZLFNBQVMsRUFBRTtRQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUE7S0FBRSxFQUFFLEVBR2xFO0lBRU0sWUFBWSxDQUFDLFNBQVMsRUFBRTtRQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUE7S0FBRSxFQUFFLFFBUTFFO0lBRWUsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLGlCQVk3QztDQUNGIn0=
@@ -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;IAIxD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIrD,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGvE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,WAAW,CAAY;gBAEnB,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAM7C,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAO7C,YAAY,CAAC,SAAS,EAAE,MAAM;CAW/C"}
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,0BAA0B,CAAC;AACnD,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,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;IAED,8BAA8B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAGhF;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,3 +1,4 @@
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
  /**
@@ -13,28 +14,36 @@ import { MockL2BlockSource } from './mock_l2_block_source.js';
13
14
  getL1ToL2MessageIndex(_l1ToL2Message) {
14
15
  return this.messageSource.getL1ToL2MessageIndex(_l1ToL2Message);
15
16
  }
17
+ getL1ToL2MessagesForCheckpoint(checkpointNumber) {
18
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
19
+ return this.messageSource.getL1ToL2Messages(checkpointNumber);
20
+ }
16
21
  }
17
22
  /**
18
23
  * A mocked implementation of the archiver with a set of precomputed blocks and messages.
19
24
  */ export class MockPrefilledArchiver extends MockArchiver {
20
- precomputed;
21
- constructor(precomputed, messages){
25
+ prefilled = [];
26
+ constructor(prefilled){
22
27
  super();
23
- this.precomputed = precomputed.slice();
24
- messages.forEach((msgs, i)=>this.setL1ToL2Messages(i + 1, msgs));
28
+ this.setPrefilled(prefilled);
25
29
  }
26
- setPrefilledBlocks(blocks, messages) {
27
- for (const block of blocks){
28
- this.precomputed[block.number - 1] = block;
30
+ setPrefilled(prefilled) {
31
+ for (const { checkpoint, messages } of prefilled){
32
+ this.prefilled[checkpoint.number - 1] = checkpoint;
33
+ if (checkpoint.blocks.length !== 1) {
34
+ throw new Error('Prefilled checkpoint must only have 1 block at the moment.');
35
+ }
36
+ this.setL1ToL2Messages(checkpoint.blocks[0].number, messages);
29
37
  }
30
- messages.forEach((msgs, i)=>this.setL1ToL2Messages(blocks[i].number, msgs));
31
38
  }
32
39
  createBlocks(numBlocks) {
33
- if (this.l2Blocks.length + numBlocks > this.precomputed.length) {
40
+ const flattenedBlocks = this.prefilled.flatMap((c)=>c.blocks);
41
+ if (this.l2Blocks.length + numBlocks > flattenedBlocks.length) {
34
42
  throw new Error(`Not enough precomputed blocks to create ${numBlocks} more blocks (already at ${this.l2Blocks.length})`);
35
43
  }
36
44
  const fromBlock = this.l2Blocks.length;
37
- this.addBlocks(this.precomputed.slice(fromBlock, fromBlock + numBlocks));
45
+ // TODO: Add L2 blocks and checkpoints separately once archiver has the apis for that.
46
+ this.addBlocks(this.prefilled.slice(fromBlock, fromBlock + numBlocks).map((c)=>L2Block.fromCheckpoint(c)));
38
47
  return Promise.resolve();
39
48
  }
40
49
  }
@@ -1,3 +1,4 @@
1
+ import { BlockNumber, type CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import type { L2Tips } from '@aztec/stdlib/block';
3
4
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
@@ -10,9 +11,10 @@ export declare class MockL1ToL2MessageSource implements L1ToL2MessageSource {
10
11
  constructor(blockNumber: number);
11
12
  setL1ToL2Messages(blockNumber: number, msgs: Fr[]): void;
12
13
  setBlockNumber(blockNumber: number): void;
14
+ getL1ToL2MessagesForCheckpoint(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
13
15
  getL1ToL2Messages(blockNumber: number): Promise<Fr[]>;
14
16
  getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined>;
15
- getBlockNumber(): Promise<number>;
17
+ getBlockNumber(): Promise<BlockNumber>;
16
18
  getL2Tips(): Promise<L2Tips>;
17
19
  }
18
- //# sourceMappingURL=mock_l1_to_l2_message_source.d.ts.map
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvbW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRTs7R0FFRztBQUNILHFCQUFhLHVCQUF3QixZQUFXLG1CQUFtQjtJQUdyRCxPQUFPLENBQUMsV0FBVztJQUYvQixPQUFPLENBQUMsZ0JBQWdCLENBQTJCO0lBRW5ELFlBQW9CLFdBQVcsRUFBRSxNQUFNLEVBQUk7SUFFcEMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBRXZEO0lBRU0sY0FBYyxDQUFDLFdBQVcsRUFBRSxNQUFNLFFBRXhDO0lBRUQsOEJBQThCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBR2hGO0lBRUQsaUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FFcEQ7SUFFRCxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXJFO0lBRUQsY0FBYyx5QkFFYjtJQUVELFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBUTNCO0NBQ0YifQ==
@@ -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;gBAE/B,WAAW,EAAE,MAAM;IAEhC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAIjD,cAAc,CAAC,WAAW,EAAE,MAAM;IAIzC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIrD,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAItE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;CAS7B"}
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,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,8BAA8B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAGhF;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,yBAEb;IAED,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAQ3B;CACF"}
@@ -1,3 +1,4 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  /**
3
4
  * A mocked implementation of L1ToL2MessageSource to be used in tests.
@@ -14,6 +15,10 @@ import { Fr } from '@aztec/foundation/fields';
14
15
  setBlockNumber(blockNumber) {
15
16
  this.blockNumber = blockNumber;
16
17
  }
18
+ getL1ToL2MessagesForCheckpoint(checkpointNumber) {
19
+ // TODO: Implement this properly. This only works when we have one block per checkpoint.
20
+ return this.getL1ToL2Messages(checkpointNumber);
21
+ }
17
22
  getL1ToL2Messages(blockNumber) {
18
23
  return Promise.resolve(this.messagesPerBlock.get(blockNumber) ?? []);
19
24
  }
@@ -21,12 +26,12 @@ import { Fr } from '@aztec/foundation/fields';
21
26
  throw new Error('Method not implemented.');
22
27
  }
23
28
  getBlockNumber() {
24
- return Promise.resolve(this.blockNumber);
29
+ return Promise.resolve(BlockNumber(this.blockNumber));
25
30
  }
26
31
  getL2Tips() {
27
32
  const number = this.blockNumber;
28
33
  const tip = {
29
- number,
34
+ number: BlockNumber(number),
30
35
  hash: new Fr(number).toString()
31
36
  };
32
37
  return Promise.resolve({
@@ -1,8 +1,10 @@
1
+ import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { 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
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,14 +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[]>;
54
+ getPublishedCheckpoints(from: CheckpointNumber, limit: number): Promise<import("@aztec/stdlib/checkpoint").PublishedCheckpoint[]>;
55
+ getCheckpointByArchive(archive: Fr): Promise<Checkpoint | undefined>;
52
56
  getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
53
57
  getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
54
58
  getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
55
59
  getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
56
60
  getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
57
61
  getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
58
- getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
59
- getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
62
+ getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
63
+ getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
64
+ getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
60
65
  /**
61
66
  * Gets a tx effect.
62
67
  * @param txHash - The hash of the tx corresponding to the tx effect.
@@ -64,7 +69,7 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
64
69
  */
65
70
  getTxEffect(txHash: TxHash): Promise<{
66
71
  data: import("@aztec/stdlib/tx").TxEffect;
67
- l2BlockNumber: number;
72
+ l2BlockNumber: BlockNumber;
68
73
  l2BlockHash: L2BlockHash;
69
74
  txIndexInBlock: number;
70
75
  } | undefined>;
@@ -75,9 +80,9 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
75
80
  */
76
81
  getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
77
82
  getL2Tips(): Promise<L2Tips>;
78
- getL2EpochNumber(): Promise<bigint>;
79
- getL2SlotNumber(): Promise<bigint>;
80
- isEpochComplete(_epochNumber: bigint): Promise<boolean>;
83
+ getL2EpochNumber(): Promise<EpochNumber>;
84
+ getL2SlotNumber(): Promise<SlotNumber>;
85
+ isEpochComplete(_epochNumber: EpochNumber): Promise<boolean>;
81
86
  getL1Constants(): Promise<L1RollupConstants>;
82
87
  getGenesisValues(): Promise<{
83
88
  genesisArchiveRoot: Fr;
@@ -103,4 +108,4 @@ export declare class MockL2BlockSource implements L2BlockSource, ContractDataSou
103
108
  isPendingChainInvalid(): Promise<boolean>;
104
109
  getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
105
110
  }
106
- //# sourceMappingURL=mock_l2_block_source.d.ts.map
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUMsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxNQUFNLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssbUJBQW1CLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuSCxPQUFPLEVBQTBCLEtBQUssaUJBQWlCLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7QUFDbkgsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQVksTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRDs7R0FFRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLGFBQWEsRUFBRSxrQkFBa0I7SUFDekUsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBTTtJQUVu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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,5 +1,6 @@
1
1
  import { GENESIS_ARCHIVE_ROOT } from '@aztec/constants';
2
2
  import { DefaultL1ContractsConfig } from '@aztec/ethereum';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
4
  import { Buffer32 } from '@aztec/foundation/buffer';
4
5
  import { EthAddress } from '@aztec/foundation/eth-address';
5
6
  import { Fr } from '@aztec/foundation/fields';
@@ -17,7 +18,7 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
17
18
  async createBlocks(numBlocks) {
18
19
  for(let i = 0; i < numBlocks; i++){
19
20
  const blockNum = this.l2Blocks.length + 1;
20
- const block = await L2Block.random(blockNum);
21
+ const block = await L2Block.random(BlockNumber(blockNum));
21
22
  this.l2Blocks.push(block);
22
23
  }
23
24
  this.log.verbose(`Created ${numBlocks} blocks in the mock L2 block source`);
@@ -55,10 +56,10 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
55
56
  * Gets the number of the latest L2 block processed by the block source implementation.
56
57
  * @returns In this mock instance, returns the number of L2 blocks that we've mocked.
57
58
  */ getBlockNumber() {
58
- return Promise.resolve(this.l2Blocks.length);
59
+ return Promise.resolve(BlockNumber(this.l2Blocks.length));
59
60
  }
60
61
  getProvenBlockNumber() {
61
- return Promise.resolve(this.provenBlockNumber);
62
+ return Promise.resolve(BlockNumber(this.provenBlockNumber));
62
63
  }
63
64
  /**
64
65
  * Gets an l2 block.
@@ -75,6 +76,14 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
75
76
  */ getBlocks(from, limit, proven) {
76
77
  return Promise.resolve(this.l2Blocks.slice(from - 1, from - 1 + limit).filter((b)=>!proven || this.provenBlockNumber === undefined || b.number <= this.provenBlockNumber));
77
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
+ }
78
87
  async getPublishedBlocks(from, limit, proven) {
79
88
  const blocks = await this.getBlocks(from, limit, proven);
80
89
  return blocks.map((block)=>PublishedL2Block.fromFields({
@@ -135,13 +144,17 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
135
144
  getBlockHeader(number) {
136
145
  return Promise.resolve(this.l2Blocks.at(typeof number === 'number' ? number - 1 : -1)?.getBlockHeader());
137
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()));
150
+ }
138
151
  getBlocksForEpoch(epochNumber) {
139
152
  const epochDuration = DefaultL1ContractsConfig.aztecEpochDuration;
140
153
  const [start, end] = getSlotRangeForEpoch(epochNumber, {
141
154
  epochDuration
142
155
  });
143
156
  const blocks = this.l2Blocks.filter((b)=>{
144
- const slot = b.header.globalVariables.slotNumber.toBigInt();
157
+ const slot = b.header.globalVariables.slotNumber;
145
158
  return slot >= start && slot <= end;
146
159
  });
147
160
  return Promise.resolve(blocks);
@@ -195,15 +208,15 @@ import { TxReceipt, TxStatus } from '@aztec/stdlib/tx';
195
208
  const finalizedBlock = this.l2Blocks[finalized - 1];
196
209
  return {
197
210
  latest: {
198
- number: latest,
211
+ number: BlockNumber(latest),
199
212
  hash: (await latestBlock?.hash())?.toString()
200
213
  },
201
214
  proven: {
202
- number: proven,
215
+ number: BlockNumber(proven),
203
216
  hash: (await provenBlock?.hash())?.toString()
204
217
  },
205
218
  finalized: {
206
- number: finalized,
219
+ number: BlockNumber(finalized),
207
220
  hash: (await finalizedBlock?.hash())?.toString()
208
221
  }
209
222
  };
@@ -6,4 +6,4 @@ export declare function makeInboxMessages(count: number, opts?: {
6
6
  initialL2BlockNumber?: number;
7
7
  overrideFn?: (msg: InboxMessage, index: number) => InboxMessage;
8
8
  }): InboxMessage[];
9
- //# sourceMappingURL=mock_structs.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19zdHJ1Y3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3N0cnVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBSzlELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBcUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUU1Rix3QkFBZ0IsZ0JBQWdCLENBQzlCLG1CQUFtQixXQUFnQixFQUNuQyxTQUFTLEdBQUUsT0FBTyxDQUFDLFlBQVksQ0FBTSxHQUNwQyxZQUFZLENBZ0JkO0FBRUQsd0JBQWdCLGlCQUFpQixDQUMvQixLQUFLLEVBQUUsTUFBTSxFQUNiLElBQUksR0FBRTtJQUNKLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUN2QixvQkFBb0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixVQUFVLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSyxZQUFZLENBQUM7Q0FDNUQsR0FDTCxZQUFZLEVBQUUsQ0FhaEIifQ==
@@ -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":"AACA,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,3 +1,4 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
1
2
  import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
2
3
  import { randomBigInt, randomInt } from '@aztec/foundation/crypto';
3
4
  import { Fr } from '@aztec/foundation/fields';
@@ -13,7 +14,7 @@ export function makeInboxMessage(previousRollingHash = Buffer16.ZERO, overrides
13
14
  return {
14
15
  index,
15
16
  leaf,
16
- l2BlockNumber,
17
+ l2BlockNumber: BlockNumber(l2BlockNumber),
17
18
  l1BlockNumber,
18
19
  l1BlockHash,
19
20
  rollingHash
@@ -25,7 +26,7 @@ export function makeInboxMessages(count, opts = {}) {
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 l2BlockNumber = BlockNumber(i + initialL2BlockNumber);
29
30
  const message = overrideFn(makeInboxMessage(rollingHash, {
30
31
  leaf,
31
32
  l2BlockNumber
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/archiver",
3
- "version": "0.0.1-commit.b655e406",
3
+ "version": "0.0.1-commit.d3ec352c",
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,22 @@
66
66
  ]
67
67
  },
68
68
  "dependencies": {
69
- "@aztec/blob-lib": "0.0.1-commit.b655e406",
70
- "@aztec/blob-sink": "0.0.1-commit.b655e406",
71
- "@aztec/constants": "0.0.1-commit.b655e406",
72
- "@aztec/epoch-cache": "0.0.1-commit.b655e406",
73
- "@aztec/ethereum": "0.0.1-commit.b655e406",
74
- "@aztec/foundation": "0.0.1-commit.b655e406",
75
- "@aztec/kv-store": "0.0.1-commit.b655e406",
76
- "@aztec/l1-artifacts": "0.0.1-commit.b655e406",
77
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.b655e406",
78
- "@aztec/protocol-contracts": "0.0.1-commit.b655e406",
79
- "@aztec/stdlib": "0.0.1-commit.b655e406",
80
- "@aztec/telemetry-client": "0.0.1-commit.b655e406",
69
+ "@aztec/blob-lib": "0.0.1-commit.d3ec352c",
70
+ "@aztec/blob-sink": "0.0.1-commit.d3ec352c",
71
+ "@aztec/constants": "0.0.1-commit.d3ec352c",
72
+ "@aztec/epoch-cache": "0.0.1-commit.d3ec352c",
73
+ "@aztec/ethereum": "0.0.1-commit.d3ec352c",
74
+ "@aztec/foundation": "0.0.1-commit.d3ec352c",
75
+ "@aztec/kv-store": "0.0.1-commit.d3ec352c",
76
+ "@aztec/l1-artifacts": "0.0.1-commit.d3ec352c",
77
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.d3ec352c",
78
+ "@aztec/protocol-contracts": "0.0.1-commit.d3ec352c",
79
+ "@aztec/stdlib": "0.0.1-commit.d3ec352c",
80
+ "@aztec/telemetry-client": "0.0.1-commit.d3ec352c",
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": "npm:@spalladino/viem@2.38.2-eip7594.0"
84
+ "viem": "npm:@aztec/viem@2.38.2"
86
85
  },
87
86
  "devDependencies": {
88
87
  "@jest/globals": "^30.0.0",
@@ -90,6 +89,7 @@
90
89
  "@types/lodash.groupby": "^4.6.9",
91
90
  "@types/lodash.omit": "^4.5.7",
92
91
  "@types/node": "^22.15.17",
92
+ "@typescript/native-preview": "7.0.0-dev.20251126.1",
93
93
  "concurrently": "^8.0.1",
94
94
  "jest": "^30.0.0",
95
95
  "jest-mock-extended": "^4.0.0",