@aztec/pxe 0.0.0-test.1 → 0.0.1-commit.5476d83

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 (328) hide show
  1. package/README.md +5 -5
  2. package/dest/bin/check_oracle_version.d.ts +2 -0
  3. package/dest/bin/check_oracle_version.d.ts.map +1 -0
  4. package/dest/bin/check_oracle_version.js +39 -0
  5. package/dest/config/index.d.ts +11 -24
  6. package/dest/config/index.d.ts.map +1 -1
  7. package/dest/config/index.js +18 -33
  8. package/dest/config/package_info.d.ts +1 -1
  9. package/dest/config/package_info.js +1 -1
  10. package/dest/contract_function_simulator/contract_function_simulator.d.ts +56 -0
  11. package/dest/contract_function_simulator/contract_function_simulator.d.ts.map +1 -0
  12. package/dest/contract_function_simulator/contract_function_simulator.js +300 -0
  13. package/dest/contract_function_simulator/execution_data_provider.d.ts +265 -0
  14. package/dest/contract_function_simulator/execution_data_provider.d.ts.map +1 -0
  15. package/dest/contract_function_simulator/execution_data_provider.js +14 -0
  16. package/dest/contract_function_simulator/execution_note_cache.d.ts +94 -0
  17. package/dest/contract_function_simulator/execution_note_cache.d.ts.map +1 -0
  18. package/dest/contract_function_simulator/execution_note_cache.js +190 -0
  19. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts +16 -0
  20. package/dest/contract_function_simulator/execution_tagging_index_cache.d.ts.map +1 -0
  21. package/dest/contract_function_simulator/execution_tagging_index_cache.js +26 -0
  22. package/dest/contract_function_simulator/hashed_values_cache.d.ts +28 -0
  23. package/dest/contract_function_simulator/hashed_values_cache.d.ts.map +1 -0
  24. package/dest/contract_function_simulator/hashed_values_cache.js +36 -0
  25. package/dest/contract_function_simulator/index.d.ts +14 -0
  26. package/dest/contract_function_simulator/index.d.ts.map +1 -0
  27. package/dest/contract_function_simulator/index.js +12 -0
  28. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts +20 -0
  29. package/dest/contract_function_simulator/noir-structs/event_validation_request.d.ts.map +1 -0
  30. package/dest/contract_function_simulator/noir-structs/event_validation_request.js +37 -0
  31. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts +15 -0
  32. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.d.ts.map +1 -0
  33. package/dest/contract_function_simulator/noir-structs/log_retrieval_request.js +25 -0
  34. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts +17 -0
  35. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.d.ts.map +1 -0
  36. package/dest/contract_function_simulator/noir-structs/log_retrieval_response.js +65 -0
  37. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts +23 -0
  38. package/dest/contract_function_simulator/noir-structs/note_validation_request.d.ts.map +1 -0
  39. package/dest/contract_function_simulator/noir-structs/note_validation_request.js +48 -0
  40. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts +22 -0
  41. package/dest/contract_function_simulator/noir-structs/utility_context.d.ts.map +1 -0
  42. package/dest/contract_function_simulator/noir-structs/utility_context.js +33 -0
  43. package/dest/contract_function_simulator/oracle/index.d.ts +14 -0
  44. package/dest/contract_function_simulator/oracle/index.d.ts.map +1 -0
  45. package/dest/contract_function_simulator/oracle/index.js +2 -0
  46. package/dest/contract_function_simulator/oracle/interfaces.d.ts +100 -0
  47. package/dest/contract_function_simulator/oracle/interfaces.d.ts.map +1 -0
  48. package/dest/contract_function_simulator/oracle/interfaces.js +4 -0
  49. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts +17 -0
  50. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.d.ts.map +1 -0
  51. package/dest/contract_function_simulator/oracle/message_load_oracle_inputs.js +24 -0
  52. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts +24 -0
  53. package/dest/contract_function_simulator/oracle/note_packing_utils.d.ts.map +1 -0
  54. package/dest/contract_function_simulator/oracle/note_packing_utils.js +50 -0
  55. package/dest/contract_function_simulator/oracle/oracle.d.ts +58 -0
  56. package/dest/contract_function_simulator/oracle/oracle.d.ts.map +1 -0
  57. package/dest/contract_function_simulator/oracle/oracle.js +333 -0
  58. package/dest/contract_function_simulator/oracle/private_execution.d.ts +48 -0
  59. package/dest/contract_function_simulator/oracle/private_execution.d.ts.map +1 -0
  60. package/dest/contract_function_simulator/oracle/private_execution.js +123 -0
  61. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts +231 -0
  62. package/dest/contract_function_simulator/oracle/private_execution_oracle.d.ts.map +1 -0
  63. package/dest/contract_function_simulator/oracle/private_execution_oracle.js +428 -0
  64. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts +153 -0
  65. package/dest/contract_function_simulator/oracle/utility_execution_oracle.d.ts.map +1 -0
  66. package/dest/contract_function_simulator/oracle/utility_execution_oracle.js +265 -0
  67. package/dest/contract_function_simulator/pick_notes.d.ts +85 -0
  68. package/dest/contract_function_simulator/pick_notes.d.ts.map +1 -0
  69. package/dest/contract_function_simulator/pick_notes.js +51 -0
  70. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts +6 -0
  71. package/dest/contract_function_simulator/proxied_contract_data_source.d.ts.map +1 -0
  72. package/dest/contract_function_simulator/proxied_contract_data_source.js +62 -0
  73. package/dest/contract_function_simulator/proxied_node.d.ts +9 -0
  74. package/dest/contract_function_simulator/proxied_node.d.ts.map +1 -0
  75. package/dest/contract_function_simulator/proxied_node.js +27 -0
  76. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts +122 -0
  77. package/dest/contract_function_simulator/pxe_oracle_interface.d.ts.map +1 -0
  78. package/dest/contract_function_simulator/pxe_oracle_interface.js +694 -0
  79. package/dest/entrypoints/client/bundle/index.d.ts +5 -3
  80. package/dest/entrypoints/client/bundle/index.d.ts.map +1 -1
  81. package/dest/entrypoints/client/bundle/index.js +3 -2
  82. package/dest/entrypoints/client/bundle/utils.d.ts +10 -10
  83. package/dest/entrypoints/client/bundle/utils.d.ts.map +1 -1
  84. package/dest/entrypoints/client/bundle/utils.js +18 -12
  85. package/dest/entrypoints/client/lazy/index.d.ts +5 -3
  86. package/dest/entrypoints/client/lazy/index.d.ts.map +1 -1
  87. package/dest/entrypoints/client/lazy/index.js +3 -2
  88. package/dest/entrypoints/client/lazy/utils.d.ts +9 -9
  89. package/dest/entrypoints/client/lazy/utils.d.ts.map +1 -1
  90. package/dest/entrypoints/client/lazy/utils.js +17 -11
  91. package/dest/entrypoints/pxe_creation_options.d.ts +14 -0
  92. package/dest/entrypoints/pxe_creation_options.d.ts.map +1 -0
  93. package/dest/entrypoints/server/index.d.ts +6 -4
  94. package/dest/entrypoints/server/index.d.ts.map +1 -1
  95. package/dest/entrypoints/server/index.js +4 -3
  96. package/dest/entrypoints/server/utils.d.ts +8 -16
  97. package/dest/entrypoints/server/utils.d.ts.map +1 -1
  98. package/dest/entrypoints/server/utils.js +30 -35
  99. package/dest/error_enriching.d.ts +11 -0
  100. package/dest/error_enriching.d.ts.map +1 -0
  101. package/dest/{pxe_service/error_enriching.js → error_enriching.js} +26 -18
  102. package/dest/oracle_version.d.ts +3 -0
  103. package/dest/oracle_version.d.ts.map +1 -0
  104. package/dest/oracle_version.js +10 -0
  105. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts +28 -0
  106. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.d.ts.map +1 -0
  107. package/dest/private_kernel/hints/build_private_kernel_reset_private_inputs.js +271 -0
  108. package/dest/private_kernel/hints/compute_side_effect_uniqueness_hints.d.ts +3 -0
  109. package/dest/private_kernel/hints/compute_side_effect_uniqueness_hints.d.ts.map +1 -0
  110. package/dest/private_kernel/hints/compute_side_effect_uniqueness_hints.js +48 -0
  111. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts +4 -0
  112. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.d.ts.map +1 -0
  113. package/dest/private_kernel/hints/compute_tx_include_by_timestamp.js +41 -0
  114. package/dest/private_kernel/hints/index.d.ts +3 -0
  115. package/dest/private_kernel/hints/index.d.ts.map +1 -0
  116. package/dest/{kernel_prover → private_kernel}/hints/index.js +1 -0
  117. package/dest/private_kernel/index.d.ts +3 -0
  118. package/dest/private_kernel/index.d.ts.map +1 -0
  119. package/dest/private_kernel/index.js +2 -0
  120. package/dest/private_kernel/private_kernel_execution_prover.d.ts +44 -0
  121. package/dest/private_kernel/private_kernel_execution_prover.d.ts.map +1 -0
  122. package/dest/private_kernel/private_kernel_execution_prover.js +289 -0
  123. package/dest/private_kernel/private_kernel_oracle.d.ts +62 -0
  124. package/dest/private_kernel/private_kernel_oracle.d.ts.map +1 -0
  125. package/dest/private_kernel/private_kernel_oracle.js +4 -0
  126. package/dest/private_kernel/private_kernel_oracle_impl.d.ts +45 -0
  127. package/dest/private_kernel/private_kernel_oracle_impl.d.ts.map +1 -0
  128. package/dest/{kernel_oracle/index.js → private_kernel/private_kernel_oracle_impl.js} +19 -9
  129. package/dest/pxe.d.ts +240 -0
  130. package/dest/pxe.d.ts.map +1 -0
  131. package/dest/pxe.js +771 -0
  132. package/dest/storage/address_data_provider/address_data_provider.d.ts +2 -4
  133. package/dest/storage/address_data_provider/address_data_provider.d.ts.map +1 -1
  134. package/dest/storage/address_data_provider/address_data_provider.js +0 -3
  135. package/dest/storage/address_data_provider/index.d.ts +1 -1
  136. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts +15 -6
  137. package/dest/storage/capsule_data_provider/capsule_data_provider.d.ts.map +1 -1
  138. package/dest/storage/capsule_data_provider/capsule_data_provider.js +85 -24
  139. package/dest/storage/capsule_data_provider/index.d.ts +1 -1
  140. package/dest/storage/contract_data_provider/contract_data_provider.d.ts +13 -58
  141. package/dest/storage/contract_data_provider/contract_data_provider.d.ts.map +1 -1
  142. package/dest/storage/contract_data_provider/contract_data_provider.js +89 -79
  143. package/dest/storage/contract_data_provider/index.d.ts +1 -2
  144. package/dest/storage/contract_data_provider/index.d.ts.map +1 -1
  145. package/dest/storage/contract_data_provider/index.js +0 -1
  146. package/dest/storage/contract_data_provider/private_functions_tree.d.ts +3 -42
  147. package/dest/storage/contract_data_provider/private_functions_tree.d.ts.map +1 -1
  148. package/dest/storage/contract_data_provider/private_functions_tree.js +9 -61
  149. package/dest/storage/index.d.ts +3 -4
  150. package/dest/storage/index.d.ts.map +1 -1
  151. package/dest/storage/index.js +2 -3
  152. package/dest/storage/metadata.d.ts +2 -0
  153. package/dest/storage/metadata.d.ts.map +1 -0
  154. package/dest/storage/metadata.js +1 -0
  155. package/dest/storage/note_data_provider/index.d.ts +2 -2
  156. package/dest/storage/note_data_provider/index.d.ts.map +1 -1
  157. package/dest/storage/note_data_provider/index.js +1 -1
  158. package/dest/storage/note_data_provider/note_data_provider.d.ts +73 -10
  159. package/dest/storage/note_data_provider/note_data_provider.d.ts.map +1 -1
  160. package/dest/storage/note_data_provider/note_data_provider.js +145 -83
  161. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts +37 -0
  162. package/dest/storage/private_event_data_provider/private_event_data_provider.d.ts.map +1 -0
  163. package/dest/storage/private_event_data_provider/private_event_data_provider.js +105 -0
  164. package/dest/storage/sync_data_provider/index.d.ts +1 -1
  165. package/dest/storage/sync_data_provider/sync_data_provider.d.ts +3 -5
  166. package/dest/storage/sync_data_provider/sync_data_provider.d.ts.map +1 -1
  167. package/dest/storage/sync_data_provider/sync_data_provider.js +2 -5
  168. package/dest/storage/tagging_data_provider/index.d.ts +1 -1
  169. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts +29 -7
  170. package/dest/storage/tagging_data_provider/tagging_data_provider.d.ts.map +1 -1
  171. package/dest/storage/tagging_data_provider/tagging_data_provider.js +48 -24
  172. package/dest/synchronizer/index.d.ts +1 -1
  173. package/dest/synchronizer/synchronizer.d.ts +8 -10
  174. package/dest/synchronizer/synchronizer.d.ts.map +1 -1
  175. package/dest/synchronizer/synchronizer.js +17 -19
  176. package/dest/tagging/constants.d.ts +2 -0
  177. package/dest/tagging/constants.d.ts.map +1 -0
  178. package/dest/tagging/constants.js +2 -0
  179. package/dest/tagging/index.d.ts +7 -0
  180. package/dest/tagging/index.d.ts.map +1 -0
  181. package/dest/tagging/index.js +5 -0
  182. package/dest/tagging/siloed_tag.d.ts +14 -0
  183. package/dest/tagging/siloed_tag.d.ts.map +1 -0
  184. package/dest/tagging/siloed_tag.js +20 -0
  185. package/dest/tagging/tag.d.ts +12 -0
  186. package/dest/tagging/tag.d.ts.map +1 -0
  187. package/dest/tagging/tag.js +17 -0
  188. package/dest/tagging/utils.d.ts +18 -0
  189. package/dest/tagging/utils.d.ts.map +1 -0
  190. package/dest/tagging/utils.js +24 -0
  191. package/package.json +37 -34
  192. package/src/bin/check_oracle_version.ts +50 -0
  193. package/src/config/index.ts +27 -55
  194. package/src/config/package_info.ts +1 -1
  195. package/src/contract_function_simulator/contract_function_simulator.ts +553 -0
  196. package/src/contract_function_simulator/execution_data_provider.ts +333 -0
  197. package/src/contract_function_simulator/execution_note_cache.ts +229 -0
  198. package/src/contract_function_simulator/execution_tagging_index_cache.ts +32 -0
  199. package/src/contract_function_simulator/hashed_values_cache.ts +47 -0
  200. package/src/contract_function_simulator/index.ts +13 -0
  201. package/src/contract_function_simulator/noir-structs/event_validation_request.ts +47 -0
  202. package/src/contract_function_simulator/noir-structs/log_retrieval_request.ts +27 -0
  203. package/src/contract_function_simulator/noir-structs/log_retrieval_response.ts +69 -0
  204. package/src/contract_function_simulator/noir-structs/note_validation_request.ts +61 -0
  205. package/src/contract_function_simulator/noir-structs/utility_context.ts +42 -0
  206. package/src/contract_function_simulator/oracle/index.ts +16 -0
  207. package/src/contract_function_simulator/oracle/interfaces.ts +170 -0
  208. package/src/contract_function_simulator/oracle/message_load_oracle_inputs.ts +23 -0
  209. package/src/contract_function_simulator/oracle/note_packing_utils.ts +54 -0
  210. package/src/contract_function_simulator/oracle/oracle.ts +583 -0
  211. package/src/contract_function_simulator/oracle/private_execution.ts +207 -0
  212. package/src/contract_function_simulator/oracle/private_execution_oracle.ts +633 -0
  213. package/src/contract_function_simulator/oracle/utility_execution_oracle.ts +358 -0
  214. package/src/contract_function_simulator/pick_notes.ts +141 -0
  215. package/src/contract_function_simulator/proxied_contract_data_source.ts +66 -0
  216. package/src/contract_function_simulator/proxied_node.ts +33 -0
  217. package/src/contract_function_simulator/pxe_oracle_interface.ts +1008 -0
  218. package/src/entrypoints/client/bundle/index.ts +4 -2
  219. package/src/entrypoints/client/bundle/utils.ts +36 -36
  220. package/src/entrypoints/client/lazy/index.ts +4 -2
  221. package/src/entrypoints/client/lazy/utils.ts +36 -31
  222. package/src/entrypoints/{client/pxe_creation_options.ts → pxe_creation_options.ts} +4 -1
  223. package/src/entrypoints/server/index.ts +5 -3
  224. package/src/entrypoints/server/utils.ts +58 -50
  225. package/src/{pxe_service/error_enriching.ts → error_enriching.ts} +36 -27
  226. package/src/oracle_version.ts +11 -0
  227. package/src/{kernel_prover → private_kernel}/hints/build_private_kernel_reset_private_inputs.ts +158 -146
  228. package/src/private_kernel/hints/compute_side_effect_uniqueness_hints.ts +173 -0
  229. package/src/private_kernel/hints/compute_tx_include_by_timestamp.ts +58 -0
  230. package/src/{kernel_prover → private_kernel}/hints/index.ts +1 -0
  231. package/src/private_kernel/index.ts +2 -0
  232. package/src/private_kernel/private_kernel_execution_prover.ts +436 -0
  233. package/src/{kernel_prover/proving_data_oracle.ts → private_kernel/private_kernel_oracle.ts} +17 -29
  234. package/src/{kernel_oracle/index.ts → private_kernel/private_kernel_oracle_impl.ts} +30 -15
  235. package/src/pxe.ts +1085 -0
  236. package/src/storage/address_data_provider/address_data_provider.ts +1 -7
  237. package/src/storage/capsule_data_provider/capsule_data_provider.ts +97 -30
  238. package/src/storage/contract_data_provider/contract_data_provider.ts +109 -93
  239. package/src/storage/contract_data_provider/index.ts +0 -1
  240. package/src/storage/contract_data_provider/private_functions_tree.ts +11 -75
  241. package/src/storage/index.ts +2 -4
  242. package/src/storage/metadata.ts +1 -0
  243. package/src/storage/note_data_provider/index.ts +1 -1
  244. package/src/storage/note_data_provider/note_data_provider.ts +176 -122
  245. package/src/storage/private_event_data_provider/private_event_data_provider.ts +143 -0
  246. package/src/storage/sync_data_provider/sync_data_provider.ts +4 -10
  247. package/src/storage/tagging_data_provider/tagging_data_provider.ts +58 -30
  248. package/src/synchronizer/synchronizer.ts +21 -22
  249. package/src/tagging/constants.ts +2 -0
  250. package/src/tagging/index.ts +6 -0
  251. package/src/tagging/siloed_tag.ts +22 -0
  252. package/src/tagging/tag.ts +16 -0
  253. package/src/tagging/utils.ts +31 -0
  254. package/dest/bin/index.d.ts +0 -3
  255. package/dest/bin/index.d.ts.map +0 -1
  256. package/dest/bin/index.js +0 -28
  257. package/dest/entrypoints/client/pxe_creation_options.d.ts +0 -11
  258. package/dest/entrypoints/client/pxe_creation_options.d.ts.map +0 -1
  259. package/dest/kernel_oracle/index.d.ts +0 -45
  260. package/dest/kernel_oracle/index.d.ts.map +0 -1
  261. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts +0 -28
  262. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.d.ts.map +0 -1
  263. package/dest/kernel_prover/hints/build_private_kernel_reset_private_inputs.js +0 -270
  264. package/dest/kernel_prover/hints/index.d.ts +0 -2
  265. package/dest/kernel_prover/hints/index.d.ts.map +0 -1
  266. package/dest/kernel_prover/index.d.ts +0 -3
  267. package/dest/kernel_prover/index.d.ts.map +0 -1
  268. package/dest/kernel_prover/index.js +0 -2
  269. package/dest/kernel_prover/kernel_prover.d.ts +0 -38
  270. package/dest/kernel_prover/kernel_prover.d.ts.map +0 -1
  271. package/dest/kernel_prover/kernel_prover.js +0 -217
  272. package/dest/kernel_prover/proving_data_oracle.d.ts +0 -73
  273. package/dest/kernel_prover/proving_data_oracle.d.ts.map +0 -1
  274. package/dest/kernel_prover/proving_data_oracle.js +0 -4
  275. package/dest/note_decryption_utils/add_public_values_to_payload.d.ts +0 -11
  276. package/dest/note_decryption_utils/add_public_values_to_payload.d.ts.map +0 -1
  277. package/dest/note_decryption_utils/add_public_values_to_payload.js +0 -47
  278. package/dest/pxe_http/index.d.ts +0 -2
  279. package/dest/pxe_http/index.d.ts.map +0 -1
  280. package/dest/pxe_http/index.js +0 -1
  281. package/dest/pxe_http/pxe_http_server.d.ts +0 -16
  282. package/dest/pxe_http/pxe_http_server.d.ts.map +0 -1
  283. package/dest/pxe_http/pxe_http_server.js +0 -27
  284. package/dest/pxe_oracle_interface/index.d.ts +0 -159
  285. package/dest/pxe_oracle_interface/index.d.ts.map +0 -1
  286. package/dest/pxe_oracle_interface/index.js +0 -692
  287. package/dest/pxe_oracle_interface/tagging_utils.d.ts +0 -17
  288. package/dest/pxe_oracle_interface/tagging_utils.d.ts.map +0 -1
  289. package/dest/pxe_oracle_interface/tagging_utils.js +0 -23
  290. package/dest/pxe_service/error_enriching.d.ts +0 -11
  291. package/dest/pxe_service/error_enriching.d.ts.map +0 -1
  292. package/dest/pxe_service/index.d.ts +0 -3
  293. package/dest/pxe_service/index.d.ts.map +0 -1
  294. package/dest/pxe_service/index.js +0 -2
  295. package/dest/pxe_service/pxe_service.d.ts +0 -111
  296. package/dest/pxe_service/pxe_service.d.ts.map +0 -1
  297. package/dest/pxe_service/pxe_service.js +0 -664
  298. package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.d.ts +0 -11
  299. package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.d.ts.map +0 -1
  300. package/dest/storage/auth_witness_data_provider/auth_witness_data_provider.js +0 -20
  301. package/dest/storage/auth_witness_data_provider/index.d.ts +0 -2
  302. package/dest/storage/auth_witness_data_provider/index.d.ts.map +0 -1
  303. package/dest/storage/auth_witness_data_provider/index.js +0 -1
  304. package/dest/storage/data_provider.d.ts +0 -4
  305. package/dest/storage/data_provider.d.ts.map +0 -1
  306. package/dest/storage/data_provider.js +0 -1
  307. package/dest/storage/note_data_provider/note_dao.d.ts +0 -106
  308. package/dest/storage/note_data_provider/note_dao.d.ts.map +0 -1
  309. package/dest/storage/note_data_provider/note_dao.js +0 -106
  310. package/dest/test/pxe_test_suite.d.ts +0 -3
  311. package/dest/test/pxe_test_suite.d.ts.map +0 -1
  312. package/dest/test/pxe_test_suite.js +0 -97
  313. package/src/bin/index.ts +0 -38
  314. package/src/kernel_prover/index.ts +0 -2
  315. package/src/kernel_prover/kernel_prover.ts +0 -351
  316. package/src/note_decryption_utils/add_public_values_to_payload.ts +0 -64
  317. package/src/pxe_http/index.ts +0 -1
  318. package/src/pxe_http/pxe_http_server.ts +0 -29
  319. package/src/pxe_oracle_interface/index.ts +0 -925
  320. package/src/pxe_oracle_interface/tagging_utils.ts +0 -32
  321. package/src/pxe_service/index.ts +0 -2
  322. package/src/pxe_service/pxe_service.ts +0 -949
  323. package/src/storage/auth_witness_data_provider/auth_witness_data_provider.ts +0 -34
  324. package/src/storage/auth_witness_data_provider/index.ts +0 -1
  325. package/src/storage/data_provider.ts +0 -3
  326. package/src/storage/note_data_provider/note_dao.ts +0 -162
  327. package/src/test/pxe_test_suite.ts +0 -111
  328. /package/dest/entrypoints/{client/pxe_creation_options.js → pxe_creation_options.js} +0 -0
@@ -0,0 +1,17 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import type { SiblingPath } from '@aztec/foundation/trees';
3
+ export declare class MessageLoadOracleInputs<N extends number> {
4
+ index: bigint;
5
+ siblingPath: SiblingPath<N>;
6
+ constructor(
7
+ /** The index of the message commitment in the merkle tree. */
8
+ index: bigint,
9
+ /** The path in the merkle tree to the message. */
10
+ siblingPath: SiblingPath<N>);
11
+ toFields(): Fr[];
12
+ /**
13
+ * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
14
+ */
15
+ toNoirRepresentation(): (string | string[])[];
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9sb2FkX29yYWNsZV9pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL21lc3NhZ2VfbG9hZF9vcmFjbGVfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxxQkFBYSx1QkFBdUIsQ0FBQyxDQUFDLFNBQVMsTUFBTTtJQUcxQyxLQUFLLEVBQUUsTUFBTTtJQUViLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBSnBDO0lBQ0UsOERBQThEO0lBQ3ZELEtBQUssRUFBRSxNQUFNO0lBQ3BCLGtEQUFrRDtJQUMzQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNoQztJQUVKLFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVEOztPQUVHO0lBQ0ksb0JBQW9CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUduRDtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message_load_oracle_inputs.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/message_load_oracle_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,qBAAa,uBAAuB,CAAC,CAAC,SAAS,MAAM;IAG1C,KAAK,EAAE,MAAM;IAEb,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAJpC;IACE,8DAA8D;IACvD,KAAK,EAAE,MAAM;IACpB,kDAAkD;IAC3C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAChC;IAEJ,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED;;OAEG;IACI,oBAAoB,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAGnD;CACF"}
@@ -0,0 +1,24 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ export class MessageLoadOracleInputs {
3
+ index;
4
+ siblingPath;
5
+ constructor(/** The index of the message commitment in the merkle tree. */ index, /** The path in the merkle tree to the message. */ siblingPath){
6
+ this.index = index;
7
+ this.siblingPath = siblingPath;
8
+ }
9
+ toFields() {
10
+ return [
11
+ new Fr(this.index),
12
+ ...this.siblingPath.toFields()
13
+ ];
14
+ }
15
+ /**
16
+ * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
17
+ */ toNoirRepresentation() {
18
+ // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
19
+ return [
20
+ new Fr(this.index).toString(),
21
+ this.siblingPath.toFields().map((fr)=>fr.toString())
22
+ ];
23
+ }
24
+ }
@@ -0,0 +1,24 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { Note } from '@aztec/stdlib/note';
4
+ /**
5
+ * Packs a note in a format that is compatible with the default Packable implementation of the retrieved note.
6
+ *
7
+ * @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
8
+ * and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
9
+ *
10
+ * @param contractAddress - The address of the contract that owns the note
11
+ * @param randomness - The randomness injected into the note to get the hiding property of commitments
12
+ * @param noteNonce - The nonce injected into the note hash preimage by kernels.
13
+ * @param index - Optional index in the note hash tree. If undefined, indicates a transient note
14
+ * @param note - The note content containing the actual note data
15
+ * @returns The packed note as an array of field elements
16
+ */
17
+ export declare function packAsRetrievedNote({ contractAddress, randomness, noteNonce, index, note }: {
18
+ contractAddress: AztecAddress;
19
+ randomness: Fr;
20
+ noteNonce: Fr;
21
+ index?: bigint;
22
+ note: Note;
23
+ }): (AztecAddress | Fr)[];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9wYWNraW5nX3V0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9ub3RlX3BhY2tpbmdfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUIvQzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQUMsRUFDbEMsZUFBZSxFQUNmLFVBQVUsRUFDVixTQUFTLEVBQ1QsS0FBSyxFQUNMLElBQUksRUFDTCxFQUFFO0lBQ0QsZUFBZSxFQUFFLFlBQVksQ0FBQztJQUM5QixVQUFVLEVBQUUsRUFBRSxDQUFDO0lBQ2YsU0FBUyxFQUFFLEVBQUUsQ0FBQztJQUNkLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNmLElBQUksRUFBRSxJQUFJLENBQUM7Q0FDWix5QkFTQSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note_packing_utils.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/note_packing_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAiB/C;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,UAAU,EACV,SAAS,EACT,KAAK,EACL,IAAI,EACL,EAAE;IACD,eAAe,EAAE,YAAY,CAAC;IAC9B,UAAU,EAAE,EAAE,CAAC;IACf,SAAS,EAAE,EAAE,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ,yBASA"}
@@ -0,0 +1,50 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ // TS equivalent of the `NoteMetadata::from_raw_data` function in `aztec/src/note/note_metadata.nr`
3
+ function fromRawData(nonzeroNoteHashCounter, maybeNoteNonce) {
4
+ if (nonzeroNoteHashCounter) {
5
+ if (maybeNoteNonce.equals(Fr.ZERO)) {
6
+ return {
7
+ stage: 1,
8
+ maybeNoteNonce
9
+ }; // PENDING_SAME_PHASE
10
+ } else {
11
+ return {
12
+ stage: 2,
13
+ maybeNoteNonce
14
+ }; // PENDING_PREVIOUS_PHASE
15
+ }
16
+ } else if (!maybeNoteNonce.equals(Fr.ZERO)) {
17
+ return {
18
+ stage: 3,
19
+ maybeNoteNonce
20
+ }; // SETTLED
21
+ } else {
22
+ throw new Error('Note has a zero note hash counter and no nonce - existence cannot be proven');
23
+ }
24
+ }
25
+ /**
26
+ * Packs a note in a format that is compatible with the default Packable implementation of the retrieved note.
27
+ *
28
+ * @dev Unlike the default Packable implementation, this function first constructs the note metadata from the inputs
29
+ * and only after that it packs the retrieved note. Hence it doesn't map one to one with `RetrievedNote::pack()`.
30
+ *
31
+ * @param contractAddress - The address of the contract that owns the note
32
+ * @param randomness - The randomness injected into the note to get the hiding property of commitments
33
+ * @param noteNonce - The nonce injected into the note hash preimage by kernels.
34
+ * @param index - Optional index in the note hash tree. If undefined, indicates a transient note
35
+ * @param note - The note content containing the actual note data
36
+ * @returns The packed note as an array of field elements
37
+ */ export function packAsRetrievedNote({ contractAddress, randomness, noteNonce, index, note }) {
38
+ // If index is undefined, the note is transient which implies that the nonzero_note_hash_counter has to be true
39
+ const nonzeroNoteHashCounter = index === undefined;
40
+ // To pack the note as retrieved note we first need to reconstruct the note metadata.
41
+ const noteMetadata = fromRawData(nonzeroNoteHashCounter, noteNonce);
42
+ // Pack metadata first (stage and maybe_note_nonce), followed by the rest
43
+ return [
44
+ ...note.items,
45
+ contractAddress,
46
+ randomness,
47
+ new Fr(noteMetadata.stage),
48
+ noteMetadata.maybeNoteNonce
49
+ ];
50
+ }
@@ -0,0 +1,58 @@
1
+ import { type ACIRCallback, type ACVMField } from '@aztec/simulator/client';
2
+ import type { IMiscOracle, IPrivateExecutionOracle, IUtilityExecutionOracle } from './interfaces.js';
3
+ export declare class UnavailableOracleError extends Error {
4
+ constructor(oracleName: string);
5
+ }
6
+ /**
7
+ * A data source that has all the apis required by Aztec.nr.
8
+ */
9
+ export declare class Oracle {
10
+ private handler;
11
+ constructor(handler: IMiscOracle | IUtilityExecutionOracle | IPrivateExecutionOracle);
12
+ private handlerAsMisc;
13
+ private handlerAsUtility;
14
+ private handlerAsPrivate;
15
+ toACIRCallback(): ACIRCallback;
16
+ utilityAssertCompatibleOracleVersion([version]: ACVMField[]): Promise<never[]>;
17
+ utilityGetRandomField(): Promise<ACVMField[]>;
18
+ privateStoreInExecutionCache(values: ACVMField[], [hash]: ACVMField[]): Promise<ACVMField[]>;
19
+ privateLoadFromExecutionCache([returnsHash]: ACVMField[]): Promise<ACVMField[][]>;
20
+ utilityGetUtilityContext(): Promise<(ACVMField | ACVMField[])[]>;
21
+ utilityGetKeyValidationRequest([pkMHash]: ACVMField[]): Promise<ACVMField[]>;
22
+ utilityGetContractInstance([address]: ACVMField[]): Promise<ACVMField[]>;
23
+ utilityGetMembershipWitness([blockNumber]: ACVMField[], [treeId]: ACVMField[], [leafValue]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
24
+ utilityGetNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
25
+ utilityGetLowNullifierMembershipWitness([blockNumber]: ACVMField[], [nullifier]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
26
+ utilityGetPublicDataWitness([blockNumber]: ACVMField[], [leafSlot]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
27
+ utilityGetBlockHeader([blockNumber]: ACVMField[]): Promise<ACVMField[]>;
28
+ utilityGetAuthWitness([messageHash]: ACVMField[]): Promise<ACVMField[][]>;
29
+ utilityGetPublicKeysAndPartialAddress([address]: ACVMField[]): Promise<ACVMField[][]>;
30
+ utilityGetNotes([storageSlot]: ACVMField[], [numSelects]: ACVMField[], selectByIndexes: ACVMField[], selectByOffsets: ACVMField[], selectByLengths: ACVMField[], selectValues: ACVMField[], selectComparators: ACVMField[], sortByIndexes: ACVMField[], sortByOffsets: ACVMField[], sortByLengths: ACVMField[], sortOrder: ACVMField[], [limit]: ACVMField[], [offset]: ACVMField[], [status]: ACVMField[], [maxNotes]: ACVMField[], [packedRetrievedNoteLength]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
31
+ privateNotifyCreatedNote([storageSlot]: ACVMField[], [randomness]: ACVMField[], [noteTypeId]: ACVMField[], note: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
32
+ privateNotifyNullifiedNote([innerNullifier]: ACVMField[], [noteHash]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
33
+ privateNotifyCreatedNullifier([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
34
+ utilityCheckNullifierExists([innerNullifier]: ACVMField[]): Promise<ACVMField[]>;
35
+ utilityGetL1ToL2MembershipWitness([contractAddress]: ACVMField[], [messageHash]: ACVMField[], [secret]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
36
+ utilityStorageRead([contractAddress]: ACVMField[], [startStorageSlot]: ACVMField[], [blockNumber]: ACVMField[], [numberOfElements]: ACVMField[]): Promise<ACVMField[][]>;
37
+ privateNotifyCreatedContractClassLog([contractAddress]: ACVMField[], message: ACVMField[], [length]: ACVMField[], [counter]: ACVMField[]): Promise<ACVMField[]>;
38
+ utilityDebugLog(level: ACVMField[], message: ACVMField[], _ignoredFieldsSize: ACVMField[], fields: ACVMField[]): Promise<ACVMField[]>;
39
+ privateCallPrivateFunction([contractAddress]: ACVMField[], [functionSelector]: ACVMField[], [argsHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[][]>;
40
+ privateNotifyEnqueuedPublicFunctionCall([contractAddress]: ACVMField[], [calldataHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
41
+ privateNotifySetPublicTeardownFunctionCall([contractAddress]: ACVMField[], [calldataHash]: ACVMField[], [sideEffectCounter]: ACVMField[], [isStaticCall]: ACVMField[]): Promise<ACVMField[]>;
42
+ privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
43
+ privateIsSideEffectCounterRevertible([sideEffectCounter]: ACVMField[]): Promise<ACVMField[]>;
44
+ privateGetNextAppTagAsSender([sender]: ACVMField[], [recipient]: ACVMField[]): Promise<ACVMField[]>;
45
+ utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
46
+ utilityValidateEnqueuedNotesAndEvents([contractAddress]: ACVMField[], [noteValidationRequestsArrayBaseSlot]: ACVMField[], [eventValidationRequestsArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
47
+ utilityBulkRetrieveLogs([contractAddress]: ACVMField[], [logRetrievalRequestsArrayBaseSlot]: ACVMField[], [logRetrievalResponsesArrayBaseSlot]: ACVMField[]): Promise<ACVMField[]>;
48
+ utilityStoreCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], capsule: ACVMField[]): Promise<ACVMField[]>;
49
+ utilityLoadCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[], [tSize]: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
50
+ utilityDeleteCapsule([contractAddress]: ACVMField[], [slot]: ACVMField[]): Promise<ACVMField[]>;
51
+ utilityCopyCapsule([contractAddress]: ACVMField[], [srcSlot]: ACVMField[], [dstSlot]: ACVMField[], [numEntries]: ACVMField[]): Promise<ACVMField[]>;
52
+ utilityAes128Decrypt(ciphertextBVecStorage: ACVMField[], [ciphertextLength]: ACVMField[], iv: ACVMField[], symKey: ACVMField[]): Promise<(ACVMField | ACVMField[])[]>;
53
+ utilityGetSharedSecret([address]: ACVMField[], [ephPKField0]: ACVMField[], [ephPKField1]: ACVMField[], [ephPKField2]: ACVMField[]): Promise<ACVMField[]>;
54
+ utilityEmitOffchainEffect(data: ACVMField[]): Promise<never[]>;
55
+ privateGetSenderForTags(): Promise<ACVMField[]>;
56
+ privateSetSenderForTags([senderForTags]: ACVMField[]): Promise<ACVMField[]>;
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JhY2xlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJhY3RfZnVuY3Rpb25fc2ltdWxhdG9yL29yYWNsZS9vcmFjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLEtBQUssWUFBWSxFQUNqQixLQUFLLFNBQVMsRUFNZixNQUFNLHlCQUF5QixDQUFDO0FBTWpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3JHLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQ7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ0wsT0FBTyxDQUFDLE9BQU87SUFBM0IsWUFBb0IsT0FBTyxFQUFFLFdBQVcsR0FBRyx1QkFBdUIsR0FBRyx1QkFBdUIsRUFBSTtJQUVoRyxPQUFPLENBQUMsYUFBYTtJQVFyQixPQUFPLENBQUMsZ0JBQWdCO0lBUXhCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFReEIsY0FBYyxJQUFJLFlBQVksQ0FvQzdCO0lBRUQsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsb0JBRzFEO0lBRUQscUJBQXFCLElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzVDO0lBRUQsNEJBQTRCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBRzNGO0lBRUssNkJBQTZCLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUd0RjtJQUVLLHdCQUF3QixJQUFJLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxF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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/oracle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,333 @@
1
+ import { Fr, Point } from '@aztec/foundation/fields';
2
+ import { arrayOfArraysToBoundedVecOfArrays, bufferToBoundedVec, fromUintArray, fromUintBoundedVec, toACVMField } from '@aztec/simulator/client';
3
+ import { FunctionSelector, NoteSelector } from '@aztec/stdlib/abi';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import { ContractClassLog, ContractClassLogFields } from '@aztec/stdlib/logs';
6
+ import { MerkleTreeId } from '@aztec/stdlib/trees';
7
+ import { packAsRetrievedNote } from './note_packing_utils.js';
8
+ export class UnavailableOracleError extends Error {
9
+ constructor(oracleName){
10
+ super(`${oracleName} oracles not available with the current handler`);
11
+ }
12
+ }
13
+ /**
14
+ * A data source that has all the apis required by Aztec.nr.
15
+ */ export class Oracle {
16
+ handler;
17
+ constructor(handler){
18
+ this.handler = handler;
19
+ }
20
+ handlerAsMisc() {
21
+ if (!('isMisc' in this.handler)) {
22
+ throw new UnavailableOracleError('Misc');
23
+ }
24
+ return this.handler;
25
+ }
26
+ handlerAsUtility() {
27
+ if (!('isUtility' in this.handler)) {
28
+ throw new UnavailableOracleError('Utility');
29
+ }
30
+ return this.handler;
31
+ }
32
+ handlerAsPrivate() {
33
+ if (!('isPrivate' in this.handler)) {
34
+ throw new UnavailableOracleError('Private');
35
+ }
36
+ return this.handler;
37
+ }
38
+ toACIRCallback() {
39
+ const excludedProps = [
40
+ 'handler',
41
+ 'constructor',
42
+ 'toACIRCallback',
43
+ 'handlerAsMisc',
44
+ 'handlerAsUtility',
45
+ 'handlerAsPrivate'
46
+ ];
47
+ // Get all the oracle function names
48
+ const oracleNames = Object.getOwnPropertyNames(Oracle.prototype).filter((name)=>!excludedProps.includes(name));
49
+ // Validate oracle names - these must be prefixed with either "private" or "utility" to indicate their scope
50
+ // and must correspond to a function on the Oracle class.
51
+ oracleNames.forEach((name)=>{
52
+ if (!name.startsWith('private') && !name.startsWith('utility')) {
53
+ throw new Error(`Oracle function "${name}" must be prefixed with either "private" or "utility" to indicate its scope`);
54
+ }
55
+ const method = this[name];
56
+ if (typeof method !== 'function') {
57
+ throw new Error(`Oracle property "${name}" must be a function`);
58
+ }
59
+ });
60
+ // Build callback object and return it
61
+ return oracleNames.reduce((acc, name)=>{
62
+ const method = this[name];
63
+ acc[name] = method.bind(this);
64
+ return acc;
65
+ }, {});
66
+ }
67
+ utilityAssertCompatibleOracleVersion([version]) {
68
+ this.handlerAsMisc().utilityAssertCompatibleOracleVersion(Fr.fromString(version).toNumber());
69
+ return Promise.resolve([]);
70
+ }
71
+ utilityGetRandomField() {
72
+ const val = this.handlerAsMisc().utilityGetRandomField();
73
+ return Promise.resolve([
74
+ toACVMField(val)
75
+ ]);
76
+ }
77
+ privateStoreInExecutionCache(values, [hash]) {
78
+ this.handlerAsPrivate().privateStoreInExecutionCache(values.map(Fr.fromString), Fr.fromString(hash));
79
+ return Promise.resolve([]);
80
+ }
81
+ async privateLoadFromExecutionCache([returnsHash]) {
82
+ const values = await this.handlerAsPrivate().privateLoadFromExecutionCache(Fr.fromString(returnsHash));
83
+ return [
84
+ values.map(toACVMField)
85
+ ];
86
+ }
87
+ async utilityGetUtilityContext() {
88
+ const context = await this.handlerAsUtility().utilityGetUtilityContext();
89
+ return context.toNoirRepresentation();
90
+ }
91
+ async utilityGetKeyValidationRequest([pkMHash]) {
92
+ const keyValidationRequest = await this.handlerAsUtility().utilityGetKeyValidationRequest(Fr.fromString(pkMHash));
93
+ return keyValidationRequest.toFields().map(toACVMField);
94
+ }
95
+ async utilityGetContractInstance([address]) {
96
+ const instance = await this.handlerAsUtility().utilityGetContractInstance(AztecAddress.fromField(Fr.fromString(address)));
97
+ return [
98
+ instance.salt,
99
+ instance.deployer,
100
+ instance.currentContractClassId,
101
+ instance.initializationHash,
102
+ ...instance.publicKeys.toFields()
103
+ ].map(toACVMField);
104
+ }
105
+ async utilityGetMembershipWitness([blockNumber], [treeId], [leafValue]) {
106
+ const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
107
+ const parsedTreeId = Fr.fromString(treeId).toNumber();
108
+ const parsedLeafValue = Fr.fromString(leafValue);
109
+ const witness = await this.handlerAsUtility().utilityGetMembershipWitness(parsedBlockNumber, parsedTreeId, parsedLeafValue);
110
+ if (!witness) {
111
+ throw new Error(`Leaf ${leafValue} not found in the tree ${MerkleTreeId[parsedTreeId]} at block ${parsedBlockNumber}.`);
112
+ }
113
+ return [
114
+ toACVMField(witness[0]),
115
+ witness.slice(1).map(toACVMField)
116
+ ];
117
+ }
118
+ async utilityGetNullifierMembershipWitness([blockNumber], [nullifier]) {
119
+ const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
120
+ const parsedNullifier = Fr.fromString(nullifier);
121
+ const witness = await this.handlerAsUtility().utilityGetNullifierMembershipWitness(parsedBlockNumber, parsedNullifier);
122
+ if (!witness) {
123
+ throw new Error(`Nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
124
+ }
125
+ return witness.toNoirRepresentation();
126
+ }
127
+ async utilityGetLowNullifierMembershipWitness([blockNumber], [nullifier]) {
128
+ const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
129
+ const parsedNullifier = Fr.fromString(nullifier);
130
+ const witness = await this.handlerAsUtility().utilityGetLowNullifierMembershipWitness(parsedBlockNumber, parsedNullifier);
131
+ if (!witness) {
132
+ throw new Error(`Low nullifier witness not found for nullifier ${parsedNullifier} at block ${parsedBlockNumber}.`);
133
+ }
134
+ return witness.toNoirRepresentation();
135
+ }
136
+ async utilityGetPublicDataWitness([blockNumber], [leafSlot]) {
137
+ const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
138
+ const parsedLeafSlot = Fr.fromString(leafSlot);
139
+ const witness = await this.handlerAsUtility().utilityGetPublicDataWitness(parsedBlockNumber, parsedLeafSlot);
140
+ if (!witness) {
141
+ throw new Error(`Public data witness not found for slot ${parsedLeafSlot} at block ${parsedBlockNumber}.`);
142
+ }
143
+ return witness.toNoirRepresentation();
144
+ }
145
+ async utilityGetBlockHeader([blockNumber]) {
146
+ const parsedBlockNumber = Fr.fromString(blockNumber).toNumber();
147
+ const header = await this.handlerAsUtility().utilityGetBlockHeader(parsedBlockNumber);
148
+ if (!header) {
149
+ throw new Error(`Block header not found for block ${parsedBlockNumber}.`);
150
+ }
151
+ return header.toFields().map(toACVMField);
152
+ }
153
+ async utilityGetAuthWitness([messageHash]) {
154
+ const messageHashField = Fr.fromString(messageHash);
155
+ const witness = await this.handlerAsUtility().utilityGetAuthWitness(messageHashField);
156
+ if (!witness) {
157
+ throw new Error(`Unknown auth witness for message hash ${messageHashField}`);
158
+ }
159
+ return [
160
+ witness.map(toACVMField)
161
+ ];
162
+ }
163
+ async utilityGetPublicKeysAndPartialAddress([address]) {
164
+ const parsedAddress = AztecAddress.fromField(Fr.fromString(address));
165
+ const { publicKeys, partialAddress } = await this.handlerAsUtility().utilityGetPublicKeysAndPartialAddress(parsedAddress);
166
+ return [
167
+ [
168
+ ...publicKeys.toFields(),
169
+ partialAddress
170
+ ].map(toACVMField)
171
+ ];
172
+ }
173
+ async utilityGetNotes([storageSlot], [numSelects], selectByIndexes, selectByOffsets, selectByLengths, selectValues, selectComparators, sortByIndexes, sortByOffsets, sortByLengths, sortOrder, [limit], [offset], [status], [maxNotes], [packedRetrievedNoteLength]) {
174
+ const noteDatas = await this.handlerAsUtility().utilityGetNotes(Fr.fromString(storageSlot), +numSelects, selectByIndexes.map((s)=>+s), selectByOffsets.map((s)=>+s), selectByLengths.map((s)=>+s), selectValues.map(Fr.fromString), selectComparators.map((s)=>+s), sortByIndexes.map((s)=>+s), sortByOffsets.map((s)=>+s), sortByLengths.map((s)=>+s), sortOrder.map((s)=>+s), +limit, +offset, +status);
175
+ const returnDataAsArrayOfPackedRetrievedNotes = noteDatas.map(packAsRetrievedNote);
176
+ // Now we convert each sub-array to an array of ACVMField
177
+ const returnDataAsArrayOfACVMFieldArrays = returnDataAsArrayOfPackedRetrievedNotes.map((subArray)=>subArray.map(toACVMField));
178
+ // At last we convert the array of arrays to a bounded vec of arrays
179
+ return arrayOfArraysToBoundedVecOfArrays(returnDataAsArrayOfACVMFieldArrays, +maxNotes, +packedRetrievedNoteLength);
180
+ }
181
+ privateNotifyCreatedNote([storageSlot], [randomness], [noteTypeId], note, [noteHash], [counter]) {
182
+ this.handlerAsPrivate().privateNotifyCreatedNote(Fr.fromString(storageSlot), Fr.fromString(randomness), NoteSelector.fromField(Fr.fromString(noteTypeId)), note.map(Fr.fromString), Fr.fromString(noteHash), +counter);
183
+ return Promise.resolve([]);
184
+ }
185
+ async privateNotifyNullifiedNote([innerNullifier], [noteHash], [counter]) {
186
+ await this.handlerAsPrivate().privateNotifyNullifiedNote(Fr.fromString(innerNullifier), Fr.fromString(noteHash), +counter);
187
+ return [];
188
+ }
189
+ async privateNotifyCreatedNullifier([innerNullifier]) {
190
+ await this.handlerAsPrivate().privateNotifyCreatedNullifier(Fr.fromString(innerNullifier));
191
+ return [];
192
+ }
193
+ async utilityCheckNullifierExists([innerNullifier]) {
194
+ const exists = await this.handlerAsUtility().utilityCheckNullifierExists(Fr.fromString(innerNullifier));
195
+ return [
196
+ toACVMField(exists)
197
+ ];
198
+ }
199
+ async utilityGetL1ToL2MembershipWitness([contractAddress], [messageHash], [secret]) {
200
+ const message = await this.handlerAsUtility().utilityGetL1ToL2MembershipWitness(AztecAddress.fromString(contractAddress), Fr.fromString(messageHash), Fr.fromString(secret));
201
+ return message.toNoirRepresentation();
202
+ }
203
+ async utilityStorageRead([contractAddress], [startStorageSlot], [blockNumber], [numberOfElements]) {
204
+ const values = await this.handlerAsUtility().utilityStorageRead(new AztecAddress(Fr.fromString(contractAddress)), Fr.fromString(startStorageSlot), +blockNumber, +numberOfElements);
205
+ return [
206
+ values.map(toACVMField)
207
+ ];
208
+ }
209
+ privateNotifyCreatedContractClassLog([contractAddress], message, [length], [counter]) {
210
+ const logFields = new ContractClassLogFields(message.map(Fr.fromString));
211
+ const log = new ContractClassLog(new AztecAddress(Fr.fromString(contractAddress)), logFields, +length);
212
+ this.handlerAsPrivate().privateNotifyCreatedContractClassLog(log, +counter);
213
+ return Promise.resolve([]);
214
+ }
215
+ utilityDebugLog(level, message, _ignoredFieldsSize, fields) {
216
+ const levelFr = Fr.fromString(level[0]);
217
+ const messageStr = message.map((acvmField)=>String.fromCharCode(Fr.fromString(acvmField).toNumber())).join('');
218
+ const fieldsFr = fields.map(Fr.fromString);
219
+ this.handlerAsMisc().utilityDebugLog(levelFr.toNumber(), messageStr, fieldsFr);
220
+ return Promise.resolve([]);
221
+ }
222
+ // This function's name is directly hardcoded in `circuit_recorder.ts`. Don't forget to update it there if you
223
+ // change the name here.
224
+ async privateCallPrivateFunction([contractAddress], [functionSelector], [argsHash], [sideEffectCounter], [isStaticCall]) {
225
+ const { endSideEffectCounter, returnsHash } = await this.handlerAsPrivate().privateCallPrivateFunction(AztecAddress.fromField(Fr.fromString(contractAddress)), FunctionSelector.fromField(Fr.fromString(functionSelector)), Fr.fromString(argsHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
226
+ return [
227
+ [
228
+ endSideEffectCounter,
229
+ returnsHash
230
+ ].map(toACVMField)
231
+ ];
232
+ }
233
+ async privateNotifyEnqueuedPublicFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
234
+ await this.handlerAsPrivate().privateNotifyEnqueuedPublicFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
235
+ return [];
236
+ }
237
+ async privateNotifySetPublicTeardownFunctionCall([contractAddress], [calldataHash], [sideEffectCounter], [isStaticCall]) {
238
+ await this.handlerAsPrivate().privateNotifySetPublicTeardownFunctionCall(AztecAddress.fromString(contractAddress), Fr.fromString(calldataHash), Fr.fromString(sideEffectCounter).toNumber(), Fr.fromString(isStaticCall).toBool());
239
+ return [];
240
+ }
241
+ async privateNotifySetMinRevertibleSideEffectCounter([minRevertibleSideEffectCounter]) {
242
+ await this.handlerAsPrivate().privateNotifySetMinRevertibleSideEffectCounter(Fr.fromString(minRevertibleSideEffectCounter).toNumber());
243
+ return Promise.resolve([]);
244
+ }
245
+ async privateIsSideEffectCounterRevertible([sideEffectCounter]) {
246
+ const isRevertible = await this.handlerAsPrivate().privateIsSideEffectCounterRevertible(Fr.fromString(sideEffectCounter).toNumber());
247
+ return Promise.resolve([
248
+ toACVMField(isRevertible)
249
+ ]);
250
+ }
251
+ async privateGetNextAppTagAsSender([sender], [recipient]) {
252
+ const tag = await this.handlerAsPrivate().privateGetNextAppTagAsSender(AztecAddress.fromString(sender), AztecAddress.fromString(recipient));
253
+ return [
254
+ toACVMField(tag.value)
255
+ ];
256
+ }
257
+ async utilityFetchTaggedLogs([pendingTaggedLogArrayBaseSlot]) {
258
+ await this.handlerAsUtility().utilityFetchTaggedLogs(Fr.fromString(pendingTaggedLogArrayBaseSlot));
259
+ return [];
260
+ }
261
+ async utilityValidateEnqueuedNotesAndEvents([contractAddress], [noteValidationRequestsArrayBaseSlot], [eventValidationRequestsArrayBaseSlot]) {
262
+ await this.handlerAsUtility().utilityValidateEnqueuedNotesAndEvents(AztecAddress.fromString(contractAddress), Fr.fromString(noteValidationRequestsArrayBaseSlot), Fr.fromString(eventValidationRequestsArrayBaseSlot));
263
+ return [];
264
+ }
265
+ async utilityBulkRetrieveLogs([contractAddress], [logRetrievalRequestsArrayBaseSlot], [logRetrievalResponsesArrayBaseSlot]) {
266
+ await this.handlerAsUtility().utilityBulkRetrieveLogs(AztecAddress.fromString(contractAddress), Fr.fromString(logRetrievalRequestsArrayBaseSlot), Fr.fromString(logRetrievalResponsesArrayBaseSlot));
267
+ return [];
268
+ }
269
+ async utilityStoreCapsule([contractAddress], [slot], capsule) {
270
+ await this.handlerAsUtility().utilityStoreCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot), capsule.map(Fr.fromString));
271
+ return [];
272
+ }
273
+ async utilityLoadCapsule([contractAddress], [slot], [tSize]) {
274
+ const values = await this.handlerAsUtility().utilityLoadCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
275
+ // We are going to return a Noir Option struct to represent the possibility of null values. Options are a struct
276
+ // with two fields: `some` (a boolean) and `value` (a field array in this case).
277
+ if (values === null) {
278
+ // No data was found so we set `some` to 0 and pad `value` with zeros get the correct return size.
279
+ return [
280
+ toACVMField(0),
281
+ Array(Fr.fromString(tSize).toNumber()).fill(toACVMField(0))
282
+ ];
283
+ } else {
284
+ // Data was found so we set `some` to 1 and return it along with `value`.
285
+ return [
286
+ toACVMField(1),
287
+ values.map(toACVMField)
288
+ ];
289
+ }
290
+ }
291
+ async utilityDeleteCapsule([contractAddress], [slot]) {
292
+ await this.handlerAsUtility().utilityDeleteCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(slot));
293
+ return [];
294
+ }
295
+ async utilityCopyCapsule([contractAddress], [srcSlot], [dstSlot], [numEntries]) {
296
+ await this.handlerAsUtility().utilityCopyCapsule(AztecAddress.fromField(Fr.fromString(contractAddress)), Fr.fromString(srcSlot), Fr.fromString(dstSlot), Fr.fromString(numEntries).toNumber());
297
+ return [];
298
+ }
299
+ async utilityAes128Decrypt(ciphertextBVecStorage, [ciphertextLength], iv, symKey) {
300
+ const ciphertext = fromUintBoundedVec(ciphertextBVecStorage, ciphertextLength, 8);
301
+ const ivBuffer = fromUintArray(iv, 8);
302
+ const symKeyBuffer = fromUintArray(symKey, 8);
303
+ const plaintext = await this.handlerAsUtility().utilityAes128Decrypt(ciphertext, ivBuffer, symKeyBuffer);
304
+ return bufferToBoundedVec(plaintext, ciphertextBVecStorage.length);
305
+ }
306
+ async utilityGetSharedSecret([address], [ephPKField0], [ephPKField1], [ephPKField2]) {
307
+ const secret = await this.handlerAsUtility().utilityGetSharedSecret(AztecAddress.fromField(Fr.fromString(address)), Point.fromFields([
308
+ ephPKField0,
309
+ ephPKField1,
310
+ ephPKField2
311
+ ].map(Fr.fromString)));
312
+ return secret.toFields().map(toACVMField);
313
+ }
314
+ async utilityEmitOffchainEffect(data) {
315
+ await this.handlerAsPrivate().utilityEmitOffchainEffect(data.map(Fr.fromString));
316
+ return [];
317
+ }
318
+ async privateGetSenderForTags() {
319
+ const sender = await this.handlerAsPrivate().privateGetSenderForTags();
320
+ // Return [1, address] for Some(address), [0, 0] for None
321
+ return sender ? [
322
+ toACVMField(1n),
323
+ toACVMField(sender)
324
+ ] : [
325
+ toACVMField(0n),
326
+ toACVMField(0n)
327
+ ];
328
+ }
329
+ async privateSetSenderForTags([senderForTags]) {
330
+ await this.handlerAsPrivate().privateSetSenderForTags(AztecAddress.fromField(Fr.fromString(senderForTags)));
331
+ return [];
332
+ }
333
+ }
@@ -0,0 +1,48 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { type ACVMWitness, type CircuitSimulator } from '@aztec/simulator/client';
3
+ import { type FunctionArtifact, type FunctionArtifactWithContractName, type FunctionSelector } from '@aztec/stdlib/abi';
4
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import type { ContractInstance } from '@aztec/stdlib/contract';
6
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
7
+ import { PrivateCircuitPublicInputs } from '@aztec/stdlib/kernel';
8
+ import { BlockHeader, PrivateCallExecutionResult } from '@aztec/stdlib/tx';
9
+ import type { UInt64 } from '@aztec/stdlib/types';
10
+ import type { ExecutionDataProvider } from '../execution_data_provider.js';
11
+ import type { PrivateExecutionOracle } from './private_execution_oracle.js';
12
+ /**
13
+ * Execute a private function and return the execution result.
14
+ * This does not execute any kernel circuits; only the user functions.
15
+ *
16
+ * If this private function execution results in any nested private function calls,
17
+ * those nested calls are made via oracle calls to the `privateCallPrivateFunction` oracle,
18
+ * which in turn makes corresponding further calls to this function.
19
+ */
20
+ export declare function executePrivateFunction(simulator: CircuitSimulator, privateExecutionOracle: PrivateExecutionOracle, artifact: FunctionArtifactWithContractName, contractAddress: AztecAddress, functionSelector: FunctionSelector, log?: import("@aztec/foundation/log").Logger): Promise<PrivateCallExecutionResult>;
21
+ /**
22
+ * Get the private circuit public inputs from the partial witness.
23
+ * @param artifact - The function artifact
24
+ * @param partialWitness - The partial witness, result of simulating the function.
25
+ * @returns - The public inputs.
26
+ */
27
+ export declare function extractPrivateCircuitPublicInputs(artifact: FunctionArtifact, partialWitness: ACVMWitness): PrivateCircuitPublicInputs;
28
+ /**
29
+ * Read the current class id of a contract from the execution data provider or AztecNode. If not found, class id
30
+ * from the instance is used.
31
+ * @param contractAddress - The address of the contract to read the class id for.
32
+ * @param instance - The instance of the contract.
33
+ * @param executionDataProvider - The execution data provider.
34
+ * @param blockNumber - The block number at which to load the DelayedPublicMutable storing the class id.
35
+ * @param timestamp - The timestamp at which to obtain the class id from the DelayedPublicMutable.
36
+ * @returns The current class id.
37
+ */
38
+ export declare function readCurrentClassId(contractAddress: AztecAddress, instance: ContractInstance, executionDataProvider: ExecutionDataProvider | AztecNode, blockNumber: number, timestamp: UInt64): Promise<Fr>;
39
+ /**
40
+ * Verify that the current class id of a contract obtained from AztecNode is the same as the one in the execution data
41
+ * provider (i.e. PXE).
42
+ * @param contractAddress - The address of the contract to verify class id for.
43
+ * @param executionDataProvider - The execution data provider.
44
+ * @param header - The header of the block at which to verify the current class id. If not provided, the anchor block
45
+ * header of the execution data provider is used.
46
+ */
47
+ export declare function verifyCurrentClassId(contractAddress: AztecAddress, executionDataProvider: ExecutionDataProvider, header?: BlockHeader): Promise<void>;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9leGVjdXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdF9mdW5jdGlvbl9zaW11bGF0b3Ivb3JhY2xlL3ByaXZhdGVfZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUk5QyxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUssZ0JBQWdCLEVBRXRCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRSxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFDM0Isc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFFBQVEsRUFBRSxnQ0FBZ0MsRUFDMUMsZUFBZSxFQUFFLFlBQVksRUFDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLEdBQUcseUNBQThDLEdBQ2hELE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQTZFckM7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixpQ0FBaUMsQ0FDL0MsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsV0FBVyxHQUMxQiwwQkFBMEIsQ0FhNUI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0Isa0JBQWtCLENBQ3RDLGVBQWUsRUFBRSxZQUFZLEVBQzdCLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIscUJBQXFCLEVBQUUscUJBQXFCLEdBQUcsU0FBUyxFQUN4RCxXQUFXLEVBQUUsTUFBTSxFQUNuQixTQUFTLEVBQUUsTUFBTSxlQVdsQjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQ3hDLGVBQWUsRUFBRSxZQUFZLEVBQzdCLHFCQUFxQixFQUFFLHFCQUFxQixFQUM1QyxNQUFNLENBQUMsRUFBRSxXQUFXLGlCQWlCckIifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private_execution.d.ts","sourceRoot":"","sources":["../../../src/contract_function_simulator/oracle/private_execution.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,gBAAgB,EAC3B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gCAAgC,EAC1C,eAAe,EAAE,YAAY,EAC7B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,yCAA8C,GAChD,OAAO,CAAC,0BAA0B,CAAC,CA6ErC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,GAC1B,0BAA0B,CAa5B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,EAC1B,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,EACxD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,eAWlB;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,YAAY,EAC7B,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,CAAC,EAAE,WAAW,iBAiBrB"}