@aztec/pxe 0.0.1-commit.e3c1de76 → 0.0.1-commit.e57c76e

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 (347) hide show
  1. package/dest/bin/check_oracle_version.js +43 -99
  2. package/dest/bin/index.d.ts +2 -0
  3. package/dest/bin/index.d.ts.map +1 -0
  4. package/dest/bin/index.js +1 -0
  5. package/dest/bin/oracle_version_helpers.d.ts +26 -0
  6. package/dest/bin/oracle_version_helpers.d.ts.map +1 -0
  7. package/dest/bin/oracle_version_helpers.js +93 -0
  8. package/dest/block_synchronizer/block_stream_source.d.ts +10 -0
  9. package/dest/block_synchronizer/block_stream_source.d.ts.map +1 -0
  10. package/dest/block_synchronizer/block_stream_source.js +62 -0
  11. package/dest/block_synchronizer/block_synchronizer.d.ts +9 -3
  12. package/dest/block_synchronizer/block_synchronizer.d.ts.map +1 -1
  13. package/dest/block_synchronizer/block_synchronizer.js +37 -11
  14. package/dest/config/index.d.ts +8 -2
  15. package/dest/config/index.d.ts.map +1 -1
  16. package/dest/config/index.js +13 -15
  17. package/dest/config/package_info.js +1 -1
  18. package/dest/contract_function_simulator/contract_function_simulator.d.ts +66 -29
  19. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -1
  20. package/dest/contract_function_simulator/contract_function_simulator.js +216 -75
  21. package/dest/contract_function_simulator/ephemeral_array_service.d.ts +28 -0
  22. package/dest/contract_function_simulator/ephemeral_array_service.d.ts.map +1 -0
  23. package/dest/contract_function_simulator/ephemeral_array_service.js +78 -0
  24. package/dest/contract_function_simulator/execution_note_cache.d.ts +2 -2
  25. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -1
  26. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +7 -11
  27. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -1
  28. package/dest/contract_function_simulator/execution_tagging_index_cache.js +19 -15
  29. package/dest/contract_function_simulator/index.d.ts +14 -2
  30. package/dest/contract_function_simulator/index.d.ts.map +1 -1
  31. package/dest/contract_function_simulator/index.js +11 -0
  32. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts +48 -0
  33. package/dest/contract_function_simulator/noir-structs/bounded_vec.d.ts.map +1 -0
  34. package/dest/contract_function_simulator/noir-structs/bounded_vec.js +45 -0
  35. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts +37 -0
  36. package/dest/contract_function_simulator/noir-structs/ephemeral_array.d.ts.map +1 -0
  37. package/dest/contract_function_simulator/noir-structs/ephemeral_array.js +59 -0
  38. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +3 -4
  39. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -1
  40. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +8 -9
  41. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +13 -3
  42. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -1
  43. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +35 -4
  44. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +2 -2
  45. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -1
  46. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +2 -4
  47. package/dest/contract_function_simulator/noir-structs/note_data.d.ts +27 -0
  48. package/dest/contract_function_simulator/noir-structs/note_data.d.ts.map +1 -0
  49. package/dest/contract_function_simulator/noir-structs/note_data.js +3 -0
  50. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +3 -5
  51. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -1
  52. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +6 -10
  53. package/dest/contract_function_simulator/noir-structs/option.d.ts +61 -0
  54. package/dest/contract_function_simulator/noir-structs/option.d.ts.map +1 -0
  55. package/dest/contract_function_simulator/noir-structs/option.js +62 -0
  56. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts +11 -0
  57. package/dest/contract_function_simulator/noir-structs/provided_secret.d.ts.map +1 -0
  58. package/dest/contract_function_simulator/noir-structs/provided_secret.js +24 -0
  59. package/dest/contract_function_simulator/oracle/interfaces.d.ts +16 -98
  60. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -1
  61. package/dest/contract_function_simulator/oracle/interfaces.js +2 -2
  62. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +2 -2
  63. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -1
  64. package/dest/contract_function_simulator/oracle/note_packing_utils.js +2 -2
  65. package/dest/contract_function_simulator/oracle/oracle.d.ts +75 -46
  66. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -1
  67. package/dest/contract_function_simulator/oracle/oracle.js +471 -275
  68. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts +127 -0
  69. package/dest/contract_function_simulator/oracle/oracle_registry.d.ts.map +1 -0
  70. package/dest/contract_function_simulator/oracle/oracle_registry.js +786 -0
  71. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts +139 -0
  72. package/dest/contract_function_simulator/oracle/oracle_type_mappings.d.ts.map +1 -0
  73. package/dest/contract_function_simulator/oracle/oracle_type_mappings.js +560 -0
  74. package/dest/contract_function_simulator/oracle/private_execution.js +5 -3
  75. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +68 -95
  76. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -1
  77. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +141 -110
  78. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +156 -76
  79. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -1
  80. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +450 -166
  81. package/dest/contract_function_simulator/pick_notes.d.ts +1 -1
  82. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -1
  83. package/dest/contract_function_simulator/pick_notes.js +20 -3
  84. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +1 -1
  85. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -1
  86. package/dest/contract_function_simulator/proxied_contract_data_source.js +35 -64
  87. package/dest/contract_logging.d.ts +27 -0
  88. package/dest/contract_logging.d.ts.map +1 -0
  89. package/dest/contract_logging.js +38 -0
  90. package/dest/contract_sync/contract_sync_service.d.ts +42 -0
  91. package/dest/contract_sync/contract_sync_service.d.ts.map +1 -0
  92. package/dest/contract_sync/contract_sync_service.js +135 -0
  93. package/dest/contract_sync/helpers.d.ts +27 -0
  94. package/dest/contract_sync/helpers.d.ts.map +1 -0
  95. package/dest/contract_sync/{index.js → helpers.js} +16 -17
  96. package/dest/debug/pxe_debug_utils.d.ts +14 -15
  97. package/dest/debug/pxe_debug_utils.d.ts.map +1 -1
  98. package/dest/debug/pxe_debug_utils.js +16 -21
  99. package/dest/entrypoints/client/bundle/index.d.ts +3 -1
  100. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  101. package/dest/entrypoints/client/bundle/index.js +2 -0
  102. package/dest/entrypoints/client/bundle/utils.d.ts +2 -2
  103. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  104. package/dest/entrypoints/client/bundle/utils.js +21 -5
  105. package/dest/entrypoints/client/lazy/index.d.ts +3 -1
  106. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  107. package/dest/entrypoints/client/lazy/index.js +2 -0
  108. package/dest/entrypoints/client/lazy/utils.d.ts +2 -2
  109. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  110. package/dest/entrypoints/client/lazy/utils.js +21 -5
  111. package/dest/entrypoints/pxe_creation_options.d.ts +9 -1
  112. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -1
  113. package/dest/entrypoints/pxe_creation_options.js +3 -1
  114. package/dest/entrypoints/server/index.d.ts +5 -3
  115. package/dest/entrypoints/server/index.d.ts.map +1 -1
  116. package/dest/entrypoints/server/index.js +4 -2
  117. package/dest/entrypoints/server/utils.d.ts +4 -3
  118. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  119. package/dest/entrypoints/server/utils.js +21 -5
  120. package/dest/events/event_service.d.ts +15 -6
  121. package/dest/events/event_service.d.ts.map +1 -1
  122. package/dest/events/event_service.js +44 -11
  123. package/dest/events/private_event_filter_validator.d.ts +3 -2
  124. package/dest/events/private_event_filter_validator.d.ts.map +1 -1
  125. package/dest/events/private_event_filter_validator.js +15 -0
  126. package/dest/hooks/authorize_utility_call.d.ts +41 -0
  127. package/dest/hooks/authorize_utility_call.d.ts.map +1 -0
  128. package/dest/hooks/authorize_utility_call.js +4 -0
  129. package/dest/hooks/execution_hooks.d.ts +42 -0
  130. package/dest/hooks/execution_hooks.d.ts.map +1 -0
  131. package/dest/hooks/execution_hooks.js +9 -0
  132. package/dest/hooks/index.d.ts +4 -0
  133. package/dest/hooks/index.d.ts.map +1 -0
  134. package/dest/hooks/index.js +1 -0
  135. package/dest/logs/log_service.d.ts +9 -8
  136. package/dest/logs/log_service.d.ts.map +1 -1
  137. package/dest/logs/log_service.js +131 -84
  138. package/dest/messages/message_context_service.d.ts +17 -0
  139. package/dest/messages/message_context_service.d.ts.map +1 -0
  140. package/dest/messages/message_context_service.js +55 -0
  141. package/dest/notes/note_service.d.ts +27 -5
  142. package/dest/notes/note_service.d.ts.map +1 -1
  143. package/dest/notes/note_service.js +83 -58
  144. package/dest/notes_filter.d.ts +24 -0
  145. package/dest/notes_filter.d.ts.map +1 -0
  146. package/dest/notes_filter.js +4 -0
  147. package/dest/oracle_version.d.ts +4 -3
  148. package/dest/oracle_version.d.ts.map +1 -1
  149. package/dest/oracle_version.js +20 -10
  150. package/dest/private_kernel/batch_planner.d.ts +47 -0
  151. package/dest/private_kernel/batch_planner.d.ts.map +1 -0
  152. package/dest/private_kernel/batch_planner.js +104 -0
  153. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts +4 -0
  154. package/dest/private_kernel/hints/compute_tx_expiration_timestamp.d.ts.map +1 -0
  155. package/dest/private_kernel/hints/{compute_tx_include_by_timestamp.js → compute_tx_expiration_timestamp.js} +12 -12
  156. package/dest/private_kernel/hints/index.d.ts +1 -1
  157. package/dest/private_kernel/hints/index.js +1 -1
  158. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts +4 -3
  159. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.d.ts.map +1 -1
  160. package/dest/private_kernel/hints/private_kernel_reset_private_inputs_builder.js +130 -69
  161. package/dest/private_kernel/hints/test_utils.d.ts +122 -0
  162. package/dest/private_kernel/hints/test_utils.d.ts.map +1 -0
  163. package/dest/private_kernel/hints/test_utils.js +202 -0
  164. package/dest/private_kernel/private_kernel_execution_prover.d.ts +6 -2
  165. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -1
  166. package/dest/private_kernel/private_kernel_execution_prover.js +166 -65
  167. package/dest/private_kernel/private_kernel_oracle.d.ts +15 -11
  168. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -1
  169. package/dest/private_kernel/private_kernel_oracle.js +31 -25
  170. package/dest/pxe.d.ts +120 -24
  171. package/dest/pxe.d.ts.map +1 -1
  172. package/dest/pxe.js +231 -134
  173. package/dest/storage/anchor_block_store/anchor_block_store.js +1 -1
  174. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts +42 -0
  175. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.d.ts.map +1 -0
  176. package/dest/storage/backwards_compatibility_tests/kv_store_snapshot.js +93 -0
  177. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts +15 -0
  178. package/dest/storage/backwards_compatibility_tests/schema_tests.d.ts.map +1 -0
  179. package/dest/storage/backwards_compatibility_tests/schema_tests.js +591 -0
  180. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts +19 -0
  181. package/dest/storage/backwards_compatibility_tests/store_spy.d.ts.map +1 -0
  182. package/dest/storage/backwards_compatibility_tests/store_spy.js +63 -0
  183. package/dest/storage/capsule_store/capsule_service.d.ts +21 -0
  184. package/dest/storage/capsule_store/capsule_service.d.ts.map +1 -0
  185. package/dest/storage/capsule_store/capsule_service.js +50 -0
  186. package/dest/storage/capsule_store/capsule_store.d.ts +9 -9
  187. package/dest/storage/capsule_store/capsule_store.d.ts.map +1 -1
  188. package/dest/storage/capsule_store/capsule_store.js +36 -28
  189. package/dest/storage/capsule_store/index.d.ts +2 -1
  190. package/dest/storage/capsule_store/index.d.ts.map +1 -1
  191. package/dest/storage/capsule_store/index.js +1 -0
  192. package/dest/storage/contract_store/contract_store.d.ts +42 -15
  193. package/dest/storage/contract_store/contract_store.d.ts.map +1 -1
  194. package/dest/storage/contract_store/contract_store.js +146 -87
  195. package/dest/storage/metadata.d.ts +1 -1
  196. package/dest/storage/metadata.js +1 -1
  197. package/dest/storage/note_store/note_store.d.ts +3 -3
  198. package/dest/storage/note_store/note_store.d.ts.map +1 -1
  199. package/dest/storage/note_store/note_store.js +6 -4
  200. package/dest/storage/open_pxe_stores.d.ts +33 -0
  201. package/dest/storage/open_pxe_stores.d.ts.map +1 -0
  202. package/dest/storage/open_pxe_stores.js +27 -0
  203. package/dest/storage/private_event_store/private_event_store.d.ts +1 -1
  204. package/dest/storage/private_event_store/private_event_store.d.ts.map +1 -1
  205. package/dest/storage/private_event_store/private_event_store.js +3 -0
  206. package/dest/storage/private_event_store/stored_private_event.js +1 -1
  207. package/dest/storage/tagging_store/recipient_tagging_store.d.ts +6 -6
  208. package/dest/storage/tagging_store/recipient_tagging_store.d.ts.map +1 -1
  209. package/dest/storage/tagging_store/sender_tagging_store.d.ts +29 -28
  210. package/dest/storage/tagging_store/sender_tagging_store.d.ts.map +1 -1
  211. package/dest/storage/tagging_store/sender_tagging_store.js +141 -115
  212. package/dest/tagging/get_all_logs_by_tags.d.ts +34 -10
  213. package/dest/tagging/get_all_logs_by_tags.d.ts.map +1 -1
  214. package/dest/tagging/get_all_logs_by_tags.js +45 -32
  215. package/dest/tagging/index.d.ts +6 -5
  216. package/dest/tagging/index.d.ts.map +1 -1
  217. package/dest/tagging/index.js +4 -3
  218. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts +29 -0
  219. package/dest/tagging/persist_sender_tagging_index_ranges.d.ts.map +1 -0
  220. package/dest/tagging/persist_sender_tagging_index_ranges.js +42 -0
  221. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts +56 -0
  222. package/dest/tagging/recipient_sync/sync_tagged_private_logs.d.ts.map +1 -0
  223. package/dest/tagging/recipient_sync/sync_tagged_private_logs.js +163 -0
  224. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts +3 -3
  225. package/dest/tagging/recipient_sync/utils/find_highest_indexes.d.ts.map +1 -1
  226. package/dest/tagging/recipient_sync/utils/find_highest_indexes.js +2 -2
  227. package/dest/tagging/reconcile_tagging_index_ranges.d.ts +36 -0
  228. package/dest/tagging/reconcile_tagging_index_ranges.d.ts.map +1 -0
  229. package/dest/tagging/reconcile_tagging_index_ranges.js +74 -0
  230. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts +4 -9
  231. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.d.ts.map +1 -1
  232. package/dest/tagging/sender_sync/sync_sender_tagging_indexes.js +32 -14
  233. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts +13 -7
  234. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.d.ts.map +1 -1
  235. package/dest/tagging/sender_sync/utils/get_status_change_of_pending.js +41 -10
  236. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts +5 -7
  237. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.d.ts.map +1 -1
  238. package/dest/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.js +37 -25
  239. package/package.json +29 -17
  240. package/src/bin/check_oracle_version.ts +49 -122
  241. package/src/bin/index.ts +1 -0
  242. package/src/bin/oracle_version_helpers.ts +121 -0
  243. package/src/block_synchronizer/block_stream_source.ts +81 -0
  244. package/src/block_synchronizer/block_synchronizer.ts +39 -11
  245. package/src/config/index.ts +15 -9
  246. package/src/config/package_info.ts +1 -1
  247. package/src/contract_function_simulator/contract_function_simulator.ts +391 -136
  248. package/src/contract_function_simulator/ephemeral_array_service.ts +110 -0
  249. package/src/contract_function_simulator/execution_note_cache.ts +1 -1
  250. package/src/contract_function_simulator/execution_tagging_index_cache.ts +19 -18
  251. package/src/contract_function_simulator/index.ts +51 -1
  252. package/src/contract_function_simulator/noir-structs/bounded_vec.ts +55 -0
  253. package/src/contract_function_simulator/noir-structs/ephemeral_array.ts +66 -0
  254. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +9 -8
  255. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +36 -3
  256. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +2 -5
  257. package/src/contract_function_simulator/noir-structs/note_data.ts +27 -0
  258. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +4 -9
  259. package/src/contract_function_simulator/noir-structs/option.ts +69 -0
  260. package/src/contract_function_simulator/noir-structs/provided_secret.ts +27 -0
  261. package/src/contract_function_simulator/oracle/interfaces.ts +12 -176
  262. package/src/contract_function_simulator/oracle/note_packing_utils.ts +3 -3
  263. package/src/contract_function_simulator/oracle/oracle.ts +564 -473
  264. package/src/contract_function_simulator/oracle/oracle_registry.ts +585 -0
  265. package/src/contract_function_simulator/oracle/oracle_type_mappings.ts +553 -0
  266. package/src/contract_function_simulator/oracle/private_execution.ts +4 -4
  267. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +173 -205
  268. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +664 -245
  269. package/src/contract_function_simulator/pick_notes.ts +22 -3
  270. package/src/contract_function_simulator/proxied_contract_data_source.ts +41 -64
  271. package/src/contract_logging.ts +52 -0
  272. package/src/contract_sync/contract_sync_service.ts +189 -0
  273. package/src/contract_sync/{index.ts → helpers.ts} +17 -29
  274. package/src/debug/pxe_debug_utils.ts +47 -25
  275. package/src/entrypoints/client/bundle/index.ts +2 -0
  276. package/src/entrypoints/client/bundle/utils.ts +19 -6
  277. package/src/entrypoints/client/lazy/index.ts +2 -0
  278. package/src/entrypoints/client/lazy/utils.ts +19 -6
  279. package/src/entrypoints/pxe_creation_options.ts +14 -0
  280. package/src/entrypoints/server/index.ts +4 -2
  281. package/src/entrypoints/server/utils.ts +22 -13
  282. package/src/events/event_service.ts +69 -21
  283. package/src/events/private_event_filter_validator.ts +21 -1
  284. package/src/hooks/authorize_utility_call.ts +44 -0
  285. package/src/hooks/execution_hooks.ts +48 -0
  286. package/src/hooks/index.ts +7 -0
  287. package/src/logs/log_service.ts +162 -145
  288. package/src/messages/message_context_service.ts +62 -0
  289. package/src/notes/note_service.ts +120 -85
  290. package/src/notes_filter.ts +24 -0
  291. package/src/oracle_version.ts +20 -10
  292. package/src/private_kernel/batch_planner.ts +169 -0
  293. package/src/private_kernel/hints/{compute_tx_include_by_timestamp.ts → compute_tx_expiration_timestamp.ts} +13 -13
  294. package/src/private_kernel/hints/index.ts +1 -1
  295. package/src/private_kernel/hints/private_kernel_reset_private_inputs_builder.ts +165 -118
  296. package/src/private_kernel/hints/test_utils.ts +318 -0
  297. package/src/private_kernel/private_kernel_execution_prover.ts +254 -89
  298. package/src/private_kernel/private_kernel_oracle.ts +42 -32
  299. package/src/pxe.ts +416 -181
  300. package/src/storage/anchor_block_store/anchor_block_store.ts +1 -1
  301. package/src/storage/backwards_compatibility_tests/__snapshots__/AddressStore.json +22 -0
  302. package/src/storage/backwards_compatibility_tests/__snapshots__/AnchorBlockStore.json +3 -0
  303. package/src/storage/backwards_compatibility_tests/__snapshots__/CapsuleStore.json +16 -0
  304. package/src/storage/backwards_compatibility_tests/__snapshots__/ContractStore.json +28 -0
  305. package/src/storage/backwards_compatibility_tests/__snapshots__/KeyStore.json +52 -0
  306. package/src/storage/backwards_compatibility_tests/__snapshots__/L2TipsKVStore.json +46 -0
  307. package/src/storage/backwards_compatibility_tests/__snapshots__/NoteStore.json +36 -0
  308. package/src/storage/backwards_compatibility_tests/__snapshots__/PrivateEventStore.json +44 -0
  309. package/src/storage/backwards_compatibility_tests/__snapshots__/RecipientTaggingStore.json +18 -0
  310. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderAddressBookStore.json +16 -0
  311. package/src/storage/backwards_compatibility_tests/__snapshots__/SenderTaggingStore.json +22 -0
  312. package/src/storage/backwards_compatibility_tests/__snapshots__/opened_stores.json +97 -0
  313. package/src/storage/backwards_compatibility_tests/kv_store_snapshot.ts +122 -0
  314. package/src/storage/backwards_compatibility_tests/schema_tests.ts +712 -0
  315. package/src/storage/backwards_compatibility_tests/store_spy.ts +73 -0
  316. package/src/storage/capsule_store/capsule_service.ts +90 -0
  317. package/src/storage/capsule_store/capsule_store.ts +44 -26
  318. package/src/storage/capsule_store/index.ts +1 -0
  319. package/src/storage/contract_store/contract_store.ts +182 -104
  320. package/src/storage/metadata.ts +1 -1
  321. package/src/storage/note_store/note_store.ts +9 -5
  322. package/src/storage/open_pxe_stores.ts +49 -0
  323. package/src/storage/private_event_store/private_event_store.ts +4 -0
  324. package/src/storage/private_event_store/stored_private_event.ts +1 -1
  325. package/src/storage/tagging_store/recipient_tagging_store.ts +5 -5
  326. package/src/storage/tagging_store/sender_tagging_store.ts +185 -138
  327. package/src/tagging/get_all_logs_by_tags.ts +87 -35
  328. package/src/tagging/index.ts +5 -4
  329. package/src/tagging/persist_sender_tagging_index_ranges.ts +57 -0
  330. package/src/tagging/recipient_sync/sync_tagged_private_logs.ts +240 -0
  331. package/src/tagging/recipient_sync/utils/find_highest_indexes.ts +4 -4
  332. package/src/tagging/reconcile_tagging_index_ranges.ts +102 -0
  333. package/src/tagging/sender_sync/sync_sender_tagging_indexes.ts +52 -17
  334. package/src/tagging/sender_sync/utils/get_status_change_of_pending.ts +44 -14
  335. package/src/tagging/sender_sync/utils/load_and_store_new_tagging_indexes.ts +27 -27
  336. package/dest/contract_sync/index.d.ts +0 -23
  337. package/dest/contract_sync/index.d.ts.map +0 -1
  338. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +0 -4
  339. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +0 -1
  340. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts +0 -15
  341. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.d.ts.map +0 -1
  342. package/dest/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.js +0 -99
  343. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts +0 -15
  344. package/dest/tagging/recipient_sync/utils/load_logs_for_range.d.ts.map +0 -1
  345. package/dest/tagging/recipient_sync/utils/load_logs_for_range.js +0 -32
  346. package/src/tagging/recipient_sync/load_private_logs_for_sender_recipient_pair.ts +0 -143
  347. package/src/tagging/recipient_sync/utils/load_logs_for_range.ts +0 -49
@@ -0,0 +1,786 @@
1
+ /* eslint-disable camelcase */ import { ARCHIVE_HEIGHT, NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { FieldReader } from '@aztec/foundation/serialize';
4
+ import { toACVMField } from '@aztec/simulator/client';
5
+ import { ARRAY, AZTEC_ADDRESS, BLOCK_HASH, BLOCK_HEADER, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, CALL_PRIVATE_RESULT, CONTRACT_CLASS_LOG_INPUT, CONTRACT_INSTANCE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, KEY_VALIDATION_REQUEST, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_CONTEXT, MESSAGE_LOAD_ORACLE_INPUTS, NOTE, NOTE_SELECTOR, NOTE_VALIDATION_REQUEST, NULLIFIER_MEMBERSHIP_WITNESS, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, PUBLIC_DATA_WITNESS, PUBLIC_KEYS_AND_PARTIAL_ADDRESS, STR, TX_EFFECT, TX_HASH, U32, UTILITY_CONTEXT, assertReadersConsumed } from './oracle_type_mappings.js';
6
+ export { ARRAY, AZTEC_ADDRESS, BIGINT, BLOCK_NUMBER, BOOL, BOUNDED_VEC, BUFFER, BYTE, DELIVERY_MODE, EPHEMERAL_ARRAY, EVENT_VALIDATION_REQUEST, FIELD, FUNCTION_SELECTOR, LOG_RETRIEVAL_REQUEST, LOG_RETRIEVAL_RESPONSE, MEMBERSHIP_WITNESS, MESSAGE_CONTEXT, NOTE_VALIDATION_REQUEST, OPTION, PENDING_TAGGED_LOG, POINT, PROVIDED_SECRET, STR, U32 } from './oracle_type_mappings.js';
7
+ export const ORACLE_REGISTRY = {
8
+ aztec_misc_assertCompatibleOracleVersion: makeEntry({
9
+ params: [
10
+ {
11
+ name: 'major',
12
+ type: U32
13
+ },
14
+ {
15
+ name: 'minor',
16
+ type: U32
17
+ }
18
+ ]
19
+ }),
20
+ aztec_misc_getRandomField: makeEntry({
21
+ returnType: FIELD
22
+ }),
23
+ aztec_misc_log: makeEntry({
24
+ params: [
25
+ {
26
+ name: 'level',
27
+ type: U32
28
+ },
29
+ {
30
+ name: 'message',
31
+ type: STR
32
+ },
33
+ {
34
+ name: 'fieldsSize',
35
+ type: U32
36
+ },
37
+ {
38
+ name: 'fields',
39
+ type: ARRAY(FIELD)
40
+ }
41
+ ]
42
+ }),
43
+ aztec_utl_getUtilityContext: makeEntry({
44
+ returnType: UTILITY_CONTEXT
45
+ }),
46
+ aztec_utl_getKeyValidationRequest: makeEntry({
47
+ params: [
48
+ {
49
+ name: 'pkMHash',
50
+ type: FIELD
51
+ }
52
+ ],
53
+ returnType: KEY_VALIDATION_REQUEST
54
+ }),
55
+ aztec_utl_getContractInstance: makeEntry({
56
+ params: [
57
+ {
58
+ name: 'address',
59
+ type: AZTEC_ADDRESS
60
+ }
61
+ ],
62
+ returnType: CONTRACT_INSTANCE
63
+ }),
64
+ aztec_utl_getNoteHashMembershipWitness: makeEntry({
65
+ params: [
66
+ {
67
+ name: 'anchorBlockHash',
68
+ type: BLOCK_HASH
69
+ },
70
+ {
71
+ name: 'noteHash',
72
+ type: FIELD
73
+ }
74
+ ],
75
+ returnType: MEMBERSHIP_WITNESS(NOTE_HASH_TREE_HEIGHT)
76
+ }),
77
+ aztec_utl_getBlockHashMembershipWitness: makeEntry({
78
+ params: [
79
+ {
80
+ name: 'anchorBlockHash',
81
+ type: BLOCK_HASH
82
+ },
83
+ {
84
+ name: 'blockHash',
85
+ type: BLOCK_HASH
86
+ }
87
+ ],
88
+ returnType: OPTION(MEMBERSHIP_WITNESS(ARCHIVE_HEIGHT))
89
+ }),
90
+ aztec_utl_getNullifierMembershipWitness: makeEntry({
91
+ params: [
92
+ {
93
+ name: 'blockHash',
94
+ type: BLOCK_HASH
95
+ },
96
+ {
97
+ name: 'nullifier',
98
+ type: FIELD
99
+ }
100
+ ],
101
+ returnType: NULLIFIER_MEMBERSHIP_WITNESS
102
+ }),
103
+ aztec_utl_getLowNullifierMembershipWitness: makeEntry({
104
+ params: [
105
+ {
106
+ name: 'blockHash',
107
+ type: BLOCK_HASH
108
+ },
109
+ {
110
+ name: 'nullifier',
111
+ type: FIELD
112
+ }
113
+ ],
114
+ returnType: NULLIFIER_MEMBERSHIP_WITNESS
115
+ }),
116
+ aztec_utl_getPublicDataWitness: makeEntry({
117
+ params: [
118
+ {
119
+ name: 'blockHash',
120
+ type: BLOCK_HASH
121
+ },
122
+ {
123
+ name: 'leafSlot',
124
+ type: FIELD
125
+ }
126
+ ],
127
+ returnType: PUBLIC_DATA_WITNESS
128
+ }),
129
+ aztec_utl_getBlockHeader: makeEntry({
130
+ params: [
131
+ {
132
+ name: 'blockNumber',
133
+ type: BLOCK_NUMBER
134
+ }
135
+ ],
136
+ returnType: BLOCK_HEADER
137
+ }),
138
+ aztec_utl_getAuthWitness: makeEntry({
139
+ params: [
140
+ {
141
+ name: 'messageHash',
142
+ type: FIELD
143
+ }
144
+ ],
145
+ returnType: ARRAY(FIELD)
146
+ }),
147
+ aztec_utl_getPublicKeysAndPartialAddress: makeEntry({
148
+ params: [
149
+ {
150
+ name: 'address',
151
+ type: AZTEC_ADDRESS
152
+ }
153
+ ],
154
+ returnType: OPTION(PUBLIC_KEYS_AND_PARTIAL_ADDRESS)
155
+ }),
156
+ aztec_utl_doesNullifierExist: makeEntry({
157
+ params: [
158
+ {
159
+ name: 'innerNullifier',
160
+ type: FIELD
161
+ }
162
+ ],
163
+ returnType: BOOL
164
+ }),
165
+ aztec_utl_getL1ToL2MembershipWitness: makeEntry({
166
+ params: [
167
+ {
168
+ name: 'contractAddress',
169
+ type: AZTEC_ADDRESS
170
+ },
171
+ {
172
+ name: 'messageHash',
173
+ type: FIELD
174
+ },
175
+ {
176
+ name: 'secret',
177
+ type: FIELD
178
+ }
179
+ ],
180
+ returnType: MESSAGE_LOAD_ORACLE_INPUTS
181
+ }),
182
+ aztec_utl_getFromPublicStorage: makeEntry({
183
+ params: [
184
+ {
185
+ name: 'blockHash',
186
+ type: BLOCK_HASH
187
+ },
188
+ {
189
+ name: 'contractAddress',
190
+ type: AZTEC_ADDRESS
191
+ },
192
+ {
193
+ name: 'startStorageSlot',
194
+ type: FIELD
195
+ },
196
+ {
197
+ name: 'numberOfElements',
198
+ type: U32
199
+ }
200
+ ],
201
+ returnType: ARRAY(FIELD)
202
+ }),
203
+ aztec_utl_getNotes: makeEntry({
204
+ params: [
205
+ {
206
+ name: 'owner',
207
+ type: OPTION(AZTEC_ADDRESS)
208
+ },
209
+ {
210
+ name: 'storageSlot',
211
+ type: FIELD
212
+ },
213
+ {
214
+ name: 'numSelects',
215
+ type: U32
216
+ },
217
+ {
218
+ name: 'selectByIndexes',
219
+ type: ARRAY(U32)
220
+ },
221
+ {
222
+ name: 'selectByOffsets',
223
+ type: ARRAY(U32)
224
+ },
225
+ {
226
+ name: 'selectByLengths',
227
+ type: ARRAY(U32)
228
+ },
229
+ {
230
+ name: 'selectValues',
231
+ type: ARRAY(FIELD)
232
+ },
233
+ {
234
+ name: 'selectComparators',
235
+ type: ARRAY(U32)
236
+ },
237
+ {
238
+ name: 'sortByIndexes',
239
+ type: ARRAY(U32)
240
+ },
241
+ {
242
+ name: 'sortByOffsets',
243
+ type: ARRAY(U32)
244
+ },
245
+ {
246
+ name: 'sortByLengths',
247
+ type: ARRAY(U32)
248
+ },
249
+ {
250
+ name: 'sortOrder',
251
+ type: ARRAY(U32)
252
+ },
253
+ {
254
+ name: 'limit',
255
+ type: U32
256
+ },
257
+ {
258
+ name: 'offset',
259
+ type: U32
260
+ },
261
+ {
262
+ name: 'status',
263
+ type: U32
264
+ },
265
+ {
266
+ name: 'maxNotes',
267
+ type: U32
268
+ },
269
+ {
270
+ name: 'packedHintedNoteLength',
271
+ type: U32
272
+ }
273
+ ],
274
+ returnType: BOUNDED_VEC(NOTE)
275
+ }),
276
+ aztec_utl_getPendingTaggedLogs: makeEntry({
277
+ params: [
278
+ {
279
+ name: 'scope',
280
+ type: AZTEC_ADDRESS
281
+ },
282
+ {
283
+ name: 'providedSecrets',
284
+ type: EPHEMERAL_ARRAY(PROVIDED_SECRET)
285
+ }
286
+ ],
287
+ returnType: EPHEMERAL_ARRAY(PENDING_TAGGED_LOG)
288
+ }),
289
+ aztec_utl_validateAndStoreEnqueuedNotesAndEvents: makeEntry({
290
+ params: [
291
+ {
292
+ name: 'noteValidationRequests',
293
+ type: EPHEMERAL_ARRAY(NOTE_VALIDATION_REQUEST)
294
+ },
295
+ {
296
+ name: 'eventValidationRequests',
297
+ type: EPHEMERAL_ARRAY(EVENT_VALIDATION_REQUEST)
298
+ },
299
+ {
300
+ name: 'scope',
301
+ type: AZTEC_ADDRESS
302
+ }
303
+ ]
304
+ }),
305
+ aztec_utl_getLogsByTag: makeEntry({
306
+ params: [
307
+ {
308
+ name: 'requests',
309
+ type: EPHEMERAL_ARRAY(LOG_RETRIEVAL_REQUEST)
310
+ }
311
+ ],
312
+ returnType: EPHEMERAL_ARRAY(EPHEMERAL_ARRAY(LOG_RETRIEVAL_RESPONSE))
313
+ }),
314
+ aztec_utl_getMessageContextsByTxHash: makeEntry({
315
+ params: [
316
+ {
317
+ name: 'requests',
318
+ type: EPHEMERAL_ARRAY(FIELD)
319
+ }
320
+ ],
321
+ returnType: EPHEMERAL_ARRAY(OPTION(MESSAGE_CONTEXT))
322
+ }),
323
+ aztec_utl_getTxEffect: makeEntry({
324
+ params: [
325
+ {
326
+ name: 'txHash',
327
+ type: TX_HASH
328
+ }
329
+ ],
330
+ returnType: OPTION(TX_EFFECT)
331
+ }),
332
+ aztec_utl_setCapsule: makeEntry({
333
+ params: [
334
+ {
335
+ name: 'contractAddress',
336
+ type: AZTEC_ADDRESS
337
+ },
338
+ {
339
+ name: 'slot',
340
+ type: FIELD
341
+ },
342
+ {
343
+ name: 'capsule',
344
+ type: ARRAY(FIELD)
345
+ },
346
+ {
347
+ name: 'scope',
348
+ type: AZTEC_ADDRESS
349
+ }
350
+ ]
351
+ }),
352
+ aztec_utl_getCapsule: makeEntry({
353
+ params: [
354
+ {
355
+ name: 'contractAddress',
356
+ type: AZTEC_ADDRESS
357
+ },
358
+ {
359
+ name: 'slot',
360
+ type: FIELD
361
+ },
362
+ {
363
+ name: 'tSize',
364
+ type: U32
365
+ },
366
+ {
367
+ name: 'scope',
368
+ type: AZTEC_ADDRESS
369
+ }
370
+ ],
371
+ returnType: OPTION(ARRAY(FIELD))
372
+ }),
373
+ aztec_utl_deleteCapsule: makeEntry({
374
+ params: [
375
+ {
376
+ name: 'contractAddress',
377
+ type: AZTEC_ADDRESS
378
+ },
379
+ {
380
+ name: 'slot',
381
+ type: FIELD
382
+ },
383
+ {
384
+ name: 'scope',
385
+ type: AZTEC_ADDRESS
386
+ }
387
+ ]
388
+ }),
389
+ aztec_utl_copyCapsule: makeEntry({
390
+ params: [
391
+ {
392
+ name: 'contractAddress',
393
+ type: AZTEC_ADDRESS
394
+ },
395
+ {
396
+ name: 'srcSlot',
397
+ type: FIELD
398
+ },
399
+ {
400
+ name: 'dstSlot',
401
+ type: FIELD
402
+ },
403
+ {
404
+ name: 'numEntries',
405
+ type: U32
406
+ },
407
+ {
408
+ name: 'scope',
409
+ type: AZTEC_ADDRESS
410
+ }
411
+ ]
412
+ }),
413
+ aztec_utl_decryptAes128: makeEntry({
414
+ params: [
415
+ {
416
+ name: 'ciphertext',
417
+ type: BOUNDED_VEC(BYTE)
418
+ },
419
+ {
420
+ name: 'iv',
421
+ type: BUFFER(8)
422
+ },
423
+ {
424
+ name: 'symKey',
425
+ type: BUFFER(8)
426
+ }
427
+ ],
428
+ returnType: OPTION(BOUNDED_VEC(BYTE))
429
+ }),
430
+ aztec_utl_getSharedSecrets: makeEntry({
431
+ params: [
432
+ {
433
+ name: 'address',
434
+ type: AZTEC_ADDRESS
435
+ },
436
+ {
437
+ name: 'ephPks',
438
+ type: EPHEMERAL_ARRAY(POINT)
439
+ },
440
+ {
441
+ name: 'contractAddress',
442
+ type: AZTEC_ADDRESS
443
+ }
444
+ ],
445
+ returnType: EPHEMERAL_ARRAY(FIELD)
446
+ }),
447
+ aztec_utl_setContractSyncCacheInvalid: makeEntry({
448
+ params: [
449
+ {
450
+ name: 'contractAddress',
451
+ type: AZTEC_ADDRESS
452
+ },
453
+ {
454
+ name: 'scopes',
455
+ type: BOUNDED_VEC(AZTEC_ADDRESS)
456
+ }
457
+ ]
458
+ }),
459
+ aztec_utl_emitOffchainEffect: makeEntry({
460
+ params: [
461
+ {
462
+ name: 'data',
463
+ type: ARRAY(FIELD)
464
+ }
465
+ ]
466
+ }),
467
+ aztec_utl_callUtilityFunction: makeEntry({
468
+ params: [
469
+ {
470
+ name: 'contractAddress',
471
+ type: AZTEC_ADDRESS
472
+ },
473
+ {
474
+ name: 'functionSelector',
475
+ type: FUNCTION_SELECTOR
476
+ },
477
+ {
478
+ name: 'args',
479
+ type: ARRAY(FIELD)
480
+ }
481
+ ],
482
+ returnType: ARRAY(FIELD)
483
+ }),
484
+ aztec_utl_pushEphemeral: makeEntry({
485
+ params: [
486
+ {
487
+ name: 'slot',
488
+ type: FIELD
489
+ },
490
+ {
491
+ name: 'elements',
492
+ type: ARRAY(FIELD)
493
+ }
494
+ ],
495
+ returnType: U32
496
+ }),
497
+ aztec_utl_popEphemeral: makeEntry({
498
+ params: [
499
+ {
500
+ name: 'slot',
501
+ type: FIELD
502
+ }
503
+ ],
504
+ returnType: ARRAY(FIELD)
505
+ }),
506
+ aztec_utl_getEphemeral: makeEntry({
507
+ params: [
508
+ {
509
+ name: 'slot',
510
+ type: FIELD
511
+ },
512
+ {
513
+ name: 'index',
514
+ type: U32
515
+ }
516
+ ],
517
+ returnType: ARRAY(FIELD)
518
+ }),
519
+ aztec_utl_setEphemeral: makeEntry({
520
+ params: [
521
+ {
522
+ name: 'slot',
523
+ type: FIELD
524
+ },
525
+ {
526
+ name: 'index',
527
+ type: U32
528
+ },
529
+ {
530
+ name: 'elements',
531
+ type: ARRAY(FIELD)
532
+ }
533
+ ]
534
+ }),
535
+ aztec_utl_getEphemeralLen: makeEntry({
536
+ params: [
537
+ {
538
+ name: 'slot',
539
+ type: FIELD
540
+ }
541
+ ],
542
+ returnType: U32
543
+ }),
544
+ aztec_utl_removeEphemeral: makeEntry({
545
+ params: [
546
+ {
547
+ name: 'slot',
548
+ type: FIELD
549
+ },
550
+ {
551
+ name: 'index',
552
+ type: U32
553
+ }
554
+ ]
555
+ }),
556
+ aztec_utl_clearEphemeral: makeEntry({
557
+ params: [
558
+ {
559
+ name: 'slot',
560
+ type: FIELD
561
+ }
562
+ ]
563
+ }),
564
+ aztec_prv_setHashPreimage: makeEntry({
565
+ params: [
566
+ {
567
+ name: 'values',
568
+ type: ARRAY(FIELD)
569
+ },
570
+ {
571
+ name: 'hash',
572
+ type: FIELD
573
+ }
574
+ ]
575
+ }),
576
+ aztec_prv_getHashPreimage: makeEntry({
577
+ params: [
578
+ {
579
+ name: 'returnsHash',
580
+ type: FIELD
581
+ }
582
+ ],
583
+ returnType: ARRAY(FIELD)
584
+ }),
585
+ aztec_prv_notifyCreatedNote: makeEntry({
586
+ params: [
587
+ {
588
+ name: 'owner',
589
+ type: AZTEC_ADDRESS
590
+ },
591
+ {
592
+ name: 'storageSlot',
593
+ type: FIELD
594
+ },
595
+ {
596
+ name: 'randomness',
597
+ type: FIELD
598
+ },
599
+ {
600
+ name: 'noteTypeId',
601
+ type: NOTE_SELECTOR
602
+ },
603
+ {
604
+ name: 'note',
605
+ type: ARRAY(FIELD)
606
+ },
607
+ {
608
+ name: 'noteHash',
609
+ type: FIELD
610
+ },
611
+ {
612
+ name: 'counter',
613
+ type: U32
614
+ }
615
+ ]
616
+ }),
617
+ aztec_prv_notifyNullifiedNote: makeEntry({
618
+ params: [
619
+ {
620
+ name: 'innerNullifier',
621
+ type: FIELD
622
+ },
623
+ {
624
+ name: 'noteHash',
625
+ type: FIELD
626
+ },
627
+ {
628
+ name: 'counter',
629
+ type: U32
630
+ }
631
+ ]
632
+ }),
633
+ aztec_prv_notifyCreatedNullifier: makeEntry({
634
+ params: [
635
+ {
636
+ name: 'innerNullifier',
637
+ type: FIELD
638
+ }
639
+ ]
640
+ }),
641
+ aztec_prv_isNullifierPending: makeEntry({
642
+ params: [
643
+ {
644
+ name: 'innerNullifier',
645
+ type: FIELD
646
+ },
647
+ {
648
+ name: 'contractAddress',
649
+ type: AZTEC_ADDRESS
650
+ }
651
+ ],
652
+ returnType: BOOL
653
+ }),
654
+ aztec_prv_notifyCreatedContractClassLog: makeEntry({
655
+ params: [
656
+ {
657
+ name: 'log',
658
+ type: CONTRACT_CLASS_LOG_INPUT
659
+ },
660
+ {
661
+ name: 'counter',
662
+ type: U32
663
+ }
664
+ ]
665
+ }),
666
+ aztec_prv_callPrivateFunction: makeEntry({
667
+ params: [
668
+ {
669
+ name: 'contractAddress',
670
+ type: AZTEC_ADDRESS
671
+ },
672
+ {
673
+ name: 'functionSelector',
674
+ type: FUNCTION_SELECTOR
675
+ },
676
+ {
677
+ name: 'argsHash',
678
+ type: FIELD
679
+ },
680
+ {
681
+ name: 'sideEffectCounter',
682
+ type: U32
683
+ },
684
+ {
685
+ name: 'isStaticCall',
686
+ type: BOOL
687
+ }
688
+ ],
689
+ returnType: CALL_PRIVATE_RESULT
690
+ }),
691
+ aztec_prv_assertValidPublicCalldata: makeEntry({
692
+ params: [
693
+ {
694
+ name: 'calldataHash',
695
+ type: FIELD
696
+ }
697
+ ]
698
+ }),
699
+ aztec_prv_notifyRevertiblePhaseStart: makeEntry({
700
+ params: [
701
+ {
702
+ name: 'minRevertibleSideEffectCounter',
703
+ type: U32
704
+ }
705
+ ]
706
+ }),
707
+ aztec_prv_isExecutionInRevertiblePhase: makeEntry({
708
+ params: [
709
+ {
710
+ name: 'sideEffectCounter',
711
+ type: U32
712
+ }
713
+ ],
714
+ returnType: BOOL
715
+ }),
716
+ aztec_prv_getAppTaggingSecret: makeEntry({
717
+ params: [
718
+ {
719
+ name: 'sender',
720
+ type: AZTEC_ADDRESS
721
+ },
722
+ {
723
+ name: 'recipient',
724
+ type: AZTEC_ADDRESS
725
+ }
726
+ ],
727
+ returnType: OPTION(FIELD)
728
+ }),
729
+ aztec_prv_getNextTaggingIndex: makeEntry({
730
+ params: [
731
+ {
732
+ name: 'secret',
733
+ type: FIELD
734
+ },
735
+ {
736
+ name: 'deliveryMode',
737
+ type: DELIVERY_MODE
738
+ }
739
+ ],
740
+ returnType: U32
741
+ }),
742
+ aztec_prv_getSenderForTags: makeEntry({
743
+ returnType: OPTION(AZTEC_ADDRESS)
744
+ })
745
+ };
746
+ /**
747
+ * Deserializes oracle inputs, calls the handler with typed params, and serializes the result.
748
+ */ export async function callHandler({ oracle, inputs, handler }) {
749
+ const entry = ORACLE_REGISTRY[oracle];
750
+ const named = entry.deserializeParams(inputs);
751
+ const positional = named.map((p)=>p.value);
752
+ const result = await handler(positional);
753
+ return entry.serializeReturn(result);
754
+ }
755
+ export function makeEntry({ params, returnType } = {}) {
756
+ return {
757
+ deserializeParams (inputs) {
758
+ const resolvedParams = params ?? [];
759
+ // Walk the input slots left-to-right, advancing by each param's slot count.
760
+ let offset = 0;
761
+ return resolvedParams.map((param)=>{
762
+ if (!param.type.deserialization) {
763
+ throw new Error(`Param '${param.name}' has no deserialization defined`);
764
+ }
765
+ // Collect the slots for this param and wrap each in a FieldReader.
766
+ const slotCount = param.type.deserialization.slots;
767
+ const readers = inputs.slice(offset, offset + slotCount).map((slot)=>new FieldReader(slot.map((hex)=>Fr.fromString(hex))));
768
+ offset += slotCount;
769
+ // Delegate to the TypeMapping's deserializer, assert the param's slots are fully consumed, and tag the
770
+ // result with the param name.
771
+ const value = param.type.deserialization.fn(readers);
772
+ assertReadersConsumed(readers);
773
+ return {
774
+ name: param.name,
775
+ value
776
+ };
777
+ });
778
+ },
779
+ serializeReturn (result) {
780
+ if (returnType?.serialization === undefined) {
781
+ return [];
782
+ }
783
+ return returnType.serialization.fn(result).map((slot)=>Array.isArray(slot) ? slot.map(toACVMField) : toACVMField(slot));
784
+ }
785
+ };
786
+ }