@aztec/pxe 0.0.1-commit.2ed92850 → 0.0.1-commit.3d8f95d

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 (144) hide show
  1. package/dest/block_synchronizer/block_synchronizer.d.ts +5 -3
  2. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  3. package/dest/block_synchronizer/block_synchronizer.js +11 -5
  4. package/dest/contract_function_simulator/contract_function_simulator.d.ts +50 -28
  5. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  6. package/dest/contract_function_simulator/contract_function_simulator.js +70 -36
  7. package/dest/contract_function_simulator/oracle/interfaces.d.ts +10 -10
  8. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  9. package/dest/contract_function_simulator/oracle/oracle.d.ts +5 -5
  10. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  11. package/dest/contract_function_simulator/oracle/oracle.js +38 -26
  12. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +35 -36
  13. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  14. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +66 -21
  15. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +52 -29
  16. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +80 -61
  18. package/dest/contract_sync/contract_sync_service.d.ts +41 -0
  19. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  20. package/dest/contract_sync/contract_sync_service.js +82 -0
  21. package/dest/contract_sync/helpers.d.ts +28 -0
  22. package/dest/contract_sync/helpers.d.ts.map +1 -0
  23. package/dest/contract_sync/{index.js → helpers.js} +13 -12
  24. package/dest/debug/pxe_debug_utils.d.ts +22 -9
  25. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  26. package/dest/debug/pxe_debug_utils.js +28 -18
  27. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  28. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  29. package/dest/entrypoints/client/bundle/utils.js +21 -7
  30. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  31. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  32. package/dest/entrypoints/client/lazy/utils.js +22 -8
  33. package/dest/entrypoints/pxe_creation_options.d.ts +3 -2
  34. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  35. package/dest/entrypoints/server/index.d.ts +2 -2
  36. package/dest/entrypoints/server/index.d.ts.map +1 -1
  37. package/dest/entrypoints/server/index.js +1 -1
  38. package/dest/entrypoints/server/utils.d.ts +1 -1
  39. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  40. package/dest/entrypoints/server/utils.js +28 -9
  41. package/dest/events/event_service.d.ts +4 -5
  42. package/dest/events/event_service.d.ts.map +1 -1
  43. package/dest/events/event_service.js +5 -6
  44. package/dest/job_coordinator/job_coordinator.d.ts +3 -2
  45. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -1
  46. package/dest/job_coordinator/job_coordinator.js +3 -2
  47. package/dest/logs/log_service.d.ts +6 -5
  48. package/dest/logs/log_service.d.ts.map +1 -1
  49. package/dest/logs/log_service.js +10 -15
  50. package/dest/notes/note_service.d.ts +4 -5
  51. package/dest/notes/note_service.d.ts.map +1 -1
  52. package/dest/notes/note_service.js +6 -7
  53. package/dest/oracle_version.d.ts +3 -3
  54. package/dest/oracle_version.d.ts.map +1 -1
  55. package/dest/oracle_version.js +2 -2
  56. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  57. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  58. package/dest/private_kernel/private_kernel_execution_prover.js +2 -2
  59. package/dest/private_kernel/private_kernel_oracle.d.ts +3 -3
  60. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  61. package/dest/pxe.d.ts +64 -22
  62. package/dest/pxe.d.ts.map +1 -1
  63. package/dest/pxe.js +66 -39
  64. package/dest/storage/address_store/address_store.d.ts +1 -1
  65. package/dest/storage/address_store/address_store.d.ts.map +1 -1
  66. package/dest/storage/address_store/address_store.js +12 -11
  67. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -1
  68. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -1
  69. package/dest/storage/anchor_block_store/anchor_block_store.js +8 -1
  70. package/dest/storage/capsule_store/capsule_store.js +6 -8
  71. package/dest/storage/contract_store/contract_store.d.ts +1 -1
  72. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  73. package/dest/storage/contract_store/contract_store.js +27 -18
  74. package/dest/storage/metadata.d.ts +1 -1
  75. package/dest/storage/metadata.js +1 -1
  76. package/dest/storage/note_store/note_store.d.ts +11 -1
  77. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  78. package/dest/storage/note_store/note_store.js +146 -105
  79. package/dest/storage/private_event_store/private_event_store.d.ts +1 -1
  80. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  81. package/dest/storage/private_event_store/private_event_store.js +84 -61
  82. package/dest/storage/private_event_store/stored_private_event.d.ts +4 -4
  83. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -1
  84. package/dest/storage/private_event_store/stored_private_event.js +2 -2
  85. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +1 -1
  86. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  87. package/dest/storage/tagging_store/recipient_tagging_store.js +31 -19
  88. package/dest/storage/tagging_store/sender_address_book_store.d.ts +1 -1
  89. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -1
  90. package/dest/storage/tagging_store/sender_address_book_store.js +20 -14
  91. package/dest/storage/tagging_store/sender_tagging_store.d.ts +1 -1
  92. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  93. package/dest/storage/tagging_store/sender_tagging_store.js +183 -113
  94. package/dest/tagging/get_all_logs_by_tags.d.ts +4 -4
  95. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  96. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +3 -3
  97. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  98. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +3 -3
  99. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  100. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +3 -3
  101. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  102. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +3 -3
  103. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  104. package/package.json +25 -16
  105. package/src/block_synchronizer/block_synchronizer.ts +23 -19
  106. package/src/contract_function_simulator/contract_function_simulator.ts +115 -77
  107. package/src/contract_function_simulator/oracle/interfaces.ts +12 -12
  108. package/src/contract_function_simulator/oracle/oracle.ts +41 -24
  109. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +86 -101
  110. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +131 -69
  111. package/src/contract_sync/contract_sync_service.ts +129 -0
  112. package/src/contract_sync/{index.ts → helpers.ts} +15 -20
  113. package/src/debug/pxe_debug_utils.ts +60 -18
  114. package/src/entrypoints/client/bundle/utils.ts +16 -15
  115. package/src/entrypoints/client/lazy/utils.ts +17 -15
  116. package/src/entrypoints/pxe_creation_options.ts +2 -1
  117. package/src/entrypoints/server/index.ts +1 -1
  118. package/src/entrypoints/server/utils.ts +22 -26
  119. package/src/events/event_service.ts +4 -6
  120. package/src/job_coordinator/job_coordinator.ts +4 -3
  121. package/src/logs/log_service.ts +14 -14
  122. package/src/notes/note_service.ts +5 -7
  123. package/src/oracle_version.ts +2 -2
  124. package/src/private_kernel/private_kernel_execution_prover.ts +6 -3
  125. package/src/private_kernel/private_kernel_oracle.ts +2 -2
  126. package/src/pxe.ts +140 -74
  127. package/src/storage/address_store/address_store.ts +15 -15
  128. package/src/storage/anchor_block_store/anchor_block_store.ts +8 -0
  129. package/src/storage/capsule_store/capsule_store.ts +8 -8
  130. package/src/storage/contract_store/contract_store.ts +26 -15
  131. package/src/storage/metadata.ts +1 -1
  132. package/src/storage/note_store/note_store.ts +163 -129
  133. package/src/storage/private_event_store/private_event_store.ts +102 -81
  134. package/src/storage/private_event_store/stored_private_event.ts +3 -3
  135. package/src/storage/tagging_store/recipient_tagging_store.ts +31 -21
  136. package/src/storage/tagging_store/sender_address_book_store.ts +20 -14
  137. package/src/storage/tagging_store/sender_tagging_store.ts +210 -126
  138. package/src/tagging/get_all_logs_by_tags.ts +3 -3
  139. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +2 -2
  140. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +2 -2
  141. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +2 -2
  142. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +3 -3
  143. package/dest/contract_sync/index.d.ts +0 -23
  144. package/dest/contract_sync/index.d.ts.map +0 -1
@@ -1,9 +1,10 @@
1
- import { type Logger } from '@aztec/foundation/log';
1
+ import { type LoggerBindings } from '@aztec/foundation/log';
2
2
  import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
3
  import type { L2TipsKVStore } from '@aztec/kv-store/stores';
4
4
  import { L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
5
5
  import type { AztecNode } from '@aztec/stdlib/interfaces/client';
6
6
  import type { BlockSynchronizerConfig } from '../config/index.js';
7
+ import type { ContractSyncService } from '../contract_sync/contract_sync_service.js';
7
8
  import type { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
8
9
  import type { NoteStore } from '../storage/note_store/note_store.js';
9
10
  import type { PrivateEventStore } from '../storage/private_event_store/private_event_store.js';
@@ -19,11 +20,12 @@ export declare class BlockSynchronizer implements L2BlockStreamEventHandler {
19
20
  private noteStore;
20
21
  private privateEventStore;
21
22
  private l2TipsStore;
23
+ private contractSyncService;
22
24
  private config;
23
25
  private log;
24
26
  private isSyncing;
25
27
  protected readonly blockStream: L2BlockStream;
26
- constructor(node: AztecNode, store: AztecAsyncKVStore, anchorBlockStore: AnchorBlockStore, noteStore: NoteStore, privateEventStore: PrivateEventStore, l2TipsStore: L2TipsKVStore, config?: Partial<BlockSynchronizerConfig>, loggerOrSuffix?: string | Logger);
28
+ constructor(node: AztecNode, store: AztecAsyncKVStore, anchorBlockStore: AnchorBlockStore, noteStore: NoteStore, privateEventStore: PrivateEventStore, l2TipsStore: L2TipsKVStore, contractSyncService: ContractSyncService, config?: Partial<BlockSynchronizerConfig>, bindings?: LoggerBindings);
27
29
  protected createBlockStream(config: Partial<BlockSynchronizerConfig>): L2BlockStream;
28
30
  /** Handle events emitted by the block stream. */
29
31
  handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
@@ -40,4 +42,4 @@ export declare class BlockSynchronizer implements L2BlockStreamEventHandler {
40
42
  sync(): Promise<void>;
41
43
  private doSync;
42
44
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2tfc3luY2hyb25pemVyL2Jsb2NrX3N5bmNocm9uaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBRUwsYUFBYSxFQUNiLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUsseUJBQXlCLEVBQy9CLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHakUsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFL0Y7Ozs7R0FJRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLHlCQUF5QjtJQU0vRCxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxLQUFLO0lBQ2IsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxNQUFNO0lBWGhCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBNEI7SUFDN0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDO0lBRTlDLFlBQ1UsSUFBSSxFQUFFLFNBQVMsRUFDZixLQUFLLEVBQUUsaUJBQWlCLEVBQ3hCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUsU0FBUyxFQUNwQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsV0FBVyxFQUFFLGFBQWEsRUFDMUIsTUFBTSxHQUFFLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBTSxFQUNyRCxjQUFjLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQU9qQztJQUVELFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQUcsYUFBYSxDQU9uRjtJQUVELGlEQUFpRDtJQUNwQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXNFNUU7WUFHYSx1QkFBdUI7SUFLckM7Ozs7Ozs7O09BUUc7SUFDVSxJQUFJLGtCQWVoQjtZQUVhLE1BQU07Q0FjckIifQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3luY2hyb25pemVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2tfc3luY2hyb25pemVyL2Jsb2NrX3N5bmNocm9uaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQWEsYUFBYSxFQUFFLEtBQUssa0JBQWtCLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBR2pFLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFL0Y7Ozs7R0FJRztBQUNILHFCQUFhLGlCQUFrQixZQUFXLHlCQUF5QjtJQU0vRCxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxLQUFLO0lBQ2IsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxtQkFBbUI7SUFDM0IsT0FBTyxDQUFDLE1BQU07SUFaaEIsT0FBTyxDQUFDLEdBQUcsQ0FBUztJQUNwQixPQUFPLENBQUMsU0FBUyxDQUE0QjtJQUM3QyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUM7SUFFOUMsWUFDVSxJQUFJLEVBQUUsU0FBUyxFQUNmLEtBQUssRUFBRSxpQkFBaUIsRUFDeEIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGlCQUFpQixFQUFFLGlCQUFpQixFQUNwQyxXQUFXLEVBQUUsYUFBYSxFQUMxQixtQkFBbUIsRUFBRSxtQkFBbUIsRUFDeEMsTUFBTSxHQUFFLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBTSxFQUNyRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBSTFCO0lBRUQsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FBRyxhQUFhLENBYW5GO0lBRUQsaURBQWlEO0lBQ3BDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBc0U1RTtZQUdhLHVCQUF1QjtJQVNyQzs7Ozs7Ozs7T0FRRztJQUNVLElBQUksa0JBZWhCO1lBRWEsTUFBTTtDQWNyQiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"block_synchronizer.d.ts","sourceRoot":"","sources":["../../src/block_synchronizer/block_synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAEL,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE/F;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,yBAAyB;IAM/D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;IAXhB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAE9C,YACU,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,iBAAiB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,aAAa,EAC1B,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM,EACrD,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAOjC;IAED,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,aAAa,CAOnF;IAED,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE5E;YAGa,uBAAuB;IAKrC;;;;;;;;OAQG;IACU,IAAI,kBAehB;YAEa,MAAM;CAcrB"}
1
+ {"version":3,"file":"block_synchronizer.d.ts","sourceRoot":"","sources":["../../src/block_synchronizer/block_synchronizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAa,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACxH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAE/F;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,yBAAyB;IAM/D,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,MAAM;IAZhB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAE9C,YACU,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,iBAAiB,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,aAAa,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,GAAE,OAAO,CAAC,uBAAuB,CAAM,EACrD,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAED,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,aAAa,CAanF;IAED,iDAAiD;IACpC,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsE5E;YAGa,uBAAuB;IASrC;;;;;;;;OAQG;IACU,IAAI,kBAehB;YAEa,MAAM;CAcrB"}
@@ -1,6 +1,6 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
- import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
3
+ import { BlockHash, L2BlockStream } from '@aztec/stdlib/block';
4
4
  /**
5
5
  * The BlockSynchronizer class orchestrates synchronization between PXE and Aztec node, maintaining an up-to-date
6
6
  * view of the L2 chain state. It handles block header retrieval, chain reorganizations, and provides an interface
@@ -12,23 +12,25 @@ import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
12
12
  noteStore;
13
13
  privateEventStore;
14
14
  l2TipsStore;
15
+ contractSyncService;
15
16
  config;
16
17
  log;
17
18
  isSyncing;
18
19
  blockStream;
19
- constructor(node, store, anchorBlockStore, noteStore, privateEventStore, l2TipsStore, config = {}, loggerOrSuffix){
20
+ constructor(node, store, anchorBlockStore, noteStore, privateEventStore, l2TipsStore, contractSyncService, config = {}, bindings){
20
21
  this.node = node;
21
22
  this.store = store;
22
23
  this.anchorBlockStore = anchorBlockStore;
23
24
  this.noteStore = noteStore;
24
25
  this.privateEventStore = privateEventStore;
25
26
  this.l2TipsStore = l2TipsStore;
27
+ this.contractSyncService = contractSyncService;
26
28
  this.config = config;
27
- this.log = !loggerOrSuffix || typeof loggerOrSuffix === 'string' ? createLogger(loggerOrSuffix ? `pxe:block_synchronizer:${loggerOrSuffix}` : `pxe:block_synchronizer`) : loggerOrSuffix;
29
+ this.log = createLogger('pxe:block_synchronizer', bindings);
28
30
  this.blockStream = this.createBlockStream(config);
29
31
  }
30
32
  createBlockStream(config) {
31
- return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream'), {
33
+ return new L2BlockStream(this.node, this.l2TipsStore, this, createLogger('pxe:block_stream', this.log.getBindings()), {
32
34
  batchSize: config.l2BlockBatchSize,
33
35
  // Skipping finalized blocks makes us sync much faster - we only need to download blocks other than the latest one
34
36
  // in order to detect reorgs, and there can be no reorgs on finalized block, making this safe.
@@ -90,7 +92,7 @@ import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
90
92
  // Note that the following is not necessarily the anchor block that will be used in the transaction - if
91
93
  // the chain has already moved past the reorg, we'll also see blocks-added events that will push the anchor
92
94
  // forward.
93
- const newAnchorBlockHeader = await this.node.getBlockHeader(L2BlockHash.fromString(event.block.hash));
95
+ const newAnchorBlockHeader = await this.node.getBlockHeader(BlockHash.fromString(event.block.hash));
94
96
  if (!newAnchorBlockHeader) {
95
97
  throw new Error(`Block header for block number ${event.block.number} and hash ${event.block.hash} not found during chain prune. This likely indicates a bug in the node, as we receive block stream events and fetch block headers from the same node.`);
96
98
  }
@@ -105,6 +107,10 @@ import { L2BlockHash, L2BlockStream } from '@aztec/stdlib/block';
105
107
  }
106
108
  }
107
109
  /** Updates the anchor block header to the target block */ async updateAnchorBlockHeader(blockHeader) {
110
+ // Whenever the anchor block header is updated, we need to synchronize the private state of contracts again.
111
+ // Therefore, we clear the contract synchronization cache here such that the sync is re-triggered upon new
112
+ // execution.
113
+ this.contractSyncService.wipe();
108
114
  this.log.verbose(`Updated pxe last block to ${blockHeader.getBlockNumber()}`, blockHeader.toInspect());
109
115
  await this.anchorBlockStore.setHeader(blockHeader);
110
116
  }
@@ -8,8 +8,8 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
8
8
  import type { AztecNode } from '@aztec/stdlib/interfaces/server';
9
9
  import { type PrivateKernelExecutionProofOutput, PrivateKernelTailCircuitPublicInputs } from '@aztec/stdlib/kernel';
10
10
  import { BlockHeader, PrivateExecutionResult, TxExecutionRequest } from '@aztec/stdlib/tx';
11
+ import type { ContractSyncService } from '../contract_sync/contract_sync_service.js';
11
12
  import type { AddressStore } from '../storage/address_store/address_store.js';
12
- import type { AnchorBlockStore } from '../storage/anchor_block_store/anchor_block_store.js';
13
13
  import type { CapsuleStore } from '../storage/capsule_store/capsule_store.js';
14
14
  import type { ContractStore } from '../storage/contract_store/contract_store.js';
15
15
  import type { NoteStore } from '../storage/note_store/note_store.js';
@@ -17,39 +17,61 @@ import type { PrivateEventStore } from '../storage/private_event_store/private_e
17
17
  import type { RecipientTaggingStore } from '../storage/tagging_store/recipient_tagging_store.js';
18
18
  import type { SenderAddressBookStore } from '../storage/tagging_store/sender_address_book_store.js';
19
19
  import type { SenderTaggingStore } from '../storage/tagging_store/sender_tagging_store.js';
20
+ /** Options for ContractFunctionSimulator.run. */
21
+ export type ContractSimulatorRunOpts = {
22
+ /** The address of the contract (should match request.origin). */
23
+ contractAddress: AztecAddress;
24
+ /** The function selector of the entry point. */
25
+ selector: FunctionSelector;
26
+ /** The address calling the function. Can be replaced to simulate a call from another contract or account. */
27
+ msgSender?: AztecAddress;
28
+ /** The block header to use as base state for this run. */
29
+ anchorBlockHeader: BlockHeader;
30
+ /** The address used as a tagging sender when emitting private logs. */
31
+ senderForTags?: AztecAddress;
32
+ /** The accounts whose notes we can access in this call. Defaults to all. */
33
+ scopes?: AztecAddress[];
34
+ /** The job ID for staged writes. */
35
+ jobId: string;
36
+ };
37
+ /** Args for ContractFunctionSimulator constructor. */
38
+ export type ContractFunctionSimulatorArgs = {
39
+ contractStore: ContractStore;
40
+ noteStore: NoteStore;
41
+ keyStore: KeyStore;
42
+ addressStore: AddressStore;
43
+ aztecNode: AztecNode;
44
+ senderTaggingStore: SenderTaggingStore;
45
+ recipientTaggingStore: RecipientTaggingStore;
46
+ senderAddressBookStore: SenderAddressBookStore;
47
+ capsuleStore: CapsuleStore;
48
+ privateEventStore: PrivateEventStore;
49
+ simulator: CircuitSimulator;
50
+ contractSyncService: ContractSyncService;
51
+ };
20
52
  /**
21
53
  * The contract function simulator.
22
54
  */
23
55
  export declare class ContractFunctionSimulator {
24
- private contractStore;
25
- private noteStore;
26
- private keyStore;
27
- private addressStore;
28
- private aztecNode;
29
- private anchorBlockStore;
30
- private senderTaggingStore;
31
- private recipientTaggingStore;
32
- private senderAddressBookStore;
33
- private capsuleStore;
34
- private privateEventStore;
35
- private simulator;
36
- private log;
37
- constructor(contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, aztecNode: AztecNode, anchorBlockStore: AnchorBlockStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, simulator: CircuitSimulator);
56
+ private readonly log;
57
+ private readonly contractStore;
58
+ private readonly noteStore;
59
+ private readonly keyStore;
60
+ private readonly addressStore;
61
+ private readonly aztecNode;
62
+ private readonly senderTaggingStore;
63
+ private readonly recipientTaggingStore;
64
+ private readonly senderAddressBookStore;
65
+ private readonly capsuleStore;
66
+ private readonly privateEventStore;
67
+ private readonly simulator;
68
+ private readonly contractSyncService;
69
+ constructor(args: ContractFunctionSimulatorArgs);
38
70
  /**
39
71
  * Runs a private function.
40
72
  * @param request - The transaction request.
41
- * @param entryPointArtifact - The artifact of the entry point function.
42
- * @param contractAddress - The address of the contract (should match request.origin)
43
- * @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract
44
- * or a specific account.
45
- * @param anchorBlockHeader - The block header to use as base state for this run.
46
- * @param senderForTags - The address that is used as a tagging sender when emitting private logs. Returned from
47
- * the `privateGetSenderForTags` oracle.
48
- * @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
49
- * @param jobId - The job ID for staged writes.
50
- * @returns The result of the execution.
51
73
  */
52
- run(request: TxExecutionRequest, contractAddress: AztecAddress, selector: FunctionSelector, msgSender: AztecAddress | undefined, anchorBlockHeader: BlockHeader, senderForTags: AztecAddress | undefined, scopes: AztecAddress[] | undefined, jobId: string): Promise<PrivateExecutionResult>;
74
+ run(request: TxExecutionRequest, { contractAddress, selector, msgSender, anchorBlockHeader, senderForTags, scopes, jobId }: ContractSimulatorRunOpts): Promise<PrivateExecutionResult>;
53
75
  /**
54
76
  * Runs a utility function.
55
77
  * @param call - The function call to execute.
@@ -80,5 +102,5 @@ export declare class ContractFunctionSimulator {
80
102
  * Used by TXE to simulate account contract behavior (setting the counter before app execution).
81
103
  * @returns The simulated proving result.
82
104
  */
83
- export declare function generateSimulatedProvingResult(privateExecutionResult: PrivateExecutionResult, contractStore: ContractStore, minRevertibleSideEffectCounterOverride?: number): Promise<PrivateKernelExecutionProofOutput<PrivateKernelTailCircuitPublicInputs>>;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU90QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFTM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUlMLEtBQUssaUNBQWlDLEVBQ3RDLG9DQUFvQyxFQUtyQyxNQUFNLHNCQUFzQixDQUFDO0FBSTlCLE9BQU8sRUFDTCxXQUFXLEVBR1gsc0JBQXNCLEVBRXRCLGtCQUFrQixFQUduQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEcsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQVUzRjs7R0FFRztBQUNILHFCQUFhLHlCQUF5QjtJQUlsQyxPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxrQkFBa0I7SUFDMUIsT0FBTyxDQUFDLHFCQUFxQjtJQUM3QixPQUFPLENBQUMsc0JBQXNCO0lBQzlCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxpQkFBaUI7SUFDekIsT0FBTyxDQUFDLFNBQVM7SUFkbkIsT0FBTyxDQUFDLEdBQUcsQ0FBUztJQUVwQixZQUNVLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFlBQVksRUFBRSxZQUFZLEVBQzFCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLHNCQUFzQixFQUFFLHNCQUFzQixFQUM5QyxZQUFZLEVBQUUsWUFBWSxFQUMxQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsU0FBUyxFQUFFLGdCQUFnQixFQUdwQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDVSxHQUFHLENBQ2QsT0FBTyxFQUFFLGtCQUFrQixFQUMzQixlQUFlLEVBQUUsWUFBWSxFQUM3QixRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLFNBQVMsMEJBQTZDLEVBQ3RELGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsYUFBYSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQ3ZDLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxTQUFTLEVBQ2xDLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBNEdqQztJQUdEOzs7Ozs7OztPQVFHO0lBQ1UsVUFBVSxDQUNyQixJQUFJLEVBQUUsWUFBWSxFQUNsQixRQUFRLEVBQUUsV0FBVyxFQUFFLEVBQ3ZCLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLFNBQVMsRUFDbEMsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FzRGY7SUFHRDs7O09BR0c7SUFDSCxRQUFROztNQVVQO0NBQ0Y7QUFZRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQiw4QkFBOEIsQ0FDbEQsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLGFBQWEsRUFBRSxhQUFhLEVBQzVCLHNDQUFzQyxDQUFDLEVBQUUsTUFBTSxHQUM5QyxPQUFPLENBQUMsaUNBQWlDLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQXdObEYifQ==
105
+ export declare function generateSimulatedProvingResult(privateExecutionResult: PrivateExecutionResult, debugFunctionNameGetter: (contractAddress: AztecAddress, functionSelector: FunctionSelector) => Promise<string>, minRevertibleSideEffectCounterOverride?: number): Promise<PrivateKernelExecutionProofOutput<PrivateKernelTailCircuitPublicInputs>>;
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQU90QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFTM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUlMLEtBQUssaUNBQWlDLEVBQ3RDLG9DQUFvQyxFQUtyQyxNQUFNLHNCQUFzQixDQUFDO0FBSTlCLE9BQU8sRUFDTCxXQUFXLEVBR1gsc0JBQXNCLEVBRXRCLGtCQUFrQixFQUduQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUs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
@@ -1 +1 @@
1
- {"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { AVM_EMITNOTEHASH_BASE_L2_GAS, AVM_EMITNULLIFIER_BASE_L2_GAS, AVM_SENDL2TOL1MSG_BASE_L2_GAS, DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, FIXED_DA_GAS, FIXED_L2_GAS, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_PRIVATE_LOG, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX } from '@aztec/constants';
1
+ import { AVM_EMITNOTEHASH_BASE_L2_GAS, AVM_EMITNULLIFIER_BASE_L2_GAS, AVM_SENDL2TOL1MSG_BASE_L2_GAS, DA_BYTES_PER_FIELD, DA_GAS_PER_BYTE, FIXED_AVM_STARTUP_L2_GAS, FIXED_DA_GAS, FIXED_L2_GAS, GeneratorIndex, L2_GAS_PER_CONTRACT_CLASS_LOG, L2_GAS_PER_PRIVATE_LOG, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX } from '@aztec/constants';
2
2
  import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
3
- import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
3
+ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
6
  import { Timer } from '@aztec/foundation/timer';
@@ -26,48 +26,38 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
26
26
  /**
27
27
  * The contract function simulator.
28
28
  */ export class ContractFunctionSimulator {
29
+ log;
29
30
  contractStore;
30
31
  noteStore;
31
32
  keyStore;
32
33
  addressStore;
33
34
  aztecNode;
34
- anchorBlockStore;
35
35
  senderTaggingStore;
36
36
  recipientTaggingStore;
37
37
  senderAddressBookStore;
38
38
  capsuleStore;
39
39
  privateEventStore;
40
40
  simulator;
41
- log;
42
- constructor(contractStore, noteStore, keyStore, addressStore, aztecNode, anchorBlockStore, senderTaggingStore, recipientTaggingStore, senderAddressBookStore, capsuleStore, privateEventStore, simulator){
43
- this.contractStore = contractStore;
44
- this.noteStore = noteStore;
45
- this.keyStore = keyStore;
46
- this.addressStore = addressStore;
47
- this.aztecNode = aztecNode;
48
- this.anchorBlockStore = anchorBlockStore;
49
- this.senderTaggingStore = senderTaggingStore;
50
- this.recipientTaggingStore = recipientTaggingStore;
51
- this.senderAddressBookStore = senderAddressBookStore;
52
- this.capsuleStore = capsuleStore;
53
- this.privateEventStore = privateEventStore;
54
- this.simulator = simulator;
41
+ contractSyncService;
42
+ constructor(args){
43
+ this.contractStore = args.contractStore;
44
+ this.noteStore = args.noteStore;
45
+ this.keyStore = args.keyStore;
46
+ this.addressStore = args.addressStore;
47
+ this.aztecNode = args.aztecNode;
48
+ this.senderTaggingStore = args.senderTaggingStore;
49
+ this.recipientTaggingStore = args.recipientTaggingStore;
50
+ this.senderAddressBookStore = args.senderAddressBookStore;
51
+ this.capsuleStore = args.capsuleStore;
52
+ this.privateEventStore = args.privateEventStore;
53
+ this.simulator = args.simulator;
54
+ this.contractSyncService = args.contractSyncService;
55
55
  this.log = createLogger('simulator');
56
56
  }
57
57
  /**
58
58
  * Runs a private function.
59
59
  * @param request - The transaction request.
60
- * @param entryPointArtifact - The artifact of the entry point function.
61
- * @param contractAddress - The address of the contract (should match request.origin)
62
- * @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract
63
- * or a specific account.
64
- * @param anchorBlockHeader - The block header to use as base state for this run.
65
- * @param senderForTags - The address that is used as a tagging sender when emitting private logs. Returned from
66
- * the `privateGetSenderForTags` oracle.
67
- * @param scopes - The accounts whose notes we can access in this call. Currently optional and will default to all.
68
- * @param jobId - The job ID for staged writes.
69
- * @returns The result of the execution.
70
- */ async run(request, contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), anchorBlockHeader, senderForTags, scopes, jobId) {
60
+ */ async run(request, { contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), anchorBlockHeader, senderForTags, scopes, jobId }) {
71
61
  const simulatorSetupTimer = new Timer();
72
62
  const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, selector);
73
63
  if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
@@ -82,9 +72,37 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
82
72
  const protocolNullifier = await computeProtocolNullifier(await request.toTxRequest().hash());
83
73
  const noteCache = new ExecutionNoteCache(protocolNullifier);
84
74
  const taggingIndexCache = new ExecutionTaggingIndexCache();
85
- const privateExecutionOracle = new PrivateExecutionOracle(request.firstCallArgsHash, request.txContext, callContext, anchorBlockHeader, async (call)=>{
86
- await this.runUtility(call, [], anchorBlockHeader, scopes, jobId);
87
- }, request.authWitnesses, request.capsules, HashedValuesCache.create(request.argsOfCalls), noteCache, taggingIndexCache, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.anchorBlockStore, this.senderTaggingStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, jobId, 0, startSideEffectCounter, undefined, scopes, senderForTags, this.simulator);
75
+ const privateExecutionOracle = new PrivateExecutionOracle({
76
+ argsHash: request.firstCallArgsHash,
77
+ txContext: request.txContext,
78
+ callContext,
79
+ anchorBlockHeader,
80
+ utilityExecutor: async (call)=>{
81
+ await this.runUtility(call, [], anchorBlockHeader, scopes, jobId);
82
+ },
83
+ authWitnesses: request.authWitnesses,
84
+ capsules: request.capsules,
85
+ executionCache: HashedValuesCache.create(request.argsOfCalls),
86
+ noteCache,
87
+ taggingIndexCache,
88
+ contractStore: this.contractStore,
89
+ noteStore: this.noteStore,
90
+ keyStore: this.keyStore,
91
+ addressStore: this.addressStore,
92
+ aztecNode: this.aztecNode,
93
+ senderTaggingStore: this.senderTaggingStore,
94
+ recipientTaggingStore: this.recipientTaggingStore,
95
+ senderAddressBookStore: this.senderAddressBookStore,
96
+ capsuleStore: this.capsuleStore,
97
+ privateEventStore: this.privateEventStore,
98
+ contractSyncService: this.contractSyncService,
99
+ jobId,
100
+ totalPublicCalldataCount: 0,
101
+ sideEffectCounter: startSideEffectCounter,
102
+ scopes,
103
+ senderForTags,
104
+ simulator: this.simulator
105
+ });
88
106
  const setupTime = simulatorSetupTimer.ms();
89
107
  try {
90
108
  // Note: any nested private function calls are made recursively within this
@@ -131,7 +149,23 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
131
149
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
132
150
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
133
151
  }
134
- const oracle = new UtilityExecutionOracle(call.to, authwits, [], anchorBlockHeader, this.contractStore, this.noteStore, this.keyStore, this.addressStore, this.aztecNode, this.anchorBlockStore, this.recipientTaggingStore, this.senderAddressBookStore, this.capsuleStore, this.privateEventStore, jobId, undefined, scopes);
152
+ const oracle = new UtilityExecutionOracle({
153
+ contractAddress: call.to,
154
+ authWitnesses: authwits,
155
+ capsules: [],
156
+ anchorBlockHeader,
157
+ contractStore: this.contractStore,
158
+ noteStore: this.noteStore,
159
+ keyStore: this.keyStore,
160
+ addressStore: this.addressStore,
161
+ aztecNode: this.aztecNode,
162
+ recipientTaggingStore: this.recipientTaggingStore,
163
+ senderAddressBookStore: this.senderAddressBookStore,
164
+ capsuleStore: this.capsuleStore,
165
+ privateEventStore: this.privateEventStore,
166
+ jobId,
167
+ scopes
168
+ });
135
169
  try {
136
170
  this.log.verbose(`Executing utility function ${entryPointArtifact.name}`, {
137
171
  contract: call.to,
@@ -191,7 +225,7 @@ class OrderedSideEffect {
191
225
  * @param minRevertibleSideEffectCounterOverride - Optional override for the min revertible side effect counter.
192
226
  * Used by TXE to simulate account contract behavior (setting the counter before app execution).
193
227
  * @returns The simulated proving result.
194
- */ export async function generateSimulatedProvingResult(privateExecutionResult, contractStore, minRevertibleSideEffectCounterOverride) {
228
+ */ export async function generateSimulatedProvingResult(privateExecutionResult, debugFunctionNameGetter, minRevertibleSideEffectCounterOverride) {
195
229
  const siloedNoteHashes = [];
196
230
  const nullifiers = [];
197
231
  const taggedPrivateLogs = [];
@@ -210,10 +244,10 @@ class OrderedSideEffect {
210
244
  const noteHashesFromExecution = await Promise.all(execution.publicInputs.noteHashes.getActiveItems().filter((noteHash)=>!noteHash.isEmpty()).map(async (noteHash)=>new OrderedSideEffect(await siloNoteHash(contractAddress, noteHash.value), noteHash.counter)));
211
245
  const nullifiersFromExecution = await Promise.all(execution.publicInputs.nullifiers.getActiveItems().map(async (nullifier)=>new OrderedSideEffect(await siloNullifier(contractAddress, nullifier.value), nullifier.counter)));
212
246
  const privateLogsFromExecution = await Promise.all(execution.publicInputs.privateLogs.getActiveItems().map(async (metadata)=>{
213
- metadata.log.fields[0] = await poseidon2Hash([
247
+ metadata.log.fields[0] = await poseidon2HashWithSeparator([
214
248
  contractAddress,
215
249
  metadata.log.fields[0]
216
- ]);
250
+ ], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
217
251
  return new OrderedSideEffect(metadata.log, metadata.counter);
218
252
  }));
219
253
  siloedNoteHashes.push(...noteHashesFromExecution);
@@ -227,7 +261,7 @@ class OrderedSideEffect {
227
261
  }
228
262
  publicTeardownCallRequest = execution.publicInputs.publicTeardownCallRequest.isEmpty() ? publicTeardownCallRequest : execution.publicInputs.publicTeardownCallRequest;
229
263
  executionSteps.push({
230
- functionName: await contractStore.getDebugFunctionName(execution.publicInputs.callContext.contractAddress, execution.publicInputs.callContext.functionSelector),
264
+ functionName: await debugFunctionNameGetter(execution.publicInputs.callContext.contractAddress, execution.publicInputs.callContext.functionSelector),
231
265
  timings: execution.profileResult?.timings ?? {
232
266
  witgen: 0,
233
267
  oracles: {}
@@ -5,7 +5,7 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
5
5
  import { MembershipWitness } from '@aztec/foundation/trees';
6
6
  import type { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
7
7
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
8
- import { L2BlockHash } from '@aztec/stdlib/block';
8
+ import { BlockHash } from '@aztec/stdlib/block';
9
9
  import type { CompleteAddress, ContractInstance } from '@aztec/stdlib/contract';
10
10
  import type { KeyValidationRequest } from '@aztec/stdlib/kernel';
11
11
  import type { ContractClassLog, Tag } from '@aztec/stdlib/logs';
@@ -45,7 +45,7 @@ export interface IMiscOracle {
45
45
  isMisc: true;
46
46
  utilityGetRandomField(): Fr;
47
47
  utilityAssertCompatibleOracleVersion(version: number): void;
48
- utilityDebugLog(level: number, message: string, fields: Fr[]): void;
48
+ utilityLog(level: number, message: string, fields: Fr[]): Promise<void>;
49
49
  }
50
50
  /**
51
51
  * Oracle methods associated with the execution of an Aztec #[external("utility")] function. Note that the IMiscOracles are also
@@ -56,18 +56,18 @@ export interface IUtilityExecutionOracle {
56
56
  utilityGetUtilityContext(): UtilityContext;
57
57
  utilityGetKeyValidationRequest(pkMHash: Fr): Promise<KeyValidationRequest>;
58
58
  utilityGetContractInstance(address: AztecAddress): Promise<ContractInstance>;
59
- utilityGetNoteHashMembershipWitness(blockHash: L2BlockHash, leafValue: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
60
- utilityGetArchiveMembershipWitness(blockHash: L2BlockHash, leafValue: Fr): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
61
- utilityGetNullifierMembershipWitness(blockHash: L2BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
62
- utilityGetPublicDataWitness(blockHash: L2BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
63
- utilityGetLowNullifierMembershipWitness(blockHash: L2BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
59
+ utilityGetNoteHashMembershipWitness(anchorBlockHash: BlockHash, noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
60
+ utilityGetBlockHashMembershipWitness(anchorBlockHash: BlockHash, blockHash: BlockHash): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
61
+ utilityGetNullifierMembershipWitness(anchorBlockHash: BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
62
+ utilityGetPublicDataWitness(anchorBlockHash: BlockHash, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
63
+ utilityGetLowNullifierMembershipWitness(anchorBlockHash: BlockHash, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
64
64
  utilityGetBlockHeader(blockNumber: BlockNumber): Promise<BlockHeader | undefined>;
65
- utilityGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress>;
65
+ utilityTryGetPublicKeysAndPartialAddress(account: AztecAddress): Promise<CompleteAddress | undefined>;
66
66
  utilityGetAuthWitness(messageHash: Fr): Promise<Fr[] | undefined>;
67
67
  utilityGetNotes(owner: AztecAddress | undefined, storageSlot: Fr, numSelects: number, selectByIndexes: number[], selectByOffsets: number[], selectByLengths: number[], selectValues: Fr[], selectComparators: number[], sortByIndexes: number[], sortByOffsets: number[], sortByLengths: number[], sortOrder: number[], limit: number, offset: number, status: NoteStatus): Promise<NoteData[]>;
68
68
  utilityCheckNullifierExists(innerNullifier: Fr): Promise<boolean>;
69
69
  utilityGetL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<MessageLoadOracleInputs<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
70
- utilityStorageRead(blockHash: L2BlockHash, contractAddress: AztecAddress, startStorageSlot: Fr, numberOfElements: number): Promise<Fr[]>;
70
+ utilityStorageRead(anchorBlockHash: BlockHash, contractAddress: AztecAddress, startStorageSlot: Fr, numberOfElements: number): Promise<Fr[]>;
71
71
  utilityFetchTaggedLogs(pendingTaggedLogArrayBaseSlot: Fr): Promise<void>;
72
72
  utilityValidateAndStoreEnqueuedNotesAndEvents(contractAddress: AztecAddress, noteValidationRequestsArrayBaseSlot: Fr, eventValidationRequestsArrayBaseSlot: Fr): Promise<void>;
73
73
  utilityBulkRetrieveLogs(contractAddress: AztecAddress, logRetrievalRequestsArrayBaseSlot: Fr, logRetrievalResponsesArrayBaseSlot: Fr): Promise<void>;
@@ -104,4 +104,4 @@ export interface IPrivateExecutionOracle {
104
104
  privateGetNextAppTagAsSender(sender: AztecAddress, recipient: AztecAddress): Promise<Tag>;
105
105
  utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
106
106
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSywwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE9B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
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9vcmFjbGUvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSywwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE9B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
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/interfaces.ts"],"names":[],"mappings":"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"}