@aztec/pxe 0.0.1-commit.c7c42ec → 0.0.1-commit.c80b6263

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 (214) hide show
  1. package/dest/bin/check_oracle_version.js +1 -1
  2. package/dest/block_synchronizer/block_synchronizer.d.ts +11 -5
  3. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  4. package/dest/block_synchronizer/block_synchronizer.js +68 -20
  5. package/dest/config/index.d.ts +3 -1
  6. package/dest/config/index.d.ts.map +1 -1
  7. package/dest/config/index.js +17 -0
  8. package/dest/config/package_info.js +1 -1
  9. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  10. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  11. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  12. package/dest/contract_function_simulator/contract_function_simulator.d.ts +8 -9
  13. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  14. package/dest/contract_function_simulator/contract_function_simulator.js +33 -19
  15. package/dest/contract_function_simulator/execution_note_cache.d.ts +18 -9
  16. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  17. package/dest/contract_function_simulator/execution_note_cache.js +45 -28
  18. package/dest/contract_function_simulator/index.d.ts +2 -2
  19. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/index.js +1 -1
  21. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
  22. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  23. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +6 -3
  24. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +1 -1
  25. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +1 -1
  26. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  27. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  29. package/dest/contract_function_simulator/oracle/interfaces.d.ts +15 -11
  30. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  31. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +3 -1
  32. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +6 -6
  34. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  35. package/dest/contract_function_simulator/oracle/note_packing_utils.js +8 -8
  36. package/dest/contract_function_simulator/oracle/oracle.d.ts +10 -8
  37. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  38. package/dest/contract_function_simulator/oracle/oracle.js +43 -32
  39. package/dest/contract_function_simulator/oracle/private_execution.d.ts +2 -26
  40. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  41. package/dest/contract_function_simulator/oracle/private_execution.js +1 -37
  42. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +16 -18
  43. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  44. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +24 -38
  45. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +27 -17
  46. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  47. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +72 -72
  48. package/dest/contract_sync/index.d.ts +23 -0
  49. package/dest/contract_sync/index.d.ts.map +1 -0
  50. package/dest/contract_sync/index.js +54 -0
  51. package/dest/debug/pxe_debug_utils.d.ts +16 -6
  52. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  53. package/dest/debug/pxe_debug_utils.js +20 -10
  54. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  55. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  56. package/dest/entrypoints/client/bundle/utils.js +20 -6
  57. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  58. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  59. package/dest/entrypoints/client/lazy/utils.js +21 -7
  60. package/dest/entrypoints/pxe_creation_options.d.ts +5 -3
  61. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  62. package/dest/entrypoints/server/index.d.ts +3 -1
  63. package/dest/entrypoints/server/index.d.ts.map +1 -1
  64. package/dest/entrypoints/server/index.js +2 -0
  65. package/dest/entrypoints/server/utils.d.ts +1 -1
  66. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  67. package/dest/entrypoints/server/utils.js +30 -15
  68. package/dest/events/event_service.d.ts +4 -3
  69. package/dest/events/event_service.d.ts.map +1 -1
  70. package/dest/events/event_service.js +17 -19
  71. package/dest/events/private_event_filter_validator.d.ts +5 -5
  72. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  73. package/dest/events/private_event_filter_validator.js +5 -6
  74. package/dest/job_coordinator/job_coordinator.d.ts +75 -0
  75. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  76. package/dest/job_coordinator/job_coordinator.js +94 -0
  77. package/dest/logs/log_service.d.ts +4 -2
  78. package/dest/logs/log_service.d.ts.map +1 -1
  79. package/dest/logs/log_service.js +22 -14
  80. package/dest/notes/note_service.d.ts +5 -4
  81. package/dest/notes/note_service.d.ts.map +1 -1
  82. package/dest/notes/note_service.js +30 -34
  83. package/dest/oracle_version.d.ts +3 -3
  84. package/dest/oracle_version.d.ts.map +1 -1
  85. package/dest/oracle_version.js +4 -3
  86. package/dest/private_kernel/hints/index.d.ts +2 -2
  87. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  88. package/dest/private_kernel/hints/index.js +1 -1
  89. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
  90. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  91. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +13 -7
  92. package/dest/private_kernel/private_kernel_execution_prover.d.ts +3 -2
  93. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  94. package/dest/private_kernel/private_kernel_execution_prover.js +6 -7
  95. package/dest/private_kernel/private_kernel_oracle.d.ts +24 -28
  96. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  97. package/dest/private_kernel/private_kernel_oracle.js +90 -2
  98. package/dest/pxe.d.ts +8 -36
  99. package/dest/pxe.d.ts.map +1 -1
  100. package/dest/pxe.js +75 -93
  101. package/dest/storage/capsule_store/capsule_store.d.ts +24 -9
  102. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  103. package/dest/storage/capsule_store/capsule_store.js +132 -23
  104. package/dest/storage/note_store/note_store.d.ts +45 -56
  105. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  106. package/dest/storage/note_store/note_store.js +244 -263
  107. package/dest/storage/note_store/stored_note.d.ts +16 -0
  108. package/dest/storage/note_store/stored_note.d.ts.map +1 -0
  109. package/dest/storage/note_store/stored_note.js +43 -0
  110. package/dest/storage/private_event_store/private_event_store.d.ts +47 -7
  111. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  112. package/dest/storage/private_event_store/private_event_store.js +203 -68
  113. package/dest/storage/private_event_store/stored_private_event.d.ts +23 -0
  114. package/dest/storage/private_event_store/stored_private_event.d.ts.map +1 -0
  115. package/dest/storage/private_event_store/stored_private_event.js +56 -0
  116. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +15 -8
  117. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  118. package/dest/storage/tagging_store/recipient_tagging_store.js +69 -12
  119. package/dest/storage/tagging_store/sender_tagging_store.d.ts +19 -9
  120. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  121. package/dest/storage/tagging_store/sender_tagging_store.js +110 -28
  122. package/dest/tagging/constants.d.ts +2 -0
  123. package/dest/tagging/constants.d.ts.map +1 -0
  124. package/dest/tagging/constants.js +10 -0
  125. package/dest/tagging/get_all_logs_by_tags.d.ts +24 -0
  126. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -0
  127. package/dest/tagging/get_all_logs_by_tags.js +46 -0
  128. package/dest/tagging/index.d.ts +3 -2
  129. package/dest/tagging/index.d.ts.map +1 -1
  130. package/dest/tagging/index.js +2 -10
  131. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +3 -2
  132. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -1
  133. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +8 -8
  134. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +3 -2
  135. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -1
  136. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +5 -2
  137. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +3 -2
  138. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  139. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +8 -8
  140. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +1 -1
  141. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  142. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +5 -8
  143. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +5 -2
  144. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  145. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +10 -5
  146. package/package.json +18 -18
  147. package/src/bin/check_oracle_version.ts +1 -0
  148. package/src/block_synchronizer/block_synchronizer.ts +87 -32
  149. package/src/config/index.ts +14 -0
  150. package/src/config/package_info.ts +1 -1
  151. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  152. package/src/contract_function_simulator/contract_function_simulator.ts +39 -21
  153. package/src/contract_function_simulator/execution_note_cache.ts +44 -25
  154. package/src/contract_function_simulator/index.ts +1 -1
  155. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -1
  156. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +1 -1
  157. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  158. package/src/contract_function_simulator/oracle/interfaces.ts +20 -10
  159. package/src/contract_function_simulator/oracle/note_packing_utils.ts +10 -10
  160. package/src/contract_function_simulator/oracle/oracle.ts +56 -41
  161. package/src/contract_function_simulator/oracle/private_execution.ts +1 -69
  162. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +43 -42
  163. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +92 -76
  164. package/src/contract_sync/index.ts +98 -0
  165. package/src/debug/pxe_debug_utils.ts +26 -11
  166. package/src/entrypoints/client/bundle/utils.ts +12 -15
  167. package/src/entrypoints/client/lazy/utils.ts +13 -16
  168. package/src/entrypoints/pxe_creation_options.ts +4 -2
  169. package/src/entrypoints/server/index.ts +2 -0
  170. package/src/entrypoints/server/utils.ts +26 -34
  171. package/src/events/event_service.ts +17 -21
  172. package/src/events/private_event_filter_validator.ts +3 -5
  173. package/src/job_coordinator/job_coordinator.ts +150 -0
  174. package/src/logs/log_service.ts +33 -12
  175. package/src/notes/note_service.ts +37 -40
  176. package/src/oracle_version.ts +4 -3
  177. package/src/private_kernel/hints/index.ts +1 -1
  178. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +33 -22
  179. package/src/private_kernel/private_kernel_execution_prover.ts +9 -8
  180. package/src/private_kernel/private_kernel_oracle.ts +116 -36
  181. package/src/pxe.ts +136 -122
  182. package/src/storage/capsule_store/capsule_store.ts +159 -23
  183. package/src/storage/note_store/note_store.ts +286 -317
  184. package/src/storage/note_store/stored_note.ts +48 -0
  185. package/src/storage/private_event_store/private_event_store.ts +277 -76
  186. package/src/storage/private_event_store/stored_private_event.ts +73 -0
  187. package/src/storage/tagging_store/recipient_tagging_store.ts +89 -13
  188. package/src/storage/tagging_store/sender_tagging_store.ts +129 -28
  189. package/src/tagging/constants.ts +10 -0
  190. package/src/tagging/get_all_logs_by_tags.ts +68 -0
  191. package/src/tagging/index.ts +2 -11
  192. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +21 -7
  193. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +7 -1
  194. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +10 -7
  195. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +5 -13
  196. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +16 -4
  197. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  198. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  199. package/dest/contract_function_simulator/proxied_node.js +0 -27
  200. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  201. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  202. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -46
  203. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  204. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  205. package/dest/public_storage/public_storage_service.d.ts +0 -24
  206. package/dest/public_storage/public_storage_service.d.ts.map +0 -1
  207. package/dest/public_storage/public_storage_service.js +0 -26
  208. package/dest/tree_membership/tree_membership_service.d.ts +0 -52
  209. package/dest/tree_membership/tree_membership_service.d.ts.map +0 -1
  210. package/dest/tree_membership/tree_membership_service.js +0 -84
  211. package/src/contract_function_simulator/proxied_node.ts +0 -33
  212. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -133
  213. package/src/public_storage/public_storage_service.ts +0 -33
  214. package/src/tree_membership/tree_membership_service.ts +0 -112
@@ -2,27 +2,27 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { Note } from '@aztec/stdlib/note';
4
4
  /**
5
- * Packs a note in a format that is compatible with the default Packable implementation of the retrieved note.
5
+ * Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
6
6
  *
7
7
  * @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
8
- * and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
8
+ * and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
9
9
  *
10
10
  * @param contractAddress - The address of the contract that owns the note
11
11
  * @param owner - The owner of the note
12
12
  * @param randomness - The randomness injected into the note to get the hiding property of commitments
13
13
  * @param storageSlot - The storage slot of the note
14
14
  * @param noteNonce - The nonce injected into the note hash preimage by kernels.
15
- * @param index - Optional index in the note hash tree. If undefined, indicates a transient note
15
+ * @param isPending - True if the note is pending, false if settled
16
16
  * @param note - The note content containing the actual note data
17
17
  * @returns The packed note as an array of field elements
18
18
  */
19
- export declare function packAsRetrievedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, index, note }: {
19
+ export declare function packAsHintedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, isPending, note }: {
20
20
  contractAddress: AztecAddress;
21
21
  owner: AztecAddress;
22
22
  randomness: Fr;
23
23
  storageSlot: Fr;
24
24
  noteNonce: Fr;
25
- index?: bigint;
25
+ isPending: boolean;
26
26
  note: Note;
27
27
  }): (AztecAddress | Fr)[];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wYWNraW5nX3V0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9ub3RlX3BhY2tpbmdfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUIvQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxFQUNsQyxlQUFlLEVBQ2YsS0FBSyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsU0FBUyxFQUNULEtBQUssRUFDTCxJQUFJLEVBQ0wsRUFBRTtJQUNELGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQ2QsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQztDQUNaLHlCQWlCQSJ9
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wYWNraW5nX3V0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9ub3RlX3BhY2tpbmdfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUIvQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FBQyxFQUMvQixlQUFlLEVBQ2YsS0FBSyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxJQUFJLEVBQ0wsRUFBRTtJQUNELGVBQWUsRUFBRSxZQUFZLENBQUM7SUFDOUIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQ2YsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUNoQixTQUFTLEVBQUUsRUFBRSxDQUFDO0lBQ2QsU0FBUyxFQUFFLE9BQU8sQ0FBQztJQUNuQixJQUFJLEVBQUUsSUFBSSxDQUFDO0NBQ1oseUJBaUJBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"note_packing_utils.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/note_packing_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAiB/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,KAAK,EACL,IAAI,EACL,EAAE;IACD,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,WAAW,EAAE,EAAE,CAAC;IAChB,SAAS,EAAE,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ,yBAiBA"}
1
+ {"version":3,"file":"note_packing_utils.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/note_packing_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAiB/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,IAAI,EACL,EAAE;IACD,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,WAAW,EAAE,EAAE,CAAC;IAChB,SAAS,EAAE,EAAE,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,yBAiBA"}
@@ -23,24 +23,24 @@ function fromRawData(nonzeroNoteHashCounter, maybeNoteNonce) {
23
23
  }
24
24
  }
25
25
  /**
26
- * Packs a note in a format that is compatible with the default Packable implementation of the retrieved note.
26
+ * Packs a note in a format that is compatible with the default Packable implementation of the hinted note.
27
27
  *
28
28
  * @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
29
- * and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
29
+ * and only after that it packs the hinted note. Hence it doesn't map one to one with `HintedNote::pack()`.
30
30
  *
31
31
  * @param contractAddress - The address of the contract that owns the note
32
32
  * @param owner - The owner of the note
33
33
  * @param randomness - The randomness injected into the note to get the hiding property of commitments
34
34
  * @param storageSlot - The storage slot of the note
35
35
  * @param noteNonce - The nonce injected into the note hash preimage by kernels.
36
- * @param index - Optional index in the note hash tree. If undefined, indicates a transient note
36
+ * @param isPending - True if the note is pending, false if settled
37
37
  * @param note - The note content containing the actual note data
38
38
  * @returns The packed note as an array of field elements
39
- */ export function packAsRetrievedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, index, note }) {
40
- // If index is undefined, the note is transient which implies that the nonzero_note_hash_counter has to be true
41
- const nonzeroNoteHashCounter = index === undefined;
42
- // To pack the note as retrieved note we first need to reconstruct the note metadata.
43
- const noteMetadata = fromRawData(nonzeroNoteHashCounter, noteNonce);
39
+ */ export function packAsHintedNote({ contractAddress, owner, randomness, storageSlot, noteNonce, isPending, note }) {
40
+ // If the note is pending it means it has a non-zero note hash counter associated with it.
41
+ const nonZeroNoteHashCounter = isPending;
42
+ // To pack the note as hinted note we first need to reconstruct the note metadata.
43
+ const noteMetadata = fromRawData(nonZeroNoteHashCounter, noteNonce);
44
44
  // Pack in order: note, contract_address, owner, randomness, storage_slot, metadata (stage, maybe_note_nonce)
45
45
  return [
46
46
  ...note.items,
@@ -20,20 +20,22 @@ export declare class Oracle {
20
20
  utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]>;
21
21
  utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
22
22
  utilityGetContractInstance([address]: ACVMField[]): Promise<ACVMField[]>;
23
- utilityGetMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
24
- utilityGetNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
25
- utilityGetLowNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
26
- utilityGetPublicDataWitness([blockNumber]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
23
+ utilityGetNoteHashMembershipWitness([blockHash]: ACVMField[], [leafValue]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
24
+ utilityGetArchiveMembershipWitness([blockHash]: ACVMField[], [leafValue]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
25
+ utilityGetNullifierMembershipWitness([blockHash]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
26
+ utilityGetLowNullifierMembershipWitness([blockHash]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
27
+ utilityGetPublicDataWitness([blockHash]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
27
28
  utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
28
29
  utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
29
30
  utilityGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[][]>;
30
- utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [packedRetrievedNoteLength]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
31
+ utilityGetNotes([ownerSome]: ACVMField[], [ownerValue]: ACVMField[], [storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [packedHintedNoteLength]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
31
32
  privateNotifyCreatedNote([owner]: ACVMField[], [storageSlot]: ACVMField[], [randomness]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
32
33
  privateNotifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
33
34
  privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
35
+ privateIsNullifierPending([innerNullifier]: ACVMField[], [contractAddress]: ACVMField[]): Promise<ACVMField[]>;
34
36
  utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
35
37
  utilityGetL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
36
- utilityStorageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
38
+ utilityStorageRead([blockHash]: ACVMField[], [contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
37
39
  privateNotifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [length]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
38
40
  utilityDebugLog(level: ACVMField[], message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]>;
39
41
  privateCallPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[][]>;
@@ -43,7 +45,7 @@ export declare class Oracle {
43
45
  privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
44
46
  privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
45
47
  utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
46
- utilityValidateEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
48
+ utilityValidateAndStoreEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
47
49
  utilityBulkRetrieveLogs([contractAddress]: ACVMField[], [logRetrievalRequestsArrayBaseSlot]: ACVMField[], [logRetrievalResponsesArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
48
50
  utilityStoreCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<ACVMField[]>;
49
51
  utilityLoadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
@@ -55,4 +57,4 @@ export declare class Oracle {
55
57
  privateGetSenderForTags(): Promise<ACVMField[]>;
56
58
  privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]>;
57
59
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBTWpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3JHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ0wsT0FBTyxDQUFDLE9BQU87SUFBM0IsWUFBb0IsT0FBTyxFQUFFLFdBQVcsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUIsRUFBSTtJQUVoRyxPQUFPLENBQUMsYUFBYTtJQVFyQixPQUFPLENBQUMsZ0JBQWdCO0lBUXhCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsY0FBYyxJQUFJLFlBQVksQ0FvQzdCO0lBRUQsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsb0JBRzFEO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzVDO0lBRUQsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzNGO0lBRUssNkJBQTZCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUd0RjtJQUVELHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxF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
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBTWpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3JHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ0wsT0FBTyxDQUFDLE9BQU87SUFBM0IsWUFBb0IsT0FBTyxFQUFFLFdBQVcsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUIsRUFBSTtJQUVoRyxPQUFPLENBQUMsYUFBYTtJQVFyQixPQUFPLENBQUMsZ0JBQWdCO0lBUXhCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsY0FBYyxJQUFJLFlBQVksQ0FvQzdCO0lBRUQsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsb0JBRzFEO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzVDO0lBRUQsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzNGO0lBRUssNkJBQTZCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUd0RjtJQUVELHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxF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
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ import { Point } from '@aztec/foundation/curves/grumpkin';
4
4
  import { arrayOfArraysToBoundedVecOfArrays, bufferToBoundedVec, fromUintArray, fromUintBoundedVec, toACVMField } from '@aztec/simulator/client';
5
5
  import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
+ import { BlockHash } from '@aztec/stdlib/block';
7
8
  import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
8
- import { MerkleTreeId } from '@aztec/stdlib/trees';
9
- import { packAsRetrievedNote } from './note_packing_utils.js';
9
+ import { packAsHintedNote } from './note_packing_utils.js';
10
10
  export class UnavailableOracleError extends Error {
11
11
  constructor(oracleName){
12
12
  super(`${oracleName} oracles not available with the current handler`);
@@ -104,43 +104,48 @@ export class UnavailableOracleError extends Error {
104
104
  ...instance.publicKeys.toFields()
105
105
  ].map(toACVMField);
106
106
  }
107
- async utilityGetMembershipWitness([blockNumber], [treeId], [leafValue]) {
108
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
109
- const parsedTreeId = Fr.fromString(treeId).toNumber();
107
+ async utilityGetNoteHashMembershipWitness([blockHash], [leafValue]) {
108
+ const parsedBlockHash = BlockHash.fromString(blockHash);
110
109
  const parsedLeafValue = Fr.fromString(leafValue);
111
- const witness = await this.handlerAsUtility().utilityGetMembershipWitness(BlockNumber(parsedBlockNumber), parsedTreeId, parsedLeafValue);
110
+ const witness = await this.handlerAsUtility().utilityGetNoteHashMembershipWitness(parsedBlockHash, parsedLeafValue);
112
111
  if (!witness) {
113
- throw new Error(`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`);
112
+ throw new Error(`Leaf ${leafValue} not found in the note hash tree at block hash ${parsedBlockHash.toString()}.`);
114
113
  }
115
- return [
116
- toACVMField(witness[0]),
117
- witness.slice(1).map(toACVMField)
118
- ];
114
+ return witness.toNoirRepresentation();
119
115
  }
120
- async utilityGetNullifierMembershipWitness([blockNumber], [nullifier]) {
121
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
116
+ async utilityGetArchiveMembershipWitness([blockHash], [leafValue]) {
117
+ const parsedBlockHash = BlockHash.fromString(blockHash);
118
+ const parsedLeafValue = Fr.fromString(leafValue);
119
+ const witness = await this.handlerAsUtility().utilityGetArchiveMembershipWitness(parsedBlockHash, parsedLeafValue);
120
+ if (!witness) {
121
+ throw new Error(`Leaf ${leafValue} not found in the archive tree at block hash ${parsedBlockHash.toString()}.`);
122
+ }
123
+ return witness.toNoirRepresentation();
124
+ }
125
+ async utilityGetNullifierMembershipWitness([blockHash], [nullifier]) {
126
+ const parsedBlockHash = BlockHash.fromString(blockHash);
122
127
  const parsedNullifier = Fr.fromString(nullifier);
123
- const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(BlockNumber(parsedBlockNumber), parsedNullifier);
128
+ const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
124
129
  if (!witness) {
125
- throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
130
+ throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`);
126
131
  }
127
132
  return witness.toNoirRepresentation();
128
133
  }
129
- async utilityGetLowNullifierMembershipWitness([blockNumber], [nullifier]) {
130
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
134
+ async utilityGetLowNullifierMembershipWitness([blockHash], [nullifier]) {
135
+ const parsedBlockHash = BlockHash.fromString(blockHash);
131
136
  const parsedNullifier = Fr.fromString(nullifier);
132
- const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(BlockNumber(parsedBlockNumber), parsedNullifier);
137
+ const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(parsedBlockHash, parsedNullifier);
133
138
  if (!witness) {
134
- throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
139
+ throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block hash ${parsedBlockHash.toString()}.`);
135
140
  }
136
141
  return witness.toNoirRepresentation();
137
142
  }
138
- async utilityGetPublicDataWitness([blockNumber], [leafSlot]) {
139
- const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
143
+ async utilityGetPublicDataWitness([blockHash], [leafSlot]) {
144
+ const parsedBlockHash = BlockHash.fromString(blockHash);
140
145
  const parsedLeafSlot = Fr.fromString(leafSlot);
141
- const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(BlockNumber(parsedBlockNumber), parsedLeafSlot);
146
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockHash, parsedLeafSlot);
142
147
  if (!witness) {
143
- throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
148
+ throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block hash ${parsedBlockHash.toString()}.`);
144
149
  }
145
150
  return witness.toNoirRepresentation();
146
151
  }
@@ -172,23 +177,23 @@ export class UnavailableOracleError extends Error {
172
177
  ].map(toACVMField)
173
178
  ];
174
179
  }
175
- async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedRetrievedNoteLength]) {
180
+ async utilityGetNotes([ownerSome], [ownerValue], [storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedHintedNoteLength]) {
176
181
  // Parse Option<AztecAddress>: ownerSome is 0 for None, 1 for Some
177
182
  const owner = Fr.fromString(ownerSome).toNumber() === 1 ? AztecAddress.fromString(ownerValue) : undefined;
178
183
  const noteDatas = await this.handlerAsUtility().utilityGetNotes(owner, Fr.fromString(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(Fr.fromString), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
179
- const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map((noteData)=>packAsRetrievedNote({
184
+ const returnDataAsArrayOfPackedHintedNotes = noteDatas.map((noteData)=>packAsHintedNote({
180
185
  contractAddress: noteData.contractAddress,
181
186
  owner: noteData.owner,
182
187
  randomness: noteData.randomness,
183
188
  storageSlot: noteData.storageSlot,
184
189
  noteNonce: noteData.noteNonce,
185
- index: noteData.index,
190
+ isPending: noteData.isPending,
186
191
  note: noteData.note
187
192
  }));
188
193
  // Now we convert each sub-array to an array of ACVMField
189
- const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map((subArray)=>subArray.map(toACVMField));
194
+ const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedHintedNotes.map((subArray)=>subArray.map(toACVMField));
190
195
  // At last we convert the array of arrays to a bounded vec of arrays
191
- return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedRetrievedNoteLength);
196
+ return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedHintedNoteLength);
192
197
  }
193
198
  privateNotifyCreatedNote([owner], [storageSlot], [randomness], [noteTypeId], note, [noteHash], [counter]) {
194
199
  this.handlerAsPrivate().privateNotifyCreatedNote(AztecAddress.fromString(owner), Fr.fromString(storageSlot), Fr.fromString(randomness), NoteSelector.fromField(Fr.fromString(noteTypeId)), note.map(Fr.fromString), Fr.fromString(noteHash), +counter);
@@ -202,6 +207,12 @@ export class UnavailableOracleError extends Error {
202
207
  await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
203
208
  return [];
204
209
  }
210
+ async privateIsNullifierPending([innerNullifier], [contractAddress]) {
211
+ const isPending = await this.handlerAsPrivate().privateIsNullifierPending(Fr.fromString(innerNullifier), AztecAddress.fromString(contractAddress));
212
+ return [
213
+ toACVMField(isPending)
214
+ ];
215
+ }
205
216
  async utilityCheckNullifierExists([innerNullifier]) {
206
217
  const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
207
218
  return [
@@ -212,8 +223,8 @@ export class UnavailableOracleError extends Error {
212
223
  const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), Fr.fromString(messageHash), Fr.fromString(secret));
213
224
  return message.toNoirRepresentation();
214
225
  }
215
- async utilityStorageRead([contractAddress], [startStorageSlot], [blockNumber], [numberOfElements]) {
216
- const values = await this.handlerAsUtility().utilityStorageRead(new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), BlockNumber(+blockNumber), +numberOfElements);
226
+ async utilityStorageRead([blockHash], [contractAddress], [startStorageSlot], [numberOfElements]) {
227
+ const values = await this.handlerAsUtility().utilityStorageRead(BlockHash.fromString(blockHash), new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +numberOfElements);
217
228
  return [
218
229
  values.map(toACVMField)
219
230
  ];
@@ -270,8 +281,8 @@ export class UnavailableOracleError extends Error {
270
281
  await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
271
282
  return [];
272
283
  }
273
- async utilityValidateEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
274
- await this.handlerAsUtility().utilityValidateEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
284
+ async utilityValidateAndStoreEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
285
+ await this.handlerAsUtility().utilityValidateAndStoreEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
275
286
  return [];
276
287
  }
277
288
  async utilityBulkRetrieveLogs([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot]) {
@@ -1,14 +1,8 @@
1
- import { BlockNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
1
  import { type ACVMWitness, type CircuitSimulator } from '@aztec/simulator/client';
4
2
  import { type FunctionArtifact, type FunctionArtifactWithContractName, type FunctionSelector } from '@aztec/stdlib/abi';
5
3
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
6
- import type { ContractInstance } from '@aztec/stdlib/contract';
7
- import type { AztecNode } from '@aztec/stdlib/interfaces/client';
8
4
  import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
9
- import { BlockHeader, PrivateCallExecutionResult } from '@aztec/stdlib/tx';
10
- import type { UInt64 } from '@aztec/stdlib/types';
11
- import { ContractStore } from '../../storage/contract_store/index.js';
5
+ import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
12
6
  import type { PrivateExecutionOracle } from './private_execution_oracle.js';
13
7
  /**
14
8
  * Execute a private function and return the execution result.
@@ -26,22 +20,4 @@ export declare function executePrivateFunction(simulator: CircuitSimulator, priv
26
20
  * @returns - The public inputs.
27
21
  */
28
22
  export declare function extractPrivateCircuitPublicInputs(artifact: FunctionArtifact, partialWitness: ACVMWitness): PrivateCircuitPublicInputs;
29
- /**
30
- * Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
31
- * from the instance is used.
32
- * @param contractAddress - The address of the contract to read the class id for.
33
- * @param instance - The instance of the contract.
34
- * @param executionStore - The execution data provider.
35
- * @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
36
- * @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
37
- * @returns The current class id.
38
- */
39
- export declare function readCurrentClassId(contractAddress: AztecAddress, instance: ContractInstance, aztecNode: AztecNode, blockNumber: BlockNumber, timestamp: UInt64): Promise<Fr>;
40
- /**
41
- * Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
42
- * provider (i.e. PXE's own storage).
43
- * @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
44
- * header of the execution data provider is used.
45
- */
46
- export declare function verifyCurrentClassId(contractAddress: AztecAddress, aztecNode: AztecNode, contractStore: ContractStore, header: BlockHeader): Promise<void>;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEQsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixLQUFLLGdCQUFnQixFQUt0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFDTCxLQUFLLGdCQUFnQixFQUNyQixLQUFLLGdDQUFnQyxFQUNyQyxLQUFLLGdCQUFnQixFQUV0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFL0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTZFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0Isa0JBQWtCLENBQ3RDLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsU0FBUyxFQUFFLE1BQU0sZUFXbEI7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQixvQkFBb0IsQ0FDeEMsZUFBZSxFQUFFLFlBQVksRUFDN0IsU0FBUyxFQUFFLFNBQVMsRUFDcEIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsTUFBTSxFQUFFLFdBQVcsaUJBbUJwQiJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTJFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAIpD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA6ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,eAWlB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,YAAY,EAC7B,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,WAAW,iBAmBpB"}
1
+ {"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA2ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B"}
@@ -2,10 +2,8 @@ import { PRIVATE_CIRCUIT_PUBLIC_INPUTS_LENGTH, PRIVATE_CONTEXT_INPUTS_LENGTH } f
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { createLogger } from '@aztec/foundation/log';
4
4
  import { Timer } from '@aztec/foundation/timer';
5
- import { ProtocolContractAddress } from '@aztec/protocol-contracts';
6
5
  import { ExecutionError, extractCallStack, resolveAssertionMessageFromError, witnessMapToFields } from '@aztec/simulator/client';
7
6
  import { countArgumentsSize } from '@aztec/stdlib/abi';
8
- import { DelayedPublicMutableValues, DelayedPublicMutableValuesWithHash } from '@aztec/stdlib/delayed-public-mutable';
9
7
  import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
10
8
  import { PrivateCallExecutionResult } from '@aztec/stdlib/tx';
11
9
  import { Oracle } from './oracle.js';
@@ -48,7 +46,6 @@ import { Oracle } from './oracle.js';
48
46
  });
49
47
  const contractClassLogs = privateExecutionOracle.getContractClassLogs();
50
48
  const rawReturnValues = await privateExecutionOracle.privateLoadFromExecutionCache(publicInputs.returnsHash);
51
- const noteHashLeafIndexMap = privateExecutionOracle.getNoteHashLeafIndexMap();
52
49
  const newNotes = privateExecutionOracle.getNewNotes();
53
50
  const noteHashNullifierCounterMap = privateExecutionOracle.getNoteHashNullifierCounterMap();
54
51
  const offchainEffects = privateExecutionOracle.getOffchainEffects();
@@ -62,7 +59,7 @@ import { Oracle } from './oracle.js';
62
59
  timerSubtractionList = timerSubtractionList.flatMap((nested)=>nested.nestedExecutionResults ?? []);
63
60
  }
64
61
  log.debug(`Returning from call to ${contractAddress.toString()}:${functionSelector}`);
65
- return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, noteHashLeafIndexMap, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, preTags, nestedExecutionResults, contractClassLogs, {
62
+ return new PrivateCallExecutionResult(artifact.bytecode, Buffer.from(artifact.verificationKey, 'base64'), partialWitness, publicInputs, newNotes, noteHashNullifierCounterMap, rawReturnValues, offchainEffects, preTags, nestedExecutionResults, contractClassLogs, {
66
63
  timings: {
67
64
  witgen: witgenTime,
68
65
  oracles: acirExecutionResult.oracles
@@ -88,36 +85,3 @@ import { Oracle } from './oracle.js';
88
85
  }
89
86
  return PrivateCircuitPublicInputs.fromFields(returnData);
90
87
  }
91
- /**
92
- * Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
93
- * from the instance is used.
94
- * @param contractAddress - The address of the contract to read the class id for.
95
- * @param instance - The instance of the contract.
96
- * @param executionStore - The execution data provider.
97
- * @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
98
- * @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
99
- * @returns The current class id.
100
- */ export async function readCurrentClassId(contractAddress, instance, aztecNode, blockNumber, timestamp) {
101
- const { delayedPublicMutableSlot } = await DelayedPublicMutableValuesWithHash.getContractUpdateSlots(contractAddress);
102
- const delayedPublicMutableValues = await DelayedPublicMutableValues.readFromTree(delayedPublicMutableSlot, (slot)=>aztecNode.getPublicStorageAt(blockNumber, ProtocolContractAddress.ContractInstanceRegistry, slot));
103
- let currentClassId = delayedPublicMutableValues.svc.getCurrentAt(timestamp)[0];
104
- if (currentClassId.isZero()) {
105
- currentClassId = instance.originalContractClassId;
106
- }
107
- return currentClassId;
108
- }
109
- /**
110
- * Verify that the current class id of a contract obtained from AztecNode is the same as the one in contract data
111
- * provider (i.e. PXE's own storage).
112
- * @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
113
- * header of the execution data provider is used.
114
- */ export async function verifyCurrentClassId(contractAddress, aztecNode, contractStore, header) {
115
- const instance = await contractStore.getContractInstance(contractAddress);
116
- if (!instance) {
117
- throw new Error(`No contract instance found for address ${contractAddress.toString()}`);
118
- }
119
- const currentClassId = await readCurrentClassId(contractAddress, instance, aztecNode, header.globalVariables.blockNumber, header.globalVariables.timestamp);
120
- if (!instance.currentContractClassId.equals(currentClassId)) {
121
- throw new Error(`Contract ${contractAddress} is outdated, current class id is ${currentClassId}, local class id is ${instance.currentContractClassId}`);
122
- }
123
- }
@@ -1,7 +1,7 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { KeyStore } from '@aztec/key-store';
3
3
  import { type CircuitSimulator } from '@aztec/simulator/client';
4
- import { type FunctionAbi, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
4
+ import { type FunctionAbi, type FunctionCall, FunctionSelector, type NoteSelector } from '@aztec/stdlib/abi';
5
5
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
6
6
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
7
7
  import type { AztecNode } from '@aztec/stdlib/interfaces/client';
@@ -32,7 +32,10 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
32
32
  private readonly argsHash;
33
33
  private readonly txContext;
34
34
  private readonly callContext;
35
+ /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
35
36
  protected readonly anchorBlockHeader: BlockHeader;
37
+ /** Needed to trigger contract synchronization before nested calls */
38
+ private readonly utilityExecutor;
36
39
  private readonly executionCache;
37
40
  private readonly noteCache;
38
41
  private readonly taggingIndexCache;
@@ -51,16 +54,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
51
54
  * Users can also use this to get a clearer idea of what's happened during a simulation.
52
55
  */
53
56
  private newNotes;
54
- /**
55
- * Notes from previous transactions that are returned to the oracle call `getNotes` during this execution.
56
- * The mapping maps from the unique siloed note hash to the index for notes created in private executions.
57
- * It maps from siloed note hash to the index for notes created by public functions.
58
- *
59
- * They are not part of the ExecutionNoteCache and being forwarded to nested contexts via `extend()`
60
- * because these notes are meant to be maintained on a per-call basis
61
- * They should act as references for the read requests output by an app circuit via public inputs.
62
- */
63
- private noteHashLeafIndexMap;
64
57
  private noteHashNullifierCounterMap;
65
58
  private contractClassLogs;
66
59
  private offchainEffects;
@@ -68,8 +61,10 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
68
61
  constructor(argsHash: Fr, txContext: TxContext, callContext: CallContext,
69
62
  /** Header of a block whose state is used during private execution (not the block the transaction is included in). */
70
63
  anchorBlockHeader: BlockHeader,
64
+ /** Needed to trigger contract synchronization before nested calls */
65
+ utilityExecutor: (call: FunctionCall) => Promise<void>,
71
66
  /** List of transient auth witnesses to be used during this simulation */
72
- authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, taggingIndexCache: ExecutionTaggingIndexCache, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, aztecNode: AztecNode, anchorBlockStore: AnchorBlockStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, totalPublicCalldataCount?: number, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[], senderForTags?: AztecAddress | undefined, simulator?: CircuitSimulator | undefined);
67
+ authWitnesses: AuthWitness[], capsules: Capsule[], executionCache: HashedValuesCache, noteCache: ExecutionNoteCache, taggingIndexCache: ExecutionTaggingIndexCache, contractStore: ContractStore, noteStore: NoteStore, keyStore: KeyStore, addressStore: AddressStore, aztecNode: AztecNode, anchorBlockStore: AnchorBlockStore, senderTaggingStore: SenderTaggingStore, recipientTaggingStore: RecipientTaggingStore, senderAddressBookStore: SenderAddressBookStore, capsuleStore: CapsuleStore, privateEventStore: PrivateEventStore, jobId: string, totalPublicCalldataCount?: number, sideEffectCounter?: number, log?: import("@aztec/foundation/log").Logger, scopes?: AztecAddress[], senderForTags?: AztecAddress | undefined, simulator?: CircuitSimulator | undefined);
73
68
  getPrivateContextInputs(): PrivateContextInputs;
74
69
  /**
75
70
  * Writes the function inputs to the initial witness.
@@ -77,11 +72,6 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
77
72
  * @returns The initial witness.
78
73
  */
79
74
  getInitialWitness(abi: FunctionAbi): Map<number, string>;
80
- /**
81
- * The KernelProver will use this to fully populate witnesses and provide hints to the kernel circuit
82
- * regarding which note hash each settled read request corresponds to.
83
- */
84
- getNoteHashLeafIndexMap(): Map<bigint, bigint>;
85
75
  /**
86
76
  * Get the data for the newly created notes.
87
77
  */
@@ -196,6 +186,14 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
196
186
  * @param noteHash - A hash of the new note.
197
187
  */
198
188
  privateNotifyCreatedNullifier(innerNullifier: Fr): Promise<void>;
189
+ /**
190
+ * Check if a nullifier has been emitted in the same transaction, i.e. if privateNotifyCreatedNullifier has been
191
+ * called for this inner nullifier from the contract with the specified address.
192
+ * @param innerNullifier - The inner nullifier to check.
193
+ * @param contractAddress - Address of the contract that emitted the nullifier.
194
+ * @returns A boolean indicating whether the nullifier is pending or not.
195
+ */
196
+ privateIsNullifierPending(innerNullifier: Fr, contractAddress: AztecAddress): Promise<boolean>;
199
197
  /**
200
198
  * Emit a contract class log.
201
199
  * This fn exists because we only carry a poseidon hash through the kernels, and need to
@@ -239,4 +237,4 @@ export declare class PrivateExecutionOracle extends UtilityExecutionOracle imple
239
237
  getDebugFunctionName(): Promise<string>;
240
238
  utilityEmitOffchainEffect(data: Fr[]): Promise<void>;
241
239
  }
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsZ0JBQWdCLEVBQ2hCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBK0IsS0FBSyxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekMsT0FBTyxFQUFRLEtBQUssVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUNMLEtBQUssV0FBVyxFQUNoQixXQUFXLEVBQ1gsT0FBTyxFQUNQLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsMEJBQTBCLEVBQzFCLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sOENB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
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb25fb3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9wcml2YXRlX2V4ZWN1dGlvbl9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFpQixNQUFNLHlCQUF5QixDQUFDO0FBQy9FLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFFaEIsS0FBSyxZQUFZLEVBQ2pCLGdCQUFnQixFQUNoQixLQUFLLFlBQVksRUFFbEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQStCLEtBQUssTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pDLE9BQU8sRUFBUSxLQUFLLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsV0FBVyxFQUNYLE9BQU8sRUFDUCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLDBCQUEwQixFQUMxQixLQUFLLFNBQVMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBSTFCLE9BQU8sS0FBSyxFQUFFLFlB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