@aztec/pxe 0.0.1-commit.24de95ac → 0.0.1-commit.3469e52

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 (374) hide show
  1. package/dest/bin/check_oracle_version.d.ts +1 -1
  2. package/dest/bin/check_oracle_version.js +105 -15
  3. package/dest/block_synchronizer/block_synchronizer.d.ts +41 -0
  4. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -0
  5. package/dest/{synchronizer/synchronizer.js → block_synchronizer/block_synchronizer.js} +36 -30
  6. package/dest/block_synchronizer/index.d.ts +2 -0
  7. package/dest/block_synchronizer/index.d.ts.map +1 -0
  8. package/dest/block_synchronizer/index.js +1 -0
  9. package/dest/config/index.d.ts +4 -12
  10. package/dest/config/index.d.ts.map +1 -1
  11. package/dest/config/index.js +7 -13
  12. package/dest/config/package_info.d.ts +1 -1
  13. package/dest/config/package_info.js +1 -1
  14. package/dest/contract_function_simulator/benchmarked_node.d.ts +9 -0
  15. package/dest/contract_function_simulator/benchmarked_node.d.ts.map +1 -0
  16. package/dest/contract_function_simulator/benchmarked_node.js +77 -0
  17. package/dest/contract_function_simulator/contract_function_simulator.d.ts +44 -16
  18. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  19. package/dest/contract_function_simulator/contract_function_simulator.js +80 -37
  20. package/dest/contract_function_simulator/execution_note_cache.d.ts +25 -14
  21. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  22. package/dest/contract_function_simulator/execution_note_cache.js +59 -34
  23. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +2 -2
  24. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  25. package/dest/contract_function_simulator/execution_tagging_index_cache.js +1 -1
  26. package/dest/contract_function_simulator/hashed_values_cache.d.ts +2 -2
  27. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/index.d.ts +2 -2
  29. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  30. package/dest/contract_function_simulator/index.js +1 -1
  31. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +4 -3
  32. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  33. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +5 -2
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +5 -4
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  36. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +7 -6
  37. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +3 -3
  38. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  39. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +1 -1
  40. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +6 -4
  41. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  42. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +12 -3
  43. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +4 -10
  44. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -1
  45. package/dest/contract_function_simulator/noir-structs/utility_context.js +7 -18
  46. package/dest/contract_function_simulator/oracle/index.d.ts +1 -1
  47. package/dest/contract_function_simulator/oracle/interfaces.d.ts +22 -15
  48. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  49. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +2 -2
  50. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -1
  51. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +1 -1
  52. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +14 -8
  53. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  54. package/dest/contract_function_simulator/oracle/note_packing_utils.js +16 -11
  55. package/dest/contract_function_simulator/oracle/oracle.d.ts +10 -9
  56. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  57. package/dest/contract_function_simulator/oracle/oracle.js +51 -33
  58. package/dest/contract_function_simulator/oracle/private_execution.d.ts +10 -15
  59. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -1
  60. package/dest/contract_function_simulator/oracle/private_execution.js +19 -18
  61. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +29 -33
  62. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  63. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +46 -48
  64. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +65 -22
  65. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  66. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +163 -54
  67. package/dest/contract_function_simulator/pick_notes.d.ts +2 -2
  68. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  69. package/dest/contract_function_simulator/pick_notes.js +1 -1
  70. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +4 -4
  71. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  72. package/dest/contract_function_simulator/proxied_contract_data_source.js +23 -5
  73. package/dest/debug/pxe_debug_utils.d.ts +31 -0
  74. package/dest/debug/pxe_debug_utils.d.ts.map +1 -0
  75. package/dest/debug/pxe_debug_utils.js +37 -0
  76. package/dest/entrypoints/client/bundle/index.d.ts +1 -2
  77. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  78. package/dest/entrypoints/client/bundle/index.js +0 -1
  79. package/dest/entrypoints/client/bundle/utils.d.ts +1 -1
  80. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  81. package/dest/entrypoints/client/bundle/utils.js +13 -4
  82. package/dest/entrypoints/client/lazy/index.d.ts +1 -2
  83. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  84. package/dest/entrypoints/client/lazy/index.js +0 -1
  85. package/dest/entrypoints/client/lazy/utils.d.ts +1 -1
  86. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  87. package/dest/entrypoints/client/lazy/utils.js +13 -4
  88. package/dest/entrypoints/pxe_creation_options.d.ts +5 -2
  89. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  90. package/dest/entrypoints/server/index.d.ts +3 -2
  91. package/dest/entrypoints/server/index.d.ts.map +1 -1
  92. package/dest/entrypoints/server/index.js +2 -1
  93. package/dest/entrypoints/server/utils.d.ts +1 -1
  94. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  95. package/dest/entrypoints/server/utils.js +13 -20
  96. package/dest/error_enriching.d.ts +4 -4
  97. package/dest/error_enriching.d.ts.map +1 -1
  98. package/dest/error_enriching.js +6 -6
  99. package/dest/events/event_service.d.ts +16 -0
  100. package/dest/events/event_service.d.ts.map +1 -0
  101. package/dest/events/event_service.js +45 -0
  102. package/dest/events/index.d.ts +2 -0
  103. package/dest/events/index.d.ts.map +1 -0
  104. package/dest/events/index.js +1 -0
  105. package/dest/events/private_event_filter_validator.d.ts +9 -0
  106. package/dest/events/private_event_filter_validator.d.ts.map +1 -0
  107. package/dest/events/private_event_filter_validator.js +38 -0
  108. package/dest/job_coordinator/job_coordinator.d.ts +74 -0
  109. package/dest/job_coordinator/job_coordinator.d.ts.map +1 -0
  110. package/dest/job_coordinator/job_coordinator.js +93 -0
  111. package/dest/logs/log_service.d.ts +27 -0
  112. package/dest/logs/log_service.d.ts.map +1 -0
  113. package/dest/logs/log_service.js +122 -0
  114. package/dest/notes/index.d.ts +2 -0
  115. package/dest/notes/index.d.ts.map +1 -0
  116. package/dest/notes/index.js +1 -0
  117. package/dest/notes/note_service.d.ts +48 -0
  118. package/dest/notes/note_service.d.ts.map +1 -0
  119. package/dest/notes/note_service.js +147 -0
  120. package/dest/oracle_version.d.ts +3 -3
  121. package/dest/oracle_version.js +2 -2
  122. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +1 -1
  123. package/dest/private_kernel/hints/index.d.ts +2 -2
  124. package/dest/private_kernel/hints/index.d.ts.map +1 -1
  125. package/dest/private_kernel/hints/index.js +1 -1
  126. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +28 -0
  127. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -0
  128. package/dest/private_kernel/hints/{build_private_kernel_reset_private_inputs.js → private_kernel_reset_private_inputs_builder.js} +19 -13
  129. package/dest/private_kernel/index.d.ts +1 -1
  130. package/dest/private_kernel/private_kernel_execution_prover.d.ts +1 -1
  131. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  132. package/dest/private_kernel/private_kernel_execution_prover.js +15 -15
  133. package/dest/private_kernel/private_kernel_oracle.d.ts +26 -29
  134. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  135. package/dest/private_kernel/private_kernel_oracle.js +90 -2
  136. package/dest/pxe.d.ts +54 -83
  137. package/dest/pxe.d.ts.map +1 -1
  138. package/dest/pxe.js +189 -240
  139. package/dest/storage/address_store/address_store.d.ts +11 -0
  140. package/dest/storage/address_store/address_store.d.ts.map +1 -0
  141. package/dest/storage/{address_data_provider/address_data_provider.js → address_store/address_store.js} +1 -1
  142. package/dest/storage/address_store/index.d.ts +2 -0
  143. package/dest/storage/address_store/index.d.ts.map +1 -0
  144. package/dest/storage/address_store/index.js +1 -0
  145. package/dest/storage/anchor_block_store/anchor_block_store.d.ts +9 -0
  146. package/dest/storage/anchor_block_store/anchor_block_store.d.ts.map +1 -0
  147. package/dest/storage/{sync_data_provider/sync_data_provider.js → anchor_block_store/anchor_block_store.js} +2 -9
  148. package/dest/storage/anchor_block_store/index.d.ts +2 -0
  149. package/dest/storage/anchor_block_store/index.d.ts.map +1 -0
  150. package/dest/storage/anchor_block_store/index.js +1 -0
  151. package/dest/storage/capsule_store/capsule_store.d.ts +72 -0
  152. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -0
  153. package/dest/storage/capsule_store/capsule_store.js +255 -0
  154. package/dest/storage/capsule_store/index.d.ts +2 -0
  155. package/dest/storage/capsule_store/index.d.ts.map +1 -0
  156. package/dest/storage/capsule_store/index.js +1 -0
  157. package/dest/storage/{contract_data_provider/contract_data_provider.d.ts → contract_store/contract_store.d.ts} +8 -15
  158. package/dest/storage/contract_store/contract_store.d.ts.map +1 -0
  159. package/dest/storage/{contract_data_provider/contract_data_provider.js → contract_store/contract_store.js} +46 -15
  160. package/dest/storage/contract_store/index.d.ts +2 -0
  161. package/dest/storage/contract_store/index.d.ts.map +1 -0
  162. package/dest/storage/contract_store/index.js +1 -0
  163. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.d.ts +1 -1
  164. package/dest/storage/contract_store/private_functions_tree.d.ts.map +1 -0
  165. package/dest/storage/{contract_data_provider → contract_store}/private_functions_tree.js +1 -1
  166. package/dest/storage/index.d.ts +8 -8
  167. package/dest/storage/index.d.ts.map +1 -1
  168. package/dest/storage/index.js +7 -7
  169. package/dest/storage/metadata.d.ts +1 -1
  170. package/dest/storage/note_store/index.d.ts +3 -0
  171. package/dest/storage/note_store/index.d.ts.map +1 -0
  172. package/dest/storage/note_store/index.js +2 -0
  173. package/dest/storage/{note_data_provider/note_data_provider.d.ts → note_store/note_store.d.ts} +19 -17
  174. package/dest/storage/note_store/note_store.d.ts.map +1 -0
  175. package/dest/storage/{note_data_provider/note_data_provider.js → note_store/note_store.js} +115 -106
  176. package/dest/storage/private_event_store/private_event_store.d.ts +78 -0
  177. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -0
  178. package/dest/storage/private_event_store/private_event_store.js +222 -0
  179. package/dest/storage/tagging_store/index.d.ts +4 -0
  180. package/dest/storage/tagging_store/index.d.ts.map +1 -0
  181. package/dest/storage/tagging_store/index.js +3 -0
  182. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +28 -0
  183. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -0
  184. package/dest/storage/tagging_store/recipient_tagging_store.js +99 -0
  185. package/dest/storage/tagging_store/sender_address_book_store.d.ts +14 -0
  186. package/dest/storage/tagging_store/sender_address_book_store.d.ts.map +1 -0
  187. package/dest/storage/tagging_store/sender_address_book_store.js +30 -0
  188. package/dest/storage/tagging_store/sender_tagging_store.d.ts +77 -0
  189. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -0
  190. package/dest/storage/tagging_store/sender_tagging_store.js +278 -0
  191. package/dest/tagging/constants.d.ts +2 -2
  192. package/dest/tagging/constants.d.ts.map +1 -1
  193. package/dest/tagging/constants.js +10 -2
  194. package/dest/tagging/index.d.ts +15 -6
  195. package/dest/tagging/index.d.ts.map +1 -1
  196. package/dest/tagging/index.js +14 -5
  197. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +14 -0
  198. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +1 -0
  199. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +99 -0
  200. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +12 -0
  201. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -0
  202. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +20 -0
  203. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +14 -0
  204. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +1 -0
  205. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +29 -0
  206. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +20 -0
  207. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -0
  208. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +74 -0
  209. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +11 -0
  210. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -0
  211. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +32 -0
  212. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +20 -0
  213. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -0
  214. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +57 -0
  215. package/dest/tree_membership/tree_membership_service.d.ts +50 -0
  216. package/dest/tree_membership/tree_membership_service.d.ts.map +1 -0
  217. package/dest/tree_membership/tree_membership_service.js +75 -0
  218. package/package.json +20 -19
  219. package/src/bin/check_oracle_version.ts +130 -20
  220. package/src/{synchronizer/synchronizer.ts → block_synchronizer/block_synchronizer.ts} +45 -30
  221. package/src/block_synchronizer/index.ts +1 -0
  222. package/src/config/index.ts +10 -25
  223. package/src/config/package_info.ts +1 -1
  224. package/src/contract_function_simulator/benchmarked_node.ts +103 -0
  225. package/src/contract_function_simulator/contract_function_simulator.ts +132 -39
  226. package/src/contract_function_simulator/execution_note_cache.ts +58 -28
  227. package/src/contract_function_simulator/execution_tagging_index_cache.ts +1 -1
  228. package/src/contract_function_simulator/hashed_values_cache.ts +1 -1
  229. package/src/contract_function_simulator/index.ts +1 -1
  230. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +5 -1
  231. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +6 -5
  232. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -2
  233. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +14 -2
  234. package/src/contract_function_simulator/noir-structs/utility_context.ts +6 -25
  235. package/src/contract_function_simulator/oracle/interfaces.ts +29 -13
  236. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +1 -1
  237. package/src/contract_function_simulator/oracle/note_packing_utils.ts +30 -14
  238. package/src/contract_function_simulator/oracle/oracle.ts +62 -30
  239. package/src/contract_function_simulator/oracle/private_execution.ts +22 -29
  240. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +111 -59
  241. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +238 -56
  242. package/src/contract_function_simulator/pick_notes.ts +1 -1
  243. package/src/contract_function_simulator/proxied_contract_data_source.ts +24 -7
  244. package/src/debug/pxe_debug_utils.ts +48 -0
  245. package/src/entrypoints/client/bundle/index.ts +0 -1
  246. package/src/entrypoints/client/bundle/utils.ts +10 -4
  247. package/src/entrypoints/client/lazy/index.ts +0 -1
  248. package/src/entrypoints/client/lazy/utils.ts +10 -5
  249. package/src/entrypoints/pxe_creation_options.ts +4 -1
  250. package/src/entrypoints/server/index.ts +2 -1
  251. package/src/entrypoints/server/utils.ts +13 -31
  252. package/src/error_enriching.ts +7 -15
  253. package/src/events/event_service.ts +73 -0
  254. package/src/events/index.ts +1 -0
  255. package/src/events/private_event_filter_validator.ts +46 -0
  256. package/src/job_coordinator/job_coordinator.ts +149 -0
  257. package/src/logs/log_service.ts +204 -0
  258. package/src/notes/index.ts +1 -0
  259. package/src/notes/note_service.ts +194 -0
  260. package/src/oracle_version.ts +2 -2
  261. package/src/private_kernel/hints/index.ts +1 -1
  262. package/src/private_kernel/hints/{build_private_kernel_reset_private_inputs.ts → private_kernel_reset_private_inputs_builder.ts} +38 -31
  263. package/src/private_kernel/private_kernel_execution_prover.ts +15 -21
  264. package/src/private_kernel/private_kernel_oracle.ts +118 -37
  265. package/src/pxe.ts +238 -312
  266. package/src/storage/{address_data_provider/address_data_provider.ts → address_store/address_store.ts} +1 -1
  267. package/src/storage/address_store/index.ts +1 -0
  268. package/src/storage/{sync_data_provider/sync_data_provider.ts → anchor_block_store/anchor_block_store.ts} +2 -11
  269. package/src/storage/anchor_block_store/index.ts +1 -0
  270. package/src/storage/capsule_store/capsule_store.ts +315 -0
  271. package/src/storage/capsule_store/index.ts +1 -0
  272. package/src/storage/{contract_data_provider/contract_data_provider.ts → contract_store/contract_store.ts} +65 -20
  273. package/src/storage/contract_store/index.ts +1 -0
  274. package/src/storage/{contract_data_provider → contract_store}/private_functions_tree.ts +1 -1
  275. package/src/storage/index.ts +7 -7
  276. package/src/storage/note_store/index.ts +2 -0
  277. package/src/storage/{note_data_provider/note_data_provider.ts → note_store/note_store.ts} +131 -109
  278. package/src/storage/private_event_store/private_event_store.ts +324 -0
  279. package/src/storage/tagging_store/index.ts +3 -0
  280. package/src/storage/tagging_store/recipient_tagging_store.ts +129 -0
  281. package/src/storage/tagging_store/sender_address_book_store.ts +42 -0
  282. package/src/storage/tagging_store/sender_tagging_store.ts +345 -0
  283. package/src/tagging/constants.ts +10 -2
  284. package/src/tagging/index.ts +17 -5
  285. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +133 -0
  286. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +34 -0
  287. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +43 -0
  288. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +97 -0
  289. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +48 -0
  290. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +75 -0
  291. package/src/tree_membership/tree_membership_service.ts +97 -0
  292. package/dest/contract_function_simulator/execution_data_provider.d.ts +0 -274
  293. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +0 -1
  294. package/dest/contract_function_simulator/execution_data_provider.js +0 -14
  295. package/dest/contract_function_simulator/proxied_node.d.ts +0 -9
  296. package/dest/contract_function_simulator/proxied_node.d.ts.map +0 -1
  297. package/dest/contract_function_simulator/proxied_node.js +0 -27
  298. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +0 -122
  299. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +0 -1
  300. package/dest/contract_function_simulator/pxe_oracle_interface.js +0 -701
  301. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  302. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  303. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +0 -45
  304. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +0 -1
  305. package/dest/private_kernel/private_kernel_oracle_impl.js +0 -86
  306. package/dest/storage/address_data_provider/address_data_provider.d.ts +0 -11
  307. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +0 -1
  308. package/dest/storage/address_data_provider/index.d.ts +0 -2
  309. package/dest/storage/address_data_provider/index.d.ts.map +0 -1
  310. package/dest/storage/address_data_provider/index.js +0 -1
  311. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +0 -25
  312. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +0 -1
  313. package/dest/storage/capsule_data_provider/capsule_data_provider.js +0 -118
  314. package/dest/storage/capsule_data_provider/index.d.ts +0 -2
  315. package/dest/storage/capsule_data_provider/index.d.ts.map +0 -1
  316. package/dest/storage/capsule_data_provider/index.js +0 -1
  317. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +0 -1
  318. package/dest/storage/contract_data_provider/index.d.ts +0 -2
  319. package/dest/storage/contract_data_provider/index.d.ts.map +0 -1
  320. package/dest/storage/contract_data_provider/index.js +0 -1
  321. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +0 -1
  322. package/dest/storage/note_data_provider/index.d.ts +0 -3
  323. package/dest/storage/note_data_provider/index.d.ts.map +0 -1
  324. package/dest/storage/note_data_provider/index.js +0 -2
  325. package/dest/storage/note_data_provider/note_dao.d.ts +0 -100
  326. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  327. package/dest/storage/note_data_provider/note_dao.js +0 -102
  328. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +0 -1
  329. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +0 -43
  330. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +0 -1
  331. package/dest/storage/private_event_data_provider/private_event_data_provider.js +0 -104
  332. package/dest/storage/sync_data_provider/index.d.ts +0 -2
  333. package/dest/storage/sync_data_provider/index.d.ts.map +0 -1
  334. package/dest/storage/sync_data_provider/index.js +0 -1
  335. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +0 -10
  336. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +0 -1
  337. package/dest/storage/tagging_data_provider/index.d.ts +0 -2
  338. package/dest/storage/tagging_data_provider/index.d.ts.map +0 -1
  339. package/dest/storage/tagging_data_provider/index.js +0 -1
  340. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +0 -40
  341. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +0 -1
  342. package/dest/storage/tagging_data_provider/tagging_data_provider.js +0 -89
  343. package/dest/synchronizer/index.d.ts +0 -2
  344. package/dest/synchronizer/index.d.ts.map +0 -1
  345. package/dest/synchronizer/index.js +0 -1
  346. package/dest/synchronizer/synchronizer.d.ts +0 -35
  347. package/dest/synchronizer/synchronizer.d.ts.map +0 -1
  348. package/dest/tagging/siloed_tag.d.ts +0 -14
  349. package/dest/tagging/siloed_tag.d.ts.map +0 -1
  350. package/dest/tagging/siloed_tag.js +0 -20
  351. package/dest/tagging/tag.d.ts +0 -12
  352. package/dest/tagging/tag.d.ts.map +0 -1
  353. package/dest/tagging/tag.js +0 -17
  354. package/dest/tagging/utils.d.ts +0 -18
  355. package/dest/tagging/utils.d.ts.map +0 -1
  356. package/dest/tagging/utils.js +0 -24
  357. package/src/contract_function_simulator/execution_data_provider.ts +0 -343
  358. package/src/contract_function_simulator/proxied_node.ts +0 -33
  359. package/src/contract_function_simulator/pxe_oracle_interface.ts +0 -1019
  360. package/src/private_kernel/private_kernel_oracle_impl.ts +0 -132
  361. package/src/storage/address_data_provider/index.ts +0 -1
  362. package/src/storage/capsule_data_provider/capsule_data_provider.ts +0 -147
  363. package/src/storage/capsule_data_provider/index.ts +0 -1
  364. package/src/storage/contract_data_provider/index.ts +0 -1
  365. package/src/storage/note_data_provider/index.ts +0 -2
  366. package/src/storage/note_data_provider/note_dao.ts +0 -154
  367. package/src/storage/private_event_data_provider/private_event_data_provider.ts +0 -148
  368. package/src/storage/sync_data_provider/index.ts +0 -1
  369. package/src/storage/tagging_data_provider/index.ts +0 -1
  370. package/src/storage/tagging_data_provider/tagging_data_provider.ts +0 -120
  371. package/src/synchronizer/index.ts +0 -1
  372. package/src/tagging/siloed_tag.ts +0 -22
  373. package/src/tagging/tag.ts +0 -16
  374. package/src/tagging/utils.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK9C,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAA+B,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,OAAO,EAIL,KAAK,iCAAiC,EACtC,oCAAoC,EAKrC,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAGL,sBAAsB,EAEtB,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAS1E;;GAEG;AACH,qBAAa,yBAAyB;IAIlC,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,SAAS;IAJnB,OAAO,CAAC,GAAG,CAAS;gBAGV,qBAAqB,EAAE,qBAAqB,EAC5C,SAAS,EAAE,gBAAgB;IAKrC;;;;;;;;;;;OAWG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,eAA6C,EACtD,aAAa,CAAC,EAAE,YAAY,EAC5B,MAAM,CAAC,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC,sBAAsB,CAAC;IAmGlC;;;;;;;OAOG;IACU,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IA0ClH,QAAQ;CAGT;AAYD;;;;;;;;;;;GAWG;AACH,wBAAsB,8BAA8B,CAClD,sBAAsB,EAAE,sBAAsB,EAC9C,cAAc,EAAE,EAAE,EAClB,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC,CAgNlF"}
1
+ {"version":3,"file":"contract_function_simulator.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/contract_function_simulator.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAS3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAIL,KAAK,iCAAiC,EACtC,oCAAoC,EAKrC,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,WAAW,EAGX,sBAAsB,EAEtB,kBAAkB,EAGnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAU3F;;GAEG;AACH,qBAAa,yBAAyB;IAIlC,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,SAAS;IAdnB,OAAO,CAAC,GAAG,CAAS;IAEpB,YACU,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,sBAAsB,EAAE,sBAAsB,EAC9C,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,gBAAgB,EAGpC;IAED;;;;;;;;;;;;;OAaG;IACU,GAAG,CACd,OAAO,EAAE,kBAAkB,EAC3B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,0BAA6C,EACtD,iBAAiB,EAAE,WAAW,EAC9B,aAAa,EAAE,YAAY,GAAG,SAAS,EACvC,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAkHjC;IAGD;;;;;;;;OAQG;IACU,UAAU,CACrB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,iBAAiB,EAAE,WAAW,EAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,EAClC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,EAAE,EAAE,CAAC,CAwDf;IAGD;;;OAGG;IACH,QAAQ;;MAUP;CACF;AAYD;;;;;;;;;;;GAWG;AACH,wBAAsB,8BAA8B,CAClD,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,sCAAsC,CAAC,EAAE,MAAM,GAC9C,OAAO,CAAC,iCAAiC,CAAC,oCAAoC,CAAC,CAAC,CAwNlF"}
@@ -1,16 +1,16 @@
1
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';
2
2
  import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
3
- import { poseidon2Hash } from '@aztec/foundation/crypto';
4
- import { Fr } from '@aztec/foundation/fields';
3
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
6
  import { Timer } from '@aztec/foundation/timer';
7
7
  import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
8
8
  import { protocolContractsHash } from '@aztec/protocol-contracts';
9
9
  import { ExecutionError, createSimulationError, extractCallStack, resolveAssertionMessageFromError, toACVMWitness, witnessMapToFields } from '@aztec/simulator/client';
10
- import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
10
+ import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
11
11
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
12
12
  import { Gas } from '@aztec/stdlib/gas';
13
- import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
13
+ import { computeNoteHashNonce, computeProtocolNullifier, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
14
14
  import { PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateKernelTailCircuitPublicInputs, PrivateToPublicAccumulatedData, PrivateToRollupAccumulatedData, PublicCallRequest, ScopedLogHash } from '@aztec/stdlib/kernel';
15
15
  import { PrivateLog } from '@aztec/stdlib/logs';
16
16
  import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
@@ -26,11 +26,31 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
26
26
  /**
27
27
  * The contract function simulator.
28
28
  */ export class ContractFunctionSimulator {
29
- executionDataProvider;
29
+ contractStore;
30
+ noteStore;
31
+ keyStore;
32
+ addressStore;
33
+ aztecNode;
34
+ anchorBlockStore;
35
+ senderTaggingStore;
36
+ recipientTaggingStore;
37
+ senderAddressBookStore;
38
+ capsuleStore;
39
+ privateEventStore;
30
40
  simulator;
31
41
  log;
32
- constructor(executionDataProvider, simulator){
33
- this.executionDataProvider = executionDataProvider;
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;
34
54
  this.simulator = simulator;
35
55
  this.log = createLogger('simulator');
36
56
  }
@@ -41,15 +61,17 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
41
61
  * @param contractAddress - The address of the contract (should match request.origin)
42
62
  * @param msgSender - The address calling the function. This can be replaced to simulate a call from another contract
43
63
  * or a specific account.
64
+ * @param anchorBlockHeader - The block header to use as base state for this run.
44
65
  * @param senderForTags - The address that is used as a tagging sender when emitting private logs. Returned from
45
66
  * the `privateGetSenderForTags` oracle.
46
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.
47
69
  * @returns The result of the execution.
48
- */ async run(request, contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), senderForTags, scopes) {
70
+ */ async run(request, contractAddress, selector, msgSender = AztecAddress.fromField(Fr.MAX_FIELD_VALUE), anchorBlockHeader, senderForTags, scopes, jobId) {
49
71
  const simulatorSetupTimer = new Timer();
50
- const anchorBlockHeader = await this.executionDataProvider.getAnchorBlockHeader();
51
- await verifyCurrentClassId(contractAddress, this.executionDataProvider);
52
- const entryPointArtifact = await this.executionDataProvider.getFunctionArtifact(contractAddress, selector);
72
+ await this.contractStore.syncPrivateState(contractAddress, selector, (privateSyncCall)=>this.runUtility(privateSyncCall, [], anchorBlockHeader, scopes, jobId));
73
+ await verifyCurrentClassId(contractAddress, this.aztecNode, this.contractStore, anchorBlockHeader);
74
+ const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(contractAddress, selector);
53
75
  if (entryPointArtifact.functionType !== FunctionType.PRIVATE) {
54
76
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as private`);
55
77
  }
@@ -57,12 +79,14 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
57
79
  this.log.warn(`Request origin does not match contract address in simulation. Request origin: ${request.origin}, contract address: ${contractAddress}`);
58
80
  }
59
81
  // reserve the first side effect for the tx hash (inserted by the private kernel)
60
- const startSideEffectCounter = 1;
82
+ const startSideEffectCounter = 2;
61
83
  const callContext = new CallContext(msgSender, contractAddress, await FunctionSelector.fromNameAndParameters(entryPointArtifact.name, entryPointArtifact.parameters), entryPointArtifact.isStatic);
62
- const txRequestHash = await request.toTxRequest().hash();
63
- const noteCache = new ExecutionNoteCache(txRequestHash);
84
+ const protocolNullifier = await computeProtocolNullifier(await request.toTxRequest().hash());
85
+ const noteCache = new ExecutionNoteCache(protocolNullifier);
64
86
  const taggingIndexCache = new ExecutionTaggingIndexCache();
65
- const privateExecutionOracle = new PrivateExecutionOracle(request.firstCallArgsHash, request.txContext, callContext, anchorBlockHeader, request.authWitnesses, request.capsules, HashedValuesCache.create(request.argsOfCalls), noteCache, taggingIndexCache, this.executionDataProvider, 0, startSideEffectCounter, undefined, scopes, senderForTags, this.simulator);
87
+ const privateExecutionOracle = new PrivateExecutionOracle(request.firstCallArgsHash, request.txContext, callContext, anchorBlockHeader, async (call)=>{
88
+ await this.runUtility(call, [], anchorBlockHeader, scopes, jobId);
89
+ }, 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);
66
90
  const setupTime = simulatorSetupTimer.ms();
67
91
  try {
68
92
  // Note: any nested private function calls are made recursively within this
@@ -71,8 +95,8 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
71
95
  // within executionResult.nestedExecutionResults).
72
96
  const executionResult = await executePrivateFunction(this.simulator, privateExecutionOracle, entryPointArtifact, contractAddress, request.functionSelector);
73
97
  const simulatorTeardownTimer = new Timer();
74
- const { usedTxRequestHashForNonces } = noteCache.finish();
75
- const firstNullifierHint = usedTxRequestHashForNonces ? Fr.ZERO : noteCache.getAllNullifiers()[0];
98
+ noteCache.finish();
99
+ const firstNullifierHint = noteCache.getNonceGenerator();
76
100
  const publicCallRequests = collectNested([
77
101
  executionResult
78
102
  ], (r)=>r.publicInputs.publicCallRequests.getActiveItems().map((r)=>r.inner).concat(r.publicInputs.publicTeardownCallRequest.isEmpty() ? [] : [
@@ -100,16 +124,17 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
100
124
  * Runs a utility function.
101
125
  * @param call - The function call to execute.
102
126
  * @param authwits - Authentication witnesses required for the function call.
127
+ * @param anchorBlockHeader - The block header to use as base state for this run.
103
128
  * @param scopes - Optional array of account addresses whose notes can be accessed in this call. Defaults to all
104
129
  * accounts if not specified.
105
- * @returns A decoded ABI value containing the function's return data.
106
- */ async runUtility(call, authwits, scopes) {
107
- await verifyCurrentClassId(call.to, this.executionDataProvider);
108
- const entryPointArtifact = await this.executionDataProvider.getFunctionArtifact(call.to, call.selector);
130
+ * @returns A return value of the utility function in a form as returned by the simulator (Noir fields)
131
+ */ async runUtility(call, authwits, anchorBlockHeader, scopes, jobId) {
132
+ await verifyCurrentClassId(call.to, this.aztecNode, this.contractStore, anchorBlockHeader);
133
+ const entryPointArtifact = await this.contractStore.getFunctionArtifactWithDebugMetadata(call.to, call.selector);
109
134
  if (entryPointArtifact.functionType !== FunctionType.UTILITY) {
110
135
  throw new Error(`Cannot run ${entryPointArtifact.functionType} function as utility`);
111
136
  }
112
- const oracle = new UtilityExecutionOracle(call.to, authwits, [], this.executionDataProvider, undefined, scopes);
137
+ 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);
113
138
  try {
114
139
  this.log.verbose(`Executing utility function ${entryPointArtifact.name}`, {
115
140
  contract: call.to,
@@ -125,16 +150,29 @@ import { UtilityExecutionOracle } from './oracle/utility_execution_oracle.js';
125
150
  cause: err
126
151
  });
127
152
  });
128
- const returnWitness = witnessMapToFields(acirExecutionResult.returnWitness);
129
153
  this.log.verbose(`Utility simulation for ${call.to}.${call.selector} completed`);
130
- return decodeFromAbi(entryPointArtifact.returnTypes, returnWitness);
154
+ return witnessMapToFields(acirExecutionResult.returnWitness);
131
155
  } catch (err) {
132
156
  throw createSimulationError(err instanceof Error ? err : new Error('Unknown error during private execution'));
133
157
  }
134
158
  }
135
159
  // docs:end:execute_utility_function
136
- getStats() {
137
- return this.executionDataProvider.getStats();
160
+ /**
161
+ * Returns the execution statistics collected during the simulator run.
162
+ * @returns The execution statistics.
163
+ */ getStats() {
164
+ const nodeRPCCalls = typeof this.aztecNode.getStats === 'function' ? this.aztecNode.getStats() : {
165
+ perMethod: {},
166
+ roundTrips: {
167
+ roundTrips: 0,
168
+ totalBlockingTime: 0,
169
+ roundTripDurations: [],
170
+ roundTripMethods: []
171
+ }
172
+ };
173
+ return {
174
+ nodeRPCCalls
175
+ };
138
176
  }
139
177
  }
140
178
  class OrderedSideEffect {
@@ -152,11 +190,11 @@ class OrderedSideEffect {
152
190
  * (allowing state overrides) and is much faster, while still generating a valid
153
191
  * output that can be sent to the node for public simulation
154
192
  * @param privateExecutionResult - The result of the private execution.
155
- * @param nonceGenerator - A nonce generator for note hashes. According to the protocol rules,
156
- * it can either be the first nullifier in the tx or the hash of the initial tx request if there are none.
157
- * @param contractDataProvider - A provider for contract data in order to get function names and debug info.
193
+ * @param contractStore - A provider for contract data in order to get function names and debug info.
194
+ * @param minRevertibleSideEffectCounterOverride - Optional override for the min revertible side effect counter.
195
+ * Used by TXE to simulate account contract behavior (setting the counter before app execution).
158
196
  * @returns The simulated proving result.
159
- */ export async function generateSimulatedProvingResult(privateExecutionResult, nonceGenerator, contractDataProvider) {
197
+ */ export async function generateSimulatedProvingResult(privateExecutionResult, contractStore, minRevertibleSideEffectCounterOverride) {
160
198
  const siloedNoteHashes = [];
161
199
  const nullifiers = [];
162
200
  const taggedPrivateLogs = [];
@@ -192,7 +230,7 @@ class OrderedSideEffect {
192
230
  }
193
231
  publicTeardownCallRequest = execution.publicInputs.publicTeardownCallRequest.isEmpty() ? publicTeardownCallRequest : execution.publicInputs.publicTeardownCallRequest;
194
232
  executionSteps.push({
195
- functionName: await contractDataProvider.getDebugFunctionName(execution.publicInputs.callContext.contractAddress, execution.publicInputs.callContext.functionSelector),
233
+ functionName: await contractStore.getDebugFunctionName(execution.publicInputs.callContext.contractAddress, execution.publicInputs.callContext.functionSelector),
196
234
  timings: execution.profileResult?.timings ?? {
197
235
  witgen: 0,
198
236
  oracles: {}
@@ -210,12 +248,13 @@ class OrderedSideEffect {
210
248
  const sortByCounter = (a, b)=>a.counter - b.counter;
211
249
  const getEffect = (orderedSideEffect)=>orderedSideEffect.sideEffect;
212
250
  const isPrivateOnlyTx = privateExecutionResult.publicFunctionCalldata.length === 0;
213
- const minRevertibleSideEffectCounter = getFinalMinRevertibleSideEffectCounter(privateExecutionResult);
251
+ const minRevertibleSideEffectCounter = minRevertibleSideEffectCounterOverride ?? getFinalMinRevertibleSideEffectCounter(privateExecutionResult);
214
252
  const [nonRevertibleNullifiers, revertibleNullifiers] = splitOrderedSideEffects(nullifiers.sort(sortByCounter), minRevertibleSideEffectCounter);
215
- if (nonRevertibleNullifiers.length > 0 && !nonRevertibleNullifiers[0].equals(nonceGenerator)) {
253
+ const nonceGenerator = privateExecutionResult.firstNullifier;
254
+ if (nonRevertibleNullifiers.length === 0) {
255
+ nonRevertibleNullifiers.push(nonceGenerator);
256
+ } else if (!nonRevertibleNullifiers[0].equals(nonceGenerator)) {
216
257
  throw new Error('The first non revertible nullifier should be equal to the nonce generator. This is a bug!');
217
- } else {
218
- nonRevertibleNullifiers.unshift(nonceGenerator);
219
258
  }
220
259
  if (isPrivateOnlyTx) {
221
260
  // We must make the note hashes unique by using the
@@ -231,11 +270,15 @@ class OrderedSideEffect {
231
270
  inputsForRollup = new PartialPrivateTailPublicInputsForRollup(accumulatedDataForRollup);
232
271
  } else {
233
272
  const [nonRevertibleNoteHashes, revertibleNoteHashes] = splitOrderedSideEffects(siloedNoteHashes.sort(sortByCounter), minRevertibleSideEffectCounter);
273
+ const nonRevertibleUniqueNoteHashes = await Promise.all(nonRevertibleNoteHashes.map(async (noteHash, i)=>{
274
+ const nonce = await computeNoteHashNonce(nonceGenerator, i);
275
+ return await computeUniqueNoteHash(nonce, noteHash);
276
+ }));
234
277
  const [nonRevertibleL2ToL1Messages, revertibleL2ToL1Messages] = splitOrderedSideEffects(l2ToL1Messages.sort(sortByCounter), minRevertibleSideEffectCounter);
235
278
  const [nonRevertibleTaggedPrivateLogs, revertibleTaggedPrivateLogs] = splitOrderedSideEffects(taggedPrivateLogs, minRevertibleSideEffectCounter);
236
279
  const [nonRevertibleContractClassLogHashes, revertibleContractClassLogHashes] = splitOrderedSideEffects(contractClassLogsHashes.sort(sortByCounter), minRevertibleSideEffectCounter);
237
280
  const [nonRevertiblePublicCallRequests, revertiblePublicCallRequests] = splitOrderedSideEffects(publicCallRequests.sort(sortByCounter), minRevertibleSideEffectCounter);
238
- const nonRevertibleData = new PrivateToPublicAccumulatedData(padArrayEnd(nonRevertibleNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX), padArrayEnd(nonRevertibleNullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX), padArrayEnd(nonRevertibleL2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX), padArrayEnd(nonRevertibleTaggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX), padArrayEnd(nonRevertibleContractClassLogHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX), padArrayEnd(nonRevertiblePublicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX));
281
+ const nonRevertibleData = new PrivateToPublicAccumulatedData(padArrayEnd(nonRevertibleUniqueNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX), padArrayEnd(nonRevertibleNullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX), padArrayEnd(nonRevertibleL2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX), padArrayEnd(nonRevertibleTaggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX), padArrayEnd(nonRevertibleContractClassLogHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX), padArrayEnd(nonRevertiblePublicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX));
239
282
  const revertibleData = new PrivateToPublicAccumulatedData(padArrayEnd(revertibleNoteHashes, Fr.ZERO, MAX_NOTE_HASHES_PER_TX), padArrayEnd(revertibleNullifiers, Fr.ZERO, MAX_NULLIFIERS_PER_TX), padArrayEnd(revertibleL2ToL1Messages, ScopedL2ToL1Message.empty(), MAX_L2_TO_L1_MSGS_PER_TX), padArrayEnd(revertibleTaggedPrivateLogs, PrivateLog.empty(), MAX_PRIVATE_LOGS_PER_TX), padArrayEnd(revertibleContractClassLogHashes, ScopedLogHash.empty(), MAX_CONTRACT_CLASS_LOGS_PER_TX), padArrayEnd(revertiblePublicCallRequests, PublicCallRequest.empty(), MAX_ENQUEUED_CALLS_PER_TX));
240
283
  gasUsed = meterGasUsed(revertibleData).add(meterGasUsed(nonRevertibleData));
241
284
  if (publicTeardownCallRequest) {
@@ -257,7 +300,7 @@ function splitOrderedSideEffects(effects, minRevertibleSideEffectCounter) {
257
300
  const revertibleSideEffects = [];
258
301
  const nonRevertibleSideEffects = [];
259
302
  effects.forEach((effect)=>{
260
- if (effect.counter < minRevertibleSideEffectCounter) {
303
+ if (minRevertibleSideEffectCounter === 0 || effect.counter < minRevertibleSideEffectCounter) {
261
304
  nonRevertibleSideEffects.push(effect.sideEffect);
262
305
  } else {
263
306
  revertibleSideEffects.push(effect.sideEffect);
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { NoteData } from './oracle/interfaces.js';
4
4
  interface PendingNote {
@@ -11,7 +11,7 @@ interface PendingNote {
11
11
  */
12
12
  export declare class ExecutionNoteCache {
13
13
  #private;
14
- private readonly txRequestHash;
14
+ private readonly protocolNullifier;
15
15
  /**
16
16
  * New notes created in this transaction.
17
17
  * They are pushed to this array in the same order as they are emitted.
@@ -28,25 +28,27 @@ export declare class ExecutionNoteCache {
28
28
  */
29
29
  private nullifierMap;
30
30
  /**
31
- * All nullifiers emitted in this transaction.
31
+ * Nullifiers emitted by private calls in this transaction.
32
+ */
33
+ private emittedNullifiers;
34
+ /**
35
+ * The counter that separates non-revertible side effects (which persist even if the tx reverts) from revertible ones.
32
36
  */
33
- private allNullifiers;
34
37
  private minRevertibleSideEffectCounter;
35
38
  private inRevertiblePhase;
36
39
  /**
37
- * We don't need to use the tx request hash for nonces if another non revertible nullifier is emitted.
38
- * In that case we disable injecting the tx request hash as a nullifier.
40
+ * Whether the protocol nullifier was used for nonce generation.
41
+ * We don't need to use the protocol nullifier if a non-revertible nullifier is emitted.
39
42
  */
40
- private usedTxRequestHashForNonces;
41
- constructor(txRequestHash: Fr);
43
+ private usedProtocolNullifierForNonces;
44
+ constructor(protocolNullifier: Fr);
42
45
  /**
43
46
  * Enters the revertible phase of the transaction.
44
47
  * @param minRevertibleSideEffectCounter - The counter at which the transaction enters the revertible phase.
45
48
  */
46
49
  setMinRevertibleSideEffectCounter(minRevertibleSideEffectCounter: number): Promise<void>;
47
- finish(): {
48
- usedTxRequestHashForNonces: boolean;
49
- };
50
+ isSideEffectCounterRevertible(sideEffectCounter: number): boolean;
51
+ finish(): void;
50
52
  /**
51
53
  * Add a new note to cache.
52
54
  * @param note - New note created during execution.
@@ -70,9 +72,10 @@ export declare class ExecutionNoteCache {
70
72
  * Return notes created up to current point in execution.
71
73
  * If a nullifier for a note in this list is emitted, the note will be deleted.
72
74
  * @param contractAddress - Contract address of the notes.
75
+ * @param owner - Owner of the notes. If undefined, returns all notes regardless of owner.
73
76
  * @param storageSlot - Storage slot of the notes.
74
77
  **/
75
- getNotes(contractAddress: AztecAddress, storageSlot: Fr): NoteData[];
78
+ getNotes(contractAddress: AztecAddress, owner: AztecAddress | undefined, storageSlot: Fr): NoteData[];
76
79
  /**
77
80
  * Check if a note exists in the newNotes array.
78
81
  * @param contractAddress - Contract address of the note.
@@ -86,8 +89,16 @@ export declare class ExecutionNoteCache {
86
89
  */
87
90
  getNullifiers(contractAddress: AztecAddress): Set<bigint>;
88
91
  getAllNotes(): PendingNote[];
92
+ /**
93
+ * @returns All nullifiers emitted by private calls in this transaction.
94
+ */
95
+ getEmittedNullifiers(): Fr[];
96
+ /**
97
+ * @returns All nullifiers emitted by private calls in this transaction. If the protocol nullifier was used as the
98
+ * nonce generator, it is injected as the first nullifier.
99
+ */
89
100
  getAllNullifiers(): Fr[];
90
- recordNullifier(contractAddress: AztecAddress, siloedNullifier: bigint): void;
101
+ getNonceGenerator(): Fr;
91
102
  }
92
103
  export {};
93
- //# sourceMappingURL=execution_note_cache.d.ts.map
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX25vdGVfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX25vdGVfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2hFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELFVBQVUsV0FBVztJQUNuQixJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQ2YsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixzQkFBc0IsRUFBRSxFQUFFLENBQUM7Q0FDNUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGtCQUFrQjs7SUFvQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsaUJBQWlCO0lBbkM5Qzs7O09BR0c7SUFDSCxPQUFPLENBQUMsS0FBSyxDQUFxQjtJQUNsQzs7T0FFRztJQUNILE9BQU8sQ0FBQyxPQUFPLENBQXlDO0lBRXhEOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsWUFBWSxDQUF1QztJQUUzRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxpQkFBaUIsQ0FBMEI7SUFFbkQ7O09BRUc7SUFDSCxPQUFPLENBQUMsOEJBQThCLENBQUs7SUFFM0MsT0FBTyxDQUFDLGlCQUFpQixDQUFTO0lBRWxDOzs7T0FHRztJQUNILE9BQU8sQ0FBQyw4QkFBOEIsQ0FBc0I7SUFFNUQsWUFBNkIsaUJBQWlCLEVBQUUsRUFBRSxFQUFJO0lBRXREOzs7T0FHRztJQUNVLGlDQUFpQyxDQUFDLDhCQUE4QixFQUFFLE1BQU0saUJBc0NwRjtJQUVNLDZCQUE2QixDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxPQUFPLENBS3ZFO0lBRU0sTUFBTSxTQU1aO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFTaEQ7SUFFRDs7Ozs7O09BTUc7SUFDVSxXQUFXLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLCtCQXlCdkY7SUFFRDs7OztPQUlHO0lBQ1UsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxpQkFHOUU7SUFFRDs7Ozs7O1FBTUk7SUFDRyxRQUFRLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxHQUFHLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxjQU05RjtJQUVEOzs7OztRQUtJO0lBQ0csZUFBZSxDQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsV0FHakU7SUFFRDs7O09BR0c7SUFDSSxhQUFhLENBQUMsZUFBZSxFQUFFLFlBQVksR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBRS9EO0lBVUQsV0FBVyxJQUFJLFdBQVcsRUFBRSxDQUUzQjtJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLElBQUksRUFBRSxFQUFFLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLElBQUksRUFBRSxFQUFFLENBTXZCO0lBRUQsaUJBQWlCLElBQUksRUFBRSxDQUV0QjtDQWFGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_note_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAkB;;IAiCjB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhC1C;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAqB;IAClC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAyC;IAExD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D;;OAEG;IACH,OAAO,CAAC,aAAa,CAA0B;IAE/C,OAAO,CAAC,8BAA8B,CAAK;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;OAGG;IACH,OAAO,CAAC,0BAA0B,CAAQ;gBAEb,aAAa,EAAE,EAAE;IAE9C;;;OAGG;IACU,iCAAiC,CAAC,8BAA8B,EAAE,MAAM;IAwC9E,MAAM;;;IAWb;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;IAWjD;;;;;;OAMG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IA2BxF;;;;OAIG;IACU,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE;IAK/E;;;;;QAKI;IACG,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;IAK9D;;;;;QAKI;IACG,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IAKlE;;;OAGG;IACI,aAAa,CAAC,eAAe,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;IAYhE,WAAW,IAAI,WAAW,EAAE;IAI5B,gBAAgB,IAAI,EAAE,EAAE;IAIxB,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM;CAWvE"}
1
+ {"version":3,"file":"execution_note_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_note_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,UAAU,WAAW;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAkB;;IAoCjB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAnC9C;;;OAGG;IACH,OAAO,CAAC,KAAK,CAAqB;IAClC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAyC;IAExD;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAuC;IAE3D;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA0B;IAEnD;;OAEG;IACH,OAAO,CAAC,8BAA8B,CAAK;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAElC;;;OAGG;IACH,OAAO,CAAC,8BAA8B,CAAsB;IAE5D,YAA6B,iBAAiB,EAAE,EAAE,EAAI;IAEtD;;;OAGG;IACU,iCAAiC,CAAC,8BAA8B,EAAE,MAAM,iBAsCpF;IAEM,6BAA6B,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAKvE;IAEM,MAAM,SAMZ;IAED;;;OAGG;IACI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,QAShD;IAED;;;;;;OAMG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,+BAyBvF;IAED;;;;OAIG;IACU,gBAAgB,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,iBAG9E;IAED;;;;;;QAMI;IACG,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,SAAS,EAAE,WAAW,EAAE,EAAE,cAM9F;IAED;;;;;QAKI;IACG,eAAe,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,WAGjE;IAED;;;OAGG;IACI,aAAa,CAAC,eAAe,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAE/D;IAUD,WAAW,IAAI,WAAW,EAAE,CAE3B;IAED;;OAEG;IACH,oBAAoB,IAAI,EAAE,EAAE,CAE3B;IAED;;;OAGG;IACH,gBAAgB,IAAI,EAAE,EAAE,CAMvB;IAED,iBAAiB,IAAI,EAAE,CAEtB;CAaF"}
@@ -1,9 +1,9 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifier } from '@aztec/stdlib/hash';
3
3
  /**
4
4
  * Data that's accessible by all the function calls in an execution.
5
5
  */ export class ExecutionNoteCache {
6
- txRequestHash;
6
+ protocolNullifier;
7
7
  /**
8
8
  * New notes created in this transaction.
9
9
  * They are pushed to this array in the same order as they are emitted.
@@ -17,23 +17,24 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
17
17
  * Note that their value (bigint representation) is used because Frs cannot be looked up in Sets.
18
18
  */ nullifierMap;
19
19
  /**
20
- * All nullifiers emitted in this transaction.
21
- */ allNullifiers;
22
- minRevertibleSideEffectCounter;
20
+ * Nullifiers emitted by private calls in this transaction.
21
+ */ emittedNullifiers;
22
+ /**
23
+ * The counter that separates non-revertible side effects (which persist even if the tx reverts) from revertible ones.
24
+ */ minRevertibleSideEffectCounter;
23
25
  inRevertiblePhase;
24
26
  /**
25
- * We don't need to use the tx request hash for nonces if another non revertible nullifier is emitted.
26
- * In that case we disable injecting the tx request hash as a nullifier.
27
- */ usedTxRequestHashForNonces;
28
- constructor(txRequestHash){
29
- this.txRequestHash = txRequestHash;
27
+ * Whether the protocol nullifier was used for nonce generation.
28
+ * We don't need to use the protocol nullifier if a non-revertible nullifier is emitted.
29
+ */ usedProtocolNullifierForNonces;
30
+ constructor(protocolNullifier){
31
+ this.protocolNullifier = protocolNullifier;
30
32
  this.notes = [];
31
33
  this.noteMap = new Map();
32
34
  this.nullifierMap = new Map();
33
- this.allNullifiers = new Set();
35
+ this.emittedNullifiers = new Set();
34
36
  this.minRevertibleSideEffectCounter = 0;
35
37
  this.inRevertiblePhase = false;
36
- this.usedTxRequestHashForNonces = true;
37
38
  }
38
39
  /**
39
40
  * Enters the revertible phase of the transaction.
@@ -44,16 +45,16 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
44
45
  }
45
46
  this.inRevertiblePhase = true;
46
47
  this.minRevertibleSideEffectCounter = minRevertibleSideEffectCounter;
47
- let nonceGenerator = this.txRequestHash;
48
- const nullifiers = this.getAllNullifiers();
49
- if (nullifiers.length > 0) {
50
- nonceGenerator = new Fr(nullifiers[0]);
51
- this.usedTxRequestHashForNonces = false;
52
- }
48
+ const nullifiers = this.getEmittedNullifiers();
49
+ // If there are no nullifiers emitted by private calls so far, we use the protocol nullifier as the nonce generator.
50
+ // Note: There could still be nullifiers emitted after the counter is set, but those nullifiers are revertible, so
51
+ // we don't want to use them as the nonce generator.
52
+ this.usedProtocolNullifierForNonces = nullifiers.length === 0;
53
+ const nonceGenerator = this.usedProtocolNullifierForNonces ? this.protocolNullifier : new Fr(nullifiers[0]);
53
54
  // The existing pending notes are all non-revertible.
54
55
  // They cannot be squashed by nullifiers emitted after minRevertibleSideEffectCounter is set.
55
56
  // Their indexes in the tx are known at this point and won't change. So we can assign a nonce to each one of them.
56
- // The nonces will be used to create the "complete" nullifier.
57
+ // The nonces will be used to create the "unique" note hashes.
57
58
  const updatedNotes = await Promise.all(this.notes.map(async ({ note, counter }, i)=>{
58
59
  const noteNonce = await computeNoteHashNonce(nonceGenerator, i);
59
60
  const uniqueNoteHash = await computeUniqueNoteHash(noteNonce, await siloNoteHash(note.contractAddress, note.noteHash));
@@ -71,15 +72,18 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
71
72
  this.noteMap = new Map();
72
73
  updatedNotes.forEach((n)=>this.#addNote(n));
73
74
  }
75
+ isSideEffectCounterRevertible(sideEffectCounter) {
76
+ if (!this.inRevertiblePhase) {
77
+ return false;
78
+ }
79
+ return sideEffectCounter >= this.minRevertibleSideEffectCounter;
80
+ }
74
81
  finish() {
75
- // If we never entered the revertible phase, we need to use the tx request hash as a nonce for the notes if no nullifiers have been emitted.
82
+ // If we never entered the revertible phase, and there are no nullifiers emitted, we need to use the protocol
83
+ // nullifier as the nonce generator.
76
84
  if (!this.inRevertiblePhase) {
77
- this.usedTxRequestHashForNonces = this.getAllNullifiers().length === 0;
85
+ this.usedProtocolNullifierForNonces = this.getEmittedNullifiers().length === 0;
78
86
  }
79
- // If we entered the revertible phase, the nonce generator was decided based on wether or not a nullifier was emitted before entering.
80
- return {
81
- usedTxRequestHashForNonces: this.usedTxRequestHashForNonces
82
- };
83
87
  }
84
88
  /**
85
89
  * Add a new note to cache.
@@ -117,11 +121,11 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
117
121
  this.notes = this.notes.filter((n)=>n.counter !== note.counter);
118
122
  // If the note is non revertible and the nullifier was emitted in the revertible phase, both the note hash and the nullifier will be emitted
119
123
  if (this.inRevertiblePhase && note.counter < this.minRevertibleSideEffectCounter) {
120
- this.recordNullifier(contractAddress, siloedNullifier);
124
+ this.#recordNullifier(contractAddress, siloedNullifier);
121
125
  }
122
126
  } else {
123
127
  // If the note being nullified comes from a previous tx the nullifier will be emitted.
124
- this.recordNullifier(contractAddress, siloedNullifier);
128
+ this.#recordNullifier(contractAddress, siloedNullifier);
125
129
  }
126
130
  return nullifiedNoteHashCounter;
127
131
  }
@@ -131,16 +135,17 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
131
135
  * @param innerNullifier
132
136
  */ async nullifierCreated(contractAddress, innerNullifier) {
133
137
  const siloedNullifier = (await siloNullifier(contractAddress, innerNullifier)).toBigInt();
134
- this.recordNullifier(contractAddress, siloedNullifier);
138
+ this.#recordNullifier(contractAddress, siloedNullifier);
135
139
  }
136
140
  /**
137
141
  * Return notes created up to current point in execution.
138
142
  * If a nullifier for a note in this list is emitted, the note will be deleted.
139
143
  * @param contractAddress - Contract address of the notes.
144
+ * @param owner - Owner of the notes. If undefined, returns all notes regardless of owner.
140
145
  * @param storageSlot - Storage slot of the notes.
141
- **/ getNotes(contractAddress, storageSlot) {
146
+ **/ getNotes(contractAddress, owner, storageSlot) {
142
147
  const notes = this.noteMap.get(contractAddress.toBigInt()) ?? [];
143
- return notes.filter((n)=>n.note.storageSlot.equals(storageSlot)).map((n)=>n.note);
148
+ return notes.filter((n)=>owner === undefined || n.note.owner.equals(owner)).filter((n)=>n.note.storageSlot.equals(storageSlot)).map((n)=>n.note);
144
149
  }
145
150
  /**
146
151
  * Check if a note exists in the newNotes array.
@@ -166,18 +171,38 @@ import { computeNoteHashNonce, computeUniqueNoteHash, siloNoteHash, siloNullifie
166
171
  getAllNotes() {
167
172
  return this.notes;
168
173
  }
169
- getAllNullifiers() {
174
+ /**
175
+ * @returns All nullifiers emitted by private calls in this transaction.
176
+ */ getEmittedNullifiers() {
170
177
  return [
171
- ...this.allNullifiers
178
+ ...this.emittedNullifiers
172
179
  ].map((n)=>new Fr(n));
173
180
  }
174
- recordNullifier(contractAddress, siloedNullifier) {
181
+ /**
182
+ * @returns All nullifiers emitted by private calls in this transaction. If the protocol nullifier was used as the
183
+ * nonce generator, it is injected as the first nullifier.
184
+ */ getAllNullifiers() {
185
+ if (this.usedProtocolNullifierForNonces === undefined) {
186
+ throw new Error('usedProtocolNullifierForNonces is not set yet. Call finish() to complete the transaction.');
187
+ }
188
+ const allNullifiers = this.getEmittedNullifiers();
189
+ return [
190
+ ...this.usedProtocolNullifierForNonces ? [
191
+ this.protocolNullifier
192
+ ] : [],
193
+ ...allNullifiers
194
+ ];
195
+ }
196
+ getNonceGenerator() {
197
+ return this.getAllNullifiers()[0];
198
+ }
199
+ #recordNullifier(contractAddress, siloedNullifier) {
175
200
  const nullifiers = this.getNullifiers(contractAddress);
176
201
  if (nullifiers.has(siloedNullifier)) {
177
202
  throw new Error(`Duplicate siloed nullifier ${siloedNullifier} emitted by contract ${contractAddress}`);
178
203
  }
179
204
  nullifiers.add(siloedNullifier);
180
205
  this.nullifierMap.set(contractAddress.toBigInt(), nullifiers);
181
- this.allNullifiers.add(siloedNullifier);
206
+ this.emittedNullifiers.add(siloedNullifier);
182
207
  }
183
208
  }
@@ -9,8 +9,8 @@ export declare class ExecutionTaggingIndexCache {
9
9
  getLastUsedIndex(secret: DirectionalAppTaggingSecret): number | undefined;
10
10
  setLastUsedIndex(secret: DirectionalAppTaggingSecret, index: number): void;
11
11
  /**
12
- * Returns the pre tags that were used in this execution (and that need to be stored in the db).
12
+ * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
13
13
  */
14
14
  getUsedPreTags(): PreTag[];
15
15
  }
16
- //# sourceMappingURL=execution_tagging_index_cache.d.ts.map
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvZXhlY3V0aW9uX3RhZ2dpbmdfaW5kZXhfY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUU7Ozs7R0FJRztBQUNILHFCQUFhLDBCQUEwQjtJQUNyQyxPQUFPLENBQUMsZUFBZSxDQUFrQztJQUVsRCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FFL0U7SUFFTSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFNekU7SUFFRDs7T0FFRztJQUNJLGNBQWMsSUFBSSxNQUFNLEVBQUUsQ0FLaEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"execution_tagging_index_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_tagging_index_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,eAAe,CAAkC;IAElD,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,GAAG,SAAS;IAIzE,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM;IAQ1E;;OAEG;IACI,cAAc,IAAI,MAAM,EAAE;CAMlC"}
1
+ {"version":3,"file":"execution_tagging_index_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/execution_tagging_index_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,eAAe,CAAkC;IAElD,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,GAAG,MAAM,GAAG,SAAS,CAE/E;IAEM,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,QAMzE;IAED;;OAEG;IACI,cAAc,IAAI,MAAM,EAAE,CAKhC;CACF"}
@@ -16,7 +16,7 @@ import { DirectionalAppTaggingSecret } from '@aztec/stdlib/logs';
16
16
  this.taggingIndexMap.set(secret.toString(), index);
17
17
  }
18
18
  /**
19
- * Returns the pre tags that were used in this execution (and that need to be stored in the db).
19
+ * Returns the pre-tags that were used in this execution (and that need to be stored in the db).
20
20
  */ getUsedPreTags() {
21
21
  return Array.from(this.taggingIndexMap.entries()).map(([secret, index])=>({
22
22
  secret: DirectionalAppTaggingSecret.fromString(secret),
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { HashedValues } from '@aztec/stdlib/tx';
3
3
  /**
4
4
  * A cache for hashed values (arguments, returns) during transaction execution.
@@ -25,4 +25,4 @@ export declare class HashedValuesCache {
25
25
  */
26
26
  store(values: Fr[], hash: Fr): void;
27
27
  }
28
- //# sourceMappingURL=hashed_values_cache.d.ts.map
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaGVkX3ZhbHVlc19jYWNoZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0X2Z1bmN0aW9uX3NpbXVsYXRvci9oYXNoZWRfdmFsdWVzX2NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxxQkFBYSxpQkFBaUI7SUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBb0I7SUFFakMsWUFBWSxnQkFBZ0IsR0FBRSxZQUFZLEVBQU8sRUFLaEQ7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYyxNQUFNLENBQUMsZ0JBQWdCLEdBQUUsWUFBWSxFQUFPLHFCQUV6RDtJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxTQUFTLENBTTdDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFFbEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"hashed_values_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/hashed_values_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAoB;gBAErB,gBAAgB,GAAE,YAAY,EAAO;IAOjD;;;;OAIG;WACW,MAAM,CAAC,gBAAgB,GAAE,YAAY,EAAO;IAI1D;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,SAAS;IAQ9C;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;CAGpC"}
1
+ {"version":3,"file":"hashed_values_cache.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/hashed_values_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAAoB;IAEjC,YAAY,gBAAgB,GAAE,YAAY,EAAO,EAKhD;IAED;;;;OAIG;IACH,OAAc,MAAM,CAAC,gBAAgB,GAAE,YAAY,EAAO,qBAEzD;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,SAAS,CAM7C;IAED;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAElC;CACF"}
@@ -9,6 +9,6 @@ export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
9
9
  export { Oracle } from './oracle/oracle.js';
10
10
  export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
11
11
  export { generateSimulatedProvingResult } from './contract_function_simulator.js';
12
- export { packAsRetrievedNote } from './oracle/note_packing_utils.js';
12
+ export { packAsHintedNote } from './oracle/note_packing_utils.js';
13
13
  export { UtilityContext } from './noir-structs/utility_context.js';
14
- //# sourceMappingURL=index.d.ts.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_function_simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC"}
@@ -8,5 +8,5 @@ export { PrivateExecutionOracle } from './oracle/private_execution_oracle.js';
8
8
  export { Oracle } from './oracle/oracle.js';
9
9
  export { executePrivateFunction, extractPrivateCircuitPublicInputs } from './oracle/private_execution.js';
10
10
  export { generateSimulatedProvingResult } from './contract_function_simulator.js';
11
- export { packAsRetrievedNote } from './oracle/note_packing_utils.js';
11
+ export { packAsHintedNote } from './oracle/note_packing_utils.js';
12
12
  export { UtilityContext } from './noir-structs/utility_context.js';