@aztec/archiver 0.0.1-commit.29c6b1a3 → 0.0.1-commit.2c0ee1788

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 (134) hide show
  1. package/README.md +12 -6
  2. package/dest/archiver.d.ts +26 -15
  3. package/dest/archiver.d.ts.map +1 -1
  4. package/dest/archiver.js +169 -148
  5. package/dest/config.d.ts +5 -3
  6. package/dest/config.d.ts.map +1 -1
  7. package/dest/config.js +16 -4
  8. package/dest/errors.d.ts +61 -10
  9. package/dest/errors.d.ts.map +1 -1
  10. package/dest/errors.js +88 -14
  11. package/dest/factory.d.ts +6 -7
  12. package/dest/factory.d.ts.map +1 -1
  13. package/dest/factory.js +41 -34
  14. package/dest/index.d.ts +11 -3
  15. package/dest/index.d.ts.map +1 -1
  16. package/dest/index.js +10 -2
  17. package/dest/l1/bin/retrieve-calldata.js +36 -33
  18. package/dest/l1/calldata_retriever.d.ts +74 -50
  19. package/dest/l1/calldata_retriever.d.ts.map +1 -1
  20. package/dest/l1/calldata_retriever.js +197 -260
  21. package/dest/l1/data_retrieval.d.ts +26 -17
  22. package/dest/l1/data_retrieval.d.ts.map +1 -1
  23. package/dest/l1/data_retrieval.js +43 -48
  24. package/dest/l1/spire_proposer.d.ts +5 -5
  25. package/dest/l1/spire_proposer.d.ts.map +1 -1
  26. package/dest/l1/spire_proposer.js +9 -17
  27. package/dest/l1/validate_historical_logs.d.ts +23 -0
  28. package/dest/l1/validate_historical_logs.d.ts.map +1 -0
  29. package/dest/l1/validate_historical_logs.js +108 -0
  30. package/dest/l1/validate_trace.d.ts +6 -3
  31. package/dest/l1/validate_trace.d.ts.map +1 -1
  32. package/dest/l1/validate_trace.js +13 -9
  33. package/dest/modules/contract_data_source_adapter.d.ts +25 -0
  34. package/dest/modules/contract_data_source_adapter.d.ts.map +1 -0
  35. package/dest/modules/contract_data_source_adapter.js +42 -0
  36. package/dest/modules/data_source_base.d.ts +30 -17
  37. package/dest/modules/data_source_base.d.ts.map +1 -1
  38. package/dest/modules/data_source_base.js +98 -125
  39. package/dest/modules/data_store_updater.d.ts +37 -17
  40. package/dest/modules/data_store_updater.d.ts.map +1 -1
  41. package/dest/modules/data_store_updater.js +155 -112
  42. package/dest/modules/instrumentation.d.ts +21 -3
  43. package/dest/modules/instrumentation.d.ts.map +1 -1
  44. package/dest/modules/instrumentation.js +58 -18
  45. package/dest/modules/l1_synchronizer.d.ts +13 -11
  46. package/dest/modules/l1_synchronizer.d.ts.map +1 -1
  47. package/dest/modules/l1_synchronizer.js +334 -181
  48. package/dest/modules/validation.d.ts +4 -3
  49. package/dest/modules/validation.d.ts.map +1 -1
  50. package/dest/modules/validation.js +6 -6
  51. package/dest/store/block_store.d.ts +108 -32
  52. package/dest/store/block_store.d.ts.map +1 -1
  53. package/dest/store/block_store.js +477 -141
  54. package/dest/store/contract_class_store.d.ts +17 -4
  55. package/dest/store/contract_class_store.d.ts.map +1 -1
  56. package/dest/store/contract_class_store.js +33 -73
  57. package/dest/store/contract_instance_store.d.ts +28 -1
  58. package/dest/store/contract_instance_store.d.ts.map +1 -1
  59. package/dest/store/contract_instance_store.js +37 -2
  60. package/dest/store/data_stores.d.ts +68 -0
  61. package/dest/store/data_stores.d.ts.map +1 -0
  62. package/dest/store/data_stores.js +50 -0
  63. package/dest/store/function_names_cache.d.ts +17 -0
  64. package/dest/store/function_names_cache.d.ts.map +1 -0
  65. package/dest/store/function_names_cache.js +30 -0
  66. package/dest/store/l2_tips_cache.d.ts +20 -0
  67. package/dest/store/l2_tips_cache.d.ts.map +1 -0
  68. package/dest/store/l2_tips_cache.js +109 -0
  69. package/dest/store/log_store.d.ts +6 -3
  70. package/dest/store/log_store.d.ts.map +1 -1
  71. package/dest/store/log_store.js +150 -55
  72. package/dest/store/message_store.d.ts +5 -1
  73. package/dest/store/message_store.d.ts.map +1 -1
  74. package/dest/store/message_store.js +21 -9
  75. package/dest/test/fake_l1_state.d.ts +25 -1
  76. package/dest/test/fake_l1_state.d.ts.map +1 -1
  77. package/dest/test/fake_l1_state.js +166 -32
  78. package/dest/test/index.d.ts +1 -2
  79. package/dest/test/index.d.ts.map +1 -1
  80. package/dest/test/index.js +3 -2
  81. package/dest/test/mock_archiver.d.ts +1 -1
  82. package/dest/test/mock_archiver.d.ts.map +1 -1
  83. package/dest/test/mock_archiver.js +3 -2
  84. package/dest/test/mock_l1_to_l2_message_source.d.ts +1 -1
  85. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  86. package/dest/test/mock_l1_to_l2_message_source.js +2 -1
  87. package/dest/test/mock_l2_block_source.d.ts +38 -8
  88. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  89. package/dest/test/mock_l2_block_source.js +183 -90
  90. package/dest/test/mock_structs.d.ts +4 -1
  91. package/dest/test/mock_structs.d.ts.map +1 -1
  92. package/dest/test/mock_structs.js +13 -1
  93. package/dest/test/noop_l1_archiver.d.ts +7 -4
  94. package/dest/test/noop_l1_archiver.d.ts.map +1 -1
  95. package/dest/test/noop_l1_archiver.js +14 -8
  96. package/package.json +14 -13
  97. package/src/archiver.ts +215 -170
  98. package/src/config.ts +23 -2
  99. package/src/errors.ts +133 -22
  100. package/src/factory.ts +54 -32
  101. package/src/index.ts +18 -2
  102. package/src/l1/README.md +25 -68
  103. package/src/l1/bin/retrieve-calldata.ts +46 -39
  104. package/src/l1/calldata_retriever.ts +261 -379
  105. package/src/l1/data_retrieval.ts +59 -70
  106. package/src/l1/spire_proposer.ts +7 -15
  107. package/src/l1/validate_historical_logs.ts +140 -0
  108. package/src/l1/validate_trace.ts +24 -6
  109. package/src/modules/contract_data_source_adapter.ts +59 -0
  110. package/src/modules/data_source_base.ts +145 -147
  111. package/src/modules/data_store_updater.ts +187 -141
  112. package/src/modules/instrumentation.ts +71 -19
  113. package/src/modules/l1_synchronizer.ts +419 -219
  114. package/src/modules/validation.ts +10 -9
  115. package/src/store/block_store.ts +589 -179
  116. package/src/store/contract_class_store.ts +39 -107
  117. package/src/store/contract_instance_store.ts +51 -5
  118. package/src/store/data_stores.ts +108 -0
  119. package/src/store/function_names_cache.ts +37 -0
  120. package/src/store/l2_tips_cache.ts +134 -0
  121. package/src/store/log_store.ts +222 -64
  122. package/src/store/message_store.ts +27 -10
  123. package/src/structs/inbox_message.ts +1 -1
  124. package/src/test/fake_l1_state.ts +213 -42
  125. package/src/test/index.ts +3 -1
  126. package/src/test/mock_archiver.ts +3 -2
  127. package/src/test/mock_l1_to_l2_message_source.ts +1 -0
  128. package/src/test/mock_l2_block_source.ts +235 -87
  129. package/src/test/mock_structs.ts +20 -6
  130. package/src/test/noop_l1_archiver.ts +16 -8
  131. package/dest/store/kv_archiver_store.d.ts +0 -340
  132. package/dest/store/kv_archiver_store.d.ts.map +0 -1
  133. package/dest/store/kv_archiver_store.js +0 -447
  134. package/src/store/kv_archiver_store.ts +0 -639
@@ -9,8 +9,8 @@ import {
9
9
  getAttestationInfoFromPayload,
10
10
  } from '@aztec/stdlib/block';
11
11
  import type { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
12
- import { type L1RollupConstants, getEpochAtSlot } from '@aztec/stdlib/epoch-helpers';
13
- import { ConsensusPayload } from '@aztec/stdlib/p2p';
12
+ import { type L1RollupConstants, computeQuorum, getEpochAtSlot } from '@aztec/stdlib/epoch-helpers';
13
+ import { ConsensusPayload, type CoordinationSignatureContext } from '@aztec/stdlib/p2p';
14
14
 
15
15
  export type { ValidateCheckpointResult };
16
16
 
@@ -18,11 +18,11 @@ export type { ValidateCheckpointResult };
18
18
  * Extracts attestation information from a published checkpoint.
19
19
  * Returns info for each attestation, preserving array indices.
20
20
  */
21
- export function getAttestationInfoFromPublishedCheckpoint({
22
- checkpoint,
23
- attestations,
24
- }: PublishedCheckpoint): AttestationInfo[] {
25
- const payload = ConsensusPayload.fromCheckpoint(checkpoint);
21
+ export function getAttestationInfoFromPublishedCheckpoint(
22
+ { checkpoint, attestations }: PublishedCheckpoint,
23
+ signatureContext: CoordinationSignatureContext,
24
+ ): AttestationInfo[] {
25
+ const payload = ConsensusPayload.fromCheckpoint(checkpoint, signatureContext);
26
26
  return getAttestationInfoFromPayload(payload, attestations);
27
27
  }
28
28
 
@@ -34,9 +34,10 @@ export async function validateCheckpointAttestations(
34
34
  publishedCheckpoint: PublishedCheckpoint,
35
35
  epochCache: EpochCache,
36
36
  constants: Pick<L1RollupConstants, 'epochDuration'>,
37
+ signatureContext: CoordinationSignatureContext,
37
38
  logger?: Logger,
38
39
  ): Promise<ValidateCheckpointResult> {
39
- const attestorInfos = getAttestationInfoFromPublishedCheckpoint(publishedCheckpoint);
40
+ const attestorInfos = getAttestationInfoFromPublishedCheckpoint(publishedCheckpoint, signatureContext);
40
41
  const attestors = compactArray(attestorInfos.map(info => ('address' in info ? info.address : undefined)));
41
42
  const { checkpoint, attestations } = publishedCheckpoint;
42
43
  const headerHash = checkpoint.header.hash();
@@ -66,7 +67,7 @@ export async function validateCheckpointAttestations(
66
67
  return { valid: true };
67
68
  }
68
69
 
69
- const requiredAttestationCount = Math.floor((committee.length * 2) / 3) + 1;
70
+ const requiredAttestationCount = computeQuorum(committee.length);
70
71
 
71
72
  const failedValidationResult = <TReason extends ValidateCheckpointNegativeResult['reason']>(reason: TReason) => ({
72
73
  valid: false as const,