@aztec-labs/archiver 6.0.0-rc.1 → 6.0.0-rc.2

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 (42) hide show
  1. package/README.md +7 -1
  2. package/dest/errors.d.ts +20 -1
  3. package/dest/errors.d.ts.map +1 -1
  4. package/dest/errors.js +22 -0
  5. package/dest/l1/bin/retrieve-calldata.js +14 -4
  6. package/dest/l1/calldata_retriever.d.ts +15 -17
  7. package/dest/l1/calldata_retriever.d.ts.map +1 -1
  8. package/dest/l1/calldata_retriever.js +2 -9
  9. package/dest/l1/data_retrieval.d.ts +7 -3
  10. package/dest/l1/data_retrieval.d.ts.map +1 -1
  11. package/dest/l1/data_retrieval.js +14 -9
  12. package/dest/modules/data_store_updater.js +5 -5
  13. package/dest/modules/l1_synchronizer.d.ts +1 -1
  14. package/dest/modules/l1_synchronizer.d.ts.map +1 -1
  15. package/dest/modules/l1_synchronizer.js +228 -191
  16. package/dest/modules/validation.d.ts +14 -8
  17. package/dest/modules/validation.d.ts.map +1 -1
  18. package/dest/modules/validation.js +72 -22
  19. package/dest/store/block_store.d.ts +2 -1
  20. package/dest/store/block_store.d.ts.map +1 -1
  21. package/dest/store/block_store.js +34 -14
  22. package/dest/store/contract_class_store.d.ts +1 -1
  23. package/dest/store/contract_class_store.d.ts.map +1 -1
  24. package/dest/store/contract_class_store.js +4 -2
  25. package/dest/store/contract_instance_store.d.ts +5 -4
  26. package/dest/store/contract_instance_store.d.ts.map +1 -1
  27. package/dest/store/contract_instance_store.js +20 -9
  28. package/dest/test/fake_l1_state.d.ts +3 -1
  29. package/dest/test/fake_l1_state.d.ts.map +1 -1
  30. package/dest/test/fake_l1_state.js +4 -4
  31. package/package.json +13 -13
  32. package/src/errors.ts +32 -0
  33. package/src/l1/bin/retrieve-calldata.ts +15 -4
  34. package/src/l1/calldata_retriever.ts +14 -20
  35. package/src/l1/data_retrieval.ts +22 -14
  36. package/src/modules/data_store_updater.ts +4 -4
  37. package/src/modules/l1_synchronizer.ts +294 -261
  38. package/src/modules/validation.ts +87 -28
  39. package/src/store/block_store.ts +41 -13
  40. package/src/store/contract_class_store.ts +4 -4
  41. package/src/store/contract_instance_store.ts +24 -17
  42. package/src/test/fake_l1_state.ts +9 -3
@@ -1,7 +1,8 @@
1
1
  import { compactArray } from '@aztec-labs/foundation/collection';
2
- import { getAttestationInfoFromPayload } from '@aztec-labs/stdlib/block';
2
+ import { CommitteeAttestation, getAttestationInfoFromPayload } from '@aztec-labs/stdlib/block';
3
3
  import { computeQuorum, getEpochAtSlot } from '@aztec-labs/stdlib/epoch-helpers';
4
4
  import { ConsensusPayload } from '@aztec-labs/stdlib/p2p';
5
+ import { CheckpointAttestationsDecodeError } from '../errors.js';
5
6
  /**
6
7
  * Extracts attestation information from a published checkpoint.
7
8
  * Returns info for each attestation, preserving array indices.
@@ -10,11 +11,40 @@ import { ConsensusPayload } from '@aztec-labs/stdlib/p2p';
10
11
  return getAttestationInfoFromPayload(payload, attestations);
11
12
  }
12
13
  /**
13
- * Validates the attestations of a checkpoint from L1 calldata only, without fetching or decoding its blobs.
14
- * The signed consensus payload (header, archive root, fee asset price modifier) is fully available from
15
- * calldata, so an invalid-attestation checkpoint can be rejected before any (possibly malformed) blob is
16
- * fetched and decoded.
17
- */ export function validateCheckpointAttestationsFromCalldata(checkpoint, epochCache, constants, signatureContext, logger) {
14
+ * Decodes and validates the attestations of a checkpoint from L1 calldata only, so an invalid checkpoint can be
15
+ * rejected before its blobs are fetched. The tuple is decoded against the epoch's committee size, and not at all
16
+ * during an escape hatch, where the proposer may post an arbitrary tuple.
17
+ *
18
+ * @throws CheckpointAttestationsDecodeError if the tuple does not decode for the epoch committee.
19
+ */ export async function resolveCheckpointAttestationsFromCalldata(checkpoint, epochCache, constants, signatureContext, logger) {
20
+ const slot = checkpoint.header.slotNumber;
21
+ const epoch = getEpochAtSlot(slot, constants);
22
+ // Read the hatch flag from the same cache entry as the committee, so both come from one snapshot.
23
+ const { committee, seed, isEscapeHatchOpen } = await epochCache.getCommitteeForEpoch(epoch);
24
+ if (isEscapeHatchOpen) {
25
+ logger?.warn(`Escape hatch open for epoch ${epoch} at slot ${slot}, skipping attestations of checkpoint ${checkpoint.checkpointNumber}`);
26
+ return {
27
+ attestations: [],
28
+ validationResult: {
29
+ valid: true
30
+ }
31
+ };
32
+ }
33
+ if (!committee || committee.length === 0) {
34
+ logger?.warn(`No committee found for epoch ${epoch} at slot ${slot}. Accepting checkpoint ${checkpoint.checkpointNumber} without validation.`);
35
+ return {
36
+ attestations: [],
37
+ validationResult: {
38
+ valid: true
39
+ }
40
+ };
41
+ }
42
+ let attestations;
43
+ try {
44
+ attestations = CommitteeAttestation.fromPacked(checkpoint.verbatimAttestations, committee.length);
45
+ } catch (err) {
46
+ throw new CheckpointAttestationsDecodeError(checkpoint.checkpointNumber, epoch, committee.length, err);
47
+ }
18
48
  const payload = new ConsensusPayload(checkpoint.header, checkpoint.archiveRoot, checkpoint.feeAssetPriceModifier, signatureContext);
19
49
  const checkpointInfo = {
20
50
  archive: checkpoint.archiveRoot,
@@ -23,21 +53,53 @@ import { ConsensusPayload } from '@aztec-labs/stdlib/p2p';
23
53
  checkpointNumber: checkpoint.checkpointNumber,
24
54
  timestamp: checkpoint.header.timestamp
25
55
  };
26
- return validateAttestations(payload, checkpoint.attestations, checkpoint.verbatimAttestations, checkpointInfo, epochCache, constants, logger);
56
+ const validationResult = validateAttestationsAgainstCommittee(payload, attestations, checkpoint.verbatimAttestations, checkpointInfo, {
57
+ committee,
58
+ seed,
59
+ epoch
60
+ }, logger);
61
+ return {
62
+ attestations,
63
+ validationResult
64
+ };
27
65
  }
28
66
  /**
29
67
  * Core attestation validation over a consensus payload, its attestations, and checkpoint metadata --
30
68
  * independent of whether the checkpoint's blocks have been decoded from blobs. Returns true if the
31
69
  * attestations are valid and sufficient, false otherwise.
32
70
  */ export async function validateAttestations(payload, attestations, verbatimAttestations, checkpointInfo, epochCache, constants, logger) {
71
+ const slot = payload.header.slotNumber;
72
+ const epoch = getEpochAtSlot(slot, constants);
73
+ const { committee, seed, isEscapeHatchOpen } = await epochCache.getCommitteeForEpoch(epoch);
74
+ if (isEscapeHatchOpen) {
75
+ logger?.warn(`Escape hatch open for epoch ${epoch} at slot ${slot}, skipping checkpoint validation`);
76
+ return {
77
+ valid: true
78
+ };
79
+ }
80
+ if (!committee || committee.length === 0) {
81
+ logger?.warn(`No committee found for epoch ${epoch} at slot ${slot}. Accepting checkpoint without validation.`, {
82
+ checkpointNumber: checkpointInfo.checkpointNumber,
83
+ slot,
84
+ epoch
85
+ });
86
+ return {
87
+ valid: true
88
+ };
89
+ }
90
+ return validateAttestationsAgainstCommittee(payload, attestations, verbatimAttestations, checkpointInfo, {
91
+ committee,
92
+ seed,
93
+ epoch
94
+ }, logger);
95
+ }
96
+ /** Validates decoded attestations against a known, non-empty epoch committee. */ function validateAttestationsAgainstCommittee(payload, attestations, verbatimAttestations, checkpointInfo, { committee, seed, epoch }, logger) {
33
97
  const attestorInfos = getAttestationInfoFromPayload(payload, attestations);
34
98
  const attestors = compactArray(attestorInfos.map((info)=>'address' in info ? info.address : undefined));
35
99
  const headerHash = payload.header.hash();
36
100
  const archiveRoot = payload.archive.toString();
37
101
  const slot = payload.header.slotNumber;
38
102
  const checkpointNumber = checkpointInfo.checkpointNumber;
39
- const epoch = getEpochAtSlot(slot, constants);
40
- const { committee, seed } = await epochCache.getCommitteeForEpoch(epoch);
41
103
  const logData = {
42
104
  checkpointNumber,
43
105
  slot,
@@ -46,23 +108,11 @@ import { ConsensusPayload } from '@aztec-labs/stdlib/p2p';
46
108
  archiveRoot
47
109
  };
48
110
  logger?.debug(`Validating attestations for checkpoint ${checkpointNumber} at slot ${slot} in epoch ${epoch}`, {
49
- committee: (committee ?? []).map((member)=>member.toString()),
111
+ committee: committee.map((member)=>member.toString()),
50
112
  recoveredAttestors: attestorInfos,
51
113
  postedAttestations: attestations.map((a)=>(a.address.isZero() ? a.signature : a.address).toString()),
52
114
  ...logData
53
115
  });
54
- if (!committee || committee.length === 0) {
55
- logger?.warn(`No committee found for epoch ${epoch} at slot ${slot}. Accepting checkpoint without validation.`, logData);
56
- return {
57
- valid: true
58
- };
59
- }
60
- if (await epochCache.isEscapeHatchOpen(epoch)) {
61
- logger?.warn(`Escape hatch open for epoch ${epoch} at slot ${slot}, skipping checkpoint validation`);
62
- return {
63
- valid: true
64
- };
65
- }
66
116
  const requiredAttestationCount = computeQuorum(committee.length);
67
117
  const failedValidationResult = (reason)=>({
68
118
  valid: false,
@@ -110,6 +110,7 @@ export declare class BlockStore {
110
110
  */
111
111
  private validateCheckpointBlocks;
112
112
  private addBlockToDatabase;
113
+ private assertTxsNotInAncestors;
113
114
  private deleteBlock;
114
115
  private deleteTxEffect;
115
116
  /**
@@ -328,4 +329,4 @@ export declare class BlockStore {
328
329
  private advanceSynchedL1BlockNumber;
329
330
  private rejectedCheckpointFromStorage;
330
331
  }
331
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9ibG9ja19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQXlCLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU16RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsS0FBSyxTQUFTLEVBQ2QsU0FBUyxFQUVULG9CQUFvQixFQUVwQixPQUFPLEVBQ1AsS0FBSyxVQUFVLEVBRWYsS0FBSyx3QkFBd0IsRUFHOUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBRUwsS0FBSyxjQUFjLEVBQ25CLEtBQUssb0JBQW9CLEVBQ3pCLGVBQWUsRUFDZixLQUFLLHNCQUFzQixFQUMzQixLQUFLLHVCQUF1QixFQUM1QixtQkFBbUIsRUFDcEIsTUFBTSwrQkFBK0IsQ0FBQztBQUd2QyxPQUFPLEVBRUwsS0FBSyxlQUFlLEVBRXBCLE1BQU0sRUFHUCxNQUFNLHVCQUF1QixDQUFDO0FBb0IvQixZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSwyRUFBMkU7QUFDM0UsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2QixXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsY0FBYyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBWUYsb0RBQW9EO0FBQ3BELE1BQU0sTUFBTSx3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
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9ibG9ja19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQXlCLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hILE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU16RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBNkMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsS0FBSyxTQUFTLEVBQ2QsU0FBUyxFQUVULG9CQUFvQixFQUVwQixPQUFPLEVBQ1AsS0FBSyxVQUFVLEVBRWYsS0FBSyx3QkFBd0IsRUFHOUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBRUwsS0FBSyxjQUFjLEVBQ25CLEtBQUssb0JBQW9CLEVBQ3pCLGVBQWUsRUFDZixLQUFLLHNCQUFzQixFQUMzQixLQUFLLHVCQUF1QixFQUM1QixtQkFBbUIsRUFDcEIsTUFBTSwrQkFBK0IsQ0FBQztBQUd2QyxPQUFPLEVBRUwsS0FBSyxlQUFlLEVBRXBCLE1BQU0sRUFHUCxNQUFNLHVCQUF1QixDQUFDO0FBcUIvQixZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSwyRUFBMkU7QUFDM0UsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2QixXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsY0FBYyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBWUYsb0RBQW9EO0FBQ3BELE1BQU0sTUFBTSx3QkFBd0IsR0FBRyxzQkFBc0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUVyRzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQy9CLCtDQUErQztJQUMvQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQywwR0FBMEc7SUFDMUcsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoQixrRkFBa0Y7SUFDbEYsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO0lBQ3RCLDhDQUE4QztJQUM5QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZCLHVGQUF1RjtJQUN2RixFQUFFLEVBQUUsZUFBZSxDQUFDO0lBQ3BCLGtDQUFrQztJQUNsQyxNQUFNLEVBQUUsd0JBQXdCLENBQUM7Q0FDbEMsQ0FBQztBQTRDRixNQUFNLE1BQU0sdUJBQXVCLEdBQUc7SUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFBO0NBQUUsQ0FBQztBQUUvRTs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLHNCQUFzQixHQUFHLE9BQU8sR0FBRyxzQkFBc0IsQ0FBQztBQUV0RTs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQTtDQUFFLEdBQUc7SUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFBO0NBQUUsR0FBRztJQUFFLE9BQU8sRUFBRSxFQUFFLENBQUE7Q0FBRSxDQUFDO0FBRWpHOzs7R0FHRztBQUNILE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUFFLElBQUksRUFBRSxXQUFXLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQUMsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUE7Q0FBRSxDQUFDO0FBRW5HOztHQUVHO0FBQ0gscUJBQWEsVUFBVTs7SUFtRFQsT0FBTyxDQUFDLEVBQUU7SUFBdEIsWUFBb0IsRUFBRSxFQUFFLGlCQUFpQixFQWlCeEM7SUFFRDs7OztPQUlHO0lBQ0cseUJBQXlCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQVV0RDtJQUVEOzs7Ozs7T0FNRztJQUNHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFFO1FBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQU8sR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FzRXRHO0lBRUQ7Ozs7Ozs7T0FPRztJQUNHLGNBQWMsQ0FDbEIsV0FBVyxFQUFFLG1CQUFtQixFQUFFLEVBQ2xDLElBQUksR0FBRTtRQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFPLEdBQzdCLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBc0ZoQztZQU1hLG9DQUFvQztZQWlEcEMsMEJBQTBCO0lBdUJ4Qzs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLHdCQUF3QjtZQWlDbEIsa0JBQWtCO1lBZ0RsQix1QkFBdUI7WUFldkIsV0FBVztZQWdDWCxjQUFjO0lBd0I1Qjs7OztPQUlHO0lBQ0csc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBK0NqRztJQUVLLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDLENBTS9GO0lBRUsscUJBQXFCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBVTVGO0lBRUQ7Ozs7O09BS0c7SUFDRyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FZM0c7SUFFRCx1R0FBdUc7SUFDakcsNkJBQTZCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQVl6RztJQUVEOzs7O09BSUc7SUFDRyxnQ0FBZ0MsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FTOUc7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLHFCQUFxQjtJQW1CN0IsT0FBTyxDQUFDLG1DQUFtQztJQW9CckMsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQWUvRjtJQUVEOzs7OztPQUtHO0lBQ0csZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FpQmpFO0lBRUQ7Ozs7O09BS0c7SUFDRyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQStCcEU7SUFFSyxvQkFBb0IsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBV2pEO0lBRUsseUJBQXlCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBTTNEO0lBRUsscUJBQXFCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUc5QztJQUVELDZEQUE2RDtJQUN2RCx5QkFBeUIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBSS9DO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0csNkJBQTZCLENBQ2pDLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxFQUFFLEVBQUUsZUFBZSxFQUNuQixZQUFZLEVBQUUsb0JBQW9CLEVBQUUsRUFDcEMsb0JBQW9CLEVBQUUseUJBQXlCLEVBQy9DLG1CQUFtQixFQUFFLEVBQUUsR0FDdEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQTBDZjtJQUVEOzs7T0FHRztJQUNHLHlCQUF5QixJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUMsQ0FPN0U7SUFFRCxrR0FBa0c7SUFDNUYsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUMsQ0FHcEc7SUFFRDs7OztPQUlHO0lBQ0csMkJBQTJCLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxDQUFDLENBUS9GO0lBRUQ7Ozs7T0FJRztJQUNHLDRCQUE0QixDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBVTlFO0lBRUQ7Ozs7T0FJRztJQUNHLGlCQUFpQixJQUFJLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUMsQ0FNbkU7SUFFRCxPQUFPLENBQUMsK0JBQStCO0lBY3ZDOzs7T0FHRztJQUNHLDJCQUEyQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQU03RDtJQUVEOzs7T0FHRztJQUNHLGtDQUFrQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FNL0Q7SUFFRCw4RkFBOEY7SUFDeEYseUJBQXlCLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBR3ZGO0lBRUQsZ0VBQWdFO0lBQzFELFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FVdEU7SUFFRCwyREFBMkQ7SUFDM0QsU0FBUyxDQUFDLEtBQUssRUFBRSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FFeEQ7SUFFRCxvRUFBb0U7SUFDOUQsWUFBWSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQVU1RTtJQUVELHdFQUF3RTtJQUN4RSxhQUFhLENBQUMsS0FBSyxFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUU5RDtZQUdjLGFBQWE7WUFjYixpQkFBaUI7WUFVakIsZ0JBQWdCO0lBYS9CLCtGQUErRjtJQUN6RixjQUFjLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBZWhGO0lBRUQsT0FBTyxDQUFDLDRCQUE0QjtZQVV0Qix3QkFBd0I7SUFzQ3RDOzs7O09BSUc7SUFDRyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQU10RTtJQUVEOzs7O09BSUc7SUFDRyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FXdkU7SUFFRCwrRUFBK0U7SUFDekUseUJBQXlCLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBT3JHO0lBRUQ7Ozs7T0FJRztJQUNVLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBRzFFO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksMEJBQTBCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQWdCN0U7SUFFRDs7OztPQUlHO0lBQ0gsbUJBQW1CLENBQUMsZUFBZSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FFNUc7SUFFRDs7O09BR0c7SUFDRyw0QkFBNEIsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLENBT3pEO0lBRUssc0JBQXNCLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUduRDtJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQkc7SUFDRyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBMkp6RjtJQUVEOzs7T0FHRztJQUNILHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRXJEO0lBRUQsdUJBQXVCLENBQUMsYUFBYSxFQUFFLE1BQU0sb0JBRTVDO0lBRUQ7Ozs7O09BS0c7SUFDRyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLGlCQTJDNUQ7SUFFSyx5QkFBeUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FVM0Q7SUFFSyx5QkFBeUIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0Isb0JBR2pFO0lBRUssNEJBQTRCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBVTlEO0lBRUQsNEJBQTRCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLG9CQUU5RDtJQWNEOzs7T0FHRztJQUNHLCtCQUErQixJQUFJLE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUMsQ0FNckY7SUFFRDs7O09BR0c7SUFDRywrQkFBK0IsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPakc7SUFFRCwwRUFBMEU7SUFDcEUscUJBQXFCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FXcEU7SUFFRCxzR0FBc0c7SUFDaEcsa0NBQWtDLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLENBR2pHO0lBRUQseUdBQXlHO0lBQ25HLHFDQUFxQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUUxRTtZQVFhLDJCQUEyQjtJQU96QyxPQUFPLENBQUMsNkJBQTZCO0NBVXRDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../src/store/block_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../src/store/block_store.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { Checkpoint, L1PublishedData } from '@aztec-labs/stdlib/checkpoint';
11
11
  import { CheckpointHeader } from '@aztec-labs/stdlib/rollup';
12
12
  import { AppendOnlyTreeSnapshot } from '@aztec-labs/stdlib/trees';
13
13
  import { BlockHeader, TxHash, deserializeIndexedTxEffect, serializeIndexedTxEffect } from '@aztec-labs/stdlib/tx';
14
- import { BlockArchiveNotConsistentError, BlockCheckpointNumberNotSequentialError, BlockIndexNotSequentialError, BlockNotFoundError, BlockNumberNotSequentialError, CannotOverwriteCheckpointedBlockError, CheckpointNotFoundError, CheckpointNumberNotSequentialError, InitialCheckpointNumberNotSequentialError, NoProposedCheckpointToPromoteError, ProposedCheckpointArchiveRootMismatchError, ProposedCheckpointNotSequentialError, ProposedCheckpointPromotionNotSequentialError, UndecodableCheckpointAttestationsError } from '../errors.js';
14
+ import { BlockArchiveNotConsistentError, BlockCheckpointNumberNotSequentialError, BlockIndexNotSequentialError, BlockNotFoundError, BlockNumberNotSequentialError, CannotOverwriteCheckpointedBlockError, CheckpointNotFoundError, CheckpointNumberNotSequentialError, DuplicateTxHashError, InitialCheckpointNumberNotSequentialError, NoProposedCheckpointToPromoteError, ProposedCheckpointArchiveRootMismatchError, ProposedCheckpointNotSequentialError, ProposedCheckpointPromotionNotSequentialError, UndecodableCheckpointAttestationsError } from '../errors.js';
15
15
  import { prepareBlockTxEffectsTreeData } from './tx_effect_tree_data.js';
16
16
  /**
17
17
  * LMDB-based block storage for the archiver.
@@ -311,6 +311,7 @@ import { prepareBlockTxEffectsTreeData } from './tx_effect_tree_data.js';
311
311
  checkpointNumber,
312
312
  indexWithinCheckpoint
313
313
  });
314
+ await this.assertTxsNotInAncestors(block.body.txEffects.map((tx)=>tx.txHash), block.number);
314
315
  for(let i = 0; i < block.body.txEffects.length; i++){
315
316
  const txEffect = {
316
317
  data: block.body.txEffects[i],
@@ -326,6 +327,26 @@ import { prepareBlockTxEffectsTreeData } from './tx_effect_tree_data.js';
326
327
  await this.#blockHashIndex.set(blockHash.toString(), block.number);
327
328
  await this.#blockArchiveIndex.set(block.archive.root.toString(), block.number);
328
329
  }
330
+ /**
331
+ * Throws if any of the txs is already owned by a stored block below `blockNumber`. Stored blocks below the one being
332
+ * inserted are its ancestors (archive chaining is enforced on insert), so the tx would be included twice and the new
333
+ * block would take over the ancestor's tx effect entry. An owner at the same or a higher height is a block being
334
+ * replaced (a losing local proposal, a re-presented checkpoint), so its entry is overwritten. This relies on replaced
335
+ * blocks at lower heights having been removed via deleteBlock first (as the updater does before inserting
336
+ * checkpoints), which also deletes their tx effect entries.
337
+ */ async assertTxsNotInAncestors(txHashes, blockNumber) {
338
+ const existing = await this.#txEffects.getManyAsync(txHashes.map((txHash)=>txHash.toString()));
339
+ for(let i = 0; i < txHashes.length; i++){
340
+ const stored = existing[i];
341
+ if (stored === undefined) {
342
+ continue;
343
+ }
344
+ const owner = readTxLocation(stored).blockNumber;
345
+ if (owner < blockNumber) {
346
+ throw new DuplicateTxHashError(txHashes[i], blockNumber, owner);
347
+ }
348
+ }
349
+ }
329
350
  /** Deletes a block and all associated data (tx effects, indices). */ async deleteBlock(blockNumber, blockStorage) {
330
351
  // Delete the block from the main blocks map
331
352
  await this.#blocks.delete(blockNumber);
@@ -925,19 +946,7 @@ import { prepareBlockTxEffectsTreeData } from './tx_effect_tree_data.js';
925
946
  * @returns The owning block hash, block number, and index of the tx.
926
947
  */ async getTxLocation(txHash) {
927
948
  const txEffect = await this.#txEffects.getAsync(txHash.toString());
928
- if (!txEffect) {
929
- return undefined;
930
- }
931
- // Read only the IndexedTxEffect header (`blockHash(32) + l2BlockNumber(4) + txIndexInBlock(4)`); the
932
- // large tail (the full TxEffect with logs etc.) is irrelevant here.
933
- const view = Buffer.from(txEffect.buffer, txEffect.byteOffset, txEffect.byteLength);
934
- const l2BlockNumber = view.readUInt32BE(32);
935
- const txIndexInBlock = view.readUInt32BE(36);
936
- return {
937
- blockNumber: BlockNumber(l2BlockNumber),
938
- blockHash: BlockHash.fromBuffer(view.subarray(0, 32)),
939
- txIndexInBlock
940
- };
949
+ return txEffect ? readTxLocation(txEffect) : undefined;
941
950
  }
942
951
  /**
943
952
  * Batched, partial deserializer that fetches `noteHashes` and `nullifiers` (all of them) for the given
@@ -1314,3 +1323,14 @@ import { prepareBlockTxEffectsTreeData } from './tx_effect_tree_data.js';
1314
1323
  };
1315
1324
  }
1316
1325
  }
1326
+ /**
1327
+ * Reads only the header of a serialized IndexedTxEffect (`blockHash(32) + l2BlockNumber(4) + txIndexInBlock(4)`),
1328
+ * skipping the large tail (the full TxEffect with logs etc.).
1329
+ */ function readTxLocation(txEffect) {
1330
+ const view = Buffer.from(txEffect.buffer, txEffect.byteOffset, txEffect.byteLength);
1331
+ return {
1332
+ blockNumber: BlockNumber(view.readUInt32BE(32)),
1333
+ blockHash: BlockHash.fromBuffer(view.subarray(0, 32)),
1334
+ txIndexInBlock: view.readUInt32BE(36)
1335
+ };
1336
+ }
@@ -28,4 +28,4 @@ export declare class ContractClassStore {
28
28
  getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
29
29
  getContractClassIds(): Promise<Fr[]>;
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9jb250cmFjdF9jbGFzc19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHekQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQ1YsbUJBQW1CLEVBRW5CLGlDQUFpQyxFQUNsQyxNQUFNLDZCQUE2QixDQUFDO0FBRXJDOztHQUVHO0FBQ0gscUJBQWEsa0JBQWtCOztJQUlqQixPQUFPLENBQUMsRUFBRTtJQUF0QixZQUFvQixFQUFFLEVBQUUsaUJBQWlCLEVBR3hDO0lBRUQ7Ozs7O09BS0c7SUFDRyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FJekc7SUFFRDs7Ozs7T0FLRztJQUNHLHFCQUFxQixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUU5RjtJQUVLLGdCQUFnQixDQUNwQixhQUFhLEVBQUUsbUJBQW1CLEVBQ2xDLGtCQUFrQixFQUFFLEVBQUUsRUFDdEIsV0FBVyxFQUFFLE1BQU0sR0FDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXdCZjtJQUVLLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FhaEc7SUFFSyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FHdkU7SUFFSyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBRzNEO0lBRUssbUJBQW1CLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRXpDO0NBQ0YifQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9jb250cmFjdF9jbGFzc19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHekQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQ1YsbUJBQW1CLEVBRW5CLGlDQUFpQyxFQUNsQyxNQUFNLDZCQUE2QixDQUFDO0FBRXJDOztHQUVHO0FBQ0gscUJBQWEsa0JBQWtCOztJQUlqQixPQUFPLENBQUMsRUFBRTtJQUF0QixZQUFvQixFQUFFLEVBQUUsaUJBQWlCLEVBR3hDO0lBRUQ7Ozs7O09BS0c7SUFDRyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FHekc7SUFFRDs7Ozs7T0FLRztJQUNHLHFCQUFxQixDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUc5RjtJQUVLLGdCQUFnQixDQUNwQixhQUFhLEVBQUUsbUJBQW1CLEVBQ2xDLGtCQUFrQixFQUFFLEVBQUUsRUFDdEIsV0FBVyxFQUFFLE1BQU0sR0FDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXdCZjtJQUVLLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FhaEc7SUFFSyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FHdkU7SUFFSyxxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBRzNEO0lBRUssbUJBQW1CLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRXpDO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../src/store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAGzD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EACV,mBAAmB,EAEnB,iCAAiC,EAClC,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,qBAAa,kBAAkB;;IAIjB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAGxC;IAED;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,iCAAiC,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIzG;IAED;;;;;OAKG;IACG,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9F;IAEK,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAwBf;IAEK,mBAAmB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAahG;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAGvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEzC;CACF"}
1
+ {"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../src/store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAGzD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EACV,mBAAmB,EAEnB,iCAAiC,EAClC,MAAM,6BAA6B,CAAC;AAErC;;GAEG;AACH,qBAAa,kBAAkB;;IAIjB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAGxC;IAED;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,iCAAiC,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGzG;IAED;;;;;OAKG;IACG,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9F;IAEK,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAwBf;IAEK,mBAAmB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAahG;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAGvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEzC;CACF"}
@@ -19,7 +19,8 @@ import { isProtocolContractClass } from '@aztec-labs/protocol-contracts';
19
19
  * @param blockNumber - L2 block number where the classes were registered.
20
20
  * @returns True if every insert succeeded.
21
21
  */ async addContractClasses(data, blockNumber) {
22
- return (await Promise.all(data.map((c)=>this.addContractClass(c, c.publicBytecodeCommitment, blockNumber)))).every(Boolean);
22
+ await Promise.all(data.map((c)=>this.addContractClass(c, c.publicBytecodeCommitment, blockNumber)));
23
+ return true;
23
24
  }
24
25
  /**
25
26
  * Removes multiple contract classes from the store, but only if they were registered at or after the given block.
@@ -27,7 +28,8 @@ import { isProtocolContractClass } from '@aztec-labs/protocol-contracts';
27
28
  * @param blockNumber - Lower bound on the block number at which the classes were registered.
28
29
  * @returns True if every delete succeeded.
29
30
  */ async deleteContractClasses(data, blockNumber) {
30
- return (await Promise.all(data.map((c)=>this.deleteContractClass(c, blockNumber)))).every(Boolean);
31
+ await Promise.all(data.map((c)=>this.deleteContractClass(c, blockNumber)));
32
+ return true;
31
33
  }
32
34
  async addContractClass(contractClass, bytecodeCommitment, blockNumber) {
33
35
  await this.db.transactionAsync(async ()=>{
@@ -19,11 +19,12 @@ export declare class ContractInstanceStore {
19
19
  */
20
20
  addContractInstances(data: ContractInstanceWithAddress[], blockNumber: number): Promise<boolean>;
21
21
  /**
22
- * Removes multiple contract instances from the store.
22
+ * Removes multiple contract instances from the store, but only those that were published at the given block.
23
23
  * @param data - Contract instances to delete.
24
+ * @param blockNumber - L2 block being unwound, which must be the one that published each deleted instance.
24
25
  * @returns True if every delete succeeded.
25
26
  */
26
- deleteContractInstances(data: ContractInstanceWithAddress[]): Promise<boolean>;
27
+ deleteContractInstances(data: ContractInstanceWithAddress[], blockNumber: number): Promise<boolean>;
27
28
  /**
28
29
  * Adds multiple contract instance updates to the store.
29
30
  * @param data - Contract instance updates to add.
@@ -41,7 +42,7 @@ export declare class ContractInstanceStore {
41
42
  */
42
43
  deleteContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64, blockNumber: BlockNumber): Promise<boolean>;
43
44
  addContractInstance(contractInstance: ContractInstanceWithAddress, blockNumber: number): Promise<void>;
44
- deleteContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
45
+ deleteContractInstance(contractInstance: ContractInstanceWithAddress, blockNumber: number): Promise<void>;
45
46
  private getUpdateRangeKey;
46
47
  private getUpdateKey;
47
48
  addContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress, timestamp: UInt64, blockNumber: BlockNumber, logIndex: number): Promise<void>;
@@ -50,4 +51,4 @@ export declare class ContractInstanceStore {
50
51
  getContractInstance(address: AztecAddress, timestamp: UInt64): Promise<ContractInstanceWithAddress | undefined>;
51
52
  getContractInstanceDeploymentBlockNumber(address: AztecAddress): Promise<number | undefined>;
52
53
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9jb250cmFjdF9pbnN0YW5jZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywyQkFBMkIsRUFHakMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWN2RDs7R0FFRztBQUNILHFCQUFhLHFCQUFxQjs7SUFLcEIsT0FBTyxDQUFDLEVBQUU7SUFBdEIsWUFBb0IsRUFBRSxFQUFFLGlCQUFpQixFQUl4QztJQUVEOzs7OztPQUtHO0lBQ0csb0JBQW9CLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBRXJHO0lBRUQ7Ozs7T0FJRztJQUNHLHVCQUF1QixDQUFDLElBQUksRUFBRSwyQkFBMkIsRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFbkY7SUFFRDs7Ozs7O09BTUc7SUFDRywwQkFBMEIsQ0FDOUIsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLEVBQ3pDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FNbEI7SUFFRDs7Ozs7O09BTUc7SUFDRyw2QkFBNkIsQ0FDakMsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLEVBQ3pDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FNbEI7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FzQnJHO0lBRUQsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVVuRjtJQUVELE9BQU8sQ0FBQyxpQkFBaUI7SUFJekIsT0FBTyxDQUFDLFlBQVk7SUFTcEIseUJBQXlCLENBQ3ZCLHNCQUFzQixFQUFFLGlDQUFpQyxFQUN6RCxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsV0FBVyxFQUN4QixRQUFRLEVBQUUsTUFBTSxHQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLZjtJQUVELDRCQUE0QixDQUMxQixzQkFBc0IsRUFBRSxpQ0FBaUMsRUFDekQsU0FBUyxFQUFFLE1BQU0sRUFDakIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsUUFBUSxFQUFFLE1BQU0sR0FDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBSWY7SUFFSyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBbUJsSDtJQUVLLG1CQUFtQixDQUN2QixPQUFPLEVBQUUsWUFBWSxFQUNyQixTQUFTLEVBQUUsTUFBTSxHQUNoQixPQUFPLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDLENBYWxEO0lBRUQsd0NBQXdDLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUUzRjtDQUNGIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9jb250cmFjdF9pbnN0YW5jZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywyQkFBMkIsRUFHakMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQWN2RDs7R0FFRztBQUNILHFCQUFhLHFCQUFxQjs7SUFLcEIsT0FBTyxDQUFDLEVBQUU7SUFBdEIsWUFBb0IsRUFBRSxFQUFFLGlCQUFpQixFQUl4QztJQUVEOzs7OztPQUtHO0lBQ0csb0JBQW9CLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBR3JHO0lBRUQ7Ozs7O09BS0c7SUFDRyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FHeEc7SUFFRDs7Ozs7O09BTUc7SUFDRywwQkFBMEIsQ0FDOUIsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLEVBQ3pDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FLbEI7SUFFRDs7Ozs7O09BTUc7SUFDRyw2QkFBNkIsQ0FDakMsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLEVBQ3pDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFdBQVcsRUFBRSxXQUFXLEdBQ3ZCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FLbEI7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FzQnJHO0lBRUQsc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZ0J4RztJQUVELE9BQU8sQ0FBQyxpQkFBaUI7SUFJekIsT0FBTyxDQUFDLFlBQVk7SUFTcEIseUJBQXlCLENBQ3ZCLHNCQUFzQixFQUFFLGlDQUFpQyxFQUN6RCxTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsV0FBVyxFQUN4QixRQUFRLEVBQUUsTUFBTSxHQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLZjtJQUVELDRCQUE0QixDQUMxQixzQkFBc0IsRUFBRSxpQ0FBaUMsRUFDekQsU0FBUyxFQUFFLE1BQU0sRUFDakIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsUUFBUSxFQUFFLE1BQU0sR0FDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBSWY7SUFFSyxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBbUJsSDtJQUVLLG1CQUFtQixDQUN2QixPQUFPLEVBQUUsWUFBWSxFQUNyQixTQUFTLEVBQUUsTUFBTSxHQUNoQixPQUFPLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDLENBYWxEO0lBRUQsd0NBQXdDLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUUzRjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../src/store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAGjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAcvD;;GAEG;AACH,qBAAa,qBAAqB;;IAKpB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAIxC;IAED;;;;;OAKG;IACG,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAErG;IAED;;;;OAIG;IACG,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAEnF;IAED;;;;;;OAMG;IACG,0BAA0B,CAC9B,IAAI,EAAE,iCAAiC,EAAE,EACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,OAAO,CAAC,CAMlB;IAED;;;;;;OAMG;IACG,6BAA6B,CACjC,IAAI,EAAE,iCAAiC,EAAE,EACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,OAAO,CAAC,CAMlB;IAED,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrG;IAED,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;IAED,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IASpB,yBAAyB,CACvB,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;IAED,4BAA4B,CAC1B,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;IAEK,iCAAiC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAmBlH;IAEK,mBAAmB,CACvB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAalD;IAED,wCAAwC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3F;CACF"}
1
+ {"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../src/store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qCAAqC,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAGjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAcvD;;GAEG;AACH,qBAAa,qBAAqB;;IAKpB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAIxC;IAED;;;;;OAKG;IACG,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrG;IAED;;;;;OAKG;IACG,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGxG;IAED;;;;;;OAMG;IACG,0BAA0B,CAC9B,IAAI,EAAE,iCAAiC,EAAE,EACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,OAAO,CAAC,CAKlB;IAED;;;;;;OAMG;IACG,6BAA6B,CACjC,IAAI,EAAE,iCAAiC,EAAE,EACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,OAAO,CAAC,CAKlB;IAED,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrG;IAED,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBxG;IAED,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IASpB,yBAAyB,CACvB,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;IAED,4BAA4B,CAC1B,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;IAEK,iCAAiC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAmBlH;IAEK,mBAAmB,CACvB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAalD;IAED,wCAAwC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3F;CACF"}
@@ -27,14 +27,17 @@ import { SerializableContractInstance, SerializableContractInstanceUpdate } from
27
27
  * @param blockNumber - L2 block number where the instances were deployed.
28
28
  * @returns True if every insert succeeded.
29
29
  */ async addContractInstances(data, blockNumber) {
30
- return (await Promise.all(data.map((c)=>this.addContractInstance(c, blockNumber)))).every(Boolean);
30
+ await Promise.all(data.map((c)=>this.addContractInstance(c, blockNumber)));
31
+ return true;
31
32
  }
32
33
  /**
33
- * Removes multiple contract instances from the store.
34
+ * Removes multiple contract instances from the store, but only those that were published at the given block.
34
35
  * @param data - Contract instances to delete.
36
+ * @param blockNumber - L2 block being unwound, which must be the one that published each deleted instance.
35
37
  * @returns True if every delete succeeded.
36
- */ async deleteContractInstances(data) {
37
- return (await Promise.all(data.map((c)=>this.deleteContractInstance(c)))).every(Boolean);
38
+ */ async deleteContractInstances(data, blockNumber) {
39
+ await Promise.all(data.map((c)=>this.deleteContractInstance(c, blockNumber)));
40
+ return true;
38
41
  }
39
42
  /**
40
43
  * Adds multiple contract instance updates to the store.
@@ -43,7 +46,8 @@ import { SerializableContractInstance, SerializableContractInstanceUpdate } from
43
46
  * @param blockNumber - L2 block that carried the updates.
44
47
  * @returns True if every insert succeeded.
45
48
  */ async addContractInstanceUpdates(data, timestamp, blockNumber) {
46
- return (await Promise.all(data.map((update, logIndex)=>this.addContractInstanceUpdate(update, timestamp, blockNumber, logIndex)))).every(Boolean);
49
+ await Promise.all(data.map((update, logIndex)=>this.addContractInstanceUpdate(update, timestamp, blockNumber, logIndex)));
50
+ return true;
47
51
  }
48
52
  /**
49
53
  * Removes multiple contract instance updates from the store.
@@ -52,7 +56,8 @@ import { SerializableContractInstance, SerializableContractInstanceUpdate } from
52
56
  * @param blockNumber - L2 block that carried the updates.
53
57
  * @returns True if every delete succeeded.
54
58
  */ async deleteContractInstanceUpdates(data, timestamp, blockNumber) {
55
- return (await Promise.all(data.map((update, logIndex)=>this.deleteContractInstanceUpdate(update, timestamp, blockNumber, logIndex)))).every(Boolean);
59
+ await Promise.all(data.map((update, logIndex)=>this.deleteContractInstanceUpdate(update, timestamp, blockNumber, logIndex)));
60
+ return true;
56
61
  }
57
62
  addContractInstance(contractInstance, blockNumber) {
58
63
  return this.db.transactionAsync(async ()=>{
@@ -75,15 +80,21 @@ import { SerializableContractInstance, SerializableContractInstanceUpdate } from
75
80
  await this.#contractInstancePublishedAt.set(key, blockNumber);
76
81
  });
77
82
  }
78
- deleteContractInstance(contractInstance) {
83
+ deleteContractInstance(contractInstance, blockNumber) {
79
84
  // Protocol contracts are preloaded at block 0 and must never be deleted, even when the block that
80
85
  // (re-)published them on-chain is unwound by a reorg.
81
86
  if (isProtocolContract(contractInstance.address)) {
82
87
  return Promise.resolve();
83
88
  }
84
89
  return this.db.transactionAsync(async ()=>{
85
- await this.#contractInstances.delete(contractInstance.address.toString());
86
- await this.#contractInstancePublishedAt.delete(contractInstance.address.toString());
90
+ const key = contractInstance.address.toString();
91
+ // An unwound block can carry a log naming an address first published by a surviving block (a forged log in an
92
+ // unexecuted checkpoint, which the store path skipped). Deleting by address alone would erase that instance.
93
+ if (await this.#contractInstancePublishedAt.getAsync(key) !== blockNumber) {
94
+ return;
95
+ }
96
+ await this.#contractInstances.delete(key);
97
+ await this.#contractInstancePublishedAt.delete(key);
87
98
  });
88
99
  }
89
100
  getUpdateRangeKey(contractAddress, timestamp) {
@@ -59,6 +59,8 @@ type AddCheckpointOptions = {
59
59
  * `attestationsHash` the rollup stores at propose time covers.
60
60
  */
61
61
  spareAttestationsBitmapBit?: boolean;
62
+ /** Overrides the posted attestations tuple, e.g. to model an escape-hatch proposer's arbitrary tuple. */
63
+ verbatimAttestations?: ViemCommitteeAttestations;
62
64
  };
63
65
  /** Result from adding a checkpoint. */
64
66
  type AddCheckpointResult = {
@@ -244,4 +246,4 @@ export declare class FakeL1State {
244
246
  private makeBlobsFromCheckpoint;
245
247
  }
246
248
  export {};
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZV9sMV9zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvZmFrZV9sMV9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBcUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEtBQUssRUFFVixhQUFhLEVBRWIsY0FBYyxFQUNkLHlCQUF5QixFQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxVQUFVLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFDckgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR2hFLE9BQU8sRUFBeUQsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFDTCxxQkFBcUIsRUFHdEIsTUFBTSw4QkFBOEIsQ0FBQztBQUd0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRCwyQ0FBMkM7QUFDM0MsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLDRCQUE0QjtJQUM1QixrQkFBa0IsRUFBRSxFQUFFLENBQUM7SUFDdkIsNkJBQTZCO0lBQzdC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
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZV9sMV9zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvZmFrZV9sMV9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxLQUFLLElBQUksRUFBcUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEtBQUssRUFFVixhQUFhLEVBRWIsY0FBYyxFQUNkLHlCQUF5QixFQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxVQUFVLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFDckgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR2hFLE9BQU8sRUFBeUQsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFDTCxxQkFBcUIsRUFHdEIsTUFBTSw4QkFBOEIsQ0FBQztBQUd0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQVEsTUFBTSxvQkFBb0IsQ0FBQztBQUcxRCwyQ0FBMkM7QUFDM0MsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLDRCQUE0QjtJQUM1QixrQkFBa0IsRUFBRSxFQUFFLENBQUM7SUFDdkIsNkJBQTZCO0lBQzdC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
@@ -1 +1 @@
1
- {"version":3,"file":"fake_l1_state.d.ts","sourceRoot":"","sources":["../../src/test/fake_l1_state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake_l1_state.d.ts","sourceRoot":"","sources":["../../src/test/fake_l1_state.ts"],"names":[],"mappings":"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"}
@@ -144,7 +144,7 @@ import { encodeFunctionData, multicall3Abi, toHex } from 'viem';
144
144
  // Store the messages internally so they match the checkpoint's inHash
145
145
  this.addMessages(checkpointNumber, messagesL1BlockNumber, messages);
146
146
  // Create the transaction, blobs, and event hashes
147
- const { tx, attestationsHash, payloadDigest, verbatimAttestations } = await this.makeRollupTx(checkpoint, signers, options.spareAttestationsBitmapBit ?? false);
147
+ const { tx, attestationsHash, payloadDigest, verbatimAttestations } = await this.makeRollupTx(checkpoint, signers, options.spareAttestationsBitmapBit ?? false, options.verbatimAttestations);
148
148
  const blobHashes = await this.makeVersionedBlobHashes(checkpoint);
149
149
  const blobs = await this.makeBlobsFromCheckpoint(checkpoint);
150
150
  // Store the checkpoint data
@@ -525,7 +525,7 @@ import { encodeFunctionData, multicall3Abi, toHex } from 'viem';
525
525
  index
526
526
  };
527
527
  }
528
- async makeRollupTx(checkpoint, signers, spareAttestationsBitmapBit) {
528
+ async makeRollupTx(checkpoint, signers, spareAttestationsBitmapBit, verbatimAttestationsOverride) {
529
529
  const signatureContext = this.getSignatureContext();
530
530
  const consensusPayload = ConsensusPayload.fromCheckpoint(checkpoint, signatureContext);
531
531
  const attestationDigest = getHashedSignaturePayloadTypedData(consensusPayload);
@@ -540,10 +540,10 @@ import { encodeFunctionData, multicall3Abi, toHex } from 'viem';
540
540
  const proposerSigner = signers[0] ?? Secp256k1Signer.random();
541
541
  const attestationsAndSignersSignature = proposerSigner.sign(getHashedSignaturePayloadTypedData(attestationsAndSigners));
542
542
  const packedAttestations = attestationsAndSigners.getPackedAttestations();
543
- const verbatimAttestations = spareAttestationsBitmapBit ? {
543
+ const verbatimAttestations = verbatimAttestationsOverride ?? (spareAttestationsBitmapBit ? {
544
544
  ...packedAttestations,
545
545
  signatureIndices: setLastBitmapBit(packedAttestations.signatureIndices)
546
- } : packedAttestations;
546
+ } : packedAttestations);
547
547
  const rollupInput = encodeFunctionData({
548
548
  abi: RollupAbi,
549
549
  functionName: 'propose',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec-labs/archiver",
3
- "version": "6.0.0-rc.1",
3
+ "version": "6.0.0-rc.2",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -65,18 +65,18 @@
65
65
  ]
66
66
  },
67
67
  "dependencies": {
68
- "@aztec-foundation/l1-artifacts": "6.0.0-rc.1",
69
- "@aztec-labs/blob-client": "6.0.0-rc.1",
70
- "@aztec-labs/blob-lib": "6.0.0-rc.1",
71
- "@aztec-labs/constants": "6.0.0-rc.1",
72
- "@aztec-labs/epoch-cache": "6.0.0-rc.1",
73
- "@aztec-labs/ethereum": "6.0.0-rc.1",
74
- "@aztec-labs/foundation": "6.0.0-rc.1",
75
- "@aztec-labs/kv-store": "6.0.0-rc.1",
76
- "@aztec-labs/protocol-contracts": "6.0.0-rc.1",
77
- "@aztec-labs/standard-contracts": "6.0.0-rc.1",
78
- "@aztec-labs/stdlib": "6.0.0-rc.1",
79
- "@aztec-labs/telemetry-client": "6.0.0-rc.1",
68
+ "@aztec-foundation/l1-artifacts": "6.0.0-rc.5",
69
+ "@aztec-labs/blob-client": "6.0.0-rc.2",
70
+ "@aztec-labs/blob-lib": "6.0.0-rc.2",
71
+ "@aztec-labs/constants": "6.0.0-rc.2",
72
+ "@aztec-labs/epoch-cache": "6.0.0-rc.2",
73
+ "@aztec-labs/ethereum": "6.0.0-rc.2",
74
+ "@aztec-labs/foundation": "6.0.0-rc.2",
75
+ "@aztec-labs/kv-store": "6.0.0-rc.2",
76
+ "@aztec-labs/protocol-contracts": "6.0.0-rc.2",
77
+ "@aztec-labs/standard-contracts": "6.0.0-rc.2",
78
+ "@aztec-labs/stdlib": "6.0.0-rc.2",
79
+ "@aztec-labs/telemetry-client": "6.0.0-rc.2",
80
80
  "lodash.groupby": "^4.6.0",
81
81
  "lodash.omit": "^4.5.0",
82
82
  "tslib": "^2.5.0",