@aztec/pxe 0.0.1-commit.321f6a9 → 0.0.1-commit.330febf

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 (124) hide show
  1. package/dest/bin/check_oracle_version.js +2 -38
  2. package/dest/bin/index.d.ts +2 -2
  3. package/dest/bin/index.d.ts.map +1 -1
  4. package/dest/bin/index.js +1 -1
  5. package/dest/bin/oracle_version_helpers.d.ts +1 -15
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -1
  7. package/dest/bin/oracle_version_helpers.js +0 -21
  8. package/dest/block_synchronizer/block_synchronizer.d.ts +3 -5
  9. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  10. package/dest/block_synchronizer/block_synchronizer.js +5 -18
  11. package/dest/contract/contract_class_service.d.ts +1 -8
  12. package/dest/contract/contract_class_service.d.ts.map +1 -1
  13. package/dest/contract/contract_class_service.js +8 -40
  14. package/dest/contract_function_simulator/contract_function_simulator.d.ts +1 -8
  15. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  16. package/dest/contract_function_simulator/contract_function_simulator.js +0 -17
  17. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +1 -1
  18. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +11 -1
  20. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +1 -1
  21. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +6 -2
  23. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +10 -2
  24. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  25. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +128 -38
  26. package/dest/events/event_service.d.ts +13 -6
  27. package/dest/events/event_service.d.ts.map +1 -1
  28. package/dest/events/event_service.js +13 -13
  29. package/dest/logs/log_service.d.ts +13 -5
  30. package/dest/logs/log_service.d.ts.map +1 -1
  31. package/dest/logs/log_service.js +20 -36
  32. package/dest/messages/tx_resolver_service.d.ts +18 -7
  33. package/dest/messages/tx_resolver_service.d.ts.map +1 -1
  34. package/dest/messages/tx_resolver_service.js +9 -8
  35. package/dest/node/benchmarked_node.d.ts +20 -0
  36. package/dest/node/benchmarked_node.d.ts.map +1 -0
  37. package/dest/node/benchmarked_node.js +94 -0
  38. package/dest/node/caching_aztec_node.d.ts +24 -0
  39. package/dest/node/caching_aztec_node.d.ts.map +1 -0
  40. package/dest/node/caching_aztec_node.js +267 -0
  41. package/dest/notes/note_service.d.ts +12 -6
  42. package/dest/notes/note_service.d.ts.map +1 -1
  43. package/dest/notes/note_service.js +9 -9
  44. package/dest/oracle_version.js +2 -2
  45. package/dest/pxe.d.ts +1 -1
  46. package/dest/pxe.d.ts.map +1 -1
  47. package/dest/pxe.js +31 -14
  48. package/dest/storage/contract_store/contract_store.d.ts +1 -1
  49. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  50. package/dest/storage/contract_store/contract_store.js +2 -2
  51. package/dest/storage/fact_store/origin_state.d.ts +1 -1
  52. package/dest/storage/fact_store/origin_state.js +1 -1
  53. package/dest/storage/tagging_store/sender_tagging_store.d.ts +23 -8
  54. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  55. package/dest/storage/tagging_store/sender_tagging_store.js +33 -18
  56. package/dest/tagging/constants.d.ts +9 -1
  57. package/dest/tagging/constants.d.ts.map +1 -1
  58. package/dest/tagging/constants.js +10 -0
  59. package/dest/tagging/get_all_logs_by_tags.d.ts +29 -8
  60. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  61. package/dest/tagging/get_all_logs_by_tags.js +29 -10
  62. package/dest/tagging/index.d.ts +2 -2
  63. package/dest/tagging/index.d.ts.map +1 -1
  64. package/dest/tagging/index.js +1 -1
  65. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +2 -2
  66. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -1
  67. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +13 -17
  68. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +6 -3
  69. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  70. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +23 -38
  71. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts +22 -0
  72. package/dest/tagging/sender_sync/utils/classify_pending_txs.d.ts.map +1 -0
  73. package/dest/tagging/sender_sync/utils/classify_pending_txs.js +61 -0
  74. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +15 -5
  75. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  76. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +30 -33
  77. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts +29 -0
  78. package/dest/tagging/sender_sync/utils/resolve_pending_txs.d.ts.map +1 -0
  79. package/dest/tagging/sender_sync/utils/resolve_pending_txs.js +41 -0
  80. package/dest/tagging/sender_sync/utils/test_utils.d.ts +16 -0
  81. package/dest/tagging/sender_sync/utils/test_utils.d.ts.map +1 -0
  82. package/dest/tagging/sender_sync/utils/test_utils.js +24 -0
  83. package/package.json +17 -17
  84. package/src/bin/check_oracle_version.ts +2 -46
  85. package/src/bin/index.ts +1 -1
  86. package/src/bin/oracle_version_helpers.ts +0 -24
  87. package/src/block_synchronizer/block_synchronizer.ts +6 -23
  88. package/src/contract/contract_class_service.ts +8 -46
  89. package/src/contract_function_simulator/contract_function_simulator.ts +0 -17
  90. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +16 -1
  91. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +7 -2
  92. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +130 -40
  93. package/src/events/event_service.ts +24 -14
  94. package/src/logs/log_service.ts +37 -44
  95. package/src/messages/tx_resolver_service.ts +22 -11
  96. package/src/node/benchmarked_node.ts +140 -0
  97. package/src/node/caching_aztec_node.ts +406 -0
  98. package/src/notes/note_service.ts +19 -13
  99. package/src/oracle_version.ts +2 -2
  100. package/src/pxe.ts +32 -16
  101. package/src/storage/contract_store/contract_store.ts +2 -1
  102. package/src/storage/fact_store/origin_state.ts +1 -1
  103. package/src/storage/tagging_store/sender_tagging_store.ts +51 -26
  104. package/src/tagging/constants.ts +12 -0
  105. package/src/tagging/get_all_logs_by_tags.ts +47 -11
  106. package/src/tagging/index.ts +6 -1
  107. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +19 -22
  108. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +27 -57
  109. package/src/tagging/sender_sync/utils/classify_pending_txs.ts +91 -0
  110. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +40 -38
  111. package/src/tagging/sender_sync/utils/resolve_pending_txs.ts +64 -0
  112. package/src/tagging/sender_sync/utils/test_utils.ts +46 -0
  113. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts +0 -39
  114. package/dest/contract_function_simulator/aztec_node_read_cache.d.ts.map +0 -1
  115. package/dest/contract_function_simulator/aztec_node_read_cache.js +0 -60
  116. package/dest/contract_function_simulator/benchmarked_node.d.ts +0 -9
  117. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +0 -1
  118. package/dest/contract_function_simulator/benchmarked_node.js +0 -77
  119. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +0 -17
  120. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +0 -1
  121. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +0 -60
  122. package/src/contract_function_simulator/aztec_node_read_cache.ts +0 -89
  123. package/src/contract_function_simulator/benchmarked_node.ts +0 -103
  124. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +0 -66
@@ -12,7 +12,7 @@ import { CallContext, CountedContractClassLog, NoteAndSlot } from '@aztec/stdlib
12
12
  import { DEFAULT_TAGGING_SECRET_STRATEGY } from '../../hooks/resolve_tagging_secret_strategy.js';
13
13
  import { NoteService } from '../../notes/note_service.js';
14
14
  import { assertAllowedScope } from '../../storage/allowed_scopes.js';
15
- import { syncSenderTaggingIndexes } from '../../tagging/index.js';
15
+ import { logQueryAnchorOf, syncSenderTaggingIndexes } from '../../tagging/index.js';
16
16
  import { BoundedVec } from '../noir-structs/bounded_vec.js';
17
17
  import { Option } from '../noir-structs/option.js';
18
18
  import { pickNotes } from '../pick_notes.js';
@@ -267,7 +267,11 @@ import { UtilityExecutionOracle } from './utility_execution_oracle.js';
267
267
  // This is a tagging secret we've not yet used in this tx, so first sync our store to make sure its indices
268
268
  // are up to date. We do this here because this store is not synced as part of the global sync because
269
269
  // that'd be wasteful as most tagging secrets are not used in each tx.
270
- await syncSenderTaggingIndexes(secret, this.aztecNode, this.senderTaggingStore, await this.anchorBlockHeader.hash(), this.jobId);
270
+ const [{ finalized }, anchor] = await Promise.all([
271
+ this.l2TipsStore.getL2Tips(),
272
+ logQueryAnchorOf(this.anchorBlockHeader)
273
+ ]);
274
+ await syncSenderTaggingIndexes(secret, this.aztecNode, this.senderTaggingStore, finalized.block.number, anchor, this.jobId);
271
275
  const lastUsedIndex = await this.senderTaggingStore.getLastUsedIndex(secret, this.jobId);
272
276
  // If lastUsedIndex is undefined, we've never used this secret, so start from 0
273
277
  // Otherwise, the next index to use is one past the last used index
@@ -86,7 +86,15 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
86
86
  private offchainEffects;
87
87
  private readonly ephemeralArrayService;
88
88
  protected readonly transientArrayService: TransientArrayService;
89
- private readonly aztecNodeReadCache;
89
+ /** Keyed by tx hash string. */
90
+ private readonly txReceiptsCache;
91
+ /**
92
+ * Information that can be used to validate the existence of a note or an event, keyed by tx hash string. It is
93
+ * populated by the node queries that precede validation (tagged log retrieval, tx resolution), which already return
94
+ * everything validation needs, so validating a note or event created in one of those txs costs no node roundtrip.
95
+ * Notes and events reached through other paths (e.g. offchain inbox messages) still need a receipt.
96
+ */
97
+ private readonly validationTxDataCache;
90
98
  private contractOracleVersion;
91
99
  protected readonly callContext: CallContext;
92
100
  protected readonly authWitnesses: AuthWitness[];
@@ -323,4 +331,4 @@ export declare class UtilityExecutionOracle implements IMiscOracle, IUtilityExec
323
331
  /** The address of the contract whose function is being executed, from the call context. */
324
332
  protected get contractAddress(): AztecAddress;
325
333
  }
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBMEIsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBTXRCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsbUNBQW1DLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkgsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNq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
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS91dGlsaXR5X2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUE4QixNQUFNLGtCQUFrQixDQUFDO0FBQzFHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR25FLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQTBCLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU10QixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLG1DQUFtQyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRW5ILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utility_execution_oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/utility_execution_oracle.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { PRIVATE_LOG_CIPHERTEXT_LEN } from '@aztec/constants';
1
2
  import { uniqueBy } from '@aztec/foundation/collection';
2
3
  import { Aes128 } from '@aztec/foundation/crypto/aes128';
3
4
  import { Fr } from '@aztec/foundation/curves/bn254';
@@ -19,7 +20,6 @@ import { NoteService } from '../../notes/note_service.js';
19
20
  import { ORACLE_VERSION_MAJOR } from '../../oracle_version.js';
20
21
  import { assertAllowedScope } from '../../storage/allowed_scopes.js';
21
22
  import { FactCollectionKey, FactCollectionTypeKey, anchoredTipBlockNumbers } from '../../storage/fact_store/index.js';
22
- import { AztecNodeReadCache } from '../aztec_node_read_cache.js';
23
23
  import { EphemeralArrayService } from '../ephemeral_array_service.js';
24
24
  import { BoundedVec } from '../noir-structs/bounded_vec.js';
25
25
  import { EphemeralArray } from '../noir-structs/ephemeral_array.js';
@@ -37,7 +37,13 @@ import { buildACIRCallback } from './acir_callback.js';
37
37
  offchainEffects = [];
38
38
  ephemeralArrayService = new EphemeralArrayService();
39
39
  transientArrayService;
40
- aztecNodeReadCache;
40
+ /** Keyed by tx hash string. */ txReceiptsCache = new Map();
41
+ /**
42
+ * Information that can be used to validate the existence of a note or an event, keyed by tx hash string. It is
43
+ * populated by the node queries that precede validation (tagged log retrieval, tx resolution), which already return
44
+ * everything validation needs, so validating a note or event created in one of those txs costs no node roundtrip.
45
+ * Notes and events reached through other paths (e.g. offchain inbox messages) still need a receipt.
46
+ */ validationTxDataCache = new Map();
41
47
  // We store oracle version to be able to show a nice error message when an oracle handler is missing.
42
48
  contractOracleVersion;
43
49
  callContext;
@@ -88,7 +94,6 @@ import { buildACIRCallback } from './acir_callback.js';
88
94
  this.hooks = args.hooks;
89
95
  this.utilityExecutor = args.utilityExecutor;
90
96
  this.transientArrayService = args.transientArrayService;
91
- this.aztecNodeReadCache = new AztecNodeReadCache(args.aztecNode);
92
97
  }
93
98
  assertCompatibleOracleVersion(major, minor) {
94
99
  if (major !== ORACLE_VERSION_MAJOR) {
@@ -160,12 +165,12 @@ import { buildACIRCallback } from './acir_callback.js';
160
165
  // Note that we validate that the reference block hash is at or before the anchor block - we don't test the block
161
166
  // hash at all. If the block hash did not exist by the reference block hash, then the node will not return the
162
167
  // membership witness as there is none.
163
- const witness = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>this.aztecNodeReadCache.getBlockHashMembershipWitness(referenceBlockHash, blockHash));
168
+ const witness = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>this.aztecNode.getBlockHashMembershipWitness(referenceBlockHash, blockHash));
164
169
  return witness ? Option.some(witness) : Option.none();
165
170
  }
166
171
  /** Returns whether each block hash is present in the archive tree at the referenced block. */ async areBlockHashesInArchive(referenceBlockHash, blockHashes) {
167
172
  const hashes = blockHashes.readAll(this.ephemeralArrayService);
168
- const memberships = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>Promise.all(hashes.map((blockHash)=>this.aztecNodeReadCache.getBlockHashMembershipWitness(referenceBlockHash, blockHash).then(Boolean))));
173
+ const memberships = await this.#queryWithBlockHashNotAfterAnchor(referenceBlockHash, ()=>Promise.all(hashes.map((blockHash)=>this.aztecNode.getBlockHashMembershipWitness(referenceBlockHash, blockHash).then(Boolean))));
169
174
  return EphemeralArray.fromValues(this.ephemeralArrayService, memberships);
170
175
  }
171
176
  /**
@@ -201,7 +206,7 @@ import { buildACIRCallback } from './acir_callback.js';
201
206
  * @param leafSlot - The slot of the public data tree to get the witness for.
202
207
  * @returns - The witness
203
208
  */ async getPublicDataWitness(blockHash, leafSlot) {
204
- const witness = await this.#queryWithBlockHashNotAfterAnchor(blockHash, ()=>this.aztecNodeReadCache.getPublicDataWitness(blockHash, leafSlot));
209
+ const witness = await this.#queryWithBlockHashNotAfterAnchor(blockHash, ()=>this.aztecNode.getPublicDataWitness(blockHash, leafSlot));
205
210
  if (!witness) {
206
211
  throw new Error(`Public data witness not found for slot ${leafSlot} at block hash ${blockHash.toString()}.`);
207
212
  }
@@ -356,7 +361,8 @@ import { buildACIRCallback } from './acir_callback.js';
356
361
  * @param numberOfElements - Number of elements to read from the starting storage slot.
357
362
  */ getFromPublicStorage(blockHash, contractAddress, startStorageSlot, numberOfElements) {
358
363
  return this.#queryWithBlockHashNotAfterAnchor(blockHash, async ()=>{
359
- const values = await this.aztecNodeReadCache.getPublicStorageRange(blockHash, contractAddress, startStorageSlot, numberOfElements);
364
+ const slots = Array(numberOfElements).fill(0).map((_, i)=>new Fr(startStorageSlot.toBigInt() + BigInt(i)));
365
+ const values = await Promise.all(slots.map((storageSlot)=>this.aztecNode.getPublicStorageAt(blockHash, contractAddress, storageSlot)));
360
366
  this.logger.debug(`Oracle storage read: start=${startStorageSlot.toString()} count=${numberOfElements} ` + `address=${contractAddress.toString()} values=[${values.join(', ')}]`);
361
367
  return values;
362
368
  });
@@ -396,8 +402,9 @@ import { buildACIRCallback } from './acir_callback.js';
396
402
  /** Fetches pending tagged logs into a freshly allocated ephemeral array and returns it. */ async getPendingTaggedLogsV2(scope, providedSecrets) {
397
403
  const secrets = providedSecrets.readAll(this.ephemeralArrayService).map((ps)=>new AppTaggingSecret(ps.secret, this.contractAddress, ps.mode));
398
404
  const logService = this.#createLogService();
399
- const logs = await logService.fetchTaggedLogs(this.contractAddress, scope, secrets);
400
- return EphemeralArray.fromValues(this.ephemeralArrayService, logs);
405
+ const retrievedLogs = await logService.fetchTaggedLogs(this.contractAddress, scope, secrets);
406
+ this.#cacheValidationTxData(retrievedLogs);
407
+ return EphemeralArray.fromValues(this.ephemeralArrayService, retrievedLogs.map(toPendingTaggedLog));
401
408
  }
402
409
  #createLogService() {
403
410
  return new LogService(this.aztecNode, this.anchorBlockHeader, this.l2TipsStore, this.keyStore, this.recipientTaggingStore, this.taggingSecretSourcesStore, this.addressStore, this.scopes, this.jobId, this.logger.getBindings());
@@ -406,29 +413,31 @@ import { buildACIRCallback } from './acir_callback.js';
406
413
  await this.#processValidationRequests(noteValidationRequests.readAll(this.ephemeralArrayService), eventValidationRequests.readAll(this.ephemeralArrayService), scope);
407
414
  }
408
415
  async #processValidationRequests(noteValidationRequests, eventValidationRequests, scope) {
409
- const txEffects = await this.#fetchTxEffects([
416
+ const validationTxData = await this.#getValidationTxData([
410
417
  ...noteValidationRequests.map((r)=>r.txHash),
411
418
  ...eventValidationRequests.map((r)=>r.txHash)
412
419
  ]);
413
420
  const noteService = new NoteService(this.noteStore, this.aztecNode, this.anchorBlockHeader, this.jobId);
414
421
  const eventService = new EventService(this.anchorBlockHeader, this.aztecNode, this.privateEventStore, this.jobId);
415
422
  await Promise.all([
416
- noteService.validateAndStoreNotes(noteValidationRequests, scope, txEffects),
417
- eventService.validateAndStoreEvents(eventValidationRequests, scope, txEffects)
423
+ noteService.validateAndStoreNotes(noteValidationRequests, scope, validationTxData),
424
+ eventService.validateAndStoreEvents(eventValidationRequests, scope, validationTxData)
418
425
  ]);
419
426
  }
420
427
  async getLogsByTagV2(requests) {
421
428
  const logRetrievalRequests = requests.readAll(this.ephemeralArrayService);
422
429
  const logService = this.#createLogService();
423
- const logRetrievalResponses = await logService.fetchLogsByTag(this.contractAddress, logRetrievalRequests);
430
+ const retrievedLogsPerRequest = await logService.fetchLogsByTag(this.contractAddress, logRetrievalRequests);
431
+ this.#cacheValidationTxData(retrievedLogsPerRequest.flat());
424
432
  // Create an inner ephemeral array for each request's matching logs, then wrap all slots in an outer array.
425
- const innerArrays = logRetrievalResponses.map((responses)=>EphemeralArray.fromValues(this.ephemeralArrayService, responses));
433
+ const innerArrays = retrievedLogsPerRequest.map((retrievedLogs)=>EphemeralArray.fromValues(this.ephemeralArrayService, retrievedLogs.map(toLogRetrievalResponse)));
426
434
  return EphemeralArray.fromValues(this.ephemeralArrayService, innerArrays);
427
435
  }
428
436
  /** Given an array of tx hashes, returns an aligned array of tx info if the tx is available. */ async getResolvedTxs(requests) {
429
437
  const txHashes = requests.readAll(this.ephemeralArrayService);
430
438
  const resolved = await this.txResolver.resolveTxs(txHashes, this.anchorBlockHeader.getBlockNumber());
431
- const options = resolved.map((r)=>r ? Option.some(r) : Option.none());
439
+ this.#cacheValidationTxData(resolved.filter((tx)=>tx !== null));
440
+ const options = resolved.map((tx)=>tx ? Option.some(toResolvedTx(tx)) : Option.none());
432
441
  return EphemeralArray.fromValues(this.ephemeralArrayService, options);
433
442
  }
434
443
  /**
@@ -697,34 +706,75 @@ import { buildACIRCallback } from './acir_callback.js';
697
706
  /** Returns offchain effects collected during execution. */ getOffchainEffects() {
698
707
  return this.offchainEffects;
699
708
  }
709
+ /** Stores the onchain context of the given txs, so that validating the notes and events they created is free. */ #cacheValidationTxData(txs) {
710
+ txs.forEach((tx)=>this.validationTxDataCache.set(tx.txHash.toString(), toValidationTxData(tx)));
711
+ }
700
712
  /**
701
- * Fetches tx effects for the given hashes in parallel, deduplicating repeated hashes so each tx is only requested
702
- * once. Returns a map keyed by `TxHash.toString()`; hashes for which the node has no tx effect are omitted.
703
- */ async #fetchTxEffects(txHashes) {
704
- const uniqueTxHashes = uniqueBy(txHashes, (h)=>h.toString());
705
- const fetched = await Promise.all(uniqueTxHashes.map((h)=>this.aztecNodeReadCache.getTxReceiptWithEffect(h)));
706
- return new Map(uniqueTxHashes.map((h, i)=>{
707
- const receipt = fetched[i];
708
- if (!receipt.isMined() || !receipt.txEffect) {
713
+ * Returns the information needed to validate the notes and events created in the given txs, keyed by
714
+ * `TxHash.toString()`. Txs already in {@link validationTxDataCache} cost no node request, and the rest are read from
715
+ * the node. Txs with no tx effect are absent from the returned map.
716
+ */ async #getValidationTxData(txHashes) {
717
+ const known = [];
718
+ const misses = [];
719
+ for (const txHash of uniqueBy(txHashes, (h)=>h.toString())){
720
+ const key = txHash.toString();
721
+ const cached = this.validationTxDataCache.get(key);
722
+ if (cached) {
723
+ known.push([
724
+ key,
725
+ cached
726
+ ]);
727
+ } else {
728
+ misses.push(txHash);
729
+ }
730
+ }
731
+ const fetched = await Promise.all(misses.map((h)=>this.#getTxReceiptWithEffect(h)));
732
+ return new Map([
733
+ ...known,
734
+ ...misses.map((h, i)=>{
735
+ const receipt = fetched[i];
736
+ if (!receipt.isMined() || !receipt.txEffect) {
737
+ return [
738
+ h.toString(),
739
+ undefined
740
+ ];
741
+ }
709
742
  return [
710
743
  h.toString(),
711
- undefined
744
+ {
745
+ noteHashes: receipt.txEffect.noteHashes,
746
+ nullifiers: receipt.txEffect.nullifiers,
747
+ l2BlockNumber: receipt.blockNumber,
748
+ l2BlockHash: receipt.blockHash,
749
+ txIndexInBlock: receipt.txIndexInBlock
750
+ }
712
751
  ];
713
- }
714
- return [
715
- h.toString(),
716
- {
717
- data: receipt.txEffect,
718
- l2BlockNumber: receipt.blockNumber,
719
- l2BlockHash: receipt.blockHash,
720
- txIndexInBlock: receipt.txIndexInBlock,
721
- slotNumber: receipt.slotNumber
722
- }
723
- ];
724
- }).filter((entry)=>entry[1] !== undefined));
752
+ }).filter((entry)=>entry[1] !== undefined)
753
+ ]);
754
+ }
755
+ /**
756
+ * Reads a receipt with its effect, at most once per tx for the lifetime of this execution.
757
+ *
758
+ * A receipt is not cacheable in general, since pending, mined and dropped are all correct answers to the same call
759
+ * over time. Within one execution it is: the execution is anchored at a fixed block, and validation runs in several
760
+ * batches that name overlapping tx hashes, so re-reading would both cost extra requests and let one execution see a
761
+ * tx as included in one batch and absent in the next.
762
+ */ #getTxReceiptWithEffect(txHash) {
763
+ const key = txHash.toString();
764
+ let receipt = this.txReceiptsCache.get(key);
765
+ if (!receipt) {
766
+ receipt = this.aztecNode.getTxReceipt(txHash, {
767
+ includeTxEffect: true
768
+ }).catch((err)=>{
769
+ this.txReceiptsCache.delete(key);
770
+ throw err;
771
+ });
772
+ this.txReceiptsCache.set(key, receipt);
773
+ }
774
+ return receipt;
725
775
  }
726
776
  async #getTxEffectOption(txHash) {
727
- const receipt = await this.aztecNodeReadCache.getTxReceiptWithEffect(txHash);
777
+ const receipt = await this.#getTxReceiptWithEffect(txHash);
728
778
  if (!receipt.isMined() || !receipt.txEffect || receipt.blockNumber > this.anchorBlockHeader.getBlockNumber()) {
729
779
  return Option.none();
730
780
  }
@@ -751,7 +801,7 @@ import { buildACIRCallback } from './acir_callback.js';
751
801
  const [response] = await Promise.all([
752
802
  query(),
753
803
  (async ()=>{
754
- const block = await this.aztecNodeReadCache.getBlock(blockHash);
804
+ const block = await this.aztecNode.getBlock(blockHash);
755
805
  const header = block?.header;
756
806
  if (!header) {
757
807
  throw new Error(`Could not find block header for block hash ${blockHash}`);
@@ -793,3 +843,43 @@ async function doesSelectorHaveSignature(functionSelector, signature) {
793
843
  const matches = await Promise.all(STANDARD_HANDSHAKE_REGISTRY_DEFAULT_AUTHORIZED_READ_SIGNATURES.map((signature)=>doesSelectorHaveSignature(functionSelector, signature)));
794
844
  return matches.some(Boolean);
795
845
  }
846
+ function toPendingTaggedLog(retrievedLog) {
847
+ return {
848
+ log: retrievedLog.logData,
849
+ context: toResolvedTx(retrievedLog)
850
+ };
851
+ }
852
+ function toResolvedTx(tx) {
853
+ const { txHash, blockNumber, blockHash, noteHashes, nullifiers } = tx;
854
+ return {
855
+ txHash,
856
+ uniqueNoteHashesInTx: noteHashes,
857
+ firstNullifierInTx: nullifiers[0],
858
+ blockNumber,
859
+ blockHash: blockHash.toFr()
860
+ };
861
+ }
862
+ function toLogRetrievalResponse(retrievedLog) {
863
+ const { logData, txHash, blockNumber, blockHash, blockTimestamp, noteHashes, nullifiers } = retrievedLog;
864
+ return {
865
+ // Skip the tag, and clip to the wire cap: public logs can exceed PRIVATE_LOG_CIPHERTEXT_LEN, which is the fixed
866
+ // size of the oracle's BoundedVec slot. A no-op for private logs, which are already within the cap.
867
+ logPayload: logData.slice(1, 1 + PRIVATE_LOG_CIPHERTEXT_LEN),
868
+ txHash,
869
+ uniqueNoteHashesInTx: noteHashes,
870
+ firstNullifierInTx: nullifiers[0],
871
+ blockNumber,
872
+ blockTimestamp,
873
+ blockHash
874
+ };
875
+ }
876
+ function toValidationTxData(tx) {
877
+ const { blockNumber, blockHash, txIndexInBlock, noteHashes, nullifiers } = tx;
878
+ return {
879
+ noteHashes,
880
+ nullifiers,
881
+ l2BlockNumber: blockNumber,
882
+ l2BlockHash: blockHash,
883
+ txIndexInBlock
884
+ };
885
+ }
@@ -1,6 +1,8 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { InBlock } from '@aztec/stdlib/block';
2
4
  import type { AztecNode } from '@aztec/stdlib/interfaces/server';
3
- import type { BlockHeader, IndexedTxEffect } from '@aztec/stdlib/tx';
5
+ import type { BlockHeader } from '@aztec/stdlib/tx';
4
6
  import type { EventValidationRequest } from '../contract_function_simulator/noir-structs/event_validation_request.js';
5
7
  import { PrivateEventStore } from '../storage/private_event_store/private_event_store.js';
6
8
  export declare class EventService {
@@ -12,13 +14,18 @@ export declare class EventService {
12
14
  private readonly log;
13
15
  constructor(anchorBlockHeader: BlockHeader, aztecNode: AztecNode, privateEventStore: PrivateEventStore, jobId: string, log?: import("@aztec/foundation/log").Logger);
14
16
  /**
15
- * Validates and stores a batch of private events against pre-fetched tx effects.
17
+ * Validates and stores a batch of private events against the pre-fetched onchain context of their txs.
16
18
  *
17
19
  * @param requests - The events to validate and store.
18
20
  * @param scope - The scope under which the events are being stored.
19
- * @param txEffects - Pre-fetched tx effects keyed by `TxHash.toString()`. Must contain entries for every request's
20
- * txHash; missing entries are treated as a node bug and cause an error.
21
+ * @param validationTxData - The onchain context of each request's tx, keyed by `TxHash.toString()`. Must contain
22
+ * entries for every request's txHash; missing entries are treated as a node bug and cause an error.
21
23
  */
22
- validateAndStoreEvents(requests: EventValidationRequest[], scope: AztecAddress, txEffects: Map<string, IndexedTxEffect>): Promise<void>;
24
+ validateAndStoreEvents(requests: EventValidationRequest[], scope: AztecAddress, validationTxData: ReadonlyMap<string, EventValidationTxData>): Promise<void>;
23
25
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudF9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRSxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTFGLHFCQUFhLFlBQVk7O0lBRXJCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtJQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUs7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBTHRCLFlBQ21CLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLEtBQUssRUFBRSxNQUFNLEVBQ2IsR0FBRyx5Q0FBb0MsRUFDdEQ7SUFFSjs7Ozs7OztPQU9HO0lBQ1Usc0JBQXNCLENBQ2pDLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxFQUNsQyxLQUFLLEVBQUUsWUFBWSxFQUNuQixTQUFTLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsR0FDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVFmO0NBZ0ZGIn0=
26
+ /** The onchain context of the tx an event validation request points at: where it was mined and its nullifiers. */
27
+ export type EventValidationTxData = InBlock & {
28
+ nullifiers: Fr[];
29
+ txIndexInBlock: number;
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V2ZW50cy9ldmVudF9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFMUYscUJBQWEsWUFBWTs7SUFFckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7SUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQUN0QixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7SUFMdEIsWUFDbUIsaUJBQWlCLEVBQUUsV0FBVyxFQUM5QixTQUFTLEVBQUUsU0FBUyxFQUNwQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsS0FBSyxFQUFFLE1BQU0sRUFDYixHQUFHLHlDQUFvQyxFQUN0RDtJQUVKOzs7Ozs7O09BT0c7SUFDVSxzQkFBc0IsQ0FDakMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLEVBQ2xDLEtBQUssRUFBRSxZQUFZLEVBQ25CLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUMsR0FDM0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVVmO0NBZ0ZGO0FBRUQsa0hBQWtIO0FBQ2xILE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxPQUFPLEdBQUc7SUFDNUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLGNBQWMsRUFBRSxNQUFNLENBQUM7Q0FDeEIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"event_service.d.ts","sourceRoot":"","sources":["../../src/events/event_service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yEAAyE,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,qBAAa,YAAY;;IAErB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,YACmB,iBAAiB,EAAE,WAAW,EAC9B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,MAAM,EACb,GAAG,yCAAoC,EACtD;IAEJ;;;;;;;OAOG;IACU,sBAAsB,CACjC,QAAQ,EAAE,sBAAsB,EAAE,EAClC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAQf;CAgFF"}
1
+ {"version":3,"file":"event_service.d.ts","sourceRoot":"","sources":["../../src/events/event_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yEAAyE,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE1F,qBAAa,YAAY;;IAErB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,YACmB,iBAAiB,EAAE,WAAW,EAC9B,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,MAAM,EACb,GAAG,yCAAoC,EACtD;IAEJ;;;;;;;OAOG;IACU,sBAAsB,CACjC,QAAQ,EAAE,sBAAsB,EAAE,EAClC,KAAK,EAAE,YAAY,EACnB,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAUf;CAgFF;AAED,kHAAkH;AAClH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG;IAC5C,UAAU,EAAE,EAAE,EAAE,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -14,20 +14,20 @@ export class EventService {
14
14
  this.log = log;
15
15
  }
16
16
  /**
17
- * Validates and stores a batch of private events against pre-fetched tx effects.
17
+ * Validates and stores a batch of private events against the pre-fetched onchain context of their txs.
18
18
  *
19
19
  * @param requests - The events to validate and store.
20
20
  * @param scope - The scope under which the events are being stored.
21
- * @param txEffects - Pre-fetched tx effects keyed by `TxHash.toString()`. Must contain entries for every request's
22
- * txHash; missing entries are treated as a node bug and cause an error.
23
- */ async validateAndStoreEvents(requests, scope, txEffects) {
21
+ * @param validationTxData - The onchain context of each request's tx, keyed by `TxHash.toString()`. Must contain
22
+ * entries for every request's txHash; missing entries are treated as a node bug and cause an error.
23
+ */ async validateAndStoreEvents(requests, scope, validationTxData) {
24
24
  if (requests.length === 0) {
25
25
  return;
26
26
  }
27
27
  const anchorBlockNumber = this.anchorBlockHeader.getBlockNumber();
28
- await Promise.all(requests.map((req)=>this.#validateAndStoreEvent(req, scope, txEffects, anchorBlockNumber)));
28
+ await Promise.all(requests.map((req)=>this.#validateAndStoreEvent(req, scope, validationTxData, anchorBlockNumber)));
29
29
  }
30
- async #validateAndStoreEvent(request, scope, txEffects, anchorBlockNumber) {
30
+ async #validateAndStoreEvent(request, scope, validationTxData, anchorBlockNumber) {
31
31
  const { contractAddress, eventTypeId: selector, randomness, serializedEvent: content, eventCommitment, txHash } = request;
32
32
  // Defense-in-depth: the built-in private-event path derives this commitment from content before enqueueing, but
33
33
  // unconstrained PXE-side code (e.g. a custom message handler) can reach this oracle with arbitrary
@@ -43,20 +43,20 @@ export class EventService {
43
43
  // maintain consistent behavior in the PXE. Additionally, events should never be ahead of the synced block here
44
44
  // since `fetchTaggedLogs` only processes logs up to the synced block.
45
45
  const siloedEventCommitment = await siloNullifier(contractAddress, eventCommitment);
46
- const txEffect = txEffects.get(txHash.toString());
47
- if (!txEffect) {
46
+ const txData = validationTxData.get(txHash.toString());
47
+ if (!txData) {
48
48
  // We error out instead of just logging a warning and skipping the event because this would indicate a bug. This
49
49
  // is because the node has already served info about this tx either when obtaining the log (LogResult carries
50
50
  // the tx info) or when getting metadata for the offchain message (before the message got passed to `process_log`).
51
51
  throw new Error(`Could not find tx effect for tx hash ${txHash} when processing an event.`);
52
52
  }
53
- if (txEffect.l2BlockNumber > anchorBlockNumber) {
53
+ if (txData.l2BlockNumber > anchorBlockNumber) {
54
54
  // We should never process a message from a tx past the anchor block. If we got here, a preprocessing step made
55
55
  // a mistake.
56
56
  throw new Error(`Obtained a newer tx effect for ${txHash} for an event validation request than the anchor block ${anchorBlockNumber}. This is a bug as smart contracts should not issue event validation requests for events from blocks newer than the anchor block.`);
57
57
  }
58
58
  // Find the index of the event commitment in the nullifiers array to determine event ordering within the tx
59
- const eventIndexInTx = txEffect.data.nullifiers.findIndex((n)=>n.equals(siloedEventCommitment));
59
+ const eventIndexInTx = txData.nullifiers.findIndex((n)=>n.equals(siloedEventCommitment));
60
60
  if (eventIndexInTx === -1) {
61
61
  // Unlike in NoteService, this might not be a bug since the commitment hasn't been verified yet in the message
62
62
  // processing pipeline. A malformed or malicious message could trigger this condition. Because of this we don't
@@ -68,9 +68,9 @@ export class EventService {
68
68
  contractAddress,
69
69
  scope,
70
70
  txHash,
71
- l2BlockNumber: txEffect.l2BlockNumber,
72
- l2BlockHash: txEffect.l2BlockHash,
73
- txIndexInBlock: txEffect.txIndexInBlock,
71
+ l2BlockNumber: txData.l2BlockNumber,
72
+ l2BlockHash: txData.l2BlockHash,
73
+ txIndexInBlock: txData.txIndexInBlock,
74
74
  eventIndexInTx
75
75
  }, this.jobId);
76
76
  }
@@ -1,3 +1,4 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import { type LoggerBindings } from '@aztec/foundation/log';
2
3
  import type { KeyStore } from '@aztec/key-store';
3
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
@@ -5,9 +6,9 @@ import type { L2TipsProvider } from '@aztec/stdlib/block';
5
6
  import type { AztecNode } from '@aztec/stdlib/interfaces/server';
6
7
  import { AppTaggingSecret } from '@aztec/stdlib/logs';
7
8
  import type { BlockHeader } from '@aztec/stdlib/tx';
9
+ import type { UInt64 } from '@aztec/stdlib/types';
8
10
  import { type LogRetrievalRequest } from '../contract_function_simulator/noir-structs/log_retrieval_request.js';
9
- import type { LogRetrievalResponse } from '../contract_function_simulator/noir-structs/log_retrieval_response.js';
10
- import type { PendingTaggedLog } from '../contract_function_simulator/noir-structs/pending_tagged_log.js';
11
+ import type { TxOnchainContext } from '../messages/tx_resolver_service.js';
11
12
  import { AddressStore } from '../storage/address_store/address_store.js';
12
13
  import type { RecipientTaggingStore } from '../storage/tagging_store/recipient_tagging_store.js';
13
14
  import type { TaggingSecretSourcesStore } from '../storage/tagging_store/tagging_secret_sources_store.js';
@@ -25,7 +26,14 @@ export declare class LogService {
25
26
  private log;
26
27
  constructor(aztecNode: AztecNode, anchorBlockHeader: BlockHeader, l2TipsStore: L2TipsProvider, keyStore: KeyStore, recipientTaggingStore: RecipientTaggingStore, taggingSecretSourcesStore: TaggingSecretSourcesStore, addressStore: AddressStore, scopes: AztecAddress[], jobId: string, bindings?: LoggerBindings);
27
28
  /** Fetches all logs matching each request's tag, returning an array of log arrays (one per request). */
28
- fetchLogsByTag(contractAddress: AztecAddress, logRetrievalRequests: LogRetrievalRequest[]): Promise<LogRetrievalResponse[][]>;
29
- fetchTaggedLogs(contractAddress: AztecAddress, recipient: AztecAddress, providedSecrets: AppTaggingSecret[]): Promise<PendingTaggedLog[]>;
29
+ fetchLogsByTag(contractAddress: AztecAddress, logRetrievalRequests: LogRetrievalRequest[]): Promise<RetrievedTaggedLog[][]>;
30
+ /** Fetches the pending tagged logs for a recipient across all its tagging secrets for the contract. */
31
+ fetchTaggedLogs(contractAddress: AztecAddress, recipient: AztecAddress, providedSecrets: AppTaggingSecret[]): Promise<RetrievedTaggedLog[]>;
30
32
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2xvZ19zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQWEsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUNMLGdCQUFnQixFQUtqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE9BQU8sRUFDTCxLQUFLLG1CQUFtQixFQUV6QixNQUFNLHNFQUFzRSxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDbEgsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFekUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBVzFHLHFCQUFhLFVBQVU7O0lBSW5CLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQjtJQUNsQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVc7SUFDNUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMscUJBQXFCO0lBQ3RDLE9BQU8sQ0FBQyxRQUFRLENBQUMseUJBQXlCO0lBQzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWTtJQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBWHhCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsWUFDbUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsaUJBQWlCLEVBQUUsV0FBVyxFQUM5QixXQUFXLEVBQUUsY0FBYyxFQUMzQixRQUFRLEVBQUUsUUFBUSxFQUNsQixxQkFBcUIsRUFBRSxxQkFBcUIsRUFDNUMseUJBQXlCLEVBQUUseUJBQXlCLEVBQ3BELFlBQVksRUFBRSxZQUFZLEVBQzFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFDdEIsS0FBSyxFQUFFLE1BQU0sRUFDOUIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUcxQjtJQUVELHdHQUF3RztJQUMzRixjQUFjLENBQ3pCLGVBQWUsRUFBRSxZQUFZLEVBQzdCLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLEdBQzFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FzQm5DO0lBeUdZLGVBQWUsQ0FDMUIsZUFBZSxFQUFFLFlBQVksRUFDN0IsU0FBUyxFQUFFLFlBQVksRUFDdkIsZUFBZSxFQUFFLGdCQUFnQixFQUFFLEdBQ2xDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBNEM3QjtDQWdFRiJ9
33
+ /** A tagged log fetched from the node, together with the onchain context of the tx that emitted it. */
34
+ export type RetrievedTaggedLog = TxOnchainContext & {
35
+ /** The raw log payload, tag included. */
36
+ logData: Fr[];
37
+ blockTimestamp: UInt64;
38
+ };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL2xvZ19zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUNMLGdCQUFnQixFQUtqQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFDTCxLQUFLLG1CQUFtQixFQUV6QixNQUFNLHNFQUFzRSxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXpFLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQWExRyxxQkFBYSxVQUFVOztJQUluQixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFDMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUI7SUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO0lBQzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUN6QixPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQjtJQUN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLHlCQUF5QjtJQUMxQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQVh4QixPQUFPLENBQUMsR0FBRyxDQUFTO0lBRXBCLFlBQ21CLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsV0FBVyxFQUFFLGNBQWMsRUFDM0IsUUFBUSxFQUFFLFFBQVEsRUFDbEIscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHlCQUF5QixFQUFFLHlCQUF5QixFQUNwRCxZQUFZLEVBQUUsWUFBWSxFQUMxQixNQUFNLEVBQUUsWUFBWSxFQUFFLEVBQ3RCLEtBQUssRUFBRSxNQUFNLEVBQzlCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFHMUI7SUFFRCx3R0FBd0c7SUFDM0YsY0FBYyxDQUN6QixlQUFlLEVBQUUsWUFBWSxFQUM3QixvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxHQUMxQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBc0JqQztJQXdHRCx1R0FBdUc7SUFDMUYsZUFBZSxDQUMxQixlQUFlLEVBQUUsWUFBWSxFQUM3QixTQUFTLEVBQUUsWUFBWSxFQUN2QixlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsR0FDbEMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0E0Qi9CO0NBZ0VGO0FBRUQsdUdBQXVHO0FBQ3ZHLE1BQU0sTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsR0FBRztJQUNsRCx5Q0FBeUM7SUFDekMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2QsY0FBYyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"log_service.d.ts","sourceRoot":"","sources":["../../src/logs/log_service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,gBAAgB,EAKjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uEAAuE,CAAC;AAClH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mEAAmE,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAW1G,qBAAa,UAAU;;IAInB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAXxB,OAAO,CAAC,GAAG,CAAS;IAEpB,YACmB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,WAAW,EAC9B,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,EAAE,MAAM,EAC9B,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,wGAAwG;IAC3F,cAAc,CACzB,eAAe,EAAE,YAAY,EAC7B,oBAAoB,EAAE,mBAAmB,EAAE,GAC1C,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAsBnC;IAyGY,eAAe,CAC1B,eAAe,EAAE,YAAY,EAC7B,SAAS,EAAE,YAAY,EACvB,eAAe,EAAE,gBAAgB,EAAE,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4C7B;CAgEF"}
1
+ {"version":3,"file":"log_service.d.ts","sourceRoot":"","sources":["../../src/logs/log_service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EACL,gBAAgB,EAKjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,sEAAsE,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0DAA0D,CAAC;AAa1G,qBAAa,UAAU;;IAInB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAXxB,OAAO,CAAC,GAAG,CAAS;IAEpB,YACmB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,WAAW,EAC9B,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,QAAQ,EAClB,qBAAqB,EAAE,qBAAqB,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,YAAY,EAAE,EACtB,KAAK,EAAE,MAAM,EAC9B,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,wGAAwG;IAC3F,cAAc,CACzB,eAAe,EAAE,YAAY,EAC7B,oBAAoB,EAAE,mBAAmB,EAAE,GAC1C,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAsBjC;IAwGD,uGAAuG;IAC1F,eAAe,CAC1B,eAAe,EAAE,YAAY,EAC7B,SAAS,EAAE,YAAY,EACvB,eAAe,EAAE,gBAAgB,EAAE,GAClC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA4B/B;CAgEF;AAED,uGAAuG;AACvG,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG;IAClD,yCAAyC;IACzC,OAAO,EAAE,EAAE,EAAE,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}