@aztec/archiver 0.0.1-commit.7b97ef96e → 0.0.1-commit.7cbc774

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 (128) hide show
  1. package/README.md +19 -11
  2. package/dest/archiver.d.ts +36 -17
  3. package/dest/archiver.d.ts.map +1 -1
  4. package/dest/archiver.js +257 -75
  5. package/dest/config.d.ts +6 -3
  6. package/dest/config.d.ts.map +1 -1
  7. package/dest/config.js +23 -15
  8. package/dest/errors.d.ts +55 -9
  9. package/dest/errors.d.ts.map +1 -1
  10. package/dest/errors.js +81 -14
  11. package/dest/factory.d.ts +13 -9
  12. package/dest/factory.d.ts.map +1 -1
  13. package/dest/factory.js +48 -39
  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 +32 -28
  18. package/dest/l1/calldata_retriever.d.ts +71 -53
  19. package/dest/l1/calldata_retriever.d.ts.map +1 -1
  20. package/dest/l1/calldata_retriever.js +190 -262
  21. package/dest/l1/data_retrieval.d.ts +24 -16
  22. package/dest/l1/data_retrieval.d.ts.map +1 -1
  23. package/dest/l1/data_retrieval.js +39 -45
  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/trace_tx.d.ts +12 -66
  28. package/dest/l1/trace_tx.d.ts.map +1 -1
  29. package/dest/l1/validate_historical_logs.d.ts +23 -0
  30. package/dest/l1/validate_historical_logs.d.ts.map +1 -0
  31. package/dest/l1/validate_historical_logs.js +108 -0
  32. package/dest/modules/contract_data_source_adapter.d.ts +25 -0
  33. package/dest/modules/contract_data_source_adapter.d.ts.map +1 -0
  34. package/dest/modules/contract_data_source_adapter.js +40 -0
  35. package/dest/modules/data_source_base.d.ts +70 -46
  36. package/dest/modules/data_source_base.d.ts.map +1 -1
  37. package/dest/modules/data_source_base.js +270 -135
  38. package/dest/modules/data_store_updater.d.ts +42 -17
  39. package/dest/modules/data_store_updater.d.ts.map +1 -1
  40. package/dest/modules/data_store_updater.js +191 -122
  41. package/dest/modules/instrumentation.d.ts +18 -2
  42. package/dest/modules/instrumentation.d.ts.map +1 -1
  43. package/dest/modules/instrumentation.js +35 -7
  44. package/dest/modules/l1_synchronizer.d.ts +12 -11
  45. package/dest/modules/l1_synchronizer.d.ts.map +1 -1
  46. package/dest/modules/l1_synchronizer.js +439 -207
  47. package/dest/modules/validation.d.ts +4 -3
  48. package/dest/modules/validation.d.ts.map +1 -1
  49. package/dest/modules/validation.js +6 -6
  50. package/dest/store/block_store.d.ts +174 -70
  51. package/dest/store/block_store.d.ts.map +1 -1
  52. package/dest/store/block_store.js +696 -250
  53. package/dest/store/contract_class_store.d.ts +17 -4
  54. package/dest/store/contract_class_store.d.ts.map +1 -1
  55. package/dest/store/contract_class_store.js +24 -68
  56. package/dest/store/contract_instance_store.d.ts +28 -1
  57. package/dest/store/contract_instance_store.d.ts.map +1 -1
  58. package/dest/store/contract_instance_store.js +37 -2
  59. package/dest/store/data_stores.d.ts +68 -0
  60. package/dest/store/data_stores.d.ts.map +1 -0
  61. package/dest/store/data_stores.js +54 -0
  62. package/dest/store/function_names_cache.d.ts +17 -0
  63. package/dest/store/function_names_cache.d.ts.map +1 -0
  64. package/dest/store/function_names_cache.js +30 -0
  65. package/dest/store/l2_tips_cache.d.ts +13 -7
  66. package/dest/store/l2_tips_cache.d.ts.map +1 -1
  67. package/dest/store/l2_tips_cache.js +13 -76
  68. package/dest/store/log_store.d.ts +42 -37
  69. package/dest/store/log_store.d.ts.map +1 -1
  70. package/dest/store/log_store.js +262 -408
  71. package/dest/store/log_store_codec.d.ts +70 -0
  72. package/dest/store/log_store_codec.d.ts.map +1 -0
  73. package/dest/store/log_store_codec.js +101 -0
  74. package/dest/store/message_store.d.ts +11 -1
  75. package/dest/store/message_store.d.ts.map +1 -1
  76. package/dest/store/message_store.js +51 -9
  77. package/dest/test/fake_l1_state.d.ts +22 -1
  78. package/dest/test/fake_l1_state.d.ts.map +1 -1
  79. package/dest/test/fake_l1_state.js +152 -24
  80. package/dest/test/mock_l1_to_l2_message_source.d.ts +1 -1
  81. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  82. package/dest/test/mock_l1_to_l2_message_source.js +2 -1
  83. package/dest/test/mock_l2_block_source.d.ts +52 -46
  84. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  85. package/dest/test/mock_l2_block_source.js +246 -170
  86. package/dest/test/mock_structs.d.ts +4 -1
  87. package/dest/test/mock_structs.d.ts.map +1 -1
  88. package/dest/test/mock_structs.js +13 -1
  89. package/dest/test/noop_l1_archiver.d.ts +12 -6
  90. package/dest/test/noop_l1_archiver.d.ts.map +1 -1
  91. package/dest/test/noop_l1_archiver.js +26 -9
  92. package/package.json +14 -14
  93. package/src/archiver.ts +313 -75
  94. package/src/config.ts +32 -12
  95. package/src/errors.ts +122 -21
  96. package/src/factory.ts +54 -30
  97. package/src/index.ts +18 -2
  98. package/src/l1/README.md +25 -68
  99. package/src/l1/bin/retrieve-calldata.ts +40 -27
  100. package/src/l1/calldata_retriever.ts +243 -384
  101. package/src/l1/data_retrieval.ts +55 -69
  102. package/src/l1/spire_proposer.ts +7 -15
  103. package/src/l1/validate_historical_logs.ts +140 -0
  104. package/src/modules/contract_data_source_adapter.ts +55 -0
  105. package/src/modules/data_source_base.ts +336 -171
  106. package/src/modules/data_store_updater.ts +224 -154
  107. package/src/modules/instrumentation.ts +48 -8
  108. package/src/modules/l1_synchronizer.ts +579 -254
  109. package/src/modules/validation.ts +10 -9
  110. package/src/store/block_store.ts +865 -290
  111. package/src/store/contract_class_store.ts +31 -103
  112. package/src/store/contract_instance_store.ts +51 -5
  113. package/src/store/data_stores.ts +104 -0
  114. package/src/store/function_names_cache.ts +37 -0
  115. package/src/store/l2_tips_cache.ts +16 -70
  116. package/src/store/log_store.ts +301 -559
  117. package/src/store/log_store_codec.ts +132 -0
  118. package/src/store/message_store.ts +60 -10
  119. package/src/structs/inbox_message.ts +1 -1
  120. package/src/test/fake_l1_state.ts +198 -35
  121. package/src/test/mock_l1_to_l2_message_source.ts +1 -0
  122. package/src/test/mock_l2_block_source.ts +309 -205
  123. package/src/test/mock_structs.ts +20 -6
  124. package/src/test/noop_l1_archiver.ts +39 -9
  125. package/dest/store/kv_archiver_store.d.ts +0 -354
  126. package/dest/store/kv_archiver_store.d.ts.map +0 -1
  127. package/dest/store/kv_archiver_store.js +0 -464
  128. package/src/store/kv_archiver_store.ts +0 -671
@@ -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,